:root{--bg:#f6f5f2;--panel:#fff;--line:#e4e1da;--text:#22211f;--muted:#77736b;--accent:#b3241f;--accent-soft:#fbeceb;--sel:#ffb300;color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit;color:inherit}.app{--chat-w:360px;--panel-w:320px;grid-template-columns:var(--chat-w) 1fr var(--panel-w);background:var(--bg);height:100vh;transition:grid-template-columns .2s;display:grid}.app.no-chat{--chat-w:0px}.app.no-panel{--panel-w:0px}.side{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.side>*{flex:1;min-height:0}.side.left>*{width:360px}.side.right>*{width:320px}.no-chat .side.left,.no-panel .side.right{visibility:hidden}.edge-tab{color:var(--text);z-index:5;background:#ffffffeb;border:0;padding:16px 6px;font-size:18px;font-weight:700;line-height:1;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 10px #00000026}.edge-tab:hover{color:var(--accent);background:#fff}.edge-tab.left{border-radius:0 8px 8px 0;left:0}.edge-tab.right{border-radius:8px 0 0 8px;right:0}.edge-tab.labeled{letter-spacing:.04em;writing-mode:vertical-rl;padding:14px 7px;font-size:13px}.edge-tab.left.labeled{border-radius:8px 0 0 8px;transform:translateY(-50%)rotate(180deg)}.chat{border-right:1px solid var(--line);background:var(--panel);flex-direction:column;min-height:0;display:flex}.chat-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.brand{letter-spacing:-.01em;align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.logo{background:var(--accent);color:#fff;border-radius:6px;place-items:center;width:26px;height:26px;font-size:16px;display:grid}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.viewport{min-width:0;position:relative}.viewport canvas{display:block}.toolbar{pointer-events:none;flex-wrap:wrap;gap:8px 10px;display:flex;position:absolute;top:12px;left:36px;right:36px}.toolbar .group{scrollbar-width:none;pointer-events:auto;background:#ffffffeb;border-radius:10px;max-width:100%;display:flex;overflow:auto hidden;box-shadow:0 2px 10px #0000001f}.toolbar .group::-webkit-scrollbar{display:none}.toolbar button{color:var(--text);border:0;border-right:1px solid var(--line);white-space:nowrap;background:0 0;flex:none;padding:7px 12px;font-size:13px;font-weight:500}.toolbar button:last-child{border-right:0}.toolbar button:hover:not(:disabled):not(.active){background:#f3f1ec}.toolbar button.active{background:var(--text);color:#fff}.toolbar button:disabled{opacity:.35;cursor:default}.toolbar button.danger-armed,.toolbar button.danger-armed:hover{background:var(--accent);color:#fff}.dims-badge{color:#fff;font-variant-numeric:tabular-nums;background:#22211fd9;border-radius:8px;padding:7px 12px;font-size:13px;font-weight:600;position:absolute;bottom:12px;left:36px}.hint-bar{color:#fff;text-shadow:0 1px 3px #0009;font-size:12px;position:absolute;bottom:52px;right:36px}.ground-label{letter-spacing:.2em;color:#1e1e1e8c;-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:18px;font-weight:800}.ground-label.dim{color:#1e1e1e66;font-size:13px}.tag{color:#fff;white-space:nowrap;background:#22211fe0;border-radius:6px;padding:4px 9px;font-size:12px;font-weight:500}.panel{background:var(--panel);border-left:1px solid var(--line);min-height:0;overflow-y:auto}.section{border-bottom:1px solid var(--line)}.section summary{text-transform:uppercase;letter-spacing:.06em;cursor:pointer;justify-content:space-between;align-items:center;padding:12px 16px;font-size:12px;font-weight:700;list-style:none;display:flex}.section summary::-webkit-details-marker{display:none}.section summary:after{content:"▸";color:var(--muted);transition:transform .15s}.section[open] summary:after{transform:rotate(90deg)}.section .count{background:#efede8;border-radius:999px;margin-left:auto;margin-right:8px;padding:1px 8px;font-size:11px}.section-body{flex-direction:column;gap:8px;padding:0 16px 14px;display:flex}.row{justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.row>span{color:var(--muted)}.row input[type=number],.row select{border:1px solid var(--line);background:#fbfaf7;border-radius:7px;width:110px;padding:5px 8px}.row input[type=number]{cursor:default}.row input[type=number]:focus{cursor:text;background:#fff}.row input[type=number]:hover{border-color:#cfcac0}.row input[type=number]:focus,.row select:focus{border-color:var(--accent);outline:none}.row input[type=color]{border:1px solid var(--line);border-radius:6px;width:40px;height:28px;padding:0}.color-row{flex-direction:column;gap:6px;display:flex}.color-label{justify-content:space-between;font-size:13px;display:flex}.color-label em{color:var(--muted);font-size:12px;font-style:normal}.swatches{flex-wrap:wrap;gap:4px;display:flex}.swatch{border:1px solid #00000026;border-radius:4px;width:20px;height:20px;padding:0}.swatch.active{outline:2px solid var(--text);outline-offset:1px}.swatch.none{background:repeating-linear-gradient(45deg,#fff 0 4px,#ddd 4px 8px)}.swatches input[type=color]{background:0 0;border:0;width:20px;height:20px;padding:0}.add-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.add-grid button{border:1px solid var(--line);color:var(--text);background:#f6f5f2;border-radius:8px;padding:7px 6px;font-size:12.5px}.add-grid button:hover{border-color:var(--accent);background:var(--accent-soft)}.add-grid.vehicles{margin-top:4px}.items{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.items li{cursor:pointer;border-radius:7px;padding:6px 9px;font-size:13px}.items li:hover{background:#f3f1ec}.items li.active{box-shadow:inset 3px 0 0 var(--sel);background:#fff3d1}.editor{border:2px solid var(--sel);background:#fffbef;border-radius:12px;flex-direction:column;gap:8px;margin:12px;padding:12px;display:flex}.editor-head{align-items:center;gap:8px;display:flex}.editor-head code{color:var(--muted);font-size:11px}.editor-head .danger{color:var(--accent);background:#fff;border:1px solid #f0c6c3;border-radius:7px;margin-left:auto;padding:3px 10px;font-size:12px}.hint{color:var(--muted);margin:2px 0 0;font-size:12px}@media (width<=1100px){.app{--chat-w:300px;--panel-w:280px}.app.no-chat{--chat-w:0px}.app.no-panel{--panel-w:0px}.side.left>*{width:300px}.side.right>*{width:280px}}.dim-label{color:#fff;white-space:nowrap;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;background:#1f6feb;border-radius:5px;padding:2px 6px;font-size:11.5px;font-weight:700;box-shadow:0 1px 4px #00000040}.dim-label.muted{background:#6b7280}.dim-label.bad{background:#d92d20}.checks{color:#6b4300;background:#fff4e5;border:1px solid #f3c78b;border-radius:10px;margin:12px;padding:10px 12px;font-size:12.5px}.checks ul{flex-direction:column;gap:4px;margin:6px 0 0;padding-left:18px;display:flex}.checks li.clickable{cursor:pointer}.checks li.clickable:hover{text-decoration:underline}.color-default{align-items:center;gap:8px;display:flex}.color-default em{color:var(--muted);font-size:12px}.color-default input[type=color]{border:1px solid var(--line);border-radius:6px;width:40px;height:28px;padding:0}button.link{color:var(--accent);background:0 0;border:0;padding:0;font-size:12px;text-decoration:underline}.toolbar button.walk-btn{background:var(--accent);color:#fff;padding:7px 14px;font-weight:700}.toolbar button.walk-btn:hover:not(:disabled):not(.active){background:#8f1c18}.walk-overlay{z-index:10;background:radial-gradient(#0f141959,#0f1419b3);place-items:center;padding:16px;display:grid;position:absolute;inset:0}.walk-card{background:#fffffff7;border-radius:16px;width:100%;max-width:480px;padding:26px 28px;box-shadow:0 20px 60px #00000059}.walk-kicker{text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-size:11px;font-weight:800}.walk-card h2{letter-spacing:-.02em;margin:6px 0 8px;font-size:24px}.walk-card p{color:var(--muted);margin:0 0 16px;line-height:1.5}.walk-controls{grid-template-columns:1fr 1fr;gap:8px 16px;margin-bottom:20px;display:grid}.walk-controls div{align-items:center;gap:10px;font-size:13px;display:flex}kbd{text-align:center;min-width:26px;color:var(--text);background:#f1efea;border:1px solid #d9d5cc;border-bottom-width:2px;border-radius:6px;padding:3px 7px;font:600 12px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;display:inline-block}.walk-actions{flex-wrap:wrap;gap:8px;display:flex}.walk-actions button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 14px;font-weight:600}.walk-actions button.primary{background:var(--accent);color:#fff;border-color:var(--accent);flex:1}.walk-hud{pointer-events:none;z-index:10;position:absolute;inset:0}.walk-quick{cursor:pointer;background:#0f141940}.walk-quick-pill{color:#fff;background:#14161ad1;border-radius:999px;padding:12px 20px;font-size:15px;box-shadow:0 8px 30px #0000004d}.walk-card p.walk-note{margin:-4px 0 14px;font-size:12.5px}.walk-help{color:#fff;background:#14161ad9;border-radius:14px;width:min(460px,100% - 32px);padding:18px 22px 12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.walk-help .walk-controls{margin-bottom:8px}.walk-help kbd{color:#fff;background:#ffffff1f;border-color:#ffffff40}.walk-help-foot{text-align:center;opacity:.6;font-size:11px}.crosshair{background:#ffffffe6;border-radius:50%;width:6px;height:6px;margin:-3px 0 0 -3px;position:absolute;top:50%;left:50%;box-shadow:0 0 0 1.5px #00000073}.walk-prompt{color:#fff;white-space:nowrap;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#141414b8;border-radius:10px;padding:8px 14px;font-size:14px;font-weight:600;position:absolute;top:calc(50% + 34px);left:50%;transform:translate(-50%)}.walk-prompt kbd{background:#fff;margin-right:6px}.look-card{color:#ffffffd9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#141414b8;border-left:3px solid #ffc21a;border-radius:10px;max-width:min(300px,50% - 40px);padding:8px 12px;font-size:12.5px;line-height:1.45;animation:.12s ease-out look-in;position:absolute;top:50%;left:calc(50% + 22px);transform:translateY(-50%)}.look-card strong{color:#fff;margin-bottom:1px;font-size:14px;display:block}@keyframes look-in{0%{opacity:0;transform:translate(-4px,-50%)}}.walk-toast{color:#fff;background:#1d2939;border-radius:10px;padding:10px 16px;font-weight:700;position:absolute;top:18%;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #0000004d}.walk-status{color:#fff;background:#14141499;border-radius:9px;padding:7px 12px;font-size:13px;font-weight:600;position:absolute;top:16px;left:16px}.walk-esc{opacity:.65;margin-left:12px;font-weight:500}.minimap{background:#182018b8;border-radius:12px;position:absolute;bottom:16px;right:16px;box-shadow:0 4px 16px #0000004d}.mm-building{fill:#e6e4ded9;stroke:#fff;stroke-width:1.5px}.mm-slab{fill:#bebcb48c}.mm-obj{fill:#6b8fc7}.mm-door{stroke:#f79009;stroke-width:3.5px;stroke-linecap:round}.mm-door.open{stroke:#32d583}.mm-player{fill:#ff4d4f;stroke:#fff;stroke-width:1.2px}.mm-front{fill:#ffffffbf;letter-spacing:.15em;text-anchor:middle;font:700 9px system-ui,sans-serif}.app.walking .viewport .dims-badge,.app.walking .viewport .hint-bar{display:none}.drive-panel{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#141414b8;border-radius:14px;align-items:center;gap:16px;max-width:calc(100% - 260px);padding:10px 18px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.drive-speed{font-variant-numeric:tabular-nums;text-align:right;min-width:70px;font:800 38px/1 system-ui,sans-serif}.drive-speed small{opacity:.7;letter-spacing:.08em;font-size:11px;font-weight:600;display:block}.drive-info strong{font-size:14px}.drive-keys{opacity:.85;margin-top:4px;font-size:12px;line-height:1.9}.drive-keys kbd{background:#ffffffeb;min-width:0;padding:1px 5px;font-size:11px}.drive-clearance{color:#fff;white-space:nowrap;background:#12783ce6;border-radius:10px;padding:9px 16px;font-size:15px;font-weight:700;position:absolute;top:16px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #00000040}.drive-clearance span{opacity:.8;margin-right:6px;font-weight:600}.drive-clearance.bad{background:#be1e1eeb}.fx-label{color:#ffc21a;white-space:nowrap;-webkit-user-select:none;user-select:none;background:#1b1b1b;border:2px solid #ffc21a;border-radius:8px;padding:5px 10px;font-size:13px;font-weight:800;box-shadow:0 4px 14px #00000059}.fx-label.remove{color:#ff8a80;border-color:#ff5a4f}.fx-busy{-webkit-user-select:none;user-select:none;white-space:nowrap;background:repeating-linear-gradient(45deg,#ffc21a 0 12px,#1b1b1b 12px 24px);border-radius:10px;padding:3px;font-size:14px;font-weight:800;box-shadow:0 6px 18px #00000059}.fx-busy span{color:#ffc21a;background:#1b1b1b;border-radius:7px;padding:6px 12px;display:block}.walk-chat{z-index:12;background:#fffffff5;border-radius:14px;width:min(560px,100% - 32px);position:absolute;bottom:24px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 16px 50px #00000059}.walk-chat-head{flex-direction:column;gap:2px;padding:12px 16px 8px;display:flex}.walk-chat-head span{color:var(--muted);font-size:12px}.walk-chat-list{flex-direction:column;gap:6px;max-height:260px;padding:4px 16px 8px;display:flex;overflow-y:auto}.wc-msg{background:#f1efea;border-radius:10px;align-self:flex-start;max-width:92%;padding:7px 10px;font-size:13px;line-height:1.4}.wc-msg.user{background:var(--accent);color:#fff;align-self:flex-end}.walk-chat-input{border-top:1px solid var(--line);gap:8px;padding:10px 12px;display:flex}.walk-chat-input input{border:1px solid var(--line);border-radius:10px;outline:none;flex:1;padding:9px 11px}.walk-chat-input input:focus{border-color:var(--accent)}.walk-chat-input button{background:var(--accent);color:#fff;border:0;border-radius:10px;padding:0 16px;font-weight:700}.walk-chat-hint{color:var(--muted);padding:0 16px 10px;font-size:11px}.ai-ticker{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#141414bf;border-radius:10px;max-width:min(520px,100% - 260px);padding:9px 13px;font-size:13px;line-height:1.4;position:absolute;bottom:16px;left:16px}.ai-ticker.busy{color:#ffc21a;background:#1b1b1b;border:2px solid #ffc21a;font-weight:700}.bench-editor{border:1px solid var(--line);background:#faf9f6;border-radius:10px;margin:8px 0 4px;padding:10px}.bench-head{margin:2px 0 6px;font-size:12px;font-weight:700}.bench-head em{color:var(--muted);margin-left:4px;font-style:normal;font-weight:400}.bench-row{grid-template-columns:minmax(0,1fr) 50px 22px 22px 22px;gap:3px;margin-bottom:4px;display:grid}.bench-row select{min-width:0}.bench-row button{padding:3px 0}.bench-row select,.bench-row button{border:1px solid var(--line);background:#fff;border-radius:6px;padding:3px 4px;font-size:12px}.bench-row button:disabled{opacity:.35}.bench-add{flex-wrap:wrap;gap:4px;margin:4px 0 8px;display:flex}.bench-add button{border:1px solid var(--line);background:#fff;border-radius:6px;padding:4px 7px;font-size:11.5px}.crosshair.dart-reticle{background:0 0;border:2px solid #fffffff2;width:14px;height:14px;margin:-7px 0 0 -7px;box-shadow:0 0 0 1.5px #00000080,inset 0 0 0 1.5px #00000059}.darts-panel .dart-rounds{opacity:.9;flex-wrap:wrap;gap:4px 10px;margin:3px 0 4px;font-size:12.5px;display:flex}.darts-panel .dart-rounds .cur{color:#ffc21a;font-weight:700}.darts-panel .dart-rounds em{opacity:.75;font-style:normal}.dart-flash{color:#fff;text-shadow:0 2px #000,0 0 18px #0009;letter-spacing:.02em;white-space:nowrap;font:900 30px/1 system-ui,sans-serif;animation:1.4s ease-out forwards dart-pop;position:absolute;top:34%;left:50%;transform:translate(-50%)}.dart-flash.great{color:#ffd23f;font-size:40px}@keyframes dart-pop{0%{opacity:0;transform:translate(-50%,10px)scale(.7)}12%{opacity:1;transform:translate(-50%)scale(1.08)}25%{transform:translate(-50%)scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-14px)}}.chat-head-right{align-items:center;gap:8px;display:flex}.icon-btn{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:8px;padding:4px 9px;font-size:12px}.icon-btn:hover:not(:disabled){color:var(--text);border-color:#cfcac0}.ai-pill{white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:600}.ai-pill.on{color:#1e6b34;background:#e6f4ea}.ai-pill.off{color:#8a5a00;background:#fff3d6}.chat-list{scroll-behavior:auto;flex-direction:column;flex:1;gap:18px;min-height:0;padding:18px 16px 8px;display:flex;overflow-y:auto}.welcome h2{letter-spacing:-.01em;margin:6px 0;font-size:20px}.welcome p{color:var(--muted);margin:0 0 14px;line-height:1.55}.suggestions{grid-template-columns:1fr;gap:7px;display:grid}.suggestions button{text-align:left;border:1px solid var(--line);color:var(--text);background:#fff;border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.35;transition:border-color .12s,background .12s}.suggestions button:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.msg{gap:10px;min-width:0;display:flex}.msg.user{justify-content:flex-end}.msg.user .bubble{max-width:88%;color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;background:#f0ede7;border-radius:16px 16px 5px;padding:9px 13px;line-height:1.45}.msg.assistant .avatar{background:var(--accent);color:#fff;border-radius:50%;flex:0 0 26px;place-items:center;height:26px;margin-top:1px;font-size:14px;display:grid}.msg.assistant .body{flex:1;min-width:0;line-height:1.55}.md p{margin:0 0 8px}.md p:last-child,.md ul:last-child,.md ol:last-child{margin-bottom:0}.md ul,.md ol{margin:0 0 8px;padding-left:20px}.md li{margin:2px 0}.md code{background:#f1efea;border-radius:4px;padding:1px 5px;font-size:.92em}.streaming .md>:last-child:after{content:"";vertical-align:-2px;background:var(--accent);border-radius:1px;width:7px;height:14px;margin-left:3px;animation:1s steps(2,end) infinite caret;display:inline-block}@keyframes caret{50%{opacity:0}}.thinking{color:var(--muted);background:linear-gradient(90deg, var(--muted) 0%, #c9c4ba 50%, var(--muted) 100%);-webkit-text-fill-color:transparent;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;font-style:italic;animation:1.6s linear infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.steps{border:1px solid var(--line);background:#faf9f6;border-radius:10px;flex-direction:column;gap:4px;margin:0 0 8px;padding:8px 10px;font-size:12.5px;list-style:none;display:flex}.steps li{color:var(--text);align-items:center;gap:7px;display:flex}.steps li.more{color:var(--muted);padding-left:21px}.steps li.doing{color:var(--muted)}.steps .tick{color:#1e8a45;flex:0 0 14px;place-items:center;width:14px;font-weight:700;display:inline-grid}.spin{border:2px solid #d9d4ca;border-top-color:var(--accent);border-radius:50%;width:11px;height:11px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.msg-actions{flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:8px;font-size:12px;display:flex}.msg-actions button{border:1px solid var(--line);color:var(--text);background:#fff;border-radius:8px;padding:4px 9px;font-size:12px}.msg-actions button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.msg-actions .muted,.details{color:var(--muted)}.details summary{cursor:pointer}.details ul{margin:6px 0 0;padding-left:16px}.msg.error .md{color:#8a2a1f}.chat-foot{border-top:1px solid var(--line);padding:10px 12px}.chat-hint{color:var(--muted);text-align:center;margin-top:6px;font-size:11px}.composer{background:#fff;border:1px solid #d8d4cb;border-radius:16px;align-items:flex-end;gap:6px;padding:6px 6px 6px 12px;transition:border-color .12s,box-shadow .12s;display:flex;box-shadow:0 1px 2px #0000000a}.composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.composer textarea{resize:none;background:0 0;border:0;outline:none;flex:1;max-height:180px;padding:6px 0;line-height:1.4}.composer .send{background:var(--accent);color:#fff;border:0;border-radius:50%;flex:0 0 34px;place-items:center;height:34px;font-size:18px;font-weight:700;display:grid}.composer .send:disabled{color:#fff;cursor:default;background:#e3dfd7}.composer .send.stop{background:#22211f}.composer .send .sq{background:#fff;border-radius:2px;width:11px;height:11px}.walk-ai{color:#f3f1ec;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;background:#121212c7;border-radius:14px;flex-direction:column;gap:8px;width:min(440px,100% - 250px);max-height:55vh;padding:12px;font-size:13px;line-height:1.5;animation:.18s ease-out dock-in;display:flex;position:absolute;bottom:16px;left:16px;box-shadow:0 10px 34px #00000059}@keyframes dock-in{0%{opacity:0;transform:translateY(8px)}}.walk-ai-list{flex-direction:column;gap:10px;min-height:0;display:flex;overflow-y:auto}.wa-user{color:#d9d5cc}.wa-user span{color:#fff;margin-right:4px;font-weight:700}.wa-ai .steps{color:#f3f1ec;background:#ffffff0f;border-color:#ffffff1f}.wa-ai .steps li{color:#f3f1ec}.wa-ai .steps li.doing{color:#cfcac0}.wa-ai .steps .tick{color:#6fe08f}.wa-ai .md code{background:#ffffff1f}.walk-ai .thinking{background:linear-gradient(90deg,#bdb8ae 0%,#fff 50%,#bdb8ae 100%) 0 0/200% 100%;-webkit-background-clip:text;background-clip:text}.walk-ai .composer{color:var(--text);background:#fffffff5}.walk-ai-hint{color:#bdb8ae;font-size:11px}.walk-ai-hint kbd{color:#fff;background:#ffffff26;border-color:#ffffff40}.walk-hud.chat-mode{pointer-events:auto;background:#00000026}.chat-head .brand{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.chat-head{gap:8px}.chat-head-right{flex:none}.icon-btn{white-space:nowrap}.add-group{margin-top:6px}.add-group summary{cursor:pointer;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:4px 0;font-size:12px;font-weight:700}.add-group .add-grid{margin-top:4px}@media (width<=1100px){.app{--chat-w:320px;--panel-w:300px}.toolbar button{padding:7px 10px;font-size:12.5px}}.chat-head .logo{flex:none}.chat-list{overflow-x:hidden}.details li,.msg-actions,.md{overflow-wrap:anywhere;word-break:break-word}.toolbar .view-ctl{display:contents}.toolbar .seg{align-items:center}.seg-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap;padding:0 6px 0 11px;font-size:10.5px;font-weight:700}.toolbar .seg button{border-right:0;border-radius:7px;margin:3px 1px;padding:7px 9px}.toolbar .seg button.active{background:var(--text);color:#fff}.seg.dim button{color:var(--muted)}.seg.dim .seg-label{opacity:.6}.toolbar-break{flex-basis:100%;height:0}.toolbar button.share-btn{color:var(--accent);font-weight:700}.modal-backdrop{z-index:50;background:#14141473;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:min(480px,100%);padding:18px 20px;box-shadow:0 20px 60px #00000059}.modal-head{justify-content:space-between;align-items:center;margin-bottom:6px;font-size:16px;display:flex}.modal .muted{color:var(--muted);margin:0 0 12px;line-height:1.45}.share-link{gap:6px;display:flex}.share-link input{border:1px solid var(--line);border-radius:10px;flex:1;min-width:0;padding:9px 11px;font-size:14px}button.primary,a.btn.primary{background:var(--accent);color:#fff;white-space:nowrap;border:0;border-radius:10px;padding:9px 14px;font-weight:700}.share-actions{gap:8px;margin-top:10px;display:flex}a.btn{border:1px solid var(--line);color:var(--text);background:#fff;border-radius:10px;align-items:center;gap:6px;padding:8px 12px;font-weight:600;text-decoration:none;display:inline-flex}a.btn:hover{border-color:var(--accent)}.share-error{color:#8a2a1f}.viewer-banner{z-index:6;border-bottom:1px solid var(--line);background:#fffffff5;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 16px;font-size:14px;display:flex;position:absolute;top:0;left:0;right:0;box-shadow:0 2px 10px #00000014}.viewer-banner .vb-tag{background:var(--accent);color:#fff;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700}.viewer-banner .vb-text{min-width:180px;color:var(--text);flex:1}.viewer-banner .vb-confirm{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.viewer-banner .vb-confirm button:not(.primary){border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 12px}.viewer-banner.error .vb-tag{background:#8a5a00}.app.viewer .toolbar{top:calc(var(--banner-h,52px) + 10px)}.m-bar{z-index:7;padding:10px 12px calc(14px + env(safe-area-inset-bottom));pointer-events:none;background:linear-gradient(#0000,#00000047);flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;bottom:0;left:0;right:0}.m-bar>*{pointer-events:auto}.m-chips{scrollbar-width:none;gap:6px;max-width:100%;padding:2px 2px 4px;display:flex;overflow-x:auto}.m-chips::-webkit-scrollbar{display:none}.m-chips button,.tour-stops button{color:var(--text);background:#fffffff0;border:0;border-radius:999px;flex:none;padding:9px 14px;font-size:14px;font-weight:600;box-shadow:0 2px 8px #0000002e}.m-chips button.on,.tour-stops button.on{background:var(--text);color:#fff}.m-primary{background:var(--accent);color:#fff;letter-spacing:.01em;border:0;border-radius:999px;padding:15px 30px;font-size:17px;font-weight:800;box-shadow:0 6px 20px #b3241f73}.m-primary.wide{width:100%}.m-top{top:calc(10px + env(safe-area-inset-top));z-index:7;gap:8px;display:flex;position:absolute;right:10px}.m-top button{background:#fffffff2;border:0;border-radius:999px;padding:9px 14px;font-weight:700;box-shadow:0 2px 8px #0000002e}.m-top button:disabled{opacity:.45}.m-top .share-btn{color:var(--accent)}.m-tip{top:calc(58px + env(safe-area-inset-top));z-index:7;background:#fffffff7;border-radius:12px;align-items:center;gap:8px;padding:10px 12px;font-size:13px;line-height:1.35;display:flex;position:absolute;left:10px;right:10px;box-shadow:0 4px 14px #00000026}.m-tip button{border:1px solid var(--line);color:var(--accent);background:#fff;border-radius:8px;flex:none;padding:6px 9px;font-size:12px;font-weight:700}.m-tip button.x{color:var(--muted);border:0}.viewer-banner.compact{padding:calc(8px + env(safe-area-inset-top)) 10px 8px;flex-wrap:nowrap;gap:8px}.viewer-banner.compact .vb-text{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-weight:600;overflow:hidden}.viewer-banner.compact .primary{padding:8px 12px;font-size:14px}.tour-hud{z-index:8;pointer-events:none;position:absolute;inset:0}.tour-hud>*{pointer-events:auto}.tour-exit{top:calc(12px + env(safe-area-inset-top));background:#fffffff2;border:0;border-radius:999px;padding:10px 16px;font-size:15px;font-weight:800;position:absolute;left:12px;box-shadow:0 2px 10px #00000040}.tour-hint{left:50%;top:calc(70px + env(safe-area-inset-top));text-align:center;color:#ffffffd9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#141414bf;border-radius:14px;flex-direction:column;gap:3px;width:min(330px,100% - 32px);padding:12px 16px;font-size:13.5px;line-height:1.4;animation:.3s ease-out dock-in;display:flex;position:absolute;transform:translate(-50%);pointer-events:none!important}.tour-hint strong{color:#fff;font-size:17px}.tour-bottom{padding:10px 10px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(#0000,#00000059);flex-direction:column;align-items:stretch;gap:8px;display:flex;position:absolute;bottom:0;left:0;right:0}.tour-stops{scrollbar-width:none;gap:6px;padding:2px;display:flex;overflow-x:auto}.tour-stops::-webkit-scrollbar{display:none}.tour-card{color:#ffffffe0;background:#141414d1;border-left:3px solid #ffc21a;border-radius:12px;align-self:center;max-width:min(420px,100%);padding:10px 14px;font-size:13.5px;line-height:1.45}.tour-card strong{color:#fff;font-size:15px;display:block}.sheet-backdrop{z-index:60;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:min(520px,100%);padding:10px 20px calc(22px + env(safe-area-inset-bottom));background:#fff;border-radius:20px 20px 0 0;animation:.22s ease-out sheet-up;box-shadow:0 -10px 40px #00000040}@keyframes sheet-up{0%{opacity:0;transform:translateY(40px)}}.sheet-grip{background:#d6d2ca;border-radius:3px;width:42px;height:5px;margin:0 auto 12px}.sheet h3{margin:0 0 6px;font-size:20px}.sheet p{color:var(--muted);margin:0 0 16px;font-size:15px;line-height:1.5}.sheet-or{text-align:center;color:var(--muted);margin:14px 0 8px;font-size:13px}.sheet-row{gap:8px;display:flex}.sheet-row button{border:1px solid var(--line);background:#fff;border-radius:12px;flex:1;padding:12px;font-size:15px;font-weight:700}.app.phone{grid-template-columns:1fr;height:100dvh}.app.phone .viewport{grid-area:1/1}.app.phone:not(.phone-editor) .side.left{display:none}.app.phone-editor .side.left{visibility:visible}.app.phone-editor .side.left>*{width:100%}.app.phone .side.right,.app.phone .hint-bar,.app.phone .dims-badge{display:none}.app.phone-editor .side.left{background:var(--panel);z-index:20;border-right:0;border-radius:18px 18px 0 0;height:36dvh;transition:height .22s;position:fixed;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -8px 30px #0000002e}.app.phone-editor.sheet-open .side.left{height:82dvh}.app.phone-editor .side.left .chat{height:100%}.app.phone-editor .side.left .chat-head{padding:4px 14px 8px}.app.phone-editor .chat-hint{display:none}.app.phone-editor .m-bar{bottom:36dvh}.app.phone-editor.sheet-open .m-bar{display:none}.sheet-handle{background:var(--panel);border:0;width:100%;padding:8px 0 2px;display:block;flex:none!important}.sheet-handle span{background:#d6d2ca;border-radius:3px;width:42px;height:5px;margin:0 auto;display:block}.app.phone.viewer .m-bar{bottom:0}.m-see{z-index:7;top:calc(var(--banner-h,0px) + 10px + env(safe-area-inset-top));color:var(--text);background:#fffffff2;border:0;border-radius:999px;align-items:center;gap:7px;padding:9px 13px 9px 10px;font-size:14px;font-weight:700;display:flex;position:absolute;right:10px;box-shadow:0 2px 10px #0003}.m-see.on{background:var(--text);color:#fff}.m-see-icon{border:2px solid;border-radius:3px;width:18px;height:14px;position:relative}.m-see-icon:after{content:"";opacity:.8;border:1.5px dashed;border-radius:1px;position:absolute;inset:3px}.app.phone-editor .m-see{top:calc(10px + env(safe-area-inset-top));left:10px;right:auto}.app.phone-editor .m-tip{top:calc(60px + env(safe-area-inset-top))}@media (pointer:coarse){input,textarea,select{font-size:16px!important}}.app.phone{overscroll-behavior:none;position:fixed;inset:0}:is(html:has(.app.phone),body:has(.app.phone)){overscroll-behavior:none;overflow:hidden}.m-bar .tour-card{margin-bottom:4px}.press-ring{pointer-events:none;z-index:60;opacity:0;border:3px solid #ffc21a;border-radius:50%;width:64px;height:64px;margin:-32px 0 0 -32px;position:fixed;top:0;left:0;transform:scale(1.5);box-shadow:0 0 0 2px #00000040}.press-ring.on{animation:.48s linear forwards press-ring}@keyframes press-ring{0%,30%{opacity:0;transform:scale(1.5)}40%{opacity:.95}to{opacity:.95;transform:scale(.55)}}.m-hint{color:#fff;background:#14141499;border-radius:999px;padding:5px 11px;font-size:12.5px;pointer-events:none!important}.app.hero-on{--chat-w:0px;--panel-w:0px}.app.hero-on .side{visibility:hidden}.app.hero-on .dims-badge,.app.hero-on .hint-bar{display:none}.hero{z-index:20;pointer-events:none;align-items:center;padding:48px clamp(32px,6vw,96px);display:flex;position:absolute;inset:0}.hero>*{pointer-events:auto}.hero-scrim{background:linear-gradient(90deg,#f6f5f2f7 0%,#f6f5f2e6 30%,#f6f5f273 50%,#f6f5f200 64%);position:absolute;inset:0;pointer-events:none!important}.hero-copy{flex-direction:column;width:min(620px,50vw);display:flex;position:relative}.hero-copy>*{animation:.7s cubic-bezier(.2,.8,.2,1) both hero-in}.hero-copy>:nth-child(2){animation-delay:60ms}.hero-copy>:nth-child(3){animation-delay:.12s}.hero-copy>:nth-child(4){animation-delay:.2s}.hero-copy>:nth-child(5){animation-delay:.28s}.hero-copy>:nth-child(6){animation-delay:.34s}.hero-copy>:nth-child(7){animation-delay:.4s}@keyframes hero-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.hero.leaving{opacity:0;transition:opacity .38s,transform .38s;transform:translate(-24px)}.spark{animation:2.4s ease-in-out infinite spark;display:inline-block}@keyframes spark{0%,to{transform:rotate(0)scale(1)}50%{transform:rotate(90deg)scale(1.25)}}.hero h1{white-space:nowrap;letter-spacing:-.035em;color:#1c1b19;margin:0 0 14px;font-size:clamp(34px,3.9vw,58px);font-weight:800;line-height:1.02}.hero h1 span{background:linear-gradient(92deg,#b3241f 0%,#e0552a 55%,#f0a020 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.hero-sub{color:#4c4943;max-width:540px;margin:0 0 24px;font-size:17px;line-height:1.55}.hero-prompt{background:#fff;border:1px solid #e7e2d9;border-radius:20px;padding:14px 14px 10px 18px;transition:box-shadow .2s,border-color .2s;box-shadow:0 18px 50px #281e1429,0 2px 6px #0000000f}.hero-prompt:focus-within{border-color:#e9b4ae;box-shadow:0 18px 50px #281e142e,0 0 0 4px #b3241f1a}.hero-prompt textarea{resize:none;width:100%;color:var(--text);background:0 0;border:0;outline:none;min-height:56px;font-size:18px;line-height:1.45}.hero-prompt textarea::placeholder{color:#9a958c}.hero-prompt-bar{align-items:center;gap:8px;margin-top:4px;display:flex}.hero-from{background:#f3f1ec;border-radius:999px;margin-right:auto;padding:3px;display:flex}.hero-from button{color:var(--muted);background:0 0;border:0;border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:600}.hero-from button.on{color:var(--text);background:#fff;box-shadow:0 1px 3px #0000001f}.hero-go{color:#fff;background:linear-gradient(#c42b25,#a51f1a);border:0;border-radius:12px;padding:10px 18px;font-size:15px;font-weight:700;transition:transform .12s,box-shadow .12s,opacity .12s;box-shadow:0 4px 14px #b3241f59}.hero-go:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #b3241f6b}.hero-go:disabled{opacity:.45;box-shadow:none;cursor:default}.hero-go span{transition:transform .15s;display:inline-block}.hero-go:hover:not(:disabled) span{transform:translate(3px)}.hero-try{color:var(--muted);margin:22px 0 10px;font-size:13px;font-weight:600}.hero-scenarios{grid-template-columns:1fr 1fr;gap:8px;display:grid}.hero-scenarios button{text-align:left;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--text);background:#ffffffdb;border:1px solid #e4dfd5;border-radius:14px;align-items:center;gap:10px;padding:11px 13px;font-size:13.5px;font-weight:600;line-height:1.3;transition:transform .12s,border-color .12s,box-shadow .12s;display:flex}.hero-scenarios button:hover:not(:disabled){border-color:#e9b4ae;transform:translateY(-2px);box-shadow:0 8px 20px #281e141a}.hero-scenarios .ic{font-size:20px}.hero-links{gap:18px;margin-top:22px;display:flex}.hero-links button{color:var(--text);background:0 0;border:0;border-bottom:1.5px solid #22211f40;padding:0 0 2px;font-size:14px;font-weight:600}.hero-links button:hover{color:var(--accent);border-color:var(--accent)}.hero-legend{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;background:#1c1b19c7;border-radius:16px;max-width:330px;padding:14px 18px;animation:.8s cubic-bezier(.2,.8,.2,1) .6s both hero-in;position:absolute;bottom:28px;right:28px}.hero-legend-head{color:#ffc21a;letter-spacing:.02em;margin-bottom:8px;font-size:12px;font-weight:700}.hero-legend ul{grid-template-columns:1fr 1fr;gap:4px 14px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.hero-legend li span{color:#7fd17f;margin-right:6px;font-weight:700}@media (width<=1100px){.hero-copy{width:min(560px,62vw)}.hero-legend{display:none}.hero-scenarios{grid-template-columns:1fr}}@media (height<=760px){.hero-sub{margin-bottom:16px;font-size:15px}.hero h1{margin:12px 0 10px}.hero-try{margin:14px 0 8px}}button.brand{color:inherit;background:0 0;border:0;padding:0}button.brand:hover .logo{transform:rotate(-8deg)scale(1.06)}.logo{transition:transform .15s}.next-steps{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.next-steps button{color:#5b4630;background:#fffaf2;border:1px solid #e6d9c8;border-radius:999px;padding:5px 11px;font-size:12.5px;font-weight:600;transition:border-color .12s,background .12s,transform .12s;animation:.4s both hero-in}.next-steps button:nth-child(2){animation-delay:50ms}.next-steps button:nth-child(3){animation-delay:.1s}.next-steps button:nth-child(4){animation-delay:.15s}.next-steps button:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);transform:translateY(-1px)}.start-blank{margin-top:12px}button.link{color:var(--muted);text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:12.5px;text-decoration:underline}button.link:hover:not(:disabled){color:var(--accent)}.msg.user .about{color:var(--accent);margin-bottom:2px;font-size:11.5px;font-weight:700;display:block}kbd{color:var(--text);background:#fff;border:1px solid #d8d4cb;border-bottom-width:2px;border-radius:4px;padding:1px 5px;font:600 10.5px/1 ui-monospace,monospace}.ask-bar{z-index:8;width:min(560px,100% - 120px);animation:.22s cubic-bezier(.2,.8,.2,1) both ask-in;position:absolute;bottom:62px;left:50%;transform:translate(-50%)}@keyframes ask-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.ask-bar form{background:#fff;border:1px solid #e7e2d9;border-radius:16px;align-items:center;gap:6px;padding:6px 6px 6px 14px;display:flex;box-shadow:0 12px 34px #0003}.ask-bar form:focus-within{border-color:#e9b4ae;box-shadow:0 12px 34px #0003,0 0 0 4px #b3241f1f}.ask-spark{color:var(--accent);font-size:16px}.ask-bar input{background:0 0;border:0;outline:none;flex:1;min-width:0;padding:8px 2px;font-size:15px}.ask-bar .send{background:var(--accent);color:#fff;border:0;border-radius:50%;flex:0 0 34px;height:34px;font-size:18px;font-weight:700}.ask-bar .send:disabled{cursor:default;background:#e3dfd7}.ask-chips{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:8px;display:flex}.ask-chips button{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;background:#1c1b19b8;border:0;border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:600;transition:background .12s}.ask-chips button:hover:not(:disabled){background:var(--accent)}.ask-chips button:disabled{opacity:.5}.viewport:has(.ask-bar) .hint-bar{display:none}.viewport,.viewport canvas,.m-bar,.tour-hud,.press-ring{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.viewport input,.viewport textarea{-webkit-user-select:text;user-select:text}.app.phone{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.app.phone input,.app.phone textarea,.app.phone .chat-list{-webkit-user-select:text;user-select:text}.app.hero-on.phone-editor .side.left{display:none}.hero.is-phone{-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:space-between;align-items:flex-end;padding:0}.hero.is-phone .hero-scrim{background:linear-gradient(#f6f5f200 0% 34%,#f6f5f2bf 46%,#f6f5f2 54%)}.hero-top{padding:calc(14px + env(safe-area-inset-top)) 16px 0;flex-direction:column;align-self:stretch;align-items:center;gap:8px;animation:.7s both hero-in;display:flex;position:relative;pointer-events:none!important}.hero-ticker{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;background:#1c1b19b8;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:12.5px;font-weight:600;display:flex}.hero-ticker span{animation:.45s cubic-bezier(.2,.8,.2,1) both tick-in}.hero-ticker b{color:#7fd17f}.hero-ticker em{color:#ffc21a;font-size:11px;font-style:normal;font-weight:700}@keyframes tick-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.hero.is-phone .hero-copy{width:100%;padding:0 16px calc(14px + env(safe-area-inset-bottom))}.hero.is-phone h1{white-space:normal;letter-spacing:-.03em;margin:0 0 6px;font-size:clamp(28px,8.4vw,36px)}.hero.is-phone .hero-sub{margin:0 0 12px;font-size:14px;line-height:1.45}.hero.is-phone .hero-prompt{border-radius:18px;padding:10px 10px 8px 14px}.hero.is-phone .hero-prompt textarea{-webkit-user-select:text;user-select:text;min-height:46px;font-size:16px}.hero-hint{color:var(--muted);margin-right:auto;font-size:12px;font-weight:600}.hero.is-phone .hero-go{padding:10px 16px}.hero.is-phone .hero-try{margin:12px 0 8px;font-size:12.5px}.hero.is-phone .hero-scenarios{scroll-snap-type:x mandatory;scrollbar-width:none;gap:8px;margin:0 -16px 0 0;padding:2px 16px 4px 0;display:flex;overflow-x:auto}.hero.is-phone .hero-scenarios::-webkit-scrollbar{display:none}.hero.is-phone .hero-scenarios button{scroll-snap-align:start;background:#fff;flex-direction:column;flex:0 0 42%;align-items:flex-start;gap:6px;padding:11px 12px;font-size:13px}.hero.is-phone .hero-scenarios .ic{font-size:22px}.hero.is-phone .hero-links{justify-content:space-between;align-items:center;gap:10px;margin-top:12px}.hero.is-phone .hero-walk{white-space:nowrap;color:#fff;background:#22211f;border:0;border-radius:14px;flex:none;padding:13px 14px;font-size:15px;font-weight:700}.hero.is-phone .hero-walk:hover{color:#fff}.hero.is-phone.leaving{transform:translateY(24px)}@media (height<=700px){.hero.is-phone .hero-sub,.hero.is-phone .hero-try{display:none}}.hero.is-phone .hero-links button:not(.hero-walk){white-space:nowrap;font-size:13.5px}
