/* The board stays mounted in the workspace; secondary controls are drawers. */
.workspace .interaction-panel>header{padding:12px 16px}.workspace .interaction-scroll section{padding:10px 0}.workspace .interaction-step{margin-bottom:8px;gap:10px}.workspace .interaction-people img{height:50px}.workspace .interaction-people svg{height:36px}.workspace .interaction-object-art{height:56px;width:65px}.workspace .interaction-options button{min-height:34px;padding:7px}.workspace .interaction-facing{display:grid;grid-template-columns:132px minmax(0,1fr);gap:4px 10px;margin-top:12px}.interaction-facing>h3,.interaction-facing>small,.interaction-facing>p{grid-column:1/-1}.workspace .interaction-facing label{align-self:center;margin:0}.workspace .interaction-compass{grid-template-columns:repeat(3,40px);grid-template-rows:repeat(3,32px);gap:3px;margin:6px 0}.workspace .interaction-compass button{min-height:0;font-size:17px;padding:0}.workspace .interaction-compass small{font-size:8px}.workspace .interaction-facing .muted{margin:2px 0}
.interaction-submit{padding:10px 16px 4px;border-top:1px solid #29464d;background:#0a1c22;flex-shrink:0}.interaction-submit .interaction-result{margin-top:0;max-height:68px;overflow:auto;font-size:11px}.interaction-submit .interaction-description{max-height:100px;overflow:auto;margin:0 0 8px}.interaction-submit .interaction-confirm{margin-top:6px}.interaction-panel .interaction-scroll{flex:1}
.workspace.has-interaction{grid-template-columns:64px minmax(0,1fr) 380px}
.has-interaction .workspace-scenes{grid-column:2/-1}.has-interaction .workspace-stage{grid-column:2}
.interaction-panel{grid-column:3;grid-row:3;min-height:0;background:linear-gradient(140deg,#102328,#08171d);border-left:1px solid #35535e;display:flex;flex-direction:column;z-index:5}
.interaction-panel>header{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid #29464d}.interaction-panel h2{font-size:19px;margin:0}.interaction-panel header button{padding:4px;border:0;background:none}
.interaction-scroll{padding:0 16px 16px;overflow:auto;scrollbar-width:thin;overscroll-behavior:contain}.interaction-scroll section{padding:16px 0;border-bottom:1px solid #29464d}.interaction-step{display:flex;gap:12px;align-items:center;margin-bottom:14px}.interaction-step>b{background:#43d4cd;border-radius:50%;width:31px;height:31px;display:grid;place-items:center;font-size:17px;color:#07242a}.interaction-panel h3{margin:0 0 3px;font-size:15px}.interaction-panel small,.interaction-panel .muted{color:#a0bbc1;font-size:11px;line-height:1.5}
.interaction-people{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.interaction-people button{padding:5px 3px;flex-direction:column;gap:5px;justify-content:flex-start;font-size:10px;min-width:0}.interaction-people img{height:62px;width:100%;object-fit:cover;object-position:50% 15%;border-radius:5px;background:#203239}.interaction-people svg{height:52px;width:45px;color:#64babd}.interaction-people span{overflow-wrap:anywhere}
.interaction-object{display:flex;align-items:center;gap:12px;border:1px solid #31515b;border-left:3px solid #40d6d0;border-radius:8px;padding:7px}.interaction-object-art{width:78px;height:70px;flex-shrink:0;overflow:hidden;background:#183139;border-radius:6px;display:grid;place-items:center;font-size:10px}.interaction-object-art img{width:100%;height:100%;object-fit:contain}.interaction-object-art canvas{display:block}.interaction-object code{display:block;color:#9ab9c0;font-size:10px;margin-top:6px;overflow-wrap:anywhere}.interaction-object strong{font-size:13px}
.interaction-options{display:grid;grid-template-columns:1fr 1fr;gap:7px}.interaction-options button{justify-content:flex-start;font-size:12px;padding:9px;min-height:40px}.interaction-facing{margin-top:18px}.interaction-compass{display:grid;grid-template-columns:repeat(3,58px);grid-template-rows:repeat(3,48px);gap:4px;justify-content:center;margin:12px 0}.interaction-compass button{flex-direction:column;gap:0;font-size:21px;padding:1px}.interaction-compass button:nth-child(1){grid-column:2;grid-row:1}.interaction-compass button:nth-child(2){grid-column:1;grid-row:2}.interaction-compass button:nth-child(3){grid-column:2;grid-row:3}.interaction-compass button:nth-child(4){grid-column:3;grid-row:2}.interaction-compass small{font-size:9px}
.interaction-panel label{display:grid;gap:6px;margin-top:12px;font-size:12px}.interaction-panel input,.interaction-panel select{width:100%;min-width:0;background:#0a2028;border-color:#31525b;color:#edf5f4;min-height:36px;padding:8px;font-size:12px}.interaction-panel .interaction-confirm{width:100%;background:#44cec9;color:#06252b;border-color:#72eeea;font-weight:700;margin-top:12px;min-height:44px}.interaction-panel button:disabled{opacity:.45;cursor:not-allowed}.interaction-panel .interaction-cancel{width:100%;background:none;border:0;color:#98b9be;font-size:11px}.interaction-result{font-size:12px;color:#b7d4d7;line-height:1.6;margin-top:12px;overflow-wrap:anywhere}.interaction-description{font-size:12px;line-height:1.7;white-space:pre-wrap}.interaction-panel details{margin-top:12px}.interaction-panel summary{cursor:pointer;padding:8px 0;color:#b2cbd0;font-size:12px}
@media(max-width:1050px){.workspace.has-interaction{grid-template-columns:54px minmax(0,1fr) 320px}.has-interaction .party-dock .party-member{min-width:140px;width:140px}.interaction-scroll{padding-inline:12px}}
@media(max-width:700px){.workspace.has-interaction{grid-template-columns:48px minmax(0,1fr)}.interaction-panel{position:absolute;right:0;top:114px;bottom:56px;width:min(340px,calc(100% - 60px));box-shadow:-10px 0 30px #0008}.has-interaction .workspace-scenes{grid-column:2}.has-interaction .workspace-stage{grid-column:2}}
body:has(.workspace),body:has(.viewer-stage){overflow:hidden;background:#08171c}
body:has(.workspace) #language-panel,body:has(.viewer-stage) #language-panel{display:none}
.workspace{--cyan:#25e4eb;--gold:#f9bd4f;--line:#25434d;--panel:#091b21;position:fixed;inset:0;display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-rows:64px 50px minmax(0,1fr) 56px;color:#edf5f4;background:#09171b;font-size:14px}
.workspace button{min-height:36px;border:1px solid var(--line);background:linear-gradient(145deg,#112b32,#0a1a20);color:#e7eeee;border-radius:8px;padding:8px 12px;display:inline-flex;align-items:center;justify-content:center;gap:9px;box-shadow:none;font-size:13px;white-space:normal}
.workspace button:hover{border-color:#62a5ae;background:#15333b}
.workspace button.active,.workspace button.on-air{border-color:var(--cyan);background:#10353f;box-shadow:inset 0 0 0 1px #24d9e51a}
.workspace svg{width:21px;height:21px;flex-shrink:0}
.workspace button.gold,.workspace.mode-arrange .mode-switch button.active,.workspace.mode-workshop .mode-switch button.active{border-color:var(--gold);color:#211708;background:linear-gradient(130deg,#f2af35,#ffcf6a)}
.workspace-header{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid var(--line);gap:18px;z-index:6;background:#09191eee}
.workspace-brand{display:flex;align-items:center;gap:15px;color:white;letter-spacing:3px;font-size:20px;text-decoration:none;white-space:nowrap}
.workspace-brand svg{color:var(--gold);width:33px;height:36px}
.mode-switch{display:flex;border:1px solid var(--line);border-radius:12px;padding:3px;gap:3px}
.mode-switch button{border-color:transparent;background:none;min-width:118px}
.workspace-status{display:flex;align-items:center;gap:9px}.workspace-status button span{display:none}.workspace-status button{width:38px;padding:7px;border-color:transparent}
.workspace-status .connection{font-size:12px;color:#eaaf77;white-space:nowrap}.workspace-status .connected{color:#83e8e2}.connection::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;background:#e6a15b}.connection.connected::before{background:#31ec80;box-shadow:0 0 10px #31ec8060}
.workspace-rail{grid-column:1;grid-row:2/4;display:flex;flex-direction:column;align-items:center;gap:14px;padding:18px 8px;border-right:1px solid var(--line);z-index:4}.workspace-rail button{width:43px;height:43px;padding:10px;border-color:transparent}.workspace-rail button span{display:none}.rail-bottom{margin-top:auto}
.workspace-scenes{grid-column:2;grid-row:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 12px;border-bottom:1px solid var(--line);z-index:4}.scene-tabs{display:flex;gap:7px;min-width:0;overflow-x:auto;scrollbar-width:thin}.scene-tabs button{white-space:nowrap;min-height:36px}.scene-tabs button span{max-width:180px;overflow:hidden;text-overflow:ellipsis}.scene-tabs small{opacity:.6}.broadcast-dot{height:6px;width:6px;background:#2eeda7;border-radius:50%;flex-shrink:0}.broadcast-controls{display:flex;gap:6px;flex-shrink:0}.broadcast-controls button{font-size:12px}
.workspace-stage{grid-column:2;grid-row:3;position:relative;min-height:0;min-width:0;overflow:hidden;background:#122227}.workspace-stage .tactical-board{height:100%;border:0;border-radius:0;margin:0;display:block;position:relative;overflow:hidden;background:none}.workspace-stage #board-canvas{position:absolute;inset:0;width:100%;height:100%;min-height:0;aspect-ratio:auto;border:0;border-radius:0;touch-action:none}.workspace-stage #board-canvas canvas{display:block}
.workspace-stage .board-heading,.workspace-stage .world-route,.workspace-stage .board-vision{display:none}.workspace-stage .board-toolbar{position:absolute;right:12px;top:12px;z-index:3;border:0;padding:0;display:flex;gap:5px;background:none}.workspace-stage .board-toolbar .board-help{display:none}.workspace-stage .board-toolbar button{font-size:11px;padding:6px 9px;min-height:30px;background:#071920dd}.workspace-stage .board-status{position:absolute;bottom:96px;left:18px;padding:6px 10px;background:#071920bb;border-radius:5px;max-width:65%;font-size:11px;pointer-events:none;z-index:2;min-height:0}.workspace-stage .board-status:empty{display:none}
.workspace-stage .subtitle{position:absolute;left:50%;transform:translateX(-50%);bottom:104px;max-height:110px;width:min(720px,80%);overflow:auto;background:#07171ce8;border-radius:8px;font-size:14px;z-index:2}.workspace-stage .subtitle:not(:has(div:not(:empty))){display:none}.workspace-stage .speech-status{display:none}.workspace-stage .speech-replay{z-index:4;background:#091b21f0;border:1px solid #2be3e8;box-shadow:0 6px 22px #0007;border-radius:10px;padding:6px;width:300px}.workspace-stage .speech-replay button{min-height:32px;font-size:12px}
.party-dock{position:absolute;left:14px;bottom:14px;right:18px;z-index:3;pointer-events:none;display:flex}.party-dock .party{display:flex;gap:7px;overflow-x:auto;max-width:100%;padding:6px;background:#08191ee6;border:1px solid #29444d;border-radius:11px;margin:0;pointer-events:auto;scrollbar-width:thin}.party-dock .party-member{width:198px;min-width:165px;flex-shrink:0}.party-dock .party-member>button:last-child:not(.character){display:none}.party-dock .character{width:100%;display:block;padding:9px 10px;text-align:start;background:#0a1c22;min-height:64px}.party-dock .character.active,.party-dock .character.selected{border-color:var(--cyan)}.party-dock .character h3{font-size:12px;line-height:1.4;max-width:145px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin:0}.party-dock .portrait{height:32px;width:32px;font-size:22px;background:#16404a;display:flex;align-items:center;justify-content:center}.party-dock .character .row{gap:8px}.party-dock .character small{font-size:10px;display:block;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.party-dock .hp-label{font-size:10px;margin:3px 0;line-height:1}.party-dock .hp-label span:first-child,.party-dock .last-action{display:none}.party-dock .hp-track{height:4px}.party-dock .hp-track i{background:linear-gradient(90deg,#37ddbc,#76f8c5)}
.workspace-footer{grid-column:1/-1;grid-row:4;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:7px 18px;background:#09191eee;z-index:6;gap:8px}.footer-left,.footer-right{display:flex;align-items:center;gap:8px}.draft-status{font-size:11px;color:#99b1b8}.workspace-footer button{font-size:12px;min-height:34px}
.workspace-drawer{position:absolute;right:0;top:114px;bottom:56px;width:min(560px,calc(100% - 80px));background:#091b21fa;border-left:1px solid #35535e;box-shadow:-14px 0 40px #0004;z-index:8;display:flex;flex-direction:column;min-height:0}.workspace-drawer>header,.object-inspector>header{display:flex;align-items:center;justify-content:space-between;padding:18px;border-bottom:1px solid var(--line);gap:10px}.workspace-drawer h2,.object-inspector h2{font-size:18px;margin:0}.workspace-drawer>header button span,.object-inspector>header button[data-clear-object] span{display:none}.drawer-content{overflow:auto;min-height:0;padding:18px;scrollbar-width:thin;overscroll-behavior:contain}.drawer-content .cards{grid-template-columns:1fr}.drawer-content .card{padding:16px}.drawer-content .row{flex-wrap:wrap}.drawer-content .party{display:flex;flex-direction:column}.drawer-content .journal{max-height:none}.drawer-content .library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.drawer-content .library-toolbar{flex-wrap:wrap}.drawer-content .map-edit-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.drawer-content input,.object-inspector input,.object-inspector select{min-width:0;width:100%;background:#0b2027;border-color:#34535d;color:#eee}.drawer-content select{max-width:100%}.drawer-content .inspector{display:block;border:0;width:auto;padding:0;position:static}.drawer-content .two{grid-template-columns:1fr 1fr}.drawer-content .chip{white-space:normal}.workspace .panel-title{display:flex;align-items:center;justify-content:space-between}
.mode-workshop{grid-template-columns:64px 230px minmax(0,1fr) 350px}.mode-workshop .workspace-scenes{grid-column:2/-1}.mode-workshop .workspace-stage{grid-column:3/-1}.mode-workshop:has(.object-inspector) .workspace-stage{grid-column:3}.workspace-tree{grid-column:2;grid-row:3;min-height:0;overflow:auto;border-right:1px solid var(--line);padding:12px 9px;background:#0a1c21}.workspace-tree h3{font-size:14px}.workspace-tree .panel-title button{width:32px;padding:6px}.workspace-tree .panel-title button span{display:none}.workspace-tree details{margin:8px 0}.workspace-tree summary{cursor:pointer;padding:6px 3px;font-size:12px;color:#b4cbce}.workspace-tree summary button{display:inline-flex;background:none;border:0;padding:3px;text-align:start;max-width:90%}.workspace-tree .tree-entry{display:flex;justify-content:flex-start;gap:8px;width:100%;font-size:12px;white-space:normal;text-align:start;margin:4px 0;padding:8px 6px;background:none;border-color:transparent}.tree-entry span{min-width:0;overflow:hidden}.tree-entry small{display:block;font-size:9px;color:#87a3aa;overflow:hidden;text-overflow:ellipsis}.workspace button.selected-object{border-color:var(--gold);background:#493c1f66}.asset-dock{position:absolute;bottom:107px;left:12px;right:12px;display:flex;gap:5px;z-index:3;overflow-x:auto;background:#091b21e0;padding:7px;border:1px solid var(--line);border-radius:8px}.asset-dock button{font-size:11px;white-space:nowrap}.mode-workshop .board-status,.mode-workshop .subtitle{bottom:162px}.mode-workshop .party-dock .party-member{width:170px}
.object-inspector{grid-column:4;grid-row:3;min-height:0;display:flex;flex-direction:column;background:#091b21;border-left:1px solid var(--line);z-index:5}.object-inspector h2{font-size:16px}.object-id{font-size:10px!important;background:none!important;padding:3px!important;border:0!important;color:#9cb7be!important;word-break:break-all}.inspector-tabs{display:flex;padding:10px;gap:3px}.inspector-tabs button{flex:1;font-size:12px;min-width:0;padding:7px}.object-inspector-scroll{overflow:auto;min-height:0;padding:8px 18px 18px;scrollbar-width:thin}.object-inspector-scroll h3{font-size:14px;margin:10px 0 16px}.object-inspector-scroll label{font-size:12px}.object-inspector-scroll .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.object-inspector-scroll .check{display:flex;align-items:center;gap:10px}.object-inspector-scroll .check input{width:18px;height:18px}.object-inspector-scroll p{font-size:12px;color:#9fb5bc;line-height:1.6}.object-inspector-scroll section>button{margin:4px}.object-operations{display:flex;gap:4px;flex-wrap:wrap;margin:10px 0}.object-operations button{flex:1;flex-direction:column;font-size:10px;padding:7px 4px}.object-operations button[data-shell-action="delete-object"]{color:#f16a60}.part-row{display:flex;gap:8px;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line);font-size:11px}.arrange-palette{position:absolute;top:180px;left:50%;transform:translateX(-50%);background:#0a1b22ed;border:1px solid var(--gold);border-radius:10px;z-index:5;width:min(510px,70vw);padding:12px 16px;box-shadow:0 12px 40px #0006}.arrange-palette header{display:flex;align-items:center;justify-content:space-between}.arrange-palette header button span{display:none}.arrange-palette code{font-size:10px;color:#b3c4c7}.arrange-palette p{margin:3px;font-size:11px;color:#adc2c8}.mode-hint{position:absolute;top:12px;left:14px;background:#0a1b22bf;padding:9px;border-radius:7px;font-size:12px;pointer-events:none;z-index:2}
.viewer-stage{position:fixed;inset:0;background:#10191d}.viewer-stage .tactical-board{height:100%;margin:0;border:0;border-radius:0}.viewer-stage #board-canvas{position:absolute;inset:0;width:100%;height:100%;min-height:0;aspect-ratio:auto;border:0}.viewer-stage .board-heading,.viewer-stage .board-toolbar,.viewer-stage .board-status,.viewer-stage .world-route,.viewer-stage .board-vision,.viewer-stage .speech-status,.viewer-stage .speech-replay{display:none!important}.viewer-stage .subtitle{display:none;position:absolute;bottom:25px;left:50%;transform:translateX(-50%);width:min(840px,86%);border-radius:10px;background:#07171cce;color:white;padding:12px 20px;font-size:18px;pointer-events:none}.viewer-stage.speaking .subtitle{display:grid}.viewer-controls{position:absolute;bottom:18px;right:18px;display:flex;gap:8px;z-index:9;opacity:0;transition:opacity .25s}.viewer-stage.controls-visible .viewer-controls,.viewer-controls:focus-within{opacity:1}.viewer-controls button{width:44px;height:44px;border-radius:50%;background:#07171cb3;border:1px solid #7b979d88;padding:10px}.viewer-controls svg{width:22px;height:22px}.viewer-controls span{display:none}
@media(max-width:1400px){.workspace{grid-template-columns:56px minmax(0,1fr);grid-template-rows:58px 46px minmax(0,1fr) 50px}.workspace-header{padding:0 13px;gap:12px}.workspace-brand{font-size:16px;letter-spacing:2px}.mode-switch button{min-width:100px}.mode-workshop{grid-template-columns:56px 205px minmax(0,1fr) 320px}.workspace-drawer{top:104px;bottom:50px}.workspace-scenes{padding:4px 8px}.scene-tabs button span{max-width:160px}.party-dock .party-member{width:180px}.object-inspector-scroll{padding:8px 12px 16px}.workspace-status{gap:6px}.broadcast-controls button{padding:7px}.asset-dock button{padding:6px}}
@media(max-width:1000px){.workspace-brand strong{display:none}.workspace-status .connection{font-size:0}.mode-workshop{grid-template-columns:52px 170px minmax(0,1fr)}.mode-workshop .object-inspector{position:absolute;right:0;top:104px;bottom:50px;width:320px}.mode-workshop:has(.object-inspector) .workspace-tree{visibility:hidden}.mode-workshop:has(.object-inspector) .workspace-stage{grid-column:2/-1;margin-right:320px}.broadcast-controls button span{display:none}.workspace-footer .draft-status{max-width:120px}.footer-right button:last-child{display:none}.party-dock .party-member{width:150px;min-width:150px}.workspace-stage .board-toolbar{max-width:75%;overflow:auto}.workspace-drawer{width:min(560px,calc(100% - 52px))}}
@media(max-width:650px){.workspace{grid-template-columns:45px minmax(0,1fr)}.workspace-header{gap:6px;padding:0 8px}.mode-switch button{min-width:0;padding:8px;font-size:11px}.workspace-status button{width:30px}.workspace-status button[data-do="undo"]{display:none}.workspace-brand svg{width:24px}.workspace-scenes{grid-column:2}.workspace-rail{padding:10px 2px}.workspace-rail button{width:36px}.scene-tabs button span{max-width:100px}.mode-workshop .workspace-tree{display:none}.mode-workshop .workspace-stage,.mode-workshop:has(.object-inspector) .workspace-stage{grid-column:2;margin:0}.mode-workshop .object-inspector{width:calc(100% - 45px)}.workspace-footer{padding:5px 8px}.workspace-footer button span{display:none}.workspace-footer .gold span{display:block}.workspace-stage .board-status{max-width:90%;bottom:104px}.workspace-stage .speech-replay{width:260px}.asset-dock{display:none}.workspace-status .connection{display:none}.arrange-palette{left:calc(50% + 22px);width:calc(100vw - 70px)}.viewer-stage .subtitle{font-size:14px}}

.edit-switch{display:flex;gap:3px;padding-left:8px;border-left:1px solid var(--line)}
.edit-switch button{font-size:11px;min-height:32px}
.workspace .party-dock .character{display:block;min-height:0;padding:8px 10px;text-align:left}
.workspace .party-dock .character .row{display:flex;flex-direction:row;align-items:center;gap:8px;flex-wrap:nowrap}
.workspace .party-dock .character h3{margin:0;font-size:12px}
.workspace .party-dock .character .portrait{width:34px;height:34px;flex-shrink:0}
.workspace .party-dock .character .hp-label{margin:3px 0;font-size:10px}
.viewer-stage .float-cue{display:none!important}
/* Context actions use the full right edge, leaving the scene and its controls visible. */
.workspace.has-interaction .workspace-header,.workspace.has-interaction .workspace-footer{grid-column:1/3}
.workspace.has-interaction .workspace-scenes{grid-column:2}
.workspace.has-interaction .interaction-panel{grid-row:1/-1}
.workspace .interaction-people button{padding:5px 3px;gap:4px;font-size:10px;min-height:0}
.workspace .interaction-step h3{line-height:1.2;margin:0 0 3px}.workspace .interaction-step small{line-height:1.2}
@media(max-width:700px){.workspace.has-interaction .interaction-panel{top:0;bottom:0;z-index:10}}
/* Reference action workspace: 52 px header, edge-to-edge scene and full-height inspector. */
.workspace.context-workspace{--cyan:#48d1cd;--line:#344a52;grid-template-columns:minmax(0,1fr) clamp(360px,25.24vw,450px);grid-template-rows:52px minmax(0,1fr);font-family:Arial,sans-serif;background:#111b1e}
.workspace.context-workspace .workspace-header{grid-column:1;grid-row:1;justify-content:flex-start;gap:14px;padding:0 25px;background:linear-gradient(120deg,#0b161a,#1a2326)}
.context-workspace .workspace-brand{font-size:20px;letter-spacing:3px;gap:13px}.context-workspace .workspace-brand strong{display:block}.context-workspace .workspace-brand svg{width:32px;height:36px}
.context-scene-name{font-size:18px;border-inline:1px solid #62767c;padding:0 22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.context-gm{display:flex;align-items:center;gap:8px;font-size:12px;border:1px solid #354b52;border-radius:20px;padding:7px 10px;white-space:nowrap;color:#c7d4d8}.context-gm svg{width:12px;height:12px;color:#66d5be}.workspace .context-world{margin-left:auto;height:38px;min-width:128px;font-size:17px;padding:7px 13px;white-space:nowrap}
.workspace.context-workspace .workspace-stage{grid-row:2;grid-column:1}.workspace.context-workspace .interaction-panel{grid-row:1/-1;grid-column:2;position:relative;inset:auto;width:auto;background:linear-gradient(125deg,#182124,#0b191e);border-left:1px solid #45595d}
.context-workspace .board-toolbar,.context-workspace .board-status,.context-workspace .speech-status,.context-workspace .world-route,.context-workspace .board-vision{display:none!important}.context-workspace .subtitle{bottom:155px}
.context-bottom{position:absolute;bottom:13px;left:15px;right:15px;height:135px;display:grid;grid-template-columns:43% minmax(0,1fr);gap:18px;border:1px solid #44616a;border-radius:13px;background:linear-gradient(125deg,#102027f0,#172125ef);padding:12px 13px;z-index:4}
.context-party{display:flex;gap:10px;overflow:auto;align-items:flex-start;scrollbar-width:thin}.workspace .context-character{min-width:164px;flex:1;height:80px;padding:0 5px 0 0;display:flex;gap:8px;background:#14242a;border:1px solid #2f4b53;text-align:left;justify-content:flex-start}.context-character>span:last-child{display:flex;flex:1;min-width:0;height:64px;flex-direction:column;justify-content:space-between;padding:7px 3px}.context-character strong{font-size:12px;line-height:1.2}.context-character .character-portrait{width:70px;height:76px;flex-shrink:0;position:relative}.context-character .character-portrait::after{content:'';position:absolute;bottom:6px;right:0;width:10px;height:10px;border:3px solid #132328;border-radius:50%;background:#5cdcad}.context-hp{height:6px;width:100%;background:#223c40;border-radius:7px;overflow:hidden;display:block}.context-hp>i{height:100%;background:#69d9af;display:block;border-radius:7px}.context-character.selected .character-portrait{border-color:#5ee2de}
.context-journal{min-width:0;overflow:hidden}.workspace .context-journal>button{height:27px;min-height:0;padding:4px 14px;min-width:138px;justify-content:flex-start;font-size:13px;background:none}.context-journal>button svg{width:15px;height:15px}.context-journal .journal{padding:0;margin:0;background:none;border:0;display:block}.context-journal .event{display:flex;align-items:center;gap:16px;border-bottom:1px solid #2b4148;padding:5px 13px;font-size:12px;min-height:25px;margin:0;background:none}.context-journal .event>div{min-width:0;flex:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.context-journal .event-mark{color:#edb94b}.context-journal .source{display:none}.context-journal time{color:#9aacb2;font-size:10px}.context-journal .empty{padding:10px;font-size:12px}
.workspace.context-workspace .interaction-panel>header{height:58px;min-height:58px;padding:0 18px 0 20px;box-sizing:border-box}.context-workspace .interaction-panel h2{font-size:22px;letter-spacing:.1px}.workspace.context-workspace .interaction-panel header button{padding:3px;min-height:26px;background:none;border:0}
.context-workspace .interaction-scroll{padding:0 17px 0 19px;min-height:0;flex:1;overflow:auto}.workspace.context-workspace .interaction-scroll section{padding:8px 0 14px;border-bottom:1px solid #283a40}.workspace.context-workspace .interaction-step{gap:16px;align-items:flex-start;margin-bottom:10px}.workspace.context-workspace .interaction-step>b{width:34px;height:34px;min-width:34px;font-size:20px;font-weight:400;background:linear-gradient(140deg,#50d8d0,#32bebd);border:1px solid #69e0db}.workspace.context-workspace .interaction-step h3{font-size:18px;margin:0 0 3px;line-height:23px}.workspace.context-workspace .interaction-step small{font-size:13px;line-height:17px;color:#aac0c9}
.context-workspace .interaction-people{gap:12px;align-items:start}.workspace.context-workspace .interaction-people button{border:0;box-shadow:none;background:none;padding:0;font-size:12px;line-height:16px;gap:4px;min-height:0;font-weight:400}.character-portrait{display:block;width:100%;aspect-ratio:1;border:1px solid #435a64;border-radius:9px;background:linear-gradient(135deg,#253239,#132028);overflow:hidden}.character-portrait img{width:100%;height:100%;object-fit:cover;object-position:center top}.character-portrait>svg{width:100%;height:100%;padding:18%;color:#89aaae}.interaction-people button.active .character-portrait{border:2px solid #65dfd9;box-shadow:0 0 0 1px #39b8b766}.workspace.context-workspace .interaction-people img{height:100%;border-radius:0;background:none}.workspace.context-workspace .interaction-people svg{height:100%;width:100%}.workspace.context-workspace .interaction-who{min-height:193px}.workspace.context-workspace .interaction-what{min-height:148px}
.workspace.context-workspace .interaction-object{display:flex;width:100%;height:75px;min-height:0;text-align:left;justify-content:flex-start;gap:12px;padding:4px 7px;border-left:3px solid #47d5d0;background:linear-gradient(135deg,#233137,#16242a)}.workspace.context-workspace .interaction-object-art{width:95px;height:65px;background:#26363c;border-radius:5px;flex-shrink:0}.interaction-object>span:nth-child(2){min-width:0;flex:1}.context-workspace .interaction-object strong{font-size:13px}.context-workspace .interaction-object code{font-family:inherit;font-size:12px;margin-top:10px;color:#a6bbc3}.interaction-object>svg:last-child{width:17px;height:17px}
.workspace.context-workspace .interaction-options{gap:7px 9px}.workspace.context-workspace .interaction-options button{height:44px;min-height:44px;padding:6px 20px;justify-content:flex-start;font-size:14px;font-weight:600;gap:18px;background:linear-gradient(135deg,#1e3038,#17262c);border-color:#435a64}.workspace.context-workspace .interaction-options button.active{background:linear-gradient(120deg,#205b62,#29515a);border:2px solid #69ece5;padding:5px 19px}.context-workspace .interaction-options svg{width:25px;height:25px}
.workspace.context-workspace .interaction-facing{display:block;margin-top:16px}.context-workspace .interaction-facing h3{font-size:16px;margin-bottom:2px}.context-workspace .interaction-facing>small{font-size:12px;color:#a3bdc6}.interaction-facing-row{display:grid;grid-template-columns:156px minmax(0,1fr);gap:18px;margin-top:5px;align-items:center}.workspace.context-workspace .interaction-compass{display:grid;grid-template-columns:repeat(3,38px);grid-template-rows:repeat(3,38px);gap:0;justify-content:center;margin:0;align-self:center;padding:4px 0}.workspace.context-workspace .interaction-compass button{width:40px;height:40px;min-height:0;border-radius:11px;transform:rotate(45deg);padding:0;background:linear-gradient(145deg,#243e48,#15262e);border-color:#567480;font-size:22px}.interaction-compass button span{transform:rotate(-45deg);display:block}.workspace.context-workspace .interaction-compass button.active{background:linear-gradient(135deg,#3f929a,#173b45);border-color:#58e0db}.interaction-compass button:nth-child(1){grid-row:1;grid-column:2}.interaction-compass button:nth-child(2){grid-row:2;grid-column:1}.interaction-compass button:nth-child(3){grid-row:3;grid-column:2}.interaction-compass button:nth-child(4){grid-row:2;grid-column:3}
.interaction-preview{height:125px;min-width:0;position:relative;border:1px solid #49606b;border-radius:10px;overflow:hidden;background:#17292c}.interaction-camera{position:absolute;inset:0}.interaction-camera canvas{display:block;width:100%;height:100%}.workspace.context-workspace .interaction-preview select{position:absolute;top:0;left:50%;transform:translateX(-50%);max-width:95%;width:auto;min-height:23px;height:23px;font-size:11px;border-radius:5px;padding:1px 4px;background:#101b21e8;text-overflow:ellipsis}
.workspace.context-workspace .interaction-how{border:0;padding-bottom:0}.context-workspace .interaction-submit{padding:7px 17px 10px 19px;border:0;background:none}.workspace.context-workspace .interaction-submit .interaction-confirm{margin:0;height:45px;min-height:45px;font-size:16px;background:linear-gradient(120deg,#51d8d0,#40c6c3);border:1px solid #78efe7;border-radius:7px;color:#001b23;gap:16px}.interaction-confirm svg{height:26px;width:26px}.workspace.context-workspace .interaction-cancel{padding:4px;height:25px;min-height:25px;font-size:11px;color:#7295a7}.context-workspace .interaction-more{margin:0;border:1px solid #2c434c;border-radius:7px;padding:0 9px 5px;background:#17262cf0}.context-workspace .interaction-more summary{font-size:11px;font-weight:600;padding:5px 0 7px;color:#e2ebed}.workspace.context-workspace .interaction-more button{height:33px;min-height:33px;font-size:12px;padding:4px 12px;gap:16px}.context-workspace .interaction-more svg{width:20px;height:20px}.workspace.context-workspace .interaction-delete{color:#f16857;border-color:#95473d;background:#422a2b55}.context-workspace .interaction-result{font-size:12px;padding:4px 0;line-height:1.4;max-height:70px}.context-workspace .interaction-result[hidden]{display:none}
@media(max-height:820px){.workspace.context-workspace .interaction-who{min-height:0}.workspace.context-workspace .interaction-what{min-height:0}.workspace.context-workspace .interaction-scroll section{padding-top:8px;padding-bottom:10px}.workspace.context-workspace .interaction-step{margin-bottom:7px}.context-workspace .interaction-people .character-portrait{max-height:64px}.workspace.context-workspace .interaction-facing{margin-top:10px}.context-workspace .interaction-facing-row{gap:8px}.context-bottom{height:112px}.workspace.context-workspace .interaction-panel h2{font-size:20px}.context-workspace .interaction-preview{height:105px}}
@media(max-width:1150px){.context-workspace .context-scene-name{font-size:14px;padding:0 10px}.context-workspace .workspace-brand strong{display:none}.context-gm{display:none}.context-bottom{grid-template-columns:1fr;height:auto;min-height:95px}.context-journal{display:none}.workspace.context-workspace .workspace-header{padding:0 14px}.context-workspace .context-world{min-width:90px;font-size:14px}}
@media(max-width:720px){.workspace.context-workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:52px minmax(0,1fr)}.workspace.context-workspace .interaction-panel{position:absolute;right:0;top:52px;bottom:0;width:min(380px,90vw);z-index:9}.context-bottom{right:0;left:0;bottom:0}.context-scene-name{max-width:40vw}}
/* Final reference spacing; allow long authored names without widening the inspector. */
.workspace.context-workspace .interaction-what{min-height:145px}
.workspace.context-workspace .interaction-facing{margin-top:12px}
.context-workspace .interaction-panel h2{font-size:24px}
.context-workspace .interaction-options{grid-template-columns:repeat(2,minmax(0,1fr))}
.context-workspace .interaction-options button{min-width:0;overflow-wrap:anywhere}
.context-workspace .interaction-submit{padding-bottom:7px}
.context-workspace .interaction-more{padding-bottom:8px}
.context-workspace .interaction-more summary{height:26px}
.workspace.context-workspace .interaction-more button{height:34px;min-height:34px}
@media(max-height:820px){.workspace.context-workspace .interaction-what{min-height:0}.context-workspace .interaction-panel h2{font-size:20px}}
.character-portrait.has-sprite img{transform:scale(2.4);transform-origin:50% 0%}
@media(min-height:821px){.workspace.context-workspace .interaction-who{min-height:190px}.workspace.context-workspace .interaction-facing{margin-top:10px}}
.context-workspace .interaction-submit{padding-bottom:8px}
@media(max-width:1450px){.workspace.context-workspace .interaction-options button{padding:6px 9px;gap:10px;font-size:12px;overflow-wrap:normal}.workspace.context-workspace .interaction-options button.active{padding:5px 8px}.context-workspace .interaction-options svg{width:22px;height:22px}.context-workspace .interaction-facing-row{grid-template-columns:128px minmax(0,1fr);gap:10px}.context-workspace .context-party{scrollbar-width:thin}.context-workspace .context-character{min-width:140px}.context-character .character-portrait{width:61px;height:72px}.context-workspace .context-character strong{font-size:11px}}
.context-workspace .subtitle{display:none}.context-workspace.speaking .subtitle{display:grid}

.board-toolbar button svg,.character-actions button svg{width:18px;height:18px;vertical-align:middle;flex-shrink:0}.workspace-stage .board-toolbar{max-width:calc(100% - 24px);flex-wrap:wrap;justify-content:flex-end}.workspace-stage .board-toolbar button.active{border-color:var(--cyan);background:#16454d;color:#eaffff}.character-actions button:has(svg){display:flex;align-items:center;justify-content:center;gap:6px}

/* The map owns actor selection; the action panel shows only that context. */
.workspace.context-workspace .interaction-who{min-height:0}
.interaction-current-actor{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid #50d4ce;border-radius:9px;background:linear-gradient(110deg,#16464a,#13272d);box-shadow:inset 3px 0 #54dcd5}
.interaction-current-actor .character-portrait{width:64px;height:64px;flex:0 0 64px;border:2px solid #65dfd9}
.interaction-current-actor>span:not(.character-portrait){display:grid;gap:6px;min-width:0;flex:1}
.interaction-current-actor strong{font-size:15px;overflow-wrap:anywhere}
.interaction-current-actor small{color:#80dfd9;font-size:12px}
.interaction-current-actor>svg{width:20px;height:20px;color:#65dfd9;flex-shrink:0}
.interaction-current-actor p{margin:0;color:#b2c6cd}

#modal.brightness-dialog{margin:76px 18px auto auto;width:min(360px,calc(100vw - 36px));max-height:calc(100vh - 100px)}
#modal.brightness-dialog::backdrop{background:transparent;backdrop-filter:none}
.brightness-dialog input[type=range]{width:100%;accent-color:var(--accent,#42d9d0)}
.brightness-dialog output{float:right;font-variant-numeric:tabular-nums}
.brightness-dialog .check{display:flex;align-items:center;gap:10px}.brightness-dialog input[type=checkbox]{width:18px;height:18px;min-height:18px;margin:0}.brightness-dialog .form-grid{gap:12px}.brightness-dialog p{margin:0}.brightness-dialog h3{margin:4px 0}.brightness-dialog input[type=range]{padding:0;min-height:28px}.brightness-dialog h2{margin:0 0 14px}

.portrait[data-portrait]{overflow:hidden}.portrait[data-portrait] img{display:block;width:100%;height:100%;object-fit:cover}

.motion-pose-fields{display:grid;gap:6px}.motion-pose-fields label{display:grid;gap:2px;margin:0}.motion-pose-fields input{padding:4px;margin:0}#pose-editor p{font-size:.8rem}.motion-editor-grid #motion-stage{min-width:180px!important}@media(min-width:760px){.motion-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}}

.motion-gallery-nav{display:flex;align-items:center;justify-content:space-between;gap:12px}.motion-gallery-nav [role=status]{white-space:nowrap;font-variant-numeric:tabular-nums}.motion-loop{display:flex;align-items:center;gap:8px;margin:.5rem 0}.motion-loop input{width:auto}.motion-gallery-nav button{flex:1}@media(max-width:500px){.motion-gallery-nav{gap:6px}.motion-gallery-nav button{padding:10px 6px}}

#modal:has(.motion-gallery-nav){width:min(880px,95vw)}
.motion-gallery-nav+#motion-stage{height:clamp(220px,42vh,360px)!important;margin-top:10px}
.motion-preview-controls{display:flex!important;flex-direction:row!important;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}
.motion-preview-controls select{width:auto;max-width:100%;flex:1}
.motion-preview-controls input[type=range]{width:100%;flex-basis:100%}
#modal:has(.motion-gallery-nav) .muted{font-size:12px;line-height:1.4;margin:6px 0}

dialog.character-inspector{width:min(1050px,94vw);max-width:94vw}.character-view-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(210px,1fr);gap:24px}#character-live-preview{height: min(48vh,520px);min-height:280px}.character-stat{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #ffffff15;padding:8px 0}.character-stat dd{margin:0;font-weight:700}#character-live-stats{max-height:48vh;overflow:auto}@media(max-width:700px){.character-view-grid{grid-template-columns:1fr}#character-live-preview{height:48vh}#character-live-stats{max-height:none}}

@media(min-width:651px){.arrange-palette{left:auto;right:14px;top:120px;bottom:auto;transform:none;width:290px;max-height:calc(100vh - 215px);overflow:auto}}

.component-editor details{border-top:1px solid #43605e;padding:8px 0}.component-editor summary{cursor:pointer}.component-axes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.component-axes input{width:100%;min-width:0}.component-editor fieldset{min-width:0;margin:0;padding:6px;border:1px solid #43605e}

.component-editor .check{display:flex;align-items:center;gap:8px}.component-editor .check input{width:18px;height:18px;min-height:18px;flex:0 0 18px;margin:0}.component-editor input{padding:6px;min-height:32px}
