:root{--bg:#0f1115;--panel:#171a20;--panel-2:#1e232b;--line:#303641;--text:#f3efe6;--muted:#9fa7b3;--accent:#c98f5b;--accent-soft:#6f4d33}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button{font:inherit}body{min-height:100dvh}.app-shell{min-height:100dvh;padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left))}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.topbar h1,.canvas-heading h2,.sidebar h2,.signin-card h1{letter-spacing:-.03em;margin:2px 0 0;font-weight:650}.topbar-actions{align-items:center;gap:10px;display:flex}.eyebrow,.section-label{letter-spacing:.16em;color:var(--accent);margin:0;font-size:11px;font-weight:700}.user-pill,.status-pill{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:999px;padding:8px 12px;font-size:12px}.workspace{grid-template-columns:260px minmax(0,1fr);gap:14px;min-height:calc(100dvh - 104px);display:grid}.sidebar,.canvas-panel{background:var(--panel);border:1px solid var(--line);border-radius:20px;overflow:hidden}.sidebar{padding:16px}.sidebar-section{border-bottom:1px solid var(--line);margin-bottom:16px;padding-bottom:16px}.muted{color:var(--muted);font-size:13px;line-height:1.5}.room-list{gap:8px;display:grid}.room-list-item{text-align:left;border:1px solid var(--line);background:var(--panel-2);color:var(--text);cursor:pointer;border-radius:14px;gap:3px;padding:12px;display:grid}.room-list-item span{color:var(--accent);font-size:11px}.room-list-item small{color:var(--muted)}.room-list-item:active,.tool:active{transform:scale(.985)}.canvas-panel{flex-direction:column;min-width:0;display:flex}.canvas-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.canvas-footer{border-top:1px solid var(--line);color:var(--muted);padding:10px 16px;font-size:12px}.world-scroll,.room-stage{touch-action:pan-x pan-y;background:#11141a;flex:1;overflow:auto}.world-canvas{width:100%;min-width:1400px;height:100%;min-height:520px}.world-route{fill:none;stroke:#6f7682;stroke-width:6px;stroke-dasharray:12 10}.world-room rect{fill:#20262f;stroke:#59616d;stroke-width:4px;cursor:pointer}.world-room:hover rect{stroke:var(--accent)}.world-room text{fill:var(--accent);pointer-events:none;font-size:24px;font-weight:700}.world-room .world-room-title{fill:var(--text);font-size:20px;font-weight:550}.tool-grid{grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 18px;display:grid}.tool{border:1px solid var(--line);background:var(--panel-2);min-height:68px;color:var(--muted);cursor:pointer;border-radius:14px;place-items:center;gap:4px;display:grid}.tool span{color:var(--text);font-size:20px}.tool.active{border-color:var(--accent);color:var(--text);box-shadow:inset 0 0 0 1px var(--accent)}.sidebar-actions{grid-template-columns:1fr;gap:8px;display:grid}.primary-button,.ghost-button,.back-button{cursor:pointer;border-radius:12px;padding:11px 14px}.primary-button{border:1px solid var(--accent);background:var(--accent);color:#17110d;font-weight:700}.ghost-button,.back-button{border:1px solid var(--line);color:var(--text);background:0 0}.back-button{text-align:left;width:100%;margin-bottom:16px}.room-stage{touch-action:none;place-items:center;padding:18px;display:grid}.room-canvas{touch-action:none;background:#101319;border:1px solid #2a3039;border-radius:14px;width:100%;height:auto;min-height:520px;max-height:calc(100dvh - 190px)}.grid-fill{fill:url(#grid)}#grid path{stroke:#252b34;stroke-width:1px}.map-element{stroke-width:2px}.map-element-ground{fill:#57606c;stroke:#838d99}.map-element-wall{fill:#4b535e;stroke:#838d99}.map-element-platform{fill:#836b4d;stroke:#c5a779}.map-element-hazard{fill:#6b3434;stroke:#b25b5b}.map-element-spawn{fill:#54785e;stroke:#8ec69a}.map-element-checkpoint{fill:#6a5c83;stroke:#a998cb}.map-element-transition{fill:#3e6678;stroke:#75aabd}.map-element-story{fill:#7a6740;stroke:#c9a95f}.draft-element{fill:#c98f5b40;stroke:var(--accent);stroke-width:3px;stroke-dasharray:8 6}.signin-shell{background:radial-gradient(circle at 50% 20%,#222932 0,#101318 50%,#0d0f13 100%);place-items:center;min-height:100dvh;padding:24px;display:grid}.signin-card{border:1px solid var(--line);text-align:center;background:#171a20f0;border-radius:24px;width:min(440px,100%);padding:32px;box-shadow:0 28px 80px #00000059}.signin-card p{color:var(--muted);line-height:1.6}.signin-card .primary-button{width:100%;margin:14px 0}.signin-card small{color:#717986}.brand-mark{border:1px solid var(--accent);width:58px;height:58px;color:var(--accent);letter-spacing:.08em;border-radius:18px;place-items:center;margin:0 auto 18px;font-weight:800;display:grid}@media (max-width:820px){.app-shell{padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left))}.topbar{align-items:flex-start}.user-pill{display:none}.workspace{grid-template-columns:1fr;min-height:auto}.sidebar{order:2}.canvas-panel{order:1;min-height:62dvh}.world-canvas{min-width:1200px;min-height:420px}.room-canvas{min-width:900px;min-height:520px}.room-stage{display:block;overflow:auto}.tool-grid{grid-template-columns:repeat(3,1fr)}}
.loading-card{border:1px solid var(--line);background:var(--panel);min-height:42dvh;color:var(--muted);text-align:center;border-radius:20px;align-content:center;place-items:center;gap:12px;padding:32px;display:grid}.notice{border:1px solid var(--line);border-radius:12px;margin-bottom:12px;padding:11px 14px;font-size:13px}.notice-success{color:#a9d3b2;background:#54785e29;border-color:#54785e}.notice-error{color:#e0a3a3;background:#6b34342e;border-color:#6b3434}.save-state{color:#9bc5a5;border:1px solid #3e6047;border-radius:999px;margin-top:8px;padding:5px 8px;font-size:11px;display:inline-flex}.save-state.dirty{border-color:var(--accent-soft);color:#dfb181}.warning-box{color:#cfb875;background:#7a674024;border:1px solid #665734;border-radius:12px;gap:6px;margin:0 0 16px;padding:10px;font-size:11px;line-height:1.4;display:grid}.warning-box strong{color:#ead59a}.warning-box span{display:block}.inline-warning{color:#dfb181;background:#7a674024;border-radius:8px;padding:8px;font-size:11px;line-height:1.35;display:block}.file-button{text-align:center;cursor:pointer;display:block}.file-button input{display:none}.sidebar-actions-spaced{margin-top:16px}.primary-button:disabled,.ghost-button:disabled{cursor:default;opacity:.4}.overview-controls,.quick-controls{grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:14px;display:grid}.world-canvas-live{min-width:1200px;min-height:540px}.world-canvas-interactive,.room-canvas{touch-action:none;-webkit-user-select:none;user-select:none}.world-scroll-interactive{touch-action:none;overflow:hidden}.world-pan-surface{fill:#0000;pointer-events:all}.world-route-line{stroke:#6f7682;stroke-width:14px;stroke-dasharray:42 30;vector-effect:non-scaling-stroke;pointer-events:none}.world-room rect{vector-effect:non-scaling-stroke}.world-room-meta{fill:var(--muted)!important;font-size:48px!important;font-weight:500!important}.draggable-world-room{cursor:grab;touch-action:none}.draggable-world-room:active{cursor:grabbing}.world-region rect{fill:#c98f5b06;stroke:#3a322c;stroke-width:5px;stroke-dasharray:24 18;vector-effect:non-scaling-stroke;pointer-events:none}.world-region text{fill:#756557;letter-spacing:.08em;pointer-events:none;font-size:64px;font-weight:700}.region-list{gap:10px;display:grid}.region-list details{border:1px solid var(--line);background:var(--panel-2);border-radius:12px;overflow:hidden}.region-list summary,.panel-section summary{cursor:pointer;color:var(--text);padding:10px 12px;font-size:12px;font-weight:700}.region-list summary small{float:right;color:var(--muted)}.region-list .room-list{padding:0 8px 8px}.panel-section{border-top:1px solid var(--line);padding:6px 0}.panel-section summary{padding-left:0}.tool-group-label{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:10px 0 6px;font-size:10px}.editor-panel{max-height:calc(100dvh - 104px);overflow:auto}.room-workspace{grid-template-columns:300px minmax(0,1fr)}.snap-row{border:1px solid var(--line);background:var(--panel-2);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;margin:8px 0 14px;padding:9px 10px;font-size:12px;display:flex}.snap-row label{align-items:center;gap:7px;display:flex}.snap-row select,.inspector input,.inspector select,.create-room-grid input{border:1px solid var(--line);color:var(--text);font:inherit;background:#11141a;border-radius:8px;padding:8px}.layer-list{gap:5px;display:grid}.layer-row{background:var(--panel-2);border-radius:9px;grid-template-columns:1fr 36px 36px;align-items:center;gap:5px;padding:6px 8px;font-size:11px;display:grid}.layer-row button{border:1px solid var(--line);color:var(--text);background:0 0;border-radius:7px;min-height:32px}.field-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:9px;display:grid}.field-grid label,.wide-field,.transition-fields label{color:var(--muted);gap:4px;font-size:10px;display:grid}.field-grid input,.wide-field input,.transition-fields input,.transition-fields select{width:100%;min-width:0}.wide-field{margin-top:8px}.check-field{align-items:center;margin-top:8px;gap:7px!important;display:flex!important}.transition-fields{gap:8px;margin-top:10px;display:grid}.inspector-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.danger-button{color:#e5aaaa;cursor:pointer;background:#6b34342e;border:1px solid #773f3f;border-radius:10px;padding:8px 10px}.canvas-heading-actions{align-items:center;gap:6px;display:flex}.canvas-heading-actions .ghost-button{padding:7px 10px}.room-bg{fill:#101319}.map-element{cursor:pointer;stroke-width:2px;vector-effect:non-scaling-stroke}.map-element-selected{stroke-dasharray:10 7;stroke:#f3efe6!important;stroke-width:4px!important}.resize-handle{fill:#f3efe6;stroke:#15181d;stroke-width:4px;vector-effect:non-scaling-stroke;cursor:nwse-resize}.marker-label{fill:#f3efe6;pointer-events:none;font-size:18px;font-weight:800}.mobile-sheet-handle{display:none}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#050709b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{border:1px solid var(--line);background:var(--panel);border-radius:20px;width:min(560px,100%);max-height:90dvh;padding:22px;overflow:auto;box-shadow:0 28px 90px #00000073}.modal-card h2{margin:5px 0 16px}.create-room-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.create-room-grid label{color:var(--muted);gap:5px;font-size:11px;display:grid}.modal-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.modal-actions button{min-width:120px}.map-element-one_way{fill:#6b634a;stroke:#c8b878}.map-element-slope{fill:#5a536e;stroke:#a49bc7}.map-element-enemy_spawn{fill:#733c45;stroke:#d27b86}.map-element-encounter{fill:#633f4d;stroke:#c986a2}.map-element-boss_arena{fill:#6b3f33;stroke:#d9906e}.map-element-npc{fill:#3d6062;stroke:#7bb7ba}.map-element-door{fill:#605442;stroke:#b8a17b}.map-element-ability_gate{fill:#60465f;stroke:#b98ab6}.map-element-secret{fill:#4f4f61;stroke:#9696bd}.map-element-fast_travel{fill:#405c70;stroke:#82b4d1}.map-element-shortcut{fill:#4e6550;stroke:#8db18f}.map-element-camera_zone{fill:#3e667859;stroke:#75aabd}.map-element-perspective_transition{fill:#4a4e75;stroke:#969be0}.map-element-vista{fill:#6c5f3e;stroke:#c9ae69}.map-element-note{fill:#675b46;stroke:#c7aa73}@media (max-width:820px){.notice{z-index:20;position:sticky;top:6px}.world-canvas-live{width:100%;min-width:0;min-height:54dvh}.overview-controls{grid-template-columns:repeat(3,1fr)}.world-sidebar{max-height:42dvh;overflow:auto}.room-workspace{min-height:calc(100dvh - 90px);display:block;position:relative}.room-workspace .canvas-panel{border-radius:16px;min-height:calc(100dvh - 104px)}.room-workspace .room-stage{padding:8px;overflow:hidden}.room-workspace .room-canvas{width:100%;min-width:0;height:calc(100dvh - 190px);min-height:420px;max-height:none}.room-workspace .editor-panel{left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));z-index:60;order:initial;border-radius:20px 20px 16px 16px;max-height:65dvh;transition:transform .2s,max-height .2s;position:fixed;box-shadow:0 -20px 55px #00000073}.room-workspace.panel-collapsed .editor-panel{max-height:64px;overflow:hidden}.room-workspace.panel-collapsed .editor-panel>:not(.mobile-sheet-handle){visibility:hidden}.mobile-sheet-handle{cursor:pointer;place-items:center;height:28px;margin:-8px -8px 4px;display:grid}.mobile-sheet-handle span{background:#555d68;border-radius:999px;width:44px;height:5px}.tool-grid{grid-template-columns:repeat(3,1fr)!important}.tool{min-height:58px}.create-room-grid{grid-template-columns:1fr}.topbar h1{font-size:20px}.canvas-heading{padding:10px 12px}.canvas-footer{font-size:10px}.editor-panel .back-button{margin-bottom:8px}}@media (max-width:600px) and (orientation:portrait){.world-sidebar{max-height:36dvh}.world-panel{min-height:58dvh}.room-workspace .room-canvas{height:calc(100dvh - 170px)}.room-workspace .editor-panel{max-height:70dvh}.tool-grid{grid-template-columns:repeat(2,1fr)!important}}@media (orientation:landscape) and (max-height:600px){.app-shell{padding:6px}.topbar{margin-bottom:6px}.room-workspace,.room-workspace .canvas-panel{min-height:calc(100dvh - 64px)}.room-workspace .room-canvas{height:calc(100dvh - 130px)}.room-workspace .editor-panel{max-height:72dvh}.world-sidebar{max-height:70dvh}}
.room-canvas pattern path{stroke:#252b34;stroke-width:1px}.room-canvas text,.world-canvas text{-webkit-user-select:none;user-select:none}.map-element-polygon_platform{fill:#836b4db8;stroke:#d1b27d;stroke-width:4px;vector-effect:non-scaling-stroke}.polygon-vertex{fill:#f3efe6;stroke:#171a20;stroke-width:4px;vector-effect:non-scaling-stroke;cursor:grab}.polygon-vertex:active{cursor:grabbing}.polygon-draft polyline,.polygon-draft line,.freehand-draft polyline{fill:none;stroke:#c98f5b;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}.polygon-draft polyline,.polygon-draft line{stroke-dasharray:12 8}.freehand-draft polyline{stroke-width:5px}.polygon-draft circle{fill:#c98f5b;stroke:#171a20;stroke-width:3px;vector-effect:non-scaling-stroke;pointer-events:none}.polygon-toolbar,.reference-strip{border:1px solid var(--accent-soft);background:#c98f5b1a;border-radius:14px;gap:8px;margin:0 0 16px;padding:12px;display:grid}.polygon-toolbar small,.polygon-info span,.reference-strip label{color:var(--muted);line-height:1.4}.polygon-info{gap:4px;padding:10px 0;display:grid}.reference-underlay{pointer-events:none}.blueprint-button{background:#d5a56f;border-color:#d5a56f}.infinite-board-bg{fill:#0d1015;pointer-events:none}.room-boundary{stroke:#59616d;stroke-width:2px;stroke-dasharray:10 7;vector-effect:non-scaling-stroke;pointer-events:none}.grid-fill{pointer-events:none}.blueprint-backdrop{z-index:1000;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#05070ac2;place-items:center;display:grid;position:fixed;inset:0}.blueprint-dialog{border:1px solid var(--line);background:var(--panel);border-radius:24px;width:min(980px,100%);max-height:min(92dvh,960px);padding:20px;overflow:auto;box-shadow:0 30px 100px #00000080}.blueprint-dialog-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.blueprint-dialog-header h2{margin:3px 0 0}.blueprint-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.blueprint-card{border:1px solid var(--line);background:var(--panel-2);border-radius:16px;align-content:start;gap:10px;padding:15px;display:grid}.blueprint-card h3{margin:0 0 4px;font-size:15px}.blueprint-card label{color:var(--muted);gap:6px;font-size:12px;display:grid}.blueprint-card select,.blueprint-card input[type=number],.blueprint-card textarea{border:1px solid var(--line);width:100%;color:var(--text);font:inherit;background:#11141a;border-radius:10px;padding:9px 10px}.blueprint-card textarea{resize:vertical}.blueprint-check{justify-content:start;align-items:center;grid-template-columns:auto 1fr!important}.blueprint-print-card{grid-column:1/-1}.blueprint-actions{padding:14px 20px max(14px, env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#171a20f5;grid-template-columns:1.2fr 1fr 1fr;gap:10px;margin:18px -20px -20px;display:grid;position:sticky;bottom:-20px}.offline-status{z-index:900;padding:8px max(12px, env(safe-area-inset-right)) 8px max(12px, env(safe-area-inset-left));border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#101319f0;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;display:grid;position:sticky;top:0}.offline-status strong{font-size:12px}.offline-status span{color:var(--muted);font-size:12px}.offline-status.offline strong{color:#e1b06f}.offline-status.online strong{color:#8ec7a2}.offline-status .ghost-button{min-height:34px;padding:6px 10px}.conflict-card{width:min(620px,100vw - 32px)}.conflict-card p{color:var(--muted);line-height:1.55}.conflict-options{gap:10px;margin-top:18px;display:grid}.conflict-options button{text-align:left;gap:4px;padding:14px;display:grid}.conflict-options button span{opacity:.78;font-size:12px;line-height:1.45}@media (max-width:700px){.blueprint-backdrop{align-items:end;padding:0}.blueprint-dialog{border-radius:24px 24px 0 0;width:100%;max-height:94dvh;padding:16px}.blueprint-grid{grid-template-columns:1fr}.blueprint-print-card{grid-column:auto}.blueprint-actions{grid-template-columns:1fr;margin:14px -16px -16px;padding-inline:16px}.offline-status{grid-template-columns:auto 1fr}.offline-status .ghost-button{grid-column:1/-1;width:100%}}@media (pointer:coarse){.primary-button,.ghost-button,.back-button,.tool,.room-list-item{min-height:44px}.resize-handle{r:16px}.polygon-vertex{stroke-width:5px}}.room-workspace{grid-template-columns:228px minmax(0,1fr);gap:8px}.room-workspace .editor-panel{padding:10px}.room-workspace .sidebar-section{margin-bottom:8px;padding-bottom:8px}.room-workspace .sidebar-section h2{font-size:16px}.room-workspace .sidebar-section .muted{margin:3px 0;font-size:11px;line-height:1.25}.room-workspace .back-button{margin-bottom:8px;padding:7px 9px}.room-workspace .quick-controls{gap:4px;margin-bottom:6px}.room-workspace .quick-controls .ghost-button,.room-workspace .canvas-heading-actions .ghost-button{border-radius:8px;min-height:32px;padding:5px 7px;font-size:11px}.room-workspace .snap-row{margin:4px 0 6px;padding:6px 7px}.room-workspace .panel-section{padding:2px 0}.room-workspace .panel-section summary{padding:6px 0;font-size:11px}.room-workspace .tool-group-label{margin:5px 0 3px;font-size:9px}.room-workspace .tool-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:4px 0 8px}.room-workspace .tool{border-radius:8px;gap:1px;min-height:42px;padding:4px 2px;font-size:9px}.room-workspace .tool span{font-size:15px}.room-workspace .layer-list{gap:3px}.room-workspace .layer-row{border-radius:7px;grid-template-columns:1fr 28px 28px;gap:3px;padding:3px 5px;font-size:10px}.room-workspace .layer-row button{min-height:27px;padding:0}.room-workspace .field-grid,.room-workspace .transition-fields{gap:5px}.room-workspace .inspector input,.room-workspace .inspector select{padding:6px}.room-workspace .sidebar-actions-spaced{margin-top:8px}.room-workspace .sidebar-actions{gap:5px}.room-workspace .sidebar-actions .primary-button,.room-workspace .sidebar-actions .ghost-button{min-height:34px;padding:7px 8px;font-size:11px}.room-workspace .canvas-heading{padding:8px 10px}.room-workspace .canvas-heading h2{font-size:16px}.room-workspace .canvas-heading .section-label{font-size:9px}.room-workspace .room-stage{padding:6px;overflow:hidden}.room-workspace .room-canvas{background:#101319;border-radius:8px;height:calc(100dvh - 148px);min-height:0;max-height:none}.room-workspace .room-bg{fill:#1013198c;pointer-events:none}.room-workspace .canvas-footer{white-space:nowrap;text-overflow:ellipsis;padding:5px 8px;font-size:9px;overflow:hidden}@media (max-width:820px){.room-workspace .canvas-panel{min-height:calc(100dvh - 76px)}.room-workspace .room-canvas{height:calc(100dvh - 132px);min-height:0}.room-workspace .editor-panel{left:max(4px, env(safe-area-inset-left));right:max(4px, env(safe-area-inset-right));bottom:max(4px, env(safe-area-inset-bottom));border-radius:14px;max-height:52dvh;padding:8px}.room-workspace.panel-collapsed .editor-panel{max-height:48px}.mobile-sheet-handle{height:22px;margin:-6px -6px 2px}.room-workspace .tool-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.room-workspace .tool{min-height:38px;font-size:8px}.room-workspace .canvas-footer{display:none}}@media (orientation:landscape) and (max-height:700px){.room-workspace .room-canvas{height:calc(100dvh - 106px)}.room-workspace .editor-panel{max-height:58dvh}}
@media (max-width:820px) and (orientation:portrait){.room-workspace,.room-workspace .canvas-panel{min-height:calc(100dvh - 70px)}.room-workspace .room-canvas{height:calc(100dvh - 122px);min-height:0}.room-workspace .editor-panel{border-radius:14px 14px 10px 10px;max-height:38dvh!important}.room-workspace.panel-collapsed .editor-panel{max-height:46px!important}.room-workspace.panel-collapsed .mobile-sheet-handle{height:34px;margin:-4px -4px 0}.room-workspace.panel-collapsed .mobile-sheet-handle:after{content:"Tools";color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-left:8px;font-size:10px;font-weight:700}.room-workspace.panel-open .editor-panel{overflow:auto}.room-workspace .canvas-heading{padding:6px 8px}.room-workspace .canvas-heading h2{font-size:14px}.room-workspace .canvas-heading .section-label{display:none}}
.room-workspace .room-stage{background:#eceae5}.room-workspace .room-canvas{box-shadow:inset 0 0 0 1px #2d323a14;background:#f7f6f2!important}.room-workspace .infinite-board-bg{fill:#f7f6f2!important}.room-workspace .room-bg{fill:#0000!important;opacity:0!important}.room-workspace .room-boundary{stroke-width:1.5px;stroke-dasharray:10 9;vector-effect:non-scaling-stroke;fill:none!important;stroke:#52586257!important}.room-workspace .grid-dot{fill:#4c525b38!important}.room-workspace .grid-dot-major{fill:#4c525b5c!important}.room-workspace .grid-fill{pointer-events:none}.room-workspace .map-element{stroke:#242a32e0;vector-effect:non-scaling-stroke}.room-workspace .map-element-ground,.room-workspace .map-element-wall,.room-workspace .map-element-platform,.room-workspace .map-element-one_way,.room-workspace .map-element-slope{fill:#50586333;stroke:#303740e0}.room-workspace .map-element-polygon_platform{fill:#836b4d42;stroke:#705638eb}.room-workspace .marker-label{fill:#232830}.room-workspace .resize-handle,.room-workspace .polygon-vertex{fill:#fff;stroke:#2d333c}.world-room-inspector{border:1px solid var(--accent-soft);background:#c98f5b14;border-radius:12px;gap:8px;margin:8px 0 12px;padding:10px;display:grid}.world-room-inspector h3{margin:0;font-size:15px}.world-room-inspector .muted{margin:0;font-size:11px}.world-room-inspector .field-grid{margin-top:2px}.world-room-inspector input,.metadata-fields input{border:1px solid var(--line);width:100%;min-width:0;color:var(--text);font:inherit;background:#11141a;border-radius:8px;padding:7px 8px}.metadata-fields{gap:6px;display:grid}.metadata-fields label{color:var(--muted);gap:4px;font-size:10px;display:grid}.world-order-controls{grid-template-columns:1fr 1fr;align-items:center;gap:5px;display:grid}.world-order-controls span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;grid-column:1/-1;font-size:10px}.vertical-stack-button{width:100%;margin-bottom:8px}.world-room-selected rect{stroke:var(--accent)!important;stroke-width:8px!important}.world-room-selected .world-room-title{fill:#fff7eb!important}.layer-master-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:2px 0 6px;display:grid}.layer-master-controls .ghost-button{min-height:30px;padding:4px;font-size:9px}.room-workspace .layer-row strong{justify-content:space-between;align-items:center;gap:6px;display:flex}.room-workspace .layer-row strong small{min-width:20px;color:var(--muted);text-align:center;background:#ffffff0f;border-radius:999px;padding:1px 5px;font-size:9px}.tile-layer-summary{border:1px dashed var(--line);background:#ffffff06;border-radius:9px;gap:4px;margin-top:7px;padding:8px;display:grid}.tile-layer-summary strong{font-size:10px}.tile-layer-summary span,.tile-layer-summary small{color:var(--muted);font-size:9px;line-height:1.35}.transition-fields>.ghost-button{width:100%}.transition-fields small{color:var(--muted);font-size:9px;line-height:1.35}.map-element-moving_platform{stroke-width:3px;stroke-dasharray:14 7;fill:#4a8eb838!important;stroke:#3480aef2!important}.map-element-rotating_platform{stroke-width:3px;stroke-dasharray:4 6;fill:#875fb733!important;stroke:#7c4fadf2!important}.map-element-breakaway_platform{stroke-width:3px;stroke-dasharray:18 5 4 5;fill:#be7e3a2e!important;stroke:#b06921f5!important}.map-element-disappearing_platform{stroke-width:3px;stroke-dasharray:3 8;fill:#717c8a1a!important;stroke:#5c697ac7!important}.map-element-ladder{stroke-width:2.5px;fill:#4587601a!important;stroke:#378456e0!important}.map-element-rope{stroke-width:2px;stroke-dasharray:7 7;fill:#a87c3d12!important;stroke:#9b6d30c7!important}.platform-path-guide{pointer-events:none}.platform-path-guide line{stroke:#3480aed9;stroke-width:3px;stroke-dasharray:10 8;vector-effect:non-scaling-stroke}.platform-path-guide circle{fill:#f7f6f2;stroke:#3480aef2;stroke-width:3px;vector-effect:non-scaling-stroke}.rope-centerline,.ladder-rung{pointer-events:none;stroke:#9b6d30f2;stroke-width:3px;vector-effect:non-scaling-stroke}.ladder-rung{stroke:#378456eb}.behavior-fields{border:1px solid var(--line);background:#ffffff06;border-radius:10px;gap:7px;margin-top:9px;padding:9px;display:grid}.behavior-fields>strong{font-size:11px}.behavior-fields>small{color:var(--muted);font-size:9px;line-height:1.4}.behavior-fields .field-grid{margin-top:0}.behavior-fields select,.behavior-fields input{width:100%;min-width:0}@media (max-width:820px){.world-room-inspector{padding:8px}.world-room-inspector .sidebar-actions{grid-template-columns:1fr 1fr}.layer-master-controls{grid-template-columns:repeat(3,1fr)}}
.room-workspace .room-stage{background:#15191f}.room-workspace .room-canvas{box-shadow:inset 0 0 0 1px #ffffff0b;background:#1b2027!important}.room-workspace .infinite-board-bg{fill:#1b2027!important}.room-workspace .room-bg{fill:#0000!important;opacity:0!important}.room-workspace .room-boundary{stroke-width:1.5px;stroke-dasharray:10 9;vector-effect:non-scaling-stroke;fill:none!important;stroke:#bcc5d14d!important}.room-workspace .grid-dot{fill:#bac3cf2e!important}.room-workspace .grid-dot-major{fill:#cdd6e257!important}.room-workspace .map-element{vector-effect:non-scaling-stroke}.room-workspace .map-element-ground,.room-workspace .map-element-wall,.room-workspace .map-element-platform,.room-workspace .map-element-one_way,.room-workspace .map-element-slope{fill:#8190a333!important;stroke:#becbdcc7!important}.room-workspace .map-element-polygon_platform{fill:#a1815847!important;stroke:#dab47ee6!important}.room-workspace .marker-label{fill:#f1f4f8!important}.room-workspace .resize-handle,.room-workspace .polygon-vertex{fill:#f7f8fa!important;stroke:#222831!important}.map-element-moving_platform{fill:#569ac53d!important;stroke:#7dc7f1f5!important}.map-element-rotating_platform{fill:#9369c23d!important;stroke:#c49bf0f5!important}.map-element-breakaway_platform{fill:#ca894238!important;stroke:#e5ab68f5!important}.map-element-disappearing_platform{fill:#8591a01c!important;stroke:#c2cddbcc!important}.map-element-ladder{fill:#4c91671f!important;stroke:#81cd9fe6!important}.map-element-rope{fill:#ba8b4a14!important;stroke:#e2b874cc!important}.platform-path-guide line{stroke:#7dc7f1e0!important}.platform-path-guide circle{fill:#1b2027!important;stroke:#7dc7f1f5!important}.rope-centerline{stroke:#e2b874f5!important}.ladder-rung{stroke:#81cd9ff0!important}.room-workspace .map-element.validation-error{stroke-dasharray:9 6;filter:drop-shadow(0 0 4px #ff4d4d6b);stroke:#ff6b6b!important;stroke-width:3px!important}.room-workspace .map-element.validation-warning{stroke-dasharray:7 6;stroke:#f6c86a!important;stroke-width:2.5px!important}.room-validation-summary{white-space:nowrap;background:#ffffff09;border:1px solid #ffffff17;border-radius:8px;align-items:center;gap:5px;min-height:30px;padding:4px 8px;font-size:10px;display:inline-flex}.room-validation-summary.has-errors{background:#8a303029;border-color:#ff6b6b80}.room-validation-summary .validation-error-count{color:#ff9a9a;font-weight:800}.room-validation-summary .validation-warning-count{color:#f6cf80;font-weight:800}.element-validation-list{gap:5px;margin-top:8px;display:grid}.element-validation-item{background:#ffffff09;border-left:3px solid #ffffff2e;border-radius:7px;padding:6px 7px;font-size:10px;line-height:1.3;display:block}.element-validation-item.error{border-left-color:#ff6b6b}.element-validation-item.warning{border-left-color:#f6c86a}.element-validation-item.info{border-left-color:#78baf3}
.world-canvas .world-room text,.world-canvas .world-region-label{pointer-events:none;paint-order:stroke fill;stroke:#0a0c10d1;stroke-width:4px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.world-canvas .world-room-id{fill:#f7f4ee;letter-spacing:.03em;font-weight:800;font-size:105px!important}.world-canvas .world-room-title{fill:#f2d3a8;font-weight:700;font-size:86px!important}.world-canvas .world-room-meta{fill:#bfc6d1;font-weight:600;font-size:64px!important}.world-canvas .world-region-label{fill:#e7b77d;letter-spacing:.05em;font-weight:800;font-size:110px!important}.world-canvas .world-route-line{vector-effect:non-scaling-stroke;stroke-width:3px}.world-canvas .world-room>rect,.world-canvas .world-region>rect{vector-effect:non-scaling-stroke}.world-scroll-interactive{overflow:hidden}.world-canvas-interactive{touch-action:none}
.workspace:has(>.world-panel){grid-template-columns:230px minmax(0,1fr);align-items:stretch;height:calc(100dvh - 104px);min-height:0;overflow:hidden}:is(.workspace:has(>.world-panel)>.world-sidebar,.workspace:has(>.world-panel)>.world-panel){align-self:stretch;height:100%;min-height:0}.workspace:has(>.world-panel)>.world-sidebar{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#c98f5bad #ffffff09;overflow:hidden auto}.workspace:has(>.world-panel)>.world-panel{overflow:hidden}:is(.workspace:has(>.world-panel)>.world-panel .canvas-heading,.workspace:has(>.world-panel)>.world-panel .canvas-footer){flex:none}.workspace:has(>.world-panel)>.world-panel .world-scroll{scrollbar-width:thin;scrollbar-color:#c98f5b94 #ffffff06;flex:auto;min-height:0;overflow:hidden}.workspace:has(>.world-panel)>.world-panel .world-canvas{width:100%;height:100%;min-height:0;display:block}.workspace:has(>.world-panel)>.world-sidebar .world-room-inspector{max-width:100%}.workspace:has(>.world-panel)>.world-sidebar::-webkit-scrollbar{width:8px;height:8px}.workspace:has(>.world-panel)>.world-panel .world-scroll::-webkit-scrollbar{width:8px;height:8px}.workspace:has(>.world-panel)>.world-sidebar::-webkit-scrollbar-track{background:#ffffff06;border-radius:999px}.workspace:has(>.world-panel)>.world-panel .world-scroll::-webkit-scrollbar-track{background:#ffffff06;border-radius:999px}.workspace:has(>.world-panel)>.world-sidebar::-webkit-scrollbar-thumb{background:linear-gradient(#c98f5bc7,#6f4d33c7);border:2px solid #171a20e0;border-radius:999px}.workspace:has(>.world-panel)>.world-panel .world-scroll::-webkit-scrollbar-thumb{background:linear-gradient(#c98f5bc7,#6f4d33c7);border:2px solid #171a20e0;border-radius:999px}.workspace:has(>.world-panel)>.world-sidebar::-webkit-scrollbar-thumb:hover{background:linear-gradient(#daa069f2,#8b5e3ceb)}.workspace:has(>.world-panel)>.world-panel .world-scroll::-webkit-scrollbar-thumb:hover{background:linear-gradient(#daa069f2,#8b5e3ceb)}@media (max-width:820px){.workspace:has(>.world-panel){grid-template-rows:minmax(0,62fr) minmax(0,38fr);grid-template-columns:1fr;gap:8px;height:calc(100dvh - 82px);min-height:0}.workspace:has(>.world-panel)>.world-panel{order:1;height:100%;min-height:0}.workspace:has(>.world-panel)>.world-sidebar{order:2;height:100%;min-height:0;overflow-y:auto}.workspace:has(>.world-panel)>.world-panel .world-canvas{min-width:0;min-height:0}}
.world-canvas-interactive,.room-workspace .room-canvas{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overscroll-behavior:none;touch-action:none!important}.room-workspace .room-canvas .map-element{pointer-events:all;cursor:grab}.room-workspace .room-canvas .map-element:active{cursor:grabbing}.room-workspace .room-canvas .marker-label,.room-workspace .room-canvas .platform-path-guide,.room-workspace .room-canvas .rope-centerline,.room-workspace .room-canvas .ladder-rung{pointer-events:none}.room-workspace .room-canvas .resize-handle,.room-workspace .room-canvas .polygon-vertex{pointer-events:all;cursor:grab}.room-workspace>.canvas-panel{background:#252a31!important}.room-workspace .room-stage,.room-workspace .room-canvas{background:#2b3038!important}.room-workspace .room-stage{background-image:radial-gradient(circle,#ebf0f76b 1.2px,#0000 1.35px),radial-gradient(circle,#e0e6ee2e 1px,#0000 1.15px)!important;background-position:0 0,16px 16px!important;background-size:32px 32px!important}.room-workspace .room-canvas{box-shadow:none!important;background:0 0!important;border-color:#ffffff0f!important}.room-workspace .infinite-board-bg,.room-workspace .grid-fill,.room-workspace .room-bg{fill:none!important;opacity:0!important;pointer-events:none!important;display:none!important}.room-workspace .room-boundary{vector-effect:non-scaling-stroke;fill:none!important;stroke:#e8974894!important;stroke-width:1.5px!important;stroke-dasharray:12 10!important;opacity:1!important;pointer-events:none!important;display:block!important}@supports (-webkit-touch-callout:none){.world-canvas-interactive,.room-workspace .room-canvas{transform:translateZ(0)}}
.room-workspace .room-canvas,.world-canvas-interactive{overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;outline:none;touch-action:none!important}.room-workspace .room-canvas:focus-visible,.world-canvas-interactive:focus-visible{outline-offset:-3px;outline:2px solid #daa069eb}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,.file-button:focus-within{outline-offset:2px;outline:2px solid #daa069eb}@media (pointer:coarse){button,.ghost-button,.primary-button,.danger-button,.back-button,.file-button,summary,select,input[type=checkbox]{min-height:44px}.room-workspace .tool,.world-room-browser .room-list-item{min-height:48px}.room-workspace .resize-handle,.room-workspace .polygon-vertex{stroke-width:5px}}@media (pointer:fine){.room-workspace .map-element,.world-room.draggable-world-room{cursor:grab}.room-workspace .map-element:active,.world-room.draggable-world-room:active{cursor:grabbing}}.room-editor-topbar,.room-editor-bottombar,.world-overview-topbar,.world-room-browser,.room-workspace .editor-panel>details:first-of-type,.room-workspace .editor-panel>details:nth-of-type(2){overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
:root{--static-rail:230px;--static-gap:8px;--static-bar-bg:#20252c;--static-bar-border:#ffffff14}.static-editor-shell{grid-template-columns:var(--static-rail) minmax(0,1fr)!important;gap:var(--static-gap)!important;align-items:stretch!important;height:calc(100dvh - 104px)!important;min-height:0!important;display:grid!important;overflow:hidden!important}.static-inspector-rail{box-sizing:border-box!important;flex-direction:column!important;gap:8px!important;width:auto!important;height:100%!important;min-height:0!important;padding:12px!important;display:flex!important;position:static!important;overflow:hidden!important}.static-inspector-rail>*{flex:none;min-width:0}.static-inspector-rail .inspector,.static-inspector-rail .world-room-inspector{min-height:0;overflow:hidden!important}.static-inspector-rail .field-grid,.static-inspector-rail .metadata-fields{gap:5px!important}.static-inspector-rail input,.static-inspector-rail select,.static-inspector-rail button{min-height:32px!important}.static-editor-main{grid-template-rows:auto auto minmax(0,1fr) auto auto!important;min-width:0!important;height:100%!important;min-height:0!important;padding:0!important;display:grid!important;position:static!important;overflow:hidden!important}.static-editor-topbar,.static-editor-layerbar,.static-editor-toolsbar,.static-world-browser,.static-editor-footer{box-sizing:border-box!important;flex:none!important;width:auto!important;max-width:none!important;position:static!important;inset:auto!important;overflow:hidden!important;transform:none!important}.static-editor-topbar{border-bottom:1px solid var(--static-bar-border);background:var(--static-bar-bg);min-height:54px;align-items:center!important;gap:8px!important;padding:7px 9px!important;display:flex!important}.static-editor-title{min-width:150px;margin-right:auto}.static-editor-title h2,.static-editor-title p{margin:0!important}.static-editor-topbar .quick-controls,.static-editor-topbar .snap-row,.static-editor-topbar .canvas-heading-actions,.static-editor-topbar .overview-controls,.static-editor-topbar .static-world-actions{align-items:center!important;gap:5px!important;width:auto!important;min-width:0!important;margin:0!important;display:flex!important;position:static!important}.static-editor-topbar button,.static-editor-topbar select{white-space:nowrap;min-height:36px!important}.static-editor-layerbar{border-bottom:1px solid var(--static-bar-border);background:#1d2229;white-space:normal!important;align-items:center!important;gap:8px!important;padding:5px 7px!important;display:flex!important}.static-editor-layerbar .layer-master-controls,.static-editor-layerbar .layer-list{flex-wrap:wrap!important;align-items:center!important;gap:4px!important;margin:0!important;display:flex!important}.static-editor-layerbar .layer-list{flex:auto}.static-editor-layerbar .layer-row{align-items:center!important;gap:3px!important;width:auto!important;padding:2px 4px!important;display:inline-flex!important}.static-editor-layerbar .layer-row strong{align-items:center;gap:3px;font-size:10px;display:inline-flex!important}.static-editor-layerbar .layer-row button{width:28px!important;min-width:28px!important;min-height:28px!important;padding:2px!important}.static-editor-viewport,.room-workspace .static-editor-viewport,.world-static-shell .static-editor-viewport{width:100%!important;min-width:0!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important;position:relative!important;overflow:hidden!important}.static-editor-viewport .room-canvas,.static-editor-viewport .world-canvas,.room-workspace .room-canvas,.world-static-shell .world-canvas{width:100%!important;min-width:0!important;max-width:none!important;height:100%!important;min-height:0!important;max-height:none!important;display:block!important}.static-editor-toolsbar{border-top:1px solid var(--static-bar-border);background:#1d2229;flex-wrap:wrap!important;align-items:flex-start!important;gap:6px 10px!important;padding:6px 8px!important;display:flex!important}.static-tool-group{min-width:0;flex-direction:column!important;gap:3px!important;display:flex!important}.static-tool-group .tool-group-label{margin:0!important;font-size:9px!important;line-height:11px!important}.static-tool-group .tool-grid{flex-wrap:wrap!important;gap:3px!important;margin:0!important;display:flex!important}.static-tool-group .tool{width:54px!important;min-width:54px!important;min-height:48px!important;padding:4px 3px!important;font-size:8px!important}.static-tool-group .tool span{font-size:16px!important}.static-editor-footer{border-top:1px solid var(--static-bar-border);background:#1b2026;min-height:24px;font-size:10px;line-height:14px;padding:4px 8px!important}.world-static-shell .static-editor-main{grid-template-rows:auto minmax(0,1fr) auto auto!important}.world-static-topbar .static-world-actions{margin-left:auto!important}.world-static-topbar .vertical-stack-button{width:auto!important;min-height:36px!important;margin:0!important;position:static!important}.static-world-browser{border-top:1px solid var(--static-bar-border);background:#1d2229;flex-wrap:wrap!important;align-items:flex-start!important;gap:6px 10px!important;padding:6px 8px!important;display:flex!important}.static-world-region-group{min-width:0;align-items:center!important;gap:5px!important;display:flex!important}.static-world-region-group>strong{white-space:nowrap;font-size:10px}.static-world-room-grid{flex-wrap:wrap!important;gap:4px!important;display:flex!important}.static-world-room-grid .room-list-item{text-align:left;width:118px!important;min-width:118px!important;min-height:48px!important;padding:4px 6px!important}.static-world-room-grid .room-list-item span,.static-world-room-grid .room-list-item strong,.static-world-room-grid .room-list-item small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.static-world-room-grid .room-list-item.active{outline-offset:-2px;outline:2px solid #daa069d9}.static-editor-shell .quick-controls,.static-editor-shell .snap-row,.static-editor-shell .overview-controls,.static-editor-shell .vertical-stack-button,.static-editor-shell .sidebar-actions-spaced,.static-editor-shell .region-list,.static-editor-shell details,.static-editor-shell .layer-list,.static-editor-shell .tool-grid{position:static!important;inset:auto!important;overflow:visible!important;transform:none!important}.static-editor-shell,.static-editor-shell>*,.static-editor-shell .static-editor-main,.static-editor-shell .static-inspector-rail,.static-editor-shell .static-editor-topbar,.static-editor-shell .static-editor-layerbar,.static-editor-shell .static-editor-toolsbar,.static-editor-shell .static-world-browser{scrollbar-width:none!important}.static-editor-shell ::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}@media (max-width:1100px){:root{--static-rail:188px}.static-editor-shell{grid-template-columns:var(--static-rail) minmax(0,1fr)!important;grid-template-rows:1fr!important;height:calc(100dvh - 82px)!important}.static-inspector-rail{order:initial!important;padding:8px!important}.static-editor-topbar{gap:5px!important;padding:5px 6px!important}.static-editor-title{min-width:105px}.static-editor-title h2{font-size:15px!important}.static-editor-topbar button,.static-editor-topbar select{min-height:32px!important;padding-inline:6px!important;font-size:10px!important}.static-editor-layerbar{padding:4px 5px!important}.static-tool-group .tool{width:48px!important;min-width:48px!important;min-height:44px!important;font-size:7px!important}.static-world-room-grid .room-list-item{width:104px!important;min-width:104px!important;min-height:44px!important}.world-static-shell>.world-sidebar.static-inspector-rail{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;scrollbar-color:#c98f5bb3 #ffffff09;scrollbar-width:thin!important;overflow:hidden auto!important}.world-static-shell>.world-sidebar.static-inspector-rail .world-room-inspector{flex:none!important;overflow:visible!important}.world-static-shell>.world-sidebar.static-inspector-rail::-webkit-scrollbar{width:7px!important;display:block!important}.world-static-shell>.world-sidebar.static-inspector-rail::-webkit-scrollbar-track{background:#ffffff06;border-radius:999px}.world-static-shell>.world-sidebar.static-inspector-rail::-webkit-scrollbar-thumb{background:#c98f5bb3;border-radius:999px}}@media (max-width:760px){:root{--static-rail:160px}.static-editor-shell{grid-template-columns:var(--static-rail) minmax(0,1fr)!important}.static-editor-topbar{flex-wrap:wrap!important}.static-editor-title{flex:100%}.static-tool-group .tool{width:44px!important;min-width:44px!important}}
.world-canvas .world-room-preview{pointer-events:all;overflow:hidden}.world-canvas .world-room-preview-surface{fill:#181d246b;pointer-events:all}.world-canvas .world-room-preview-content{opacity:.92;pointer-events:none}.world-canvas .world-preview-element{vector-effect:non-scaling-stroke;stroke-width:2px;pointer-events:none}.world-canvas .world-preview-ground,.world-canvas .world-preview-wall,.world-canvas .world-preview-platform,.world-canvas .world-preview-one_way,.world-canvas .world-preview-slope{fill:#8493a647;stroke:#c6d2e2c7}.world-canvas .world-preview-polygon_platform{fill:#a1815857;stroke:#dfb77deb}.world-canvas .world-preview-moving_platform{fill:#569ac557;stroke:#7dc7f1f5}.world-canvas .world-preview-rotating_platform{fill:#9369c257;stroke:#c49bf0f5}.world-canvas .world-preview-breakaway_platform{fill:#ca894252;stroke:#e5ab68f5}.world-canvas .world-preview-disappearing_platform{fill:#8591a033;stroke:#c2cddbd1;stroke-dasharray:8 6}.world-canvas .world-preview-ladder{fill:#4c91672e;stroke:#81cd9feb}.world-canvas .world-preview-rope{fill:#ba8b4a1f;stroke:#e2b874e0}.world-canvas .world-preview-hazard{fill:#c44f4f61;stroke:#ef7f7ff5}.world-canvas .world-preview-camera_zone,.world-canvas .world-preview-perspective_transition,.world-canvas .world-preview-vista{fill:#5f91c729;stroke:#8dbeeec2;stroke-dasharray:7 5}.world-canvas .world-preview-spawn,.world-canvas .world-preview-checkpoint,.world-canvas .world-preview-transition,.world-canvas .world-preview-enemy_spawn,.world-canvas .world-preview-boss_spawn,.world-canvas .world-preview-rope_anchor,.world-canvas .world-preview-encounter,.world-canvas .world-preview-boss_arena,.world-canvas .world-preview-npc,.world-canvas .world-preview-door,.world-canvas .world-preview-ability_gate,.world-canvas .world-preview-secret,.world-canvas .world-preview-fast_travel,.world-canvas .world-preview-shortcut,.world-canvas .world-preview-story,.world-canvas .world-preview-note{fill:#e1b070c7;stroke:#ffe1b7f5}.world-canvas .world-room-outline{stroke-dasharray:12 10;vector-effect:non-scaling-stroke;pointer-events:none;fill:none!important;stroke:#d7dee86b!important;stroke-width:2px!important}.world-canvas .world-room-selected .world-room-outline{stroke:#ebb677f5!important;stroke-width:3px!important}.world-canvas .world-room-validation-error .world-room-outline{stroke-dasharray:10 7;stroke:#ff6767f2!important;stroke-width:3px!important}.world-canvas .world-room-validation-warning:not(.world-room-validation-error) .world-room-outline{stroke:#f6c86ae6!important}.world-canvas .world-room-label-bg{vector-effect:non-scaling-stroke;pointer-events:none;fill:#0d1015c7!important;stroke:#ffffff14!important;stroke-width:1px!important}.world-canvas .world-room-validation-badge{pointer-events:none}.world-canvas .world-room-validation-badge rect{fill:#0f1217e6;stroke-width:2px;vector-effect:non-scaling-stroke}.world-canvas .world-room-validation-badge.error rect{stroke:#ff6767f2}.world-canvas .world-room-validation-badge.warning rect{stroke:#f6c86ae6}.world-canvas .world-room-validation-badge text{fill:#f5f7fa;paint-order:stroke fill;stroke:#0a0c10cc;stroke-width:3px;pointer-events:none;font-weight:800}.world-canvas .world-room-id,.world-canvas .world-room-title,.world-canvas .world-room-meta{pointer-events:none}.static-world-room-grid .room-list-item.validation-error{box-shadow:inset 3px 0 #ff6767e6}.static-world-room-grid .room-list-item.validation-warning:not(.validation-error){box-shadow:inset 3px 0 #f6c86ad9}.world-canvas .world-route-line{stroke-dasharray:14 12}
.samir-settings-button{flex:none}.samir-modal-backdrop{z-index:1200}.samir-settings-modal{width:min(1040px,100vw - 32px);max-width:1040px;max-height:min(88vh,920px);padding:18px;overflow-y:auto}.samir-modal-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.samir-modal-header h2,.samir-modal-header p{margin-top:0}.samir-preset-row{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 14px;display:flex}.samir-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.samir-settings-grid>section,.samir-derived{background:#ffffff06;border:1px solid #ffffff14;border-radius:10px;padding:10px}.samir-settings-grid h3,.samir-derived h3{margin:0 0 8px;font-size:12px}.samir-settings-grid small{color:#ebf0f79e;margin-top:6px;line-height:1.35;display:block}.samir-ability-grid{flex-wrap:wrap;gap:6px;display:flex}.samir-check{background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:6px;min-height:34px;padding:5px 8px;display:inline-flex!important}.samir-check input{width:auto!important;min-height:0!important}.samir-derived{grid-template-columns:auto repeat(5,minmax(0,1fr));align-items:center;gap:8px;margin:12px 0;display:grid}.samir-derived h3{margin:0}.samir-derived>div{min-width:0}.samir-derived strong,.samir-derived span{display:block}.samir-derived strong{font-size:14px}.samir-derived span{color:#ebf0f794;margin-top:2px;font-size:9px}.samir-settings-modal textarea{box-sizing:border-box;resize:vertical;width:100%}@media (max-width:760px){.samir-settings-modal{width:min(96vw,1040px);max-height:86vh;padding:12px}.samir-settings-grid{grid-template-columns:1fr}.samir-derived{grid-template-columns:repeat(2,minmax(0,1fr))}.samir-derived h3{grid-column:1/-1}}
.auth-screen{background:radial-gradient(circle at 50% 20%,#da9b401a,#0000 34%),#15191f;place-items:center;min-height:100dvh;padding:24px;display:grid}.auth-card{background:#1b2027f5;border:1px solid #ffb54a2e;border-radius:18px;width:min(420px,100%);padding:28px;box-shadow:0 22px 70px #00000057}.auth-mark{color:#f2b45a;letter-spacing:.08em;border:1px solid #ffb54a8c;border-radius:12px;place-items:center;width:48px;height:48px;margin-bottom:18px;font-weight:800;display:grid}.auth-card h1{margin:3px 0 8px;font-size:clamp(28px,5vw,38px)}.auth-copy,.auth-footnote{color:#ebf0f7a3}.auth-copy{margin:0 0 22px;line-height:1.5}.auth-form{gap:14px;display:grid}.auth-form label{color:#ebf0f7cc;gap:7px;font-size:12px;display:grid}.auth-form input{box-sizing:border-box;color:#eef2f7;width:100%;min-height:46px;font:inherit;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;padding:10px 12px}.auth-form input:focus{outline-offset:2px;outline:2px solid #f2b45a80}.auth-submit{min-height:46px}.auth-footnote{margin-top:18px;line-height:1.45;display:block}
.world-static-shell>.world-sidebar.static-inspector-rail{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;scrollbar-color:#c98f5bb3 #ffffff09;scrollbar-width:thin!important;min-height:0!important;overflow:hidden auto!important}.world-static-shell>.world-sidebar.static-inspector-rail .world-room-inspector{flex:none!important;overflow:visible!important}.world-static-shell>.world-sidebar.static-inspector-rail::-webkit-scrollbar{width:7px!important;height:7px!important;display:block!important}.world-static-shell>.world-sidebar.static-inspector-rail::-webkit-scrollbar-track{background:#ffffff06;border-radius:999px}.world-static-shell>.world-sidebar.static-inspector-rail::-webkit-scrollbar-thumb{background:#c98f5bb3;border-radius:999px}
.design-analysis-hud{z-index:20;pointer-events:none;background:#161a20e6;border:1px solid #ffffff1a;border-radius:9px;flex-wrap:wrap;align-items:center;gap:6px;max-width:min(760px,100% - 20px);padding:7px 9px;font-size:10px;display:flex;position:absolute;bottom:10px;left:10px;box-shadow:0 8px 24px #00000038}.design-analysis-hud strong{letter-spacing:.04em;text-transform:uppercase;font-size:10px}.design-analysis-hud span{background:#ffffff0d;border-radius:999px;padding:2px 6px}.design-analysis-hud .analysis-warning{background:#dda44f29}.design-analysis-hud .analysis-notice{background:#c98f5b1f;border-radius:5px;flex-basis:100%;line-height:1.35}.design-analysis-svg-overlay{pointer-events:none}.traversal-heat-envelope{fill:#6cc48f0e;stroke:#6cc48f7a;stroke-width:2px;stroke-dasharray:14 10;vector-effect:non-scaling-stroke}.traversal-reachable{fill:#6cc48f2b;stroke:#89e4aed6;stroke-width:2px;vector-effect:non-scaling-stroke}.traversal-origin{fill:#89e4aef2;stroke:#0f1f17f2;stroke-width:3px;vector-effect:non-scaling-stroke}.camera-preview-frame{fill:#5da6eb09;stroke:#70bcfff0;stroke-width:3px;stroke-dasharray:18 9;vector-effect:non-scaling-stroke}.camera-crosshair{stroke:#70bcffeb;stroke-width:2px;vector-effect:non-scaling-stroke}.critical-path-line{fill:none;stroke:#e89748f5;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:20 10;vector-effect:non-scaling-stroke}.critical-path-point{fill:#e89748fa;stroke:#311f14f2;stroke-width:3px;vector-effect:non-scaling-stroke}.critical-path-number{fill:#191c21;text-anchor:middle;pointer-events:none;font-size:14px;font-weight:800}.analysis-label{paint-order:stroke;stroke:#12151af5;stroke-width:5px;stroke-linejoin:round;pointer-events:none;font-size:17px;font-weight:700}.heat-label{fill:#99ecbbfa}.camera-label{fill:#87c8fffa}@media (max-width:760px){.design-analysis-hud{gap:4px;max-width:calc(100% - 12px);padding:5px 6px;font-size:9px;bottom:6px;left:6px}}
