.avatar-portrait{border-radius:var(--radius-lg,14px);background:radial-gradient(ellipse at 50% 30%, color-mix(in srgb, var(--accent,#5e6ad2) 16%, var(--surface,#fff)) 0%, var(--bg-elev,#eef0f6) 70%);place-items:center;display:grid;position:relative;overflow:hidden}.avatar-portrait.is-bust{width:112px;height:128px}.avatar-portrait.is-full{width:220px;height:340px}.avatar-portrait.is-large.is-bust{width:100%;height:100%}.avatar-portrait canvas{display:block;width:100%!important;height:100%!important}.avatar-portrait-initials{color:var(--muted,#667);font-size:2.4rem;font-weight:600}.avatar-creator{grid-template-columns:auto 1fr;align-items:start;gap:20px;display:grid}@media (width<=640px){.avatar-creator{grid-template-columns:1fr;justify-items:center}.avatar-creator-controls{width:100%}}.avatar-creator-controls{gap:14px;min-width:0;display:grid}.avatar-swatches{flex-wrap:wrap;gap:8px;display:flex}.avatar-swatch{width:30px;height:30px;box-shadow:0 0 0 1px color-mix(in srgb, var(--text,#222) 18%, transparent);cursor:pointer;border:2px solid #0000;border-radius:50%;padding:0}.avatar-swatch[aria-pressed=true]{border-color:var(--surface,#fff);box-shadow:0 0 0 3px var(--accent,#5e6ad2)}.avatar-chips{flex-wrap:wrap;gap:8px;display:flex}.avatar-chip{border:1px solid var(--border,#d6d9e2);background:var(--surface,#fff);color:inherit;cursor:pointer;font:inherit;border-radius:999px;padding:6px 12px}.avatar-chip[aria-pressed=true]{border-color:var(--accent,#5e6ad2);background:color-mix(in srgb, var(--accent,#5e6ad2) 12%, var(--surface,#fff))}.mh-creator{grid-template-columns:minmax(280px,1.05fr) minmax(300px,1fr);align-items:start;gap:18px;display:grid}.mh-view{border-radius:var(--radius-lg,14px);background:radial-gradient(ellipse at 50% 28%, color-mix(in srgb, var(--accent,#5e6ad2) 12%, #f4f1ec) 0%, color-mix(in srgb, var(--bg-elev,#e9ebf1) 92%, #000) 78%);touch-action:none;height:560px;position:relative;overflow:hidden}:root[data-theme=dark] .mh-view{background:radial-gradient(at 50% 28%,#3a3d46 0%,#17181c 80%)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .mh-view{background:radial-gradient(at 50% 28%,#3a3d46 0%,#17181c 80%)}}.mh-view canvas{display:block;width:100%!important;height:100%!important}.mh-view-fallback,.mh-view-loading{color:var(--muted,#667);pointer-events:none;place-items:center;font-size:.9rem;display:grid;position:absolute;inset:0}.mh-view-tools{gap:6px;display:flex;position:absolute;bottom:10px;left:10px}.mh-side{flex-direction:column;gap:12px;min-width:0;display:flex}.mh-top{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.mh-actions{flex-wrap:wrap;gap:6px;display:flex}.mh-tool,.mh-chip,.mh-tab{font:inherit;border:1px solid var(--border,#d9dce3);background:var(--surface,#fff);color:inherit;cursor:pointer;border-radius:999px;padding:5px 12px;font-size:.85rem;line-height:1.2}.mh-tool:disabled{opacity:.45;cursor:default}.mh-chip[aria-pressed=true],.mh-chip[aria-checked=true],.mh-tool[aria-pressed=true],.mh-tab[aria-selected=true]{background:var(--accent,#5e6ad2);border-color:var(--accent,#5e6ad2);color:#fff}.mh-tabs{border-bottom:1px solid var(--border,#d9dce3);flex-wrap:wrap;gap:6px;padding-bottom:10px;display:flex}.mh-tab{border-radius:8px}.mh-panel{flex-direction:column;gap:12px;max-height:420px;padding-right:4px;display:flex;overflow-y:auto}.mh-panel-tools{gap:6px;display:flex}.mh-field{flex-direction:column;gap:6px;display:flex}.mh-field-label,.mh-group-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#667);margin:0;font-size:.78rem;font-weight:600}.mh-group{border-bottom:1px dashed var(--border,#d9dce3);flex-direction:column;gap:8px;padding-bottom:8px;display:flex}.mh-chips{flex-wrap:wrap;gap:6px;display:flex}.mh-swatches{flex-wrap:wrap;gap:7px;display:flex}.mh-swatch{border:2px solid var(--surface,#fff);width:28px;height:28px;box-shadow:0 0 0 1px var(--border,#c9ccd4);cursor:pointer;border-radius:50%;padding:0}.mh-swatch[aria-checked=true]{box-shadow:0 0 0 2px var(--accent,#5e6ad2)}.mh-swatch-custom{background:conic-gradient(#e44,#ee4,#4e4,#4ee,#44e,#e4e,#e44);position:relative;overflow:hidden}.mh-swatch-custom input{opacity:0;cursor:pointer;position:absolute;inset:0}.mh-sliders{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px 16px;display:grid}.mh-slider{flex-direction:column;gap:2px;font-size:.85rem;display:flex}.mh-slider-head{justify-content:space-between;display:flex}.mh-slider output{color:var(--muted,#667);font-variant-numeric:tabular-nums}.mh-slider input[type=range]{width:100%;accent-color:var(--accent,#5e6ad2)}.mh-save{justify-content:flex-end;display:flex}.mh-creator.is-compact .mh-view{height:420px}@media (width<=820px){.mh-creator{grid-template-columns:1fr}.mh-view{height:380px}.mh-panel{max-height:none}}.voice{align-items:center;gap:8px;display:flex;position:relative}.voice-talk{touch-action:none;-webkit-user-select:none;user-select:none;color:var(--muted);background:0 0;border-color:#0000;border-radius:999px;position:relative}.voice-talk:hover:not(:disabled){color:var(--text)}.voice-active{background:var(--danger);color:#fff;border-color:#0000;animation:1.4s ease-out infinite voice-ring}.voice-active:hover:not(:disabled){background:var(--danger);color:#fff}@keyframes voice-ring{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--danger) 55%, transparent)}to{box-shadow:0 0 0 12px #0000}}.voice-pop{z-index:3;flex-direction:column;align-items:flex-end;gap:6px;width:max-content;max-width:min(320px,80vw);display:flex;position:absolute;bottom:calc(100% + 10px);right:0}.voice-status{font-size:var(--text-sm);background:var(--surface-3);border:1px solid var(--border-strong);box-shadow:var(--shadow-pop);animation:uz-rise .2s var(--ease) both;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;display:inline-flex}.voice-status.is-recording{color:var(--danger)}.voice-status.is-speaking{color:var(--accent-fg)}.wave{align-items:center;gap:2px;height:14px;display:inline-flex}.wave i{transform-origin:50%;background:currentColor;border-radius:2px;width:2px;height:100%;animation:.9s ease-in-out infinite wave;display:block}.wave i:nth-child(2){animation-delay:.12s}.wave i:nth-child(3){animation-delay:.24s}.wave i:nth-child(4){animation-delay:.36s}.wave i:nth-child(5){animation-delay:.48s}@keyframes wave{0%,to{transform:scaleY(.25)}50%{transform:scaleY(1)}}.world-hud{pointer-events:none;color:var(--text);font:500 var(--text-sm) / 1.4 var(--font-sans);flex-direction:column;justify-content:flex-start;display:flex;position:absolute;inset:0;container-type:inline-size}.world-elevator{pointer-events:auto}.world-exit,.world-elevator li button{min-height:36px;padding:4px var(--space-3);border-radius:var(--radius-pill);color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000}.world-elevator li button[aria-current=true]{background:var(--accent);color:var(--accent-text)}.world-exit kbd{border:1px solid var(--border);min-width:1.4em;font:600 var(--text-xs) / 1.4 var(--font-mono,monospace);text-align:center;border-radius:4px;padding:0 4px;display:inline-block}.world-elevator{top:188px;right:var(--space-3);overscroll-behavior:contain;min-width:12rem;max-width:15rem;max-height:28rem;padding:var(--space-3);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);flex-direction:column;display:flex;position:absolute}.world-elevator h3,.world-elevator-title{margin:0 0 var(--space-2);font-size:var(--text-sm)}.world-elevator-title{color:var(--muted)}.world-elevator ul{margin:0 0 var(--space-2);overscroll-behavior:contain;flex:auto;min-height:4rem;padding:0;list-style:none;overflow-y:auto}.world-elevator-head{justify-content:space-between;align-items:center;display:flex}.world-elevator-head h3{margin:0}.world-elevator-steps{gap:4px;display:inline-flex}.world-elevator-steps button{border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface);min-width:36px;min-height:36px;color:inherit;font:inherit;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}.world-elevator-steps button:disabled{opacity:.4;cursor:default}.world-elevator-hint{margin:0 0 var(--space-2);color:var(--muted);font-size:var(--text-xs)}.world-elevator-actions{flex-direction:column;gap:4px;display:flex}.world-exit.is-primary{background:var(--accent);color:var(--accent-text)}.world-elevator li button{gap:var(--space-2);text-align:left;border-radius:var(--radius-sm);width:100%;display:flex}.world-exit{border-color:var(--border);width:100%}.world-fade{opacity:0;pointer-events:none;background:#000;transition:opacity .22s;position:absolute;inset:0}.world-perf{border-radius:var(--radius-sm);color:#9be59b;font:11px/1.4 var(--font-mono,monospace);pointer-events:none;background:#000000b3;margin:0;padding:4px 8px;position:absolute;top:8px;left:8px}@media (width<=800px){.world-elevator{min-width:9rem;top:100px}}.world-floor-label{text-align:left;flex-direction:column;align-items:flex-start;line-height:1.15;display:inline-flex}.world-floor-label b{font-weight:600}.world-floor-label small{opacity:.7;font-size:.72em}.world-lift{gap:var(--space-2);min-width:13rem;max-width:min(20rem, calc(100vw - 2 * var(--space-3)));max-height:50vh;padding:var(--space-3);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);flex-direction:column;display:flex;overflow:auto}.world-lift header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.world-lift ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.world-lift button{min-height:40px;padding:4px var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--border);color:inherit;font:inherit;cursor:pointer;background:0 0}.world-lift li button{align-items:center;gap:var(--space-2);text-align:left;width:100%;display:flex}.world-lift li button strong{text-align:center;min-width:1.6em}.world-lift button[aria-pressed=true]{background:var(--accent);color:var(--accent-text);border-color:#0000}.world-lift button[aria-current=true]{border-color:var(--accent)}.world-lift button:disabled{opacity:.4;cursor:default}.world-lift-call,.world-lift-doors{gap:var(--space-2);display:flex}.world-lift-call button,.world-lift-doors button{flex:1}.world-page{--hud-h:40px;--hud-h-sm:32px;--hud-gap:var(--space-2);--hud-edge:max(var(--space-3), env(safe-area-inset-left));--hud-edge-top:max(var(--space-3), env(safe-area-inset-top));--hud-edge-bottom:max(var(--space-3), env(safe-area-inset-bottom));--hud-glass:color-mix(in srgb, var(--surface) 66%, transparent);--hud-glass-strong:color-mix(in srgb, var(--surface) 94%, transparent);--hud-prompt-bottom:calc(var(--hud-edge-bottom) + 24px + var(--hud-h))}.world-page:has(.world-dock){--hud-prompt-bottom:300px}.world-hud{font-size:var(--text-sm);container-type:inline-size}.world-glass-btn,.hud-btn,.hud-modes,.hud-prompt,.veh-prompt,.world-chip-link,.world-compass,.world-minimap,.world-help,.world-chip,.world-toast,.world-walkpad,.veh-pill,.veh-hud,.world-hud .world-elevator{background:var(--hud-glass);border:1px solid var(--border-strong);-webkit-backdrop-filter:blur(14px)saturate(1.2);box-shadow:var(--shadow);color:var(--text)}.world-glass-btn,.hud-btn{min-width:var(--hud-h);height:var(--hud-h);padding:0 var(--space-3);border-radius:var(--radius-pill);font:500 var(--text-sm) / 1 var(--font-sans);cursor:pointer;justify-content:center;align-items:center;gap:6px;display:inline-flex}.world-glass-btn:hover,.hud-btn:hover,.world-glass-btn[aria-pressed=true],.hud-btn[aria-expanded=true]{border-color:var(--accent)}.world-glass-btn:focus-visible,.hud-btn:focus-visible,.hud-modes button:focus-visible,.hud-prompt:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.world-glass-btn kbd,.hud-prompt kbd,.hud-modes kbd{border-radius:var(--radius-sm);border:1px solid var(--border-strong);min-width:1.5em;font:600 var(--text-xs) / 1.3 var(--font-mono,monospace);color:var(--muted);text-align:center;padding:1px 4px;display:inline-block}.world-hud>*{transition:opacity .4s}.world-hud>.world-corner,.world-hud>.world-compass,.world-hud>.world-minimap,.world-page .veh-pill{pointer-events:auto}.world-compass,.world-minimap,.world-help{pointer-events:none}.world-hud[data-idle=true]>.world-corner,.world-hud[data-idle=true]>.world-compass,.world-hud[data-idle=true]>.world-minimap{opacity:.35}.world-hud[data-idle=true]>.world-corner:hover,.world-hud[data-idle=true]>.world-corner:focus-within,.world-hud[data-idle=true]>.world-minimap:hover{opacity:1}.world-corner{top:var(--hud-edge-top);left:var(--hud-edge);z-index:3;align-items:center;gap:var(--hud-gap);display:flex;position:absolute}.world-chip-link{align-items:center;gap:var(--space-2);height:var(--hud-h);padding:0 var(--space-3) 0 6px;border-radius:var(--radius-pill);font-weight:600;text-decoration:none;display:inline-flex}.world-chip-link:hover{border-color:var(--accent)}.world-chip-mark{background:var(--accent);width:28px;height:28px;color:var(--accent-text);border-radius:50%;place-items:center;font-weight:700;display:grid}.world-page .veh-pill{z-index:3;top:calc(var(--hud-edge-top) + var(--hud-h) + var(--hud-gap));left:var(--hud-edge);height:var(--hud-h-sm);padding:0 3px 0 var(--space-3);border-radius:var(--radius-pill);align-items:center;gap:6px;display:inline-flex;position:absolute}.world-page .veh-pill-add{border-radius:50%;place-items:center;width:26px;height:26px;min-height:0;padding:0;font-size:16px;line-height:1;display:grid}.world-compass{top:var(--hud-edge-top);z-index:2;width:320px;max-width:calc(100% - 2 * (200px + var(--space-3)));height:var(--hud-h-sm);border-radius:var(--radius-pill);position:absolute;left:50%;overflow:hidden;transform:translate(-50%);-webkit-mask-image:linear-gradient(90deg,#0000,#000 18% 82%,#0000);mask-image:linear-gradient(90deg,#0000,#000 18% 82%,#0000)}.world-compass-needle{background:var(--accent);width:2px;height:6px;margin-left:-1px;position:absolute;top:0;left:50%}.world-compass-mark{font:600 var(--text-xs) / 30px var(--font-sans);color:var(--muted);white-space:nowrap;position:absolute;top:0;transform:translate(-50%)}.world-compass-mark.is-tick:before{content:"";background:var(--border-strong);width:1px;height:8px;margin-top:11px;display:block}.world-compass-mark.is-cardinal{color:var(--text);font-size:var(--text-sm)}.world-compass-mark.is-building{border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--text);padding:2px 6px;font-size:10px;line-height:1;top:auto;bottom:1px}.world-hud>.world-help{top:calc(var(--hud-edge-top) + var(--hud-h-sm) + var(--hud-gap));z-index:1;width:max-content;max-width:min(40rem, calc(100% - 2 * (200px + var(--space-3))));padding:4px var(--space-3);border-radius:var(--radius-lg);color:var(--muted);font-size:var(--text-xs);text-align:center;margin:0;transition:opacity .5s;position:absolute;left:50%;transform:translate(-50%)}.world-hud>.world-help[data-hidden=true]{opacity:0}.world-minimap{top:var(--hud-edge-top);right:max(var(--space-3), env(safe-area-inset-right));z-index:2;border-radius:var(--radius-lg);pointer-events:auto;line-height:0;position:absolute;overflow:hidden}.world-minimap canvas.is-clickable{cursor:pointer}.world-controls{right:max(var(--space-3), env(safe-area-inset-right));bottom:var(--hud-edge-bottom);z-index:3;align-items:center;gap:var(--hud-gap);pointer-events:auto;display:flex;position:absolute}@media (width>=700px){.world-controls.is-sheet{z-index:45}}.hud-modes{border-radius:var(--radius-pill);height:var(--hud-h);gap:2px;padding:3px;display:flex}.hud-modes button{min-width:var(--hud-h-sm);height:var(--hud-h-sm);border-radius:var(--radius-pill);color:var(--text-2);font:500 var(--text-xs) / 1 var(--font-sans);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:0 9px;display:inline-flex;position:relative}.hud-modes button:hover{background:var(--accent-soft);color:var(--text)}.hud-modes button[aria-pressed=true]{background:var(--accent);color:var(--accent-text)}.hud-modes button[aria-pressed=true] kbd{border-color:color-mix(in srgb, currentColor 50%, transparent);color:inherit}.hud-modes kbd{border-color:var(--border);min-width:0;padding:0 3px;font-size:10px;display:none}.hud-mode-label{display:none}.hud-modes.has-labels .hud-mode-label{display:inline}.hud-modes:not(.has-labels) button:hover .hud-mode-label,.hud-modes:not(.has-labels) button:focus-visible .hud-mode-label{border-radius:var(--radius);background:var(--hud-glass-strong);border:1px solid var(--border-strong);box-shadow:var(--shadow);color:var(--text);white-space:nowrap;pointer-events:none;padding:4px 8px;display:block;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)}@media (hover:hover) and (width>=1101px){.hud-modes button[aria-pressed=true] kbd{display:inline-block}}.hud-gear{width:var(--hud-h);padding:0}@container (width<=1100px){.world-controls{flex-direction:column-reverse;align-items:flex-end}.hud-modes{height:auto;width:var(--hud-h);flex-direction:column;padding:3px}.hud-modes button{width:var(--hud-h-sm);padding:0}.hud-modes.has-labels button{width:auto;padding:0 9px}.hud-modes:not(.has-labels) button:hover .hud-mode-label,.hud-modes:not(.has-labels) button:focus-visible .hud-mode-label{inset:50% calc(100% + 10px) auto auto;transform:translateY(-50%)}}@container (width<=1000px){.world-corner .world-chip-name,.world-corner .world-glass-btn.is-text>span,.world-corner .world-glass-btn kbd{display:none}.world-corner .world-glass-btn.is-text{padding:0}.world-chip-link{padding-right:6px}}.world-hud-stack{left:50%;bottom:var(--hud-prompt-bottom);z-index:4;align-items:center;gap:var(--hud-gap);width:min(32rem, calc(100% - 2 * (150px + var(--space-3))));pointer-events:none;flex-direction:column;display:flex;position:absolute;transform:translate(-50%)}.world-hud-stack>*{pointer-events:auto}.hud-prompt,.veh-prompt,.world-hud .world-chip,.world-hud .world-toast{align-items:center;gap:var(--space-2);min-height:var(--hud-h);padding:0 var(--space-4);border-radius:var(--radius-pill);font:600 var(--text-sm) / 1.2 var(--font-sans);display:inline-flex}.hud-prompt,.world-prompt,.world-page .veh-prompt,.world-page .veh-prompt{background:var(--accent);color:var(--accent-text);cursor:pointer;border-color:#0000}.hud-prompt kbd,.world-prompt kbd{border-color:color-mix(in srgb, var(--accent-text) 45%, transparent);color:inherit}.hud-prompt:disabled{opacity:.5;cursor:default}.world-page .veh-prompt{left:50%;bottom:var(--hud-prompt-bottom);z-index:4;align-items:center;height:auto;display:inline-flex;position:absolute;transform:translate(-50%)}.world-toasts{align-items:center;gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.world-hud .world-toast{font-weight:500}.world-toast.is-error{border-color:var(--danger)}.world-toast button,.world-chip button{border-radius:var(--radius-pill);min-width:28px;min-height:28px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0}.world-chip button{padding:0 var(--space-3);background:var(--accent-soft)}.world-page .veh-hud{top:auto;left:auto;right:max(var(--space-3), env(safe-area-inset-right));bottom:calc(var(--hud-edge-bottom) + var(--hud-h) + var(--hud-gap));gap:2px var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);grid-template-columns:1fr auto}.world-page .veh-speed b{font-size:34px}.world-page .veh-gear{align-self:center}.world-page .veh-hud-meta span{display:none}.world-page .veh-exit{min-height:var(--hud-h-sm);padding:0 var(--space-3);border-radius:var(--radius-pill);font-size:var(--text-xs);grid-column:auto}@media (pointer:coarse){.world-page .veh-hud{top:calc(var(--hud-edge-top) + var(--hud-h) + var(--hud-gap));left:var(--hud-edge);bottom:auto;right:auto}}.hud-scrim{z-index:40;pointer-events:auto;position:absolute;inset:0}.hud-sheet{z-index:41;right:max(var(--space-3), env(safe-area-inset-right));bottom:calc(var(--hud-edge-bottom) + var(--hud-h) + var(--hud-gap));width:min(380px, calc(100% - 2 * var(--space-3)));max-height:min(640px, calc(100% - 2 * var(--space-5) - var(--hud-h)));border-radius:var(--radius-xl);background:var(--hud-glass-strong);border:1px solid var(--border-strong);-webkit-backdrop-filter:blur(20px)saturate(1.2);box-shadow:var(--shadow-pop);color:var(--text);font:500 var(--text-sm) / 1.4 var(--font-sans);pointer-events:auto;flex-direction:column;animation:.18s ease-out world-rise;display:flex;position:absolute}.hud-sheet-head{padding:var(--space-3) var(--space-3) var(--space-2) var(--space-4);justify-content:space-between;align-items:center;display:flex}.hud-sheet-head h2{font-size:var(--text-md);margin:0;font-weight:650}.hud-sheet-close{width:var(--hud-h-sm);height:var(--hud-h-sm);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.hud-sheet-close:hover{background:var(--surface-3);color:var(--text)}.hud-sheet-close:focus-visible,.hud-seg button:focus-visible,.hud-switch:focus-visible,.hud-slider:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.hud-sheet-body{overscroll-behavior:contain;padding:0 var(--space-4) var(--space-4);overflow-y:auto}.hud-section+.hud-section{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}.hud-section h3{margin:0 0 var(--space-1);color:var(--muted);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:600}.hud-row{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:44px;padding:6px 0;display:flex}.hud-row.is-stacked{align-items:stretch;gap:var(--space-2);flex-direction:column}.hud-row-text{align-items:baseline;gap:0 var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.hud-row-label{font-weight:500}.hud-row-value{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto}.hud-row-hint{color:var(--muted);font-size:var(--text-xs);flex-basis:100%}.hud-row.is-stacked .hud-row-text{flex-wrap:wrap}.hud-seg{border-radius:var(--radius-pill);background:var(--surface-3);gap:2px;padding:3px;display:flex}.hud-seg button{height:var(--hud-h-sm);padding:0 var(--space-2);border-radius:var(--radius-pill);color:var(--text-2);font:500 var(--text-xs) / 1 var(--font-sans);cursor:pointer;background:0 0;border:0;flex:1}.hud-seg button[aria-pressed=true]{background:var(--accent);color:var(--accent-text)}.hud-slider{width:100%;height:24px;accent-color:var(--accent)}.hud-switch{appearance:none;border-radius:var(--radius-pill);background:var(--surface-3);border:1px solid var(--border-strong);cursor:pointer;flex:none;width:40px;height:24px;margin:0;transition:background .15s;position:relative}.hud-switch:after{content:"";background:var(--text-2);border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:2px;left:2px}.hud-switch:checked{background:var(--accent);border-color:var(--accent)}.hud-switch:checked:after{background:var(--accent-text);transform:translate(16px)}.hud-switch:disabled{opacity:.5;cursor:default}.world-walkpad,.world-joystick,.world-jump{pointer-events:auto}.world-walkpad{left:var(--hud-edge);bottom:var(--hud-edge-bottom);border-radius:var(--radius-lg);grid-template-columns:repeat(3,40px);gap:4px;padding:6px;display:grid;position:absolute}.world-walkpad button{border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface);min-width:40px;min-height:40px;color:inherit;font:inherit;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}.world-walkpad [data-testid=walk-forward]{grid-column:2}.world-walkpad [data-testid=walk-left]{grid-area:2/1}.world-walkpad [data-testid=walk-back]{grid-area:2/2}.world-walkpad [data-testid=walk-right]{grid-area:2/3}.world-walkpad .world-walkpad-look{min-height:var(--hud-h-sm);font-size:var(--text-xs);grid-column:1/-1}.world-walkpad .world-walkpad-look[aria-pressed=true]{background:var(--accent);color:var(--accent-text)}@media (pointer:coarse){.world-walkpad{display:none}}.world-joystick{left:max(var(--space-4), env(safe-area-inset-left));background:color-mix(in srgb, var(--surface) 38%, transparent);border:2px solid var(--border-strong);touch-action:none;border-radius:50%;width:110px;height:110px;position:absolute;bottom:120px}.world-joystick-knob{background:color-mix(in srgb, var(--accent) 70%, transparent);border-radius:50%;width:46px;height:46px;margin:-23px 0 0 -23px;position:absolute;top:50%;left:50%}.world-jump{right:max(var(--space-4), env(safe-area-inset-right));background:color-mix(in srgb, var(--surface) 38%, transparent);border:2px solid var(--border-strong);width:72px;height:72px;color:var(--text);touch-action:none;border-radius:50%;font-size:28px;position:absolute;bottom:132px}.world-jump:active{background:color-mix(in srgb, var(--accent) 55%, transparent)}@media (width<=699px){.world-page{--hud-prompt-bottom:calc(196px + env(safe-area-inset-bottom))}.world-page:has(.world-dock){--hud-prompt-bottom:300px}.world-chip-name,.world-glass-btn kbd{display:none}.world-minimap canvas{width:96px!important;height:96px!important}.world-compass{top:calc(var(--hud-edge-top) + var(--hud-h) + var(--hud-gap));left:var(--hud-edge);width:calc(100% - 96px - 3 * var(--space-3));max-width:none;transform:none}.world-hud>.world-help{top:calc(var(--hud-edge-top) + var(--hud-h) + 2 * var(--hud-h-sm) + 3 * var(--hud-gap));max-width:calc(100% - 2 * var(--space-3));border-radius:var(--radius-lg)}.world-page .veh-pill{top:calc(var(--hud-edge-top) + var(--hud-h) + var(--hud-h-sm) + 2 * var(--hud-gap))}.world-hud-stack{width:calc(100% - 2 * var(--space-3))}.world-controls{bottom:calc(var(--hud-edge-bottom) + var(--hud-h) + var(--hud-gap));flex-direction:row}.hud-modes{height:var(--hud-h);flex-direction:row;width:auto}.hud-modes button{width:auto;min-width:var(--hud-h-sm)}.world-joystick{bottom:76px}.hud-scrim{background:var(--overlay);position:fixed}.hud-sheet{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:auto;max-height:82dvh;padding-bottom:env(safe-area-inset-bottom);border-bottom:0;animation:.22s ease-out world-sheet;position:fixed;bottom:0;left:0;right:0}.hud-sheet:before{content:"";background:var(--border-strong);border-radius:2px;align-self:center;width:36px;height:4px;margin-top:8px}.world-page .veh-hud{top:calc(var(--hud-edge-top) + var(--hud-h) + var(--hud-gap))}.world-page:has(.veh-hud) .world-compass{display:none}.world-page:has(.veh-hud) .world-hud>.world-help{display:none}}@media (pointer:coarse){.world-page{--hud-h:44px;--hud-h-sm:36px}}@media (prefers-reduced-motion:reduce){.hud-sheet,.world-hud>*{transition:none;animation:none}}.world-page .veh-pedals{bottom:calc(var(--hud-edge-bottom) + var(--hud-h) + var(--hud-gap))}.world-room-title{z-index:5;top:calc(var(--hud-edge-top) + var(--hud-h) + 40px);height:var(--hud-h-sm);padding:0 var(--space-3);border-radius:var(--radius-pill);background:var(--hud-glass-strong);border:1px solid var(--border-strong);box-shadow:var(--shadow);color:var(--text);font:600 var(--text-xs) / 1 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;pointer-events:none;white-space:nowrap;align-items:center;display:inline-flex;position:fixed;left:50%;transform:translate(-50%)}.veh-prompt{z-index:6;min-height:44px;padding:6px var(--space-4,16px);border-radius:var(--radius-pill,999px);background:var(--accent);color:var(--accent-text);box-shadow:var(--shadow);font:600 var(--text-sm,14px) / 1.2 var(--font-sans);pointer-events:auto;cursor:pointer;border:0;position:absolute;bottom:22%;left:50%;transform:translate(-50%)}.veh-panel{z-index:8;top:var(--space-3,12px);right:var(--space-3,12px);bottom:var(--space-3,12px);gap:var(--space-2,8px);width:min(400px,100% - 24px);padding:var(--space-3,12px);border-radius:var(--radius-lg,14px);background:var(--surface);color:var(--text);box-shadow:var(--shadow);font:500 var(--text-sm,14px) / 1.4 var(--font-sans);pointer-events:auto;flex-direction:column;display:flex;position:absolute;overflow:auto}@media (width<=720px){.veh-panel{width:auto;max-height:62%;inset:auto 8px 8px}}.veh-panel-head{align-items:center;gap:var(--space-2,8px);display:flex}.veh-panel-head h2{font-size:var(--text-lg,18px);flex:1;margin:0}.veh-wallet{padding:2px var(--space-3,12px);border-radius:var(--radius-pill,999px);background:var(--surface-2,#7f7f7f26);font-variant-numeric:tabular-nums}.veh-x,.veh-tabs button,.veh-actions button,.veh-list button{border:1px solid var(--border);border-radius:var(--radius-md,10px);min-height:40px;color:inherit;font:inherit;cursor:pointer;background:0 0}.veh-x{width:40px;font-size:22px;line-height:1}.veh-tabs{gap:var(--space-2,8px);display:flex}.veh-tabs button{flex:1}.veh-tabs [aria-selected=true],.veh-list [aria-pressed=true]{background:var(--accent);color:var(--accent-text);border-color:#0000}.veh-body{gap:var(--space-3,12px);flex-direction:column;display:flex}.veh-list,.veh-mine{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.veh-list button{gap:0 var(--space-2,8px);width:100%;padding:6px var(--space-3,12px);text-align:left;grid-template-columns:1fr auto;display:grid}.veh-name{font-weight:600}.veh-price{font-variant-numeric:tabular-nums;grid-area:1/2}.veh-class,.veh-sub{color:var(--muted);font-size:var(--text-xs,12px)}.veh-detail h3{margin:0}.veh-bar{align-items:center;gap:var(--space-2,8px);font-size:var(--text-xs,12px);grid-template-columns:90px 1fr;margin:6px 0;display:grid}.veh-bar i{background:var(--surface-2,#7f7f7f33);border-radius:4px;height:8px;overflow:hidden}.veh-bar b{background:var(--accent);height:100%;display:block}.veh-colors{margin:var(--space-2,8px) 0;flex-wrap:wrap;gap:8px;display:flex}.veh-swatch{border:2px solid var(--border);cursor:pointer;border-radius:50%;width:32px;height:32px;padding:0;display:inline-block}.veh-swatch-sm{width:26px;height:26px}.veh-swatch[aria-checked=true],.veh-swatch[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:2px}.veh-buy{border-radius:var(--radius-md,10px);background:var(--accent);width:100%;min-height:48px;color:var(--accent-text);font:700 var(--text-sm,14px) / 1.2 var(--font-sans);cursor:pointer;border:0}.veh-buy:disabled{opacity:.5;cursor:not-allowed}.veh-note{margin:6px 0 0}.veh-bad{color:var(--danger,#c0392b)}.veh-good{color:var(--success,#1f8a4c)}.veh-empty{color:var(--muted)}.veh-mine li{padding:var(--space-2,8px);border:1px solid var(--border);border-radius:var(--radius-md,10px)}.veh-mine-head{align-items:center;gap:var(--space-2,8px);flex-wrap:wrap;display:flex}.veh-actions{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.veh-actions button{padding:0 var(--space-3,12px)}.veh-actions button:disabled{opacity:.45}.veh-hud{z-index:5;left:var(--space-4,16px);align-items:end;gap:4px var(--space-3,12px);padding:var(--space-2,8px) var(--space-4,16px);border-radius:var(--radius-lg,14px);background:color-mix(in srgb, var(--surface) 88%, transparent);color:var(--text);box-shadow:var(--shadow);pointer-events:none;grid-template-columns:auto auto;display:grid;position:absolute;top:38%}.veh-speed b{font:700 44px / 1 var(--font-sans);font-variant-numeric:tabular-nums}.veh-speed small{color:var(--muted);margin-left:4px}.veh-gear{background:var(--accent);min-width:32px;color:var(--accent-text);text-align:center;border-radius:8px;justify-self:end;padding:2px 8px;font-weight:700}.veh-hud-meta{justify-content:space-between;gap:var(--space-3,12px);font-size:var(--text-xs,12px);color:var(--muted);grid-column:1/-1;display:flex}.veh-hud-meta strong{color:var(--text)}.veh-exit{border:1px solid var(--border);border-radius:var(--radius-md,10px);background:var(--surface);min-height:40px;color:inherit;font:inherit;pointer-events:auto;cursor:pointer;grid-column:1/-1}.veh-pedals{z-index:5;right:var(--space-3,12px);align-items:flex-end;gap:var(--space-2,8px);pointer-events:none;display:flex;position:absolute;bottom:24px}.veh-pedal{pointer-events:auto;touch-action:none;border-radius:var(--radius-md,12px);background:color-mix(in srgb, var(--surface) 82%, transparent);min-width:64px;min-height:72px;color:var(--text);box-shadow:var(--shadow);font:600 var(--text-xs,12px) / 1.2 var(--font-sans);-webkit-user-select:none;user-select:none;border:0;padding:4px 8px}.veh-pedal[data-testid=pedal-gas]{background:var(--accent);min-height:96px;color:var(--accent-text)}@media (width<=720px){.veh-hud{padding:6px 12px;top:64px;bottom:auto;left:8px}.veh-speed b{font-size:32px}}.veh-pill{z-index:4;top:calc(var(--space-3,12px) + 48px);left:var(--space-3,12px);padding:3px 3px 3px var(--space-3,12px);border-radius:var(--radius-pill,999px);background:var(--glass,var(--surface));border:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow);color:var(--text);pointer-events:auto;align-items:center;gap:6px;display:flex;position:absolute}.veh-pill-n{font:600 var(--text-sm,14px) / 1.2 var(--font-sans);font-variant-numeric:tabular-nums}.veh-pill-add,.veh-topup-btn{min-height:34px;padding:0 var(--space-3,12px);border-radius:var(--radius-pill,999px);background:var(--accent);color:var(--accent-text);font:700 var(--text-xs,12px) / 1 var(--font-sans);cursor:pointer;border:0}.veh-topup-btn{min-height:40px}.veh-modal{z-index:12;padding:var(--space-3,12px);pointer-events:auto;background:#00000073;place-items:center;display:grid;position:absolute;inset:0}.veh-dialog{gap:var(--space-2,8px);width:min(440px,100%);max-height:100%;padding:var(--space-4,16px);border-radius:var(--radius-lg,14px);background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow);flex-direction:column;display:flex;overflow:auto}.veh-free{border-radius:var(--radius-pill,999px);background:var(--warn-soft,#f2b84b2e);border:1px solid var(--warn,#96600a);color:var(--warn,#96600a);font:700 var(--text-xs,12px) / 1.4 var(--font-sans);white-space:nowrap;padding:2px 10px}.veh-packs{gap:var(--space-2,8px);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.veh-packs button{border:1px solid var(--border);border-radius:var(--radius-md,10px);min-height:56px;color:inherit;cursor:pointer;text-align:left;background:0 0;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 12px;display:flex}.veh-packs button[aria-checked=true]{border-color:var(--accent);background:var(--accent-soft,#7f7f7f24)}.veh-custom{flex-direction:column;gap:4px;display:flex}.veh-custom input{border:1px solid var(--border);border-radius:var(--radius-md,10px);background:var(--surface-2,transparent);min-height:44px;color:inherit;padding:0 12px}.veh-topup-body{gap:var(--space-2,8px);flex-direction:column;display:flex}.veh-history{flex-direction:column;gap:4px;max-height:46vh;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.veh-history li{border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr auto;align-items:center;gap:8px;padding:6px 0;display:grid}.veh-link{color:var(--accent-text-link,var(--accent));cursor:pointer;font:inherit;background:0 0;border:0;text-decoration:underline}.veh-rpm{background:color-mix(in srgb, var(--text) 14%, transparent);border-radius:2px;grid-column:1/-1;height:4px;overflow:hidden}.veh-rpm span{background:var(--accent);height:100%;transition:width 90ms linear;display:block}.veh-rpm span[data-red="1"]{background:#e5484d}.veh-dash{z-index:4;pointer-events:none;color:#e8edf3;background:linear-gradient(#0e1014eb,#040507f5);border-radius:28px 28px 18px 18px;align-items:center;gap:18px;padding:10px 22px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000073,inset 0 1px #ffffff14}.veh-gauge{width:150px;height:150px}.veh-gauge-face{fill:#0b0d11;stroke:#2a2f38;stroke-width:2px}.veh-gauge-track{fill:none;stroke:#3a414d;stroke-width:2px}.veh-gauge-red{fill:none;stroke:#e5484d;stroke-width:4px}.veh-gauge-tick{stroke:#c9d1db;stroke-width:1.4px}.veh-gauge-num{fill:#9aa5b4;font:600 7.5px / 1 var(--font-sans,system-ui);text-anchor:middle}.veh-gauge-label{fill:#7d8796;font:600 7px / 1 var(--font-sans,system-ui);text-anchor:middle;letter-spacing:.08em}.veh-gauge-value{fill:#fff;font:700 13px / 1 var(--font-sans,system-ui);text-anchor:middle;font-variant-numeric:tabular-nums}.veh-gauge-needle{stroke:#ff6a3d;stroke-width:2.4px;stroke-linecap:round;filter:drop-shadow(0 0 3px #ff6a3db3)}.veh-gauge-hub{fill:#1c2027;stroke:#ff6a3d;stroke-width:1.5px}.veh-dash-mid{grid-template-columns:auto auto auto;place-items:center;gap:6px 10px;display:grid}.veh-dash-gear{min-width:46px;font:800 40px / 1 var(--font-sans,system-ui);text-align:center;color:#fff}.veh-dash-gear[data-red="1"]{color:#ff6a3d}.veh-ind{color:#26402c;font-size:18px}.veh-ind.on{color:#3ddc68;text-shadow:0 0 8px #3ddc68e6}.veh-fuel{grid-column:1/-1;gap:3px;width:96px;display:grid}.veh-fuel small{color:#7d8796;text-transform:uppercase;letter-spacing:.1em;font-size:9px}.veh-fuel span{background:linear-gradient(90deg,#e5484d,#f5a524 30%,#3ddc68);border-radius:3px;height:5px;display:block}@media (width<=720px){.veh-dash{gap:8px;padding:6px 12px;bottom:120px}.veh-gauge{width:96px;height:96px}.veh-dash-gear{font-size:28px}}.veh-specs{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:8px 0;display:grid}.veh-specs div{border-radius:var(--radius-md,10px);background:color-mix(in srgb, var(--text) 6%, transparent);padding:6px 8px}.veh-specs dt{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:10px}.veh-specs dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-weight:700}.veh-swatch-gloss{background-image:radial-gradient(circle at 32% 28%,#ffffffbf,#0000 42%),linear-gradient(160deg,#0000 55%,#00000059)}.veh-rims{flex-wrap:wrap;gap:6px;margin:6px 0;display:flex}.veh-rims button{border:1px solid var(--border);background:var(--surface);color:inherit;font:inherit;font-size:var(--text-xs,12px);cursor:pointer;border-radius:999px;padding:4px 10px}.veh-rims button[aria-checked=true]{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 35%, transparent)}.veh-hint{color:var(--muted);margin:2px 0 6px;font-size:11px}.veh-cta{grid-template-columns:auto 1fr;gap:8px;display:grid}.veh-test{border:1px solid var(--border);border-radius:var(--radius-md,10px);background:var(--surface);min-height:44px;color:inherit;font:inherit;cursor:pointer;padding:0 14px;font-weight:600}.veh-confirm{border-radius:var(--radius-md,10px);border:1px solid color-mix(in srgb, var(--accent) 45%, var(--border));background:color-mix(in srgb, var(--accent) 8%, var(--surface));margin-top:8px;padding:10px 12px}.veh-confirm p{margin:0 0 8px;font-weight:600}.veh-confirm div{grid-template-columns:1fr auto;gap:8px;display:grid}.veh-confirm div button:last-child{border:1px solid var(--border);border-radius:var(--radius-md,10px);background:var(--surface);color:inherit;font:inherit;padding:0 12px}.veh-testdrive{z-index:5;background:color-mix(in srgb, var(--surface) 90%, transparent);box-shadow:var(--shadow);font-variant-numeric:tabular-nums;pointer-events:none;border-radius:999px;padding:6px 14px;font-weight:700;position:absolute;top:12px;left:50%;transform:translate(-50%)}.world-view{gap:var(--space-3);grid-template-columns:minmax(0,1fr) 320px;min-height:60vh;display:grid}.world-canvas{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-2);touch-action:none;min-height:55vh;position:relative;overflow:hidden}.world-canvas>div:not(.world-hud):not(.world-overlay):not(.world-fallback){isolation:isolate}.world-canvas canvas{display:block}.world-overlay,.world-fallback{inset:auto var(--space-3) var(--space-3) var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--surface);color:var(--text);box-shadow:var(--shadow);margin:0;position:absolute}.world-fallback{inset:var(--space-3);flex-direction:column;justify-content:center;display:flex}.world-label{padding:2px var(--space-2);border-radius:var(--radius-pill);font:600 var(--text-xs) / 1.4 var(--font-sans);white-space:nowrap;background:var(--surface);color:var(--text);box-shadow:var(--shadow);-webkit-user-select:none;user-select:none;display:inline-block}.world-label.is-hot{background:var(--accent);color:var(--accent-text)}.world-label-sub{color:var(--muted);font-weight:500}.world-label.is-hot .world-label-sub{color:inherit}.world-panel{padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);color:var(--text);max-height:80vh;overflow:auto}.world-panel h2,.world-panel h3{margin:0 0 6px}.world-muted{color:var(--muted)}.world-target{margin:var(--space-2) 0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--text)}.world-details-head{justify-content:space-between;gap:var(--space-2);display:flex}.world-floors,.world-agents,.world-building-list{margin:0;padding:0;list-style:none}.world-floor{padding:var(--space-2) 0;border-top:1px solid var(--border)}.world-floor-head{justify-content:space-between;display:flex}.world-floor-line{margin:2px 0}.world-agents{padding-left:var(--space-3)}.world-list-title{margin-top:var(--space-4)}.world-building-list button{width:100%;min-height:var(--tap);text-align:left;color:inherit;border-radius:var(--radius-sm);padding:6px var(--space-2);cursor:pointer;background:0 0;border:1px solid #0000}.world-building-list button[aria-pressed=true],.world-building-list button.is-hover{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}@media (width<=800px){.world-view{grid-template-columns:minmax(0,1fr)}.world-canvas{min-height:50vh}.world-panel{max-height:none}}.world-pending{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--warn-soft,var(--accent-soft));font-size:var(--text-sm);margin:0}.world-page{position:relative}.world-dock,.dock-launcher{z-index:5;bottom:calc(var(--space-3) * 2);left:calc(var(--space-3) + (100% - var(--world-panel-w,320px) - var(--space-3) * 3) / 2);position:absolute;transform:translate(-50%)}.world-dock{width:min(560px, calc(100% - var(--world-panel-w,320px) - var(--space-3) * 5));gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-xl);border:1px solid var(--border-strong);background:color-mix(in srgb, var(--surface) 92%, transparent);color:var(--text);box-shadow:var(--shadow-pop);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-direction:column;display:flex}.dock-launcher{left:max(calc(var(--space-3) + (100% - var(--world-panel-w,320px) - var(--space-3) * 3) / 2), calc(var(--space-3) + 190px + 100px));border-radius:var(--radius-pill);gap:var(--space-2);box-shadow:var(--shadow-pop)}.dock-kbd{border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-text);font:600 var(--text-xs) / 1.6 var(--font-mono);padding:0 6px}.dock-head{align-items:center;gap:var(--space-2);display:flex}.dock-collapse{margin-left:auto}.dock-log{gap:var(--space-2);flex-direction:column;max-height:min(20vh,170px);display:flex;overflow-y:auto}.dock-msg .text{padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);font-size:var(--text-sm);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.45}.dock-user .text{background:var(--accent-soft);max-width:85%;margin-left:auto}.dock-assistant .text{background:var(--surface-2);max-width:95%}.dock-meta{align-items:flex-start;gap:var(--space-1);margin-top:var(--space-1);flex-direction:column;display:flex}.dock-meta .steps-card{align-self:stretch}.dock-chip{align-items:center;gap:var(--space-1);max-width:100%;padding:2px var(--space-1) 2px var(--space-3);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--text);font-size:var(--text-xs);align-self:flex-start;display:flex}.dock-chip-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.dock-chip-clear{width:20px;height:20px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:inline-grid}.dock-chip-clear:hover{background:var(--surface-3)}.dock-picker{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.dock-swatch{border:2px solid var(--border-strong);cursor:pointer;width:24px;height:24px;transition:transform .12s var(--ease);border-radius:50%;padding:0}.dock-swatch:hover:not(:disabled){border-color:var(--accent);transform:scale(1.15)}.dock-swatch:disabled{opacity:.5;cursor:progress}.dock-undo{margin-left:auto}.dock-form{align-items:flex-end;gap:var(--space-2);padding:var(--space-1) var(--space-1) var(--space-1) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-xl);background:var(--surface);display:flex}.dock-form:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.dock-form .model-pill{white-space:nowrap;text-overflow:ellipsis;max-width:7.5rem;overflow:hidden}.dock-form .model-menu{max-height:min(50vh,22rem);overflow-y:auto}.dock-model{line-height:1.3}.dock-form textarea{min-width:0;min-height:0;max-height:96px;padding:var(--space-2) 0;resize:none;background:0 0;border:0;flex:1;line-height:1.4;box-shadow:none!important}@media (width<=800px){.world-dock,.dock-launcher{left:50%}.world-dock{width:min(560px, calc(100% - var(--space-4) * 2))}}@media (width<=699px){.world-dock,.dock-launcher{left:50%;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + var(--space-2));position:fixed}.world-dock{width:calc(100% - var(--space-4) * 2)}.dock-log{max-height:22vh}}.world-page{--glass:color-mix(in srgb, var(--surface) 64%, transparent);--glass-strong:color-mix(in srgb, var(--surface) 95%, transparent);--world-panel-w:320px;background:var(--bg)}.world-page.is-immersive{--world-panel-w:0px;height:100dvh;padding:0}.world-page.is-immersive .world-view{display:block}.world-page.is-immersive .world-canvas{border:0;border-radius:0}.world-page:fullscreen{width:100%;height:100%}.world-page.is-pseudo-fs{z-index:100;height:100dvh;padding:0;position:fixed;inset:0}.app.is-immersive{grid-template-columns:minmax(0,1fr)}.app.is-immersive .sidebar{display:none}@media (width<=699px){.app.is-immersive{padding-bottom:0}.app.is-immersive .main{min-height:100dvh}.world-page.is-immersive{height:100dvh;overflow:hidden}}.world-canvas.is-locked,.world-canvas.is-locked *{cursor:none!important}.world-hud .world-elevator{background:var(--glass);border:1px solid var(--border);-webkit-backdrop-filter:blur(14px)saturate(1.2)}.world-crosshair{background:var(--text);width:6px;height:6px;box-shadow:0 0 0 1.5px color-mix(in srgb, var(--bg) 70%, transparent), 0 0 6px #0006;opacity:.85;pointer-events:none;border-radius:50%;margin:-3px 0 0 -3px;position:absolute;top:50%;left:50%}.world-scrim{z-index:25;background:color-mix(in srgb, var(--bg) 28%, transparent);position:absolute;inset:0}.world-drawer,.world-navdrawer{z-index:30;width:min(380px,100%);padding:var(--space-3);background:var(--glass-strong);-webkit-backdrop-filter:blur(18px)saturate(1.2);box-shadow:var(--shadow-pop);color:var(--text);position:absolute;top:0;bottom:0;overflow-y:auto}.world-drawer{border-left:1px solid var(--border-strong);animation:.2s ease-out world-slide-right;right:0}.world-navdrawer{border-right:1px solid var(--border-strong);width:min(280px,100%);animation:.2s ease-out world-slide-left;left:0}.world-drawer .world-panel{max-height:none;padding:var(--space-3) 0 0;background:0 0;border:0}.world-drawer-close{top:var(--space-2);right:var(--space-2);z-index:1;min-width:36px;min-height:36px;padding:0;font-size:20px;position:absolute}.world-navdrawer .nav{flex-direction:column;gap:2px;margin-top:56px;display:flex}@keyframes world-slide-right{0%{opacity:0;transform:translate(24px)}}@keyframes world-slide-left{0%{opacity:0;transform:translate(-24px)}}@keyframes world-rise{0%{opacity:0;transform:translateY(8px)}}.world-loading{--brand:var(--accent);z-index:20;background:radial-gradient(circle at 50% 38%, color-mix(in srgb, var(--brand) 32%, transparent), transparent 62%), var(--bg);color:var(--text);opacity:1;place-items:center;transition:opacity .45s;display:grid;position:absolute;inset:0}.world-loading.is-leaving{opacity:0;pointer-events:none}.world-loading-card{align-items:center;gap:var(--space-2);width:min(320px, calc(100% - 2 * var(--space-5)));text-align:center;flex-direction:column;display:flex}.world-loading-card h2,.world-loading-card p{margin:0}.world-loading-card p,.world-loading-card small{color:var(--muted)}.world-loading-mark{background:var(--brand);color:#fff;width:72px;height:72px;font:700 34px / 1 var(--font-sans);box-shadow:0 10px 40px color-mix(in srgb, var(--brand) 55%, transparent);border-radius:18px;place-items:center;display:grid}.world-loading-logo .company-logo{box-shadow:0 10px 40px color-mix(in srgb, var(--brand) 55%, transparent)}.world-loading-bar{width:100%;height:6px;margin-top:var(--space-2);background:var(--surface-3);border-radius:3px;overflow:hidden}.world-loading-bar span{border-radius:inherit;background:var(--brand);height:100%;transition:width .3s;display:block}@media (width<=699px){.world-hud .world-elevator{top:150px}.world-drawer,.world-navdrawer{width:auto;max-height:72dvh;padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom));border:0;border-top:1px solid var(--border-strong);border-radius:var(--radius-xl) var(--radius-xl) 0 0;animation:.22s ease-out world-sheet;inset:auto 0 0}.world-navdrawer .nav{margin-top:0}.world-page.is-immersive .world-dock,.world-page.is-immersive .dock-launcher{bottom:calc(env(safe-area-inset-bottom) + var(--space-3))}.world-joystick{bottom:76px}}@keyframes world-sheet{0%{opacity:0;transform:translateY(40px)}}@media (prefers-reduced-motion:reduce){.world-drawer,.world-navdrawer,.world-loading{transition:none;animation:none}}:root{--bg:#0a0b0e;--bg-elev:#0e0f13;--surface:#121317;--surface-2:#181a1f;--surface-3:#1f2127;--text:#ececf0;--text-2:#c3c5cd;--muted:#8a8e9a;--border:#ffffff13;--border-strong:#ffffff24;--accent:#5e6ad2;--accent-hover:#6e7ae0;--accent-text:#fff;--accent-fg:#a1a9ff;--accent-soft:#5e6ad229;--ok:#4cc38a;--ok-soft:#4cc38a21;--warn:#f2b84b;--warn-soft:#f2b84b21;--danger:#ff6b6b;--danger-soft:#ff6b6b1f;--ask:#b799ff;--ask-soft:#b799ff24;--focus:#8c95ff;--overlay:#040508a8;--glow:radial-gradient(60% 60% at 50% 0%, #5e6ad233, transparent 70%);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--radius-sm:6px;--radius:8px;--radius-lg:12px;--radius-xl:16px;--radius-pill:999px;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-mono:ui-monospace, "SF Mono", "JetBrains Mono", "Cascadia Mono", Menlo, Consolas, monospace;--text-xs:.75rem;--text-sm:.8125rem;--text-md:.9375rem;--text-lg:1.0625rem;--text-xl:1.375rem;--shadow:0 0 0 1px var(--border), 0 8px 24px #00000059;--shadow-pop:0 0 0 1px var(--border-strong), 0 18px 48px #0000008c;--ease:cubic-bezier(.2, .7, .2, 1);--nav-h:60px;--tap:44px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (pointer:fine){:root{--tap:36px}}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f6f6f8;--bg-elev:#fbfbfc;--surface:#fff;--surface-2:#f2f3f5;--surface-3:#e9eaee;--text:#15161a;--text-2:#3a3d46;--muted:#666a75;--border:#14161e17;--border-strong:#14161e2e;--accent:#4f5bd5;--accent-hover:#4350c4;--accent-fg:#3f4bc2;--accent-soft:#4f5bd51a;--ok:#12804f;--ok-soft:#12804f1a;--warn:#96600a;--warn-soft:#96600a1a;--danger:#c7362f;--danger-soft:#c7362f14;--ask:#6a3fc4;--ask-soft:#6a3fc417;--focus:#4f5bd5;--overlay:#14161e59;--glow:radial-gradient(60% 60% at 50% 0%, #4f5bd51a, transparent 70%);--shadow:0 0 0 1px var(--border), 0 6px 20px #14161e12;--shadow-pop:0 0 0 1px var(--border-strong), 0 18px 48px #14161e2e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}:root[data-theme=light]{--bg:#f6f6f8;--bg-elev:#fbfbfc;--surface:#fff;--surface-2:#f2f3f5;--surface-3:#e9eaee;--text:#15161a;--text-2:#3a3d46;--muted:#666a75;--border:#14161e17;--border-strong:#14161e2e;--accent:#4f5bd5;--accent-hover:#4350c4;--accent-fg:#3f4bc2;--accent-soft:#4f5bd51a;--ok:#12804f;--ok-soft:#12804f1a;--warn:#96600a;--warn-soft:#96600a1a;--danger:#c7362f;--danger-soft:#c7362f14;--ask:#6a3fc4;--ask-soft:#6a3fc417;--focus:#4f5bd5;--overlay:#14161e59;--glow:radial-gradient(60% 60% at 50% 0%, #4f5bd51a, transparent 70%);--shadow:0 0 0 1px var(--border), 0 6px 20px #14161e12;--shadow-pop:0 0 0 1px var(--border-strong), 0 18px 48px #14161e2e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:var(--text-md) / 1.5 var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:650;line-height:1.25}h1{font-size:var(--text-xl)}h2{font-size:var(--text-lg)}h3{font-size:var(--text-md)}p{margin:0}a{color:var(--accent-fg)}code,pre,.mono{font-family:var(--font-mono)}pre{white-space:pre-wrap;overflow-wrap:anywhere}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:var(--radius-sm)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{left:var(--space-2);background:var(--accent);color:var(--accent-text);padding:var(--space-2) var(--space-3);border-radius:var(--radius);z-index:50;position:absolute;top:-56px}.skip:focus{top:var(--space-2)}.stack{gap:var(--space-3);flex-direction:column;display:flex}.stack-lg{gap:var(--space-5);flex-direction:column;display:flex}.row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.row-between{justify-content:space-between}.spacer{flex:1}.plain{margin:0;padding:0;list-style:none}.muted{color:var(--muted)}.small{font-size:var(--text-sm)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.card-raised{box-shadow:var(--shadow)}.topbar{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--surface);border-bottom:1px solid var(--border);min-height:56px;display:flex}.brand{align-items:center;gap:var(--space-2);letter-spacing:-.01em;white-space:nowrap;font-weight:700;display:inline-flex}.brand:before{content:"";background:var(--accent);border-radius:50%;width:10px;height:10px}.page-head{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.btn,button.btn{min-height:var(--tap);padding:0 var(--space-4);border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:var(--space-2);font-weight:550;text-decoration:none;transition:background-color .12s,border-color .12s;display:inline-flex}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--danger);filter:brightness(.92)}.btn-quiet{color:var(--muted);background:0 0;border-color:#0000}.btn-quiet:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn-link{min-height:0;padding:var(--space-1) 0;color:var(--accent-fg);font:inherit;cursor:pointer;background:0 0;border:0;text-decoration:underline}.btn-block{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed}.field{gap:var(--space-1);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.field>span:first-child,.field>legend{font-weight:600;font-size:var(--text-sm)}input:not([type=checkbox]):not([type=radio]),select,textarea{min-height:var(--tap);padding:var(--space-2) var(--space-3);font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);width:100%;max-width:100%}textarea{min-height:96px}input::placeholder,textarea::placeholder{color:var(--muted)}input:disabled,select:disabled{opacity:.6}.input-code{font-family:var(--font-mono);letter-spacing:.35em;text-align:center;font-size:1.4rem}.check{align-items:flex-start;gap:var(--space-3);min-height:var(--tap);padding:var(--space-2) 0;display:flex}.check input{width:22px;height:22px;accent-color:var(--accent);flex:none;margin:2px 0 0}.note{padding:var(--space-2) var(--space-3);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);font-size:var(--text-sm)}.note-error,.error{color:var(--danger);border:1px solid var(--danger);background:var(--danger-soft);padding:var(--space-2) var(--space-3);border-radius:var(--radius);font-size:var(--text-sm)}.note-ok{color:var(--ok);border-color:var(--ok)}.warning{color:var(--warn);font-weight:600}.chip{width:fit-content;font-size:var(--text-xs);border-radius:var(--radius-pill);border:1px solid var(--border-strong);color:var(--muted);white-space:nowrap;padding:2px 10px;font-weight:600;display:inline-block}.chip-ok{color:var(--ok);border-color:var(--ok)}.chip-warn{color:var(--warn);border-color:var(--warn)}.chip-ask{color:var(--ask);border-color:var(--ask)}.chip-busy{color:var(--accent-fg);border-color:var(--accent)}.chip-danger{color:var(--danger);border-color:var(--danger)}.badge{background:var(--ask);color:#fff;border-radius:var(--radius-pill);text-align:center;min-width:18px;padding:0 6px;font-size:.7rem}.progress{background:var(--surface-2);border-radius:var(--radius-pill);height:8px;overflow:hidden}.progress-bar{background:var(--accent);height:100%;transition:width .3s}.state{align-items:center;gap:var(--space-3);text-align:center;padding:var(--space-6) var(--space-4);color:var(--muted);flex-direction:column;display:flex}.state-error{color:var(--danger)}.spinner{border:3px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite uz-spin}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--surface-2), var(--border), var(--surface-2));background-size:200% 100%;height:1em;animation:1.4s ease-in-out infinite uz-shimmer;display:block}@keyframes uz-spin{to{transform:rotate(360deg)}}@keyframes uz-shimmer{to{background-position:-200% 0}}.toast-region{z-index:100;left:var(--space-3);right:var(--space-3);bottom:calc(var(--space-3) + env(safe-area-inset-bottom));align-items:center;gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:fixed}.has-bottom-nav .toast-region{bottom:calc(var(--nav-h) + var(--space-3) + env(safe-area-inset-bottom))}.toast{pointer-events:auto;align-items:center;gap:var(--space-3);width:100%;max-width:420px;padding:var(--space-3) var(--space-4);background:var(--text);color:var(--bg);border-radius:var(--radius);box-shadow:var(--shadow);font-size:var(--text-sm);animation:.18s ease-out uz-toast-in;display:flex}.toast-error{background:var(--danger);color:#fff}.toast button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;min-height:32px;margin-left:auto;text-decoration:underline}@keyframes uz-toast-in{0%{opacity:0;transform:translateY(8px)}}@media (width>=768px){.toast-region{left:auto;right:var(--space-5);align-items:flex-end}.has-bottom-nav .toast-region{bottom:calc(var(--space-3) + env(safe-area-inset-bottom))}}.table-wrap{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}th,td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);vertical-align:top;overflow-wrap:anywhere}th{color:var(--muted);font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em}tr:last-child td{border-bottom:0}tr.danger td{color:var(--danger)}.auth{min-height:100dvh;padding:var(--space-4);place-items:center;display:grid}.auth-card{gap:var(--space-4);width:100%;max-width:440px;padding:var(--space-5);box-shadow:var(--shadow)}.auth-brand{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.qr-frame{padding:var(--space-2);border-radius:var(--radius);border:1px solid var(--border);background:#fff;align-self:center;line-height:0}.qr{width:min(232px,62vw);height:auto;display:block}.manual-key{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface-2);border-radius:var(--radius);display:flex}.manual-key code{min-width:0;font-size:var(--text-sm);letter-spacing:.06em;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;flex:1}.recovery-grid{padding:var(--space-3);gap:var(--space-2) var(--space-3);background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:var(--radius);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;list-style:none;display:grid}.recovery-grid li{font-family:var(--font-mono);font-size:var(--text-sm);text-align:center;padding:var(--space-1) 0;-webkit-user-select:all;user-select:all}.steps{gap:var(--space-2);margin:0;padding:0;list-style:none;display:flex}.steps li{border-radius:var(--radius-pill);background:var(--border);flex:1;height:4px}.steps li[aria-current=step],.steps li.done{background:var(--accent)}.theme-toggle{min-width:var(--tap)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}body{font-size:var(--text-md);letter-spacing:-.003em;font-feature-settings:"cv11", "ss01", "ss03";line-height:1.55}h1{font-size:var(--text-xl);letter-spacing:-.022em;font-weight:620}h2{font-size:var(--text-lg);letter-spacing:-.016em;font-weight:600}h3{font-size:var(--text-md);font-weight:600}::selection{background:var(--accent-soft)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.icon{flex:none}.tnum{font-variant-numeric:tabular-nums}.eyebrow{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4)}.card-raised,.auth-card{box-shadow:var(--shadow)}.card-hover{transition:border-color .15s var(--ease), background-color .15s var(--ease)}.card-hover:hover{border-color:var(--border-strong);background:var(--surface-2)}.topbar{background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(12px);backdrop-filter:saturate(1.4)blur(12px);border-bottom:1px solid var(--border);min-height:52px}.brand:before{background:linear-gradient(135deg, var(--accent-fg), var(--accent));width:12px;height:12px;box-shadow:0 0 14px var(--accent-soft);border-radius:4px}.btn,button.btn{min-height:var(--tap);padding:0 var(--space-3);border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface-2);font-size:var(--text-sm);transition:background-color .12s var(--ease), border-color .12s var(--ease), transform 80ms var(--ease), box-shadow .12s var(--ease);font-weight:540}.btn:hover:not(:disabled){background:var(--surface-3)}.btn:active:not(:disabled){transform:translateY(.5px)scale(.99)}.btn-primary{background:var(--accent);color:var(--accent-text);border-color:#0000;box-shadow:inset 0 1px #ffffff2e}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:#0000}.btn-danger{background:var(--danger);color:#1a0505;border-color:#0000}.btn.btn-quiet,button.btn.btn-quiet{background:0 0;border-color:#0000}.btn.btn-quiet:hover:not(:disabled){background:var(--surface-2)}.btn-icon{min-width:var(--tap);padding:0}.btn-sm{min-height:30px;padding:0 var(--space-3);font-size:var(--text-xs)}@media (pointer:coarse){.btn-sm{min-height:40px}}input:not([type=checkbox]):not([type=radio]),select,textarea{min-height:var(--tap);background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:var(--radius);font-size:var(--text-md);transition:border-color .12s var(--ease), box-shadow .12s var(--ease)}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.field>span:first-child,.field>legend{font-weight:560;font-size:var(--text-sm);color:var(--text-2)}.check input{width:18px;height:18px;margin-top:1px}.check{min-height:0}.note{background:var(--surface-2);border-radius:var(--radius)}.note-error,.error{border:1px solid color-mix(in srgb, var(--danger) 40%, transparent);color:var(--danger);border-radius:var(--radius)}.chip{font-size:var(--text-xs);border:1px solid var(--border-strong);background:var(--surface-2);align-items:center;gap:6px;min-height:22px;padding:1px 9px;font-weight:560;display:inline-flex}.chip-ok{color:var(--ok);background:var(--ok-soft);border-color:#0000}.chip-warn{color:var(--warn);background:var(--warn-soft);border-color:#0000}.chip-ask{color:var(--ask);background:var(--ask-soft);border-color:#0000}.chip-busy{color:var(--accent-fg);background:var(--accent-soft);border-color:#0000}.chip-danger{color:var(--danger);background:var(--danger-soft);border-color:#0000}.dot{background:var(--muted);border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.dot-ok{background:var(--ok);box-shadow:0 0 8px var(--ok-soft)}.dot-warn{background:var(--warn)}.dot-danger{background:var(--danger);box-shadow:0 0 8px var(--danger-soft)}.dot-busy{background:var(--accent-fg);animation:1.4s ease-in-out infinite uz-pulse}@keyframes uz-pulse{50%{opacity:.35}}.badge{background:var(--accent);color:#fff;font-weight:600}.kbd{font-family:var(--font-mono);border:1px solid var(--border-strong);color:var(--muted);background:var(--surface-2);border-radius:4px;padding:1px 5px;font-size:.68rem}.progress{height:4px}.avatar{--hue:220;color:hsl(var(--hue) 80% 82%);background:hsl(var(--hue) 40% 24%);border:1px solid hsl(var(--hue) 45% 34%);border-radius:50%;flex:none;place-items:center;font-weight:650;display:inline-grid}.avatar-assistant{color:#fff;background:linear-gradient(135deg,#7c86ff,#b17cff 70%);border:0;box-shadow:0 0 16px #7c86ff59}:root[data-theme=light] .avatar:not(.avatar-assistant){color:hsl(var(--hue) 55% 30%);background:hsl(var(--hue) 70% 90%);border-color:hsl(var(--hue) 50% 78%)}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .avatar:not(.avatar-assistant){color:hsl(var(--hue) 55% 30%);background:hsl(var(--hue) 70% 90%);border-color:hsl(var(--hue) 50% 78%)}}.state{padding:var(--space-6) var(--space-4)}.spinner{border-width:2px;width:18px;height:18px}.toast{background:var(--surface-3);color:var(--text);border:1px solid var(--border-strong);box-shadow:var(--shadow-pop);border-radius:var(--radius-lg)}.toast-error{background:var(--surface-3);color:var(--danger);border-color:color-mix(in srgb, var(--danger) 50%, transparent)}.table-wrap{border-radius:var(--radius-lg);background:var(--surface)}table{font-size:var(--text-sm)}th,td{padding:10px var(--space-4)}th{background:var(--bg-elev);letter-spacing:.06em;white-space:nowrap;font-size:.68rem}tbody tr:hover td{background:var(--surface-2)}tr.clickable{cursor:pointer}.drawer-root{z-index:60;position:fixed;inset:0}.drawer-scrim{background:var(--overlay);animation:.16s ease-out uz-fade;position:absolute;inset:0}.drawer{background:var(--surface);border-left:1px solid var(--border-strong);width:min(480px,100vw);box-shadow:var(--shadow-pop);animation:uz-slide-in .22s var(--ease);flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:0}.drawer:focus{outline:none}.drawer-head{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);display:flex}.drawer-body{padding:var(--space-4);gap:var(--space-4);flex-direction:column;display:flex;overflow-y:auto}@keyframes uz-fade{0%{opacity:0}}@keyframes uz-slide-in{0%{opacity:0;transform:translate(24px)}}@keyframes uz-rise{0%{opacity:0;transform:translateY(6px)}}.rise{animation:uz-rise .28s var(--ease) both}.auth{background:var(--glow) top center / 100% 520px no-repeat, var(--bg)}.auth-card{max-width:420px;padding:var(--space-5);border-radius:var(--radius-xl);animation:uz-rise .35s var(--ease) both}.auth-card h1{font-size:1.5rem}.auth-brand .brand{font-size:var(--text-lg)}.qr-frame{border-radius:var(--radius-lg)}.steps li{height:3px}.recovery-grid,.manual-key{background:var(--bg-elev)}.modal-root{padding:var(--space-4);place-items:center;display:grid}.modal{gap:var(--space-3);width:min(440px,100%);padding:var(--space-5);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-xl);box-shadow:var(--shadow-pop);animation:uz-rise .2s var(--ease) both;flex-direction:column;display:flex;position:relative}.modal:focus{outline:none}.modal-actions{margin-top:var(--space-2);justify-content:flex-end}.grow{flex:1;min-width:0}.hide-narrow{display:none}@media (width>=900px){.hide-narrow{display:inline}}.stack-sm{flex-direction:column;gap:6px;display:flex}.center-col{align-items:center;gap:var(--space-2);text-align:center;flex-direction:column;display:flex}.field-label{font-weight:560;font-size:var(--text-sm)}.lang select{width:auto;min-height:30px;padding:0 var(--space-2);font-size:var(--text-xs)}.meter{background:var(--surface-3);border-radius:999px;height:6px;overflow:hidden}.meter>span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--accent-fg));height:100%;display:block}.app{--side-w:252px;grid-template-columns:var(--side-w) minmax(0, 1fr);min-height:100dvh;display:grid}.app.is-collapsed{--side-w:64px}.sidebar{gap:var(--space-3);height:100dvh;padding:var(--space-3);background:var(--bg-elev);border-right:1px solid var(--border);transition:width .2s var(--ease);flex-direction:column;display:flex;position:sticky;top:0;overflow:hidden}.sidebar-top{min-height:36px;padding-left:var(--space-1);justify-content:space-between;align-items:center;display:flex}.assistant-card{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s var(--ease), background-color .15s var(--ease);display:flex}.assistant-card:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-2)}.assistant-meta{flex-direction:column;min-width:0;line-height:1.25;display:flex}.assistant-meta strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.assistant-edit input{min-height:30px}.nav{flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.nav-link{align-items:center;gap:var(--space-3);min-height:34px;padding:0 var(--space-3);border-radius:var(--radius);color:var(--muted);font-size:var(--text-md);transition:background-color .12s var(--ease), color .12s var(--ease);font-weight:520;text-decoration:none;display:flex}.nav-link:hover{background:var(--surface-2);color:var(--text)}.nav-link.active{background:var(--accent-soft);color:var(--text)}.nav-link.active .icon{color:var(--accent-fg)}.nav-link .badge{margin-left:auto}.nav-group{margin:var(--space-4) var(--space-3) var(--space-1)}.nav-sep{display:none}.sidebar-foot{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border);flex-direction:column;display:flex}.user-chip{align-items:center;gap:var(--space-2);padding:0 var(--space-1);display:flex}.user-name{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);color:var(--text-2);overflow:hidden}.foot-controls{align-items:center;gap:2px;display:flex}.foot-controls .lang{margin-right:auto}.app.is-collapsed .nav-label,.app.is-collapsed .assistant-meta,.app.is-collapsed .foot-controls .lang,.app.is-collapsed .foot-controls .theme-toggle{display:none}.app.is-collapsed .nav-sep{height:1px;margin:var(--space-3) var(--space-2);background:var(--border);display:block}.app.is-collapsed .sidebar-top{justify-content:center;padding:0}.app.is-collapsed .sidebar-top .brand{display:none}.app.is-collapsed .nav-link{justify-content:center;padding:0}.app.is-collapsed .nav-link .badge{position:absolute;transform:translate(12px,-10px)}.app.is-collapsed .nav-link{position:relative}.app.is-collapsed .assistant-card{padding:var(--space-2) 0;justify-content:center}.app.is-collapsed .foot-controls{flex-direction:column}.app.is-collapsed .user-chip{justify-content:center}.main{min-width:0;height:100dvh;overflow-y:auto}.main:focus{outline:none}.page{max-width:1040px;padding:var(--space-6) var(--space-5);gap:var(--space-5);flex-direction:column;margin:0 auto;display:flex}.page>.stack,.page-narrow{max-width:720px}.page-head{align-items:flex-start}.page-head p{margin-top:2px}.main>section.stack,.main>section.stack-lg{max-width:760px;padding:var(--space-6) var(--space-5);margin:0 auto}@media (width<=1023px) and (width>=700px){.app:not(.is-collapsed){--side-w:64px}.app:not(.is-collapsed) .nav-label,.app:not(.is-collapsed) .assistant-meta,.app:not(.is-collapsed) .foot-controls .lang,.app:not(.is-collapsed) .foot-controls .theme-toggle,.app:not(.is-collapsed) .sidebar-top .brand{display:none}.app:not(.is-collapsed) .nav-link{justify-content:center;padding:0;position:relative}.app:not(.is-collapsed) .nav-link .badge{position:absolute;transform:translate(12px,-10px)}.app:not(.is-collapsed) .nav-sep{height:1px;margin:var(--space-3) var(--space-2);background:var(--border);display:block}.app:not(.is-collapsed) .sidebar-top{justify-content:center;padding:0}.app:not(.is-collapsed) .collapse-btn{display:none}.app:not(.is-collapsed) .assistant-card{padding:var(--space-2) 0;justify-content:center}.app:not(.is-collapsed) .foot-controls{flex-direction:column}.app:not(.is-collapsed) .user-chip{justify-content:center}}@media (width<=699px){.app{padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom));display:block}.main{height:auto;min-height:calc(100dvh - var(--nav-h));overflow:visible}.sidebar{z-index:20;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding:0 var(--space-2) env(safe-area-inset-bottom);border-right:0;border-top:1px solid var(--border);background:color-mix(in srgb, var(--bg-elev) 90%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);flex-direction:row;position:fixed;inset:auto 0 0}.sidebar-top,.assistant-card,.sidebar-foot,.nav-group,.nav-sep{display:none!important}.nav{scrollbar-width:none;flex-direction:row;align-items:center;gap:0;overflow:auto hidden}.nav::-webkit-scrollbar{display:none}.nav-link{min-width:62px;min-height:var(--nav-h);padding:0 var(--space-2);border-radius:0;flex-direction:column;flex:1 0 auto;justify-content:center;gap:2px;font-size:.68rem;background:0 0!important}.nav-link.active{color:var(--accent-fg)}.nav-link .badge{position:absolute;transform:translate(14px,-14px)}.nav-link{position:relative}.page,.main>section.stack,.main>section.stack-lg{padding:var(--space-4)}}.chat-layout{grid-template-columns:minmax(0,1fr);height:100dvh;display:grid}.chat-layout.has-panel{grid-template-columns:minmax(0,1fr) 330px}@media (width<=1099px){.chat-layout.has-panel{grid-template-columns:minmax(0,1fr)}.chat-layout.has-panel .context{z-index:40;width:min(340px,100vw);box-shadow:var(--shadow-pop);animation:uz-slide-in .22s var(--ease);position:fixed;top:0;bottom:0;right:0}}@media (width<=699px){.chat-layout{height:calc(100dvh - var(--nav-h) - env(safe-area-inset-bottom))}}.chat{flex-direction:column;min-width:0;min-height:0;display:flex}.page-bar{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border);min-height:52px;display:flex}.page-bar h1{font-size:var(--text-md);letter-spacing:-.01em}.conn{font-size:var(--text-xs);color:var(--muted);margin-left:var(--space-2);align-items:center;gap:6px;display:inline-flex}.log{flex:1;min-height:0;overflow-y:auto}.log-inner{max-width:780px;min-height:100%;padding:var(--space-5) var(--space-4) var(--space-4);gap:var(--space-5);flex-direction:column;margin:0 auto;display:flex}.hero{align-items:center;gap:var(--space-3);text-align:center;max-width:640px;padding:var(--space-5) 0;flex-direction:column;margin:auto;display:flex}.hero h2{letter-spacing:-.03em;font-size:1.6rem}.hero>p.muted{max-width:46ch}.hero .eyebrow{margin-top:var(--space-4)}.suggest-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}@media (width<=560px){.suggest-grid{grid-template-columns:1fr}}.suggest{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:4px;display:flex}.suggest .icon{color:var(--accent-fg)}.suggest .small{line-height:1.4}.msg{gap:var(--space-3);align-items:flex-start;display:flex}.msg-user{justify-content:flex-end}.msg-main{gap:var(--space-2);flex-direction:column;min-width:0;max-width:100%;display:flex}.msg-user .msg-main{align-items:flex-end;max-width:82%}.msg-assistant .msg-main{flex:1}.bubble{overflow-wrap:anywhere}.msg-user .bubble{background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-xl) var(--radius-xl) 4px var(--radius-xl);padding:var(--space-2) var(--space-4)}.msg-assistant .bubble{color:var(--text);padding-top:3px}.text{white-space:pre-wrap}.caret{vertical-align:text-bottom;background:var(--accent-fg);border-radius:2px;width:7px;height:1.05em;margin-left:2px;animation:1s steps(2,start) infinite caret;display:inline-block}@keyframes caret{50%{opacity:0}}.meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.artifact{font-size:var(--text-sm);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface);align-items:center;gap:6px;padding:2px 10px;text-decoration:none;display:inline-flex}.artifact:hover{background:var(--surface-2)}.paused-card{gap:var(--space-2);max-width:460px;padding:var(--space-3);border:1px solid color-mix(in srgb, var(--warn) 55%, var(--border));border-radius:var(--radius-lg);background:var(--warn-soft);color:var(--text);display:grid}.paused-card p{margin:0}.paused-title{align-items:center;gap:var(--space-2);display:flex}.steps-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);max-width:460px;overflow:hidden}.steps-card.is-running{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.steps-toggle{align-items:center;gap:var(--space-2);width:100%;padding:7px var(--space-3);color:var(--text-2);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;display:flex}.steps-toggle:hover{background:var(--surface-2)}.steps-chevron{transition:transform .15s var(--ease);color:var(--muted)}.steps-toggle[aria-expanded=true] .steps-chevron{transform:rotate(90deg)}.steps-title{font-weight:560}.steps-bar{background:var(--surface-3);border-radius:99px;flex:1;height:3px;overflow:hidden}.steps-bar>span{background:var(--accent);height:100%;transition:width .4s var(--ease);display:block}.steps-bar>span[data-state=done]{background:var(--ok)}.steps-body{padding:var(--space-2) var(--space-3) var(--space-3);border-top:1px solid var(--border);gap:var(--space-2);flex-direction:column;display:flex}.steps-list{font-size:var(--text-sm);flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.steps-list li{align-items:center;gap:var(--space-2);color:var(--muted);display:flex}.step-mark{border:1.5px solid var(--border-strong);border-radius:50%;flex:none;place-items:center;width:16px;height:16px;display:grid}.steps-list li[data-status=done]{color:var(--text-2)}.steps-list li[data-status=done] .step-mark{background:var(--ok);border-color:var(--ok);color:#06150d}.steps-list li[data-status=current]{color:var(--text);font-weight:560}.steps-list li[data-status=current] .step-mark{border-color:var(--accent-fg);border-top-color:#0000;animation:.9s linear infinite uz-spin}.steps-list li[data-status=stopped]{color:var(--warn)}.steps-list li[data-status=stopped] .step-mark{border-color:var(--warn)}.approval{border-color:color-mix(in srgb, var(--ask) 40%, var(--border));background:var(--surface);max-width:460px}.approval h3{font-size:var(--text-md)}.code{margin:var(--space-2) 0 0;padding:var(--space-2) var(--space-3);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--text-xs);overflow-x:auto}details>summary{cursor:pointer;font-size:var(--text-sm);color:var(--text-2)}.composer-wrap{width:100%;max-width:780px;padding:0 var(--space-4) var(--space-4);gap:var(--space-2);flex-direction:column;margin:0 auto;display:flex}.composer{border:1px solid var(--border-strong);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow);transition:border-color .15s var(--ease), box-shadow .15s var(--ease);flex-direction:column;display:flex}.composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft), var(--shadow)}.composer textarea{min-height:0;max-height:180px;padding:var(--space-3) var(--space-4) var(--space-1);border-radius:var(--radius-xl) var(--radius-xl) 0 0;resize:none;background:0 0;border:0;line-height:1.5;box-shadow:none!important}.composer-bar{padding:var(--space-1) var(--space-2) var(--space-2);justify-content:space-between;align-items:center;display:flex}.composer-bar .btn.is-on{color:var(--accent-fg);background:var(--accent-soft)}.send-btn{border-radius:var(--radius-pill)}.model-pill-wrap{position:relative}.model-pill{gap:var(--space-1);border-radius:var(--radius-pill);max-width:14rem}.model-pill.is-on{color:var(--accent-fg);background:var(--accent-soft)}.model-menu{bottom:calc(100% + var(--space-2));z-index:20;min-width:15rem;max-width:min(20rem,90vw);padding:var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);flex-direction:column;gap:2px;display:flex;position:absolute;left:0}.model-menu .eyebrow{margin:var(--space-1) var(--space-2) 0}.model-menu-item{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);color:var(--text);font:inherit;font-size:var(--text-sm);text-align:start;cursor:pointer;background:0 0;border:0;display:flex}.model-menu-item:hover,.model-menu-item:focus-visible{background:var(--surface-2)}.model-menu-item[aria-checked=true]{background:var(--accent-soft);color:var(--accent-fg);font-weight:560}.model-menu small{padding:var(--space-1) var(--space-2) 0}.model-picker small.muted{display:block}.context{gap:var(--space-4);padding:var(--space-4);background:var(--bg-elev);border-left:1px solid var(--border);flex-direction:column;min-height:0;display:flex;overflow-y:auto}.context-head{justify-content:space-between;align-items:center;display:flex}.ctx-section{gap:var(--space-3);padding-bottom:var(--space-4);border-bottom:1px solid var(--border);flex-direction:column;display:flex}.ctx-list{gap:var(--space-2);flex-direction:column;margin:0;display:flex}.ctx-list>div{justify-content:space-between;align-items:center;gap:var(--space-3);font-size:var(--text-sm);display:flex}.ctx-list dt{color:var(--muted);align-items:center;gap:6px;display:inline-flex}.ctx-list dd{margin:0;font-weight:560}.split-pane{gap:var(--space-5);grid-template-columns:300px minmax(0,1fr);align-items:start;display:grid}@media (width<=860px){.split-pane{grid-template-columns:1fr}}.company-list{gap:var(--space-2);flex-direction:column;display:flex}.company-card{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;display:flex}.company-card.is-active{border-color:color-mix(in srgb, var(--accent) 60%, var(--border));background:var(--accent-soft)}.company-detail{gap:var(--space-4);flex-direction:column;display:flex}.budget-box{min-width:180px}.building{gap:var(--space-4)}.building h3{gap:var(--space-2)}.floor{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);gap:var(--space-2);flex-direction:column;display:flex}.floor-head{align-items:center;gap:var(--space-2);display:flex}.floor-head .muted{margin-left:auto}.agent-list{flex-direction:column;display:flex}.agent-row{align-items:center;gap:var(--space-3);border-top:1px solid var(--border);font-size:var(--text-sm);padding:6px 0;display:flex}.agent-row:first-child{border-top:0}.agent-status{align-items:center;gap:6px;min-width:84px;display:inline-flex}.empty-hero{text-align:center;padding:var(--space-6);align-items:center;gap:var(--space-3);color:var(--text-2)}.empty-hero .icon{color:var(--accent-fg)}.app.is-bleed .main{overflow:hidden}.world-page{height:100dvh;padding:var(--space-3);display:flex}.world-page .world-view{flex:1;min-width:0;min-height:0}.world-page .world-canvas{height:100%;min-height:0}@media (width<=699px){.world-page{height:calc(100dvh - var(--nav-h) - env(safe-area-inset-bottom));overflow-y:auto}}.onboarding{max-width:480px}.voice-list{gap:var(--space-2);flex-direction:column;max-height:300px;display:flex;overflow-y:auto}.voice-item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);display:flex}.voice-item.is-selected{border-color:var(--accent);background:var(--accent-soft)}.voice-pick{align-items:center;gap:var(--space-3);cursor:pointer;flex:1;display:flex}.voice-pick input{accent-color:var(--accent)}.task h3{font-size:var(--text-md)}.link{color:var(--accent-fg)}.block{display:block}.progress-bar[data-state=done]{background:var(--ok)}.progress-bar[data-state=needs_owner],.progress-bar[data-state=cancelled]{background:var(--warn)}.credit-links{gap:var(--space-4,16px);flex-wrap:wrap;display:flex}.credits-list{max-width:44rem}.company-logo{object-fit:contain;flex:none;padding:4px}.company-wordmark{background:#fff;border-radius:6px;width:auto;height:40px}.company-banner{padding-left:12px}.settings-group{margin:var(--space-4) 0 calc(-1 * var(--space-1));color:var(--muted);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:600}
