:root{--bg:#f4f0e6;--paper:#fcfaf5;--ink:#26372e;--ink-soft:#556257;--muted:#73786f;--line:rgba(38,55,46,.17);--line-soft:rgba(38,55,46,.07);--accent:#466a56;--blue:#326884;--stage:#f0eee5;color-scheme:light}
:root[data-theme="dark"]{--bg:#202923;--paper:#27322b;--ink:#ebe9df;--ink-soft:#bbc5ba;--muted:#a5b1a4;--line:rgba(235,233,223,.2);--line-soft:rgba(235,233,223,.06);--accent:#b6cbb1;--blue:#9bbdd1;--stage:#222c25;color-scheme:dark}
*{box-sizing:border-box;letter-spacing:0}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 Inter,sans-serif;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.12' d='M0 0h160v160H0z'/%3E%3C/svg%3E");opacity:.24;pointer-events:none;z-index:20}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}:focus-visible{outline:2px solid var(--blue);outline-offset:4px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:500;line-height:1.15}h1{font-size:38px}h1 em{color:var(--accent)}h2{font-size:32px}h3{font-size:23px}.eyebrow{display:flex;align-items:center;gap:7px;font:10px/1.5 'JetBrains Mono',monospace;text-transform:uppercase;color:var(--muted);margin-bottom:9px}.eyebrow:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent)}svg.lucide{width:18px;height:18px;stroke-width:1.5;flex-shrink:0}.topbar{height:76px;display:flex;align-items:center;gap:22px;padding:0 36px;border-bottom:1px solid var(--line)}.brand{font:600 26px Fraunces,Georgia,serif;text-decoration:none}.brand span{font-weight:500;color:var(--ink-soft)}.header-divider{height:20px;border-left:1px solid var(--line)}.header-location{font-size:12px;color:var(--muted)}.top-actions{display:flex;gap:12px;margin-left:auto;align-items:center}.icon-btn{width:38px;height:38px;flex-shrink:0;border:1px solid var(--line);border-radius:50%;background:transparent;display:inline-flex;align-items:center;justify-content:center}.icon-btn:hover{background:var(--line-soft)}.text-btn{border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12px;padding:8px 0}.text-btn:hover{color:var(--blue)}#savedCount{font:10px 'JetBrains Mono',monospace;color:var(--muted)}main{max-width:1800px;margin:auto}.workspace-heading{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:28px 36px}.search-launch{display:flex;align-items:center;gap:14px;width:390px;padding:15px 18px;border:1px solid var(--line);border-radius:5px;background:var(--paper);text-align:left;color:var(--muted);font-size:12px}.search-launch span{flex:1}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 390px;margin:0 36px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:690px}.vehicle-stage{position:relative;isolation:isolate;min-width:0;display:flex;flex-direction:column;min-height:690px;background:radial-gradient(ellipse at 50% 48%,var(--paper),var(--stage) 74%)}.stage-heading{padding:24px 28px 0;display:flex;justify-content:space-between;gap:15px;z-index:2;pointer-events:none}.stage-heading button{pointer-events:auto;align-self:start}.stage-heading h2{font-size:40px;overflow-wrap:anywhere}.viewer-host{height:440px;position:relative;flex:1;min-height:360px}.viewer-host iframe,.viewer-host canvas{width:100%;height:100%;display:block;border:0}.viewer-host canvas{touch-action:none}.viewer-host img{width:100%;height:100%;object-fit:contain}.asset-empty{position:absolute;top:36%;left:10%;right:10%;text-align:center;z-index:2}.asset-empty>svg{width:36px;height:36px;color:var(--muted);margin-bottom:14px}.asset-empty p{font-size:12px;color:var(--muted);max-width:370px;margin:12px auto 20px}.stage-tools{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:8px 24px}.tool-group{display:flex;gap:8px}.asset-badge{color:var(--muted);font:10px 'JetBrains Mono',monospace;text-align:right}.asset-credit{font-size:10px;color:var(--muted);padding:5px 24px 19px;min-height:44px}.asset-credit a{text-underline-offset:3px}.garage-shelf{display:grid;grid-template-columns:1fr 1.4fr 1.2fr;border-top:1px solid var(--line);margin-top:auto}.garage-shelf button{display:flex;align-items:center;gap:12px;padding:18px 14px;border:0;border-right:1px solid var(--line);background:transparent;text-align:left;min-width:0;font-size:12px}.garage-shelf button:hover{background:var(--line-soft)}.garage-shelf button:last-child{border:0}.garage-shelf small{display:block;font-size:9px;color:var(--muted);margin-top:5px}.garage-shelf svg{margin-left:auto;width:15px}.shelf-index{font:10px 'JetBrains Mono',monospace;color:var(--muted)}.control-rail{border-left:1px solid var(--line);min-width:0;background:var(--paper)}.rail-tabs{display:flex;border-bottom:1px solid var(--line);height:57px;padding:0 24px;gap:26px}.rail-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;font-size:12px;padding:0 2px}.rail-tabs button[aria-selected="true"]{border-color:var(--accent);font-weight:600}.rail-panel{padding:26px;max-height:760px;overflow:auto}.muted{font-size:12px;color:var(--muted);margin:12px 0}.efficiency{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin:20px 0 10px;gap:10px}.efficiency strong{font:30px Fraunces,serif}.efficiency small{display:block;font:9px 'JetBrains Mono',monospace;color:var(--muted);margin-top:5px}.spec-list{margin:0}.spec-list>div{display:grid;grid-template-columns:1fr 1.3fr;gap:18px;padding:10px 0;border-bottom:1px solid var(--line-soft);font-size:11px}.spec-list dt{color:var(--muted)}.spec-list dd{margin:0;text-align:right;overflow-wrap:anywhere}.source-link{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--blue);margin:20px 0 10px}.source-link svg{width:13px}.fine-print{font-size:10px;color:var(--muted);line-height:1.65;margin:12px 0}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:4px;padding:10px 16px;text-decoration:none;font-size:12px}.button:hover{opacity:.85}.button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.button-row{display:flex;gap:10px;align-items:center}.field{display:block;font-size:11px;color:var(--ink-soft);margin:18px 0}.field input,.field textarea,select{display:block;width:100%;border:1px solid var(--line);border-radius:4px;background:var(--bg);padding:11px;margin-top:7px;font-size:12px}.field textarea{resize:vertical}.config-group{padding:15px 0;border-bottom:1px solid var(--line);font-size:11px}.label-row{display:flex;justify-content:space-between;align-items:center}output{color:var(--muted);font:10px 'JetBrains Mono',monospace}.swatches{display:flex;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap}.swatches button{width:27px;height:27px;border:3px solid var(--paper);border-radius:50%;background:var(--swatch);box-shadow:0 0 0 1px var(--line)}.swatches button[aria-pressed="true"]{box-shadow:0 0 0 2px var(--accent)}input[type="color"]{width:31px;height:31px;border:1px solid var(--line);border-radius:4px;background:transparent;padding:2px;cursor:pointer}.inline-fields{display:flex;align-items:center;gap:10px}.parts-list{list-style:none;padding:0;margin:10px 0}.parts-list li{padding:12px 0;border-bottom:1px solid var(--line);font-size:11px}.parts-list .part-title{display:flex;justify-content:space-between;align-items:center}.parts-list a{display:inline-block;color:var(--blue);font-size:10px;margin:7px 12px 0 0}.parts-list .icon-btn{width:25px;height:25px}.ownership-link{display:flex;gap:14px;align-items:center;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;text-decoration:none;padding:21px 0;font-size:12px}.ownership-link span{flex:1}.ownership-link small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.ownership-link:hover{color:var(--blue)}footer{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 36px;font-size:10px;color:var(--muted)}footer>span:first-child{font:16px Fraunces,serif}footer a{display:flex;gap:8px;align-items:center;text-decoration:none}footer svg{width:12px!important}
dialog{border:1px solid var(--line);padding:0;border-radius:8px;background:var(--paper);color:var(--ink);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);box-shadow:0 24px 90px #0003}dialog::backdrop{background:#15251db0;backdrop-filter:blur(5px)}.dialog-shell{width:480px;max-width:100%;padding:28px}.catalog-shell{width:780px}.dialog-head{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:20px}.search-form{display:flex;align-items:center;gap:12px;background:var(--bg);border:1px solid var(--line);border-radius:5px;padding:8px 10px 8px 15px}.search-form input{width:100%;min-width:0;border:0;background:transparent;outline:0;font-size:12px}.catalog-filters{display:grid;grid-template-columns:.7fr 1fr 1.5fr;gap:12px;margin-top:20px}.catalog-filters label{font:10px 'JetBrains Mono',monospace;color:var(--muted)}.search-results{max-height:420px;overflow:auto}.search-results button,.saved-row{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:14px 4px;background:transparent;border:0;border-bottom:1px solid var(--line);text-align:left}.search-results button:hover,.saved-row:hover{background:var(--line-soft)}.search-results strong{display:block;font-size:13px}.search-results small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.import-choices{display:grid;gap:12px}.import-choices .button{justify-content:start}.toast{position:fixed;z-index:100;bottom:22px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:var(--paper);padding:12px 20px;border-radius:4px;opacity:0;pointer-events:none;transition:.2s;font-size:12px;max-width:90vw}.toast.visible{opacity:1;transform:translate(-50%,0)}.vehicle-stage:fullscreen{background:var(--bg);height:100vh}.vehicle-stage:fullscreen .garage-shelf{display:none}
@media(min-width:1600px){.workspace{grid-template-columns:minmax(0,1fr) 440px}.viewer-host{min-height:530px}}
@media(max-width:1100px){.workspace{margin:0 20px;grid-template-columns:minmax(0,1fr) 340px}.workspace-heading{padding:24px 20px}.garage-shelf{grid-template-columns:1fr 1fr}.garage-shelf button:last-child{grid-column:1/-1;border-top:1px solid var(--line)}.stage-heading{padding:24px 18px 0}.stage-heading h2{font-size:34px}.search-launch{width:340px}.rail-panel{padding:20px}}
@media(max-width:800px){.topbar{padding:0 20px;height:65px}.header-divider,.header-location{display:none}.brand{font-size:23px}.workspace-heading{display:block;padding:22px 20px}.workspace-heading h1{font-size:30px}.search-launch{width:100%;margin-top:20px}.workspace{display:block}.vehicle-stage{min-height:560px}.viewer-host{flex:none;height:330px;min-height:330px}.stage-heading h2{font-size:32px}.stage-heading button{font-size:10px}.garage-shelf{grid-template-columns:1fr 1fr}.control-rail{border-left:0;border-top:1px solid var(--line)}.rail-panel{max-height:none;padding:24px}.rail-tabs{justify-content:space-between;padding:0 24px}.asset-credit{font-size:9px}.asset-badge{font-size:9px}.stage-tools{padding:8px 16px}.stage-tools .icon-btn{height:33px;width:33px}footer{padding:20px;flex-wrap:wrap}.top-actions{gap:8px}.text-btn{font-size:11px}.catalog-filters{grid-template-columns:1fr 1fr}.catalog-filters label:last-child{grid-column:1/-1}.dialog-shell{padding:22px}.catalog-shell{width:calc(100vw - 26px)}}
@media(max-width:430px){.top-actions #savedBtn{font-size:0;gap:4px}.topbar{gap:10px}.workspace{margin:0 12px}.stage-heading{padding:20px 12px 0}.asset-credit{padding:6px 16px 16px}.stage-tools{gap:5px}.garage-shelf button{padding:13px 10px;font-size:10px;gap:8px}.shelf-index{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.vision-launch{position:relative}.vision-launch>button{font-family:Fraunces,Georgia,serif;font-weight:600}.vision-launch [role=tooltip]{display:none;position:absolute;top:46px;right:0;width:260px;max-width:80vw;padding:12px;background:var(--ink);color:var(--paper);font-size:12px;z-index:60;border-radius:4px}.vision-launch:hover [role=tooltip],.vision-launch:focus-within [role=tooltip]{display:block}
.comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.comparison h3{font-size:18px;overflow-wrap:anywhere}.comparison .spec-list>div{display:block}.comparison dd{text-align:left}.parts-list li{overflow-wrap:anywhere}.parts-list .part-title strong{margin-right:auto}.parts-list .part-title{gap:6px}#personalCost{display:block}#shareUrl{overflow-wrap:anywhere}
#visionDialog{position:fixed;inset:0;margin:0;width:100%;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0;background:#000;color:#f5f5f5;--line:#ffffff42;--line-soft:#ffffff14;color-scheme:dark;overflow:hidden}#visionDialog::backdrop{background:#000}body:has(#visionDialog[open]){overflow:hidden}#visionCamera{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.vision-layout{position:relative;height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}.vision-header{display:flex;gap:12px;align-items:center;padding:12px 20px;background:#000b;z-index:2}.vision-header>a{font:500 23px Fraunces,Georgia,serif;text-decoration:none;white-space:nowrap}.vision-header [role=status]{font-size:11px;margin-right:auto;max-width:440px}.vision-header .icon-btn{width:42px;height:42px}#visionViewport{position:relative;overflow:hidden;min-height:0}#visionAssetSlot{position:absolute;inset:0}#visionAssetSlot .viewer-host{height:100%;min-height:0;width:100%;background:transparent;transform-origin:center;will-change:transform}#visionAssetSlot iframe,#visionAssetSlot canvas{width:100%;height:100%;display:block;border:0;background:transparent}.vision-controls{position:relative;background:#000c;padding:8px 20px 16px;z-index:2}.vision-credit{font-size:10px;line-height:1.4;max-width:1000px;margin:0 auto 8px;overflow-wrap:anywhere}.vision-drive-row{display:flex;justify-content:space-between;gap:14px;max-width:850px;margin:12px auto 0;align-items:center}.drive-pad,.vision-session-tools{display:flex;gap:8px;align-items:center}.drive-pad .icon-btn{width:46px;height:46px;touch-action:none;user-select:none;-webkit-user-select:none}.drive-pad .icon-btn[aria-pressed=true]{background:#436b53;border-color:#b2dcbb}.vision-session-tools select{width:64px;padding:6px;margin:0;background:#151515}.vision-controls .icon-btn{background:#171b18}.vision-controls .icon-btn:hover{background:#323b35}
@media(max-width:600px){.vision-header{gap:8px;padding:10px 12px;flex-wrap:wrap}.vision-header>a{font-size:21px;margin-right:auto}.vision-header [role=status]{order:4;flex-basis:100%;max-width:none;min-height:17px}.vision-controls{padding:6px 12px 10px}.vision-drive-row{gap:8px;flex-wrap:wrap}.drive-pad{gap:6px}.vision-session-tools{gap:6px;margin-left:auto}.drive-pad .icon-btn{height:44px;width:44px}.vision-credit{font-size:9px}.vision-launch [role=tooltip]{right:-110px}.vision-session-tools .icon-btn{width:34px;height:34px}}
@media(max-height:500px){.vision-controls{padding:4px 12px}.vision-credit{display:none}.vision-header{padding:4px 12px}.vision-drive-row{margin-top:2px}.vision-header [role=status]{order:0;flex-basis:auto}.vision-controls .icon-btn{width:34px;height:34px}}
/* build panel: quick surfaces, decals, accessories */
.chip-row{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 4px}
.chip-row button{border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);font-size:11px;padding:6px 11px;cursor:pointer}
.chip-row button:hover{border-color:var(--accent)}
.chip-row button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.chip-row button:disabled{opacity:.45;cursor:default}
.range-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:6px 0 12px}
.range-row label{font-size:11px;color:var(--ink-soft)}
.range-row input{display:block;width:100%;margin-top:6px;accent-color:var(--accent)}
.accessory-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin-top:12px}
.accessory-grid label{display:flex;align-items:center;gap:8px;font-size:11px;cursor:pointer}
.accessory-grid input:disabled+*{opacity:.5}
#decalTextField{margin:12px 0 4px}
#decalPlaceBtn[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--paper)}
.viewer-host canvas.decal-mode{cursor:crosshair}
.drive-hint{font-size:10px;color:#b9c0bb;margin-left:8px;max-width:140px;line-height:1.35}
@media(max-width:600px){.drive-hint{display:none}.range-row{grid-template-columns:1fr}}
