:root{--bg:#0f1320;--panel:#171d2d;--panel2:#20283a;--text:#f3f6fb;--muted:#9fa9bd;--line:#30394d;--accent:#69d6a3;--accent2:#8eb8ff;--danger:#ff7d8f}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#0d111b,#121827);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{border:0;border-radius:10px;background:var(--accent);color:#07140e;font-weight:750;padding:.72rem 1rem;cursor:pointer}button.secondary{background:#283249;color:#eaf0fb}button.ghost{background:transparent;color:var(--muted);padding:.45rem .6rem}.top{height:64px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(16px,4vw,54px);background:rgba(14,18,29,.86);backdrop-filter:blur(14px);position:sticky;top:0;z-index:20}.brand{font-size:1.08rem;font-weight:600}.brand b{color:var(--accent)}.brand span{font-size:.65rem;background:#263048;color:var(--muted);padding:.2rem .35rem;border-radius:6px;margin-left:.45rem}.top nav{display:flex;gap:.8rem;align-items:center;color:var(--muted);font-size:.88rem}.top form{margin:0}.shell{width:min(1240px,calc(100% - 32px));margin:32px auto 64px}.page-head,.editor-head,.row,.between{display:flex;align-items:center}.page-head,.editor-head,.between{justify-content:space-between}.page-head h1,.editor-head h1{margin:0 0 .35rem}.page-head p,.editor-head p,.card p{color:var(--muted);margin:.25rem 0}.card{background:rgba(24,30,46,.94);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 45px rgba(0,0,0,.12)}.grid{display:grid;gap:16px}.customers{grid-template-columns:repeat(auto-fit,minmax(330px,1fr))}.games,.scenes{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.customer{padding:20px}.customer h2,.game h2,.scene h2{margin:.1rem 0}.muted,.tiny,.hint{color:var(--muted)}.tiny{font-size:.78rem}.hint{font-size:.86rem}.badge{display:inline-block;background:#27344a;color:#d6e5ff;font-size:.72rem;padding:.25rem .5rem;border-radius:999px;margin:.25rem .25rem .25rem 0}.badge.danger{background:#522b35;color:#ffd6dc}.meter{height:8px;background:#101522;border-radius:999px;overflow:hidden;margin:14px 0 7px}.meter.wide{margin:0 0 24px}.meter i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:inherit}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}.stat{padding:18px 20px;background:#171d2d;border:1px solid var(--line);border-radius:14px}.stat b{font-size:1.35rem;display:block}.stat span{color:var(--muted);font-size:.82rem}.game,.scene{padding:18px;display:flex;gap:14px;align-items:center;transition:.15s ease}.game:hover,.scene:hover{transform:translateY(-2px);border-color:#46536f}.game-icon{width:58px;height:58px;border-radius:14px;display:grid;place-items:center;background:#233047;color:var(--accent);font-size:1.8rem}.game p{margin:.25rem 0 .55rem}.game span{font-size:.8rem;color:var(--accent)}.scene-thumb{width:72px;height:52px;border-radius:10px;background:linear-gradient(135deg,#2e3850,#171d2d);display:grid;place-items:center;color:var(--muted);font-size:.75rem}.stack{display:grid;gap:14px}.cols,.quota{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quota{margin-top:12px}.quota .check{align-self:end;padding-bottom:.8rem}label{display:grid;gap:6px;color:#cdd5e4;font-size:.84rem}input,select{width:100%;background:#0e1421;color:var(--text);border:1px solid #35405a;border-radius:10px;padding:.72rem .8rem;outline:none}input:focus,select:focus{border-color:var(--accent2)}dialog{width:min(560px,calc(100% - 30px));border:1px solid var(--line);background:#171d2d;color:var(--text);border-radius:18px;padding:22px;box-shadow:0 40px 100px #0008}dialog::backdrop{background:#05070bb8;backdrop-filter:blur(4px)}details{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}summary{cursor:pointer;color:#bbc5d8}.login-card{width:min(430px,100%);margin:10vh auto;padding:28px}.login-card h1{margin:0}.flash{padding:12px 16px;border-radius:12px;margin-bottom:16px;background:#1f4637;color:#c8ffe8}.flash.err{background:#4c2630;color:#ffd9df}.breadcrumbs{font-size:.8rem;color:var(--muted);margin-bottom:15px}.breadcrumbs a{color:#cad8f2}.editor-head{margin-bottom:18px}.segmented{display:flex;background:#111725;border:1px solid var(--line);padding:4px;border-radius:12px}.segmented button{background:transparent;color:var(--muted);padding:.6rem .8rem}.segmented button.active{background:#2a354d;color:#fff}.editor-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);gap:18px}.editor-card,.preview-card{padding:16px}.toolrow{display:flex;gap:12px;align-items:center;margin-bottom:12px}.toolrow span{color:var(--muted);font-size:.82rem}.scene-canvas-wrap{aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:radial-gradient(circle at 50% 40%,#26324a,#101522);position:relative;border:1px solid #2f3950}.scene-canvas-wrap img{position:absolute;width:100%;height:100%;object-fit:contain;left:0;top:0}.scene-canvas-wrap canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.scene-canvas-wrap.marking{cursor:crosshair}#scenePlaceholder{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:7px;color:#cdd7e8}#scenePlaceholder span{color:var(--muted);font-size:.85rem}.uploadline{display:flex;gap:9px;margin-top:12px}.uploadline input{flex:1}.save{width:100%;margin-top:10px}.preview-frame{aspect-ratio:16/9;background:#090d15;border:1px solid #2f3950;border-radius:12px;overflow:hidden;position:relative;margin-top:10px}.preview-frame iframe{border:0;width:100%;height:100%;background:#090d15}.preview-frame #previewMissing{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:8px;background:#101522}.preview-frame code{color:var(--accent);background:#08100c;padding:.5rem;border-radius:8px}.preview-card h2{margin:0;font-size:1rem}.preview-card p{margin:.15rem 0}.customer details button{grid-column:1/-1}@media(max-width:900px){.editor-layout{grid-template-columns:1fr}.editor-head{align-items:flex-start;gap:15px;flex-direction:column}.preview-card{order:2}}@media(max-width:620px){.shell{width:min(100% - 20px,1240px);margin-top:18px}.top{padding:0 12px}.top nav>span{display:none}.page-head{align-items:flex-start;gap:12px}.stats{grid-template-columns:1fr}.customers,.games,.scenes{grid-template-columns:1fr}.cols,.quota{grid-template-columns:1fr}.uploadline{flex-direction:column}.segmented{width:100%}.segmented button{flex:1}}

/* v002: grosser Szeneneditor und echte Spielvorschau im neuen Tab */
[hidden]{display:none!important}
.shell{width:min(1580px,calc(100% - 28px))}
a.button{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:var(--accent);color:#07140e;font-weight:750;padding:.72rem 1rem;cursor:pointer}
a.button.secondary{background:#283249;color:#eaf0fb}
a.button.play{background:linear-gradient(135deg,var(--accent),#8de6ba);color:#07140e}
.head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.editor-wide{padding:16px;margin-bottom:18px}
.editor-tools{flex-wrap:wrap}
button.success{background:#2c8d65;color:#fff}
.scene-canvas-wrap.large{width:100%;aspect-ratio:16/9;min-height:520px;max-height:none}

.compact{padding:14px;background:#111725;border:1px solid var(--line);border-radius:12px}
.compact h3,.asset-card h2{margin:0}





.inline-check{display:flex;align-items:center;gap:8px;padding:.65rem .1rem}.inline-check input{width:auto}
.badge.warn{background:#55421d;color:#ffe3a1}
.danger-button{background:#522b35;color:#ffd6dc;padding:.55rem .75rem}
.asset-card{padding:18px;margin-top:18px}
.asset-list{display:grid;gap:8px;margin-top:14px}
.asset-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#111725}
.asset-row>div{display:grid;gap:2px}.asset-row span{font-size:.78rem;color:var(--muted)}.asset-row form{margin:0}
#previewMissing[hidden]{display:none!important}
@media(max-width:950px){.scene-canvas-wrap.large{min-height:0}.head-actions{justify-content:flex-start}.editor-head{align-items:flex-start}}
button.play-button{background:linear-gradient(135deg,var(--accent),#8de6ba);color:#07140e}


/* v003: Editor wirklich als grosse Arbeitsflaeche */
.shell.wide{width:min(1760px,calc(100% - 24px));margin-top:18px}
.shell.wide .editor-card{padding:18px}
.shell.wide .scene-canvas-wrap.large{width:100%;min-height:620px;box-shadow:inset 0 0 0 1px #3a4761}
.shell.wide .editor-tools{position:sticky;top:72px;z-index:8;background:#171d2df5;border:1px solid var(--line);border-radius:12px;padding:10px;backdrop-filter:blur(10px)}

#floorCanvas{z-index:4}
#sceneImage{z-index:1}
@media(max-width:1100px){.shell.wide .scene-canvas-wrap.large{min-height:0}.shell.wide .editor-tools{position:static}}

/* v004: editor behaves like a graphics application: fixed workspace, resizable stage, tool rail/drawer and contextual inspector. */
body.editor-mode{height:100vh;overflow:hidden}
body.editor-mode .top{height:54px;min-height:54px;position:relative;padding:0 18px}
body.editor-mode .shell.wide{width:100%;height:calc(100vh - 54px);margin:0;padding:0;max-width:none;overflow:hidden}
.editor-app{height:100%;display:flex;flex-direction:column;min-height:0;background:#0c111c}
.editor-appbar{height:64px;min-height:64px;display:grid;grid-template-columns:minmax(260px,1fr) auto minmax(430px,1fr);align-items:center;gap:16px;padding:7px 14px;border-bottom:1px solid var(--line);background:#121827}
.editor-title{min-width:0}.editor-title h1{font-size:1.08rem;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.breadcrumbs.compact{margin:0;font-size:.78rem}.breadcrumbs.compact.editor-path{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#b7c2d5}.breadcrumbs.compact.editor-path span{color:#f3f6fb;font-weight:650}.title-row{gap:8px}
.editor-app-status{text-align:center;font-size:.78rem;color:#85dcb3;background:#10231b;border:1px solid #1d513b;border-radius:999px;padding:5px 11px}.editor-app-status.dirty{color:#ffd687;background:#2d2614;border-color:#5c4b22}
.editor-app-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.segmented.mini button{padding:.42rem .62rem;font-size:.78rem}.editor-app-actions>button{padding:.55rem .8rem}
.editor-workspace{flex:1;min-height:0;display:flex;overflow:hidden;position:relative}
.tool-rail{width:64px;min-width:64px;border-right:1px solid var(--line);background:#111725;display:flex;flex-direction:column;align-items:stretch;padding:7px 5px;gap:5px;z-index:9}.rail-spacer{flex:1}.rail-button,.rail-toggle{background:transparent;color:#b7c0d1;border:1px solid transparent;padding:6px 3px;border-radius:9px;display:grid;place-items:center;gap:1px;min-height:48px}.rail-button span,.rail-toggle{font-size:1.05rem}.rail-button small{font-size:.59rem;font-weight:600}.rail-button:hover,.rail-button.active,.rail-toggle:hover{background:#263149;color:#fff;border-color:#36435f}
.tool-drawer{width:0;min-width:0;overflow:hidden;border-right:0 solid var(--line);background:#171d2d;transition:width .16s ease,min-width .16s ease,border-width .16s ease;z-index:8}.tool-drawer.open{width:260px;min-width:260px;border-right-width:1px}.drawer-head{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 10px 0 14px;border-bottom:1px solid var(--line);white-space:nowrap}.drawer-panel{display:none;height:calc(100% - 44px);overflow:auto;padding:13px}.drawer-panel.active{display:block}.compact-form{gap:8px}.compact-form input{font-size:.8rem}.drawer-info{display:grid;margin-top:12px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#111725}.drawer-info span{font-size:.72rem;color:var(--muted)}
.drawer-list{display:grid;gap:6px;margin-top:12px}.drawer-item{display:flex;width:100%;gap:9px;align-items:center;text-align:left;background:#111725;color:#eaf0fb;border:1px solid #2c3850;padding:8px;border-radius:9px}.drawer-item:hover,.drawer-item.selected{border-color:#7aa7ee;background:#202c43}.drawer-icon{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;background:#27344a;color:#9ec2ff}.drawer-item-text{min-width:0;display:grid;gap:1px}.drawer-item-text b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.78rem}.drawer-item-text small{font-size:.67rem;color:var(--muted)}.empty-note{padding:10px 2px;font-size:.8rem}
.stage-area{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;background:radial-gradient(circle at 50% 35%,#1b263b,#090d15 72%)}.stage-viewport{flex:1;min-height:0;min-width:0;display:grid;place-items:center;overflow:hidden;padding:6px}.scene-canvas-wrap.editor-stage{position:relative;overflow:hidden;border-radius:8px;background:#070a10;border:1px solid #3c4861;box-shadow:0 18px 55px #0007;max-width:none;max-height:none;min-height:0;aspect-ratio:auto}.scene-canvas-wrap.editor-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}.scene-canvas-wrap.editor-stage canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.scene-canvas-wrap.editor-stage.marking{cursor:crosshair}
.stage-statusbar{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 10px;border-top:1px solid var(--line);background:#111725;color:var(--muted);font-size:.76rem}.stage-status-actions{display:flex;gap:6px}.stage-status-actions button{padding:.4rem .65rem;font-size:.75rem}
.inspector{width:0;min-width:0;overflow:hidden;border-left:0 solid var(--line);background:#171d2d;transition:width .16s ease,min-width .16s ease,border-width .16s ease}.inspector.open{width:300px;min-width:300px;border-left-width:1px}.inspector-head{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 9px 0 14px;border-bottom:1px solid var(--line);white-space:nowrap}.inspector-body{height:calc(100% - 44px);overflow:auto;padding:13px}.empty-inspector{display:grid;gap:5px;color:var(--muted);font-size:.8rem;padding:10px 2px}.empty-inspector b{color:#dce5f5}.inspector-section{display:grid;gap:10px}.inspector-section h3{margin:0;font-size:1rem}.inspector-section>button{width:100%}.inspector-field{display:grid;gap:5px;font-size:.74rem;color:#aeb8cb}.inspector-field input,.inspector-field select{padding:.55rem .65rem;font-size:.8rem}.inspector-check{display:flex;align-items:center;gap:7px;font-size:.78rem}.inspector-check input{width:auto}.danger-button{background:#4d2931!important;color:#ffd8de!important}.success{background:#5ed09b!important}
#scenePlaceholder{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:6px;color:#d7e0ef}#scenePlaceholder span{color:var(--muted);font-size:.8rem}
@media(max-width:1050px){.editor-appbar{grid-template-columns:1fr auto}.editor-app-status{display:none}.editor-title .breadcrumbs{display:none}.tool-drawer.open{width:220px;min-width:220px}.inspector.open{width:260px;min-width:260px}.editor-app-actions .segmented{display:none}}
@media(max-width:760px){body.editor-mode{overflow:auto;height:auto}body.editor-mode .shell.wide{height:auto;min-height:calc(100vh - 54px);overflow:visible}.editor-workspace{min-height:680px}.tool-drawer.open{position:absolute;left:64px;top:0;bottom:0;width:250px;z-index:15}.inspector.open{position:absolute;right:0;top:0;bottom:0;width:280px;z-index:15}.editor-title{display:none}.editor-appbar{grid-template-columns:1fr;height:56px;min-height:56px}.editor-app-actions{justify-content:space-between;width:100%}}
.scene-canvas-wrap.editor-stage.selection-mode{cursor:grab}.scene-canvas-wrap.editor-stage.selection-mode:active{cursor:grabbing}.scene-canvas-wrap.editor-stage.placing-asset{cursor:copy}

/* v008: echte GLB-Vorschau auf der Bühne + kompakter Inspector. */
.scene-canvas-wrap.editor-stage #sceneImage{z-index:1}
.stage-model-layer{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none}
.scene-canvas-wrap.editor-stage #floorCanvas{z-index:3}
.stage-glb{position:absolute;display:block;pointer-events:none;background:transparent;--poster-color:transparent;--progress-bar-color:transparent;transform-origin:50% 100%;filter:drop-shadow(0 5px 5px #0005)}.stage-player-glb{filter:drop-shadow(0 2px 2px #0004)}
.stage-glb.selected{filter:drop-shadow(0 0 7px #8eb8ff) drop-shadow(0 5px 5px #0007)}
.stage-player-glb.selected{filter:drop-shadow(0 0 8px #69d6a3) drop-shadow(0 5px 5px #0007)}
.inspector,.inspector-body,.inspector-section,.inspector-field{min-width:0;box-sizing:border-box}
.inspector-body{overflow-x:hidden}
.inspector-section h3,.inspector-section .hint{max-width:100%;overflow-wrap:anywhere;word-break:break-word}
.inspector-field input,.inspector-field select,.inspector-section button{max-width:100%;min-width:0;box-sizing:border-box}
.inspector-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.inspector-grid .inspector-field{min-width:0}
.inspector-section>button{padding:.55rem .7rem;font-size:.8rem}
@media(max-width:1050px){.inspector-grid{grid-template-columns:1fr}}
.inspector-section>button{width:auto!important;justify-self:start;white-space:normal;text-align:left}
.inspector-section>.danger-button{max-width:100%}

/* v011: compact player animation state editor. */
.player-preview-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.player-preview-switch button{padding:.48rem .55rem;font-size:.76rem;background:#222b40;color:#cbd6ea;border:1px solid #34415c;border-radius:8px}
.player-preview-switch button.active{background:#31415f;color:#fff;border-color:#6b86b8}

/* v048: einfache Handlungen, Aktionsfolgen und kleine Zustandsbedingungen. */
.interaction-editor{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:10px}
.interaction-editor-title{display:grid;gap:2px}.interaction-editor-title b{font-size:.8rem}.interaction-editor-title span{font-size:.7rem;color:var(--muted)}
.interaction-card{margin:0;padding:0;border:1px solid #34415a;border-radius:10px;background:#111725;overflow:hidden}
.interaction-card>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;color:#e7eefb;list-style:none;font-size:.78rem;font-weight:700}
.interaction-card>summary::-webkit-details-marker{display:none}.interaction-card>summary:before{content:'›';color:#8eb8ff;font-size:1rem;transition:transform .12s}.interaction-card[open]>summary:before{transform:rotate(90deg)}
.interaction-card>summary span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.interaction-card>summary small{font-size:.65rem;color:var(--muted);font-weight:600}
.interaction-card-body{display:grid;gap:8px;padding:8px;border-top:1px solid #2e3850}
.action-sequence{display:grid;gap:7px}.action-step{display:grid;gap:7px;padding:7px;border:1px solid #2d3850;border-radius:8px;background:#0d1421}.action-step-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}.action-step-head select{padding:.45rem .5rem;font-size:.73rem}.action-step-controls,.interaction-card-footer{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.mini-action{padding:.34rem .48rem!important;border-radius:7px!important;background:#283249!important;color:#e9f0fb!important;font-size:.7rem!important;min-width:0}.mini-action.danger-mini{background:#4d2931!important;color:#ffd8de!important}.mini-action.add-action{justify-self:start;background:#233348!important;color:#cfe1ff!important}.interaction-card-footer{justify-content:flex-end;border-top:1px solid #29344a;padding-top:7px}.add-handling{font-size:.76rem!important;padding:.48rem .6rem!important}
/* v049: simple person/dialog editor */
.inspector-field textarea{width:100%;resize:vertical;min-height:72px;padding:.55rem .65rem;font:inherit;color:#eef5ff;background:#0d1421;border:1px solid #34415a;border-radius:8px;box-sizing:border-box}
.dialog-editor{display:grid;gap:7px;padding:8px;border:1px solid #29364d;border-radius:9px;background:#0a111d}.dialog-line,.dialog-response{display:grid;gap:6px;padding:7px;border:1px solid #2d3850;border-radius:8px;background:#111a2a}.dialog-response>.action-sequence{margin-top:2px}
/* v049: optional compact combat settings */
.combat-editor{display:grid;gap:9px;margin:8px 0 12px;padding:10px;border:1px solid var(--line,#34445f);border-radius:12px;background:rgba(30,43,66,.28)}
.combat-editor>b{font-size:13px}

/* v051: one simple insertion library instead of separate 3D/item/person/action tools. */
.rail-button.insert-main{background:#203b34;color:#cffff0;border-color:#315f50}.rail-button.insert-main:hover{background:#285044;border-color:#4c8b76}
.insert-library-dialog{width:min(1060px,calc(100% - 32px));max-width:1060px;padding:0;overflow:hidden}
.insert-library-shell{display:grid;grid-template-rows:auto auto minmax(260px,1fr) auto;max-height:min(820px,calc(100vh - 48px));min-height:min(700px,calc(100vh - 48px))}
.insert-library-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 22px 14px;border-bottom:1px solid var(--line)}
.insert-library-head h2{margin:0 0 4px}.insert-library-head p{margin:0;color:var(--muted);font-size:.88rem}.insert-library-head .ghost{font-size:1.2rem}
.insert-library-tools{display:grid;grid-template-columns:minmax(220px,360px) 1fr;gap:16px;align-items:center;padding:14px 22px;border-bottom:1px solid var(--line);background:#131a29}
.library-tabs{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.library-tabs button{padding:.48rem .7rem;background:#252f44;color:#c7d0df;font-size:.78rem}.library-tabs button.active{background:var(--accent);color:#07140e}.library-filter-stack{display:grid;gap:7px;justify-items:end}.library-subtabs{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.library-subtabs[hidden]{display:none}.library-subtabs button{padding:.36rem .58rem;background:#1d2638;color:#aebbd0;font-size:.72rem;border:1px solid #344057}.library-subtabs button.active{background:#344158;color:#fff}
.insert-library-grid{padding:18px 22px;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;align-content:start;overflow:auto;background:#101624}
.library-card{display:flex;flex-direction:column;min-width:0;padding:0;overflow:hidden;text-align:left;background:#181f30;color:#eef4ff;border:1px solid #303b52;border-radius:14px;transition:.14s ease;box-shadow:none}.library-card:hover{transform:translateY(-2px);border-color:#6f8eba;background:#1d273b}.library-preview{height:145px;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#2a344b,#0c111c);overflow:hidden;font-size:2rem}.library-preview model-viewer,.library-preview img{width:100%;height:100%;pointer-events:none}.library-preview img{object-fit:cover}.library-preview model-viewer{--poster-color:transparent;--progress-bar-color:transparent}.library-preview-vehicle{padding:8px;background:radial-gradient(circle at 50% 36%,#34425e,#0c111c)}.library-preview-vehicle model-viewer{width:100%;height:100%}

.library-card-pick{display:flex;flex-direction:column;width:100%;min-width:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;text-align:left;box-shadow:none}.library-card-pick:hover{background:transparent}.library-card.library-owned:hover{transform:translateY(-2px);border-color:#6f8eba;background:#1d273b}.library-card-delete-form{margin:0;padding:0 10px 10px}.library-card-delete{width:100%;padding:.38rem .55rem!important;background:#38242b!important;color:#ffcbd4!important;border:1px solid #5a303a!important;font-size:.68rem!important}.library-card-delete:hover{background:#4a2932!important}
.library-card-text{display:grid;gap:3px;padding:10px 11px 12px;min-height:90px}.library-card-text b{font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.library-card-text small{font-size:.68rem;color:#9fc2ff}.library-card-text span{font-size:.72rem;color:var(--muted);font-weight:500;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.library-card.library-utility{justify-content:center;align-items:flex-start;padding:18px;min-height:235px;background:#172433}.library-card.library-utility b{font-size:1rem}.library-card.library-utility small{color:var(--muted);font-size:.77rem;line-height:1.4}.library-utility-icon{font-size:2.2rem;color:var(--accent);margin-bottom:16px}
.library-empty{grid-column:1/-1;padding:38px;text-align:center;color:var(--muted)}
.insert-library-upload{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 22px;border-top:1px solid var(--line);background:#151c2b}.insert-library-upload>div{display:grid;gap:2px}.insert-library-upload span{font-size:.74rem;color:var(--muted)}.library-upload-form{display:flex;gap:8px;align-items:center}.library-upload-form input{max-width:300px;padding:.52rem .65rem;font-size:.78rem}.library-upload-form button{padding:.58rem .75rem}
.behavior-card{display:grid;gap:9px;padding:11px;border:1px solid #35405a;border-radius:11px;background:#111725}.behavior-card>b{font-size:.8rem}
.library-admin-card{padding:20px;margin:20px 0}.library-admin-card h2{margin:0 0 4px}.library-admin-form{display:grid;grid-template-columns:1fr 1fr 2fr 1.3fr auto;gap:10px;align-items:end;margin-top:16px}.library-admin-form label{min-width:0}.library-admin-form input,.library-admin-form select{font-size:.8rem}.library-admin-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px;margin-top:14px}.library-admin-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:#111725;border:1px solid var(--line);border-radius:10px}.library-admin-item>div{display:grid;gap:2px;min-width:0}.library-admin-item b{font-size:.82rem}.library-admin-item small,.library-admin-item span{font-size:.7rem;color:var(--muted);overflow-wrap:anywhere}.library-admin-item form{margin:0}.library-admin-item button{padding:.45rem .6rem;font-size:.72rem}
@media(max-width:900px){.insert-library-tools{grid-template-columns:1fr}.library-filter-stack{justify-items:start}.library-tabs,.library-subtabs{justify-content:flex-start}.library-admin-form{grid-template-columns:1fr 1fr}.library-admin-form .library-desc{grid-column:1/-1}.insert-library-upload{align-items:flex-start;flex-direction:column}.library-upload-form{width:100%}.library-upload-form input{max-width:none;flex:1}}
@media(max-width:620px){.insert-library-dialog{width:calc(100% - 14px)}.insert-library-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px;gap:9px}.library-preview{height:110px}.library-tabs{overflow:auto;flex-wrap:nowrap}.library-admin-form{grid-template-columns:1fr}.library-admin-form .library-desc{grid-column:auto}.library-upload-form{flex-direction:column;align-items:stretch}}

/* v052: scene-change arrival position belongs directly to the action. */
.arrival-picker-dialog{width:min(980px,calc(100% - 32px));max-width:980px;padding:0;overflow:hidden}
.arrival-picker-shell{display:grid;grid-template-rows:auto minmax(320px,1fr) auto;max-height:min(780px,calc(100vh - 48px));min-height:min(640px,calc(100vh - 48px))}
.arrival-picker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 13px;border-bottom:1px solid var(--line)}
.arrival-picker-head h2{margin:0 0 4px}.arrival-picker-head p{margin:0;color:var(--muted);font-size:.82rem}.arrival-picker-head .ghost{font-size:1.2rem}
.arrival-stage{position:relative;min-height:320px;margin:18px;background:#090e17;border:1px solid #36445e;border-radius:12px;overflow:hidden;cursor:crosshair}
.arrival-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;user-select:none;pointer-events:none}
.arrival-marker{position:absolute;z-index:3;transform:translate(-50%,-50%);width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#101927dd;border:2px solid #8ff0c3;color:#8ff0c3;font-size:1.05rem;box-shadow:0 0 0 4px #0006;pointer-events:none}
.arrival-no-image{position:absolute;inset:0;display:none;place-items:center;padding:24px;text-align:center;color:var(--muted);pointer-events:none}.arrival-stage.no-background .arrival-no-image{display:grid}.arrival-stage.no-background img{display:none}
.arrival-picker-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px 16px;border-top:1px solid var(--line)}
.arrival-action{display:grid;gap:6px;padding:8px;border:1px solid #2d3850;border-radius:8px;background:#0c1320}.arrival-action .hint{font-size:.7rem;color:var(--muted)}
@media(max-width:620px){.arrival-picker-dialog{width:calc(100% - 14px)}.arrival-picker-shell{min-height:560px}.arrival-stage{margin:10px;min-height:300px}}

/* v053: simple true/false action branches stay visually grouped without adding a graph editor. */
.action-branch-title{margin:10px 0 5px;font-size:.76rem;font-weight:800;color:#cdd8eb;text-transform:uppercase;letter-spacing:.035em}

/* v055 service plans + publication targets */
.service-plans-card{margin-bottom:20px}.service-plan-form{display:grid;grid-template-columns:1.2fr repeat(3,minmax(100px,.7fr));gap:10px;align-items:end;margin-top:14px}.service-plan-form>button{align-self:end}.plan-features{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 14px;padding:10px 12px;background:#111725;border:1px solid var(--line);border-radius:10px}.plan-features label{display:flex;align-items:center;gap:6px;font-size:.78rem}.plan-features input[type=checkbox]{width:auto}.service-plan-list{display:grid;gap:8px;margin-top:14px}.service-plan-item{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#111725}.service-plan-item summary{border:0;padding:0}.service-plan-item form+form{margin-top:8px}.customer-resource-form{grid-template-columns:repeat(2,1fr)}.customer-features{grid-column:1/-1}.publish-card{padding:18px}.publish-targets{display:grid;gap:8px;margin-top:14px}.publish-target{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#111725}.publish-target>div:first-child{display:grid;gap:4px}.publish-target small{color:var(--muted)}.publish-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.publish-actions form{margin:0}.ftp-warning{padding:12px 14px;border:1px solid #745b37;border-radius:12px;background:#2b2419}.ftp-warning p{margin:.45rem 0 .7rem;color:#e0d0b6}.ftp-warning label{display:flex;align-items:center;gap:8px}.ftp-warning input[type=checkbox]{width:auto}.check{display:flex;align-items:center;gap:7px}.check input[type=checkbox]{width:auto}@media(max-width:900px){.service-plan-form{grid-template-columns:1fr 1fr}.service-plan-form .plan-features{grid-column:1/-1}.publish-target{align-items:flex-start;flex-direction:column}.publish-actions{width:100%}}@media(max-width:620px){.service-plan-form,.customer-resource-form{grid-template-columns:1fr}.publish-actions>*{width:100%}.publish-actions .button,.publish-actions button{width:100%;text-align:center}}
.feature-override{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.override-toggle{opacity:.72;font-size:.7rem!important;padding-left:4px}.override-toggle input{width:auto}

.build-queue,.build-history{margin-top:14px;border-top:1px solid var(--line);padding-top:12px;display:grid;gap:7px}.build-history{margin-top:12px}.build-job{display:grid;grid-template-columns:minmax(160px,.45fr) 1fr;gap:10px;padding:8px 10px;border-radius:9px;background:#0e1420}.build-job small{color:var(--muted)}.build-job.running{border-left:3px solid #e7b64b}.build-job.queued{border-left:3px solid #7196d9}.build-job.ready{border-left:3px solid #5ca875}.build-job.failed{border-left:3px solid #c96565}@media(max-width:620px){.build-job{grid-template-columns:1fr}}

/* v077: simple Sitebuilder hierarchy in the contextual inspector. */
.inspector-group{display:grid;gap:9px;padding:11px 0 12px;border-top:1px solid #2a344a}
.inspector-group:first-of-type{border-top:0;padding-top:2px}
.inspector-group h4{margin:0;color:#e7eefb;font-size:.78rem;font-weight:800;letter-spacing:.02em}
.inspector-group>.hint{margin:-2px 0 1px}
.inspector-group .interaction-editor{margin-top:1px}

/* v077: semantic animation setup lives at the asset, not in normal scene properties */
.animation-auto-info{display:flex;align-items:flex-start;gap:8px;padding:9px 10px;border:1px solid #2d4051;border-radius:9px;background:#111b28;color:#cfe5d9;font-size:.78rem}.animation-auto-check{display:grid;place-items:center;width:19px;height:19px;border-radius:999px;background:#214a38;color:#aaf2ca;font-weight:900;flex:0 0 auto}.animation-setup-dialog{width:min(920px,calc(100% - 32px));max-width:920px;padding:0;overflow:hidden}.animation-setup-shell{display:grid;grid-template-rows:auto minmax(360px,1fr) auto;max-height:min(820px,calc(100vh - 42px))}.animation-setup-body{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr);gap:18px;padding:18px 22px;overflow:auto}.animation-setup-preview{min-height:360px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:radial-gradient(circle at 50% 38%,#2b3650,#0c111c);display:grid;grid-template-rows:1fr auto}.animation-setup-preview model-viewer{width:100%;height:100%;min-height:320px;--poster-color:transparent;--progress-bar-color:var(--accent)}.animation-preview-caption{padding:8px 10px;border-top:1px solid var(--line);background:#101725;color:var(--muted);font-size:.74rem;overflow-wrap:anywhere}.animation-role-list{display:grid;gap:8px;align-content:start}.animation-role-row{display:grid;grid-template-columns:minmax(120px,.72fr) minmax(160px,1.3fr) auto;gap:8px;align-items:end;padding:10px;border:1px solid #2d3850;border-radius:10px;background:#111827}.animation-role-title{display:grid;gap:2px}.animation-role-title b{font-size:.82rem}.animation-role-title small{font-size:.68rem;color:var(--muted)}.animation-role-row select{font-size:.76rem;padding:.58rem .65rem}.animation-role-preview{padding:.58rem .7rem!important;font-size:.72rem}.animation-setup-footer{display:flex;align-items:center;justify-content:flex-end;gap:9px;padding:13px 22px;border-top:1px solid var(--line);background:#151c2b}.animation-setup-footer>span{margin-right:auto;color:var(--muted);font-size:.74rem}.library-card-animation{margin:0 9px 8px;background:#283249;color:#eaf0fb;padding:.48rem .62rem;font-size:.72rem}.library-admin-actions{display:flex;align-items:center;gap:6px}.library-admin-actions form{margin:0}.animation-role-summary{font-size:.67rem;color:#9fdcbf;font-style:normal}.library-admin-item>div:first-child{flex:1}
@media(max-width:760px){.animation-setup-body{grid-template-columns:1fr}.animation-setup-preview{min-height:280px}.animation-setup-preview model-viewer{min-height:240px}.animation-role-row{grid-template-columns:1fr}.animation-role-preview{width:100%}.animation-setup-footer{align-items:stretch;flex-wrap:wrap}.animation-setup-footer>span{width:100%;margin:0}.library-admin-actions{flex-direction:column;align-items:stretch}}

/* v077 simple guided setup + automatic inventory preview */
#scenePlaceholder button{justify-self:center;margin-top:7px}.inventory-auto-preview{display:grid;grid-template-columns:84px 1fr;gap:10px;align-items:center;padding:9px;border:1px solid #2d4051;border-radius:10px;background:#111b28;color:var(--muted);font-size:.74rem}.inventory-auto-preview model-viewer{width:84px;height:72px;border-radius:8px;background:radial-gradient(circle at 50% 38%,#2a344b,#0c111c);--poster-color:transparent;--progress-bar-color:transparent}.recovery-dialog{width:min(560px,calc(100% - 30px))}

/* v080: game page is work-first: scenes before publishing/download administration. */
.game-page-head{margin-bottom:24px}
.game-workspace-section{margin-bottom:26px}
.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:13px}
.section-head h2{margin:0 0 4px;font-size:1.08rem}.section-head p{margin:0;color:var(--muted);font-size:.84rem}
.game-scene-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.game-scene-grid .scene{min-height:92px}.game-scene-grid .scene>div:last-child{display:grid;gap:4px;min-width:0}.game-scene-grid .scene h2{font-size:1rem}.scene-open{color:var(--accent);font-size:.75rem}.scene-add-card{width:100%;text-align:left;color:var(--text);background:rgba(24,30,46,.55);border:1px dashed #42506b;box-shadow:none}.scene-add-card:hover{transform:translateY(-2px);border-color:var(--accent2)}.scene-add-card>span:last-child{display:grid;gap:3px}.scene-add-card small{color:var(--muted);font-weight:500}.scene-add-icon{width:52px;height:52px;border-radius:12px;display:grid;place-items:center;background:#202a3d;color:var(--accent);font-size:1.55rem;flex:0 0 auto}
.finish-card{margin-bottom:16px}.finish-card .section-head{margin-bottom:0}.finish-targets{margin-top:15px}.download-target{align-items:flex-start}.download-target>div:first-child{min-width:190px}.download-platforms{display:grid;gap:8px;flex:1;width:min(760px,100%)}.download-platform{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 10px;border:1px solid #29344a;border-radius:10px;background:#0e1420}.download-platform>div:first-child{display:grid;gap:3px}.download-platform strong{font-size:.82rem}.download-platform small{color:var(--muted);font-size:.72rem}
.maintenance-card{margin:0!important;padding:0!important;border:1px solid var(--line)!important;overflow:hidden;background:rgba(24,30,46,.72)}.maintenance-card>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 18px;border:0!important;list-style:none;color:var(--text)}.maintenance-card>summary::-webkit-details-marker{display:none}.maintenance-card>summary>span:first-child{display:grid;gap:3px}.maintenance-card>summary small{color:var(--muted);font-size:.74rem;font-weight:500}.maintenance-chevron{font-size:1.4rem;color:var(--muted);transition:transform .12s}.maintenance-card[open] .maintenance-chevron{transform:rotate(90deg)}.maintenance-body{border-top:1px solid var(--line);padding:16px 18px;display:grid;gap:18px}.maintenance-section+.maintenance-section{border-top:1px solid #2a344a;padding-top:16px}.backup-list{display:grid;gap:7px;margin-top:12px}.maintenance-section>.build-history{margin-top:10px;padding-top:0;border-top:0}
@media(max-width:900px){.download-target{flex-direction:column}.download-platforms{width:100%}}
@media(max-width:620px){.game-page-head{gap:14px}.game-page-head .head-actions{width:100%}.game-page-head .head-actions>*{flex:1}.section-head{align-items:flex-start}.game-scene-grid{grid-template-columns:1fr}.download-platform{align-items:flex-start;flex-direction:column}.download-platform .publish-actions{width:100%}.maintenance-body{padding:14px}.maintenance-section .between{align-items:flex-start;gap:10px;flex-direction:column}.backup-list .between{align-items:flex-start;gap:8px;flex-direction:column}}


/* v081: mobile editor is edge-to-edge; floating controls avoid inspector overlap and support real fullscreen. */
.mobile-top-toggle,.mobile-editor-context,.mobile-gesture-hint{display:none}
.editor-app:fullscreen,.editor-app:-webkit-full-screen{width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;background:#070a10;overflow:hidden}
.editor-app:fullscreen .editor-workspace,.editor-app:-webkit-full-screen .editor-workspace{height:100%}

@media(max-width:820px), (hover:none) and (pointer:coarse){
  body.editor-mode{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;max-height:100dvh;overflow:hidden;background:#070a10;overscroll-behavior:none}
  body.editor-mode .top{display:none}
  body.editor-mode .shell.wide{position:fixed;inset:0;height:auto;min-height:0;overflow:hidden;margin:0;padding:0;width:100%;max-width:none}
  .editor-app{height:100%;position:relative;overflow:hidden}
  .editor-workspace{position:relative;min-height:0;height:100%;overflow:hidden}
  .stage-area{position:absolute;inset:0;z-index:1}
  .stage-viewport{position:absolute;inset:0;padding:0;overflow:hidden;display:grid;place-items:center;touch-action:none}
  .scene-canvas-wrap.editor-stage{border-radius:0;border-color:#20283a;box-shadow:none;transform-origin:50% 50%;will-change:transform}

  .editor-appbar{position:absolute;z-index:40;top:max(8px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));left:64px;height:auto;min-height:0;display:grid;grid-template-columns:1fr auto;gap:8px;padding:9px;background:rgba(17,23,37,.92);border:1px solid rgba(75,89,118,.7);border-radius:13px;box-shadow:0 10px 30px #0008;backdrop-filter:blur(12px)}
  .mobile-top-toggle{display:grid;place-items:center;position:absolute;right:0;top:0;width:46px;height:46px;padding:0;border-radius:12px;background:rgba(23,31,48,.94);color:#fff;border:1px solid #46536f;z-index:2;letter-spacing:2px}
  .mobile-editor-context{display:grid;gap:2px;min-width:0;padding-right:52px}.mobile-editor-context a{font-size:.72rem;color:#aebbd0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-editor-context b{font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .editor-title{display:none}
  .editor-app-status{display:block;grid-column:1/-1;text-align:left;width:max-content;max-width:100%;font-size:.68rem;padding:4px 8px}
  .editor-app-actions{grid-column:1/-1;display:flex;justify-content:flex-start;align-items:center;gap:6px;flex-wrap:wrap;padding-top:2px;padding-right:0}
  .editor-app-actions .segmented{display:flex;order:10;width:100%}.editor-app-actions .segmented button{flex:1}
  .editor-app-actions>button{min-height:42px;flex:1 1 auto;padding:.5rem .65rem}
  .editor-appbar.mobile-collapsed{left:50%;right:auto;transform:translateX(-50%);width:46px;height:46px;padding:0;background:transparent;border:0;box-shadow:none;backdrop-filter:none}
  .editor-appbar.mobile-collapsed .mobile-editor-context,.editor-appbar.mobile-collapsed .editor-app-status,.editor-appbar.mobile-collapsed .editor-app-actions{display:none}

  .tool-rail{position:absolute;z-index:30;left:max(8px,env(safe-area-inset-left));top:max(8px,env(safe-area-inset-top));bottom:auto;width:54px;min-width:54px;max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:5px 4px;gap:4px;border:1px solid rgba(75,89,118,.68);border-radius:13px;background:rgba(17,23,37,.84);box-shadow:0 10px 30px #0007;backdrop-filter:blur(12px);overflow:auto}
  .rail-button,.rail-toggle{min-height:46px;padding:5px 2px}.rail-button small{font-size:.55rem}.rail-spacer{display:none}
  .tool-rail.mobile-collapsed{height:52px;overflow:hidden}.tool-rail.mobile-collapsed .rail-button{display:none}
  .tool-rail.mobile-collapsed .rail-toggle{height:42px;min-height:42px}

  .tool-drawer.open{position:absolute;z-index:35;left:70px;top:max(8px,env(safe-area-inset-top));bottom:max(8px,env(safe-area-inset-bottom));width:min(76vw,310px);min-width:0;border:1px solid #3c4861;border-radius:13px;background:rgba(23,29,45,.96);box-shadow:0 18px 50px #000a;backdrop-filter:blur(14px);overflow:hidden}
  .drawer-head{height:48px}.drawer-panel{height:calc(100% - 48px)}

  .inspector.open{position:absolute;z-index:36;right:max(8px,env(safe-area-inset-right));left:auto;top:max(8px,env(safe-area-inset-top));bottom:max(8px,env(safe-area-inset-bottom));width:min(84vw,330px);min-width:0;border:1px solid #3c4861;border-radius:13px;background:rgba(23,29,45,.97);box-shadow:0 18px 50px #000a;backdrop-filter:blur(14px);overflow:hidden}
  .inspector-head{height:48px}.inspector-body{height:calc(100% - 48px)}

  .stage-statusbar{position:absolute;z-index:24;left:70px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));min-height:0;width:auto;border:1px solid rgba(75,89,118,.62);border-radius:11px;background:rgba(17,23,37,.82);backdrop-filter:blur(10px);padding:5px 7px;box-shadow:0 8px 24px #0006;pointer-events:none;display:flex;align-items:center;gap:6px}
  .stage-statusbar #pointStatus{display:none}.mobile-gesture-hint{display:block;font-size:.64rem;line-height:1.2;color:#b7c2d5;white-space:normal}
  .stage-status-actions{margin-left:auto;pointer-events:auto;flex-shrink:0}.stage-status-actions button{min-height:36px;padding:.35rem .55rem}
  .stage-statusbar:has(.stage-status-actions button:not([hidden])) .mobile-gesture-hint{display:none}

  .insert-library-dialog,.animation-setup-dialog{max-height:calc(100dvh - 12px);width:calc(100% - 12px);margin:auto}
  .insert-library-shell,.animation-setup-shell{max-height:calc(100dvh - 24px)}
}
@media(max-width:820px), (hover:none) and (pointer:coarse){
  .stage-statusbar:has(.stage-status-actions button:not([hidden])){flex-wrap:wrap}
  .stage-statusbar:has(.stage-status-actions button:not([hidden])) #pointStatus{display:block;flex:1 1 180px;font-size:.68rem;line-height:1.25}
}

/* GameHatch 3D controls */
.world-setup{display:grid;gap:12px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#111725}.world-kind-choice{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:9px}.world-kind-choice legend{grid-column:1/-1;color:#cdd5e4;font-size:.84rem;margin-bottom:4px}.world-choice{position:relative;display:block;cursor:pointer}.world-choice input{position:absolute;opacity:0;pointer-events:none}.world-choice span{display:grid;gap:2px;padding:11px 12px;border:1px solid #35405a;border-radius:11px;background:#0e1421}.world-choice small{color:var(--muted);font-size:.7rem}.world-choice input:checked+span{border-color:var(--accent2);box-shadow:inset 0 0 0 1px var(--accent2);background:#17243a}.world-setup>[data-world-indoor],.world-setup>[data-world-outdoor]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.world-setup>[hidden]{display:none!important}.world-thumb{height:58px;grid-template-rows:1fr auto;font-size:1.25rem}.world-thumb small{font-size:.62rem;color:var(--muted)}
.editor-world-note{display:flex;align-items:center;gap:7px;color:#aebbd0;font-size:.72rem;padding:0 8px;white-space:nowrap}.editor-world-note b{color:#eef5ff}.world3d-editor-surface{position:absolute;inset:0;z-index:1;overflow:hidden;background:#182338;perspective:900px}.world3d-editor-surface::before{content:"";position:absolute;inset:7% 8%;transform:rotateX(58deg);transform-origin:50% 72%;border-radius:8px;background-color:var(--world-floor,#365d34);background-image:linear-gradient(#ffffff12 1px,transparent 1px),linear-gradient(90deg,#ffffff12 1px,transparent 1px);background-size:8% 8%;box-shadow:0 0 0 2px #ffffff24,0 24px 44px #0007}.world3d-editor-surface.indoor::after{content:"";position:absolute;left:8%;right:8%;top:7%;height:29%;background:var(--world-wall,#c7c5bc);clip-path:polygon(0 0,100% 0,100% 100%,0 78%);filter:brightness(.82);box-shadow:0 6px 20px #0005}.world3d-editor-surface.outdoor{background:linear-gradient(var(--world-sky,#6da5d5) 0 35%,#27354a 35%)}.world3d-stage-tag{position:absolute;z-index:3;left:10px;top:10px;padding:5px 8px;border-radius:999px;background:#0a101acc;color:#dce7f8;font-size:.68rem;border:1px solid #53617b}.scene-canvas-wrap.editor-stage #modelLayer{z-index:2}.scene-canvas-wrap.editor-stage #floorCanvas{z-index:3}.world-editor-controls{display:grid;gap:10px}.world-editor-controls .cols{grid-template-columns:1fr 1fr}.world-editor-summary{padding:10px;border:1px solid #31405a;border-radius:10px;background:#101725;font-size:.76rem;color:#bac6da}.calibration-setup-dialog{width:min(960px,calc(100% - 30px));max-width:960px;padding:0;overflow:hidden}.calibration-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:min(860px,calc(100vh - 32px))}.calibration-body{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(390px,1.1fr);gap:18px;padding:18px 22px;overflow:auto}.calibration-preview{min-height:420px;border:1px solid var(--line);border-radius:14px;background:radial-gradient(circle at 50% 35%,#33405c,#0c111c);display:grid;grid-template-rows:1fr auto;overflow:hidden}.calibration-preview model-viewer{width:100%;height:100%;min-height:370px;--poster-color:transparent;--progress-bar-color:var(--accent)}.calibration-reference{padding:8px 10px;border-top:1px solid var(--line);font-size:.72rem;color:var(--muted)}.calibration-steps{display:grid;gap:11px;align-content:start}.calibration-step{border:1px solid #2d3850;border-radius:11px;padding:11px;background:#111827;display:grid;gap:8px}.calibration-step h3{font-size:.87rem;margin:0}.calibration-step p{font-size:.72rem;color:var(--muted);margin:0}.calibration-footer{display:flex;gap:9px;align-items:center;padding:13px 22px;border-top:1px solid var(--line);background:#151c2b}.calibration-footer span{font-size:.72rem;color:var(--muted);margin-right:auto}.camera-game-buttons{position:absolute;z-index:10;right:14px;bottom:14px;display:flex;gap:6px;background:#0b1019d9;border:1px solid #34415a;border-radius:12px;padding:5px;backdrop-filter:blur(8px)}.camera-game-buttons button{padding:.52rem .72rem;background:transparent;color:#bdc8da;font-size:.75rem}.camera-game-buttons button.active{background:#33445f;color:white}
@media(max-width:720px){.world-kind-choice,.world-setup>[data-world-indoor],.world-setup>[data-world-outdoor],.calibration-body{grid-template-columns:1fr}.calibration-preview{min-height:270px}.calibration-preview model-viewer{min-height:230px}.editor-world-note{display:none}}

/* GameHatch 3D: echte metrische Editor-Bühne. */
.world3d-editor-surface{background:#0d1420;perspective:none}
.world3d-editor-surface::before,.world3d-editor-surface::after{display:none!important}
#world3dCanvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.world3d-stage-tag{z-index:6}
.world-resize-handle{position:absolute;z-index:7;width:18px;height:18px;min-width:0;padding:0;border:2px solid #f5fbff;border-radius:50%;background:#69d6a3;box-shadow:0 2px 10px #0009;transform:translate(-50%,-50%);cursor:nwse-resize;touch-action:none}
.world-resize-handle[data-world-resize="ne"],.world-resize-handle[data-world-resize="sw"]{cursor:nesw-resize}
.scene-canvas-wrap.editor-stage #modelLayer{z-index:4}
.scene-canvas-wrap.editor-stage #floorCanvas{z-index:5}
@media(max-width:820px),(hover:none) and (pointer:coarse){.world-resize-handle{width:26px;height:26px}}
.calibration-step[hidden]{display:none!important}.calibration-nav{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.calibration-footer{align-items:center}.calibration-step{min-height:250px}.calibration-step h3{margin-top:0}.calibration-step input[type="range"]{padding:0}
/* v144: strategy-builder stage. The 3D floor itself is rendered by WebGL; this layer only frames it. */
.world3d-editor-surface{background:radial-gradient(circle at 50% 42%,#26354e 0,#101725 67%,#090e17 100%);perspective:none}
.world3d-editor-surface::before,.world3d-editor-surface::after{display:none!important}
.world3d-stage-tag{background:#090f18dc;border-color:#5b6b84;box-shadow:0 6px 20px #0005;backdrop-filter:blur(8px)}
.world-resize-handle{width:26px;height:26px;border-radius:7px;border:2px solid #f6fffb;background:#5be6a0;box-shadow:0 0 0 4px #0b1722aa,0 6px 18px #000b;transform:translate(-50%,-50%) rotate(45deg);transition:transform .12s,box-shadow .12s,background .12s}
.world-resize-handle:hover,.world-resize-handle:focus-visible{background:#8fffc0;transform:translate(-50%,-50%) rotate(45deg) scale(1.12);box-shadow:0 0 0 5px #1f6149aa,0 8px 22px #000c;outline:none}
.scene-canvas-wrap.editor-stage{background:#090e17;border-color:#465570;box-shadow:0 20px 70px #0009}

/* v144: the 3D builder is the workspace, not a 16:10 picture inside it. */
.stage-viewport{padding:2px;place-items:stretch}
.scene-canvas-wrap.editor-stage{width:100%;height:100%;border-radius:4px;box-shadow:none}
.world3d-stage-tag{pointer-events:none}

/* v144: laptop-friendly strategy navigation and unmistakable resize drag state. */
.scene-canvas-wrap.editor-stage.pan-ready{cursor:grab}.scene-canvas-wrap.editor-stage.panning{cursor:grabbing}.scene-canvas-wrap.editor-stage.panning *{cursor:grabbing!important}
.world-resize-handle.dragging{background:#b7ffd3;box-shadow:0 0 0 6px #28b977aa,0 9px 26px #000c;transform:translate(-50%,-50%) rotate(45deg) scale(1.18)}
/* v144: resize controls must sit ABOVE floorCanvas. Keeping them inside the
   world surface put them in its z-index:1 stacking context, so the transparent
   interaction canvas at z-index:5 stole the pointer events even though the
   handles were visible. */
.scene-canvas-wrap.editor-stage>.world-resize-handle{z-index:12;pointer-events:auto}
.scene-canvas-wrap.editor-stage>.world3d-stage-tag{z-index:11;pointer-events:none}

/* v144 world painter: world-building stays inside the existing Welt tool. */
.world-painter{margin-top:14px;padding-top:12px;border-top:1px solid #2d3a52}.world-painter[hidden]{display:none}.world-painter-title{display:grid;gap:3px;margin-bottom:10px}.world-painter-title small{color:#8fa0b8;line-height:1.35}.world-painter-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:8px}.world-painter-tabs button{border:1px solid #35445d;background:#131d2e;color:#bfcbe0;border-radius:8px;padding:7px 5px;font:700 12px system-ui;cursor:pointer}.world-painter-tabs button.active{background:#243a5d;border-color:#5c82ba;color:#fff}.world-brush-panel{display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.world-brush-panel.active{display:grid}.world-brush{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:7px;min-height:46px;border:1px solid #34445e;background:#121c2d;color:#e8effa;border-radius:9px;padding:4px;text-align:left;cursor:pointer;overflow:hidden}.world-brush img{width:42px;height:38px;object-fit:cover;border-radius:6px;background:#223149}.world-brush span:last-child{font:700 12px system-ui}.world-brush:hover{border-color:#5979a6}.world-brush.active{outline:2px solid #67dfa4;border-color:#67dfa4;background:#19322b}.world-brush.eraser{grid-template-columns:42px 1fr}.world-brush.eraser>span:first-child{display:grid;place-items:center;width:42px;height:38px;border-radius:6px;background:#39242b;font-size:20px}.world-brush-stop{width:100%;margin-top:8px}.scene-canvas-wrap.world-painting #floorCanvas{cursor:crosshair}.stage-landscape-layer{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:hidden}.stage-landscape-glb{position:absolute;display:block;pointer-events:none;background:transparent;--poster-color:transparent;--progress-bar-color:transparent;filter:drop-shadow(0 4px 4px #0006);transform-origin:50% 50%}.stage-model-layer{z-index:7}.scene-canvas-wrap.editor-stage>#floorCanvas{z-index:9}.scene-canvas-wrap.editor-stage>.world-resize-handle{z-index:12;pointer-events:auto}
@media(max-width:820px){.world-brush-panel{grid-template-columns:repeat(3,minmax(0,1fr))}.world-brush{grid-template-columns:1fr;justify-items:center;text-align:center}.world-brush img{width:100%;height:52px}.world-brush.eraser{grid-template-columns:1fr}.world-brush.eraser>span:first-child{width:100%}}

.world-brush{position:relative}.world-brush.auto-on{border-color:#6fcf97;background:#172b25}.world-brush.auto-on::after{content:"AUTO";position:absolute;right:5px;top:5px;padding:2px 5px;border-radius:999px;background:#2e7d5a;color:#fff;font:800 9px/1.2 system-ui;letter-spacing:.04em}

/* v144 selection/content browser */
.stage-landscape-glb.selected{filter:drop-shadow(0 0 8px #ffd66b) drop-shadow(0 4px 4px #0007)}
.drawer-section-label{padding:9px 4px 2px;color:#8fa0b8;font:700 10px/1.2 system-ui;text-transform:uppercase;letter-spacing:.08em}


/* v144: Aktionen raus aus dem kompakten Eigenschaften-Inspector. */
.inspector-actions-button{width:100%!important;justify-self:stretch!important;text-align:center!important;padding:.62rem .75rem!important}
.actions-dialog{width:min(860px,calc(100% - 28px));max-width:860px;padding:0;overflow:hidden}
.actions-dialog-shell{display:grid;grid-template-rows:auto minmax(260px,1fr) auto;max-height:min(820px,calc(100vh - 36px));min-height:min(560px,calc(100vh - 36px))}
.actions-dialog-body{padding:18px 20px;overflow:auto;background:#101624}
.actions-dialog-body .interaction-editor{border-top:0;padding-top:0;gap:11px}
.actions-dialog-body .interaction-card-body{padding:12px}
.actions-dialog-footer{display:flex;justify-content:flex-end;padding:12px 18px;border-top:1px solid var(--line);background:#151c2b}
@media(max-width:620px){.actions-dialog{width:calc(100% - 12px)}.actions-dialog-shell{min-height:calc(100dvh - 12px);max-height:calc(100dvh - 12px)}.actions-dialog-body{padding:12px}}

/* v144: normaler Figuren-/Objekt-Inspector zeigt nur Entscheidungen, keine Technik. */
.inspector-field-unlabeled{gap:0}.inspector-actions-row{display:flex;align-items:center;gap:8px;min-width:0}.inspector-actions-row .inspector-actions-button{width:auto!important;flex:1 1 auto}.inspector-actions-count{color:#8f9db3;font-size:.68rem;white-space:nowrap}

/* v144: simple size control + optional close-up 3D inspection, without turning the editor into a full 3D tool. */
.inspector-size-field{gap:7px}.inspector-size-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.inspector-size-value{color:#eaf3ff;font-size:.73rem;font-variant-numeric:tabular-nums}.inspector-size-field input[type="range"]{width:100%;padding:0;accent-color:var(--accent2);cursor:pointer}
.scene-canvas-wrap.editor-stage.inspect-pick{cursor:zoom-in}.scene-canvas-wrap.editor-stage.inspect-mode{cursor:grab}.scene-canvas-wrap.editor-stage.inspect-mode.inspect-orbiting{cursor:grabbing}.scene-canvas-wrap.editor-stage.inspect-mode>.world-resize-handle{display:none}.scene-canvas-wrap.editor-stage.inspect-mode .world3d-stage-tag{background:#14251fd9;border-color:#4a8c70;color:#e7fff4}

/* v144: one real Three.js renderer owns the complete 3D-inspection scene. */
.inspect3d-canvas{position:absolute!important;inset:0;width:100%!important;height:100%!important;z-index:8;display:block;background:#101827;pointer-events:none}
.inspect3d-canvas[hidden]{display:none!important}
.inspect3d-close{display:none;position:absolute;z-index:12;right:12px;top:12px;padding:.55rem .75rem;border-radius:10px;background:#101827e8;color:#f4f8ff;border:1px solid #64748b;box-shadow:0 4px 16px #0006;touch-action:manipulation}
.scene-canvas-wrap.editor-stage.inspect-mode>.inspect3d-close{display:inline-flex}
.scene-canvas-wrap.editor-stage.inspect-mode>.world3d-editor-surface{visibility:hidden}
.scene-canvas-wrap.editor-stage.inspect-mode>.stage-landscape-layer,.scene-canvas-wrap.editor-stage.inspect-mode>.stage-model-layer{display:none!important}
.scene-canvas-wrap.editor-stage.inspect-mode>#floorCanvas{z-index:9}

/* v151: dedicated GameHatch library administration */
.admin-nav-link{display:inline-flex;align-items:center;text-decoration:none;padding:.45rem .65rem}.admin-library-link-card{margin:20px 0;padding:18px 20px}.library-page-head{align-items:flex-end}.library-create-card,.library-manager-card{padding:20px;margin:18px 0}.library-manager-form{display:grid;grid-template-columns:1fr .8fr 1fr 1.6fr 1.2fr auto;gap:10px;align-items:end;margin-top:14px}.library-manager-form label{min-width:0}.library-manager-form input,.library-manager-form select{font-size:.8rem}.library-manager-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:12px;align-items:center}.library-manager-filters,.library-manager-subfilters{display:flex;gap:7px;flex-wrap:wrap}.library-manager-filters button,.library-manager-subfilters button{padding:.48rem .7rem;background:#1a2333;color:#d8e6fb;border:1px solid var(--line);font-size:.74rem}.library-manager-filters button.active,.library-manager-subfilters button.active{background:#31547d;border-color:#6b98cb;color:white}.library-manager-subfilters{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.library-manager-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-top:16px}.library-manager-item{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#111725}.library-manager-item.inactive{opacity:.7}.library-manager-preview{height:165px;position:relative;background:radial-gradient(circle at 50% 38%,#34425e,#0b101a);overflow:hidden}.library-manager-preview model-viewer{width:100%;height:100%;--poster-color:transparent;--progress-bar-color:transparent}.library-state-badge{position:absolute;top:8px;right:8px;padding:4px 7px;border-radius:999px;background:#472a2d;color:#ffd2d6;font-size:.66rem;border:1px solid #744047}.library-manager-info{display:grid;gap:6px;padding:11px 12px;min-height:116px}.library-manager-info b{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-manager-info small{color:var(--muted);font-size:.68rem}.library-manager-info p{margin:0;color:var(--muted);font-size:.72rem;line-height:1.35;min-height:2.6em}.library-manager-tags{display:flex;gap:5px;flex-wrap:wrap}.library-manager-tags span{padding:3px 6px;border-radius:999px;background:#202c40;color:#bcd6f7;font-size:.64rem}.library-manager-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:0 11px 11px}.library-manager-actions form{grid-column:1/-1;margin:0}.library-manager-actions button{width:100%;padding:.48rem .55rem;font-size:.7rem}.danger-button{background:#43242b!important;color:#ffd0d8!important;border:1px solid #713540!important}.library-edit-dialog{width:min(600px,calc(100% - 24px))}.library-edit-dialog form{min-width:0}.library-edit-dialog textarea{resize:vertical}.library-empty{padding:24px;text-align:center;color:var(--muted)}
@media(max-width:1000px){.library-manager-form{grid-template-columns:1fr 1fr}.library-manager-form .library-desc{grid-column:1/-1}.library-manager-toolbar{grid-template-columns:1fr}.library-manager-filters{justify-content:flex-start}}
@media(max-width:620px){.library-manager-form{grid-template-columns:1fr}.library-manager-form .library-desc{grid-column:auto}.library-manager-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.library-manager-preview{height:120px}.library-manager-actions{grid-template-columns:1fr}.library-manager-actions form{grid-column:auto}.library-page-head{align-items:flex-start}.admin-nav-link{display:none}}

/* v158 – compact, human-readable action flows */
.action-step{padding:0;overflow:hidden}.action-step>summary{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:center;padding:9px 10px;cursor:pointer;list-style:none}.action-step>summary::-webkit-details-marker{display:none}.action-step>summary:after{content:'›';grid-column:3;color:#8eb8ff;font-size:1rem}.action-step[open]>summary:after{transform:rotate(90deg)}.action-step-summary-text{display:grid;gap:2px;min-width:0}.action-step-summary-text b{font-size:.77rem}.action-step-summary-text small{font-size:.67rem;color:var(--muted);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-step-number{display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:#21304a;color:#b9d7ff;font-size:.67rem;font-weight:800}.action-step-body{display:grid;gap:8px;padding:9px;border-top:1px solid #2d3850}.action-step-controls-bottom{justify-content:flex-end;padding-top:4px}.add-action-main{justify-self:start;margin-top:4px}.action-picker{display:grid;gap:9px;margin-top:7px;padding:10px;border:1px solid #30405a;border-radius:10px;background:#0b121f}.action-picker[hidden]{display:none}.action-picker-group{display:grid;gap:6px}.action-picker-group>b{font-size:.7rem;color:#9fc2ff;text-transform:uppercase;letter-spacing:.05em}.action-picker-buttons{display:flex;gap:6px;flex-wrap:wrap}.action-picker-buttons button{font-size:.72rem!important;padding:.42rem .56rem!important}.handling-presets{display:flex;gap:6px;flex-wrap:wrap;padding:8px;border:1px solid #30405a;border-radius:9px;background:#0b121f}.handling-presets[hidden]{display:none}.handling-presets button{font-size:.72rem!important;padding:.44rem .58rem!important}.compact-nested-actions{margin-top:8px;padding-top:8px!important;border-top:1px solid #2d3850!important}.actions-dialog-body .interaction-editor-title>span{line-height:1.35}
.actions-start-state{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;padding:10px 12px;border:1px solid #2d3850;border-radius:10px;background:#111827}.actions-start-state .hint{margin:0;flex:1;min-width:180px}

/* v159: actions stay compact until the user actually needs detail. */
.interaction-card>summary .interaction-summary-main{display:grid;gap:2px;min-width:0;flex:1;white-space:normal}.interaction-card>summary .interaction-summary-main b{font-size:.79rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.interaction-card>summary .interaction-summary-main small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.interaction-condition-chip{flex:0 0 auto!important;max-width:42%;padding:3px 7px;border-radius:999px;background:#1f2b40;color:#b9d7ff!important;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}
.condition-picker{display:flex;gap:6px;flex-wrap:wrap;padding:8px;border:1px solid #30405a;border-radius:9px;background:#0b121f}.condition-picker[hidden]{display:none}.condition-picker button{font-size:.7rem!important;padding:.42rem .55rem!important}.condition-box{display:grid;gap:8px;padding:9px;border:1px solid #3b4b68;border-radius:10px;background:#101827}.condition-box-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.condition-box-head b{font-size:.76rem}.condition-box-head span{font-size:.68rem;color:#a9c7f7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-action.condition-add{justify-self:start;background:#203149!important;color:#cfe1ff!important}.mini-action.condition-remove{justify-self:end;background:#2c3342!important;color:#c8d2e3!important}
.else-action-details,.nested-action-details,.action-advanced,.actions-start-options{border:1px solid #2d3850;border-radius:9px;background:#0d1421;overflow:hidden}.else-action-details>summary,.nested-action-details>summary,.action-advanced>summary,.actions-start-options>summary{padding:8px 10px;cursor:pointer;list-style:none;color:#d8e3f6;font-size:.73rem;font-weight:700}.else-action-details>summary::-webkit-details-marker,.nested-action-details>summary::-webkit-details-marker,.action-advanced>summary::-webkit-details-marker,.actions-start-options>summary::-webkit-details-marker{display:none}.else-action-details>summary:after,.nested-action-details>summary:after,.action-advanced>summary:after,.actions-start-options>summary:after{content:'›';float:right;color:#8eb8ff}.else-action-details[open]>summary:after,.nested-action-details[open]>summary:after,.action-advanced[open]>summary:after,.actions-start-options[open]>summary:after{transform:rotate(90deg)}.else-action-body,.nested-action-details>.compact-nested-actions,.action-advanced>.inspector-grid,.actions-start-options>.actions-start-state{padding:9px;border-top:1px solid #2d3850}.else-action-builder[hidden],.action-type-change[hidden]{display:none}.action-type-change{padding:8px;border:1px dashed #40506e;border-radius:8px;background:#0a111c}
.handling-presets{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:7px}.handling-presets button{display:grid!important;gap:2px!important;justify-items:start!important;text-align:left!important;min-height:54px}.handling-presets button b{font-size:.76rem}.handling-presets button small{font-size:.65rem;color:var(--muted);font-weight:500}.dialog-response{padding:0!important;overflow:hidden}.dialog-response>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;cursor:pointer;list-style:none;font-size:.73rem;font-weight:700}.dialog-response>summary::-webkit-details-marker{display:none}.dialog-response>summary small{font-size:.64rem;color:var(--muted)}.dialog-response-body{display:grid;gap:7px;padding:8px;border-top:1px solid #2d3850}.inventory-auto-preview{min-height:105px}.inventory-auto-preview model-viewer{min-height:105px}.actions-start-options{margin-bottom:10px}.actions-start-options>.actions-start-state{margin:0;border:0;border-radius:0;background:transparent}.action-advanced{margin-top:2px}.action-advanced>.inspector-grid{margin:0}

/* v164: tiny always-available help entry, with the actual guide kept in one quiet overlay. */
.help-icon-button{display:inline-grid!important;place-items:center;width:34px;height:34px;min-width:34px;padding:0!important;border-radius:999px!important;font-size:1rem!important;font-weight:800!important}
.help-dialog{width:min(520px,calc(100% - 24px));padding:0;overflow:hidden}
.help-dialog-shell{display:grid;gap:14px;padding:20px}
.help-dialog-shell h2{margin:0 0 5px}.help-dialog-shell p{margin:0;color:var(--muted);line-height:1.45}.help-youtube-link{justify-content:center;text-align:center}.help-external-note{display:block;margin-top:-8px;color:var(--muted);font-size:.7rem;text-align:center}

/* v176: simple large-world overview map. It is screen UI, never part of the game. */
.stage-viewport{position:relative}
.editor-minimap{position:absolute;right:14px;bottom:14px;z-index:40;width:220px;height:150px;border:1px solid #53627a;border-radius:12px;background:rgba(9,15,24,.94);box-shadow:0 12px 34px #0008;overflow:hidden;backdrop-filter:blur(7px);user-select:none}
.editor-minimap[hidden]{display:none!important}
.editor-minimap canvas{display:block;width:100%;height:100%;cursor:crosshair;touch-action:none}
.editor-minimap-hint{position:absolute;left:7px;bottom:6px;pointer-events:none;padding:3px 6px;border-radius:999px;background:rgba(5,10,17,.76);color:#d8e3f4;font:600 9px/1 system-ui;white-space:nowrap}
.editor-minimap-toggle{display:none;position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:10px;background:#101a29;color:#e8f0ff;font-size:20px;cursor:pointer}
.editor-minimap.collapsed{width:38px;height:38px;border-radius:10px}
.editor-minimap.collapsed canvas,.editor-minimap.collapsed .editor-minimap-hint{display:none}
.editor-minimap.collapsed .editor-minimap-toggle{display:block}
@media(max-width:820px){.editor-minimap{right:8px;bottom:8px;width:170px;height:116px}.editor-minimap-hint{font-size:8px}.editor-minimap.collapsed{width:38px;height:38px}}
/* v177: on-stage controls cheat sheet; session-only collapse state, no game output. */
.stage-controls-help{position:absolute;left:10px;top:10px;z-index:13;width:min(310px,calc(100% - 20px));border:1px solid #53627a;border-radius:12px;background:rgba(9,15,24,.94);box-shadow:0 10px 30px #0008;backdrop-filter:blur(8px);overflow:hidden;color:#e6eefb}
.stage-controls-help[hidden]{display:none!important}
.stage-controls-toggle{display:flex;align-items:center;gap:7px;width:100%;min-height:34px;padding:6px 8px;border:0;border-radius:0;background:transparent;color:#eef5ff;text-align:left;cursor:pointer}
.stage-controls-toggle:hover{background:#ffffff0b}.stage-controls-toggle:focus-visible{outline:2px solid var(--accent2);outline-offset:-2px}
.stage-controls-help-icon{display:grid;place-items:center;width:20px;height:20px;border-radius:999px;background:#25354c;color:#dce9ff;font-weight:850;font-size:12px;flex:0 0 auto}
.stage-controls-toggle b{font-size:12px;letter-spacing:.01em}.stage-controls-chevron{margin-left:auto;color:#9fb0c9;font-size:12px;transition:transform .15s ease}
.stage-controls-body{display:grid;gap:4px;padding:3px 9px 9px;border-top:1px solid #334158}
.stage-control-row{display:grid;grid-template-columns:20px 1fr;gap:7px;align-items:start;color:#b9c6da;font-size:10px;line-height:1.35}.stage-control-row>span:first-child{text-align:center}.stage-control-row b{color:#edf4ff;font-weight:750}
.stage-controls-help.collapsed{width:auto;max-width:150px}.stage-controls-help.collapsed .stage-controls-body{display:none}.stage-controls-help.collapsed .stage-controls-chevron{transform:rotate(180deg)}
.touch-control{display:none}
@media(max-width:820px),(hover:none) and (pointer:coarse){.stage-controls-help{left:8px;top:8px;width:min(260px,calc(100% - 16px))}.desktop-control{display:none}.touch-control{display:grid}.stage-controls-help.collapsed{width:auto}.stage-control-row{font-size:10px}}


/* v178: simple tester-ready game/scene management. */
.manage-game-dialog{width:min(760px,calc(100% - 24px))}.manage-game-dialog h2,.manage-game-dialog h3{margin:0}.manage-section{display:grid;gap:10px;padding-top:14px;border-top:1px solid var(--line)}.manage-section:first-of-type{border-top:0;padding-top:0}.manage-inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.manage-scene-list{display:grid;gap:8px}.manage-scene-row{display:grid;gap:8px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#111725}.manage-scene-name{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.manage-scene-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.manage-scene-actions form{margin:0}.manage-scene-actions .button{display:inline-flex;align-items:center;padding:.55rem .75rem}.manage-danger{border-color:#5a3039}.manage-danger .danger-button{justify-self:start}.danger-button:disabled{opacity:.4;cursor:not-allowed}.head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}@media(max-width:620px){.manage-inline-form,.manage-scene-name{grid-template-columns:1fr}.manage-inline-form button,.manage-scene-name button{width:100%}.manage-scene-actions{justify-content:flex-start}.head-actions{width:100%}.head-actions>*{flex:1;text-align:center}}

/* v181 tester reports */
.problem-report-dialog textarea{width:100%;min-height:130px;resize:vertical;background:#0e1421;color:var(--text);border:1px solid #35405a;border-radius:10px;padding:.8rem;font:inherit}.problem-report-dialog .check{display:flex;grid-template-columns:auto 1fr;align-items:flex-start;gap:.55rem}.problem-report-dialog .check input{width:auto;margin-top:.2rem}.problem-report-status{min-height:1.3em;color:var(--accent);font-size:.88rem}.reports-list{display:grid;gap:12px}.report-card{padding:16px}.report-card.resolved{opacity:.68}.report-meta{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.report-message{white-space:pre-wrap;margin:.7rem 0}.report-tech{white-space:pre-wrap;overflow:auto;max-height:320px;background:#0d1320;border:1px solid var(--line);border-radius:10px;padding:12px;font:12px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;color:#c8d3e6}.report-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.admin-report-link{white-space:nowrap}

/* v182: dedicated admin system / software-backup page */
.system-page-head{align-items:flex-start}.system-overall{display:inline-flex;align-items:center;justify-content:center;min-width:108px;padding:.5rem .75rem;border-radius:999px;font-weight:800;font-size:.78rem;border:1px solid var(--line)}.system-overall.ok,.system-dot.ok{background:#173425;color:#b9f6ce;border-color:#2d6a47}.system-overall.warn,.system-dot.warn{background:#3a2d12;color:#ffe4a3;border-color:#7b6023}.system-overall.error,.system-dot.error{background:#3a171b;color:#ffc0c8;border-color:#7b3039}.system-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:16px 0}.system-status-card{padding:16px}.system-status-card h2{margin:0;font-size:.9rem}.system-status-card p{margin:.65rem 0 0;color:var(--muted);font-size:.78rem;line-height:1.45}.system-dot{display:inline-flex;padding:.25rem .48rem;border-radius:999px;font-size:.66rem;font-weight:800;border:1px solid var(--line)}.system-backup-create,.system-backup-list-card{margin:16px 0;padding:20px}.system-backup-create h2,.system-backup-list-card h2{margin:0 0 4px}.system-backup-form{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:12px;align-items:end;margin-top:16px}.system-backup-list{display:grid;gap:9px;margin-top:16px}.system-backup-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:11px;background:#101722}.system-backup-main{display:grid;gap:3px;min-width:0}.system-backup-main b{font-size:.83rem}.system-backup-main span,.system-backup-main small{color:var(--muted);font-size:.7rem;overflow-wrap:anywhere}.system-backup-main small{opacity:.72}.system-backup-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.system-backup-actions form{margin:0}.system-backup-actions button{font-size:.72rem;padding:.5rem .65rem}@media(max-width:720px){.system-backup-form{grid-template-columns:1fr}.system-backup-row{align-items:flex-start;flex-direction:column}.system-backup-actions{width:100%}.system-backup-actions form{flex:1}.system-backup-actions button{width:100%}}

/* v183: public tester landing page, legal footer and quiet admin settings. */
.beta-badge{display:inline-flex;align-items:center;margin-left:.45rem;padding:.16rem .42rem;border:1px solid #42526b;border-radius:999px;color:#b8c6da;font-size:.62rem;font-weight:800;letter-spacing:.03em;vertical-align:middle}
.site-footer{display:flex;justify-content:center;gap:.8rem;align-items:center;flex-wrap:wrap;padding:24px 14px 30px;color:var(--muted);font-size:.72rem}.site-footer a{color:inherit}.site-footer a:hover{color:var(--text)}
.public-hero{display:grid;gap:16px;padding:26px;margin:18px 0}.public-hero h1{margin:0;font-size:clamp(1.6rem,4vw,2.6rem)}.public-hero p{margin:0;max-width:720px;color:var(--muted);line-height:1.55}.public-hero-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.public-hero-placeholder{color:var(--muted);font-size:.78rem}
.public-games{margin:24px 0}.public-games h2{margin:0 0 12px}.public-game-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.public-game-card{display:grid;gap:10px;padding:16px}.public-game-card h3{margin:0;font-size:1rem}.public-game-card p{margin:0;color:var(--muted);font-size:.76rem}.public-game-card .button{justify-self:start}
.legal-card,.settings-card{padding:20px;margin:18px 0}.legal-card h1,.settings-card h1{margin-top:0}.legal-text{white-space:pre-wrap;line-height:1.6;overflow-wrap:anywhere}.settings-card form{display:grid;gap:14px}.settings-card textarea{min-height:180px;resize:vertical}.settings-card .setting-help{margin-top:-7px;color:var(--muted);font-size:.72rem;line-height:1.4}
.web-publish-form{display:grid;gap:9px}.publish-listing-check{display:flex;align-items:flex-start;gap:.55rem;color:var(--muted);font-size:.78rem;line-height:1.35}.publish-listing-check input{width:auto;margin-top:.15rem}.public-link-button{display:inline-flex!important;align-items:center;justify-content:center;text-decoration:none}
@media(max-width:620px){.public-hero{padding:18px}.public-hero-actions>*{width:100%;text-align:center;justify-content:center}.site-footer{padding-bottom:20px}}
