@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2) format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2) format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2) format("woff2"),url(/assets/dm-sans-latin-600-normal-BmdmIIQ2.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2) format("woff2"),url(/assets/dm-sans-latin-700-normal-CUSSCpQX.woff) format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2) format("woff2"),url(/assets/space-grotesk-latin-500-normal-CNSSEhBt.woff) format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-600-normal-DjKNqYRj.woff2) format("woff2"),url(/assets/space-grotesk-latin-600-normal-BflQw4A9.woff) format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2) format("woff2"),url(/assets/space-grotesk-latin-700-normal-CwsQ-cCU.woff) format("woff")}:root{--bg: #071019;--surface-1: #0b1923;--surface-2: #0f2230;--surface-3: #16303c;--surface-glass: rgba(8, 22, 30, .78);--border: #213846;--border-strong: #53757f;--text: #e8f1f5;--text-2: #bccdd5;--text-3: #93acb8;--accent: #3ad6c9;--accent-strong: #62e6da;--accent-ink: #04242a;--accent-soft: #143d45;--danger: #ff9b9b;--danger-border: #7d3d45;--danger-solid: #c93a4e;--warn: #e8bd68;--viewport-bg: #08131c;--font: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-display: "Space Grotesk", "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--fs-xs: 12px;--fs-s: 13px;--fs-m: 14px;--fs-l: 17px;--fs-xl: 21px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--radius-s: 5px;--radius-m: 8px;--radius-l: 12px;--radius-pill: 999px;--header-h: 52px;--sidebar-w: 284px;--details-w: 320px;--ring: 0 0 0 2px var(--bg), 0 0 0 4px var(--accent);--shadow: 0 12px 40px rgba(0, 0, 0, .45);font-family:var(--font);color:var(--text);background:var(--bg);font-synthesis:none;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg)}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:none;box-shadow:var(--ring)}kbd{font:600 11px ui-monospace,Consolas,monospace;border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:4px;padding:0 5px;color:var(--text);background:var(--surface-2)}.icon{flex:none;display:block}.muted{color:var(--text-3);font-size:var(--fs-s);line-height:1.6}[hidden]{display:none!important}*{scrollbar-width:thin;scrollbar-color:#2b4652 transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#2b4652;border-radius:8px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#3b5f6d;background-clip:padding-box}.app{min-height:100%;display:flex;flex-direction:column}.topbar{height:var(--header-h);flex:none;display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr) var(--details-w);align-items:center;border-bottom:1px solid var(--border);background:var(--surface-1)}.brand{display:flex;align-items:center;gap:10px;padding:0 var(--space-5);min-width:0}.brand img{display:block}.brand-name{font:700 14px/1.1 var(--font-display);letter-spacing:.16em;color:#f1fbfd}.brand-name small{display:block;margin-top:3px;font:600 11px/1 var(--font);letter-spacing:.08em;color:var(--text-3)}.title{margin:0;text-align:center;font:600 var(--fs-l)/1.2 var(--font-display);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 var(--space-4)}.title .title-rest{font-weight:400;color:var(--text-2)}.title{overflow:visible}.picker{position:relative;display:inline-block}.vehicle-switch{display:inline-flex;align-items:center;gap:4px;padding:4px 8px 4px 10px;margin:0 -2px 0 -10px;border:1px solid transparent;border-radius:var(--radius-m);background:none;color:var(--text);font:inherit}.vehicle-switch:hover{background:var(--surface-3);border-color:var(--border-strong)}.vehicle-switch[aria-expanded=true]{background:var(--surface-3);border-color:var(--accent)}.vehicle-switch .icon{color:var(--accent-strong);transition:transform .15s}.vehicle-switch[aria-expanded=true] .icon{transform:rotate(180deg)}.picker-pop{position:absolute;z-index:40;top:calc(100% + 8px);left:50%;transform:translate(-50%);width:min(380px,calc(100vw - 24px));padding:var(--space-3);border-radius:var(--radius-l);background:#0c1d27;border:1px solid var(--border-strong);box-shadow:var(--shadow);text-align:left;font:400 var(--fs-s)/1.4 var(--font);letter-spacing:0;white-space:normal}.picker-pop h2{margin:2px 4px 10px}.picker-pop ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.vehicle-card{width:100%;display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:var(--radius-m);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);text-align:left}.vehicle-card:hover{background:var(--surface-3);border-color:#6c8f9b}.vehicle-card.current{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.vehicle-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.vehicle-card-name{font:600 var(--fs-m)/1.3 var(--font-display)}.vehicle-card-summary{font-size:var(--fs-s);color:var(--text-2);line-height:1.45}.vehicle-card-meta{font-size:var(--fs-xs);color:var(--text-3)}.chip{justify-self:end;margin-right:var(--space-5);display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--surface-2);font-size:var(--fs-xs);font-weight:600;color:var(--text-2);white-space:nowrap}.chip i{width:7px;height:7px;border-radius:50%;background:var(--warn);box-shadow:0 0 8px var(--warn)}.chip.ready i{background:var(--accent);box-shadow:0 0 8px var(--accent)}.chip.failed i{background:var(--danger);box-shadow:none}.workspace{flex:1;display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr) var(--details-w);min-height:0}.sidebar,.details{background:var(--surface-1);min-width:0}.sidebar{border-right:1px solid var(--border);display:flex;flex-direction:column}.details{border-left:1px solid var(--border);padding:var(--space-5);display:flex;flex-direction:column}body{overflow:hidden}.app{height:100vh;height:100dvh}.sidebar,.details{overflow-y:auto;overscroll-behavior:contain}.section-title{font-size:var(--fs-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}.acc{border-bottom:1px solid var(--border);flex:none}.acc-head{margin:0}.acc-head button{width:100%;display:flex;align-items:center;gap:var(--space-2);padding:14px var(--space-5);border:0;background:none;text-align:left;min-height:46px}.acc-head button:hover .section-title,.acc-head button[aria-expanded=true] .section-title{color:var(--text)}.acc-head .section-title{flex:1}.acc-head .icon{color:var(--text-3);transition:transform .18s;transform:rotate(-90deg)}.acc-head button[aria-expanded=true] .icon{transform:none}.acc-body{padding:0 var(--space-5) var(--space-5);display:flex;flex-direction:column;gap:10px}.count-badge{min-width:22px;padding:1px 7px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-strong);font-size:var(--fs-xs);font-weight:700;text-align:center;font-variant-numeric:tabular-nums}.acc.grow.open{flex:1 1 auto;min-height:320px;display:flex;flex-direction:column}.acc.grow.open .acc-body{flex:1;min-height:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:38px;padding:8px 14px;border-radius:var(--radius-s);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);font-size:var(--fs-s);font-weight:600;transition:background .12s,border-color .12s,color .12s}.btn.block{width:100%;justify-content:flex-start}.btn:hover:not(:disabled){background:var(--surface-3);border-color:#44707d}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:700;justify-content:center}.btn.primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}.btn.active{background:#cdeeea;border-color:#cdeeea;color:var(--accent-ink)}.btn.danger{color:var(--danger);border-color:var(--danger-border);background:transparent}.btn.danger:hover:not(:disabled){background:#2a1519;border-color:#a24c57}.btn.danger-solid{background:var(--danger-solid);border-color:var(--danger-solid);color:#fff}.btn.danger-solid:hover{background:#b93347}.confirm{border:1px solid var(--danger-border);background:#1d1015;border-radius:var(--radius-m);padding:var(--space-3)}.confirm p{margin:0 0 10px;font-size:var(--fs-s);line-height:1.5;color:#ffd3d3}.confirm div{display:flex;gap:var(--space-2);justify-content:flex-end}.note{margin:2px 0 0;font-size:var(--fs-xs);line-height:1.5;color:var(--text-3)}.switch{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:44px;padding:6px 0;border:0;background:none;text-align:left}.switch-text{flex:1;display:flex;flex-direction:column;gap:2px}.switch-label{font-size:var(--fs-m);font-weight:600;color:var(--text)}.switch-hint{font-size:var(--fs-xs);color:var(--text-3)}.switch-track{flex:none;position:relative;width:40px;height:22px;border-radius:11px;background:#2a4350;border:1px solid #47697a;transition:background .15s,border-color .15s}.switch-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#c6d7de;transition:transform .15s,background .15s}.switch[aria-checked=true] .switch-track{background:var(--accent);border-color:var(--accent)}.switch[aria-checked=true] .switch-thumb{transform:translate(18px);background:var(--accent-ink)}.switch:focus-visible{box-shadow:none}.switch:focus-visible .switch-track{box-shadow:var(--ring)}.switch:disabled{opacity:.45}.btn.ghost{border-color:transparent;background:transparent;color:var(--text-2);min-height:32px;padding:4px 8px}.btn.ghost:hover:not(:disabled){background:var(--surface-3);border-color:transparent;color:var(--text)}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:3px;border-radius:var(--radius-m);background:#091922;border:1px solid var(--border-strong)}.segmented button{min-height:34px;border:0;border-radius:var(--radius-s);background:none;color:var(--text-2);font-size:var(--fs-s);font-weight:600}.segmented button:hover{color:var(--text);background:var(--surface-3)}.segmented button[aria-checked=true]{background:var(--accent-soft);color:var(--accent-strong);box-shadow:inset 0 0 0 1px #2c7d80}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.select-anchor{position:relative}.select-list{top:calc(100% + 4px)}.select-list.up{top:auto;bottom:calc(100% + 4px)}.select-button{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-s);background:var(--surface-2);color:var(--text);font-size:var(--fs-s);text-align:left}.select-button:hover:not(:disabled){border-color:#44707d}.select-button[aria-expanded=true]{border-color:var(--accent)}.select-button[aria-expanded=true] .icon{transform:rotate(180deg)}.select-button:disabled{opacity:.5}.select-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-button .icon{color:var(--text-3);transition:transform .15s}.select-list{position:absolute;z-index:30;left:0;right:0;margin:0;padding:4px;list-style:none;max-height:280px;overflow-y:auto;border-radius:var(--radius-m);background:#0d2029;border:1px solid var(--border-strong);box-shadow:var(--shadow)}.select-list li{padding:9px 10px 9px 30px;border-radius:var(--radius-s);font-size:var(--fs-s);color:var(--text-2);cursor:pointer;position:relative}.select-list li.active{background:var(--surface-3);color:var(--text)}.select-list li[aria-selected=true]{color:var(--accent-strong);font-weight:600}.select-list li[aria-selected=true]:before{content:"";position:absolute;left:11px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:var(--accent)}.help-pop .help-keys{margin-top:var(--space-4)}.help-pop dl.keys{grid-template-columns:44px 1fr;gap:6px 10px}.help-pop dl.keys dt{text-align:center}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:var(--fs-s);font-weight:600;color:var(--text-2)}.field-row{display:flex;justify-content:space-between}.field-row output{color:var(--accent-strong);font-variant-numeric:tabular-nums}.field-help{font-size:var(--fs-xs);line-height:1.45;color:var(--text-3)}.field select{background:var(--surface-2);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-s);padding:8px 10px;font-size:var(--fs-s);min-height:38px}.field select:disabled{opacity:.5}.field input[type=range]{width:100%;height:28px;margin:0;background:transparent;-webkit-appearance:none;appearance:none;cursor:pointer}.field input[type=range]:disabled{opacity:.45;cursor:not-allowed}.field input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:linear-gradient(to right,var(--accent) var(--fill, 0%),var(--border-strong) var(--fill, 0%))}.field input[type=range]::-moz-range-track{height:6px;border-radius:3px;background:var(--border-strong)}.field input[type=range]::-moz-range-progress{height:6px;border-radius:3px;background:var(--accent)}.field input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;margin-top:-6px;border-radius:50%;background:var(--accent);border:3px solid var(--bg);box-shadow:0 0 0 1px var(--accent)}.field input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent);border:3px solid var(--bg);box-shadow:0 0 0 1px var(--accent)}.field input[type=range]:focus-visible{box-shadow:none}.field input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:var(--ring)}.field input[type=range]:focus-visible::-moz-range-thumb{box-shadow:var(--ring)}.browser{flex:1;min-height:0;display:flex;flex-direction:column}.search{position:relative;display:flex;align-items:center}.search>.icon{position:absolute;left:10px;color:var(--text-3);pointer-events:none}.search input{width:100%;min-height:38px;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);border-radius:var(--radius-s);padding:8px 34px;font-size:var(--fs-s);outline:none}.search input::placeholder{color:#7f98a4}.search input:focus{border-color:var(--accent)}.search-clear{position:absolute;right:4px;width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:var(--radius-s);background:none;color:var(--text-3)}.search-clear:hover{color:var(--text);background:var(--surface-3)}.browser-count{margin:6px 2px 8px;font-size:var(--fs-xs);color:var(--text-3)}.browser-list{flex:1;min-height:0;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-m);background:#0a1720}.browser-list ul{list-style:none;margin:0;padding:0}.browser-group{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;padding:7px 12px;background:#0e2330;border-bottom:1px solid var(--border);color:var(--accent-strong);font-size:var(--fs-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase}.browser-group span{color:var(--text-3);letter-spacing:0;font-variant-numeric:tabular-nums}.browser-list li button{width:100%;display:flex;align-items:center;gap:var(--space-2);min-height:36px;padding:6px 12px;border:0;border-bottom:1px solid #132833;background:none;text-align:left;font-size:var(--fs-s);color:var(--text-2)}.browser-list li button:hover{background:var(--surface-3);color:var(--text)}.browser-list li button.on{background:var(--accent-soft);color:#fff;box-shadow:inset 3px 0 0 var(--accent)}.browser-list li button:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.browser-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ata{flex:none;min-width:58px;text-align:center;white-space:nowrap;font-size:var(--fs-xs);font-variant-numeric:tabular-nums;color:var(--text-3);background:#10252f;border:1px solid #1d3a46;border-radius:var(--radius-pill);padding:1px 7px}.browser-empty{font-size:var(--fs-s);color:var(--text-3);padding:var(--space-3);margin:0}.viewport{position:relative;overflow:hidden;min-height:0;background:radial-gradient(ellipse 70% 60% at 50% 42%,#16323e,#0c1d27 55%,#070f16)}.viewport.placement{cursor:crosshair}.viewport canvas{position:absolute!important;inset:0;touch-action:none}.toolbar{position:absolute;z-index:5;left:50%;bottom:var(--space-4);transform:translate(-50%);display:flex;align-items:center;gap:2px;padding:5px;border-radius:var(--radius-l);background:var(--surface-glass);border:1px solid #2a4553;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tool{position:relative;width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:var(--radius-m);background:transparent;color:var(--text-2);transition:background .12s,color .12s}.tool:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.tool[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-strong);box-shadow:inset 0 0 0 1px #2c7d80}.tool:disabled{opacity:.4}.tool:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,4px);padding:5px 9px;border-radius:var(--radius-s);background:#031017;border:1px solid var(--border-strong);color:var(--text);font-size:var(--fs-xs);font-weight:600;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s,transform .12s}.tool:hover:after,.tool:focus-visible:after{opacity:1;transform:translate(-50%)}.tool[aria-pressed=true]:hover:after{opacity:1}.help .tool:after{left:auto;right:0;transform:translateY(4px)}.help .tool:hover:after,.help .tool:focus-visible:after{transform:none}.help .tool[aria-pressed=true]:after{display:none}.tool-sep{width:1px;height:24px;margin:0 4px;background:var(--border-strong)}.help{position:relative}.help-pop{position:absolute;right:-5px;bottom:calc(100% + 12px);width:250px;padding:var(--space-4);border-radius:var(--radius-l);background:#0c1d27;border:1px solid var(--border-strong);box-shadow:var(--shadow)}.help-pop h3{margin:0 0 10px;font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}.help-pop dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:8px 14px;font-size:var(--fs-s)}.help-pop dt{color:var(--text);font-weight:600}.help-pop dd{margin:0;color:var(--text-2)}.placement-banner{position:absolute;z-index:4;top:var(--space-4);left:50%;transform:translate(-50%);max-width:calc(100% - 32px);padding:9px 16px;border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-ink);font-size:var(--fs-s);font-weight:700;text-align:center;pointer-events:none;box-shadow:var(--shadow)}.placement-banner kbd{background:#ffffff80;border-color:#04242a59;color:var(--accent-ink)}.hotspot{background:#092a33;border:1px solid #58e5d7;border-radius:20px;color:#e8ffff;padding:5px 10px;white-space:nowrap;font-size:var(--fs-xs);font-weight:700;box-shadow:0 4px 16px #0009}.hotspot.selected{background:var(--accent);color:var(--accent-ink)}.viewport-status{position:absolute;inset:0;z-index:6;display:grid;place-items:center;padding:var(--space-4);background:radial-gradient(circle at 50% 45%,#10283399,#08131cf2 70%)}.status-card{width:min(340px,100%);text-align:center;padding:var(--space-6);border-radius:var(--radius-l);background:#0c1d27;border:1px solid var(--border-strong);box-shadow:var(--shadow)}.status-card img{display:block;margin:0 auto var(--space-3)}.status-card h2{margin:0 0 var(--space-4);font:600 var(--fs-l)/1.3 var(--font-display)}.status-card p{margin:10px 0 0;font-size:var(--fs-s);color:var(--text-2);overflow-wrap:anywhere}.status-card .btn{margin-top:var(--space-4)}.progress{height:6px;border-radius:3px;background:#1b3440;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,#2bb8ad,var(--accent-strong));transition:width .25s}.label-layer{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}.label3d{position:absolute;left:0;top:0;padding:0;border:0;background:none;cursor:pointer;visibility:hidden;opacity:0;transition:opacity .2s;display:block;font:inherit}.label3d.shown{visibility:visible;opacity:1;pointer-events:auto}.label3d .pill{display:block;background:#0b2530eb;border:1px solid #4fd9cc;color:#e8ffff;border-radius:14px;padding:4px 10px;font-size:var(--fs-xs);font-weight:700;white-space:nowrap;box-shadow:0 3px 12px #0008;letter-spacing:.01em;text-transform:none}.label3d.tier2 .pill{font-weight:600;border-color:#5f8e9a;color:#d5e9ee}.label3d .leader{position:absolute;left:var(--lx, 50%);top:100%;width:1px;height:var(--lead, 22px);background:linear-gradient(#4fd9cc,#4fd9cc99);pointer-events:none}.label3d .leader:after{content:"";position:absolute;left:-2.5px;bottom:-3px;width:6px;height:6px;border-radius:50%;background:#4fd9cc;box-shadow:0 0 6px #4fd9cc}.label3d.below .leader{top:auto;bottom:100%;background:linear-gradient(#4fd9cc99,#4fd9cc)}.label3d.below .leader:after{bottom:auto;top:-3px}.beacon{position:absolute;left:0;top:0;width:28px;height:28px;margin:-14px 0 0 -14px;padding:0;border:0;background:none;cursor:pointer;visibility:hidden;opacity:0;transition:opacity .3s;display:grid;place-items:center}.beacon.shown{visibility:visible;opacity:1;pointer-events:auto}.beacon i{position:relative;width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px #04242ab3,0 0 10px var(--accent)}.beacon i:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--accent);animation:beacon 1.8s ease-out infinite}.beacon:hover i,.beacon:focus-visible i{transform:scale(1.25)}@keyframes beacon{0%{transform:scale(.6);opacity:.9}to{transform:scale(2.4);opacity:0}}.hover-tip{position:absolute;left:0;top:0;z-index:4;padding:4px 9px;border-radius:var(--radius-s);background:#031017e6;border:1px solid var(--border-strong);color:var(--text);font-size:var(--fs-xs);font-weight:600;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .12s}.hover-tip.shown{opacity:1}.viewport.hovering{cursor:pointer}.intro{position:absolute;z-index:4;top:var(--space-4);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--space-2);max-width:calc(100% - 32px);padding:8px 8px 8px 16px;border-radius:var(--radius-pill);background:var(--surface-glass);border:1px solid #2a4553;color:var(--text);font-size:var(--fs-s);font-weight:600;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:intro-in .4s ease-out}.intro button{flex:none;width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:50%;background:none;color:var(--text-2)}.intro button:hover{background:var(--surface-3);color:var(--text)}@keyframes intro-in{0%{opacity:0;transform:translate(-50%,-6px)}}.label3d:hover .pill,.label3d:focus-visible .pill{background:#14404b}.label3d.selected .pill{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.label3d.selected{z-index:3}.panel-head{display:flex;align-items:center;justify-content:space-between;margin:-8px 0 var(--space-3)}.show-details{position:absolute;z-index:5;top:var(--space-4);right:var(--space-4);background:var(--surface-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.layout-desktop.details-collapsed .details{display:none}.layout-desktop.details-collapsed .workspace,.layout-desktop.details-collapsed .topbar{grid-template-columns:var(--sidebar-w) minmax(0,1fr) 0}.layout-desktop.details-collapsed .chip{position:absolute;right:0}.layout-desktop.details-collapsed .topbar{position:relative}.app:not(.layout-desktop).details-collapsed .details{display:flex}.meta-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:var(--space-2)}.meta-chip{display:inline-block;padding:3px 8px;border-radius:var(--radius-pill);background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text-2);font-size:var(--fs-xs);font-weight:600;white-space:nowrap}.detail-section{margin-top:var(--space-4)}.detail-section h3{margin:0 0 6px;font-size:var(--fs-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}.detail-section>p{margin:0;font-size:var(--fs-m);line-height:1.6;color:var(--text)}.detail-section .level-tabs{margin-top:2px}.content-status{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border);font-size:var(--fs-xs);color:var(--text-3)}.content-status .status-draft{color:var(--warn)}.content-status code{font:12px ui-monospace,Consolas,monospace;color:var(--text-3)}.card{display:flex;flex-direction:column}.kicker{font-size:var(--fs-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-strong)}.details h2{font:600 var(--fs-xl)/1.2 var(--font-display);margin:6px 0 12px}.pill{display:inline-block;align-self:flex-start;border:1px solid #346a6d;color:#8eeee2;border-radius:var(--radius-s);padding:3px 8px;font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;white-space:nowrap;font-variant-numeric:tabular-nums}.pill.draft{border-color:#7a6431;color:var(--warn)}.description{font-size:var(--fs-s);line-height:1.65;color:var(--text-2);margin:var(--space-4) 0}.fact{display:flex;flex-direction:column;gap:6px;padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.fact span{font-size:var(--fs-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}.fact strong{font-size:var(--fs-s);font-weight:500;overflow-wrap:anywhere;color:var(--text)}.card>.btn{margin-top:var(--space-4)}.empty{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3) var(--space-4);border:1px dashed var(--border-strong);border-radius:var(--radius-m);color:var(--accent)}.empty h2{font-size:var(--fs-m);margin:0 0 4px;color:var(--text)}.details .empty h2{font:600 var(--fs-m)/1.3 var(--font);margin:0 0 4px}.empty p{margin:0;font-size:var(--fs-s);line-height:1.55;color:var(--text-2)}.credits{font-size:var(--fs-xs);line-height:1.5;color:var(--text-3);margin:auto 0 0;padding-top:var(--space-4);border-top:1px solid var(--border)}.details>:first-child+.credits{margin-top:auto}.chips-row{display:flex;gap:6px;flex-wrap:wrap}.component-details .summary{font-size:var(--fs-m);line-height:1.6;color:var(--text);margin:var(--space-4) 0 var(--space-3)}.explode-btn{display:inline-flex;align-items:center;gap:var(--space-2);align-self:flex-start;margin:0 0 var(--space-4);min-height:34px;padding:6px 12px;border:1px solid #3a7b80;border-radius:var(--radius-s);background:transparent;color:#c4f5ef;font-size:var(--fs-s);font-weight:600}.explode-btn:hover{background:var(--accent-soft)}.level-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border)}.level-tabs button{flex:1;margin:0;border:0;border-bottom:2px solid transparent;background:none;padding:9px 4px;font-size:var(--fs-s);font-weight:600;color:var(--text-3)}.level-tabs button:hover{color:var(--text)}.level-tabs button.on{color:var(--accent-strong);border-bottom-color:var(--accent-strong)}.component-details .description{margin:var(--space-3) 0 4px}.facts{margin:6px 0 0}.facts dt{font-size:var(--fs-xs);font-weight:700;letter-spacing:.1em;color:var(--text-3);text-transform:uppercase;margin-top:14px}.facts dd{margin:5px 0 0;font-size:var(--fs-s);line-height:1.6;color:var(--text-2)}.mini-title{font-size:var(--fs-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-strong)}.did-you-know{margin-top:var(--space-4);background:#10303a;border-left:2px solid var(--accent-strong);padding:10px 12px;border-radius:0 var(--radius-s) var(--radius-s) 0}.did-you-know p{margin:6px 0 0;font-size:var(--fs-s);line-height:1.55;color:#d6e8ee}.model-note{display:flex;gap:8px;align-items:flex-start;font-size:var(--fs-xs);line-height:1.55;color:var(--text-2);margin:var(--space-4) 0 0;border:1px dashed var(--border-strong);border-radius:var(--radius-s);padding:8px 10px}.related{margin-top:var(--space-4)}.related div{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.related button{padding:5px 10px;min-height:30px;border:1px solid #2f5260;border-radius:var(--radius-pill);background:none;color:var(--text-2);font-size:var(--fs-xs);font-weight:600}.related button:hover{background:var(--surface-3);color:var(--text)}.component-id{margin-top:var(--space-4);font:12px ui-monospace,Consolas,monospace;color:var(--text-3)}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:var(--space-4);background:#020c11cc}.modal{width:min(440px,100%);max-height:calc(100dvh - 32px);overflow:auto;background:#10232d;border:1px solid #40616b;border-radius:var(--radius-l);padding:var(--space-6);box-shadow:0 20px 60px #000a}.modal h2{font:600 var(--fs-xl)/1.2 var(--font-display);margin:6px 0 var(--space-3)}.modal label{display:block;color:var(--text-2);font-size:var(--fs-s);font-weight:600;margin-top:var(--space-4)}.modal input,.modal textarea{display:block;width:100%;margin-top:6px;border:1px solid var(--border-strong);background:#091922;color:#effbfe;border-radius:var(--radius-s);padding:10px;outline:none;font-size:var(--fs-m)}.modal input:focus,.modal textarea:focus{border-color:var(--accent)}.modal textarea{min-height:80px;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:var(--space-6)}.modal.inspector{width:min(980px,100%)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4)}.inspector-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.inspector h3{font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-strong);margin:var(--space-6) 0 10px}.inspector .fact{display:grid;grid-template-columns:140px 1fr;align-items:center}.chips{display:flex;flex-wrap:wrap;gap:6px}.chips span{padding:5px 9px;background:#17313a;border:1px solid #335763;border-radius:4px;color:#c2dbe2;font-size:var(--fs-xs)}.tree{border:1px solid #294651;border-radius:var(--radius-s);max-height:320px;overflow:auto}.tree button{display:flex;align-items:center;gap:6px;width:100%;min-height:32px;padding:6px 10px;border:0;border-bottom:1px solid #1e3740;background:none;text-align:left;font-size:var(--fs-xs);color:var(--text-2)}.tree button:hover{background:var(--surface-3);color:var(--text)}.tree small{margin-left:auto;color:var(--text-3);font-size:var(--fs-xs)}.toasts{position:fixed;z-index:30;right:var(--space-5);bottom:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-end;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:var(--space-3);max-width:360px;padding:10px 10px 10px 14px;border-radius:var(--radius-m);background:#13303a;border:1px solid #3b6e78;border-left:3px solid var(--accent);color:var(--text);font-size:var(--fs-s);box-shadow:var(--shadow);animation:toast-in .18s ease-out}.toast.success{border-left-color:#4fe0a0}.toast.error{border-left-color:var(--danger);background:#2a161b;border-color:var(--danger-border)}.toast button{flex:none;width:26px;height:26px;display:grid;place-items:center;border:0;border-radius:var(--radius-s);background:none;color:var(--text-2)}.toast button:hover{background:#ffffff14;color:var(--text)}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.layout-tablet .topbar{grid-template-columns:auto minmax(0,1fr) auto}.layout-tablet .workspace,.layout-phone .workspace{display:block;position:relative;overflow:hidden}.layout-tablet .viewport,.layout-phone .viewport{position:absolute;inset:0;min-height:0}.drawer{position:absolute;z-index:12;top:0;bottom:0;width:min(340px,86vw);box-shadow:var(--shadow);transition:transform .25s ease,visibility .25s;visibility:hidden}.drawer.left{left:0;transform:translate(-100%);border-right:1px solid var(--border)}.drawer.right{right:0;transform:translate(100%);border-left:1px solid var(--border)}.drawer.open{transform:none;visibility:visible}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 10px var(--space-5);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:2;background:var(--surface-1)}.drawer-backdrop{position:absolute;inset:0;z-index:11;background:#020c1173}.layout-phone .topbar{grid-template-columns:auto 1fr;height:48px}.layout-phone .title{font-size:var(--fs-m);text-align:left;padding:0;justify-self:start}.layout-phone .title .title-rest,.layout-phone .brand-name{display:none}.layout-phone .topbar{grid-template-columns:auto minmax(0,1fr) auto}.layout-phone .vehicle-switch{margin:0;min-height:40px}.layout-phone .picker-pop{transform:none;position:fixed;top:54px;left:12px;right:12px;width:auto}.layout-phone .brand{padding:0 var(--space-4)}.layout-phone .brand-name small{display:none}.layout-phone .chip{margin-right:var(--space-4);padding:4px 10px}.layout-phone .toolbar{bottom:74px;transition:bottom .28s cubic-bezier(.2,.8,.2,1)}.layout-phone.details-peek .toolbar{bottom:160px}.layout-phone .intro{top:var(--space-3);border-radius:var(--radius-l);font-size:var(--fs-xs)}.sheet{position:absolute;z-index:10;left:0;right:0;bottom:0;height:min(82%,640px);display:flex;flex-direction:column;background:var(--surface-1);border:1px solid var(--border-strong);border-bottom:0;border-radius:16px 16px 0 0;box-shadow:0 -10px 40px #00000073;transition:transform .28s cubic-bezier(.2,.8,.2,1);will-change:transform}.sheet.peek{transform:translateY(calc(100% - var(--peek)))}.sheet.closed{transform:translateY(100%);visibility:hidden;transition:transform .28s cubic-bezier(.2,.8,.2,1),visibility 0s .28s}.sheet.full{transform:none}.details-sheet{z-index:13;height:min(88%,720px)}.sheet-handle{flex:none;min-height:56px;padding:8px var(--space-5) 10px;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}.sheet-handle:focus-visible{box-shadow:inset 0 0 0 2px var(--accent);border-radius:16px 16px 0 0}.grip{display:block;width:40px;height:4px;margin:0 auto 10px;border-radius:2px;background:var(--border-strong)}.sheet-title{display:flex;flex-direction:column;gap:2px;padding-right:44px}.sheet-sub{font-size:var(--fs-xs);color:var(--text-3)}.sheet-heading{font:600 var(--fs-l)/1.25 var(--font-display);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sheet-actions{position:absolute;top:12px;right:10px}.sheet-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom)}.sheet.peek .sheet-body{overflow:hidden}.details-sheet .details{padding:0 var(--space-5) var(--space-5);border:0;overflow:visible;background:none}.details-sheet .details .card>.kicker,.details-sheet .details .card>h2{display:none}.controls-sheet .acc.grow.open{min-height:360px}.btn.icon-only{width:44px;height:44px;padding:0;justify-content:center}.layout-phone .tool,.layout-tablet .tool{width:44px;height:44px}.layout-phone .acc-head button,.layout-tablet .acc-head button{min-height:48px}.layout-phone .btn,.layout-tablet .btn,.layout-phone .select-button,.layout-tablet .select-button,.layout-phone .browser-list li button,.layout-tablet .browser-list li button{min-height:44px}.layout-phone .search-clear,.layout-tablet .search-clear{width:44px;height:44px;right:0}.layout-phone .explode-btn,.layout-tablet .explode-btn{min-height:44px}.layout-phone .search input,.layout-tablet .search input{min-height:44px;font-size:16px}.layout-phone .level-tabs button,.layout-phone .segmented button,.layout-phone .related button{min-height:44px}.layout-phone .tool:after,.layout-tablet .tool:after{display:none}.layout-phone .help-pop{right:-5px;width:min(280px,calc(100vw - 32px))}.layout-phone .inspector-grid{grid-template-columns:1fr;gap:10px}.layout-phone .inspector .fact{grid-template-columns:1fr}.layout-phone .toasts{left:var(--space-4);right:var(--space-4);top:58px;bottom:auto;align-items:stretch}.layout-phone .toast{max-width:none}
