.inspector-overlay{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:clamp(16px,4vw,48px);background:#06080bb8;-webkit-backdrop-filter:blur(18px) saturate(1.1);backdrop-filter:blur(18px) saturate(1.1);animation:inspectorBackdropIn var(--hmi-med, .62s) var(--hmi-ease, ease) both}@keyframes inspectorBackdropIn{0%{opacity:0}to{opacity:1}}.inspector-stage{position:relative;width:min(72vw,860px);height:min(74vh,720px);max-width:100%;border-radius:20px;border:1px solid var(--panel-edge, rgba(255, 255, 255, .1));background:radial-gradient(120% 90% at 50% 8%,rgba(255,255,255,.06),transparent 62%),linear-gradient(180deg,#14181f,#0a0d12);box-shadow:0 30px 90px #0009;overflow:hidden;animation:inspectorStageIn var(--hmi-med, .62s) var(--hmi-spring, ease) both}@keyframes inspectorStageIn{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}.inspector-canvas{position:absolute;inset:0;cursor:grab;touch-action:none}.inspector-canvas:active{cursor:grabbing}.inspector-close{position:absolute;top:14px;right:14px;z-index:2;width:56px;height:56px;display:grid;place-items:center;border:1px solid var(--panel-edge, rgba(255, 255, 255, .12));border-radius:50%;background:#00000080;color:var(--text-0, #eef0f2);font-size:26px;line-height:1;cursor:pointer;transition:background-color .2s var(--ease, ease),transform var(--hmi-fast, .26s) var(--ease, ease)}.inspector-close:hover{background:#000000b8}.inspector-close:active{transform:scale(.92)}.inspector-close:focus-visible{outline:none;border-color:var(--accent, #5a8fc4)}.inspector-info{position:absolute;left:16px;bottom:16px;right:84px;z-index:2;display:flex;align-items:center;gap:10px;flex-wrap:wrap;pointer-events:none}.inspector-name{font-family:var(--font, sans-serif);font-size:var(--fs-body, 17px);font-weight:600;color:var(--text-0, #eef0f2);letter-spacing:.01em;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspector-badge{font-family:var(--mono, monospace);font-size:var(--fs-meta, 14px);letter-spacing:.04em;color:var(--text-0, #eef0f2);background:#0000008c;border:1px solid var(--hair, rgba(255, 255, 255, .08));padding:3px 9px;border-radius:7px}.inspector-badge.src-text{color:#cfe0ff}.inspector-badge.src-image{color:#d6ffd9}.inspector-badge.src-retexture{color:#ffe6c4}.inspector-theme{font-family:var(--mono, monospace);font-size:var(--fs-meta, 14px);letter-spacing:.04em;color:var(--text-1, #a7abb2)}.inspector-hint{position:absolute;top:16px;left:16px;z-index:2;font-family:var(--mono, monospace);font-size:var(--fs-meta, 14px);color:var(--text-2, #9aa0a8);pointer-events:none}.inspector-fallback{position:absolute;inset:0;z-index:1;display:grid;place-items:center;gap:10px;align-content:center;text-align:center;padding:24px;font-family:var(--font, sans-serif);color:var(--text-1, #a7abb2)}.inspector-fallback svg{width:56px;height:56px;color:var(--text-2, #9aa0a8)}.inspect-btn{position:absolute;right:3px;bottom:3px;z-index:3;width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--hair, rgba(255, 255, 255, .08));border-radius:50%;color:var(--text-0, #eef0f2);background:#0000008c;font-size:17px;line-height:1;cursor:pointer;opacity:.82;transition:opacity .15s var(--ease, ease),background-color .15s var(--ease, ease),transform var(--hmi-fast, .26s) var(--ease, ease)}.inspect-btn:hover{opacity:1;background:#000c}.inspect-btn:active{transform:scale(.9)}.inspect-btn:focus-visible{outline:none;border-color:var(--accent, #5a8fc4)}.garage-overlay{position:fixed;inset:0;z-index:90;overflow:hidden;background:radial-gradient(120% 100% at 50% 0%,#12161c,#080a0e 60%,#050608);animation:garageIn var(--hmi-med, .62s) var(--hmi-ease, ease) both}@keyframes garageIn{0%{opacity:0}to{opacity:1}}.garage-overlay.closing{animation:garageOut var(--hmi-fast, .26s) var(--ease, ease) both}@keyframes garageOut{0%{opacity:1}to{opacity:0}}.garage-canvas{position:absolute;inset:0;cursor:grab;touch-action:none}.garage-canvas:active{cursor:grabbing}.garage-head{position:absolute;top:clamp(16px,3vh,28px);left:clamp(16px,3vw,32px);z-index:3;display:flex;flex-direction:column;gap:6px;pointer-events:none}.garage-title{display:inline-flex;align-items:center;gap:10px;font-family:var(--font, sans-serif);font-size:var(--fs-brand, 20px);font-weight:600;letter-spacing:.02em;color:var(--text-0, #eef0f2)}.garage-hint{font-family:var(--mono, monospace);font-size:var(--fs-meta, 14px);color:var(--text-2, #9aa0a8)}.garage-close{position:absolute;top:clamp(14px,3vh,22px);right:clamp(14px,3vw,24px);z-index:4;width:56px;height:56px;display:grid;place-items:center;border:1px solid var(--panel-edge, rgba(255, 255, 255, .12));border-radius:50%;background:#00000080;color:var(--text-0, #eef0f2);cursor:pointer;transition:background-color .2s var(--ease, ease),transform var(--hmi-fast, .26s) var(--ease, ease)}.garage-close:hover{background:#000000b8}.garage-close:active{transform:scale(.92)}.garage-close:focus-visible{outline:none;border-color:var(--accent, #5a8fc4)}.garage-panel{position:absolute;top:50%;right:clamp(16px,3vw,32px);transform:translateY(-50%);z-index:3;width:clamp(260px,24vw,320px);max-height:78vh;overflow-y:auto;display:flex;flex-direction:column;gap:20px;padding:22px 20px;border-radius:18px;border:1px solid var(--panel-edge, rgba(255, 255, 255, .1));background:linear-gradient(180deg,#14181fdb,#0a0d12e6);-webkit-backdrop-filter:blur(16px) saturate(1.1);backdrop-filter:blur(16px) saturate(1.1);box-shadow:0 20px 60px #00000080;animation:garagePanelIn var(--hmi-med, .62s) var(--hmi-spring, ease) both}@keyframes garagePanelIn{0%{opacity:0;transform:translate(18px,-50%)}to{opacity:1;transform:translateY(-50%)}}.garage-grp{display:flex;flex-direction:column;gap:10px}.garage-grp-label{font-family:var(--mono, monospace);font-size:var(--fs-micro, 12px);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2, #9aa0a8)}.garage-dots{display:flex;flex-wrap:wrap;gap:12px}.garage-dot{width:34px;height:34px;flex:none;border-radius:50%;border:2px solid var(--hair, rgba(255, 255, 255, .12));cursor:pointer;padding:0;transition:transform var(--hmi-fast, .26s) var(--ease, ease),box-shadow .2s var(--ease, ease)}.garage-dot:active{transform:var(--tap-press, scale(.97))}.garage-dot.active{border-color:var(--sel-ring, #5a8fc4);box-shadow:0 0 0 3px var(--sel-fill, rgba(90, 143, 196, .14)),0 0 12px color-mix(in srgb,var(--accent, #5a8fc4) 50%,transparent)}.garage-color-name{font-family:var(--font, sans-serif);font-size:var(--fs-meta, 14px);color:var(--text-1, #a7abb2)}.garage-finish-row{display:flex;flex-wrap:wrap;gap:8px}.garage-pill{min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--hair, rgba(255, 255, 255, .1));background:transparent;color:var(--text-1, #a7abb2);font-family:var(--font, sans-serif);font-size:var(--fs-meta, 14px);cursor:pointer;transition:color .2s var(--ease, ease),border-color .2s var(--ease, ease),background-color .2s var(--ease, ease),transform var(--hmi-fast, .26s) var(--ease, ease)}.garage-pill:active{transform:var(--tap-press, scale(.97))}.garage-pill.active{color:var(--text-0, #eef0f2);border-color:var(--sel-ring, #5a8fc4);background:var(--sel-fill, rgba(90, 143, 196, .14))}.garage-slider{width:100%;accent-color:var(--accent, #5a8fc4);min-height:24px;cursor:pointer}.garage-slider-meta{font-family:var(--mono, monospace);font-size:var(--fs-meta, 14px);color:var(--text-2, #9aa0a8)}.garage-param{display:grid;grid-template-columns:64px 1fr;align-items:center;gap:10px}.garage-param-label{font-family:var(--font, sans-serif);font-size:var(--fs-meta, 14px);color:var(--text-1, #a7abb2)}.garage-param-track{height:6px;border-radius:3px;background:var(--hair, rgba(255, 255, 255, .08));overflow:hidden}.garage-param-fill{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent, #5a8fc4) 60%,transparent),var(--accent, #5a8fc4));transition:width var(--hmi-med, .62s) var(--hmi-spring, ease)}.garage-input{width:100%;min-height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--hair, rgba(255, 255, 255, .12));background:#0000004d;color:var(--text-0, #eef0f2);font-family:var(--font, sans-serif);font-size:var(--fs-meta, 14px)}.garage-input:focus-visible{outline:none;border-color:var(--accent, #5a8fc4)}.garage-input:disabled{opacity:.5}.garage-gen-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:12px;border:1px solid var(--sel-ring, #5a8fc4);background:var(--sel-fill, rgba(90, 143, 196, .14));color:var(--text-0, #eef0f2);font-family:var(--font, sans-serif);font-size:var(--fs-body, 17px);cursor:pointer;transition:background-color .2s var(--ease, ease),transform var(--hmi-fast, .26s) var(--ease, ease)}.garage-gen-btn:active{transform:var(--tap-press, scale(.97))}.garage-gen-btn:disabled{opacity:.45;cursor:default;border-color:var(--hair, rgba(255, 255, 255, .1));background:transparent}.garage-note{font-family:var(--font, sans-serif);font-size:var(--fs-meta, 14px);color:var(--text-2, #9aa0a8);line-height:1.4}.garage-error{font-family:var(--font, sans-serif);font-size:var(--fs-meta, 14px);color:#ff9b8a;line-height:1.4}.garage-tray{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:14px clamp(16px,3vw,32px) clamp(16px,3vh,26px);background:linear-gradient(0deg,rgba(6,8,11,.82),transparent);animation:garageTrayIn var(--hmi-med, .62s) var(--hmi-spring, ease) both}@keyframes garageTrayIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.garage-tray-label{font-family:var(--mono, monospace);font-size:var(--fs-micro, 12px);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2, #9aa0a8);margin-bottom:10px}.garage-cards{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;padding-bottom:6px;scrollbar-width:thin;padding-left:clamp(276px,27vw,356px);padding-right:clamp(276px,27vw,356px)}.garage-card{position:relative;flex:none;width:132px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px;border-radius:14px;border:1px solid var(--hair, rgba(255, 255, 255, .1));background:#12161cb3;color:var(--text-1, #a7abb2);cursor:pointer;transition:border-color .2s var(--ease, ease),background-color .2s var(--ease, ease),transform var(--hmi-fast, .26s) var(--ease, ease)}.garage-card:active{transform:var(--tap-press, scale(.97))}.garage-card.active{border-color:var(--sel-ring, #5a8fc4);background:var(--sel-fill, rgba(90, 143, 196, .14));color:var(--text-0, #eef0f2)}.garage-card:disabled{opacity:.45;cursor:default}.garage-card-del{position:absolute;top:-6px;right:-6px;z-index:2;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;color:var(--text-1, #a7abb2);cursor:pointer;transition:color .2s var(--ease, ease),transform var(--hmi-fast, .26s) var(--ease, ease)}.garage-card-del svg{padding:6px;width:28px;height:28px;box-sizing:border-box;border-radius:50%;background:#0009;border:1px solid var(--hair, rgba(255, 255, 255, .1))}.garage-card-del:active{transform:var(--tap-press, scale(.97))}.garage-card-del.confirm{color:#ff8a75}.garage-card-del.confirm svg{background:#5a140cbf;border-color:#ff8a75;box-shadow:0 0 10px #ff8a7559}.garage-card-del:focus-visible{outline:none;color:var(--text-0, #eef0f2)}.garage-card-thumb{width:100%;height:74px;border-radius:10px;display:grid;place-items:center;overflow:hidden;background:#00000059;color:var(--text-2, #9aa0a8)}.garage-card-thumb img{width:100%;height:100%;object-fit:cover}.garage-card-thumb.gen{border:1px dashed var(--hair, rgba(255, 255, 255, .14));background:transparent}.garage-card-pct{font-family:var(--mono, monospace);font-size:var(--fs-body, 17px);color:var(--accent, #5a8fc4)}.garage-card-name{max-width:100%;font-family:var(--font, sans-serif);font-size:var(--fs-meta, 14px);color:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.garage-card-sub{font-family:var(--mono, monospace);font-size:var(--fs-micro, 12px);color:var(--text-2, #9aa0a8)}.garage-panel-left{right:auto;left:clamp(16px,3vw,32px);animation:garagePanelInLeft var(--hmi-med, .62s) var(--hmi-spring, ease) both}@keyframes garagePanelInLeft{0%{opacity:0;transform:translate(-18px,-50%)}to{opacity:1;transform:translateY(-50%)}}.garage-model-cards{flex-wrap:wrap;overflow:visible;padding:0;gap:10px}.garage-model-cards .garage-card{width:calc(50% - 5px)}.garage-model-cards .garage-card-thumb{height:54px}.garage-card-edit{position:absolute;top:-6px;left:-6px;z-index:2;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;color:var(--text-1, #a7abb2);cursor:pointer;transition:color .2s var(--ease, ease),transform var(--hmi-fast, .26s) var(--ease, ease)}.garage-card-edit svg{padding:5px;width:24px;height:24px;box-sizing:border-box;border-radius:50%;background:#0009;border:1px solid var(--hair, rgba(255, 255, 255, .1))}.garage-card-edit:active{transform:var(--tap-press, scale(.97))}.garage-mini{align-self:flex-start;font-family:var(--font, sans-serif);font-size:var(--fs-meta, 14px);color:var(--text-1, #a7abb2);background:none;border:none;padding:4px 0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.garage-mini:hover{color:var(--text-0, #eef0f2)}.garage-glb{color:var(--text-2, #9aa0a8)}.garage-mix{display:flex;flex-direction:column;gap:8px}.garage-mix-label{font-family:var(--mono, monospace);font-size:var(--fs-micro, 12px);letter-spacing:.06em;color:var(--text-2, #9aa0a8)}.garage-mix-row{display:flex;align-items:center;gap:8px}.garage-mix-name{flex:1;min-width:0;font-size:var(--fs-meta, 14px);color:var(--text-1, #a7abb2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.garage-mix-pct{font-family:var(--mono, monospace);font-size:var(--fs-micro, 12px);color:var(--text-2, #9aa0a8);font-variant-numeric:tabular-nums}.garage-mix-step{display:inline-flex;align-items:center;gap:6px}.garage-mix-step button{width:26px;height:26px;border-radius:8px;border:1px solid var(--hair, rgba(255, 255, 255, .1));background:#ffffff0a;color:var(--text-1, #a7abb2);cursor:pointer;font-size:15px;line-height:1}.garage-mix-step button:active{transform:var(--tap-press, scale(.97))}.garage-mix-w{font-family:var(--mono, monospace);min-width:12px;text-align:center;color:var(--text-0, #eef0f2)}.garage-rename-row{display:flex;gap:6px;align-items:center}.garage-rename-row .garage-input{flex:1;min-width:0}.garage-rename-btn{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:10px;border:1px solid var(--hair, rgba(255, 255, 255, .1));background:#ffffff0a;color:var(--text-1, #a7abb2);cursor:pointer}.garage-rename-btn.ok{color:var(--accent, #5a8fc4)}.garage-rename-btn:active{transform:var(--tap-press, scale(.97))}.garage-drop{position:relative;display:flex;min-height:84px;align-items:center;justify-content:center;border:1px dashed var(--panel-edge, rgba(255, 255, 255, .14));border-radius:12px;background:#ffffff05;cursor:pointer;overflow:hidden;transition:border-color .2s var(--ease, ease),background .2s var(--ease, ease)}.garage-drop:hover{border-color:#ffffff3d;background:#ffffff0a}.garage-drop.over{border-color:var(--accent, #5a8fc4);border-style:solid;background:#5a8fc41a}.garage-drop.disabled{opacity:.5;cursor:default}.garage-drop-empty{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;text-align:center;color:var(--text-2, #9aa0a8)}.garage-drop-title{font-size:var(--fs-meta, 14px);color:var(--text-1, #a7abb2)}.garage-drop-hint{font-family:var(--mono, monospace);font-size:var(--fs-micro, 12px)}.garage-drop-thumb{width:100%;height:100%;object-fit:cover}.garage-drop-clear{position:absolute;top:6px;right:6px;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;border:none;background:#0009;color:var(--text-1, #a7abb2);cursor:pointer}@media (max-height: 760px){.garage-panel{gap:14px;padding:16px;max-height:84vh}.garage-card{width:112px}.garage-card-thumb{height:58px}}@media (max-width: 1024px){.garage-panel{width:clamp(220px,40vw,280px)}.garage-cards{padding-right:clamp(232px,44vw,296px)}}@font-face{font-family:Saira SC;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/saira-400-latin.woff2) format("woff2"),url(../fonts/saira-400-latinext.woff2) format("woff2");unicode-range:U+0000-00FF,U+0100-024F,U+0259,U+1E00-1EFF,U+2000-206F,U+2070-209F,U+20A0-20BF,U+2122,U+2212}@font-face{font-family:Saira SC;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/saira-500-latin.woff2) format("woff2"),url(../fonts/saira-500-latinext.woff2) format("woff2");unicode-range:U+0000-00FF,U+0100-024F,U+0259,U+1E00-1EFF,U+2000-206F,U+2070-209F,U+20A0-20BF,U+2122,U+2212}@font-face{font-family:Saira SC;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/saira-600-latin.woff2) format("woff2"),url(../fonts/saira-600-latinext.woff2) format("woff2");unicode-range:U+0000-00FF,U+0100-024F,U+0259,U+1E00-1EFF,U+2000-206F,U+2070-209F,U+20A0-20BF,U+2122,U+2212}@font-face{font-family:Saira SC;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/saira-700-latin.woff2) format("woff2"),url(../fonts/saira-700-latinext.woff2) format("woff2");unicode-range:U+0000-00FF,U+0100-024F,U+0259,U+1E00-1EFF,U+2000-206F,U+2070-209F,U+20A0-20BF,U+2122,U+2212}@font-face{font-family:Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/plexmono-400-latin.woff2) format("woff2"),url(../fonts/plexmono-400-latinext.woff2) format("woff2");unicode-range:U+0000-00FF,U+0100-024F,U+1E00-1EFF,U+2000-206F,U+2070-209F,U+20A0-20BF,U+2122,U+2212}@font-face{font-family:Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/plexmono-500-latin.woff2) format("woff2"),url(../fonts/plexmono-500-latinext.woff2) format("woff2");unicode-range:U+0000-00FF,U+0100-024F,U+1E00-1EFF,U+2000-206F,U+2070-209F,U+20A0-20BF,U+2122,U+2212}:root{--bmw-cyan: #5f9fe0;--accent: var(--bmw-cyan);--text-0: #eaf0f8;--text-1: #8b97a9;--text-2: #79828f;--hair: rgba(150, 172, 205, .14);--hair-soft: rgba(150, 172, 205, .08);--hover-wash: rgba(150, 172, 205, .06);--panel: rgba(12, 16, 21, .82);--panel-edge: rgba(150, 172, 205, .18);--ease: cubic-bezier(.22, .61, .36, 1);--hmi-ease: cubic-bezier(.19, .72, .22, 1);--hmi-spring: cubic-bezier(.2, .8, .2, 1);--hmi-fast: .26s;--hmi-med: .62s;--hmi-slow: .98s;--font: "Saira SC", "PingFang SC", "Microsoft YaHei", sans-serif;--mono: "Plex Mono", "PingFang SC", "Microsoft YaHei", monospace;--fs-brand: 20px;--fs-body: 17px;--fs-meta: 14px;--fs-micro: 12px;--ls-tight: .02em;--ls-meta: .12em;--ls-wide: .24em;--pad: clamp(26px, 3vw, 46px);--dock-h: 48px;--brand-h: 44px;--hud-gap: 12px;--panel-w: 320px;--tap-press: scale(.97);--sel-ring: var(--accent);--sel-fill: color-mix(in srgb, var(--accent) 9%, transparent);--r-sm: 6px;--r-md: 9px;--r-lg: 12px;-webkit-tap-highlight-color:transparent}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}:focus{outline:none}:focus-visible{outline:1px solid var(--accent);outline-offset:3px;border-radius:3px}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font);background:#1b1e22;color:var(--text-0);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;user-select:none}input,textarea{user-select:text;-webkit-user-select:text}#root{position:relative}.scene-root{position:absolute;inset:0;touch-action:none}.hud{position:absolute;inset:0;pointer-events:none;z-index:1}.hud>*{pointer-events:auto}.director-panel{position:absolute;left:50%;top:clamp(74px,10vh,112px);transform:translate(-50%);width:min(560px,calc(100vw - 620px));min-width:360px;padding:18px 20px;border:1px solid var(--panel-edge);border-radius:18px;background:radial-gradient(120% 120% at 50% -10%,rgba(255,255,255,.08),transparent 46%),#0d0f1294;backdrop-filter:blur(18px) saturate(120%)}.director-kicker{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:var(--ls-wide);color:var(--accent)}.director-title{margin-top:5px;font-size:18px;letter-spacing:var(--ls-tight);color:var(--text-0)}.director-input-row{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:14px}.director-input{height:48px;border:1px solid var(--hair);border-radius:10px;background:#ffffff09;color:var(--text-0);padding:0 14px;font:inherit}.director-run{height:48px;min-width:88px;border:1px solid var(--panel-edge);border-radius:10px;background:var(--hover-wash);color:var(--text-0);cursor:pointer;transition:transform var(--hmi-fast) var(--ease),background-color .2s var(--ease)}.director-run:not(:disabled):active{transform:var(--tap-press);background:color-mix(in srgb,var(--accent) 18%,var(--hover-wash))}.director-run:disabled{opacity:.45;cursor:default}.director-error{margin-top:10px;color:#ffb4a8;font-size:var(--fs-meta)}.director-flow{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:16px}.director-step{display:grid;gap:5px;justify-items:center;font-size:12px;letter-spacing:.06em;color:var(--text-2)}.director-dot{width:8px;height:8px;border-radius:50%;border:1px solid var(--hair);background:#ffffff0a}.director-step.active{color:var(--text-1)}.director-step.active .director-dot{border-color:var(--accent)}.director-step.current .director-dot{background:var(--accent)}.director-card{margin-top:16px;padding:13px;border:1px solid var(--hair);border-radius:12px;background:#ffffff06}.director-card-head{display:flex;align-items:center;justify-content:space-between;font-size:var(--fs-meta);color:var(--text-1)}.director-card-head em{font-style:normal;color:var(--text-0)}.director-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.director-tags span{padding:4px 8px;border:1px solid var(--hair);border-radius:999px;color:var(--text-1);font-size:var(--fs-meta)}.director-scan{margin-top:12px;font-size:var(--fs-meta);color:var(--text-2)}.director-scan strong{color:var(--accent)}.director-assets{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:14px}.director-asset{display:grid;grid-template-columns:88px 1fr 34px;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;color:var(--text-2)}.director-bar{height:2px;background:var(--hair)}.director-bar i{display:block;height:100%;background:var(--accent)}.director-asset em{font-style:normal;text-align:right}.director-controls{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 14px;margin-top:14px}.director-controls label{display:grid;gap:6px;font-size:var(--fs-meta);color:var(--text-1)}.director-controls input{width:100%}.director-log{margin-top:12px;display:grid;gap:4px;font-size:var(--fs-meta);color:var(--text-2)}.director-island{position:absolute;left:50%;top:clamp(24px,4.5vh,54px);transform:translate(-50%);width:auto;--island-safe-inset: calc(var(--pad) + var(--panel-w) + var(--hud-gap));max-width:min(560px,calc(100vw - 2 * var(--island-safe-inset)));z-index:4;transform-origin:top center}.island-core{position:relative;min-width:240px;height:56px;padding:0 18px;border-radius:999px;border:1px solid var(--panel-edge);background:radial-gradient(120% 100% at 50% -20%,rgba(255,255,255,.08),transparent 56%),#090d11c2;backdrop-filter:blur(18px) saturate(125%);box-shadow:0 18px 44px #0003;display:flex;align-items:center;gap:10px;color:var(--text-0);cursor:pointer;overflow:hidden;transition:border-color var(--hmi-fast) var(--ease),background-color var(--hmi-fast) var(--ease),transform var(--hmi-fast) var(--hmi-ease),box-shadow var(--hmi-fast) var(--ease);will-change:transform,opacity}.island-core:hover{border-color:var(--accent);transform:translateY(-1px) scale(1.006);box-shadow:0 20px 48px #00000038}.island-core:active{transform:scale(.97);background:radial-gradient(120% 100% at 50% -20%,rgba(255,255,255,.12),transparent 56%),#090d11d1}.island-pulse{width:10px;height:10px;border-radius:50%;flex:none;background:var(--accent);box-shadow:0 0 14px var(--accent);transition:background-color var(--hmi-med) var(--ease),box-shadow var(--hmi-med) var(--ease),transform var(--hmi-med) var(--hmi-spring);animation:islandPulse 3.2s var(--ease) infinite}.director-island:not(.active) .island-pulse{background:var(--text-2);box-shadow:none;animation:none}.island-copy{display:grid;gap:1px;text-align:left;transition:opacity var(--hmi-med) var(--ease),transform var(--hmi-med) var(--hmi-spring)}.island-copy strong{font-size:var(--fs-body);font-weight:500;letter-spacing:var(--ls-tight)}.island-copy em,.island-mini-progress{font-style:normal;font-family:var(--mono);font-size:12px;color:var(--text-2)}.island-mini-progress{margin-left:auto;padding-left:8px;color:var(--accent);animation:islandContentIn var(--hmi-med) var(--hmi-spring) both}.island-core-progress{position:absolute;left:18px;right:18px;bottom:4px;height:2px;border-radius:999px;background:#ffffff14;overflow:hidden;pointer-events:none;animation:islandContentIn var(--hmi-med) var(--hmi-spring) both}.island-core-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 42%,transparent),var(--accent));transition:width var(--hmi-slow) var(--hmi-ease)}.island-expanded{padding:10px}.island-rail{position:absolute;left:50%;top:50px;width:min(460px,calc(100vw - 2 * var(--island-safe-inset)));min-width:0;transform:translate(-50%) translateY(-6px) scale(.985);opacity:0;pointer-events:none;transition:opacity .42s var(--hmi-ease),transform .42s var(--hmi-ease);will-change:transform,opacity}.island-rail.open{transform:translate(-50%) translateY(0) scale(1);opacity:1;pointer-events:auto}.island-rail-inner{display:grid;border:1px solid var(--panel-edge);border-radius:24px;background:radial-gradient(120% 100% at 50% -20%,rgba(255,255,255,.07),transparent 58%),#090d11b8;backdrop-filter:blur(18px) saturate(125%);box-shadow:0 18px 44px #0000002e;overflow:hidden}.island-rail-page{grid-area:1 / 1;display:none;opacity:0;transform:translateY(-3px);pointer-events:none;transition:opacity .26s var(--hmi-ease),transform .26s var(--hmi-ease);will-change:transform,opacity}.island-rail-page.active{display:block;opacity:1;transform:translateY(0);pointer-events:auto}.island-command{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:7px}.island-command input{height:48px;border-radius:999px;border:1px solid var(--hair);background:#ffffff09;color:var(--text-0);padding:0 16px;font:inherit;transition:border-color var(--hmi-fast) var(--ease),background-color var(--hmi-fast) var(--ease),box-shadow var(--hmi-fast) var(--ease)}.island-command input:focus{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 28%,transparent)}.island-command button,.island-tuning-head button{height:48px;border-radius:999px;border:1px solid var(--panel-edge);background:#ffffff0b;color:var(--text-0);padding:0 18px;cursor:pointer;transition:border-color var(--hmi-fast) var(--ease),background-color var(--hmi-fast) var(--ease),transform var(--hmi-fast) var(--hmi-spring),color var(--hmi-fast) var(--ease)}.island-command button:hover:not(:disabled),.island-tuning-head button:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 13%,rgba(255,255,255,.045));transform:translateY(-1px)}.island-command button:active:not(:disabled),.island-tuning-head button:active{transform:var(--tap-press);background:color-mix(in srgb,var(--accent) 20%,rgba(255,255,255,.045))}.island-command button:disabled{opacity:.45;cursor:default}.island-error{margin-top:9px;color:#ffb4a8;font-size:var(--fs-meta)}.island-tuning{padding:14px}.island-tuning-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.island-tuning-head strong{font-size:var(--fs-body);font-weight:500}.island-tuning label{display:grid;gap:6px;margin-top:14px;font-size:var(--fs-meta);color:var(--text-1)}.island-tuning input{width:100%;accent-color:var(--accent)}.island-events{display:grid;gap:5px;margin-top:12px;font-size:12px;color:var(--text-2)}@keyframes islandPulse{0%,to{transform:scale(1);opacity:.82}50%{transform:scale(1.14);opacity:.94}}@keyframes islandContentIn{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.island-core,.island-expanded,.island-tuning,.island-mini-progress,.island-core-progress,.island-tuning label,.island-events{animation:none!important;transition-duration:1ms!important}}.vignette{position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(118% 92% at 50% 42%,transparent 56%,rgba(0,0,0,.28) 100%)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: no-preference){.brand,.panel,.controls{animation:rise .9s var(--ease) both}.panel{animation-delay:.08s}.controls{animation-delay:.16s}}.brand{position:absolute;top:var(--pad);left:var(--pad);display:flex;align-items:center;gap:14px}.mac-titlebar{display:none}.mac .mac-titlebar{display:block;position:fixed;top:0;left:96px;right:260px;height:28px;-webkit-app-region:drag;z-index:5}.mac .brand{top:calc(var(--pad) + 16px)}.brand-bmw{font-size:var(--fs-brand);font-weight:600;letter-spacing:.3em;color:#e9eaeceb;padding-right:3px}.brand-rule{width:1px;height:20px;background:var(--panel-edge)}.brand-sub{font-size:var(--fs-meta);letter-spacing:var(--ls-meta);color:var(--text-1);font-weight:400}.brand-lang{min-width:48px;height:48px;margin-left:4px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font);font-size:var(--fs-meta);font-weight:600;letter-spacing:var(--ls-meta);color:var(--text-1);background:transparent;border:1px solid var(--hair);border-radius:12px;cursor:pointer;transition:color var(--hmi-fast) ease,border-color var(--hmi-fast) ease,background var(--hmi-fast) ease}.brand-lang:active{background:#ffffff0f;color:#e9eaeceb;border-color:var(--panel-edge)}@media (hover: hover){.brand-lang:hover{color:#e9eaeceb;border-color:var(--panel-edge)}}.panel{position:absolute;top:var(--pad);right:var(--pad);width:var(--panel-w);padding:24px 22px;background:var(--panel);backdrop-filter:blur(16px) saturate(100%);-webkit-backdrop-filter:blur(16px) saturate(100%);border:1px solid var(--panel-edge);border-radius:16px;box-shadow:0 22px 50px -24px #000000b3;max-height:calc(100dvh - 2 * var(--pad));overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.16) transparent}.panel-left{left:var(--pad);right:auto;top:calc(var(--pad) + var(--brand-h) + var(--hud-gap));bottom:calc(var(--pad) + var(--dock-h) + var(--hud-gap));max-height:none}.panel-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;padding:8px 14px;border:1px solid var(--panel-edge);border-radius:999px;background:color-mix(in srgb,#ffffff 3%,transparent);color:var(--text-1);font-family:inherit;font-size:var(--fs-meta);letter-spacing:var(--ls-meta);cursor:pointer;transition:color .25s var(--ease),border-color .25s var(--ease),background-color .2s var(--ease),transform var(--hmi-fast) var(--ease)}.panel-back:hover{color:var(--text-0);border-color:var(--sel-ring)}.panel-back:active{transform:var(--tap-press)}.panel-back svg{flex:none}.panel::-webkit-scrollbar{width:8px}.panel::-webkit-scrollbar-track{background:transparent}.panel::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}.panel:hover::-webkit-scrollbar-thumb{background:#fff3}.grp+.grp{margin-top:18px;padding-top:18px;border-top:1px solid var(--hair-soft)}.grp-label{font-size:var(--fs-micro);letter-spacing:var(--ls-wide);color:var(--text-2);margin-bottom:14px;font-weight:500}.theme-list{list-style:none;display:flex;flex-direction:column}.theme-item{position:relative;display:flex;align-items:center;min-height:48px;width:100%;font-size:var(--fs-body);font-weight:400;letter-spacing:var(--ls-tight);color:var(--text-1);padding:10px 14px;margin:0 -8px;border-radius:10px;border:1px solid transparent;cursor:pointer;transition:color .3s var(--ease),background-color .2s var(--ease),border-color .2s var(--ease),transform var(--hmi-fast) var(--ease);background:none;text-align:left;font-family:inherit}.theme-item:hover{color:var(--text-0);background:var(--hover-wash)}.theme-item:active{transform:var(--tap-press);background:color-mix(in srgb,var(--accent) 12%,var(--hover-wash))}.theme-item.active{color:var(--text-0);font-weight:500;border-color:var(--sel-ring);background:var(--sel-fill)}.dots{display:flex;flex-wrap:wrap;gap:14px}.dot{position:relative;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.14);cursor:pointer;padding:0;transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.dot:hover{transform:scale(1.06)}.dot:active{transform:var(--tap-press)}.dot.active{box-shadow:0 0 0 2px var(--accent),0 0 0 4px #00000080}.color-name{margin-top:12px;font-size:var(--fs-meta);letter-spacing:var(--ls-meta);color:var(--text-1)}.theme-input{width:100%;font-family:inherit;font-size:var(--fs-meta);letter-spacing:var(--ls-tight);color:var(--text-0);background:#ffffff0a;border:1px solid var(--panel-edge);border-radius:8px;padding:13px 12px;margin-bottom:10px;outline:none}.theme-input:focus{border-color:var(--accent)}.theme-input::placeholder{color:var(--text-2)}.theme-active{flex:1;min-width:0;font-family:var(--mono);font-size:var(--fs-meta);color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.theme-lib{margin-top:16px}.theme-lib-label{font-size:var(--fs-micro);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--text-2);margin-bottom:10px}.theme-lib-chips{display:flex;flex-wrap:wrap;gap:10px}.theme-chip{position:relative;display:inline-flex;align-items:center;gap:9px;min-height:44px;max-width:100%;padding:6px 78px 6px 14px;border:1px solid var(--hair);border-radius:999px;background:#ffffff06;cursor:pointer;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background-color .2s var(--ease),transform var(--hmi-fast) var(--ease)}.theme-chip:hover{border-color:var(--panel-edge);background:var(--hover-wash)}.theme-chip:active{transform:var(--tap-press)}.theme-chip.active{border-color:var(--sel-ring);box-shadow:0 0 0 1px var(--sel-ring);background:var(--sel-fill)}.theme-chip-swatch{width:14px;height:14px;border-radius:50%;flex:none;border:1px solid rgba(255,255,255,.18)}.theme-chip-name{font-size:var(--fs-meta);letter-spacing:var(--ls-tight);color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:96px}.theme-chip.active .theme-chip-name{color:var(--text-0)}.theme-chip-dot{width:7px;height:7px;border-radius:50%;flex:none;background:var(--accent)}.theme-chip-edit,.theme-chip-del{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:32px;height:32px;border-radius:50%;font-size:15px;line-height:1;color:var(--text-0);background:#00000080;cursor:pointer;opacity:.7;transition:opacity .2s var(--ease),background-color .2s var(--ease),transform var(--hmi-fast) var(--ease)}.theme-chip-del{right:6px}.theme-chip-edit{right:42px;font-size:13px}.theme-chip:hover .theme-chip-del,.theme-chip:hover .theme-chip-edit{opacity:1}.theme-chip-del:active,.theme-chip-edit:active{transform:translateY(-50%) scale(.9);background:#000000d1}.theme-chip-del:hover,.theme-chip-edit:hover{opacity:1;background:#000000b8}.prop{padding-top:14px;margin-top:14px;border-top:1px solid var(--hair-soft)}.prop:first-of-type{padding-top:0;margin-top:0;border-top:none}.prop-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:9px}.prop-name{font-family:var(--mono);font-size:var(--fs-meta);color:var(--text-0)}.prop-count{font-size:var(--fs-micro);letter-spacing:.04em;color:var(--text-2)}.prop-count em{font-style:normal;color:var(--accent)}.tiles{display:flex;flex-wrap:wrap;gap:10px}.tile{position:relative;width:88px;height:88px;padding:0;border-radius:12px;border:1px solid var(--hair);background:radial-gradient(120% 90% at 50% 12%,rgba(255,255,255,.06),transparent 60%),linear-gradient(180deg,#1a1f26,#0e1116);color:var(--text-2);cursor:pointer;overflow:hidden;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),transform .14s var(--ease)}.tile:hover{border-color:var(--panel-edge);transform:translateY(-1px)}.tile:active{transform:var(--tap-press);border-color:var(--accent)}.tile:focus-visible{outline:none;border-color:var(--accent)}.tile.active{border-color:var(--sel-ring);box-shadow:0 0 0 1px var(--sel-ring);color:var(--text-0)}.tile.active:after{content:"生效";position:absolute;left:5px;bottom:5px;font-size:12px;letter-spacing:.06em;color:var(--accent);background:#0009;padding:2px 6px;border-radius:5px}.tile-thumb{width:100%;height:100%;object-fit:cover;display:block}.tile-glyph{width:60%;height:60%;margin:20%;display:block}.tile-orig{display:grid;place-items:center}.tile-orig-label{font-family:var(--mono);font-size:var(--fs-meta);color:currentColor;letter-spacing:.04em}.tile-src{position:absolute;top:4px;right:4px;font-size:12px;line-height:1;color:var(--text-1);background:#0009;border:1px solid var(--hair);padding:2px 5px;border-radius:5px}.tile-edit,.tile-del{position:absolute;top:3px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;font-size:16px;line-height:1;color:var(--text-0);background:#0000009e;opacity:.7;cursor:pointer;transition:opacity .15s var(--ease),background-color .15s var(--ease),transform var(--hmi-fast) var(--ease)}.tile-del{left:3px}.tile-edit{left:39px;font-size:14px}.tile:hover .tile-del,.tile:hover .tile-edit{opacity:1}.tile-del:active,.tile-edit:active{transform:scale(.9)}.tile-del:hover,.tile-edit:hover{opacity:1;color:#fff;background:#000000d9}.tile.gen{cursor:default;display:grid;place-items:center}.tile.gen:hover{transform:none;border-color:var(--hair)}.tile-pct{font-family:var(--mono);font-size:var(--fs-meta);font-variant-numeric:tabular-nums;color:var(--accent)}.add{width:88px;height:88px;border-radius:12px;border:1px dashed var(--panel-edge);background:#ffffff04;color:var(--text-2);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;transition:border-color .2s var(--ease),background .2s var(--ease),color .2s var(--ease),transform var(--hmi-fast) var(--ease)}.add:hover:not(:disabled){border-color:var(--accent);color:var(--text-1);background:var(--hover-wash)}.add:active:not(:disabled){transform:var(--tap-press);border-color:var(--accent);background:var(--hover-wash)}.add:focus-visible{outline:none;border-color:var(--accent)}.add:disabled{opacity:.4;cursor:default}.add-plus{font-size:24px;line-height:1}.add-lbl{font-size:12px;letter-spacing:.04em}.slider{-webkit-appearance:none;appearance:none;width:100%;height:6px;margin-top:10px;background:var(--hair);border-radius:3px;outline:none;cursor:pointer;touch-action:pan-x}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:28px;height:28px;border-radius:50%;background:var(--accent);border:3px solid #1b1e22;cursor:pointer;transition:transform var(--hmi-fast) var(--ease)}.slider::-webkit-slider-thumb:active{transform:scale(.92)}.slider::-moz-range-thumb{width:28px;height:28px;border-radius:50%;background:var(--accent);border:3px solid #1b1e22;cursor:pointer}.slider-meta{margin-top:12px;font-size:var(--fs-meta);letter-spacing:var(--ls-meta);color:var(--text-1);font-variant-numeric:tabular-nums}.island-tuning input[type=range],.director-controls input[type=range]{height:28px;touch-action:pan-x}.island-tuning input[type=range]::-webkit-slider-thumb,.director-controls input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:28px;height:28px;border-radius:50%;background:var(--accent);border:3px solid #10141a;cursor:pointer}.island-tuning input[type=range]::-moz-range-thumb,.director-controls input[type=range]::-moz-range-thumb{width:28px;height:28px;border-radius:50%;background:var(--accent);border:3px solid #10141a;cursor:pointer}.finish-row{display:flex;flex-wrap:wrap;gap:10px}.finish{position:relative;display:inline-flex;align-items:center;min-height:44px;font-family:inherit;font-size:var(--fs-body);letter-spacing:var(--ls-tight);color:var(--text-1);background:none;border:1px solid var(--hair);border-radius:999px;padding:8px 18px;cursor:pointer;transition:color .25s var(--ease),border-color .25s var(--ease),background-color .2s var(--ease),transform var(--hmi-fast) var(--ease)}.finish:hover{color:var(--text-0);border-color:var(--panel-edge);background:var(--hover-wash)}.finish:active{transform:var(--tap-press);background:color-mix(in srgb,var(--accent) 12%,var(--hover-wash))}.finish.active{color:var(--text-0);border-color:var(--sel-ring);background:var(--sel-fill)}.model-preview{width:100%;aspect-ratio:16 / 9;border-radius:10px;overflow:hidden;border:1px solid var(--hair);background:radial-gradient(120% 90% at 50% 22%,#ffffff14,#fff0 60%),linear-gradient(180deg,#16191d80,#0a0c0e8c)}.model-preview canvas{display:block}.model-name{margin-top:8px;text-align:center;font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:var(--ls-tight);color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.model-sub{margin:14px 0 8px;font-size:var(--fs-micro);letter-spacing:var(--ls-wide);color:var(--text-2)}.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:10px;margin-top:14px}.lib-cell{position:relative;aspect-ratio:1 / 1;display:grid;place-items:center;border:1px solid var(--hair);border-radius:10px;background:#ffffff06;cursor:pointer;overflow:hidden;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),transform var(--hmi-fast) var(--ease)}.lib-cell:hover{border-color:var(--panel-edge)}.lib-cell:active{transform:var(--tap-press);border-color:var(--accent)}.lib-cell.active{border-color:var(--sel-ring);box-shadow:0 0 0 1px var(--sel-ring)}.lib-thumb{width:100%;height:100%;object-fit:cover}.lib-glyph{color:var(--text-2)}.lib-box{font-size:var(--fs-micro);letter-spacing:var(--ls-meta);color:var(--text-1)}.lib-del{position:absolute;top:3px;right:3px;width:32px;height:32px;display:grid;place-items:center;font-size:18px;line-height:1;color:var(--text-0);background:#00000080;border-radius:50%;cursor:pointer;opacity:.7;transition:opacity .2s var(--ease),background-color .2s var(--ease),transform var(--hmi-fast) var(--ease)}.lib-cell:hover .lib-del{opacity:1}.lib-del:active{transform:scale(.9)}.lib-del:hover{opacity:1;background:#000000b8}.lib-edit{position:absolute;top:3px;left:3px;width:32px;height:32px;display:grid;place-items:center;color:var(--text-0);background:#00000080;border-radius:50%;cursor:pointer;opacity:.7;transition:opacity .2s var(--ease),background-color .2s var(--ease),transform var(--hmi-fast) var(--ease)}.lib-edit svg{width:16px;height:16px}.lib-cell:hover .lib-edit{opacity:1}.lib-edit:active{transform:scale(.9)}.lib-edit:hover{opacity:1;background:#000000b8}.rename-row{display:flex;align-items:stretch;gap:8px;margin-top:10px}.rename-input{flex:1;min-width:0;min-height:44px;font-family:var(--mono);font-size:var(--fs-body);letter-spacing:var(--ls-tight);color:var(--text-0);background:#ffffff0a;border:1px solid var(--accent);border-radius:6px;padding:6px 10px;outline:none}.rename-row .rename-input{margin-top:0}.rename-btn{flex:none;width:44px;min-height:44px;display:grid;place-items:center;font-size:18px;line-height:1;color:var(--text-0);background:#ffffff0b;border:1px solid var(--panel-edge);border-radius:8px;cursor:pointer;transition:border-color .2s var(--ease),background-color .2s var(--ease),transform var(--hmi-fast) var(--ease)}.rename-btn.ok{border-color:var(--accent);color:var(--accent)}.rename-btn:hover{background:var(--hover-wash)}.rename-btn:active{transform:var(--tap-press);background:var(--hover-wash)}.mix{margin-top:16px}.mix-label{font-size:var(--fs-micro);letter-spacing:var(--ls-wide);color:var(--text-2);margin-bottom:10px}.mix-row{display:flex;align-items:center;gap:8px;padding:5px 0}.mix-thumb{flex:0 0 auto;width:40px;height:40px;display:grid;place-items:center;border-radius:8px;overflow:hidden;background:#ffffff0a;border:1px solid var(--hair)}.mix-thumb img{width:100%;height:100%;object-fit:cover}.mix-glyph{width:22px;height:22px;color:var(--text-2)}.mix-box{font-size:12px;letter-spacing:.04em;color:var(--text-2)}.mix-name{flex:1;min-width:0;font-family:var(--mono);font-size:var(--fs-meta);color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mix-pct{font-family:var(--mono);font-size:var(--fs-meta);font-variant-numeric:tabular-nums;color:var(--text-0);min-width:30px;text-align:right}.mix-step{display:flex;align-items:center;gap:8px}.mix-step button{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--hair);border-radius:10px;background:none;color:var(--text-1);cursor:pointer;font-size:22px;line-height:1;transition:color .2s var(--ease),border-color .2s var(--ease),background-color .2s var(--ease),transform var(--hmi-fast) var(--ease)}.mix-step button:hover{color:var(--text-0);border-color:var(--panel-edge)}.mix-step button:active{transform:var(--tap-press);border-color:var(--accent);background:var(--hover-wash)}.mix-w{font-family:var(--mono);font-size:var(--fs-meta);color:var(--text-1);min-width:16px;text-align:center}.mix-hint{margin-top:9px;font-size:var(--fs-micro);letter-spacing:var(--ls-meta);color:var(--text-2)}.drop{position:relative;display:flex;min-height:72px;border:1px dashed var(--panel-edge);border-radius:10px;background:#ffffff05;cursor:pointer;overflow:hidden;transition:border-color .2s var(--ease),background-color .2s var(--ease)}.drop:hover{border-color:#ffffff29;background:var(--hover-wash)}.drop:active:not(.disabled){border-color:var(--accent);background:#ffffff0d}.drop.over{border-color:var(--accent);border-style:solid;background:#ffffff0d}.drop.disabled{cursor:progress;opacity:.6;pointer-events:none}.drop-empty{margin:auto;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px;text-align:center}.drop-icon{width:22px;height:22px;color:var(--text-2)}.drop-title{font-size:var(--fs-meta);letter-spacing:var(--ls-tight);color:var(--text-1)}.drop-hint{font-size:var(--fs-micro);letter-spacing:var(--ls-meta);color:var(--text-2)}.drop-thumb{width:100%;height:100%;max-height:150px;object-fit:cover}.drop-clear{position:absolute;top:6px;right:6px;width:32px;height:32px;display:grid;place-items:center;font-size:18px;line-height:1;color:var(--text-0);background:#00000073;border:1px solid var(--hair);border-radius:50%;cursor:pointer;backdrop-filter:blur(4px);transition:background-color .2s var(--ease),transform var(--hmi-fast) var(--ease)}.drop-clear:hover{background:#000000a6}.drop-clear:active{transform:scale(.9);background:#000000bf}.model-cost{margin:8px 0;text-align:center;font-size:var(--fs-micro);letter-spacing:var(--ls-meta);color:var(--text-2)}.gen-btn{width:100%;min-height:48px;font-family:inherit;font-size:var(--fs-body);font-weight:500;letter-spacing:var(--ls-tight);color:#16181b;background:var(--accent);border:none;border-radius:10px;padding:12px;cursor:pointer;transition:filter .2s var(--ease),background-color .2s var(--ease),color .2s var(--ease),transform var(--hmi-fast) var(--ease)}.gen-btn:hover:not(:disabled){filter:brightness(1.07)}.gen-btn:active:not(:disabled){transform:var(--tap-press);filter:brightness(1.12)}.gen-btn:disabled{color:var(--text-2);background:none;border:1px solid var(--hair);cursor:default}.gen-progress{display:flex;align-items:center;gap:10px;margin-top:12px}.gen-track{flex:1;height:2px;background:var(--hair);border-radius:1px;overflow:hidden}.gen-fill{display:block;height:100%;background:var(--accent);border-radius:1px;transition:width .3s var(--ease)}.gen-pct{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:var(--ls-tight);color:var(--text-1);font-variant-numeric:tabular-nums;min-width:30px;text-align:right}.model-error{margin-top:12px;font-size:var(--fs-meta);letter-spacing:var(--ls-tight);color:#c0726a}.model-glb{display:block;width:100%;margin-top:14px;text-align:center}.model-micro{display:flex;justify-content:center;gap:18px;margin-top:14px}.model-mini{display:inline-flex;align-items:center;min-height:44px;font-family:inherit;font-size:var(--fs-meta);letter-spacing:var(--ls-tight);color:var(--text-2);background:none;border:none;padding:8px 12px;cursor:pointer;border-radius:8px;transition:color .25s var(--ease),background-color .2s var(--ease),transform var(--hmi-fast) var(--ease)}.model-mini:hover{color:var(--text-0);background:var(--hover-wash)}.model-mini:active{transform:var(--tap-press);background:var(--hover-wash)}.controls{position:absolute;left:var(--pad);bottom:var(--pad);display:flex;gap:12px}.ctl{position:relative;display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 20px;font-family:inherit;font-size:var(--fs-meta);letter-spacing:var(--ls-meta);color:var(--text-1);background:var(--panel);backdrop-filter:blur(16px) saturate(100%);-webkit-backdrop-filter:blur(16px) saturate(100%);border:1px solid var(--panel-edge);border-radius:999px;cursor:pointer;transition:color .25s var(--ease),border-color .25s var(--ease),background-color .2s var(--ease),transform var(--hmi-fast) var(--ease)}.ctl-dot{width:10px;height:10px;flex:none;border-radius:50%;border:1px solid currentColor;transition:all .25s var(--ease)}.ctl-label{line-height:1}.ctl:hover{color:var(--text-0);border-color:var(--panel-edge);background:color-mix(in srgb,#ffffff 4%,var(--panel))}.ctl:active{transform:var(--tap-press);background:color-mix(in srgb,var(--accent) 12%,var(--panel))}.ctl:disabled{opacity:.4;cursor:default}.ctl:disabled:hover{color:var(--text-1);border-color:var(--panel-edge);background:var(--panel)}.ctl:disabled:active{transform:none;background:var(--panel)}.ctl-garage svg,.ctl-edit svg{flex:none}.ctl.on{color:var(--text-0);border-color:var(--sel-ring);background:color-mix(in srgb,var(--accent) 14%,var(--panel))}.ctl.on .ctl-dot{background:var(--accent);border-color:var(--accent);box-shadow:0 0 10px color-mix(in srgb,var(--accent) 60%,transparent)}@media (max-width: 1280px){:root{--pad: clamp(22px, 2.6vw, 38px);--panel-w: 280px}}@media (max-width: 1000px){:root{--pad: clamp(20px, 2.4vw, 34px);--panel-w: 264px}.panel{padding:20px 18px}}@media (max-width: 720px){:root{--panel-w: 248px}.panel{padding:18px 16px}.brand-sub,.brand-rule{display:none}}@media (max-height: 760px){:root{--pad: clamp(16px, 2vh, 26px)}.panel{padding:16px 18px}.grp+.grp{margin-top:12px;padding-top:12px}.grp-label{margin-bottom:10px}.prop{padding-top:10px;margin-top:10px}.theme-lib,.mix{margin-top:12px}.director-island{top:clamp(14px,2.5vh,28px)}}.card-wall{top:calc(var(--pad) + var(--brand-h) + var(--hud-gap));bottom:calc(var(--pad) + var(--dock-h) + var(--hud-gap));max-height:none;animation:none}.card-wall-adv{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:52px;margin-bottom:18px;padding:0 18px;border:1px solid var(--sel-ring);border-radius:16px;background:color-mix(in srgb,var(--accent) 9%,transparent);color:var(--text-0);font-family:inherit;font-size:var(--fs-body);letter-spacing:var(--ls-tight);cursor:pointer;transition:color .25s var(--ease),border-color .25s var(--ease),background-color .2s var(--ease),transform var(--hmi-fast) var(--ease)}.card-wall-adv:hover{background:color-mix(in srgb,var(--accent) 15%,transparent)}.card-wall-adv:active{transform:var(--tap-press)}.card-wall-adv svg{flex:none;color:var(--accent)}.card-list{display:flex;flex-direction:column;gap:12px}.env-card{display:flex;align-items:center;gap:16px;width:100%;min-height:88px;padding:0 18px;border:1px solid var(--panel-edge);border-radius:16px;background:color-mix(in srgb,#ffffff 3%,transparent);cursor:pointer;text-align:left;font-family:inherit;transition:color .3s var(--ease),background-color .2s var(--ease),border-color .2s var(--ease),transform var(--hmi-fast) var(--ease)}.env-card:active{transform:var(--tap-press);background:color-mix(in srgb,var(--accent) 12%,transparent)}.env-card.active{border-color:var(--sel-ring);background:var(--sel-fill)}.env-card-swatch{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--panel-edge);box-shadow:0 0 12px color-mix(in srgb,currentColor 0%,transparent)}.env-card-body{display:flex;flex-direction:column;gap:4px;min-width:0}.env-card-name{font-size:var(--fs-body);font-weight:500;letter-spacing:var(--ls-tight);color:var(--text-0);line-height:1.1}.env-card-tag{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:var(--ls-wide);color:var(--text-2)}.theme-card{position:relative;display:flex;align-items:center;width:100%;min-height:88px;padding:0 18px 0 22px;border:1px solid var(--panel-edge);border-radius:16px;background:color-mix(in srgb,#ffffff 3%,transparent);cursor:pointer;text-align:left;font-family:inherit;overflow:hidden;transition:color .3s var(--ease),background-color .2s var(--ease),border-color .2s var(--ease),transform var(--hmi-fast) var(--ease)}.theme-card:active{transform:var(--tap-press);background:color-mix(in srgb,var(--accent) 12%,transparent)}.theme-card.active{border-color:var(--sel-ring);background:var(--sel-fill)}.theme-card-bar{position:absolute;left:0;top:0;bottom:0;width:8px}.theme-card-name{font-size:var(--fs-body);font-weight:500;letter-spacing:var(--ls-tight);color:var(--text-0);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preset-card{position:relative;display:flex;align-items:center;width:100%;min-height:88px;padding:0 18px 0 22px;border:1px solid var(--panel-edge);border-radius:16px;background:color-mix(in srgb,#ffffff 3%,transparent);cursor:pointer;text-align:left;font-family:inherit;overflow:hidden;transition:color .3s var(--ease),background-color .2s var(--ease),border-color .2s var(--ease),transform var(--hmi-fast) var(--ease)}.preset-card:active{transform:var(--tap-press);background:color-mix(in srgb,var(--accent) 12%,transparent)}.preset-card.active{border-color:var(--sel-ring);background:var(--sel-fill)}.preset-card-bar{position:absolute;left:0;top:0;bottom:0;width:8px}.preset-card-body{display:flex;flex-direction:column;gap:5px;min-width:0}.preset-card-name{font-size:var(--fs-body);font-weight:500;letter-spacing:var(--ls-tight);color:var(--text-0);line-height:1.1}.preset-card-mood{font-size:var(--fs-meta);letter-spacing:var(--ls-tight);color:var(--text-2);line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.card-empty{font-size:var(--fs-meta);letter-spacing:var(--ls-tight);color:var(--text-2);line-height:1.5;padding:8px 2px}.card-reset{width:100%;min-height:52px;margin-top:6px;padding:0 18px;border:1px solid var(--panel-edge);border-radius:14px;background:transparent;cursor:pointer;font-family:inherit;font-size:var(--fs-meta);letter-spacing:var(--ls-meta);color:var(--text-2);opacity:.68;transition:color .2s var(--ease),background-color .2s var(--ease),border-color .2s var(--ease),opacity .2s var(--ease),transform var(--hmi-fast) var(--ease)}.card-reset:active{transform:var(--tap-press);opacity:1;color:var(--text-0);background:color-mix(in srgb,#ffffff 5%,transparent)}@media (max-height: 760px){.card-list{gap:10px}.env-card,.theme-card,.preset-card{min-height:76px}}.island-command{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.island-command input{flex:1 1 100%;min-width:0}.island-command button[type=submit],.island-command>button[type=button]:not(.island-mic){flex:1 1 auto}.island-mic{flex:0 0 auto;width:48px;height:48px;padding:0;border-radius:999px;border:1px solid var(--panel-edge);background:#ffffff0b;color:var(--text-0);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;touch-action:none;transition:border-color var(--hmi-fast) var(--ease),background-color var(--hmi-fast) var(--ease),box-shadow var(--hmi-fast) var(--ease),transform var(--hmi-fast) var(--hmi-spring)}.island-mic-glyph{font-size:20px;line-height:1}.island-mic:active:not(:disabled){transform:var(--tap-press)}.island-mic:disabled{opacity:.45;cursor:default}.island-mic.listening{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 22%,rgba(255,255,255,.045));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 40%,transparent),0 0 18px color-mix(in srgb,var(--accent) 45%,transparent);animation:islandPulse 1.2s var(--ease) infinite}.director-island.listening .island-pulse{background:var(--accent);box-shadow:0 0 16px var(--accent);animation:islandPulse 1.2s var(--ease) infinite}.island-quick{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.island-quick-chip{min-height:48px;padding:0 16px;border-radius:999px;border:1px solid var(--panel-edge);background:#ffffff0b;color:var(--text-0);font:inherit;cursor:pointer;transition:border-color var(--hmi-fast) var(--ease),background-color var(--hmi-fast) var(--ease),transform var(--hmi-fast) var(--hmi-spring)}.island-quick-chip:active:not(:disabled){transform:var(--tap-press);background:color-mix(in srgb,var(--accent) 20%,rgba(255,255,255,.045))}.island-quick-chip:disabled{opacity:.45;cursor:default}.island-voice-foot{display:flex;align-items:center;gap:10px;margin-top:9px}.island-mute{flex:0 0 auto;width:32px;height:32px;padding:0;border-radius:999px;border:1px solid var(--hair);background:transparent;color:var(--text-1);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:15px;line-height:1;transition:border-color var(--hmi-fast) var(--ease),color var(--hmi-fast) var(--ease),transform var(--hmi-fast) var(--hmi-spring)}.island-mute:active{transform:var(--tap-press)}.island-mute.muted{color:var(--text-2);border-color:var(--hair-soft)}.island-listening{font-family:var(--mono);font-size:12px;color:var(--accent);animation:islandContentIn var(--hmi-med) var(--hmi-spring) both}.island-roi{margin-top:11px;padding-top:10px;border-top:1px solid var(--hair);font-size:var(--fs-meta);color:var(--text-2);line-height:1.5;animation:islandContentIn var(--hmi-med) var(--hmi-spring) both}.island-roi-num{font-family:var(--mono);color:var(--accent)}.island-roi-dim{font-family:var(--mono);color:var(--text-1)}@media (prefers-reduced-motion: reduce){.island-mic.listening,.director-island.listening .island-pulse,.island-listening,.island-roi{animation:none!important}}.drive-hud{position:absolute;left:0;right:0;bottom:var(--pad);margin-inline:auto;width:fit-content;display:flex;align-items:center;gap:13px;padding:6px 16px 6px 8px;min-height:var(--dock-h);max-width:calc(100vw - 2 * (var(--pad) + var(--panel-w) + var(--hud-gap)));background:var(--panel);backdrop-filter:blur(16px) saturate(100%);-webkit-backdrop-filter:blur(16px) saturate(100%);border:1px solid var(--panel-edge);border-radius:var(--r-md);box-shadow:0 22px 50px -24px #000000b3;z-index:3}@media (max-width: 1180px){.drive-hud{bottom:calc(var(--pad) + var(--dock-h) + var(--hud-gap))}.brand-sub,.brand-rule{display:none}}.dh-sep{width:1px;align-self:stretch;margin:9px 0;background:var(--hair);flex:none}.dh-gauge{position:relative;width:44px;height:44px;flex:none}.dh-gauge-svg{display:block;width:44px;height:44px}.dh-gauge-track{fill:none;stroke:var(--hair);stroke-width:2}.dh-gauge-prog{fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;filter:drop-shadow(0 0 3px color-mix(in srgb,var(--accent) 70%,transparent));transition:stroke-dashoffset .35s var(--ease)}.dh-gauge-read{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}.dh-gauge-read b{font-family:var(--mono);font-size:16px;font-weight:500;line-height:1;letter-spacing:-.01em;color:var(--text-0);font-variant-numeric:tabular-nums}.dh-gauge-read span{font-size:8px;font-weight:400;letter-spacing:.1em;text-transform:lowercase;color:var(--text-2);margin-top:1px}.dh-clock{font-family:var(--mono);font-size:var(--fs-meta);font-weight:400;letter-spacing:var(--ls-tight);color:var(--text-1);font-variant-numeric:tabular-nums;min-width:5ch;text-align:center}.dh-auto{min-height:40px;padding:0 12px;display:inline-flex;align-items:center;gap:6px;font-family:inherit;font-size:var(--fs-micro);letter-spacing:var(--ls-meta);color:var(--text-1);background:transparent;border:1px solid var(--hair);border-radius:var(--r-sm);cursor:pointer;flex:none;transition:color .25s var(--ease),border-color .25s var(--ease),background-color .2s var(--ease),transform var(--hmi-fast) var(--ease)}.dh-auto svg{flex:none}.dh-auto:active{transform:var(--tap-press)}.dh-auto.on{color:var(--text-0);border-color:var(--sel-ring);background:var(--sel-fill)}.island-busy-hint{margin-top:0;max-height:0;overflow:hidden;font-size:var(--fs-meta);color:var(--text-2);opacity:0;transition:opacity var(--hmi-fast) var(--ease),max-height var(--hmi-fast) var(--ease),margin-top var(--hmi-fast) var(--ease)}.island-busy-hint.visible{margin-top:8px;max-height:2.4em;opacity:1}.demo-stepper{position:absolute;left:var(--pad);bottom:calc(var(--pad) + var(--dock-h) + var(--hud-gap));width:min(360px,calc(100vw - 2 * var(--pad)));display:flex;flex-direction:column;gap:8px;padding:14px 16px;background:var(--panel);backdrop-filter:blur(16px) saturate(100%);-webkit-backdrop-filter:blur(16px) saturate(100%);border:1px solid var(--panel-edge);border-radius:16px;box-shadow:0 22px 50px -24px #000000b3;z-index:6}@media (prefers-reduced-motion: no-preference){.demo-stepper{animation:rise .5s var(--ease) both}}.demo-stepper-head{display:flex;align-items:center;justify-content:space-between}.demo-stepper-count{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:var(--ls-wide);color:var(--text-2)}.demo-stepper-exit{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;flex:none;color:var(--text-2);background:transparent;border:1px solid var(--panel-edge);border-radius:999px;cursor:pointer;transition:color .25s var(--ease),border-color .25s var(--ease),transform var(--hmi-fast) var(--ease)}.demo-stepper-exit:hover{color:var(--text-0);border-color:var(--text-2)}.demo-stepper-exit:active{transform:var(--tap-press)}.demo-stepper-title{margin:0;font-size:var(--fs-body);line-height:1.4;color:var(--text-0)}.demo-stepper-hint{margin:0;font-size:var(--fs-meta);line-height:1.5;color:var(--text-2)}.demo-stepper-nav{display:flex;gap:10px;margin-top:2px}.demo-stepper-btn{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;flex:none;color:var(--text-1);background:var(--hover-wash);border:1px solid var(--panel-edge);border-radius:12px;cursor:pointer;transition:color .25s var(--ease),border-color .25s var(--ease),background-color .2s var(--ease),transform var(--hmi-fast) var(--ease)}.demo-stepper-btn:hover{color:var(--text-0);border-color:var(--text-2)}.demo-stepper-btn:active{transform:var(--tap-press)}.demo-stepper-btn:disabled{opacity:.35;cursor:default}.island-waveform-wrap{display:flex;align-items:center;justify-content:center;margin-top:10px;animation:islandContentIn var(--hmi-med) var(--hmi-spring) both}.island-waveform{width:200px;height:36px;display:block}@media (prefers-reduced-motion: reduce){.island-waveform-wrap{animation:none!important}}.boot{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#1b1e22;background-image:radial-gradient(120% 100% at 50% 46%,rgba(255,255,255,.035) 0%,transparent 58%);animation:bootFade var(--hmi-slow) var(--hmi-ease) 1.2s forwards}.boot-mark{display:flex;flex-direction:column;align-items:center;gap:14px;transform:translateY(-2%)}.boot-bmw{font-family:var(--font);font-size:clamp(34px,5vw,52px);font-weight:600;color:#e9eaecf0;opacity:0;letter-spacing:.16em;animation:bootMark .8s var(--hmi-ease) .4s forwards}.boot-sub{font-family:var(--font);font-size:var(--fs-meta);font-weight:400;letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--text-1);opacity:0;animation:bootSub var(--hmi-med) var(--ease) .9s forwards}@keyframes bootMark{0%{opacity:0;letter-spacing:.16em;transform:translateY(6px)}to{opacity:1;letter-spacing:.34em;transform:translateY(0)}}@keyframes bootSub{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes bootFade{0%{opacity:1;pointer-events:auto}1%{pointer-events:none}to{opacity:0;pointer-events:none;visibility:hidden}}@media (prefers-reduced-motion: reduce){.boot{display:none!important;animation:none!important}}:root{--elev-panel: 0 .5px 0 0 rgba(255, 255, 255, .22) inset, 0 1px 0 0 rgba(255, 255, 255, .08) inset, 0 2px 6px -3px rgba(0, 0, 0, .55), 0 26px 60px -30px rgba(0, 0, 0, .8);--elev-float: 0 .5px 0 0 rgba(255, 255, 255, .2) inset, 0 2px 10px -4px rgba(0, 0, 0, .5), 0 20px 48px -26px rgba(0, 0, 0, .75);--glow-accent: 0 0 0 1px color-mix(in srgb, var(--accent) 55%, transparent), 0 0 22px -2px color-mix(in srgb, var(--accent) 45%, transparent)}.panel,.card-wall,.drive-hud,.ctl,.dh-auto,.card-wall-adv,.panel-back{background-image:linear-gradient(180deg,color-mix(in srgb,#ffffff 6%,transparent) 0%,transparent 46%)}.drive-hud,.ctl,.dh-auto{box-shadow:var(--elev-float)}.panel,.card-wall{box-shadow:var(--elev-panel)}.hud:after{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.03;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}@media (prefers-reduced-motion: reduce){.hud:after{display:none}}.env-card,.preset-card,.theme-card{position:relative;overflow:hidden}.env-card.active,.preset-card.active,.theme-card.active{box-shadow:var(--glow-accent);border-color:color-mix(in srgb,var(--accent) 65%,var(--panel-edge))}.ctl.on,.dh-auto.on{box-shadow:var(--elev-float),var(--glow-accent)}.env-card.active:after,.preset-card.active:after,.theme-card.active:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 34%,color-mix(in srgb,var(--accent) 38%,transparent) 50%,transparent 66%);transform:translate(-130%);animation:sheen .85s var(--ease) 1}@keyframes sheen{to{transform:translate(130%)}}@media (prefers-reduced-motion: reduce){.env-card.active:after,.preset-card.active:after,.theme-card.active:after{animation:none;opacity:0}}.ui-ambience{position:fixed;inset:0;z-index:0;pointer-events:none}.theme-wash{position:fixed;width:0;height:0;z-index:40;pointer-events:none}.theme-wash-ring{position:absolute;left:0;top:0;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;border:2px solid var(--wash-color);box-shadow:0 0 20px -2px var(--wash-color)}.theme-wash-dot{position:absolute;left:0;top:0;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--wash-color);box-shadow:0 0 8px var(--wash-color)}.island-core{border-radius:var(--r-md)}.ctl,.dh-auto,.panel-back,.card-wall-adv,.brand-lang{border-radius:var(--r-sm)}.panel,.card-wall{border-radius:var(--r-lg)}.env-card,.theme-card,.preset-card{border-radius:var(--r-sm);min-height:68px}.ctl.on,.dh-auto.on{color:var(--text-0);border-color:color-mix(in srgb,var(--accent) 40%,var(--panel-edge))}.ctl.on{background:color-mix(in srgb,var(--accent) 7%,var(--panel));position:relative}.dh-auto.on{background:color-mix(in srgb,var(--accent) 7%,transparent)}.ctl.on:after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2px;border-radius:2px;background:var(--accent);box-shadow:0 0 10px var(--accent)}.ctl.on .ctl-dot{background:var(--accent);border-color:var(--accent);box-shadow:0 0 8px var(--accent)}.theme-card-bar,.preset-card-bar{width:3px}.env-card-swatch{width:24px;height:24px;box-shadow:inset 0 0 0 1px var(--hair)}.env-card.active .env-card-name,.theme-card.active .theme-card-name,.preset-card.active .preset-card-name{color:#fff}
