:root{color-scheme:dark;font-family:Segoe UI,system-ui,sans-serif;color:#dce5ed;background:#090c10;font-synthesis:none;--bg: #090c10;--panel: #0f141a;--panel-2: #151b22;--panel-3: #1b232c;--line: #26313c;--line-strong: #354451;--text: #e8eef4;--muted: #82909e;--red: #ff4654;--green: #57e389;--amber: #ffd166}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button,input{font:inherit}button{color:inherit}.editor-shell{display:grid;grid-template-columns:72px 282px minmax(360px,1fr) 304px;grid-template-rows:58px minmax(0,1fr);width:100vw;height:100dvh;background:var(--bg)}.topbar{grid-column:1 / -1;display:flex;align-items:center;min-width:0;padding:0 10px 0 13px;border-bottom:1px solid var(--line);background:#0c1015;box-shadow:0 8px 30px #0007;z-index:10}.brand{display:flex;align-items:center;gap:9px;width:330px;min-width:236px;color:var(--text);text-decoration:none}.brand>i{display:block;width:24px;height:24px;border-radius:6px;background:linear-gradient(115deg,transparent 0 17%,var(--red) 18% 29%,transparent 30% 38%,var(--red) 39% 50%,transparent 51% 59%,var(--red) 60% 71%,transparent 72% 80%,var(--red) 81% 92%,transparent 93%),#151b22;box-shadow:0 0 0 1px #ffffff1a}.brand span{display:grid;gap:2px;line-height:1}.brand b{font:800 13px/1 Bahnschrift,Arial Narrow,sans-serif;letter-spacing:.09em}.brand small{color:var(--green);font:700 9px/1.2 Cascadia Mono,Consolas,monospace;letter-spacing:.08em}.seed-control,.history-actions,.file-actions{display:flex;align-items:center;gap:6px}.seed-control{height:36px;padding:0 5px 0 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.seed-control>span{color:var(--muted);font:800 9px Cascadia Mono,Consolas,monospace;letter-spacing:.13em}.seed-control input{width:100px;border:0;outline:0;background:transparent;color:var(--text);font:700 12px Cascadia Mono,Consolas,monospace}.topbar button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:var(--panel-2);color:#cbd6df;cursor:pointer;font:700 11px Bahnschrift,Arial Narrow,sans-serif;letter-spacing:.03em}.topbar button:hover:not(:disabled){border-color:var(--line-strong);background:var(--panel-3);color:#fff}.topbar button:disabled{opacity:.34;cursor:default}.history-actions{margin-left:10px}.history-actions button{width:34px;padding:0}.file-actions{margin-left:auto}.topbar .play-button{border-color:transparent;background:var(--red);color:#fff;box-shadow:0 5px 20px #ff46543c}.topbar .play-button:hover:not(:disabled){border-color:transparent;background:#ff5966}.toolrail{grid-column:1;grid-row:2;display:flex;flex-direction:column;gap:5px;padding:9px 7px;border-right:1px solid var(--line);background:#0c1015;overflow-y:auto}.toolrail button{position:relative;display:grid;place-items:center;gap:3px;min-height:58px;padding:7px 3px 6px;border:1px solid transparent;border-radius:8px;background:transparent;color:#7f8c99;cursor:pointer}.toolrail button:hover{border-color:var(--line);background:var(--panel-2);color:var(--text)}.toolrail button.active{border-color:#ff465454;background:#ff465414;color:#fff;box-shadow:inset 3px 0 0 var(--red)}.toolrail span{font:700 9px Bahnschrift,sans-serif}.toolrail kbd{position:absolute;top:4px;right:5px;border:0;color:#56616d;background:transparent;font:8px Cascadia Mono,monospace}.panel{grid-row:2;min-width:0;overflow-x:hidden;overflow-y:auto;scrollbar-color:#33404d transparent;background:var(--panel)}.panel-left{grid-column:2;border-right:1px solid var(--line)}.panel-right{grid-column:4;border-left:1px solid var(--line)}.panel-section{padding:16px 15px;border-bottom:1px solid var(--line)}.section-kicker{margin-bottom:12px;color:#667583;font:800 9px Cascadia Mono,Consolas,monospace;letter-spacing:.15em}.field{display:grid;gap:5px;min-width:0}.field>span,.color-grid span{color:var(--muted);font:700 9px Bahnschrift,sans-serif;letter-spacing:.06em;text-transform:uppercase}.field input{width:100%;min-width:0;height:33px;padding:0 8px;border:1px solid var(--line);border-radius:6px;outline:none;background:#0b0f14;color:var(--text);font:600 12px Cascadia Mono,Consolas,monospace}.field input:focus{border-color:var(--red);box-shadow:0 0 0 2px #ff46541e}.field-wide input{font-family:Segoe UI,sans-serif;font-size:13px}.field-grid,.axis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.axis-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:11px}.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:10px}.metric-row span{padding:7px 4px;border:1px solid var(--line);border-radius:5px;background:#0b0f14;color:#8f9daa;text-align:center;font:700 9px Cascadia Mono,monospace}.range-field{display:grid;gap:7px;margin:0 0 14px}.range-field>span{display:flex;justify-content:space-between;color:var(--muted);font:700 10px Bahnschrift,sans-serif;letter-spacing:.04em;text-transform:uppercase}.range-field output{color:var(--green);font-family:Cascadia Mono,monospace}input[type=range]{width:100%;accent-color:var(--red)}.layer-list{display:grid;gap:5px}.layer-list button{display:grid;grid-template-columns:18px 18px 1fr;align-items:center;min-height:34px;padding:0 8px;border:1px solid var(--line);border-radius:6px;background:#0b0f14;color:#85929f;cursor:pointer;text-align:left}.layer-list button.active{border-color:var(--amber);color:#fff;box-shadow:inset 2px 0 0 var(--amber)}.layer-list i{width:13px;height:13px;border:1px solid #ffffff22;border-radius:3px}.layer-list span{color:#596572;font:9px Cascadia Mono,monospace}.layer-list b{font:600 11px Segoe UI,sans-serif}.panel-note{margin:10px 0 0;color:#71808e;font-size:10.5px;line-height:1.5}.color-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.color-grid label{display:grid;gap:5px}.color-grid input{width:100%;height:30px;padding:2px;border:1px solid var(--line);border-radius:5px;background:#0b0f14}.viewport{position:relative;grid-column:3;grid-row:2;min-width:0;min-height:0;overflow:hidden;background:#10161c}.viewport canvas{display:block}.viewport-hint,.viewport-status{position:absolute;z-index:2;pointer-events:none;border:1px solid #ffffff16;border-radius:7px;background:#090c10d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.viewport-hint{top:12px;left:12px;display:grid;gap:2px;padding:8px 10px}.viewport-hint b{color:#fff;font:800 10px Bahnschrift,sans-serif;letter-spacing:.06em;text-transform:uppercase}.viewport-hint span{color:#8795a2;font-size:10px}.viewport-status{right:12px;bottom:12px;max-width:min(520px,calc(100% - 24px));padding:7px 9px;color:#9dabba;font:10px Cascadia Mono,Consolas,monospace}.inspector-title{display:flex;align-items:center;justify-content:space-between;color:#8c99a6;font:800 10px Cascadia Mono,monospace;letter-spacing:.09em}.inspector-title b{color:var(--red)}.icon-button{display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid var(--line);border-radius:6px;background:#0b0f14;cursor:pointer}.icon-button.danger{color:#ff7b86}.icon-button:disabled{opacity:.3;cursor:default}.order-buttons{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}.order-buttons button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:33px;border:1px solid var(--line);border-radius:6px;background:#0b0f14;color:#a7b3be;cursor:pointer;font:700 10px Bahnschrift,sans-serif}.order-buttons button:disabled{opacity:.3;cursor:default}.empty-inspector{display:grid;place-items:center;padding-block:32px;color:#687582;text-align:center}.empty-inspector b{margin-top:9px;color:#b8c3cc;font:700 12px Bahnschrift,sans-serif}.empty-inspector p{max-width:24ch;margin:5px 0 0;font-size:10.5px;line-height:1.45}.route-section{min-height:0}.route-list{display:grid;gap:4px}.route-list button{display:grid;grid-template-columns:28px 7px 1fr auto;align-items:center;min-height:34px;padding:0 8px;border:1px solid transparent;border-radius:6px;background:#0b0f14;color:#8f9ba7;cursor:pointer;text-align:left}.route-list button:hover,.route-list button.active{border-color:var(--line-strong);background:var(--panel-2)}.route-list button.active{box-shadow:inset 2px 0 0 var(--red);color:#fff}.route-list span{color:#596572;font:9px Cascadia Mono,monospace}.route-list i{width:5px;height:18px;border-radius:3px}.route-list b{font:600 10px Cascadia Mono,monospace}.route-list small{color:#64717d;font:9px Cascadia Mono,monospace}@media(max-width:1180px){.editor-shell{grid-template-columns:66px 246px minmax(320px,1fr) 264px}.brand{width:245px}.file-actions button{width:35px;padding:0;font-size:0}.file-actions .play-button{width:auto;padding:0 11px;font-size:11px}}@media(max-width:900px){.editor-shell{grid-template-columns:60px 220px minmax(330px,1fr)}.panel-right{position:fixed;right:0;top:58px;bottom:0;width:268px;z-index:8;box-shadow:-18px 0 50px #000a}.viewport{grid-column:3}.brand span{display:none}.brand{width:auto;min-width:72px}}@media(max-width:680px){.editor-shell{grid-template-columns:54px minmax(0,1fr);grid-template-rows:58px minmax(0,1fr) 190px}.seed-control{margin-left:4px}.seed-control>span,.history-actions,.file-actions button:not(.play-button){display:none}.seed-control input{width:76px}.panel-left{grid-column:2;grid-row:3;border-top:1px solid var(--line);border-right:0}.panel-left .panel-section:not(:first-child){display:none}.viewport{grid-column:2;grid-row:2}.panel-right{display:none}.toolrail{grid-row:2 / 4}}:root{--editor-accent: #ff4056;--editor-accent-soft: #ff40561f;--editor-mint: #57e3a1;--editor-blue: #67b7ff;--editor-surface: #0c1117;--editor-surface-2: #111820;--editor-surface-3: #18212b;--editor-line: #273541;--editor-line-strong: #3b4d5d;--editor-text: #edf3f7;--editor-muted: #8b9ba8;--editor-shadow: 0 18px 48px #0008}button,input,summary{-webkit-tap-highlight-color:transparent}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid var(--editor-blue);outline-offset:2px}.editor-shell-v2{display:grid;grid-template-columns:84px 318px minmax(360px,1fr) 342px;grid-template-rows:66px minmax(0,1fr);width:100vw;height:100dvh;min-width:0;background:#070a0e;color:var(--editor-text)}.topbar-v2{grid-column:1 / -1;display:flex;align-items:center;gap:12px;min-width:0;padding:0 14px;border-bottom:1px solid var(--editor-line);background:#0a0e13ed;box-shadow:0 10px 34px #0007;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:30}.brand-v2{display:flex;align-items:center;gap:9px;min-width:246px;color:var(--editor-text);text-decoration:none}.brand-v2>span:last-child{display:grid;gap:4px;line-height:1}.brand-v2 b{font:800 13px/1 Bahnschrift,Arial Narrow,sans-serif;letter-spacing:.09em}.brand-v2 small{color:var(--editor-mint);font:700 9px/1 Cascadia Mono,Consolas,monospace;letter-spacing:.1em}.brand-mark{display:flex;align-items:center;gap:2px;width:31px;height:31px;padding:6px;border:1px solid #ffffff1a;border-radius:8px;background:#151c24;transform:skew(-10deg)}.brand-mark i{display:block;width:3px;height:17px;border-radius:2px;background:var(--editor-accent);transform:rotate(20deg)}.seed-control-v2,.topbar-group{display:flex;align-items:center;gap:6px}.seed-control-v2{padding:5px;border:1px solid var(--editor-line);border-radius:10px;background:#111820}.seed-control-v2 label{display:grid;gap:2px;padding-left:8px}.seed-control-v2 label span{color:var(--editor-muted);font:700 8px/1 Cascadia Mono,Consolas,monospace;letter-spacing:.1em;text-transform:uppercase}.seed-control-v2 input{width:108px;padding:0;border:0;outline:0;color:var(--editor-text);background:transparent;font:700 13px/1.2 Cascadia Mono,Consolas,monospace}.icon-button,.topbar-v2 button,.generate-button{min-width:44px;min-height:44px;border:1px solid var(--editor-line);border-radius:9px;color:#d7e1e8;background:#151d26;cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease,transform .14s ease}.icon-button{display:inline-grid;place-items:center;padding:0}.icon-button:hover:not(:disabled),.topbar-v2 button:hover:not(:disabled){border-color:var(--editor-line-strong);background:#1c2732;color:#fff}button:active:not(:disabled){transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.38}.icon-button.is-active{border-color:#57e3a177;color:var(--editor-mint);background:#57e3a117}.icon-button.is-danger:hover:not(:disabled){border-color:#ff405677;color:#ff7b89;background:#ff405616}.generate-button,.file-actions-v2 button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;font-weight:700}.generate-button{border-color:#57e3a140!important;color:var(--editor-mint)!important}.topbar-spacer{flex:1;min-width:4px}.save-indicator{display:flex;align-items:center;gap:7px;color:var(--editor-muted);font-size:11px;white-space:nowrap}.save-indicator>span{width:7px;height:7px;border-radius:50%;background:var(--editor-mint);box-shadow:0 0 10px #57e3a177}.save-indicator>span.saving{background:#ffd166;animation:save-pulse .9s ease-in-out infinite alternate}.file-actions-v2 .play-button-v2,.primary-button{border-color:#ff405688!important;color:#fff!important;background:linear-gradient(135deg,#f32948,#d91435)!important;box-shadow:0 8px 22px #ff24443b}.toolrail-v2{grid-column:1;grid-row:2;display:flex;flex-direction:column;gap:7px;min-width:0;padding:14px 9px;border-right:1px solid var(--editor-line);background:#0a0f14;z-index:11}.rail-label,.eyebrow{color:var(--editor-muted);font:700 9px/1.2 Cascadia Mono,Consolas,monospace;letter-spacing:.12em;text-transform:uppercase}.rail-label{margin:2px auto 4px}.toolrail-v2 button{position:relative;display:grid;place-items:center;gap:5px;width:64px;min-height:60px;padding:8px 3px;border:1px solid transparent;border-radius:11px;color:#8f9ca7;background:transparent;cursor:pointer}.toolrail-v2 button span{font-size:10px;font-weight:700}.toolrail-v2 button kbd{position:absolute;top:5px;right:6px;color:#6f7d89;font:700 8px/1 Cascadia Mono,Consolas,monospace}.toolrail-v2 button:hover,.toolrail-v2 button.is-active{border-color:var(--editor-line);color:#fff;background:#161e27}.toolrail-v2 button.is-active{border-color:#ff40565c;color:#ff7685;background:linear-gradient(145deg,#ff40561b,#161e27 70%);box-shadow:inset 3px 0 0 var(--editor-accent)}.panel-slot{position:relative;min-width:0;min-height:0;border-color:var(--editor-line);background:var(--editor-surface);z-index:10}.left-slot{grid-column:2;grid-row:2;border-right:1px solid var(--editor-line)}.right-slot{grid-column:4;grid-row:2;border-left:1px solid var(--editor-line)}.editor-panel{width:100%;height:100%;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#3a4854 transparent;background:linear-gradient(180deg,#10161d,#0b1016)}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:19px 18px 16px;border-bottom:1px solid var(--editor-line)}.panel-heading h2{margin:5px 0 0;color:#f2f6f9;font:750 18px/1.15 Segoe UI,sans-serif}.panel-heading p{margin:7px 0 0;color:var(--editor-muted);font-size:11px;line-height:1.45}.panel-close{display:none}.panel-collapse{position:absolute;top:50%;display:grid;place-items:center;width:32px;height:50px;padding:0;border:1px solid var(--editor-line);color:#91a0ac;background:#111820;transform:translateY(-50%);cursor:pointer;z-index:4}.panel-collapse.left{right:-32px;border-radius:0 8px 8px 0}.panel-collapse.right{left:-32px;border-radius:8px 0 0 8px}.editor-shell-v2.left-collapsed{grid-template-columns:84px 34px minmax(360px,1fr) 342px}.editor-shell-v2.right-collapsed{grid-template-columns:84px 318px minmax(360px,1fr) 34px}.editor-shell-v2.left-collapsed.right-collapsed{grid-template-columns:84px 34px minmax(360px,1fr) 34px}.left-collapsed .left-slot .editor-panel,.right-collapsed .right-slot .editor-panel{display:none}.tool-settings{display:grid;gap:13px;margin:12px;padding:15px;border:1px solid #334351;border-radius:12px;background:linear-gradient(145deg,#18222c,#111820);box-shadow:0 9px 25px #0003}.tool-settings-title{display:flex;align-items:center;gap:8px;color:#f3f7f9;font-size:13px;font-weight:750}.tool-dot{width:14px;height:14px;border:2px solid var(--editor-mint);border-radius:50%;box-shadow:0 0 0 4px #57e3a11a}.tool-dot.paint{border-radius:4px;border-color:#67b7ff}.tool-hint,.inline-note{margin:0;color:#9eacb8;font-size:11px;line-height:1.5}.tool-hint.emphasis{padding:10px;border-left:2px solid var(--editor-mint);background:#57e3a10b}.settings-section{border-top:1px solid var(--editor-line)}.settings-section>summary{display:grid;grid-template-columns:1fr auto 16px;align-items:center;gap:8px;min-height:48px;padding:0 18px;list-style:none;color:#cbd5dc;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.settings-section>summary::-webkit-details-marker{display:none}.settings-section>summary svg{transition:transform .15s ease}.settings-section[open]>summary svg{transform:rotate(180deg)}.section-meta{color:var(--editor-muted);font:600 10px/1 Cascadia Mono,monospace;letter-spacing:0;text-transform:none}.section-content{display:grid;gap:13px;padding:2px 18px 18px}.text-field,.number-field,.range-field{display:grid;gap:7px;color:#9ba9b5;font-size:10px;font-weight:700}.text-field input,.number-input-wrap{min-height:44px;border:1px solid var(--editor-line);border-radius:8px;background:#0c1218}.text-field input{width:100%;padding:0 11px;color:var(--editor-text)}.number-input-wrap{display:flex;align-items:center;min-width:0}.number-input-wrap input{width:100%;min-width:0;padding:0 4px 0 9px;border:0;outline:0;color:#eaf0f4;background:transparent;font:650 12px/1 Cascadia Mono,monospace}.number-input-wrap span{padding-right:8px;color:#6f7e8a;font-size:9px}.field-grid{display:grid;gap:9px}.field-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.range-label{display:flex;justify-content:space-between;gap:8px}.range-label output{color:#e5ebef;font:650 10px/1 Cascadia Mono,monospace}.range-field input[type=range]{width:100%;accent-color:var(--editor-mint);cursor:ew-resize}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.metric-grid div{display:grid;grid-template-columns:18px 1fr;gap:2px 6px;padding:10px;border:1px solid var(--editor-line);border-radius:9px;background:#0c1218}.metric-grid svg{grid-row:1 / 3;align-self:center;color:#70808d}.metric-grid span{color:var(--editor-muted);font-size:9px}.metric-grid strong{font:700 12px/1.2 Cascadia Mono,monospace}.segment-control{min-width:0;margin:0;padding:0;border:0}.segment-control legend{margin-bottom:7px;color:#8f9ca8;font-size:10px;font-weight:700}.segment-control>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:3px;border:1px solid var(--editor-line);border-radius:9px;background:#0c1218}.segment-control button{min-height:44px;padding:0 8px;border:0;border-radius:6px;color:#8e9ca8;background:transparent;font-size:10px;font-weight:700;cursor:pointer}.segment-control button.is-active{color:#fff;background:#25313d;box-shadow:0 2px 9px #0005}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px}.toggle-row>span{display:grid;gap:3px}.toggle-row strong{font-size:11px}.toggle-row small{color:var(--editor-muted);font-size:9px}.toggle-row input{width:36px;height:20px;accent-color:var(--editor-mint)}.toggle-row.compact{min-height:32px}.layer-grid,.object-kinds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.layer-grid button,.object-kinds button,.preset-row button,.order-row button,.secondary-button,.add-route-button{min-height:44px;border:1px solid var(--editor-line);border-radius:8px;color:#aab6bf;background:#0d141b;cursor:pointer}.layer-grid button,.object-kinds button{display:flex;align-items:center;gap:7px;padding:7px 9px;font-size:10px}.layer-grid button>span:first-child{width:13px;height:13px;border-radius:3px;box-shadow:0 0 0 1px #fff2}.layer-grid button.is-active,.object-kinds button.is-active{border-color:#57e3a166;color:#fff;background:#57e3a112}.rock-icon{font-size:19px;color:#a2a7aa}.color-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.color-grid label{display:grid;gap:6px;color:var(--editor-muted);font-size:9px}.color-grid input{width:100%;height:38px;padding:3px;border:1px solid var(--editor-line);border-radius:7px;background:#0c1218}.empty-selection{display:grid;justify-items:center;gap:8px;margin:14px;padding:20px 15px;border:1px dashed #344451;border-radius:12px;text-align:center;background:#10171e}.empty-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;color:var(--editor-mint);background:#57e3a112}.empty-selection h3{margin:3px 0 0;font-size:14px}.empty-selection p{max-width:240px;margin:0;color:var(--editor-muted);font-size:11px;line-height:1.45}.secondary-button,.add-route-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;font-size:11px;font-weight:700}.selection-actions{display:flex;gap:7px}.selection-actions .icon-button{flex:1}.issue-callout{display:flex;align-items:flex-start;gap:8px;width:100%;min-height:42px;padding:10px;border:1px solid #ffd16644;border-radius:8px;color:#d8bd70;background:#ffd1660c;text-align:left;font-size:10px;line-height:1.35}button.issue-callout{cursor:pointer}.issue-callout.error{border-color:#ff40564f;color:#ff8c98;background:#ff40560e}.issue-callout.success{border-color:#57e3a138;color:#7beab5;background:#57e3a10b}.preset-row{display:flex;align-items:center;gap:6px}.preset-row>span{margin-right:auto;color:var(--editor-muted);font-size:9px}.preset-row button{min-width:52px;min-height:44px;padding:0 8px;font-size:9px}.order-row{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.order-row button{display:flex;align-items:center;justify-content:center;gap:6px;font-size:10px}.route-health{display:grid;grid-template-columns:21px 1fr 16px;align-items:center;gap:9px;width:100%;min-height:54px;padding:9px 10px;border:1px solid #57e3a145;border-radius:9px;color:#8cebbd;background:#57e3a10c;text-align:left;cursor:pointer}.route-health.blocked{border-color:#ff40564f;color:#ff8b97;background:#ff40560e}.route-health span{display:grid;gap:3px}.route-health strong{color:#e9eff3;font-size:10px}.route-health small{color:var(--editor-muted);font-size:9px}.route-health-arrow{justify-self:end}.route-list{display:grid;gap:5px;margin:0;padding:0;list-style:none}.route-list button{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;min-height:52px;padding:6px 8px;border:1px solid transparent;border-radius:9px;color:#c8d2d9;background:transparent;text-align:left;cursor:pointer}.route-list button:hover{background:#151e26}.route-list button.is-selected{border-color:#57e3a14d;background:#57e3a10c}.route-index{display:grid;place-items:center;width:30px;height:30px;border:1px solid #57e3a14d;border-radius:8px;color:var(--editor-mint);background:#57e3a10c;font:800 11px/1 Cascadia Mono,monospace}.route-index.error{border-color:#ff40565c;color:#ff7887;background:#ff405611}.route-index.warning{border-color:#ffd16655;color:#ffd166;background:#ffd1660d}.route-copy{display:grid;gap:3px;min-width:0}.route-copy strong{font-size:10px}.route-copy small{overflow:hidden;color:var(--editor-muted);font:9px/1 Cascadia Mono,monospace;text-overflow:ellipsis;white-space:nowrap}.route-distance{color:#91a0ac;font:700 9px/1 Cascadia Mono,monospace}.add-route-button{width:100%;border-style:dashed}.viewport-v2{position:relative;grid-column:3;grid-row:2;min-width:0;min-height:0;overflow:hidden;background:#10171d}.viewport-v2 canvas{display:block;width:100%!important;height:100%!important;outline:none}.camera-toolbar{position:absolute;top:14px;left:14px;display:flex;gap:6px;padding:4px;border:1px solid #ffffff20;border-radius:11px;background:#081017c7;box-shadow:0 8px 25px #0006;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.camera-toolbar .icon-button{border-color:transparent;background:transparent}.camera-legend{position:absolute;top:14px;right:14px;display:flex;gap:12px;padding:9px 11px;border:1px solid #ffffff1c;border-radius:9px;color:#b5c1c9;background:#081017c7;font-size:9px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.camera-legend span{display:flex;align-items:center;gap:5px}.mouse{width:9px;height:13px;border:1px solid #91a0ab;border-radius:5px}.mouse.right{border-right-color:var(--editor-mint)}.mouse.middle{box-shadow:inset 0 3px #67b7ff}.wheel{width:5px;height:12px;border:1px solid #91a0ab;border-radius:4px}.viewport-tool-card{position:absolute;bottom:18px;left:18px;display:flex;align-items:center;gap:9px;max-width:min(390px,calc(100% - 36px));padding:9px 12px;border:1px solid #ffffff1e;border-radius:10px;color:#ff7a88;background:#081017d6;box-shadow:var(--editor-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none}.viewport-tool-card span{display:grid;gap:2px;min-width:0}.viewport-tool-card strong{color:#fff;font-size:10px}.viewport-tool-card small{overflow:hidden;color:#a4b0b9;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.viewport-health{position:absolute;right:18px;bottom:18px;display:flex;align-items:center;gap:7px;min-height:44px;padding:0 11px;border:1px solid #57e3a14d;border-radius:9px;color:#86eab9;background:#081017d6;font-size:10px;font-weight:750;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer}.viewport-health.blocked{border-color:#ff40565e;color:#ff8290}.viewport-status-v2{position:absolute;left:50%;bottom:18px;max-width:34%;overflow:hidden;color:#adbac3;font:9px/38px Cascadia Mono,monospace;text-overflow:ellipsis;white-space:nowrap;transform:translate(-50%);pointer-events:none}.gate-label,.spawn-label{padding:4px 7px;border:1px solid #ffffff2b;border-radius:6px;color:#fff;background:#091017d9;font:800 10px/1 Cascadia Mono,monospace;box-shadow:0 4px 13px #0008;pointer-events:none}.spawn-label{color:var(--editor-mint)}.modal-backdrop{position:fixed;inset:0;display:grid;place-items:center;padding:20px;background:#030609c7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100}.editor-modal{width:min(500px,100%);max-height:min(720px,calc(100dvh - 40px));overflow:auto;padding:22px;border:1px solid #3b4c5a;border-radius:16px;background:linear-gradient(160deg,#17212a,#0c1218 70%);box-shadow:0 30px 100px #000b}.modal-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.modal-topline h2{margin:6px 0 0;font-size:20px}.modal-close{flex:0 0 auto}.help-visual{display:grid;place-items:center;width:76px;height:76px;margin:22px 0 18px;border:1px solid #57e3a140;border-radius:20px;color:var(--editor-mint);background:radial-gradient(circle,#57e3a127,#57e3a109)}.step-label{color:#ff7c8a;font:750 10px/1 Cascadia Mono,monospace;text-transform:uppercase}.welcome-modal h2{margin:8px 0;font-size:24px;line-height:1.15}.welcome-modal>p{margin:0;color:#a8b5be;font-size:13px;line-height:1.65}.step-dots{display:flex;gap:6px;margin-top:22px}.step-dots span{width:22px;height:3px;border-radius:3px;background:#33414c}.step-dots span.is-active{background:var(--editor-mint)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px;padding-top:16px;border-top:1px solid var(--editor-line)}.modal-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 14px;border:1px solid var(--editor-line);border-radius:9px;font-size:11px;font-weight:750;cursor:pointer}.ghost-button{color:#acb7bf;background:transparent}.validation-summary{display:flex;align-items:center;gap:12px;margin-top:18px;padding:14px;border:1px solid #57e3a140;border-radius:11px;color:var(--editor-mint);background:#57e3a10b}.validation-summary.blocked{border-color:#ff40564d;color:#ff7f8e;background:#ff40560c}.validation-summary div{display:grid;gap:4px}.validation-summary strong{color:#eef3f6;font-size:12px}.validation-summary span{color:var(--editor-muted);font-size:10px}.issue-list{display:grid;gap:7px;max-height:360px;margin:14px 0 0;padding:0;overflow:auto;list-style:none}.issue-list button{display:grid;grid-template-columns:28px 1fr 18px;align-items:center;gap:9px;width:100%;min-height:56px;padding:8px 10px;border:1px solid var(--editor-line);border-radius:9px;color:#dbe3e8;background:#0c1218;text-align:left}.issue-list button:not(:disabled){cursor:pointer}.issue-list button>span:nth-child(2){display:grid;gap:4px}.issue-list strong{font-size:10px}.issue-list small{color:#95a3ae;font-size:10px;line-height:1.35}.issue-symbol{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;color:#ffd166;background:#ffd16613;font-weight:900}.issue-symbol.error{color:#ff7786;background:#ff405616}.all-clear{display:grid;justify-items:center;gap:9px;padding:34px 15px;color:var(--editor-mint);text-align:center}.all-clear p{max-width:320px;margin:0;color:#a8b5be;line-height:1.5}.mobile-dock{display:none}@keyframes save-pulse{to{opacity:.35}}@media(max-width:1360px){.editor-shell-v2{grid-template-columns:76px 282px minmax(320px,1fr) 304px}.editor-shell-v2.left-collapsed{grid-template-columns:76px 34px minmax(320px,1fr) 304px}.editor-shell-v2.right-collapsed{grid-template-columns:76px 282px minmax(320px,1fr) 34px}.editor-shell-v2.left-collapsed.right-collapsed{grid-template-columns:76px 34px minmax(320px,1fr) 34px}.toolrail-v2 button{width:56px}.brand-v2{min-width:210px}.file-actions-v2 button span{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:900px){.editor-shell-v2,.editor-shell-v2.left-collapsed,.editor-shell-v2.right-collapsed,.editor-shell-v2.left-collapsed.right-collapsed{grid-template-columns:minmax(0,1fr);grid-template-rows:62px 70px minmax(0,1fr) 62px}.topbar-v2{grid-column:1;grid-row:1;gap:7px;padding:0 9px}.brand-v2{min-width:42px;gap:6px}.brand-v2>span:last-child,.brand-v2>svg{display:none}.brand-mark{width:34px;height:34px}.seed-control-v2,.seed-control-v2 label{flex:1;min-width:0}.seed-control-v2 input{width:100%}.seed-control-v2 .icon-button{display:none}.generate-button{flex:0 0 auto;padding:0 10px}.topbar-spacer,.save-indicator,.compact-actions,.file-actions-v2{display:none}.toolrail-v2{grid-column:1;grid-row:2;flex-direction:row;align-items:center;gap:5px;padding:6px 8px;overflow-x:auto;overflow-y:hidden;border-right:0;border-bottom:1px solid var(--editor-line);scrollbar-width:none}.toolrail-v2::-webkit-scrollbar{display:none}.rail-label{display:none}.toolrail-v2 button{flex:0 0 64px;width:64px;min-height:56px;gap:4px;padding:6px 2px}.toolrail-v2 button.is-active{box-shadow:inset 0 -3px 0 var(--editor-accent)}.toolrail-v2 button kbd{display:none}.viewport-v2{grid-column:1;grid-row:3}.panel-slot,.left-slot,.right-slot{position:fixed;top:132px;bottom:62px;grid-column:auto;grid-row:auto;width:min(390px,calc(100vw - 18px));border:1px solid var(--editor-line-strong);border-bottom:0;border-radius:16px 16px 0 0;box-shadow:0 0 0 999px #0306098c,0 18px 55px #000b;opacity:0;pointer-events:none;transform:translateY(24px);transition:opacity .15s ease,transform .15s ease;z-index:60}.left-slot{left:9px}.right-slot{right:9px}.panel-slot.mobile-open{opacity:1;pointer-events:auto;transform:translateY(0)}.left-collapsed .left-slot .editor-panel,.right-collapsed .right-slot .editor-panel{display:block}.panel-collapse{display:none}.panel-close{display:inline-grid}.mobile-dock{grid-column:1;grid-row:4;display:grid;grid-template-columns:repeat(4,1fr);align-items:stretch;padding:4px 6px max(4px,env(safe-area-inset-bottom));border-top:1px solid var(--editor-line);background:#0a0f14f2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:70}.mobile-dock button{display:grid;place-items:center;align-content:center;gap:3px;min-height:50px;border:0;border-radius:9px;color:#91a0ac;background:transparent;font-size:9px;font-weight:700}.mobile-dock button.is-active{color:var(--editor-mint);background:#57e3a110}.mobile-dock button.mobile-play{color:#fff;background:linear-gradient(135deg,#f32948,#d91435)}.camera-legend{display:none}.camera-toolbar{top:10px;left:10px}.camera-toolbar .icon-button{min-width:42px;min-height:42px}.viewport-tool-card{bottom:10px;left:10px;max-width:calc(100% - 120px)}.viewport-health{right:10px;bottom:10px}.viewport-status-v2{display:none}.modal-backdrop{align-items:end;padding:9px}.editor-modal{width:100%;max-height:calc(100dvh - 18px);padding:18px;border-radius:16px}}@media(max-width:520px){.generate-button{width:42px;padding:0}.generate-button svg{margin:0}.generate-button{font-size:0}.toolrail-v2 button{flex-basis:59px;width:59px}.panel-slot,.left-slot,.right-slot{top:132px;right:0;left:0;width:100vw;border-right:0;border-left:0;border-radius:14px 14px 0 0}.panel-heading{padding:15px 14px 13px}.panel-heading h2{font-size:17px}.tool-settings{margin:9px}.settings-section>summary{padding:0 14px}.section-content{padding-right:14px;padding-left:14px}.camera-toolbar{padding:2px}.viewport-tool-card small{display:none}.viewport-tool-card{padding:9px}.viewport-health span{display:none}.viewport-health{width:40px;padding:0;justify-content:center}.field-grid.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.welcome-modal h2{font-size:21px}}@media(max-height:600px)and (max-width:900px){.editor-shell-v2,.editor-shell-v2.left-collapsed,.editor-shell-v2.right-collapsed,.editor-shell-v2.left-collapsed.right-collapsed{grid-template-rows:56px 62px minmax(0,1fr) 54px}.toolrail-v2 button{min-height:48px}.panel-slot,.left-slot,.right-slot{top:118px;bottom:54px}.mobile-dock button{min-height:44px}}@media(max-width:900px){.modal-backdrop{justify-items:center;overflow:hidden}.editor-modal{width:calc(100vw - 18px);max-width:calc(100vw - 18px);overflow-x:hidden}.modal-actions{flex-wrap:wrap}}
