@import "https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,400..700;1,400..700&family=Inter:opsz,wght@14..32,400..750&display=swap";*{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);min-width:320px;margin:0}#root{min-height:100svh}::selection{color:#10110f;background:var(--accent-2)}:root{--bg:#081010;--surface:#0d1718;--surface-2:#111b1c;--panel:#101819;--paper:#101819;--field:#0b1314;--button:#141c1d;--line:#90a49f29;--line-strong:#90a49f42;--line-hot:#ff6b2c94;--border:#90a49f29;--border-strong:#90a49f42;--heading:#fbf5e8;--text:#c9d0cc;--muted:#8a9793;--faint:#63706d;--orange:#ff6b2c;--orange-soft:#ff6b2c24;--accent:#ff6b2c;--accent-2:#ffb067;--teal:#72b59b;--green:#6bdc68;--soft-shadow:0 12px 34px #0000003d;--panel-shadow:0 14px 34px #0000003d, inset 0 1px 0 #ffffff06;--sans:"Inter", "SF Pro Text", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--serif:"Crimson Pro", "Iowan Old Style", "Palatino Linotype", Georgia, "Times New Roman", serif;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;color:var(--text);background:var(--bg);font-family:var(--sans);letter-spacing:0;font-variant-numeric:tabular-nums;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;font-weight:380;line-height:1.38}.prototype-shell.theme-light{--bg:#eef0e9;--surface:#f7f3ea;--surface-2:#efe7da;--panel:#f8f3e9;--paper:#fbf7ef;--field:#fffaf1;--button:#ece3d6;--line:#37433e2e;--line-strong:#37433e4d;--heading:#1b211e;--text:#34413c;--muted:#5c6762;--faint:#89918d;color:var(--text);background:linear-gradient(#ff6b2c0e,#0000 190px),linear-gradient(135deg,#f6f1e8 0%,#e9eee9 54%,#f7efe3 100%)}.prototype-shell{height:100svh;color:var(--text);background:linear-gradient(#ff6b2c09,#0000 190px),linear-gradient(135deg,#0b1112 0%,#081010 54%,#070c0d 100%);grid-template-rows:72px minmax(0,1fr);grid-template-columns:264px minmax(620px,1fr) 430px;display:grid;overflow:hidden}.prototype-shell.rail-collapsed{grid-template-columns:0 minmax(620px,1fr) 430px}.prototype-shell.rail-collapsed .campaign-rail{border-right:0;width:0;min-width:0;overflow:hidden}:is(.prototype-shell:fullscreen,.prototype-shell.fullscreen-active){z-index:100;width:100vw;height:100dvh;position:fixed;inset:0}.prototype-shell:fullscreen{position:static}button,input,textarea,select{font:inherit;letter-spacing:0}svg{shape-rendering:geometricprecision}button{cursor:pointer;border:0;transition:border-color .16s,background .16s,box-shadow .16s,color .16s,transform .16s}button:disabled{cursor:not-allowed;opacity:.6}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:2px solid #ffb067d9}*{scrollbar-color:#90a49f6b transparent;scrollbar-width:thin}.file-input-hidden{clip:rect(0 0 0 0);opacity:0;pointer-events:none;white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#90a49f57 padding-box padding-box;border:3px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#90a49f80 padding-box padding-box}.ops-bar{border-bottom:1px solid var(--line);background:linear-gradient(#101a1bf5,#080f10fa);grid-column:1/-1;grid-template-columns:168px 68px minmax(226px,1.02fr) minmax(160px,.5fr) minmax(206px,.66fr) minmax(132px,.44fr) minmax(86px,.28fr) minmax(112px,.38fr) minmax(106px,.34fr) 244px;align-items:stretch;min-width:0;padding:6px 10px 7px;display:grid;box-shadow:0 1px #ffffff08,0 10px 28px #0000005c}@media (width>=981px){.prototype-shell.theater-shell,.prototype-shell.theater-mode-active,.prototype-shell.title-screen-active{grid-template-rows:0 minmax(0,1fr)}.prototype-shell.theater-shell .ops-bar,.prototype-shell.theater-mode-active .ops-bar,.prototype-shell.title-screen-active .ops-bar{display:none}.prototype-shell.safe-mode-active,.prototype-shell.runtime-notices-active{grid-template-rows:72px 34px minmax(0,1fr)}.prototype-shell.safe-mode-active .campaign-rail,.prototype-shell.safe-mode-active .session-board,.prototype-shell.safe-mode-active .right-inspector,.prototype-shell.runtime-notices-active .campaign-rail,.prototype-shell.runtime-notices-active .session-board,.prototype-shell.runtime-notices-active .right-inspector{grid-row:3}.prototype-shell.theater-shell.safe-mode-active,.prototype-shell.theater-shell.runtime-notices-active,.prototype-shell.theater-mode-active.safe-mode-active,.prototype-shell.theater-mode-active.runtime-notices-active,.prototype-shell.title-screen-active.safe-mode-active,.prototype-shell.title-screen-active.runtime-notices-active{grid-template-rows:34px minmax(0,1fr)}.prototype-shell.title-screen-active.safe-mode-active .title-screen,.prototype-shell.title-screen-active.runtime-notices-active .title-screen{grid-row:2/-1}.prototype-shell.theater-shell.safe-mode-active .campaign-rail,.prototype-shell.theater-shell.safe-mode-active .session-board,.prototype-shell.theater-shell.safe-mode-active .right-inspector,.prototype-shell.theater-shell.runtime-notices-active .campaign-rail,.prototype-shell.theater-shell.runtime-notices-active .session-board,.prototype-shell.theater-shell.runtime-notices-active .right-inspector,.prototype-shell.theater-mode-active.safe-mode-active .campaign-rail,.prototype-shell.theater-mode-active.safe-mode-active .session-board,.prototype-shell.theater-mode-active.safe-mode-active .right-inspector,.prototype-shell.theater-mode-active.runtime-notices-active .campaign-rail,.prototype-shell.theater-mode-active.runtime-notices-active .session-board,.prototype-shell.theater-mode-active.runtime-notices-active .right-inspector{grid-row:2}}.safe-mode-banner,.beta-runtime-notices{color:#fae4a7;scrollbar-width:thin;background:linear-gradient(90deg,#e3bc6226,#e3bc620f),#111513;border-bottom:1px solid #e3bc6252;grid-column:1/-1;align-items:center;gap:8px;min-width:0;min-height:34px;padding:5px 12px;font-size:.78rem;display:flex;overflow-x:auto}.safe-mode-banner strong,.safe-mode-banner span,.beta-runtime-notice strong,.beta-runtime-notice span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.safe-mode-banner strong,.beta-runtime-notice strong{color:#ffe9a8;flex:none;font-weight:660}.safe-mode-banner span,.beta-runtime-notice span{color:#d8c38a}.beta-runtime-notice{background:#0b11116b;border:1px solid #e3bc6242;border-radius:7px;flex:none;align-items:center;gap:8px;min-width:0;max-width:min(460px,78vw);padding:3px 8px;display:inline-flex}.beta-runtime-notice.info{color:#cdeff1;border-color:#74bcc647}.beta-runtime-notice.info strong{color:#d7f8fb}.beta-runtime-notice.info span{color:#aed2d7}.beta-runtime-notes-toggle{color:#d7f8fb;min-height:26px;font:inherit;cursor:pointer;background:#1431366b;border:1px solid #74bcc652;border-radius:7px;flex:none;align-items:center;gap:6px;padding:3px 8px;display:inline-flex}.beta-runtime-notes-toggle span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.beta-runtime-notes-toggle:hover,.beta-runtime-notes-toggle:focus-visible{background:#1431369e;border-color:#74bcc694}.beta-runtime-notes-panel{z-index:95;width:min(560px,100vw - 24px);max-height:min(420px,100vh - 112px);color:var(--text);background:#101616f7;border:1px solid #74bcc647;border-radius:7px;gap:8px;padding:11px 12px;display:grid;position:fixed;top:88px;right:12px;overflow:auto;box-shadow:0 18px 38px #0000005c}.beta-runtime-notes-panel>div{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.beta-runtime-notes-panel strong{color:var(--heading);font-size:.82rem;font-weight:650}.beta-runtime-notes-panel button{width:25px;height:25px;color:var(--text);cursor:pointer;background:#ffffff0a;border:1px solid #90a49f33;border-radius:5px;flex:none;place-items:center;display:inline-grid}.beta-runtime-notes-panel ul{gap:5px;margin:0;padding-left:18px;display:grid}.beta-runtime-notes-panel li{color:var(--muted);font-size:.75rem;line-height:1.38}.title-screen{isolation:isolate;z-index:45;background:linear-gradient(115deg,#030809eb,#081413d6 48%,#121410e6),repeating-linear-gradient(135deg,#ffffff09 0 1px,#0000 1px 28px);grid-area:2/1/-1/-1;min-height:0;padding:42px;display:grid;position:relative;overflow:auto}.prototype-shell.runtime-notices-active .title-screen,.prototype-shell.safe-mode-active .title-screen{grid-row:3/-1}.title-screen:before{z-index:-1;content:"";background:linear-gradient(90deg,#ff6b2c24,#0000 36%),linear-gradient(#0000,#72b59b1f);position:absolute;inset:0}.title-screen-stage{grid-template-columns:minmax(0,1fr) minmax(270px,350px);place-self:center;gap:18px;width:min(1120px,100%);min-height:min(560px,100%);display:grid}.title-screen-copy,.title-screen-table{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#ffffff0b,#ffffff05),#070e0ec7;border:1px solid #90a49f3d;border-radius:8px;box-shadow:0 28px 76px #00000057}.title-screen-copy{align-content:center;gap:22px;min-width:0;padding:40px;display:grid}.title-mark{width:max-content;max-width:100%;color:var(--orange);text-transform:uppercase;align-items:center;gap:10px;font-size:.75rem;font-weight:760;display:inline-flex}.title-mark span{color:#ffd0a6;background:#ff6b2c1f;border:1px solid #ffb0674d;border-radius:4px;padding:4px 8px}.title-screen h1{color:var(--heading);font-family:var(--serif);letter-spacing:0;margin:0;font-size:3.4rem;font-weight:700;line-height:.94}.title-screen-copy p,.title-screen-table p{color:#d4ded8;max-width:640px;margin:0;font-size:1rem;line-height:1.55}.title-screen-actions{flex-wrap:wrap;gap:10px;display:flex}.title-action{min-height:46px;color:var(--heading);background:#ffffff0e;border:1px solid #90a49f42;border-radius:6px;justify-content:center;align-items:center;gap:9px;padding:0 15px;font-size:.9rem;font-weight:720;display:inline-flex}.title-action:hover:not(:disabled){background:#ff6b2c1f;border-color:#ffb06775}.title-action.primary{color:#fff8ee;background:linear-gradient(#ff7c35,#e4541b);border-color:#ffb06794;box-shadow:0 14px 34px #ff6b2c2e}.title-action.primary:hover:not(:disabled){background:linear-gradient(#ff8a45,#eb5e24)}.title-screen-table{align-content:end;gap:15px;min-width:0;padding:24px;display:grid}.title-screen-table>div:first-child{color:#9bd7bc;text-transform:uppercase;align-items:center;gap:8px;width:max-content;max-width:100%;font-size:.72rem;font-weight:760;display:inline-flex}.title-screen-table strong{color:var(--heading);font-family:var(--serif);font-size:1.55rem;line-height:1.05}.title-screen-table dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:4px 0 0;display:grid}.title-screen-table dl div{background:#ffffff09;border:1px solid #90a49f2e;border-radius:6px;min-width:0;padding:10px}.title-screen-table dt,.title-screen-table dd{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;overflow:hidden}.title-screen-table dt{color:var(--muted);text-transform:uppercase;font-size:.66rem;font-weight:780}.title-screen-table dd{color:var(--heading);margin-top:3px;font-size:.82rem;font-weight:650}.ops-brand,.ops-segment,.ops-actions{border-right:1px solid var(--line);min-width:0;min-height:48px}.ops-brand{color:var(--orange);text-shadow:0 0 18px #ff6b2c2e;align-items:center;gap:9px;padding:0 20px;display:flex}.ops-brand strong{color:var(--heading);letter-spacing:0;font-size:1.22rem;font-weight:660}.top-icon{border:1px solid var(--line-strong);width:42px;height:42px;color:var(--heading);background:linear-gradient(#172021,#0d1314);border-radius:4px;place-items:center;display:grid;box-shadow:inset 0 1px #ffffff09}.top-icon:hover{color:var(--heading);background:linear-gradient(#1b2627,#101819);border-color:#ffb06761}.top-icon.selected{color:var(--orange);background:#ff6b2c1f;border-color:#ffb0677a}.top-icon.speaking{box-shadow:0 0 0 2px #ff6b2c1f,0 0 18px #ff6b2c2e,inset 0 1px #ffffff0f}.ops-bar>.top-icon{background:0 0;border-color:#0000;place-self:center;width:40px;height:40px}.ops-segment{align-content:center;gap:3px;padding:0 13px;display:grid}.ops-segment>div{align-items:center;gap:10px;min-width:0;display:flex}.ops-segment strong{color:var(--heading);font-size:.8rem;font-weight:570}.ops-segment span{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;overflow:hidden}.backend-segment{grid-template-columns:minmax(0,1fr) auto auto;column-gap:10px}.backend-segment>div,.backend-segment>span{grid-column:1}.backend-segment>svg,.backend-segment>button{place-self:center}.backend-segment>button{width:28px;height:28px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:4px;place-items:center;display:grid}.backend-segment>button:hover{color:var(--heading);background:#ffffff0a;border-color:#ffb06747}.backend-segment>svg{color:var(--muted)}.compact{padding-right:14px}.compact>div,.context-meter>div{justify-content:space-between}.ops-segment.compact span{text-overflow:ellipsis;overflow:hidden}.runtime-select{width:100%;min-width:0;max-width:170px;color:var(--muted);appearance:none;text-overflow:ellipsis;background:0 0;border:0;outline:0;font-size:.74rem;line-height:1.15}.runtime-tools{flex:none;align-items:center;gap:7px;color:var(--muted)!important;display:inline-flex!important}.runtime-select:hover,.runtime-select:focus{color:var(--heading)}.runtime-select:disabled{opacity:.72}.status-dot{white-space:nowrap;align-items:center;gap:5px;font-weight:560;color:var(--green)!important;font-size:.68rem!important;display:inline-flex!important}.status-dot svg{width:7px;height:7px}.status-dot.neutral{color:#9ca7a3!important}.status-dot.warn{color:#e3bc62!important}.meter{background:repeating-linear-gradient(90deg,#ffffff1c 0 1px,#0000 1px 15px),#1d2827;border:1px solid #ffffff0b;border-radius:2px;width:126px;height:6px;overflow:hidden}.meter span{background:repeating-linear-gradient(90deg,#040c0c47 0 1px,#0000 1px 15px),linear-gradient(90deg,#9bf06c,#5aca4a);width:0;height:100%;transition:width .22s;display:block;box-shadow:0 0 10px #6bdc6833}.mini-stat{justify-items:start;gap:1px;padding:0 18px}.mini-stat svg{color:var(--muted);grid-row:1/span 2;margin-right:4px}.ops-actions{border-right:0;justify-content:flex-end;align-items:center;gap:8px;padding:0 14px;display:flex;position:relative}.ops-actions .top-icon{width:36px;height:36px}.ops-actions .small{width:30px}.account-menu-wrap{align-items:center;gap:8px;display:inline-flex;position:relative}.account-menu,.session-menu{z-index:20;border:1px solid var(--line-strong);background:linear-gradient(180deg, var(--surface-2), var(--surface));border-radius:4px;min-width:190px;padding:8px;display:grid;position:absolute;box-shadow:0 18px 38px #00000052}.account-menu{gap:5px;top:calc(100% + 8px);right:0}.account-menu strong,.account-menu span{padding:0 6px}.account-menu strong{color:var(--heading);font-size:.84rem}.account-menu span{color:var(--muted);margin-bottom:5px;font-size:.75rem}.account-menu button,.session-menu button{min-height:32px;color:var(--text);text-align:left;background:0 0;border-radius:4px;padding:0 10px}.account-menu button:hover,.session-menu button:hover{color:var(--heading);background:#ff6b2c1f}.session-menu button.danger{color:#ff9b7d}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#030809b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.campaign-dialog{background:linear-gradient(180deg, #ff6b2c0e, transparent 110px), linear-gradient(180deg, var(--surface-2), var(--surface));border:1px solid #ff6b2c52;border-radius:6px;width:min(520px,100%);max-height:min(720px,100svh - 40px);overflow:auto;box-shadow:0 28px 70px #0000007a}.player-edit-dialog{width:min(980px,100%)}.campaign-dialog header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:16px;padding:18px 18px 12px;display:flex}.campaign-dialog header span{color:var(--orange);text-transform:uppercase;font-size:.72rem;font-weight:700}.campaign-dialog h2{color:var(--heading);margin:2px 0 0;font-size:1.08rem}.campaign-dialog header button{border:1px solid var(--line-strong);width:34px;height:34px;color:var(--heading);background:#ffffff09;border-radius:4px;place-items:center;display:grid}.campaign-dialog form,.dialog-body{gap:13px;padding:16px 18px 18px;display:grid}.profile-dialog-body{gap:14px;padding:16px 18px 18px;display:grid}.profile-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.profile-summary-grid div{border:1px solid var(--line);background:#ffffff06;border-radius:4px;min-width:0;padding:10px}.profile-summary-grid dt{color:var(--muted);text-transform:uppercase;margin:0 0 4px;font-size:.68rem;font-weight:700}.profile-summary-grid dd{color:var(--heading);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.82rem;overflow:hidden}.profile-action-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.profile-action-list button{border:1px solid var(--line-strong);min-height:34px;color:var(--heading);background:#ffffff09;border-radius:4px;padding:0 10px;font-size:.78rem}.profile-action-list button:hover{color:var(--orange);border-color:#ffb0675c}.character-join-body{gap:13px;padding:16px 18px 18px;display:grid}.character-choice-list{gap:8px;display:grid}.character-choice-card{border:1px solid var(--line-strong);min-height:58px;color:var(--heading);text-align:left;background:#ffffff09;border-radius:4px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.character-choice-card:hover{background:#ff6b2c14;border-color:#ffb06766}.character-choice-portrait{object-fit:cover;background:#00000038;border:1px solid #ffffff24;border-radius:4px;flex:0 0 38px;width:38px;height:38px}.character-choice-card span{min-width:0}.character-choice-card strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.character-choice-card small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:.76rem;display:block;overflow:hidden}.character-choice-card em{color:var(--orange);text-transform:uppercase;flex:none;font-size:.72rem;font-style:normal;font-weight:760}.dialog-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.runtime-auth-choice{border:1px solid var(--line);background:#ffffff08;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;display:grid}.runtime-auth-choice button{min-height:38px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:6px}.runtime-auth-choice button[aria-pressed=true]{border-color:var(--line-strong);color:var(--heading);background:var(--field)}.race-selector{border:1px solid var(--line);background:#ffffff08;border-radius:6px;gap:12px;padding:12px;display:grid;position:relative}.race-selector-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.race-selector-heading span,.gender-portrait-picker>div:first-child span,.race-details-modal header span{color:var(--orange);text-transform:uppercase;font-size:.68rem;font-weight:760;display:block}.race-selector-heading h3,.race-details-modal h3{color:var(--heading);margin:2px 0 0;font-size:.92rem}.race-selector-heading strong{color:#9fe1c2;background:#72b59b1a;border:1px solid #72b59b5c;border-radius:4px;align-items:center;gap:6px;min-height:30px;padding:0 9px;font-size:.75rem;display:inline-flex}.race-selector-heading strong.muted{border-color:var(--line);color:var(--muted);background:#ffffff06}.race-mode-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.race-mode-tabs button{border:1px solid var(--line-strong);min-height:32px;color:var(--text);background:#ffffff09;border-radius:4px;font-size:.74rem;font-weight:720}.race-mode-tabs button:hover,.race-mode-tabs button.selected{color:var(--heading);background:#ff6b2c1f;border-color:#ffb06770}.race-search-field{gap:6px}.race-search-field>div{border:1px solid var(--line-strong);background:var(--field);border-radius:4px;align-items:center;gap:8px;height:40px;padding:0 10px;display:flex}.race-search-field svg{color:var(--muted);flex:none}.campaign-dialog .race-search-field input{background:0 0;border:0;height:auto;padding:0}.race-filter-row{flex-wrap:wrap;gap:7px;max-height:88px;padding:1px 1px 2px;display:flex;overflow:auto}.race-filter-row button{border:1px solid var(--line-strong);min-height:28px;color:var(--text);background:#ffffff09;border-radius:4px;flex:none;padding:0 9px;font-size:.72rem;font-weight:680}.race-filter-row button:hover,.race-filter-row button.selected{color:var(--heading);background:#ff6b2c21;border-color:#ffb0676b}.race-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;min-width:0;max-height:min(454px,44svh);padding:1px;display:grid;overflow:auto}.race-card{border:1px solid var(--line-strong);width:100%;min-width:0;min-height:304px;color:var(--text);text-align:left;background:#00000042;border-radius:6px;align-content:stretch;gap:0;padding:0;display:grid;position:relative;overflow:hidden}.race-card:hover,.race-card:focus-visible,.race-card.selected{background:#00000052;border-color:#ffb0677a}.race-card-art{border-radius:inherit;aspect-ratio:auto;background:#00000042;border:0;width:100%;min-width:0;height:100%;display:block;position:absolute;inset:0;overflow:hidden}.race-card-art img{object-fit:cover;object-position:center center;width:100%;height:100%;transition:filter .18s,transform .18s;display:block}.race-card:hover .race-card-art img,.race-card:focus-visible .race-card-art img,.race-card.selected .race-card-art img{filter:saturate(1.05)contrast(1.04);transform:scale(1.035)}.race-card-art span{color:var(--heading);text-align:center;background:linear-gradient(#0000,#030809db);padding:16px 8px 7px;font-size:.82rem;font-weight:780;display:none;position:absolute;bottom:0;left:0;right:0}.race-card-copy{z-index:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(#0308090a,#03080994 38%,#030809b8),#060d0e57;border-top:1px solid #ffffff1a;gap:6px;min-width:0;max-height:54px;padding:11px 10px 12px;transition:-webkit-backdrop-filter .18s,backdrop-filter .18s,background .18s,max-height .18s;display:grid;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.race-card:hover .race-card-copy,.race-card:focus-visible .race-card-copy,.race-card.selected .race-card-copy{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(#0308090a,#03080961 30%,#0308098f),#060d0e33;max-height:220px}.race-card-copy strong{color:var(--heading);text-shadow:0 1px 3px #000000c7;text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;overflow:hidden}.race-card-copy em{min-height:34px;color:var(--muted);text-shadow:0 1px 3px #000000c7;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.74rem;font-style:normal;line-height:1.25;display:-webkit-box;overflow:hidden}.race-card-copy em,.race-card-copy .race-trait-row,.race-card-copy small{opacity:0;transition:opacity .18s,transform .18s;transform:translateY(6px)}.race-card:hover .race-card-copy em,.race-card:hover .race-card-copy .race-trait-row,.race-card:hover .race-card-copy small,.race-card:focus-visible .race-card-copy em,.race-card:focus-visible .race-card-copy .race-trait-row,.race-card:focus-visible .race-card-copy small,.race-card.selected .race-card-copy em,.race-card.selected .race-card-copy .race-trait-row,.race-card.selected .race-card-copy small{opacity:1;transform:none}.race-trait-row{flex-wrap:wrap;align-content:start;gap:5px;min-height:48px;display:flex}.race-trait-row span{color:#9bd7bc;text-overflow:ellipsis;white-space:nowrap;background:#72b59b14;border:1px solid #72b59b3d;border-radius:4px;max-width:100%;padding:3px 6px;font-size:.64rem;font-weight:720;overflow:hidden}.race-card-copy small{min-height:32px;color:var(--text);text-shadow:0 1px 3px #000000c7;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.7rem;line-height:1.25;display:-webkit-box;overflow:hidden}.race-empty-state{border:1px dashed var(--line-strong);min-height:40px;color:var(--muted);border-radius:4px;place-items:center;font-size:.78rem;display:grid}.class-selector{gap:10px}.class-selector-heading strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:min(420px,56%);overflow:hidden}.class-selector-heading strong svg{flex:none}.class-quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.class-quick-grid button,.class-card,.class-browse-toggle,.custom-class-panel button{border:1px solid var(--line-strong);color:var(--text);text-align:left;background:#ffffff09;border-radius:5px}.class-quick-grid button{align-content:center;gap:3px;min-height:54px;padding:8px 9px;display:grid}.class-quick-grid button:hover,.class-quick-grid button:focus-visible,.class-quick-grid button.selected,.class-card:hover,.class-card:focus-visible,.class-card.selected,.class-browse-toggle:hover,.class-browse-toggle[aria-expanded=true]{color:var(--heading);background:#ff6b2c1a;border-color:#ffb06775}.class-quick-grid strong{color:var(--heading);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.class-quick-grid span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;overflow:hidden}.class-browse-toggle{text-align:center;justify-self:start;min-height:34px;padding:0 11px;font-size:.74rem;font-weight:720}.class-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;max-height:min(350px,38svh);padding:1px 3px 1px 1px;display:grid;overflow:auto}.class-card{min-height:140px;padding:10px;display:grid}.class-card-copy{gap:7px;min-width:0;display:grid}.class-card-copy strong{color:var(--heading);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;overflow:hidden}.class-card-copy em{min-height:34px;color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.74rem;font-style:normal;line-height:1.25;display:-webkit-box;overflow:hidden}.class-trait-row{min-height:24px}.class-card-copy small{min-height:32px;color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.7rem;line-height:1.25;display:-webkit-box;overflow:hidden}.class-summary-panel p{color:var(--heading)}.class-subclass-panel{gap:9px;display:grid}.class-subclass-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.class-subclass-heading span{color:var(--orange);text-transform:uppercase;font-size:.68rem;font-weight:760}.class-subclass-heading strong{color:#9bd7bc;text-align:center;background:#72b59b14;border:1px solid #72b59b47;border-radius:4px;min-width:30px;padding:4px 7px;font-size:.7rem}.class-subclass-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.class-subclass-option{border:1px solid var(--line-strong);min-height:78px;color:var(--text);text-align:left;background:#ffffff09;border-radius:5px;align-content:start;gap:5px;padding:9px 10px;display:grid}.class-subclass-option:hover,.class-subclass-option:focus-visible,.class-subclass-option.selected{background:#ff6b2c1a;border-color:#ffb06775}.class-subclass-option strong{color:var(--heading);font-size:.78rem}.class-subclass-option span{color:var(--muted);font-size:.72rem;line-height:1.3}.custom-class-panel{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px;display:grid}.custom-class-field{gap:6px}.custom-class-panel button{min-height:40px;color:var(--heading);text-align:center;padding:0 12px;font-size:.76rem;font-weight:720}.character-level-grid{grid-template-columns:minmax(120px,160px)}.gender-portrait-picker{border:1px solid var(--line);background:#0000001f;border-radius:6px;grid-template-columns:minmax(130px,.55fr) minmax(0,1fr);align-items:stretch;gap:10px;padding:10px;display:grid}.gender-portrait-picker>div:first-child{align-self:center}.gender-portrait-picker strong{color:var(--heading);margin-top:2px;font-size:.86rem;display:block}.gender-portrait-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.gender-portrait-options button{border:1px solid var(--line-strong);min-height:152px;color:var(--heading);background:#ffffff09;border-radius:6px;position:relative;overflow:hidden}.gender-portrait-options button:hover,.gender-portrait-options button.selected{background:#ff6b2c17;border-color:#ffb06780}.gender-portrait-options img{object-fit:cover;width:100%;height:100%;min-height:152px;display:block}.gender-portrait-options span{text-align:center;background:linear-gradient(#0000,#030809e0);padding:18px 8px 8px;font-size:.78rem;font-weight:780;position:absolute;bottom:0;left:0;right:0}.race-count{color:var(--muted);text-align:right;font-size:.7rem}.custom-race-panel{gap:10px;display:grid}.custom-race-prompt{gap:6px}.custom-race-prompt textarea{resize:vertical;min-height:110px;line-height:1.4}.custom-race-actions,.custom-race-review-actions{flex-wrap:wrap;gap:8px;display:flex}.custom-race-actions button,.custom-race-review-actions button{min-height:34px;color:var(--heading);background:#ff6b2c26;border:1px solid #ff6b2c57;border-radius:4px;align-items:center;gap:6px;padding:0 11px;font-size:.76rem;font-weight:720;display:inline-flex}.custom-race-actions button.secondary,.custom-race-review-actions button.secondary{border-color:var(--line-strong);background:#ffffff09}.race-custom-error{color:#ffb0a8;background:#e8686814;border:1px solid #e8686852;border-radius:5px;padding:8px 10px;font-size:.76rem;line-height:1.35}.custom-race-review{border:1px solid var(--line);background:#0000001f;border-radius:6px;gap:10px;padding:10px;display:grid}.custom-race-review-head{justify-content:space-between;align-items:start;gap:10px;display:flex}.custom-race-review-head span{color:var(--orange);text-transform:uppercase;font-size:.68rem;font-weight:760;display:block}.custom-race-review-head strong{color:var(--heading);margin-top:2px;font-size:.95rem;display:block}.custom-race-review p{color:var(--text);margin:0;font-size:.8rem;line-height:1.4}.custom-race-edit-grid{grid-template-columns:minmax(130px,.42fr) minmax(0,1fr);gap:8px;display:grid}.custom-race-edit-grid label{gap:5px}.custom-race-edit-grid label span{color:var(--orange);text-transform:uppercase;font-size:.64rem;font-weight:760}.custom-race-edit-grid textarea{resize:vertical;min-height:66px;line-height:1.35}.race-balance-meter{text-align:right;background:#72b59b14;border:1px solid #72b59b4d;border-radius:5px;gap:2px;min-width:92px;padding:7px 8px;display:grid}.race-balance-meter span,.race-balance-meter em{color:var(--muted);text-transform:uppercase;font-size:.62rem;font-style:normal}.race-balance-meter strong{color:var(--heading);font-size:.88rem}.race-balance-meter.strong{background:#ffb06717;border-color:#ffb0676b}.race-balance-meter.overpowered{background:#e8686814;border-color:#e8686861}.custom-race-warnings{color:#f6c38b;background:#ffb06714;border:1px solid #ffb06752;border-radius:5px;align-items:flex-start;gap:7px;padding:8px 9px;font-size:.74rem;line-height:1.35;display:flex}.custom-race-warnings svg{flex:none;margin-top:1px}.custom-race-library{border:1px solid var(--line);background:#0000001a;border-radius:6px;gap:9px;padding:10px;display:grid}.custom-race-library-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.custom-race-library-head span{color:var(--orange);text-transform:uppercase;font-size:.68rem;font-weight:760}.custom-race-library-head strong{color:var(--muted);text-transform:uppercase;font-size:.68rem;font-weight:720}.custom-race-library-list{gap:7px;display:grid}.custom-race-library-card{border:1px solid var(--line);width:100%;min-height:64px;color:var(--text);text-align:left;background:#ffffff07;border-radius:5px;grid-template-columns:minmax(0,1fr) minmax(74px,auto);align-items:center;gap:6px 10px;padding:9px;display:grid}.custom-race-library-card:hover,.custom-race-library-card:focus-visible,.custom-race-library-card.selected{background:#ff6b2c14;border-color:#ff6b2c73}.custom-race-library-card>span{gap:2px;min-width:0;display:grid}.custom-race-library-card strong{color:var(--heading);font-size:.82rem}.custom-race-library-card em{color:var(--muted);font-size:.68rem;font-style:normal}.custom-race-library-card small{color:var(--text);grid-column:1/-1;font-size:.73rem;line-height:1.35}.custom-race-metadata{border-top:1px solid var(--line);gap:11px;padding-top:10px;display:grid}.custom-race-metadata-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.custom-race-metadata-head span,.custom-race-ability-list h4{color:var(--orange);text-transform:uppercase;margin:0;font-size:.68rem;font-weight:760}.custom-race-metadata-head strong{color:var(--muted);text-transform:uppercase;font-size:.68rem;font-weight:720}.custom-race-metadata-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin:0;display:grid}.custom-race-metadata-grid>div{border-bottom:1px solid #ffffff0e;gap:4px;min-width:0;padding-bottom:7px;display:grid}.custom-race-metadata-grid dt,.custom-race-ability dt,.race-metadata-nested dt{color:var(--muted);letter-spacing:0;text-transform:uppercase;font-size:.61rem;font-weight:780}.custom-race-metadata-grid dd,.custom-race-ability dd,.race-metadata-nested dd{min-width:0;color:var(--text);overflow-wrap:anywhere;margin:0;font-size:.74rem;line-height:1.35}.race-metadata-list{gap:3px;margin:0;padding-left:15px;display:grid}.race-metadata-nested{gap:6px;margin:0;display:grid}.race-metadata-nested>div{gap:2px;display:grid}.race-metadata-empty{color:var(--muted)}.custom-race-ability-list{gap:9px;padding-top:2px;display:grid}.custom-race-ability{border-top:1px solid #fff1;gap:7px;padding-top:9px;display:grid}.custom-race-ability header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:7px;display:flex}.custom-race-ability header strong{color:var(--heading);font-size:.82rem}.custom-race-ability header span{color:#f6c38b;text-transform:uppercase;font-size:.68rem;font-weight:720}.custom-race-ability p{color:var(--text);font-size:.76rem}.custom-race-ability>dl{gap:7px;margin:0;display:grid}.custom-race-ability>dl>div{gap:3px;display:grid}.custom-race-json{border-top:1px solid var(--line);padding-top:8px}.custom-race-json summary{cursor:pointer;color:var(--orange);text-transform:uppercase;font-size:.68rem;font-weight:760}.custom-race-json pre{border:1px solid var(--line);max-height:280px;color:var(--text);white-space:pre-wrap;background:#0000002e;border-radius:5px;margin:8px 0 0;padding:9px;font-size:.68rem;line-height:1.35;overflow:auto}.race-details-backdrop{z-index:65;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#030809ad;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.race-details-modal{background:linear-gradient(180deg, #72b59b12, transparent 120px), linear-gradient(180deg, var(--surface-2), var(--surface));border:1px solid #ff6b2c57;border-radius:6px;width:min(720px,100%);max-height:min(760px,100svh - 40px);overflow:auto;box-shadow:0 30px 80px #0000008f}.race-details-modal header,.race-details-modal footer{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.race-details-modal header button{border:1px solid var(--line-strong);width:34px;height:34px;color:var(--heading);background:#ffffff09;border-radius:4px;place-items:center;display:grid}.race-details-body{gap:12px;padding:14px 16px 16px;display:grid}.race-details-hero{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.race-details-hero img{border:1px solid var(--line-strong);object-fit:cover;aspect-ratio:1;background:#0003;border-radius:6px;width:100%;min-height:230px}.race-details-body p{color:var(--text);margin:0;font-size:.82rem;line-height:1.45}.race-lore-panel{background:#72b59b12;border:1px solid #72b59b3d;border-radius:5px;gap:6px;padding:11px 12px;display:grid}.race-lore-panel span{color:var(--orange);text-transform:uppercase;font-size:.68rem;font-weight:760}.race-lore-panel p{color:var(--heading)}.race-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0;display:grid}.race-detail-grid div{border:1px solid var(--line);background:#ffffff06;border-radius:5px;min-width:0;padding:10px}.race-detail-grid dt{color:var(--orange);text-transform:uppercase;margin:0 0 5px;font-size:.68rem;font-weight:760}.race-detail-grid dd{color:var(--text);margin:0;font-size:.78rem;line-height:1.35}.race-detail-grid ul{gap:3px;margin:0;padding-left:18px;display:grid}.race-details-modal footer{border-top:1px solid var(--line);border-bottom:0}.race-details-modal footer button{min-height:36px;color:var(--heading);background:#ff6b2c29;border:1px solid #ff6b2c5c;border-radius:4px;padding:0 12px;font-size:.78rem;font-weight:720}.race-details-modal footer button.secondary{border-color:var(--line-strong);background:#ffffff09}.point-buy-panel{border:1px solid var(--line);background:#ffffff08;border-radius:6px;gap:10px;padding:10px;display:grid}.point-buy-summary{color:var(--heading);justify-content:space-between;align-items:center;gap:10px;font-size:.82rem;display:flex}.point-buy-summary span{color:var(--muted);font-weight:720}.point-buy-summary span.over-budget{color:#ff9d81}.point-buy-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.point-buy-grid label{gap:5px}.point-buy-grid label>span{justify-content:space-between;align-items:center;gap:6px;font-size:.74rem;display:flex}.point-buy-grid small{color:var(--muted);font-size:.72rem;font-weight:740}.point-buy-grid input{height:36px;padding:0 8px}.campaign-dialog label{color:var(--heading);gap:7px;font-size:.82rem;font-weight:620;display:grid}.campaign-dialog input,.campaign-dialog textarea,.campaign-dialog select{border:1px solid var(--line-strong);width:100%;min-width:0;color:var(--heading);background:var(--field);border-radius:4px}.campaign-dialog input,.campaign-dialog select{height:40px;padding:0 11px}.campaign-dialog select{appearance:none}.campaign-dialog textarea{resize:vertical;min-height:88px;padding:10px 11px}.campaign-dialog p{color:var(--muted);margin:-2px 0 0;font-size:.76rem;line-height:1.35}.campaign-pack-picker-field{color:var(--heading);gap:7px;font-size:.82rem;font-weight:620;display:grid}.campaign-pack-picker{position:relative}.campaign-pack-picker-button{border:1px solid var(--line-strong);width:100%;min-height:48px;color:var(--heading);background:var(--field);text-align:left;border-radius:4px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.campaign-pack-picker-button:disabled{cursor:not-allowed;opacity:.62}.campaign-pack-picker-button[aria-expanded=true],.campaign-pack-picker-button:not(:disabled):hover{background:#ff6b2c1a;border-color:#ff6b2c8c}.campaign-pack-picker-button-copy,.campaign-pack-picker-option span{gap:3px;min-width:0;display:grid}.campaign-pack-picker-button strong,.campaign-pack-picker-option strong{color:var(--heading);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;line-height:1.2;overflow:hidden}.campaign-pack-picker-button small,.campaign-pack-picker-option small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:650;line-height:1.25;overflow:hidden}.campaign-pack-picker-button-meta,.campaign-pack-picker-option em{max-width:150px;color:var(--muted);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-style:normal;font-weight:760;overflow:hidden}.campaign-pack-picker-menu{z-index:4;background:var(--surface-2);border:1px solid #ff6b2c57;border-radius:6px;gap:5px;max-height:min(320px,48svh);padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto;box-shadow:0 16px 36px #00000073}.campaign-pack-picker-option{width:100%;min-height:46px;color:var(--text);text-align:left;background:0 0;border:1px solid #0000;border-radius:4px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 9px;display:grid}.campaign-pack-picker-option:hover,.campaign-pack-picker-option[aria-selected=true]{background:#ff6b2c1f;border-color:#ff6b2c70}.campaign-pack-starter-summary{border:1px solid var(--line);background:#ffffff09;border-radius:4px;gap:5px;padding:10px 11px;display:grid}.campaign-pack-starter-summary strong{color:var(--heading);font-size:.86rem}.campaign-pack-starter-summary span,.campaign-pack-starter-summary small{color:var(--muted);font-size:.76rem;line-height:1.35}.saved-workspace-list{gap:7px;display:grid}.saved-workspace-list>span{color:var(--heading);font-size:.82rem;font-weight:620}.saved-workspace-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:7px;display:grid}.saved-workspace-option{border:1px solid var(--line-strong);width:100%;min-height:42px;color:var(--text);background:var(--field);text-align:left;border-radius:4px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.saved-workspace-option[aria-pressed=true],.saved-workspace-option:hover{color:var(--heading);background:#ff6b2c1f;border-color:#ff6b2c8c}.saved-workspace-option strong,.saved-workspace-option span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.saved-workspace-option span{color:var(--muted);font-size:.75rem}.saved-workspace-delete{color:#fff6ed;background:linear-gradient(#e85d32,#b9361e);border:1px solid #ff6b2c70;border-radius:4px;min-height:42px;padding:0 10px;font-weight:680}.saved-workspace-delete:hover{background:linear-gradient(#f06a3d,#c73d22);border-color:#ffc098ad}.dialog-error{color:#ffb09a;background:#ff6b2c1a;border:1px solid #ff6b2c52;border-radius:4px;min-height:34px;padding:8px 10px;font-size:.78rem}.dialog-warning{color:var(--text);background:#ff6b2c17;border:1px solid #ff6b2c57;border-radius:4px;gap:7px;padding:10px 11px;font-size:.8rem;line-height:1.35;display:grid}.dialog-warning strong{color:var(--heading);font-size:.88rem}.dialog-warning span{color:var(--muted)}.campaign-dialog footer{justify-content:flex-end;gap:9px;margin-top:4px;display:flex}.campaign-dialog footer button{color:#fff6ed;background:linear-gradient(#ff7c35,#e3541a);border:1px solid #ff6b2c52;border-radius:4px;min-height:38px;padding:0 13px;font-weight:680}.campaign-dialog footer button.secondary{border-color:var(--line-strong);color:var(--heading);background:#ffffff09}.campaign-dialog footer button.danger{background:linear-gradient(#e85d32,#b9361e);border-color:#ff6b2c70}.world-manager-dialog{width:min(680px,100%)}.campaign-pack-import-dialog{width:min(760px,100%)}.campaign-pack-import-form .file-picker-field input{height:auto;padding:9px 11px}.campaign-pack-import-form footer button{align-items:center;gap:7px;display:inline-flex}.campaign-pack-import-form .dialog-error{align-items:center;gap:8px;display:flex}.campaign-pack-forge{background:#ffffff05;border:1px solid #90a49f33;border-radius:4px;gap:10px;padding:10px;display:grid}.campaign-pack-forge-title{color:var(--heading);align-items:center;gap:8px;display:flex}.campaign-pack-forge-fields{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:10px;display:grid}.campaign-pack-forge-fields textarea{min-height:84px}.campaign-pack-forge-button{justify-self:start;align-items:center;gap:7px;display:inline-flex}.campaign-pack-preview{background:#ffffff05;border:1px solid #90a49f33;border-radius:4px;gap:10px;padding:10px;display:grid}.campaign-pack-preview-title{color:#74dc8a;align-items:center;gap:9px;min-width:0;display:flex}.campaign-pack-preview-title span{gap:2px;min-width:0;display:grid}.campaign-pack-preview-title strong,.campaign-pack-preview-grid strong,.campaign-pack-counts strong,.campaign-pack-visible strong{min-width:0;color:var(--heading);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.campaign-pack-preview-title small,.campaign-pack-preview-grid span,.campaign-pack-counts span,.campaign-pack-visible span{color:var(--muted);font-size:.73rem}.campaign-pack-preview-grid,.campaign-pack-counts{gap:7px;display:grid}.campaign-pack-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.campaign-pack-preview-grid div,.campaign-pack-counts div{border:1px solid var(--line);background:#ffffff06;border-radius:4px;min-width:0;padding:8px}.campaign-pack-preview-grid div,.campaign-pack-counts div,.campaign-pack-visible{gap:4px;display:grid}.campaign-pack-counts{grid-template-columns:repeat(4,minmax(0,1fr))}.campaign-pack-visible{border:1px solid var(--line);background:#ffffff05;border-radius:4px;grid-template-columns:92px repeat(3,minmax(0,1fr));align-items:center;padding:8px}.campaign-pack-lint{background:#ffffff05;border:1px solid #90a49f33;border-radius:4px;gap:8px;padding:10px;display:grid}.campaign-pack-lint.ok{border-color:#74dc8a57}.campaign-pack-lint.has-errors{border-color:#ff6b2c70}.campaign-pack-lint-title,.campaign-pack-graph-summary{align-items:center;gap:8px;min-width:0;display:flex}.campaign-pack-lint-title strong{min-width:0;color:var(--heading);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.campaign-pack-lint-title span,.campaign-pack-graph-summary span,.campaign-pack-lint-list small{color:var(--muted);font-size:.73rem}.campaign-pack-authoring-report{gap:7px;padding-top:2px;display:grid}.campaign-pack-authoring-report-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.campaign-pack-authoring-report-grid div{border:1px solid var(--line);background:#ffffff05;border-radius:4px;gap:3px;min-width:0;padding:8px;display:grid}.campaign-pack-authoring-report-grid span,.campaign-pack-authoring-report-grid small,.campaign-pack-authoring-collections span,.campaign-pack-authoring-warning{color:var(--muted);font-size:.72rem}.campaign-pack-authoring-report-grid strong{min-width:0;color:var(--heading);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.campaign-pack-authoring-collections{flex-wrap:wrap;gap:5px;display:flex}.campaign-pack-authoring-collections span{text-overflow:ellipsis;white-space:nowrap;background:#ffffff05;border:1px solid #90a49f2e;border-radius:4px;max-width:100%;padding:3px 6px;overflow:hidden}.campaign-pack-authoring-warning{background:#ffc7570e;border:1px solid #ffc75747;border-radius:4px;padding:7px 8px}.campaign-pack-lint-list{gap:6px;display:grid}.campaign-pack-lint-list div{border:1px solid var(--line);background:#ffffff05;border-radius:4px;grid-template-columns:64px minmax(0,130px) minmax(0,1fr);gap:5px 8px;min-width:0;padding:8px;display:grid}.campaign-pack-lint-list div.error{border-color:#ff6b2c6b}.campaign-pack-lint-list div.warning{border-color:#ffc7574d}.campaign-pack-lint-list span{color:var(--muted);text-transform:uppercase;font-size:.72rem}.campaign-pack-lint-list strong,.campaign-pack-lint-list small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.campaign-pack-lint-list p{color:var(--text);grid-column:1/-1;margin:0;font-size:.78rem;line-height:1.35}.world-manager-list{gap:8px;padding:16px 18px 0;display:grid}.world-manager-row{border:1px solid var(--line);background:#ffffff06;border-radius:4px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;padding:10px 11px;display:grid}.world-manager-row.active{background:#ff6b2c14;border-color:#ffb0676b}.world-manager-row span,.world-manager-row strong,.world-manager-row small{min-width:0}.world-manager-row strong,.world-manager-row small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.world-manager-row strong{color:var(--heading);font-size:.86rem}.world-manager-row small{color:var(--muted);margin-top:3px;font-size:.74rem}.world-manager-row div{gap:7px;display:flex}.world-manager-row button,.world-manager-form-heading button{border:1px solid var(--line-strong);min-height:31px;color:var(--heading);background:#ffffff09;border-radius:4px;padding:0 10px;font-size:.75rem;font-weight:650}.world-manager-row button:hover:not(:disabled),.world-manager-form-heading button:hover:not(:disabled){color:var(--orange);border-color:#ffb06761}.world-manager-row button.danger{color:#ffb09a}.world-manager-form-heading{color:var(--heading);justify-content:space-between;align-items:center;gap:12px;font-size:.86rem;display:flex}.dice-roll-backdrop{padding:18px}.dice-dialog{background:linear-gradient(180deg, #ff6b2c13, transparent 120px), linear-gradient(180deg, var(--surface-2), var(--surface));border:1px solid #ffb0676b;border-radius:6px;width:min(430px,100%);overflow:hidden;box-shadow:0 28px 70px #00000085}.dice-dialog header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:16px;padding:16px 16px 10px;display:flex}.dice-dialog header span{color:var(--orange);text-transform:uppercase;font-size:.72rem;font-weight:700}.dice-dialog h2{color:var(--heading);margin:2px 0 0;font-size:1.08rem}.dice-dialog header button{border:1px solid var(--line-strong);width:34px;height:34px;color:var(--heading);background:#ffffff09;border-radius:4px;place-items:center;display:grid}.dice-stage{background:linear-gradient(#ffffff09,#0000),#091112;min-height:292px;position:relative}.dice-canvas{min-height:292px;position:absolute;inset:0}.dice-canvas canvas{width:100%;height:100%;display:block}.dice-readout{background:#081010d1;border:1px solid #ffb0675c;border-radius:4px;min-width:132px;padding:10px 12px;display:grid;position:absolute;bottom:14px;right:14px;box-shadow:0 12px 26px #00000057}.dice-readout span{color:var(--muted);text-transform:uppercase;font-size:.7rem;font-weight:700}.dice-readout strong{color:var(--heading);font-family:var(--mono);font-size:2rem;line-height:1}.dice-readout small{color:var(--muted);margin-top:5px;font-size:.7rem}.dice-dialog.sending .dice-readout{border-color:#6bdc686b}.dice-loading-body{min-height:220px;color:var(--heading);align-content:center;place-items:center;gap:8px;display:grid}.dice-loading-body strong{font-size:1rem}.dice-loading-body span{color:var(--orange);font-family:var(--mono);font-size:.82rem}.campaign-rail{border-right:1px solid var(--line);background:linear-gradient(#ffffff05,#0000 160px),linear-gradient(#0d1718 0%,#091112 100%);flex-direction:column;grid-area:2/1;min-height:0;display:flex;overflow:hidden auto}.rail-section{padding:16px 12px 0}.rail-heading{color:var(--heading);letter-spacing:0;text-transform:uppercase;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;font-size:.76rem;font-weight:610;display:flex}.rail-heading>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.rail-heading-actions{flex:none;align-items:center;gap:6px;display:inline-flex}.campaign-heading{flex-direction:column;align-items:flex-start;gap:7px}.campaign-heading .rail-heading-actions{justify-content:space-between;gap:4px;width:100%}.rail-heading button{border:1px solid var(--line-strong);width:27px;height:27px;color:var(--heading);background:linear-gradient(#151f20,#0f1718);border-radius:4px;flex:none;place-items:center;display:grid}.rail-heading button:hover{color:var(--orange);border-color:#ffb06761}.rail-heading button:disabled{cursor:not-allowed;opacity:.42}.rail-skeleton-list{gap:8px;display:grid}.rail-skeleton-list span{background-color:#ffffff06;background-image:linear-gradient(90deg,#0000,#ffffff0b,#0000),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:180% 100%;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:1px solid #90a49f24;border-radius:4px;height:54px;animation:1.4s ease-in-out infinite subtle-loading;display:block}@keyframes subtle-loading{0%{background-position:160% 0}to{background-position:-80% 0}}.search-field{border:1px solid var(--line-strong);height:34px;color:var(--faint);background:linear-gradient(#111b1c,#0d1516);border-radius:4px;align-items:center;gap:8px;margin-bottom:12px;padding:0 10px;font-size:.78rem;display:flex;box-shadow:inset 0 1px #ffffff05}.search-field input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0}.search-field input::placeholder{color:var(--faint)}.campaign-list,.session-list{gap:8px;display:grid}.empty-rail,.empty-state,.empty-row{color:var(--muted);font-size:.78rem}.empty-rail{background:#ffffff04;border:1px dashed #90a49f38;border-radius:4px;place-items:center;min-height:42px;display:grid}.empty-action-card{text-align:center;gap:8px;padding:10px}.empty-action-card button,.empty-inline-action button{min-height:30px;color:var(--heading);background:#ff6b2c1a;border:1px solid #ffb06747;border-radius:4px;padding:0 10px;font-size:.75rem;font-weight:560}.empty-action-card button:disabled,.empty-inline-action button:disabled{cursor:not-allowed;opacity:.55}.empty-inline-action{color:var(--muted);background:#ffffff05;border:1px dashed #90a49f38;border-radius:4px;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding:9px 10px;font-size:.76rem;display:flex}.campaign-card{text-align:left;min-width:0;min-height:60px;color:var(--text);background:linear-gradient(#ffffff0b,#ffffff05);border:1px solid #0000;border-radius:4px;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;padding:8px;display:grid;box-shadow:inset 0 1px #ffffff04}.campaign-card.active{border-color:var(--line-hot);box-shadow:inset 3px 0 0 var(--orange);background:linear-gradient(90deg,#ff6b2526,#ffffff07),linear-gradient(#ffffff0c,#ffffff05)}.campaign-card.loading,.session-card.loading{background:linear-gradient(90deg,#ffb06714,#0000 54%),linear-gradient(#ffffff0d,#ffffff06);border-color:#ffb0677a}.campaign-card:hover,.session-card:hover,.nav-item:hover{background:linear-gradient(#ffffff10,#ffffff08);border-color:#90a49f5c}.campaign-card span,.session-card{min-width:0}.campaign-card strong,.session-card strong{color:var(--heading);text-overflow:ellipsis;font-size:.84rem;font-weight:560;line-height:1.25;display:block;overflow:hidden}.campaign-card small,.session-card small{color:var(--muted);text-overflow:ellipsis;margin-top:2px;font-size:.71rem;display:block;overflow:hidden}.campaign-card small{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.18;display:-webkit-box}.session-card small{white-space:nowrap}.thumb{color:#d9dbd0;background:#101819;border:1px solid #33403f;border-radius:4px;place-items:center;width:38px;height:38px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0b,0 6px 14px #00000038}.thumb img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.thumb:before{content:"";border:1px solid #ffffff14;border-radius:3px;position:absolute;inset:5px}.thumb-letter{z-index:1;color:#fff5e1b8;text-shadow:0 2px 8px #000000a6;font-size:.9rem;font-weight:520}.session-section{padding-top:24px}.session-card{text-align:left;width:100%;min-height:50px;color:var(--text);background:linear-gradient(#ffffff0a,#ffffff05);border:1px solid #ffffff0a;border-radius:4px;align-content:center;padding:9px 11px 9px 12px;display:grid;position:relative}.session-card.active{border-color:var(--orange);box-shadow:inset 3px 0 0 var(--orange), 0 10px 22px #00000029;background:linear-gradient(90deg,#ff6b2526,#ffffff07),linear-gradient(#ffffff0c,#ffffff05)}.live-dot{color:#62dc57;position:absolute;top:22px;right:16px}.rail-nav{gap:5px;margin:24px 12px 0;display:grid}.nav-item{min-height:37px;color:var(--muted);background:0 0;border-radius:4px;align-items:center;gap:11px;padding:0 13px;font-size:.82rem;font-weight:480;display:flex}.nav-item svg,.composer-tools svg,.mode-buttons svg{stroke-width:1.25px}.nav-item.active{color:var(--orange);background:linear-gradient(90deg,#ff6b252e,#ffffff09),#ffffff05}.rail-footer{border-top:1px solid var(--line);color:var(--muted);gap:8px;margin-top:auto;padding:16px 20px 20px;font-size:.78rem;display:grid}.rail-footer>span{align-items:center;gap:6px;display:flex}.rail-sync-button{width:24px;height:24px;color:var(--muted);background:0 0;border-radius:4px;place-items:center;display:inline-grid}.rail-sync-button:hover{color:var(--heading);background:#ffffff0b}.rail-error-history{color:#ffad91;line-height:1.25}.rail-error-history summary{cursor:pointer;gap:3px;font-size:.74rem;list-style:none;display:grid}.rail-error-history summary::-webkit-details-marker{display:none}.rail-error-history summary span{color:var(--orange);text-transform:uppercase;font-size:.62rem;font-weight:700}.rail-error-history ul{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.rail-error-history li{background:#ff6b2c0f;border:1px solid #ff6b2c33;border-radius:4px;grid-template-columns:1fr auto;gap:3px 8px;padding:7px;display:grid}.rail-error-history li strong{color:var(--heading);text-transform:uppercase;font-size:.65rem}.rail-error-history li span{color:var(--muted);font-size:.66rem}.rail-error-history li p{color:#ffbda8;grid-column:1/-1;margin:0;font-size:.72rem}.session-board{--composer-row-height:268px;--scene-accent:#ffb06757;grid-area:2/2;grid-template-rows:62px 40px minmax(0, 1fr) minmax(var(--composer-row-height), auto);border-right:1px solid var(--line);background:radial-gradient(circle at 50% 4%,#ffffff07,#0000 18rem),linear-gradient(#ffffff04,#0000 180px),#091112;min-width:0;min-height:0;display:grid;position:relative}.session-board[data-scene-mood=combat],.session-board[data-scene-mood=tension]{--scene-accent:#ff6b2c7a}.session-board[data-scene-mood=forest]{--scene-accent:#5eb77e6b}.session-board[data-scene-mood=mystery],.session-board[data-scene-mood=dungeon]{--scene-accent:#8978d86b}.session-board[data-scene-mood=town]{--scene-accent:#ecbf746b}.session-board:has(.action-composer.roll-focused){--composer-row-height:188px}.session-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-width:0;padding:0 18px;display:flex}.session-header h1{color:var(--heading);align-items:center;gap:8px;margin:0;font-size:1rem;font-weight:590;line-height:1.18;display:flex}.session-header h1 span{color:#9df275;background:#48b23938;border-radius:3px;padding:2px 6px;font-size:.66rem;font-weight:540;box-shadow:inset 0 1px #ffffff09}.session-header h1 .loading-badge{color:#ffd2a4;background:#ff6b2c29}.session-header p{color:var(--muted);margin:4px 0 0;font-size:.8rem}.scene-state-header{min-width:0;color:var(--heading);align-items:center;gap:8px;margin-top:4px;font-size:.72rem;display:flex}.scene-state-header:before{content:"";background:var(--scene-accent);width:7px;height:7px;box-shadow:0 0 14px var(--scene-accent);border-radius:50%}.scene-state-header span,.scene-state-header small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scene-state-header span{max-width:220px;font-weight:620}.scene-state-header small{max-width:300px;color:var(--muted);text-transform:capitalize}.session-actions{align-items:center;gap:10px;display:flex;position:relative}.session-menu-wrap{position:relative}.session-menu{top:38px;right:0}.toolbar-button{min-height:31px;color:var(--heading);background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:8px;padding:0 11px;font-size:.78rem;font-weight:560;display:inline-flex}.toolbar-button:hover,.composer-tools button:hover,.mode-buttons button:hover,.view-link:hover{color:var(--heading);background:#ffffff0b;border-color:#0000}.panel-loading-strip{z-index:2;color:#ffd2a4;background:#0c1414e6;border:1px solid #ffb06738;border-radius:4px;margin:-2px 0 12px 48px;padding:8px 10px;font-size:.76rem;position:sticky;top:0}.load-history-button{width:fit-content;min-height:30px;color:var(--muted);background:#ffffff09;border:1px solid #90a49f38;border-radius:4px;margin:0 auto 10px;padding:0 12px;font-size:.73rem;font-weight:560;display:block}.load-history-button:hover:not(:disabled){color:var(--heading);background:#ff6b2c1a;border-color:#ffb06766}.roll-wait-banner{z-index:3;min-height:54px;color:var(--heading);background:linear-gradient(90deg,#ffb0671f,#ffb06709),#101819;border:1px solid #ffb06761;border-radius:6px;align-items:center;gap:12px;margin:0 0 12px 48px;padding:9px 12px;display:flex;position:sticky;top:0;box-shadow:0 12px 24px #0000003d,inset 0 1px #ffffff09}.roll-wait-banner.current-player{background:linear-gradient(90deg,#ff6b2529,#ffb0670b),#11191a;border-color:#ff6b25a8}.roll-wait-icon{color:#ffd2a4;background:#ffb0671a;border:1px solid #ffb0676b;border-radius:50%;flex:0 0 34px;place-items:center;width:34px;height:34px;display:grid}.roll-wait-copy{gap:2px;min-width:0;display:grid}.roll-wait-copy strong,.roll-wait-copy span,.roll-wait-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.roll-wait-copy strong{color:var(--heading);font-size:.86rem;font-weight:660}.roll-wait-copy span{color:#ffd2a4;font-size:.76rem;font-weight:560}.roll-wait-copy small{color:var(--muted);font-size:.72rem}.roll-wait-meta{color:#ffd2a4;white-space:nowrap;background:#ffb06714;border:1px solid #ffb06742;border-radius:999px;flex:none;margin-left:auto;padding:3px 7px;font-size:.68rem;font-weight:640}.previously-on-card{color:var(--text);background:linear-gradient(90deg,#72b59b1c,#ffb0670b),#0b1414b8;border:1px solid #72b59b38;border-left:3px solid #72b59bb8;border-radius:6px;gap:6px;margin:0 0 14px 48px;padding:12px 14px;display:grid;box-shadow:inset 0 1px #ffffff07}.previously-on-card>div{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.previously-on-card span{color:#9bd7bc;text-transform:uppercase;font-size:.7rem;font-weight:760}.previously-on-card time{color:var(--muted);flex:none;font-size:.7rem}.previously-on-card button{color:#b9ebd0;background:#72b59b1a;border:1px solid #72b59b40;border-radius:6px;flex:none;place-items:center;width:28px;height:28px;display:grid}.previously-on-card button:hover{background:#72b59b29;border-color:#72b59b6b}.previously-on-card .narrative-prose,.previously-on-card p{color:#e4ebe5;margin:0;font-size:.84rem;line-height:1.45}.content-tabs{border-bottom:1px solid var(--line);align-items:end;gap:25px;padding:0 18px;display:flex}.content-tabs button{height:40px;color:var(--muted);background:0 0;font-size:.82rem;font-weight:540;position:relative}.content-tabs button.active{color:var(--orange)}.content-tabs button.active:after{content:"";background:var(--orange);height:2px;position:absolute;bottom:-1px;left:0;right:0}.chat-reading-control{z-index:5;position:absolute;top:112px;right:13px}.chat-reading-toggle{color:#fbf5e89e;width:32px;height:30px;font-family:var(--serif);opacity:.42;background:#0e161794;border:1px solid #90a49f29;border-radius:4px;place-items:center;font-size:.86rem;font-weight:650;display:grid}.chat-reading-toggle:hover,.chat-reading-toggle[aria-expanded=true]{color:var(--heading);opacity:.92;background:#0e1617eb;border-color:#ffb06752}.chat-reading-menu{background:#0a1112f5;border:1px solid #90a49f38;border-radius:4px;gap:8px;width:164px;padding:10px;display:grid;position:absolute;top:36px;right:0;box-shadow:0 14px 30px #0000005c}.chat-reading-menu label{grid-template-columns:43px minmax(0,1fr);align-items:center;gap:7px;min-width:0;display:grid}.chat-reading-menu span{color:var(--muted);font-size:.7rem;font-weight:560}.chat-reading-menu select{border:1px solid var(--line-strong);min-width:0;height:28px;color:var(--heading);background:#11191a;border-radius:4px;padding:0 7px;font-size:.72rem}.operator-drawer{z-index:6;color:var(--muted);position:absolute;top:112px;right:52px}.operator-drawer summary{color:#fbf5e89e;cursor:pointer;opacity:.42;background:#0e161794;border:1px solid #90a49f29;border-radius:4px;align-items:center;gap:7px;min-height:30px;padding:0 10px;font-size:.72rem;font-weight:620;list-style:none;display:inline-flex}.operator-drawer summary::-webkit-details-marker{display:none}.operator-drawer[open] summary,.operator-drawer summary:hover{color:var(--heading);opacity:.96;background:#0e1617eb;border-color:#ffb06752}.operator-drawer-body{background:#0a1112f7;border:1px solid #90a49f38;border-radius:4px;gap:10px;width:260px;padding:10px;display:grid;position:absolute;top:36px;right:0;box-shadow:0 14px 30px #0000005c}.operator-mode-toggle{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.operator-rating-toggle,.operator-tone-toggle{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.operator-mode-toggle button,.operator-rating-toggle button,.operator-tone-toggle button{min-height:28px;color:var(--muted);background:#ffffff06;border:1px solid #90a49f33;border-radius:4px;font-size:.72rem;font-weight:620}.operator-rating-toggle button,.operator-tone-toggle button{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:0 5px;overflow:hidden}.operator-mode-toggle button[aria-pressed=true],.operator-rating-toggle button[aria-pressed=true],.operator-tone-toggle button[aria-pressed=true]{color:var(--heading);background:#ff6b2c21;border-color:#ffb06780}.operator-drawer dl{gap:6px;margin:0;display:grid}.operator-drawer dl div{grid-template-columns:52px minmax(0,1fr);gap:8px;display:grid}.operator-drawer dt,.operator-drawer dd{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:.7rem;overflow:hidden}.operator-drawer dt{color:var(--muted)}.operator-drawer dd{color:var(--heading)}.director-commentary-panel{z-index:8;width:min(520px,100% - 28px);max-height:min(520px,100% - 138px);color:var(--text);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#72b59b1a,#ffb0670e 58%,#8978d812),#080f10f7;border:1px solid #90a49f42;border-radius:7px;gap:12px;padding:13px;display:grid;position:absolute;top:112px;right:13px;overflow:auto;box-shadow:0 18px 44px #0000006b}.director-commentary-heading{justify-content:space-between;align-items:start;gap:12px;min-width:0;display:flex}.director-commentary-heading>div{gap:3px;min-width:0;display:grid}.director-commentary-heading span,.director-memory-strip>span{color:#9bd7bc;text-transform:uppercase;font-size:.68rem;font-weight:760}.director-commentary-heading h2{color:var(--heading);font-family:var(--serif);margin:0;font-size:1.1rem;font-weight:660;line-height:1.1}.director-commentary-heading button{width:30px;height:30px;color:var(--muted);background:#ffffff09;border:1px solid #90a49f33;border-radius:4px;flex:none;place-items:center;display:grid}.director-commentary-heading button:hover{color:var(--heading);background:#fff1}.director-commentary-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.director-commentary-list>div{background:#ffffff08;border:1px solid #90a49f29;border-radius:5px;gap:5px;min-width:0;padding:9px;display:grid}.director-commentary-list dt,.director-commentary-list dd{min-width:0;margin:0}.director-commentary-list dt{color:var(--muted);font-size:.68rem;font-weight:700}.director-commentary-list dd{gap:3px;display:grid}.director-commentary-list strong{min-width:0;color:var(--heading);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:650;overflow:hidden}.director-commentary-list span{color:#d4ded8;font-size:.74rem;line-height:1.35}.director-commentary-list>div:last-child{grid-column:1/-1}.director-pack-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.director-pack-grid section{background:#ffffff06;border:1px solid #90a49f24;border-radius:5px;gap:7px;min-width:0;padding:9px;display:grid}.director-pack-grid section>span,.director-record-groups strong{color:#9bd7bc;text-transform:uppercase;font-size:.68rem;font-weight:760}.director-pack-grid p,.director-checkpoint-list,.director-record-groups{margin:0}.director-checkpoint-list{gap:6px;padding-left:17px;display:grid}.director-checkpoint-list li,.director-record-groups>div{min-width:0}.director-checkpoint-list strong,.director-record-groups span{color:#e4ebe5;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.77rem;line-height:1.35;display:block;overflow:hidden}.director-checkpoint-list span,.director-pack-grid p{color:var(--muted);font-size:.72rem;line-height:1.35}.director-record-groups{gap:7px;display:grid}.director-memory-strip{gap:7px;min-width:0;display:grid}.director-memory-strip p{color:#e4ebe5;gap:2px;margin:0;font-size:.78rem;line-height:1.38;display:grid}.director-memory-strip small{color:var(--muted);font-size:.68rem}.scene-music-player{z-index:45;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(90deg,#72b59b0e,#0000 52%),#091112f0;border:1px solid #90a49f3d;border-radius:7px;grid-template-columns:28px minmax(185px,1.05fr) auto minmax(145px,.78fr) minmax(145px,.7fr) 116px;align-items:center;gap:9px;min-width:0;max-width:calc(100vw - 24px);min-height:132px;max-height:calc(100vh - 24px);padding:10px 18px 12px 10px;display:grid;position:fixed;overflow:auto;box-shadow:0 18px 45px #00000061}.scene-music-player.is-moving{-webkit-user-select:none;user-select:none}.scene-music-player audio{display:none}.scene-music-drag-handle,.scene-music-resize-handle{color:#fbf5e8a8;touch-action:none;background:#0810106b;border:1px solid #90a49f2e;border-radius:4px;place-items:center;display:grid}.scene-music-drag-handle{cursor:grab;align-self:stretch;width:28px;min-height:32px}.scene-music-player.is-moving .scene-music-drag-handle{cursor:grabbing}.scene-music-resize-handle{cursor:nwse-resize;width:24px;height:24px;position:absolute;bottom:5px;right:5px}.scene-music-player.is-transport{grid-template-columns:28px minmax(0,1fr);align-content:center;align-items:center;min-height:0;padding:8px 16px 8px 8px;overflow:hidden}.scene-music-player.is-transport .scene-music-drag-handle{min-height:32px}.scene-music-player.is-transport .scene-music-controls{justify-content:center}.scene-music-player.is-transport .scene-music-controls button{width:34px;height:34px}.scene-music-player.is-micro{grid-template-columns:1fr;place-items:center;min-height:0;padding:6px;overflow:hidden}.scene-music-player.is-micro .scene-music-drag-handle{display:none}.scene-music-player.is-micro .scene-music-controls{justify-content:center}.scene-music-player.is-micro .scene-music-play{border-radius:999px;width:42px;height:42px}.scene-music-player.is-micro .scene-music-resize-handle{color:#fbf5e880;opacity:0;background:0 0;border-color:#0000;width:14px;height:14px;bottom:1px;right:1px}.scene-music-player.is-micro:hover .scene-music-resize-handle,.scene-music-player.is-micro .scene-music-resize-handle:focus-visible{opacity:.82}.scene-music-now{align-items:center;gap:9px;min-width:0;display:inline-flex}.scene-music-now>svg{color:var(--teal);flex:none}.scene-music-now div,.scene-music-select,.scene-music-volume{min-width:0}.scene-music-now span,.scene-music-select span,.scene-music-tags>span{color:var(--muted);text-transform:uppercase;font-size:.67rem;font-weight:700;line-height:1.1;display:block}.scene-music-now strong{min-width:0;color:var(--heading);text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:620;line-height:1.15;display:block;overflow:hidden}.scene-music-now small{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.71rem;display:block;overflow:hidden}.scene-music-controls{justify-content:center;align-items:center;gap:5px;display:inline-flex}.scene-music-controls button{width:31px;height:31px;color:var(--heading);background:#08101057;border:1px solid #90a49f38;border-radius:4px;place-items:center;display:grid}.scene-music-controls button:hover{color:#fff6ed;background:#ff6b2c21;border-color:#ffb0676b}.scene-music-controls .scene-music-play{color:var(--orange);background:#ff6b2c1a;border-color:#ffb0675c}.scene-music-progress{grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:6px;min-width:0;display:grid}.scene-music-progress span{color:var(--muted);text-align:center;font-size:.69rem}.scene-music-player input[type=range]{min-width:0;accent-color:var(--orange)}.scene-music-select{gap:4px;display:grid}.scene-music-select select{min-width:0;height:30px;color:var(--heading);background:#11191a;border:1px solid #90a49f38;border-radius:4px;padding:0 8px;font-size:.73rem}.scene-music-volume{color:var(--muted);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;display:grid}.scene-music-tags{grid-column:1/-1;align-items:center;gap:6px;min-width:0;padding-bottom:1px;display:flex;overflow-x:auto}.scene-music-tags>span{flex:none;align-items:center;gap:5px;display:inline-flex}.scene-music-tags button{min-height:24px;color:var(--muted);background:#ffffff06;border:1px solid #90a49f2e;border-radius:4px;flex:none;padding:0 8px;font-size:.7rem;font-weight:620}.scene-music-tags button:hover,.scene-music-tags button.selected{color:var(--heading);background:#ff6b2c1f;border-color:#ffb0675c}.scene-music-error{color:#ffb09a;background:#ff6b2c14;border:1px solid #ff6b2c52;border-radius:4px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:8px;padding:5px 7px;font-size:.72rem;display:flex}.scene-music-error span{min-width:0}.scene-music-error button{min-height:24px;color:var(--heading);background:#ff6b2c24;border:1px solid #ffb06757;border-radius:4px;flex:none;padding:0 8px;font-size:.69rem;font-weight:680}.turn-feed{--chat-copy-font-family:var(--serif);--chat-response-font-style:italic;--chat-turn-font-size:.96rem;--chat-response-font-size:1rem;--chat-turn-line-height:1.22;--chat-response-line-height:1.34;background:linear-gradient(90deg,#ffffff05,#0000 34%),0 0;min-height:0;padding:10px 16px 12px 28px;overflow:auto}.turn-feed.chat-text-size-large{--chat-turn-font-size:1.08rem;--chat-response-font-size:1.14rem;--chat-turn-line-height:1.34;--chat-response-line-height:1.48}.turn-feed.chat-text-size-extra{--chat-turn-font-size:1.18rem;--chat-response-font-size:1.28rem;--chat-turn-line-height:1.42;--chat-response-line-height:1.58}.turn-feed.chat-text-font-sans{--chat-copy-font-family:var(--sans);--chat-response-font-style:normal}.turn-feed.chat-text-font-mono{--chat-copy-font-family:var(--mono);--chat-response-font-style:normal}.start-adventure-card{text-align:center;background:#ffffff05;border:1px dashed #90a49f47;border-radius:4px;justify-items:center;gap:11px;min-height:132px;padding:18px;display:grid}.start-adventure-card span{max-width:520px;line-height:1.42}.start-adventure-button{min-height:34px;color:var(--heading);background:#ff6b2c1f;border:1px solid #ffb06757;border-radius:4px;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-size:.78rem;font-weight:650;display:inline-flex}.start-adventure-button:hover:not(:disabled){background:#ff6b2c2e;border-color:#ffb06794}.start-adventure-button:disabled{cursor:not-allowed;opacity:.55}.jump-latest-button{left:50%;bottom:calc(var(--composer-row-height) + 16px);z-index:4;min-height:32px;color:var(--heading);background:#101819f0;border:1px solid #ff6b2573;border-radius:4px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:.78rem;font-weight:560;display:inline-flex;position:absolute;transform:translate(-50%);box-shadow:0 10px 28px #00000052}.jump-latest-button:hover{background:#1c2727fa;border-color:#ff925cb3}.turn-row{grid-template-columns:42px minmax(0,1fr);gap:7px;display:grid;position:relative}.turn-row:not(:last-child):before{content:"";background:#899d9870;width:1px;position:absolute;top:34px;bottom:-1px;left:17px}.turn-number{z-index:1;width:34px;height:34px;color:var(--muted);background:#101819;border:1px solid #53615f;border-radius:50%;place-items:center;font-size:.82rem;font-weight:420;display:grid;box-shadow:0 0 0 3px #081010f2}.turn-row.current .turn-number{border-color:var(--orange);color:var(--heading);box-shadow:0 0 0 2px #ff6b252e}.turn-card{border:1px solid var(--line-strong);min-height:50px;color:var(--text);text-align:left;background:linear-gradient(#121b1c,#0f1819);border-radius:4px;grid-template-columns:174px minmax(0,1fr) auto 76px auto;align-items:center;margin-bottom:6px;display:grid;overflow:hidden;box-shadow:inset 0 1px #ffffff05}.turn-card:hover{background:linear-gradient(#152021,#111a1b);border-color:#90a49f5c}.turn-card.expanded{align-items:start;min-height:76px;padding-top:11px;padding-bottom:11px}.turn-speaker{grid-area:1/1;min-width:0;padding:0 14px}.turn-speaker strong,.turn-speaker span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.turn-speaker strong{color:var(--heading);font-size:.84rem;font-weight:520}.turn-speaker span,.turn-card time{color:var(--muted);font-size:.78rem}.turn-card time{grid-area:1/4;justify-self:start}.turn-card p{color:#e8ece7;min-width:0;font-family:var(--chat-copy-font-family,var(--serif));font-size:var(--chat-turn-font-size,.96rem);font-weight:410;line-height:var(--chat-turn-line-height,1.22);text-align:left;-webkit-line-clamp:2;-webkit-box-orient:vertical;grid-area:1/2;justify-self:stretch;margin:0;display:-webkit-box;overflow:hidden}.turn-card .narrative-prose,.dm-response-card .narrative-prose{color:#f0f3ee;font-family:var(--chat-copy-font-family,var(--serif));font-size:var(--chat-response-font-size,1rem);font-style:normal;font-weight:410;line-height:var(--chat-response-line-height,1.46)}.turn-card .narrative-prose{grid-area:1/2/auto/5;max-width:68ch;padding:12px 0}.turn-card .narrative-prose p,.dm-response-card .narrative-prose p,.narrative-prose p{white-space:normal;-webkit-line-clamp:unset;max-width:none;margin:0 0 .78em;display:block;overflow:visible}.turn-card .narrative-prose p:last-child,.dm-response-card .narrative-prose p:last-child,.narrative-prose p:last-child{margin-bottom:0}.narrative-dialogue{color:#fff4dc}.narrative-prose em{color:#ffd7a1;font-style:italic}.narrative-mechanical-line{color:#f7dfbc;width:fit-content;max-width:100%;font-family:var(--sans);background:#ffb06713;border:1px solid #ffb06738;border-radius:4px;padding:5px 8px;font-size:.78em;line-height:1.25;display:inline-flex}.turn-status-label{max-width:104px;color:var(--muted);text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap;background:#ffffff09;border:1px solid #90a49f33;border-radius:999px;grid-area:1/3;justify-self:end;padding:2px 7px;font-size:.68rem;overflow:hidden}.turn-card.expanded p{white-space:pre-wrap;-webkit-line-clamp:unset;display:block;overflow:visible}.session-board-theater .turn-card.dm-theater-card{grid-template-columns:128px minmax(0,1fr) auto 42px;align-items:start;min-height:92px;padding:0 10px 0 0}.session-board-theater .turn-card.dm-theater-card .turn-speaker{padding-top:14px}.session-board-theater .turn-card.dm-theater-card .turn-status-label{grid-column:3;margin-top:14px}.session-board-theater .turn-card.dm-theater-card time{grid-area:1/3;align-self:end;margin-bottom:14px}.session-board-theater .turn-card.dm-theater-card .turn-actions{grid-column:4}.turn-actions{grid-area:1/5;grid-template-columns:42px;place-self:stretch stretch;width:42px;height:100%;min-height:50px;display:grid}.turn-actions.has-dismiss,.turn-actions.has-report{grid-template-columns:42px 42px;width:84px}.turn-actions.has-dismiss.has-report{grid-template-columns:42px 42px 42px;width:126px}.turn-expand,.turn-dismiss,.turn-report{border-left:1px solid var(--line-strong);background:#ffffff06;place-items:center;width:100%;height:100%;min-height:50px;display:grid}.turn-expand{color:var(--heading)}.turn-dismiss,.turn-report{color:var(--muted)}.turn-dismiss:hover{color:#ff9b7a;background:#ff6b2514}.turn-report:hover:not(:disabled){color:#f0d38a;background:#f0d38a14}.turn-report:disabled{color:#86d6a5;opacity:.78}.turn-expand svg{transition:transform .16s}.turn-expand[aria-expanded=true] svg{transform:rotate(180deg)}.dm-response-card{border:1px solid var(--orange);background:radial-gradient(circle at 15% 45%,#ffffff08,#0000 14rem),linear-gradient(#ff6b2c05,#0000 30%),#0e1617;border-radius:4px;grid-template-columns:174px minmax(0,1fr) 112px;min-height:232px;margin-bottom:0;display:grid;position:relative;overflow:hidden;box-shadow:0 12px 34px #00000038,inset 0 0 0 1px #ff6b2517,inset 0 1px #ffffff09}.dm-response-card .turn-speaker{grid-area:1/1;padding-top:20px}.dm-response-actions{gap:6px;display:flex;position:absolute;top:12px;right:12px}.dm-response-actions .turn-report{border:1px solid var(--line-strong);background:#ffffff09;border-radius:4px;width:34px;min-height:34px}.dm-response-card .response-copy{grid-area:1/2}.dm-response-card .stream-state{grid-area:1/3}.response-copy{min-width:0;padding:17px 16px 42px;overflow:visible}.response-copy p{white-space:pre-wrap;color:#f0f3ee;max-width:610px;font-family:var(--chat-copy-font-family,var(--serif));font-size:var(--chat-response-font-size,1rem);font-style:var(--chat-response-font-style,italic);font-weight:410;line-height:var(--chat-response-line-height,1.34);margin:0}.response-copy .narrative-prose{max-width:68ch}.response-copy .narrative-prose p{white-space:normal;max-width:none;font-style:normal;line-height:var(--chat-response-line-height,1.46);margin:0 0 .78em}.response-copy .narrative-prose p:last-child{margin-bottom:0}.turn-quality-prompt{background:#ffffff06;border:1px solid #90a49f2e;border-radius:4px;grid-area:2/2/auto/4;grid-template-columns:auto repeat(3,minmax(86px,1fr)) auto;align-items:end;gap:8px;min-width:0;margin:0 14px 44px 16px;padding:8px;display:grid}.turn-quality-prompt strong{color:var(--heading);white-space:nowrap;align-self:center;font-size:.74rem;font-weight:580}.turn-quality-prompt.submitted{grid-template-columns:auto 1fr;align-items:center}.turn-quality-prompt.submitted span{color:#86d6a5;font-size:.74rem}.turn-quality-score-group{gap:4px;min-width:0;display:grid}.turn-quality-score-group span{color:var(--muted);font-size:.64rem;line-height:1}.turn-quality-score-group div{grid-template-columns:repeat(5,22px);gap:3px;display:grid}.turn-quality-score-group button,.turn-quality-prompt>button{min-height:26px;color:var(--muted);background:#ffffff06;border:1px solid #90a49f33;border-radius:4px;font-size:.7rem}.turn-quality-score-group button[aria-pressed=true]{color:var(--heading);background:#ffca6724;border-color:#ffca678c}.turn-quality-prompt>button{color:var(--heading);align-self:stretch;padding:0 10px}.turn-quality-prompt>button:disabled{cursor:not-allowed;opacity:.58}.turn-feed:not(.single-panel) .dm-response-card{height:auto;min-height:232px}.turn-feed:not(.single-panel) .dm-response-card .response-copy p{-webkit-line-clamp:unset;display:block;overflow:visible}.stream-state{color:var(--muted);align-items:start;gap:8px;padding-top:22px;font-size:.78rem;display:flex}.stream-state span{border:2px solid #ff6b2559;border-top-color:var(--orange);border-radius:50%;width:13px;height:13px;margin-top:1px}.stream-state.streaming span{animation:.72s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.execution-footer{max-width:calc(100% - 32px);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;justify-content:flex-end;gap:8px;font-size:.72rem;display:inline-flex;position:absolute;bottom:12px;right:14px;overflow:hidden}.execution-footer span{color:var(--orange)}.clarification-panel{background:#ffb06712;border-top:1px solid #ffb0673d;gap:10px;padding:12px 18px;display:grid}.clarification-panel strong,.clarification-panel span,.clarification-panel small{display:block}.clarification-panel strong{color:var(--heading);font-size:.88rem}.clarification-panel>div>span{color:var(--muted);margin-top:3px;font-size:.76rem}.clarification-options{flex-wrap:wrap;gap:8px;display:flex}.clarification-options button{min-height:34px;color:var(--heading);text-align:left;cursor:pointer;background:#ffffff0b;border:1px solid #ffb06752;border-radius:6px;padding:6px 10px}.clarification-options button:hover{background:#ffb0671f;border-color:#ffb06794}.clarification-options button span{font-size:.82rem;font-weight:650}.clarification-options button small{color:var(--muted);margin-top:2px;font-size:.68rem}.action-composer{border-top:1px solid var(--line);background:linear-gradient(#ffffff05,#ffffff07),#0b1415;align-content:end;padding:8px 18px 12px;display:grid;box-shadow:0 -12px 30px #0000003d}.action-composer.roll-focused{align-content:center;padding-top:10px;padding-bottom:10px}.action-composer label{color:var(--heading);margin-bottom:3px;font-size:.86rem;font-weight:500;display:block}.action-composer label span{color:var(--muted)}.turn-control-strip,.queued-action-strip{min-height:30px;color:var(--muted);background:#ffffff06;border:1px solid #90a49f38;border-radius:4px;justify-content:space-between;align-items:center;gap:10px;margin:-1px 0 6px;padding:0 9px;font-size:.72rem;display:flex}.turn-control-strip.locked{background:#ff6b2c13;border-color:#ffb06757}.turn-control-summary{align-items:center;gap:7px;min-width:0;display:inline-flex}.turn-control-summary span,.queued-action-strip span{color:var(--muted)}.turn-control-summary strong,.queued-action-strip strong{min-width:0;color:var(--heading);text-overflow:ellipsis;white-space:nowrap;font-weight:620;overflow:hidden}.turn-control-actions{flex:none;align-items:center;gap:4px;display:inline-flex}.turn-control-actions button,.turn-control-actions select,.queued-action-strip button{height:24px;color:var(--heading);background:#08101052;border:1px solid #90a49f38;border-radius:4px;font-size:.7rem;font-weight:620}.turn-control-actions button{padding:0 8px}.turn-control-actions .selected{color:#fff6ed;background:#ff6b2c29;border-color:#ffb06773}.turn-control-actions select{max-width:148px;padding:0 24px 0 7px}.queued-action-strip{background:#ff6b2c13;border-color:#ffb06757}.queued-action-strip button{color:var(--orange);flex:none;padding:0 8px}.tts-status-strip{min-height:26px;color:var(--muted);background:#ffffff06;border:1px solid #90a49f38;border-radius:4px;justify-content:space-between;align-items:center;gap:12px;margin:-1px 0 6px;padding:0 9px;font-size:.72rem;display:flex}.tts-status-strip span,.tts-status-strip button{align-items:center;gap:7px;min-width:0;display:inline-flex}.tts-status-strip small{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.tts-status-strip strong{color:var(--heading);font-weight:620}.tts-status-strip.speaking,.tts-status-strip.requesting,.tts-status-strip.queued{background:#ff6b2c13;border-color:#ffb06757}.tts-status-strip.failed{color:#ffb09a;background:#ff6b2c1a;border-color:#ff6b2c66}.tts-status-strip button{min-height:24px;color:var(--heading);background:#08101052;border:1px solid #ffb06747;border-radius:4px;padding:0 8px;font-size:.72rem;font-weight:620}.tts-status-strip button:hover{color:#fff6ed;background:#ff6b2c2e;border-color:#ffb0677a}.composer-frame{background:linear-gradient(#ffffff05,#0000),#0c1516;border:1px solid #aab8b29e;border-radius:4px;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;display:grid;overflow:hidden;box-shadow:inset 0 1px #ffffff06}.composer-frame:focus-within{border-color:#ffb067b8;box-shadow:0 0 0 2px #ff6b2c1f,inset 0 1px #ffffff09}.composer-frame textarea{resize:none;width:100%;height:106px;min-height:106px;color:var(--heading);font-family:var(--serif);background:0 0;border:0;outline:none;padding:13px 14px;font-size:1rem;font-style:italic;font-weight:410;line-height:1.3}.composer-frame textarea::placeholder{color:#8a9793c7}.input-action-row{align-self:end;align-items:center;gap:8px;padding:0 10px 10px 0;display:flex}.mode-buttons{border:0;border-radius:0;height:38px;display:inline-flex;overflow:visible}.mode-buttons button{width:34px;height:38px;color:var(--heading);background:0 0;place-items:center;display:grid}.mode-buttons button+button{border-left:0}.mode-buttons .selected{color:var(--orange)}.send-button{color:#fff;background:linear-gradient(#ff8241,#f05b22);border-radius:4px;justify-content:center;align-items:center;gap:8px;min-width:102px;height:40px;font-weight:620;display:inline-flex;box-shadow:0 8px 22px #ff5b2233,inset 0 1px #ffffff2e}.send-button:hover:not(:disabled){background:linear-gradient(#ff9255,#f4662d);box-shadow:0 10px 26px #ff5b223d,inset 0 1px #ffffff38}.action-intent-panel{min-height:34px;color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin:8px 8px 0;padding:0 4px;font-size:.73rem;display:flex}.action-intent-panel select,.action-intent-panel input,.action-intent-panel button{min-width:0;height:30px;color:var(--heading);font:inherit;background:#ffffff09;border:1px solid #90a49f38;border-radius:4px;outline:none}.action-intent-panel button{color:var(--orange);cursor:pointer;background:#ff6b2c1c;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-weight:600;display:inline-flex}.action-intent-panel select{max-width:160px;padding:0 26px 0 8px}.interaction-intent-panel select:last-of-type{flex:180px;max-width:280px}.action-intent-panel input[type=number]{width:64px;padding:0 6px}.action-intent-panel input[type=text],.action-intent-panel input[type=password]{flex:1;min-width:120px;padding:0 8px}.action-intent-panel select:focus,.action-intent-panel input:focus,.action-intent-panel button:focus{border-color:#ffb067a3;box-shadow:0 0 0 2px #ff6b2c1f}.action-intent-panel button:hover:not(:disabled){background:#ff6b2c29;border-color:#ffb06775}.action-intent-panel button:disabled{cursor:not-allowed;opacity:.55}.action-intent-panel span{color:var(--muted);white-space:nowrap;flex:none}.composer-tools{flex-wrap:wrap;gap:12px;margin:12px 8px 0;padding:0 4px 2px;display:flex}.composer-tools.roll-focused-tools{justify-content:flex-start;margin-top:8px}.composer-tools button{min-width:0;min-height:28px;color:var(--heading);background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:8px;padding:0 6px;font-size:.78rem;font-weight:470;display:inline-flex}.composer-tools button.selected{color:var(--orange);background:#ff6b2c1a;border-color:#ffb06752}.roll-tray{color:var(--text);background:linear-gradient(#ffffff09,#ffffff03),#081010b8;border:1px solid #90a49f33;border-radius:6px;gap:10px;margin:10px 8px 0;padding:10px;display:grid;box-shadow:inset 0 1px #ffffff08}.roll-tray-section{grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;display:grid}.roll-tray-label{color:var(--muted);text-transform:uppercase;font-size:.68rem;font-weight:680}.dice-chip-grid,.ability-chip-grid,.roll-modifier-quick{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.dice-chip-grid button,.ability-chip-grid button,.roll-mode-toggle button,.roll-modifier-control button,.roll-primary-button{color:var(--heading);font:inherit;cursor:pointer;background:#ffffff09;border:1px solid #90a49f3d;border-radius:5px;transition:border-color .14s,background .14s,color .14s,transform .14s}.dice-chip-grid button:hover:not(:disabled),.ability-chip-grid button:hover:not(:disabled),.roll-mode-toggle button:hover:not(:disabled),.roll-modifier-control button:hover:not(:disabled){background:#ff6b2c1f;border-color:#ffb0676b}.dice-chip-grid button:focus-visible,.ability-chip-grid button:focus-visible,.roll-mode-toggle button:focus-visible,.roll-modifier-control button:focus-visible,.roll-primary-button:focus-visible,.roll-reason-field input:focus,.roll-pending-field select:focus,.roll-modifier-control input:focus{border-color:#ffb067b8;outline:none;box-shadow:0 0 0 2px #ff6b2c24}.dice-chip-grid button:disabled,.ability-chip-grid button:disabled,.roll-mode-toggle button:disabled,.roll-modifier-control button:disabled,.roll-primary-button:disabled{cursor:not-allowed;opacity:.55}.dice-chip{min-width:48px;height:34px;padding:0 10px;font-size:.78rem;font-weight:760}.dice-chip.primary{min-width:62px}.dice-chip.selected,.ability-chip-grid button.selected,.roll-mode-toggle button.selected,.roll-modifier-control button.selected{color:#fff6ed;background:linear-gradient(#ff824147,#ff6b2c2e),#ff6b2c14;border-color:#ffb06799}.ability-chip-grid button{white-space:nowrap;justify-content:center;align-items:center;gap:6px;min-height:32px;padding:0 10px;font-size:.74rem;font-weight:660;display:inline-flex}.ability-chip-grid small,.roll-modifier-quick small{color:var(--muted);font-size:.66rem;font-weight:640}.ability-chip-grid button.selected small,.roll-modifier-control button.selected small{color:#ffe1c7}.roll-ability-note{color:var(--muted);white-space:nowrap;font-size:.7rem}.roll-tray-controls{grid-template-columns:auto minmax(250px,1fr) minmax(190px,.75fr) auto;align-items:center;gap:8px;min-width:0;display:grid}.roll-mode-toggle{background:#00000029;border:1px solid #90a49f33;border-radius:6px;grid-template-columns:repeat(3,minmax(40px,1fr));min-width:138px;padding:2px;display:inline-grid}.roll-mode-toggle button{background:0 0;border-color:#0000;height:28px;font-size:.7rem;font-weight:700}.roll-modifier-control{align-items:center;gap:5px;min-width:0;display:flex}.roll-modifier-control input{width:58px;height:30px;color:var(--heading);font:inherit;text-align:center;background:#ffffff09;border:1px solid #90a49f3d;border-radius:5px;font-size:.74rem;font-weight:700}.roll-modifier-control .icon-adjust{place-items:center;width:30px;height:30px;padding:0;display:grid}.roll-modifier-quick button{height:30px;padding:0 8px;font-size:.7rem;font-weight:720}.roll-reason-field,.roll-pending-field{align-items:center;gap:6px;min-width:0;display:flex}.roll-reason-field span,.roll-pending-field span{color:var(--muted);font-size:.68rem;font-weight:680}.roll-reason-field input,.roll-pending-field select{width:100%;min-width:0;height:30px;color:var(--heading);font:inherit;background:#ffffff09;border:1px solid #90a49f3d;border-radius:5px;font-size:.72rem}.roll-reason-field input{padding:0 8px}.roll-pending-field select{max-width:220px;padding:0 24px 0 8px}.roll-tray-footer{justify-content:space-between;align-items:center;gap:12px;min-width:0;padding-top:2px;display:flex}.roll-preview{color:#dce8e2;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.75rem;font-weight:590;overflow:hidden}.roll-primary-button{color:#fff;background:linear-gradient(#ff8241,#f05b22);flex:none;justify-content:center;align-items:center;gap:7px;min-width:110px;height:34px;padding:0 13px;font-size:.78rem;font-weight:730;display:inline-flex;box-shadow:0 8px 22px #ff5b222e,inset 0 1px #ffffff2e}.roll-primary-button:hover:not(:disabled){background:linear-gradient(#ff9255,#f4662d);border-color:#ffb067b8}@media (width<=920px){.roll-tray{margin:8px 0 0;padding:8px}.roll-tray-section{grid-template-columns:1fr;align-items:start;gap:6px}.roll-ability-note{display:none}.dice-chip-grid,.ability-chip-grid{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.dice-chip-grid::-webkit-scrollbar{display:none}.ability-chip-grid::-webkit-scrollbar{display:none}.dice-chip,.ability-chip-grid button{flex:none}.roll-tray-controls{grid-template-columns:1fr}.roll-mode-toggle{width:100%}.roll-modifier-control{flex-wrap:wrap}.roll-reason-field,.roll-pending-field{align-items:stretch}.roll-pending-field select{max-width:none}.roll-tray-footer{flex-direction:column;align-items:stretch;gap:8px}.roll-preview{white-space:normal}.roll-primary-button{width:100%}}.right-inspector{background:radial-gradient(circle at 46% 0,#ffffff06,#0000 14rem),#0b1314;grid-area:2/3;min-height:0;padding:10px 10px 12px;overflow:hidden auto}.inspector-tabs{border-bottom:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(48px,1fr));min-height:39px;display:grid}.inspector-tabs button{min-width:0;min-height:39px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;background:0 0;font-size:.74rem;font-weight:480;position:relative;overflow:hidden}.inspector-tabs button.active{color:var(--orange);font-weight:560}.inspector-tabs button.active:after{content:"";background:var(--orange);height:2px;position:absolute;bottom:-1px;left:8px;right:8px}.character-panel,.inspector-box{border:1px solid var(--line-strong);box-shadow:var(--panel-shadow);background:linear-gradient(#ffffff09,#ffffff04),#ffffff05;border-radius:4px;margin-top:9px}.character-panel{padding:8px}.character-card{grid-template-columns:64px minmax(0,1fr);gap:11px;display:grid}.portrait{color:#d7cbbb;background:#101819;border:1px solid #ffffff0e;border-radius:4px;place-items:center;width:60px;height:60px;display:grid;box-shadow:inset 0 1px #ffffff0b,0 10px 20px #0000003d}.portrait img{object-fit:cover;width:100%;height:100%}.character-main{grid-template-columns:minmax(0,1fr) 100px;align-items:start;gap:8px;min-width:0;display:grid}.character-main h2{color:var(--heading);margin:0;font-size:.98rem;font-weight:570}.character-main p,.level-stack span,.level-stack small{color:var(--muted);margin:4px 0 0;font-size:.78rem}.level-stack{justify-items:end;display:grid}.level-stack strong{color:var(--heading);font-weight:560}.xp-track{background:#25302f;border-radius:999px;grid-column:1/-1;height:5px;overflow:hidden;box-shadow:inset 0 1px 2px #00000059}.xp-track span{background:linear-gradient(90deg,#ff6b2c,#ff9860);width:54%;height:100%;display:block;box-shadow:0 0 14px #ff6b2c52}.xp-label{color:var(--muted);grid-column:1/-1;justify-content:space-between;gap:10px;font-size:.7rem;display:flex}.xp-label small{color:var(--muted)}.character-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:8px;display:grid}.character-actions button{border:1px solid var(--line-strong);min-height:32px;color:var(--text);background:#ffffff0a;border-radius:4px;font-size:.78rem;font-weight:560}.character-actions button:hover:not(:disabled){color:var(--heading);background:#ff6b2c1f;border-color:#ff98607a}.character-actions button:disabled{cursor:not-allowed;color:#c4d2cc57;background:#ffffff05}.vital-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:9px;display:grid}.vital-grid div,.ability-grid,.inspiration-row{border:1px solid var(--line-strong);background:#ffffff06;border-radius:4px}.vital-grid div{place-items:center;min-height:44px;display:grid}.vital-grid span,.ability-grid span{color:var(--muted);text-transform:uppercase;font-size:.72rem}.vital-grid strong,.ability-grid strong{color:var(--heading);font-size:.92rem;font-weight:560}.vital-grid .hp{color:#65e864}.ability-grid{grid-template-columns:repeat(6,1fr);margin-top:9px;padding:7px 0;display:grid}.ability-grid div{grid-template-rows:15px 20px 14px;place-items:center;display:grid}.ability-grid div+div{border-left:1px solid var(--line-strong)}.ability-grid small{color:var(--muted);font-size:.72rem;line-height:1}.inspiration-row{min-height:32px;color:var(--text);grid-template-columns:88px 24px minmax(0,1fr) 42px;align-items:center;column-gap:10px;margin-top:9px;padding:0 14px;display:grid}.inspiration-toggle{background:0 0;border:1px solid #c4d2ccb8;border-radius:50%;width:18px;height:18px}.inspiration-toggle.filled{border-color:var(--green);background:radial-gradient(circle at center, var(--green) 0 45%, transparent 48%)}.inspiration-row strong{color:var(--heading);text-align:right;font-weight:560}.inspiration-row span:nth-of-type(2){text-align:right}.inspector-box{padding:10px}.box-title{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.box-title h3,.map-segment h4{color:var(--heading);margin:0;font-size:.88rem;font-weight:560}.box-title span,.box-title button,.map-segment p,.map-segment dt,.inventory-table span{color:var(--muted);font-size:.76rem}.box-title span{align-items:center;gap:5px;display:inline-flex}.inventory-metrics{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:inline-flex}.inventory-metrics span{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.inventory-metrics .gold-count{color:#ffd27a}.inventory-metrics svg{flex:none}.box-title button{border:1px solid var(--line-strong);background:#11191a;border-radius:4px;height:24px;padding:0 8px}.incident-panel-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.box-title .incident-panel-actions button{white-space:nowrap;align-items:center;gap:5px;min-width:0;display:inline-flex}.box-title .incident-panel-actions svg{flex:none}.active-player-box .box-title span{color:#73d79b}.scene-state-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr) 58px;gap:6px;margin-bottom:8px;display:grid}.scene-state-grid div{border:1px solid var(--line);background:#ffffff05;border-radius:4px;min-width:0;padding:6px 7px}.scene-state-grid span,.world-state-list strong,.world-state-list small{color:var(--muted);font-size:.68rem;display:block}.scene-state-grid strong,.world-state-list span{min-width:0;color:var(--heading);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:520;display:block;overflow:hidden}.combat-state-panel{background:#ff6b2c0e;border:1px solid #ff98603d;border-radius:4px;gap:7px;margin-bottom:8px;padding:8px;display:grid}.combat-state-header{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.combat-state-header span{color:var(--heading);text-transform:uppercase;align-items:center;gap:5px;font-size:.74rem;font-weight:650;display:inline-flex}.combat-state-header small,.combat-state-panel p{min-width:0;color:var(--muted);margin:0;font-size:.7rem}.combat-state-header small{text-align:right;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.combat-state-panel p{line-height:1.35}.combatant-list{gap:5px;display:grid}.combatant-row{background:#04080947;border:1px solid #ffffff12;border-left-width:3px;border-radius:4px;grid-template-columns:minmax(0,1fr) minmax(74px,92px);align-items:center;gap:8px;min-height:38px;padding:6px 7px;display:grid}.combatant-row.health-healthy{border-left-color:#65e864}.combatant-row.health-hurt{border-left-color:#f2c94c}.combatant-row.health-critical{border-left-color:#ff9860}.combatant-row.health-down{opacity:.78;border-left-color:#d65f6a}.combatant-row strong,.combatant-row small,.combatant-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.combatant-row strong{color:var(--heading);font-size:.78rem;font-weight:590;display:block}.combatant-row small{color:var(--muted);margin-top:2px;font-size:.68rem;display:block}.combatant-row span{color:#cdd8d2;text-align:right;text-transform:capitalize;font-size:.68rem}.combat-telegraphs{gap:4px;display:grid}.combat-debug-strip{flex-wrap:wrap;gap:5px;display:flex}.combat-debug-strip span{color:var(--muted);text-transform:uppercase;background:#0408093d;border:1px solid #ffffff14;border-radius:3px;padding:5px 6px;font-size:.58rem;line-height:1}.combat-telegraphs span{color:#e8d2bc;font-size:.7rem;line-height:1.35;display:block}.bestiary-debug-panel{gap:9px}.bestiary-toolbar,.bestiary-seed-row{grid-template-columns:minmax(0,1fr) minmax(86px,112px) 32px;gap:6px;display:grid}.bestiary-seed-row{grid-template-columns:minmax(0,1fr) 82px}.bestiary-search{border:1px solid var(--line);min-width:0;color:var(--muted);background:#04080942;border-radius:4px;align-items:center;gap:5px;padding:0 7px;display:flex}.bestiary-search input,.bestiary-toolbar select,.bestiary-seed-row input{border:1px solid var(--line);width:100%;min-width:0;height:32px;color:var(--text);background:#04080957;border-radius:4px;font-size:.72rem}.bestiary-search input{background:0 0;border:0;height:30px}.bestiary-toolbar .icon-action,.bestiary-seed-row button{border:1px solid var(--line);min-width:0;color:var(--heading);background:#ffffff0d;border-radius:4px;justify-content:center;align-items:center;gap:5px;font-size:.7rem;display:inline-flex}.bestiary-layout{gap:8px;display:grid}.bestiary-list{gap:4px;max-height:235px;margin:0;padding:0 2px 0 0;list-style:none;display:grid;overflow:auto}.bestiary-list li{min-width:0}.bestiary-list button{width:100%;min-width:0;color:var(--text);text-align:left;background:#0408093d;border:1px solid #ffffff12;border-radius:4px;gap:2px;padding:7px 8px;display:grid}.bestiary-list button.selected{background:#ff6b2c14;border-color:#ff986073}.bestiary-list button span,.bestiary-list button small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bestiary-list button span{color:var(--heading);font-size:.75rem;font-weight:590}.bestiary-list button small,.bestiary-message{color:var(--muted);font-size:.66rem}.bestiary-message.error{color:#ff9860}.creature-debug-card{background:#04080940;border:1px solid #ffffff14;border-radius:4px;gap:8px;padding:9px;display:grid}.creature-debug-card header{justify-content:space-between;align-items:flex-start;gap:8px;min-width:0;display:flex}.creature-debug-card strong,.creature-debug-card small,.creature-debug-card p,.creature-debug-card header span{min-width:0}.creature-debug-card header strong{color:var(--heading);font-size:.82rem;display:block}.creature-debug-card header small,.creature-debug-card header span,.creature-debug-card p{color:var(--muted);font-size:.68rem}.creature-debug-card header span{text-transform:capitalize;flex:none}.creature-debug-card p{margin:0;line-height:1.35}.creature-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;display:grid}.creature-stat-grid span{color:var(--muted);text-transform:uppercase;border:1px solid #ffffff12;border-radius:4px;gap:2px;padding:6px;font-size:.6rem;display:grid}.creature-stat-grid strong{color:var(--heading);font-size:.76rem}.creature-tags,.creature-ability-list,.combat-debug-events div{flex-wrap:wrap;gap:5px;display:flex}.creature-tags span,.creature-ability-list span,.combat-debug-events div span{color:var(--muted);background:#ffffff09;border:1px solid #ffffff12;border-radius:3px;padding:5px 6px;font-size:.62rem;line-height:1.2}.creature-ability-list span{color:var(--text);gap:2px;display:grid}.creature-ability-list small{color:var(--muted);text-transform:uppercase;font-size:.58rem}.combat-debug-events summary{cursor:pointer;color:var(--muted);align-items:center;gap:5px;font-size:.68rem;display:inline-flex}.combat-debug-events div{margin-top:7px}.world-state-list{gap:8px;display:grid}.world-state-list>div{border-top:1px solid var(--line);gap:4px;min-width:0;padding-top:7px;display:grid}.world-state-list .empty-row{color:var(--muted);font-weight:390}.world-state-list small{text-overflow:ellipsis;white-space:nowrap;margin-top:1px;overflow:hidden}.world-state-toggle{width:fit-content;max-width:100%;min-height:20px;color:var(--muted);background:0 0;border:0;justify-content:flex-start;align-items:center;gap:4px;padding:0;font-size:.68rem;font-weight:520;display:inline-flex}.world-state-toggle:hover{color:var(--heading)}.world-state-toggle svg{flex:none;transition:transform .14s}.world-state-toggle.expanded svg{transform:rotate(180deg)}.active-player-list{gap:7px;margin:0;padding:0;list-style:none;display:grid}.active-player-list li{border:1px solid var(--line);background:#04080947;border-left-width:3px;border-radius:4px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:48px;padding:6px 7px;display:grid}.active-player-list li.selected{background:#73d79b12;border-color:#73d79b57}.active-player-list li.active-player-health-uninjured{border-left-color:#65e864}.active-player-list li.active-player-health-wounded{border-left-color:#f2c94c}.active-player-list li.active-player-health-badly-wounded{border-left-color:#ff9860}.active-player-list li.active-player-health-dead{opacity:.78;border-left-color:#d65f6a}.active-player-avatar-wrap{width:34px;height:34px;position:relative}.active-player-avatar{object-fit:cover;background:#0f1516;border:1px solid #e9efe829;border-radius:4px;width:34px;height:34px;display:block}.presence-dot{background:#73d79b;border:1px solid #0f1516;border-radius:999px;width:8px;height:8px;position:absolute;bottom:-1px;right:-1px;box-shadow:0 0 10px #73d79b6b}.active-player-copy{gap:1px;min-width:0;display:grid}.active-player-list strong,.active-player-list small{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.active-player-list strong{color:var(--heading);font-size:.82rem;font-weight:520}.active-player-list small{color:var(--muted);margin-top:2px;font-size:.72rem}.active-player-health-text{margin-top:0;font-size:.68rem}.active-player-detail{opacity:.82}.presence-badge{color:#b9f1ce;background:#73d79b14;border:1px solid #73d79b47;border-radius:999px;padding:2px 6px;font-size:.68rem;font-weight:560}.presence-badges{flex-wrap:wrap;justify-content:flex-end;gap:4px;min-width:0;display:flex}.typing-badge{color:#ffd27a;white-space:nowrap;background:#ffd27a14;border:1px solid #ffd27a47;border-radius:999px;padding:2px 6px;font-size:.68rem;font-weight:560}.inventory-table{display:grid}.spellbook-list,.trait-list{gap:5px;display:grid}.spellbook-list>div,.trait-list>div{border-top:1px solid var(--line);grid-template-columns:58px minmax(0,1fr);align-items:start;gap:8px;min-height:43px;padding:7px 0;display:grid}.spellbook-list>div.prepared,.trait-list>div.active{background:#73d79b0e}.spellbook-list .spell-level,.trait-list .trait-type{color:#ffd27a;text-transform:uppercase;background:#ffd27a0f;border:1px solid #ffd27a38;border-radius:4px;justify-content:center;align-items:center;min-height:22px;margin-top:1px;font-size:.64rem;font-weight:650;line-height:1;display:inline-flex}.trait-list .trait-type{color:#73d79b;background:#73d79b12;border-color:#73d79b3d}.spellbook-list strong,.spellbook-list small,.spellbook-list p,.trait-list strong,.trait-list small,.trait-list p{text-overflow:ellipsis;min-width:0;overflow:hidden}.spellbook-list strong,.trait-list strong{color:var(--heading);white-space:nowrap;font-size:.82rem;font-weight:560;display:block}.spellbook-list small,.trait-list small{color:var(--muted);white-space:nowrap;text-transform:capitalize;margin-top:2px;font-size:.66rem;line-height:1.25;display:block}.spellbook-list p,.trait-list p{color:var(--text);margin:4px 0 0;font-size:.68rem;line-height:1.35}.inventory-table div{border-top:1px solid var(--line);grid-template-columns:28px minmax(0,1fr) 34px 62px auto;align-items:center;gap:6px;min-height:28px;display:grid}.inventory-table div.equipped{background:#ffd27a0d}.inventory-table .empty-row,.spellbook-list .empty-row,.trait-list .empty-row,.canon-list .empty-row{grid-template-columns:1fr;place-items:center start;min-height:32px;display:grid}.inventory-table strong{color:var(--text);min-width:0;font-size:.82rem;font-weight:390}.inventory-table strong small{color:var(--orange);margin-top:1px;font-size:.64rem;font-weight:620;line-height:1.1;display:block}.item-icon{place-items:center;display:grid;color:var(--orange)!important}.equipment-toggle{min-width:76px;color:var(--text);background:#ffd27a12;border:1px solid #ffd27a3d;justify-content:center;align-items:center;gap:4px;padding:4px 7px;font-size:.68rem;display:inline-flex}.equipment-toggle:disabled{opacity:.55}.view-link{width:100%;color:var(--muted);background:0 0;justify-content:center;align-items:center;gap:5px;margin-top:7px;font-size:.78rem;display:inline-flex}.canon-list{display:grid}.canon-list div{border-top:1px solid var(--line);grid-template-columns:16px minmax(0,1fr) 58px;align-items:center;min-height:27px;display:grid}.canon-list svg,.note-line svg{color:#6adb5e}.canon-list span{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.canon-list small{color:var(--muted)}.map-segment{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.mini-map{background:radial-gradient(circle at 58% 45%,#ff6b2c33,#0000 16px),linear-gradient(90deg,#1018168f 1px,#0000 1px) 0 0/13px 13px,linear-gradient(#1018168f 1px,#0000 1px) 0 0/13px 13px,linear-gradient(135deg,#7a6d52,#313a32);border:1px solid #ffffff09;border-radius:4px;height:96px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #0000003d}.mini-map span{background:var(--orange);border-radius:50%;width:11px;height:11px;position:absolute;top:44px;left:57px;box-shadow:0 0 0 5px #ff6b252e}.map-segment p{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:2px 0 10px;display:-webkit-box;overflow:hidden}.map-segment dl{grid-template-columns:minmax(64px,1fr) minmax(74px,112px);gap:6px 12px;margin:0;display:grid}.map-segment dd{color:var(--heading);text-align:right;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.78rem;overflow:hidden}.map-segment .danger{color:#ff6b2c;font-weight:700}.map-meta-column{min-width:0}.map-meta-column small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:.72rem;display:block;overflow:hidden}.map-segment .threat-high{color:#ff6b2c;font-weight:600}.map-segment .threat-medium{color:#e3bc62}.map-segment .threat-low{color:#6bdc68}.management-form{gap:8px;display:grid}.management-form label{color:var(--muted);gap:4px;font-size:.72rem;display:grid}.management-form input,.management-form textarea{width:100%;min-width:0;color:var(--heading);background:#ffffff09;border:1px solid #90a49f3d;border-radius:4px}.management-form input{height:30px;padding:0 8px}.management-form textarea{resize:vertical;min-height:58px;padding:7px 8px}.management-form button,.segment-actions button{min-height:30px;color:var(--heading);background:#ff6b2c1a;border:1px solid #ffb06747;border-radius:4px;font-size:.74rem;font-weight:560}.management-form button:disabled,.segment-actions button:disabled{cursor:not-allowed;opacity:.55}.management-checkbox{grid-template-columns:16px minmax(0,1fr);align-items:center}.management-checkbox input{width:14px;height:14px;accent-color:var(--orange);padding:0}.segment-list{gap:8px;margin-bottom:10px;display:grid}.segment-list article{border:1px solid var(--line);background:#ffffff05;border-radius:4px;gap:6px;padding:8px;display:grid}.segment-list article.active{box-shadow:inset 2px 0 0 var(--orange);border-color:#ff6b2c7a}.segment-list article>div:first-child{justify-content:space-between;align-items:center;gap:8px;display:flex}.segment-list strong{min-width:0;color:var(--heading);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.segment-list span,.segment-list small,.segment-list p{color:var(--muted);font-size:.72rem}.segment-list p{margin:0}.segment-actions{grid-template-columns:1fr 78px;gap:6px;display:grid}.segment-actions .danger{color:#ff9a70;border-color:#ff6b2c57}.campaign-pack-panel{gap:9px;display:grid}.campaign-pack-header{gap:7px;display:grid}.campaign-pack-header strong,.campaign-pack-current strong,.campaign-pack-policy-grid strong,.campaign-pack-context-row strong{min-width:0;color:var(--heading);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:560;overflow:hidden}.campaign-pack-header small,.campaign-pack-current span,.campaign-pack-current p,.campaign-pack-policy-grid span,.campaign-pack-progress-list span,.campaign-pack-context-row span{color:var(--muted);font-size:.72rem}.campaign-pack-tags{flex-wrap:wrap;gap:5px;display:flex}.campaign-pack-tags span{color:var(--muted);background:#ffffff06;border:1px solid #90a49f33;border-radius:4px;padding:3px 6px;font-size:.68rem}.campaign-pack-current,.campaign-pack-policy-grid div,.campaign-pack-context-row,.campaign-pack-progress-list div{border:1px solid var(--line);background:#ffffff05;border-radius:4px}.campaign-pack-current{box-shadow:inset 2px 0 0 var(--orange);gap:4px;padding:8px;display:grid}.campaign-pack-current p{margin:0;line-height:1.35}.campaign-pack-policy-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.campaign-pack-policy-grid div{gap:4px;min-width:0;padding:7px;display:grid}.campaign-pack-progress-list{gap:5px;display:grid}.campaign-pack-progress-list div{grid-template-columns:48px minmax(0,1fr);align-items:center;gap:6px;min-height:28px;padding:5px 7px;display:grid}.campaign-pack-progress-list div.active{border-color:#ff6b2c7a}.campaign-pack-progress-list div.done{border-color:#74dc8a40}.campaign-pack-progress-list div.skipped{border-color:#ffcd7440}.campaign-pack-progress-list div.failed{border-color:#ff5c5c5c}.campaign-pack-progress-list div.optional{border-color:#7fb3ff38}.campaign-pack-progress-list strong{min-width:0;color:var(--heading);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-weight:520;overflow:hidden}.campaign-pack-context-row{grid-template-columns:auto minmax(0,1fr) auto 34px;align-items:center;gap:6px;min-height:30px;padding:6px 8px;display:grid}.campaign-pack-actions,.campaign-pack-override{gap:6px;display:grid}.campaign-pack-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.campaign-pack-actions button,.campaign-pack-override button,.campaign-pack-override select{min-width:0;min-height:30px;color:var(--heading);background:#ff6b2c1a;border:1px solid #ffb06747;border-radius:4px;font-size:.72rem;font-weight:560}.campaign-pack-actions button,.campaign-pack-override button{justify-content:center;align-items:center;gap:5px;display:inline-flex}.campaign-pack-override{grid-template-columns:minmax(0,1fr) 92px}.campaign-pack-override select{background:#ffffff09;border-color:#90a49f3d;padding:0 8px}.campaign-pack-actions button:disabled,.campaign-pack-override button:disabled,.campaign-pack-override select:disabled{cursor:not-allowed;opacity:.55}.beta-incident-panel{gap:9px;padding:9px;display:grid}.incident-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.incident-summary-grid div{border:1px solid var(--line);background:#ffffff06;border-radius:4px;gap:3px;min-width:0;padding:7px;display:grid}.incident-summary-grid span,.incident-card-title span,.incident-meta span,.incident-card time{color:var(--muted);font-size:.68rem}.incident-summary-grid strong{color:var(--heading);font-size:.95rem;font-weight:580}.session-quality-card{background:#ffffff05;border:1px solid #90a49f33;border-radius:4px;gap:8px;min-width:0;padding:8px;display:grid}.session-quality-header{justify-content:space-between;align-items:flex-start;gap:8px;min-width:0;display:flex}.session-quality-header div{gap:2px;min-width:0;display:grid}.session-quality-header h3{color:var(--heading);margin:0;font-size:.78rem;font-weight:600}.session-quality-header span,.session-quality-grid span,.session-quality-grid small,.session-quality-meta span{color:var(--muted);font-size:.68rem}.session-quality-status{letter-spacing:0;text-transform:uppercase;border:1px solid #90a49f33;border-radius:4px;flex:none;padding:3px 6px;font-size:.66rem}.session-quality-status.review{color:#ffca67;border-color:#ffca6759}.session-quality-status.clean{color:#67cd9e;border-color:#67cd9e52}.session-quality-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.session-quality-grid div{background:#0000001f;border:1px solid #90a49f29;border-radius:4px;gap:2px;min-width:0;padding:6px;display:grid}.session-quality-grid strong{min-width:0;color:var(--heading);align-items:baseline;gap:5px;font-size:.82rem;font-weight:580;display:flex}.session-quality-grid small{min-width:0}.session-quality-meta{flex-wrap:wrap;gap:5px;display:flex}.session-quality-meta span{text-overflow:ellipsis;white-space:nowrap;border:1px solid #90a49f29;border-radius:4px;max-width:100%;padding:2px 5px;overflow:hidden}.session-quality-operator-summary{background:#0000001a;border:1px solid #90a49f29;border-radius:4px;gap:5px;min-width:0;padding:7px;display:grid}.session-quality-operator-summary strong{color:var(--heading);font-size:.72rem;font-weight:580}.session-quality-operator-summary ul{gap:3px;margin:0;padding-left:16px;display:grid}.session-quality-operator-summary li{min-width:0;color:var(--muted);font-size:.68rem;line-height:1.35}.incident-list{gap:7px;display:grid}.incident-card{border:1px solid var(--line);background:#ffffff05;border-radius:4px;gap:6px;padding:8px;display:grid}.incident-card.severity-high{border-color:#ff6b2c6b;box-shadow:inset 2px 0 #ff6b2cd1}.incident-card.severity-medium{border-color:#ffca6747;box-shadow:inset 2px 0 #ffca6785}.incident-card-title{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.incident-card-title-actions{flex:none;align-items:center;gap:5px;display:inline-flex}.incident-card-title strong{min-width:0;color:var(--heading);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:560;overflow:hidden}.incident-bundle-button{width:24px;height:22px;color:var(--muted);background:#ffffff07;border:1px solid #90a49f38;border-radius:4px;justify-content:center;align-items:center;padding:0;display:inline-flex}.incident-bundle-button:disabled{opacity:.55}.incident-card p{color:var(--text);margin:0;font-size:.74rem;line-height:1.35}.incident-meta{flex-wrap:wrap;gap:5px;display:flex}.incident-meta span{text-overflow:ellipsis;white-space:nowrap;background:#ffffff06;border:1px solid #90a49f2e;border-radius:4px;max-width:100%;padding:2px 5px;overflow:hidden}.single-panel{padding-top:18px}.dm-response-card.expanded{min-height:430px}.notes-panel{grid-template-rows:minmax(0,1fr) auto;gap:12px;display:grid}.notes-card{border:1px solid var(--line-strong);background:linear-gradient(#111a1b,#0d1516);border-radius:4px;min-width:0;padding:14px 16px;overflow:hidden}.notes-card h2,.notes-card h3{color:var(--heading);margin:0 0 10px}.notes-card h2{font-size:1rem}.notes-card h3{font-size:.9rem}.notes-card dl{grid-template-columns:120px minmax(0,1fr);gap:7px 14px;margin:0 0 12px;display:grid}.notes-card dt{color:var(--muted);font-size:.78rem}.notes-card dd{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.82rem;overflow:hidden}.notes-card p{color:var(--text);font-family:var(--serif);white-space:pre-wrap;margin:0;font-size:1rem;line-height:1.4}.compact-notes{max-height:146px}.note-line{border-top:1px solid var(--line);grid-template-columns:16px minmax(0,1fr) 58px;align-items:center;min-height:28px;display:grid}.note-line svg{color:var(--green)}.note-line span{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.note-line small{color:var(--muted)}@media (width<=1400px){.prototype-shell{grid-template-columns:248px minmax(560px,1fr) 388px}.ops-bar{grid-template-columns:156px 56px minmax(200px,1fr) minmax(148px,.44fr) minmax(210px,.58fr) minmax(116px,.34fr) minmax(82px,.26fr) 236px}.ops-segment.mini-stat:nth-of-type(7),.ops-segment.mini-stat:nth-of-type(8){display:none}.turn-card{grid-template-columns:150px minmax(0,1fr) auto 72px auto}.dm-response-card{grid-template-columns:150px minmax(0,1fr) 104px}}@media (height>=901px) and (width>=981px){.turn-feed:not(.single-panel) .dm-response-card{height:auto;min-height:360px}.turn-feed:not(.single-panel) .dm-response-card .response-copy p{-webkit-line-clamp:unset;display:block;overflow:visible}}@media (height<=900px) and (width>=981px){.rail-section{padding-top:12px}.campaign-list,.session-list{gap:6px}.campaign-card{min-height:55px;padding:7px 8px}.session-section{padding-top:16px}.session-card{min-height:45px;padding-top:8px;padding-bottom:7px}.rail-nav{gap:3px;margin-top:16px}.nav-item{min-height:33px}.rail-footer{gap:5px;padding-top:12px;padding-bottom:14px}.right-inspector{padding:7px 8px 8px}.inspector-tabs{height:34px}.character-panel,.inspector-box{margin-top:6px;padding:7px}.session-board{--composer-row-height:254px;grid-template-rows:60px 38px minmax(0, 1fr) minmax(var(--composer-row-height), auto)}.session-header h1{font-size:.98rem}.content-tabs button{height:38px}.scene-music-player{min-height:66px;padding-top:6px;padding-bottom:6px}.scene-music-now strong{font-size:.8rem}.scene-music-tags button{min-height:22px}.chat-reading-control{top:104px}.turn-feed{padding-top:8px;padding-bottom:10px}.jump-latest-button{bottom:calc(var(--composer-row-height) + 16px)}.turn-card{min-height:49px;margin-bottom:6px}.turn-card p{font-size:var(--chat-turn-font-size,.95rem);line-height:var(--chat-turn-line-height,1.24)}.turn-feed:not(.single-panel) .dm-response-card{height:auto;min-height:210px}.turn-feed:not(.single-panel) .dm-response-card .response-copy p{-webkit-line-clamp:unset;display:block;overflow:visible}.dm-response-card{grid-template-columns:142px minmax(0,1fr) 92px}.response-copy{padding-top:15px}.response-copy p{font-size:var(--chat-response-font-size,.98rem);line-height:var(--chat-response-line-height,1.38)}.action-composer{padding-top:6px;padding-bottom:10px}.composer-frame textarea{height:98px;min-height:98px;padding-top:11px;padding-bottom:11px}.composer-tools button{min-height:30px}.composer-tools{margin-top:10px;margin-bottom:0;padding-bottom:2px}.character-card{grid-template-columns:48px minmax(0,1fr);gap:9px}.portrait{width:46px;height:46px}.character-main{grid-template-columns:minmax(0,1fr) 88px}.character-main h2{font-size:.92rem}.character-main p,.level-stack span,.level-stack small{font-size:.72rem}.vital-grid{gap:6px;margin-top:7px}.vital-grid div{min-height:34px}.vital-grid span,.ability-grid span{font-size:.66rem}.vital-grid strong,.ability-grid strong{font-size:.9rem}.ability-grid{margin-top:7px}.ability-grid small{font-size:.7rem}.ability-grid{padding:3px 0}.inspiration-row{min-height:26px;margin-top:7px;font-size:.78rem}.box-title{margin-bottom:5px}.box-title h3,.map-segment h4{font-size:.82rem}.box-title span,.box-title button,.map-segment p,.map-segment dt,.inventory-table span{font-size:.7rem}.inventory-table div{grid-template-columns:24px minmax(0,1fr) 28px 52px;min-height:23px}.inventory-table .equipment-toggle{grid-column:2/-1;justify-self:start;margin-bottom:4px}.inventory-table .empty-row,.canon-list .empty-row{min-height:24px}.canon-list div{min-height:22px}.scene-state-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr) 48px;gap:5px}.scene-state-grid div{padding:5px 6px}.scene-state-grid strong,.world-state-list span,.canon-list span{font-size:.72rem}.mini-map{height:66px}.map-segment{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px}.map-segment p{margin-bottom:5px}.map-segment dl{gap:3px 8px}.map-segment dd{font-size:.72rem}}@media (width<=980px){.prototype-shell{grid-template-rows:auto auto auto auto;grid-template-columns:1fr;height:auto;min-height:100svh;overflow:visible}.ops-bar,.campaign-rail,.session-board,.right-inspector{grid-area:auto/1}.ops-bar{grid-template-columns:minmax(0,1fr) auto;grid-auto-rows:auto;gap:8px;min-height:0;padding:8px 12px}.ops-brand{border-right:0;min-height:40px;padding:0}.ops-bar>.top-icon{grid-area:1/2;justify-self:end}.ops-segment{border:1px solid var(--line);background:#ffffff05;border-radius:4px;grid-column:1/-1;min-height:42px;padding:8px 10px}.ops-segment.mini-stat{display:none}.backend-segment{grid-template-columns:minmax(0,1fr) auto auto}.runtime-select{max-width:none;font-size:.8rem}.ops-actions{border-right:0;flex-wrap:wrap;grid-column:1/-1;justify-content:flex-start;padding:0;display:flex}.action-composer{min-height:260px;padding-bottom:12px}.campaign-rail,.right-inspector{border-right:0;max-height:none;overflow:visible}.session-board{border-top:1px solid var(--line);border-right:0;grid-template-rows:auto auto minmax(0,1fr) auto;height:min(100svh,900px);min-height:min(100svh,760px);overflow:hidden}.session-header{flex-direction:column;align-items:start;gap:12px;padding:16px}.session-actions{flex-wrap:wrap}.scene-music-player{grid-template-columns:28px minmax(0,1fr) auto;align-items:stretch;min-height:0;padding:10px 14px}.scene-music-now{align-self:center}.scene-music-controls{justify-content:flex-end;align-self:center}.scene-music-progress,.scene-music-select,.scene-music-volume,.scene-music-tags,.scene-music-error{grid-column:1/-1}.scene-music-select{grid-template-columns:43px minmax(0,1fr);align-items:center}.chat-reading-control{top:auto;right:16px;bottom:calc(var(--composer-row-height) + 18px)}.turn-feed{-webkit-overflow-scrolling:touch;min-height:0;padding-left:14px;overflow:auto}.roll-wait-banner{flex-wrap:wrap;align-items:flex-start;margin-left:0}.roll-wait-copy{flex:calc(100% - 48px)}.roll-wait-copy strong,.roll-wait-copy span,.roll-wait-copy small{white-space:normal}.roll-wait-meta{margin-left:46px}.jump-latest-button{position:fixed;bottom:18px}.turn-row{grid-template-columns:40px minmax(0,1fr)}.turn-card,.dm-response-card{grid-template-columns:1fr}.turn-card{gap:8px;padding:12px}.turn-actions{grid-area:auto/1;grid-template-columns:1fr;justify-self:stretch;width:100%;min-height:36px}.turn-actions.has-dismiss,.turn-actions.has-report{grid-template-columns:1fr 1fr;width:100%}.turn-actions.has-dismiss.has-report{grid-template-columns:1fr 1fr 1fr;width:100%}.turn-expand,.turn-dismiss,.turn-report{border-top:1px solid var(--line-strong);border-left:0;min-height:36px}.turn-actions.has-dismiss .turn-expand,.turn-actions.has-report .turn-expand,.turn-actions.has-dismiss.has-report .turn-dismiss{border-left:1px solid var(--line-strong)}.turn-card time{justify-self:start}.dm-response-card,.turn-feed:not(.single-panel) .dm-response-card{height:auto;min-height:240px}.turn-quality-prompt,.turn-quality-prompt.submitted{grid-area:auto/1;grid-template-columns:1fr;margin:0 16px 14px}.turn-quality-score-group{grid-template-columns:76px minmax(0,1fr);align-items:center}.turn-quality-score-group div{grid-template-columns:repeat(5,minmax(24px,1fr))}.stream-state{padding:0 16px 16px}.execution-footer{flex-wrap:wrap;padding:0 16px 14px;position:static}.composer-frame,.map-segment{grid-template-columns:1fr}.turn-control-strip,.queued-action-strip{flex-direction:column;align-items:stretch;padding:7px 9px}.turn-control-actions{flex-wrap:wrap}.turn-control-actions select{flex:140px;max-width:none}.input-action-row{justify-content:flex-end;align-self:auto;padding:0 10px 10px}.action-intent-panel{flex-wrap:wrap}.action-intent-panel input[type=text]{flex-basis:100%}.dialog-grid.two{grid-template-columns:1fr}.race-card-grid,.class-quick-grid,.class-card-grid,.class-subclass-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gender-portrait-picker,.race-detail-grid,.custom-class-panel{grid-template-columns:1fr}.custom-race-review-head{display:grid}.custom-race-edit-grid,.custom-race-metadata-grid,.custom-race-library-card{grid-template-columns:1fr}.point-buy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.composer-tools{flex-wrap:wrap}.dice-roll-backdrop{padding:12px}.dice-stage,.dice-canvas{min-height:276px}.dice-readout{min-width:118px;bottom:10px;right:10px}}.mobile-panel-scrim,.mobile-presence-strip{display:none}@media (width<=760px){.prototype-shell{grid-template-rows:52px minmax(0,1fr);grid-template-columns:1fr;height:100dvh;min-height:100svh;overflow:hidden}.prototype-shell.safe-mode-active,.prototype-shell.runtime-notices-active{grid-template-rows:52px 34px minmax(0,1fr)}.prototype-shell.title-screen-active{grid-template-rows:0 minmax(0,1fr)}.prototype-shell.title-screen-active .ops-bar{display:none}.prototype-shell.title-screen-active.safe-mode-active,.prototype-shell.title-screen-active.runtime-notices-active{grid-template-rows:34px minmax(0,1fr)}.title-screen{z-index:55;grid-row:2/-1;padding:14px}.prototype-shell.runtime-notices-active .title-screen,.prototype-shell.safe-mode-active .title-screen{grid-row:3/-1}.prototype-shell.title-screen-active.runtime-notices-active .title-screen,.prototype-shell.title-screen-active.safe-mode-active .title-screen{grid-row:2/-1}.title-screen-stage{grid-template-columns:1fr;align-content:center;gap:10px;min-height:0}.title-screen-copy{gap:16px;padding:20px}.title-mark svg{width:27px;height:27px}.title-screen h1{font-size:2.4rem;line-height:1}.title-screen-copy p,.title-screen-table p{font-size:.86rem;line-height:1.42}.title-screen-actions{grid-template-columns:1fr;display:grid}.title-action{width:100%;min-height:43px}.title-screen-table{gap:10px;padding:16px}.title-screen-table strong{font-size:1.22rem}.title-screen-table dl{grid-template-columns:1fr}.safe-mode-banner,.beta-runtime-notices{grid-row:2;min-height:34px;padding:6px 10px;font-size:.72rem}.ops-bar{z-index:80;grid-area:1/1;grid-template-rows:1fr;grid-template-columns:auto 40px minmax(0,1fr) auto;align-items:center;gap:6px;min-height:0;padding:5px 8px;position:relative}.ops-brand{border-right:0;grid-area:1/1;gap:7px;min-height:40px;padding:0}.ops-brand svg{width:22px;height:22px}.ops-brand strong{font-size:1rem}.ops-bar>.top-icon{border-color:var(--line-strong);background:linear-gradient(#172021,#0d1314);grid-area:1/2;justify-self:start;width:38px;height:38px}.ops-segment{display:none}.ops-actions{border-right:0;grid-area:1/4;gap:5px;min-height:0;padding:0}.ops-actions .top-icon{width:34px;height:34px}.ops-actions .mobile-optional{display:none}.account-menu{max-width:calc(100vw - 16px);position:fixed;top:54px;right:8px}.mobile-panel-scrim{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0308098f;border:0;width:100%;display:none;position:fixed;inset:52px 0 0}.prototype-shell.safe-mode-active .mobile-panel-scrim,.prototype-shell.runtime-notices-active .mobile-panel-scrim{inset:86px 0 0}.prototype-shell.mobile-rail-open .mobile-panel-scrim,.prototype-shell.mobile-inspector-open .mobile-panel-scrim{display:block}.prototype-shell.title-screen-active .mobile-panel-scrim{display:none}.campaign-rail,.right-inspector{z-index:60;pointer-events:none;visibility:hidden;-webkit-overflow-scrolling:touch;height:auto;max-height:none;transition:transform .18s,visibility .18s;position:fixed;top:52px;bottom:0;overflow-y:auto}.prototype-shell.safe-mode-active .campaign-rail,.prototype-shell.safe-mode-active .right-inspector,.prototype-shell.runtime-notices-active .campaign-rail,.prototype-shell.runtime-notices-active .right-inspector{top:86px}.campaign-rail,.prototype-shell.rail-collapsed .campaign-rail{border-right:1px solid var(--line);width:min(88vw,340px);min-width:0;left:0;transform:translate(calc(-100% - 20px));box-shadow:24px 0 44px #0000006b}.prototype-shell.mobile-rail-open .campaign-rail{pointer-events:auto;visibility:visible;transform:translate(0)}.right-inspector{border-left:1px solid var(--line);width:min(92vw,390px);padding:8px;right:0;transform:translate(calc(100% + 20px));box-shadow:-24px 0 44px #0000006b}.prototype-shell.mobile-inspector-open .right-inspector{pointer-events:auto;visibility:visible;transform:translate(0)}.session-board{--composer-row-height:168px;border-top:1px solid var(--line);grid-area:2/1;grid-template-rows:50px 38px 36px minmax(0,1fr) auto;align-self:stretch;height:auto;min-height:0;overflow:hidden}.prototype-shell.safe-mode-active .session-board,.prototype-shell.runtime-notices-active .session-board{grid-row:3}.session-board:has(.scene-music-player.is-mobile-static){grid-template-rows:50px 38px 36px 40px minmax(0,1fr) auto}.session-header{flex-direction:row;align-items:center;gap:8px;min-height:0;padding:7px 10px}.session-header>div:first-child{min-width:0}.session-header h1{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.9rem;overflow:hidden}.session-header h1 span{flex:none;padding:1px 5px;font-size:.58rem}.session-header p{display:none}.session-actions{flex-wrap:nowrap;flex:none;gap:3px;margin-left:auto}.session-actions .toolbar-button{width:34px;min-width:34px;height:34px;min-height:34px;padding:0}.session-actions .toolbar-button span{display:none}.session-menu{top:40px;right:0}.content-tabs{gap:0;padding:0 6px;overflow-x:auto}.content-tabs button{flex:1 0 auto;min-width:72px;height:38px;font-size:.75rem}.mobile-presence-strip{border-bottom:1px solid var(--line);background:linear-gradient(90deg,#73d79b0f,#0000 58%),#ffffff05;align-items:center;gap:7px;min-width:0;min-height:36px;padding:3px 8px;display:flex;overflow:hidden}.mobile-presence-summary{background:#08101057;border:1px solid #90a49f33;border-radius:4px;flex:0 0 min(34vw,126px);gap:1px;min-width:96px;padding:3px 8px;display:grid;overflow:hidden}.mobile-presence-summary.open{background:#73d79b12;border-color:#73d79b57}.mobile-presence-summary.locked{background:#ff6b2c12;border-color:#ffb06747}.mobile-presence-summary span,.mobile-presence-summary strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mobile-presence-summary span{color:var(--muted);text-transform:uppercase;font-size:.62rem;font-weight:700;line-height:1}.mobile-presence-summary strong{color:var(--heading);font-size:.72rem;font-weight:610;line-height:1.1}.mobile-presence-list{scrollbar-width:none;flex:auto;gap:6px;min-width:0;margin:0;padding:0 1px 1px;list-style:none;display:flex;overflow-x:auto}.mobile-presence-list::-webkit-scrollbar{display:none}.mobile-presence-list li{background:#ffffff06;border:1px solid #90a49f2e;border-radius:4px;flex:none;align-items:center;gap:6px;max-width:162px;min-height:28px;padding:2px 7px 2px 3px;display:inline-flex;overflow:hidden}.mobile-presence-list li.selected{background:#73d79b14;border-color:#73d79b57}.mobile-presence-list li.typing{background:#ffd27a12;border-color:#ffd27a57}.mobile-presence-avatar{width:24px;height:24px;color:var(--heading);background:#0f1516;border:1px solid #e9efe824;border-radius:4px;flex:0 0 24px;place-items:center;font-size:.68rem;font-weight:700;display:grid;position:relative;overflow:hidden}.mobile-presence-avatar img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.mobile-presence-avatar span{z-index:1;position:relative}.mobile-presence-avatar .mobile-health-dot{z-index:2;background:#90a49f;border:1px solid #0f1516;border-radius:999px;width:7px;height:7px;position:absolute;bottom:-1px;right:-1px;box-shadow:0 0 8px #90a49f6b}.mobile-health-dot-uninjured{background:#73d79b;box-shadow:0 0 8px #73d79b75}.mobile-health-dot-wounded{background:#ffd27a;box-shadow:0 0 8px #ffd27a70}.mobile-health-dot-badly-wounded{background:#ff8b5d;box-shadow:0 0 8px #ff8b5d75}.mobile-health-dot-dead{background:#ff6161;box-shadow:0 0 8px #ff616170}.mobile-presence-copy{gap:1px;min-width:0;display:grid}.mobile-presence-copy strong,.mobile-presence-copy small{text-overflow:ellipsis;white-space:nowrap;min-width:0;line-height:1.05;overflow:hidden}.mobile-presence-copy strong{color:var(--heading);font-size:.72rem;font-weight:610}.mobile-presence-copy small{color:var(--muted);font-size:.62rem}.mobile-health-label{color:#dce7df;text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:74px;font-size:.6rem;font-weight:700;line-height:1;overflow:hidden}.mobile-typing-badge{color:#ffd27a;white-space:nowrap;background:#ffd27a14;border:1px solid #ffd27a52;border-radius:999px;flex:none;padding:2px 5px;font-size:.61rem;font-weight:700}.mobile-presence-empty{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.scene-music-player.is-mobile-static{z-index:auto;border:0;border-bottom:1px solid var(--line);width:auto;max-width:none;height:auto;min-height:40px;max-height:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(90deg,#ffb06712,#0000 58%),#ffffff05;border-radius:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;padding:4px 8px;display:grid;position:static;overflow:hidden}.scene-music-player.is-mobile-static .scene-music-progress,.scene-music-player.is-mobile-static .scene-music-select,.scene-music-player.is-mobile-static .scene-music-volume,.scene-music-player.is-mobile-static .scene-music-tags,.scene-music-player.is-mobile-static .scene-music-error{display:none}.scene-music-player.is-mobile-static .scene-music-now{gap:7px;overflow:hidden}.scene-music-player.is-mobile-static .scene-music-now>svg{width:15px;height:15px}.scene-music-player.is-mobile-static .scene-music-now span{font-size:.57rem;line-height:1}.scene-music-player.is-mobile-static .scene-music-now strong{font-size:.72rem;line-height:1.05}.scene-music-player.is-mobile-static .scene-music-now small{display:none}.scene-music-player.is-mobile-static .scene-music-controls{justify-content:flex-end;gap:3px}.scene-music-player.is-mobile-static .scene-music-controls button{width:28px;height:28px}.scene-music-player.is-mobile-static .scene-music-controls .scene-music-play{width:30px;height:30px}.turn-feed{overscroll-behavior:contain;padding:8px 8px 8px 10px}.turn-row{grid-template-columns:26px minmax(0,1fr);gap:5px}.turn-row:not(:last-child):before{top:25px;left:12px}.turn-number{width:24px;height:24px;font-size:.68rem;box-shadow:0 0 0 2px #081010f2}.turn-card{gap:6px;padding:9px}.turn-speaker{padding:0}.turn-card p{-webkit-line-clamp:3}.turn-card.expanded p{-webkit-line-clamp:unset}.turn-status-label{justify-self:start;max-width:100%}.turn-expand,.turn-dismiss,.turn-report{min-height:32px}.dm-response-card,.turn-feed:not(.single-panel) .dm-response-card{min-height:min(44svh,360px)}.dm-response-card .turn-speaker{padding:12px 12px 0}.response-copy{padding:8px 12px 14px}.response-copy p{max-width:100%}.turn-quality-prompt,.turn-quality-prompt.submitted{margin:0 12px 12px;padding:7px}.turn-quality-score-group{grid-template-columns:64px minmax(0,1fr)}.stream-state{padding:0 12px 12px;font-size:.72rem}.execution-footer{display:none}.panel-loading-strip,.roll-wait-banner{margin-left:0}.roll-wait-banner{gap:9px;min-height:48px;padding:8px 10px}.roll-wait-icon{flex-basis:30px;width:30px;height:30px}.roll-wait-meta{margin-left:39px}.chat-reading-control{right:10px;bottom:calc(var(--composer-row-height) + 10px)}.chat-reading-toggle{width:30px;height:28px}.chat-reading-menu{top:auto;bottom:34px;right:0}.jump-latest-button{bottom:calc(var(--composer-row-height) + 10px);min-height:30px}.action-composer{min-height:0;padding:6px 10px calc(8px + env(safe-area-inset-bottom))}.action-composer label{display:none}.turn-control-strip,.queued-action-strip{min-height:26px;margin:0 0 5px;padding:0 7px;font-size:.68rem}.tts-status-strip.off,.tts-status-strip.ready{display:none}.tts-status-strip{min-height:24px;margin:0 0 5px;padding:0 7px;font-size:.68rem}.composer-frame{grid-template-columns:1fr}.composer-frame textarea{height:70px;min-height:70px;padding:10px;font-size:.92rem;line-height:1.24}.input-action-row{justify-content:space-between;align-self:auto;gap:6px;padding:0 7px 7px}.mode-buttons{height:34px;overflow-x:auto}.mode-buttons button{width:30px;height:34px}.send-button{min-width:82px;height:34px;font-size:.82rem}.action-intent-panel{flex-wrap:nowrap;min-height:30px;margin:6px 0 0;padding:0 0 2px;overflow-x:auto}.action-intent-panel select{flex:none;max-width:138px}.action-intent-panel input[type=text],.action-intent-panel input[type=password]{flex:0 0 130px;min-width:130px}.composer-tools{scrollbar-width:none;flex-wrap:nowrap;gap:6px;margin:6px 0 0;padding:0 1px 2px;overflow-x:auto}.composer-tools::-webkit-scrollbar{display:none}.composer-tools button{flex:none;min-height:28px;font-size:.72rem}}@media (width<=560px){.modal-backdrop,.race-details-backdrop{padding:12px}.campaign-pack-forge-fields,.campaign-pack-preview-grid,.campaign-pack-counts,.campaign-pack-authoring-report-grid,.campaign-pack-visible,.campaign-pack-lint-list div{grid-template-columns:1fr}.race-card-grid{grid-template-columns:1fr;max-height:min(520px,50svh);padding-right:1px}.race-card{background:#ffffff09;grid-template-columns:minmax(88px,112px) minmax(0,1fr);align-content:stretch;align-items:stretch;gap:10px;min-height:140px;padding:8px}.race-card-art{aspect-ratio:auto;border:1px solid #ffffff21;border-radius:5px;width:100%;height:112px;position:relative;inset:auto}.race-card:hover .race-card-art img,.race-card:focus-visible .race-card-art img,.race-card.selected .race-card-art img{filter:none;transform:none}.race-card-art span{display:none}.race-card-copy{z-index:auto;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-top:0;align-content:center;gap:5px;max-height:none;padding:0;transition:none;position:static;overflow:visible}.race-card:hover .race-card-copy,.race-card:focus-visible .race-card-copy,.race-card.selected .race-card-copy{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;max-height:none}.race-card-copy strong{white-space:normal;font-size:.92rem;line-height:1.12}.race-card-copy em{min-height:0}.race-card-copy em,.race-card-copy .race-trait-row,.race-card-copy small{opacity:1;transition:none;transform:none}.race-trait-row{gap:4px;min-height:0}.race-card-copy small{min-height:0;display:none}.class-quick-grid,.class-card-grid,.class-subclass-grid{grid-template-columns:1fr}.class-selector-heading{flex-direction:column;align-items:stretch}.class-selector-heading strong{max-width:100%}}
