@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2?dpl=dpl_FQQgKVVcnJu33tbQ3TpLRTFjaMcx)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2?dpl=dpl_FQQgKVVcnJu33tbQ3TpLRTFjaMcx)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2?dpl=dpl_FQQgKVVcnJu33tbQ3TpLRTFjaMcx)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2?dpl=dpl_FQQgKVVcnJu33tbQ3TpLRTFjaMcx)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2?dpl=dpl_FQQgKVVcnJu33tbQ3TpLRTFjaMcx)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2?dpl=dpl_FQQgKVVcnJu33tbQ3TpLRTFjaMcx)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2?dpl=dpl_FQQgKVVcnJu33tbQ3TpLRTFjaMcx)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_c15e96cb-module__0bjUvq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_c15e96cb-module__0bjUvq__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.2f7nqdagzwx2-.woff2?dpl=dpl_FQQgKVVcnJu33tbQ3TpLRTFjaMcx)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.176arc174-8zp.woff2?dpl=dpl_FQQgKVVcnJu33tbQ3TpLRTFjaMcx)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.0bp8oijd_gu96.woff2?dpl=dpl_FQQgKVVcnJu33tbQ3TpLRTFjaMcx)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.1fby2rem9ngyr.woff2?dpl=dpl_FQQgKVVcnJu33tbQ3TpLRTFjaMcx)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.0vfdmo25voy_0.woff2?dpl=dpl_FQQgKVVcnJu33tbQ3TpLRTFjaMcx)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.3t6q91iet4nsy.woff2?dpl=dpl_FQQgKVVcnJu33tbQ3TpLRTFjaMcx)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_2fbad08d-module__Y6qpBa__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_2fbad08d-module__Y6qpBa__variable{--font-jetbrains:"JetBrains Mono", "JetBrains Mono Fallback"}
@font-face{font-family:Archivo;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/a2947afc6a06879b-s.1gyfqm5yhhzs7.woff2?dpl=dpl_FQQgKVVcnJu33tbQ3TpLRTFjaMcx)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/651aaf1801011892-s.357dd_6abeqge.woff2?dpl=dpl_FQQgKVVcnJu33tbQ3TpLRTFjaMcx)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/75affa71d1e2f6a7-s.p.17-aodiw50953.woff2?dpl=dpl_FQQgKVVcnJu33tbQ3TpLRTFjaMcx)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/a2947afc6a06879b-s.1gyfqm5yhhzs7.woff2?dpl=dpl_FQQgKVVcnJu33tbQ3TpLRTFjaMcx)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/651aaf1801011892-s.357dd_6abeqge.woff2?dpl=dpl_FQQgKVVcnJu33tbQ3TpLRTFjaMcx)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/75affa71d1e2f6a7-s.p.17-aodiw50953.woff2?dpl=dpl_FQQgKVVcnJu33tbQ3TpLRTFjaMcx)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/a2947afc6a06879b-s.1gyfqm5yhhzs7.woff2?dpl=dpl_FQQgKVVcnJu33tbQ3TpLRTFjaMcx)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/651aaf1801011892-s.357dd_6abeqge.woff2?dpl=dpl_FQQgKVVcnJu33tbQ3TpLRTFjaMcx)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/75affa71d1e2f6a7-s.p.17-aodiw50953.woff2?dpl=dpl_FQQgKVVcnJu33tbQ3TpLRTFjaMcx)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/a2947afc6a06879b-s.1gyfqm5yhhzs7.woff2?dpl=dpl_FQQgKVVcnJu33tbQ3TpLRTFjaMcx)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/651aaf1801011892-s.357dd_6abeqge.woff2?dpl=dpl_FQQgKVVcnJu33tbQ3TpLRTFjaMcx)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/75affa71d1e2f6a7-s.p.17-aodiw50953.woff2?dpl=dpl_FQQgKVVcnJu33tbQ3TpLRTFjaMcx)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo Fallback;src:local(Arial);ascent-override:88.96%;descent-override:21.28%;line-gap-override:0.0%;size-adjust:98.7%}.archivo_ba3496f0-module__hA_gpq__className{font-family:Archivo,Archivo Fallback;font-style:normal}.archivo_ba3496f0-module__hA_gpq__variable{--font-archivo:"Archivo", "Archivo Fallback"}
:root{--font-ui:var(--font-inter), "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:var(--font-jetbrains), "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-display:var(--font-archivo), "Archivo", var(--font-ui);--bg-chrome:#15100a;--bg-chrome-raised:#1f180f;--bg-scene-top:#f4f4f2;--bg-scene-bottom:#ddddd8;--text-primary:#e8e2d4;--text-muted:#ab9f8c;--text-faint:#91836c;--text-fainter:#79694f;--border-subtle:#2a2318;--accent:#14b8a6;--accent-hover:#0fa294;--valid:#22c55e;--warn:#f59e0b;--error:#ef4444;--unknown:#6b7280;--ink:#0f0c09;--border-lit:#55432c;--accent-glow:#14b8a680;--scene-light:#14b8a60f;--craft:#d4a574;--silk:#e8e2d4;--accent-ink:#06231f;--danger-ink:#2a0d0d;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-pill:999px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--text-xs-size:11px;--text-xs-line:16px;--text-sm-size:13px;--text-sm-line:20px;--text-md-size:15px;--text-md-line:22px;--text-lg-size:18px;--text-lg-line:26px;--text-xl-size:22px;--text-xl-line:30px;--size-topbar:48px;--size-rail:56px;--size-camerabar:44px;--size-panel-side:380px;--motion-fast:.2s ease-out;--motion-medium:.4s ease-out;--motion-camera:.6s ease-in-out;--outline-hover:1px solid var(--accent);--scrim-modal:#0006}.mono,[data-mono]{font-family:var(--font-mono)}
.app-top-bar{flex:0 0 var(--size-topbar);align-items:center;gap:var(--space-md);padding:0 var(--space-md);background:linear-gradient(180deg, var(--bg-chrome-raised), var(--ink));border-bottom:1px solid var(--border-subtle);box-shadow:inset 0 -1px 0 var(--scene-light);color:var(--text-primary);display:flex}.app-top-bar__logo{letter-spacing:.01em;color:var(--accent);font-weight:600}.app-top-bar__beta{letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--accent);color:var(--accent);cursor:help;border-radius:999px;padding:3px 6px;font-size:10px;font-weight:600;line-height:1}.app-top-bar__name,.app-top-bar__name-input{font-family:var(--font-ui);font-size:var(--text-sm-size);color:var(--text-primary);border-radius:var(--radius-sm);padding:4px var(--space-sm);background:0 0;border:1px solid #0000}.app-top-bar__name{cursor:text}.app-top-bar__name:hover{border-color:var(--border-subtle)}.app-top-bar__name-input{border-color:var(--accent);outline:none;min-width:160px}.app-top-bar__actions{gap:var(--space-sm);margin-left:auto;display:flex}.btn--ghost{color:var(--text-muted);background:0 0;border-color:#0000}.btn--ghost:hover:not(:disabled){color:var(--text-primary)}.btn:disabled{opacity:.5;cursor:not-allowed}.floating-toolbar{background:var(--bg-chrome-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);gap:2px;padding:3px;display:flex;box-shadow:0 4px 12px #00000059}.floating-toolbar button{border-radius:var(--radius-sm);width:26px;height:26px;color:var(--text-primary);cursor:pointer;background:0 0;border:none;place-items:center;font-size:14px;display:grid}.floating-toolbar button:hover:not(:disabled){background:var(--bg-chrome);color:var(--accent)}.floating-toolbar button:disabled{opacity:.4;cursor:not-allowed}.camera-bar{left:50%;bottom:var(--space-md);height:var(--size-camerabar);align-items:center;gap:var(--space-md);padding:0 var(--space-sm);border:1px solid var(--border-lit);border-radius:var(--radius-pill);box-shadow:0 10px 30px -12px #000, 0 0 0 1px var(--scene-light);background:#16181de6;display:flex;position:absolute;transform:translate(-50%)}.camera-bar__group{gap:2px;display:flex}.camera-bar__group+.camera-bar__group{padding-left:var(--space-md);border-left:1px solid var(--border-subtle)}.camera-bar__btn{color:var(--text-muted);font-family:var(--font-ui);font-size:var(--text-sm-size);padding:6px var(--space-sm);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;background:0 0;border:none}.camera-bar__btn:hover{color:var(--text-primary)}.camera-bar__btn[aria-pressed=true]{background:var(--bg-chrome-raised);color:var(--accent)}.camera-bar__slider{width:96px;height:4px;margin:0 var(--space-xs);accent-color:var(--accent);cursor:pointer;align-self:center}.scene-hint{max-width:240px;padding:var(--space-xs) var(--space-sm);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-xs-size);line-height:var(--text-xs-line);text-align:center;pointer-events:none;background:#16181de6}
.waiting-shelf{left:50%;top:calc(var(--size-topbar) + var(--space-md));gap:var(--space-xs);max-width:min(560px,80vw);padding:var(--space-sm) var(--space-md);background:linear-gradient(180deg, var(--bg-chrome-raised), var(--bg-chrome));border:1px solid var(--border-lit);border-radius:var(--radius-lg);box-shadow:0 6px 24px #0000004d, 0 0 0 1px var(--scene-light);animation:hint-in var(--motion-medium);flex-direction:column;display:flex;position:absolute;transform:translate(-50%)}.waiting-shelf__header{align-items:center;gap:var(--space-sm);display:flex}.waiting-shelf__count{background:var(--warn);min-width:18px;height:18px;color:var(--bg-chrome);border-radius:var(--radius-pill);font-size:var(--text-xs-size);justify-content:center;align-items:center;padding:0 5px;font-weight:600;display:inline-flex}.waiting-shelf__hint{color:var(--text-muted);font-size:var(--text-xs-size);line-height:var(--text-xs-line);margin:0}.waiting-shelf__items{gap:var(--space-xs);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.waiting-shelf__item{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--bg-chrome);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);display:flex}.waiting-shelf__name{text-overflow:ellipsis;white-space:nowrap;max-width:140px;color:var(--text-primary);font-size:var(--text-sm-size);overflow:hidden}.waiting-shelf__action{background:var(--accent);color:var(--bg-chrome);font-family:var(--font-ui);font-size:var(--text-xs-size);padding:3px var(--space-sm);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;border:none;font-weight:600}.waiting-shelf__action:hover{background:var(--accent-hover)}.waiting-shelf__action--muted{color:var(--text-muted);border:1px solid var(--border-subtle);background:0 0}.waiting-shelf__action--muted:hover{color:var(--text-primary)}.ghost-hint{left:50%;bottom:calc(var(--size-camerabar) + var(--space-2xl));padding:var(--space-sm) var(--space-md);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);color:var(--text-primary);font-size:var(--text-sm-size);pointer-events:none;animation:hint-in var(--motion-medium);background:#16181dd1;position:absolute;transform:translate(-50%)}@keyframes hint-in{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.tool-rail{flex:0 0 var(--size-rail);gap:var(--space-xs);padding:var(--space-sm) 0;background:linear-gradient(90deg, var(--ink), var(--bg-chrome));border-right:1px solid var(--border-subtle);box-shadow:inset -1px 0 0 var(--scene-light);flex-direction:column;display:flex}.tool-rail__door{border-radius:var(--radius-md);width:40px;height:40px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;margin:0 auto;display:grid;position:relative}.tool-rail__door svg{width:22px;height:22px}.tool-rail__door:hover:not(:disabled){border-color:var(--border-lit);color:var(--silk)}.tool-rail__door[aria-pressed=true]{background:var(--bg-chrome-raised);color:var(--accent);border-color:var(--accent);box-shadow:inset 0 0 12px -4px var(--accent-glow)}.tool-rail__door:disabled{opacity:.5;cursor:not-allowed}.tool-rail__sep{height:1px;margin:var(--space-xs) var(--space-sm);background:var(--border-subtle)}.tool-rail__badge{border-radius:var(--radius-pill);background:var(--accent);min-width:15px;height:15px;color:var(--ink);place-items:center;padding:0 3px;font-size:10px;font-weight:700;line-height:1;display:grid;position:absolute;top:2px;right:2px}
.catalog-panel{flex:0 0 var(--size-panel-side);background:linear-gradient(180deg, var(--bg-chrome), var(--ink));border-right:1px solid var(--border-subtle);box-shadow:inset -1px 0 0 var(--scene-light);color:var(--text-primary);animation:panel-in var(--motion-fast);flex-direction:column;display:flex}@keyframes panel-in{0%{opacity:0}to{opacity:1}}.catalog-panel__header{padding:var(--space-md);gap:var(--space-sm);border-bottom:1px solid var(--border-subtle);flex-direction:column;display:flex}.catalog-panel__searchrow{gap:var(--space-sm);align-items:center;display:flex}.catalog-panel__close{color:var(--text-muted);cursor:pointer;font-size:var(--text-md-size);background:0 0;border:none}.catalog-panel__count{font-size:var(--text-xs-size);color:var(--text-muted)}.catalog-panel__effectfilter{align-items:center;gap:var(--space-sm);font-size:var(--text-xs-size);color:var(--text-muted);display:flex}.catalog-panel__effectfilter select{background:var(--bg-chrome-raised);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:4px var(--space-sm);font-size:var(--text-sm-size);cursor:pointer;flex:1}.catalog-panel__effectfilter select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.catalog-panel__body{padding:var(--space-sm) var(--space-md);flex:1;overflow-y:auto}.search-input{background:var(--bg-chrome-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);padding:var(--space-sm);font-size:var(--text-sm-size);font-family:var(--font-ui);flex:1}.search-input:focus{border-color:var(--accent);outline:none}.segmented-tabs{background:var(--bg-chrome-raised);border-radius:var(--radius-md);padding:2px;display:flex}.segmented-tabs__tab{color:var(--text-muted);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm-size);background:0 0;border:none;flex:1}.segmented-tabs__tab[aria-selected=true]{background:var(--bg-chrome);color:var(--accent)}.catalog-card{gap:var(--space-sm);padding:var(--space-sm);margin-bottom:var(--space-sm);background:var(--bg-chrome-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;text-align:left;width:100%;color:inherit;font:inherit;display:flex}.catalog-card:hover{border-color:var(--border-lit)}.catalog-card__thumb{border-radius:var(--radius-md);background:linear-gradient(180deg, var(--border-subtle), var(--bg-chrome-raised));flex:none;grid-template-rows:100%;grid-template-columns:100%;place-items:center;width:72px;height:72px;display:grid;overflow:hidden}.catalog-card__thumb img{object-fit:contain;width:100%;min-width:0;height:100%;min-height:0}.thumb-skeleton{background:var(--bg-chrome);opacity:.5;width:100%;height:100%}.catalog-card__body{flex-direction:column;gap:2px;min-width:0;display:flex}.catalog-card__name{font-size:var(--text-md-size);font-weight:500}.catalog-card__brand,.catalog-card__dims{font-size:var(--text-sm-size);color:var(--text-muted)}.catalog-card__meta{gap:var(--space-sm);align-items:center;margin-top:2px;display:flex}.catalog-card__tier{font-size:var(--text-xs-size);color:var(--text-muted)}.mono{font-family:var(--font-mono)}.status-badge{font-size:var(--text-xs-size);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);align-items:center;gap:4px;padding:2px 6px;font-weight:500;display:inline-flex}.status-badge--verified{color:var(--accent);border-color:var(--accent)}.status-badge--unverified{color:var(--text-muted)}.catalog-detail{gap:var(--space-md);animation:detail-in var(--motion-fast);flex-direction:column;display:flex}@keyframes detail-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.catalog-detail__back{color:var(--text-muted);cursor:pointer;font-size:var(--text-sm-size);background:0 0;border:none;align-self:flex-start;padding:0}.catalog-detail__title{font-size:var(--text-lg-size);font-weight:600}.catalog-detail__title:focus{outline:none}.catalog-detail__title:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.catalog-detail__topview{aspect-ratio:1;border-radius:var(--radius-lg);background:linear-gradient(180deg, var(--border-subtle), var(--bg-chrome-raised));grid-template-rows:100%;grid-template-columns:100%;place-items:center;width:100%;max-height:260px;display:grid;overflow:hidden}.catalog-detail__topview img{object-fit:contain;width:100%;min-width:0;height:100%;min-height:0}.catalog-detail__variants{gap:var(--space-sm);flex-wrap:wrap;display:flex}.catalog-detail__swatch{border-radius:var(--radius-md);background:linear-gradient(180deg, var(--border-subtle), var(--bg-chrome-raised));border:1px solid var(--border-subtle);cursor:pointer;flex:none;grid-template-rows:100%;grid-template-columns:100%;place-items:center;width:72px;height:72px;padding:0;display:grid;overflow:hidden}.catalog-detail__swatch img{object-fit:contain;width:100%;min-width:0;height:100%;min-height:0}.catalog-detail__swatch:hover{border-color:var(--border-lit)}.catalog-detail__swatch.is-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.catalog-detail__colours{flex-direction:column;gap:4px;display:flex}.catalog-detail__schema{flex-direction:column;gap:4px;max-width:62%;display:flex}.catalog-detail__schema-label,.catalog-detail__colours-label{font-size:var(--text-xs-size);color:var(--text-muted);letter-spacing:.02em}.catalog-detail__specs{gap:4px var(--space-md);font-size:var(--text-sm-size);grid-template-columns:auto 1fr;display:grid}.catalog-detail__specs dt{color:var(--text-muted)}.catalog-detail__source{font-size:var(--text-sm-size);color:var(--text-muted)}.catalog-detail__disclaimer{font-size:var(--text-xs-size);color:var(--text-muted);margin:0;font-style:italic}.catalog-detail__fullpage{color:var(--text-muted);font-size:var(--text-sm-size);align-self:flex-start;text-decoration:underline}.catalog-detail__fullpage:hover{color:var(--text-primary)}.catalog-detail__report-notice{padding:var(--space-sm);font-size:var(--text-xs-size);color:var(--text-primary);border:1px solid var(--warn);border-radius:var(--radius-md);background:color-mix(in srgb, var(--warn) 10%, transparent);border-left-width:3px;margin:0}.connector-schema{background:var(--bg-chrome-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-sm)}.empty-state{gap:var(--space-md);padding:var(--space-lg) var(--space-sm);text-align:center;flex-direction:column;display:flex}.empty-state__msg{font-size:var(--text-md-size);color:var(--text-muted)}.btn{border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);font-size:var(--text-sm-size);cursor:pointer;border:1px solid var(--border-subtle);font-family:var(--font-ui)}.btn--primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn--secondary{color:var(--text-primary);background:0 0}.catalog-state{padding:var(--space-md);color:var(--text-muted);font-size:var(--text-sm-size)}.catalog-state__detail{margin-top:var(--space-sm);opacity:.6}.card-skeleton{height:88px;margin-bottom:var(--space-sm);border-radius:var(--radius-md);background:var(--bg-chrome-raised);opacity:.6}.has-tooltip{position:relative}.has-tooltip__bubble{z-index:30;background:var(--bg-chrome-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-sm);font-size:var(--text-xs-size);color:var(--text-primary);width:240px;line-height:var(--text-xs-line);margin-top:4px;position:absolute;top:100%;left:0}
.custom-editor{flex:0 0 var(--size-panel-side);background:var(--bg-chrome);border-right:1px solid var(--border-subtle);color:var(--text-primary);animation:panel-in var(--motion-fast);flex-direction:column;display:flex}.custom-editor__header{padding:var(--space-md);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.custom-editor__title{font-size:var(--text-md-size);font-weight:600}.custom-editor__body{padding:var(--space-md);gap:var(--space-md);flex-direction:column;flex:1;display:flex;overflow-y:auto}.custom-editor__dims,.custom-editor__presets{gap:var(--space-sm);grid-template-columns:repeat(3,1fr);display:grid}.custom-editor__preset{flex-direction:column;align-items:center;gap:2px;display:flex}.custom-editor__preset-size{font-size:var(--text-xs-size);color:var(--text-muted)}.rails-preview{background:var(--bg-chrome-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:100%;height:auto;max-height:140px;display:block}.rails-preview__outline{fill:none;stroke:var(--text-muted);stroke-width:3px}.rails-preview__rail{fill:var(--text-muted);opacity:.55}.custom-editor__toggle{align-items:center;gap:var(--space-sm);margin-top:var(--space-sm);font-size:var(--text-sm-size);cursor:pointer;display:flex}.custom-editor__electrical{gap:var(--space-sm);flex-direction:column;display:flex}.custom-editor__electrical-empty{align-items:center;gap:var(--space-sm);display:flex}.custom-editor__connectors{margin:var(--space-sm) 0 0;gap:var(--space-xs);flex-direction:column;padding:0;list-style:none;display:flex}.custom-editor__connectors li{align-items:center;gap:var(--space-sm);display:flex}.custom-editor__connectors li.is-selected{outline:1px solid var(--accent);border-radius:var(--radius-md);padding:2px}.custom-editor__conpos{font-size:var(--text-xs-size);color:var(--text-muted);flex:1}.custom-editor__remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none}.custom-editor__openings-add{gap:var(--space-sm);display:flex}.custom-editor__openings li{align-items:flex-end}.custom-editor__opening-kind{font-size:var(--text-xs-size);color:var(--text-muted);width:32px;padding-bottom:8px}.custom-editor__opening-fields{gap:var(--space-xs);flex:1;grid-template-columns:repeat(4,1fr);display:grid}.custom-editor__create{margin:var(--space-md)}.field{gap:var(--space-xs);flex-direction:column;display:flex}.field__label{font-size:var(--text-xs-size);color:var(--text-muted)}.field__inputwrap{align-items:center;gap:var(--space-xs);display:flex}.field__input{background:var(--bg-chrome-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);min-width:0;color:var(--text-primary);padding:var(--space-sm);font-size:var(--text-sm-size);font-family:var(--font-ui);flex:1}.field__input:focus{border-color:var(--accent);outline:none}.field__unit,.field__hint{font-size:var(--text-xs-size);color:var(--text-muted)}.field__hint--error{color:var(--error)}.form__error{color:var(--error);font-size:var(--text-sm-size)}.unknown{color:var(--unknown);font-size:var(--text-sm-size)}.toast{left:50%;bottom:calc(var(--size-camerabar,44px) + var(--space-xl));z-index:40;align-items:center;gap:var(--space-sm);max-width:min(520px,86vw);padding:var(--space-sm) var(--space-md);background:var(--bg-chrome-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm-size);animation:hint-in var(--motion-medium);display:flex;position:absolute;transform:translate(-50%);box-shadow:0 6px 24px #0000004d}.toast__message{flex:1}.toast__action{border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--accent);cursor:pointer;padding:2px var(--space-sm);font-size:var(--text-xs-size);background:0 0}.toast__close{color:var(--text-muted);cursor:pointer;background:0 0;border:none}.booting{background:linear-gradient(to bottom, var(--bg-scene-top), var(--bg-scene-bottom));flex:1 1 0}.unsupported{min-height:0;padding:var(--space-lg);background:var(--bg-chrome);color:var(--text-primary);flex:1 1 0;justify-content:center;align-items:center;display:flex;overflow-y:auto}.unsupported__card{gap:var(--space-md);text-align:center;flex-direction:column;width:100%;max-width:420px;display:flex}.unsupported__wordmark{color:var(--accent);font-weight:600;font-size:var(--text-lg-size)}.unsupported__visual{border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:linear-gradient(135deg, var(--bg-chrome-raised), var(--bg-chrome)), repeating-linear-gradient(90deg, transparent 0 28px, #ffffff08 28px 30px);height:150px}.unsupported__pitch{font-size:var(--text-xl-size);line-height:var(--text-xl-line);margin:0;font-weight:600}.unsupported__honest{font-size:var(--text-md-size);color:var(--text-primary);margin:0}.unsupported__bridge{gap:var(--space-sm);margin-top:var(--space-sm);flex-direction:column;align-items:center;display:flex}.unsupported__url{background:var(--bg-chrome-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:100%;color:var(--text-primary);padding:var(--space-sm);font-size:var(--text-xs-size)}.unsupported__note{font-size:var(--text-xs-size);color:var(--text-muted);margin:0}
.finding-callout{left:50%;bottom:calc(var(--size-camerabar) + var(--space-2xl));z-index:25;background:var(--bg-chrome-raised);border:1px solid var(--border-subtle);border-left:3px solid var(--error);border-radius:var(--radius-md);max-width:440px;padding:var(--space-sm) var(--space-md);font-size:var(--text-xs-size);line-height:var(--text-xs-line);color:var(--text-primary);pointer-events:none;white-space:normal;position:absolute;transform:translate(-50%);box-shadow:0 4px 16px #0006}.finding-callout--warn{border-left-color:var(--warn)}.finding-callout p{margin:0}.finding-callout p+p{margin-top:var(--space-xs)}.feasibility-panel{top:calc(var(--size-topbar,0px) + var(--space-md));right:var(--space-md);z-index:25;gap:var(--space-sm);width:280px;max-width:42vw;padding:var(--space-md);background:linear-gradient(180deg, var(--bg-chrome-raised), var(--bg-chrome));border:1px solid var(--border-lit);border-radius:var(--radius-lg);box-shadow:0 6px 24px #0000004d, 0 0 0 1px var(--scene-light);animation:hint-in var(--motion-medium);flex-direction:column;display:flex;position:absolute}.feasibility-panel__header{font-size:var(--text-sm-size);color:var(--text-primary);justify-content:space-between;align-items:center;font-weight:600;display:flex}.panel-serigraphy{color:var(--silk);font-size:var(--text-xs-size);letter-spacing:.14em;text-transform:uppercase}.feasibility-panel__counts{gap:var(--space-xs);display:flex}.count{font-size:var(--text-xs-size);border-radius:var(--radius-pill);padding:0 6px;line-height:16px}.count--error{background:color-mix(in srgb, var(--error) 22%, transparent);color:var(--error)}.count--warn{background:color-mix(in srgb, var(--warn) 22%, transparent);color:var(--warn)}.feasibility-panel__ok{gap:var(--space-sm);color:var(--valid);font-size:var(--text-sm-size);line-height:var(--text-sm-line);align-items:flex-start;display:flex}.feasibility-panel__ok-check{font-weight:700}.findings{flex-direction:column;gap:2px;max-height:46vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.finding-row{gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);font-size:var(--text-xs-size);line-height:var(--text-xs-line);color:var(--text-primary);align-items:flex-start;display:flex}.finding-row--clickable{cursor:pointer}.finding-row--clickable:hover{background:var(--bg-chrome)}.finding-row__dot{border-radius:50%;flex:0 0 8px;width:8px;height:8px;margin-top:5px}.finding-row__dot--error{background:var(--error)}.finding-row__dot--warn{background:var(--warn)}.finding-row__msg{min-width:0}.feasibility-panel__budget{gap:var(--space-sm);margin-top:var(--space-xs);padding-top:var(--space-sm);border-top:1px solid var(--border-subtle);flex-direction:column;display:flex}.ma-gauge{flex-direction:column;gap:3px;display:flex}.ma-gauge--total{margin-top:var(--space-xs);padding-top:var(--space-sm);border-top:1px solid var(--border-subtle)}.ma-gauge__label{font-size:var(--text-xs-size);color:var(--text-muted)}.ma-gauge__bar{border-radius:var(--radius-sm);background:var(--bg-chrome);height:8px;overflow:hidden}.ma-gauge__fill{border-radius:var(--radius-sm);height:100%;transition:width var(--motion-fast)}.ma-gauge__value{font-size:var(--text-xs-size);align-self:flex-end}.plug-menu{background:var(--bg-chrome-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);gap:2px;padding:2px;display:flex;box-shadow:0 4px 16px #0006}.plug-menu__btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);white-space:nowrap;background:0 0;border:none;padding:2px 6px;font-size:10px}.plug-menu__btn.is-active{background:var(--accent);color:var(--accent-ink)}.plug-menu__btn:hover:not(.is-active){color:var(--text-primary)}.plug-menu__btn--spin{border-radius:50%;padding:2px 5px;font-size:14px;line-height:1}.plug-menu__select{border:1px solid var(--border-subtle);color:var(--text-muted);border-radius:var(--radius-sm);background:0 0;max-width:150px;padding:1px 2px;font-size:10px}.plug-menu__select:focus{color:var(--text-primary);border-color:var(--accent);outline:none}
.cable-panel{flex:0 0 var(--size-panel-side);background:linear-gradient(180deg, var(--bg-chrome), var(--ink));border-right:1px solid var(--border-subtle);box-shadow:inset -1px 0 0 var(--scene-light);color:var(--text-primary);animation:panel-in var(--motion-fast);flex-direction:column;display:flex}.cable-panel__header{padding:var(--space-md);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.cable-panel__body{padding:var(--space-sm) var(--space-md);flex:1;overflow-y:auto}.cable-panel__copy{margin:var(--space-md)}.cable-panel__mode{width:100%;margin-bottom:var(--space-sm);padding:var(--space-xs) var(--space-sm);align-items:center;gap:var(--space-xs);border:1px solid var(--border-lit);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm-size);cursor:pointer;background:0 0;display:flex}.cable-panel__mode svg{flex:none;width:18px;height:18px}.cable-panel__mode:hover{border-color:var(--silk)}.cable-panel__mode[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:var(--bg-chrome-raised);box-shadow:inset 0 0 12px -4px var(--accent-glow)}.cable-rows{gap:var(--space-xs);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.cable-panel__total{margin-top:var(--space-sm);padding:var(--space-sm) var(--space-sm) 0;border-top:1px solid var(--border-subtle);font-size:var(--text-sm-size);color:var(--text-primary);justify-content:space-between;align-items:baseline;display:flex}.cable-row{padding:var(--space-sm);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;flex-direction:column;gap:3px;display:flex}.cable-row.is-hovered{border-color:var(--accent);background:var(--bg-chrome-raised)}.cable-row.is-selected{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.cable-row:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cable-row__top{justify-content:space-between;align-items:center;display:flex}.cable-row__type{font-size:var(--text-xs-size);text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-pill);color:var(--text-muted);align-items:center;gap:5px;padding:1px 6px 1px 4px;display:inline-flex}.cable-swatch{border-radius:var(--radius-sm);border:1px solid #ffffff47;flex:none;width:14px;height:8px}.cable-swatch--pick{cursor:pointer;appearance:none;background:0 0;padding:0}.cable-swatch--pick::-webkit-color-swatch-wrapper{padding:0}.cable-swatch--pick::-webkit-color-swatch{border-radius:var(--radius-sm);border:none}.cable-swatch--pick::-moz-color-swatch{border-radius:var(--radius-sm);border:none}.cable-row__reset{appearance:none;cursor:pointer;color:var(--text-muted);line-height:1;font-size:var(--text-sm-size);background:0 0;border:none;margin-left:1px;padding:0 2px}.cable-row__reset:hover{color:var(--text-primary)}.cable-legend{gap:var(--space-sm) var(--space-md);margin:0 0 var(--space-sm);padding:0 0 var(--space-sm);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;list-style:none;display:flex}.cable-legend__item{font-size:var(--text-xs-size);color:var(--text-muted);align-items:center;gap:6px;display:inline-flex}.cable-row__len,.cable-row__ends{font-size:var(--text-sm-size);color:var(--text-primary)}.cable-row__plugs{font-size:var(--text-xs-size);color:var(--text-muted)}
.export-menu{position:relative}.export-menu__pop{z-index:40;background:var(--bg-chrome-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;gap:2px;min-width:180px;margin-top:4px;padding:4px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 12px 32px #00000047}.export-menu__item{appearance:none;text-align:left;cursor:pointer;border-radius:var(--radius-sm);font-size:var(--text-sm-size);color:var(--text-primary);background:0 0;border:0;padding:8px 10px}.export-menu__item:hover{background:var(--bg-chrome)}.export-menu__item:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.export-menu__sep{height:1px;margin:var(--space-xs) 0;background:var(--border-subtle)}.modal-scrim{z-index:100;background:var(--scrim-modal);padding:var(--space-lg);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-chrome-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;max-width:400px;padding:var(--space-lg);box-shadow:0 24px 64px #00000073}.modal__head{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);display:flex}.modal__title{font-size:var(--text-lg-size);line-height:var(--text-lg-line);color:var(--text-primary);font-weight:600}.modal__close{appearance:none;cursor:pointer;color:var(--text-muted);background:0 0;border:0;padding:2px 4px;font-size:16px;line-height:1}.modal__close:hover{color:var(--text-primary)}.modal__subtitle{margin-top:var(--space-xs);color:var(--text-muted);font-size:var(--text-sm-size);line-height:var(--text-sm-line)}.modal__actions{justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-lg);display:flex}.auth-form{margin-top:var(--space-md);flex-direction:column;display:flex}.auth-form__label{font-size:var(--text-xs-size);color:var(--text-muted);margin-bottom:var(--space-xs)}.auth-form__input{box-sizing:border-box;background:var(--bg-chrome);border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-size:var(--text-sm-size);margin-bottom:var(--space-md);padding:9px 10px}.auth-form__input:focus-visible{border-color:var(--accent);outline:none}.auth-form__password{position:relative}.auth-form__reveal{appearance:none;cursor:pointer;color:var(--text-muted);font-size:var(--text-xs-size);background:0 0;border:0;position:absolute;top:8px;right:8px}.auth-form__reveal:hover{color:var(--text-primary)}.auth-form .form__error{margin:-4px 0 var(--space-md)}.auth-form__submit{justify-content:center;width:100%}.auth-form__legal{margin-top:var(--space-sm);color:var(--text-muted);font-size:var(--text-xs-size);text-align:center}.auth-form__toggle{appearance:none;cursor:pointer;color:var(--accent);font-size:var(--text-sm-size);margin-top:var(--space-md);text-align:center;background:0 0;border:0;width:100%}.auth-form__toggle:hover{color:var(--accent-hover)}.auth-form__forgot{appearance:none;cursor:pointer;margin:calc(-1 * var(--space-sm)) 0 var(--space-md);color:var(--text-muted);font-size:var(--text-xs-size);background:0 0;border:0;align-self:flex-end;padding:0;position:relative}.auth-form__forgot:hover{color:var(--accent-hover)}.auth-form__hint{margin:0 0 var(--space-md);color:var(--text-muted);font-size:var(--text-sm-size);line-height:var(--text-sm-line)}.auth-form__sent{margin:-4px 0 var(--space-md);color:var(--text-primary);font-size:var(--text-sm-size);line-height:var(--text-sm-line)}.legal.reset-password{max-width:420px}.reset-password .auth-form{margin-top:var(--space-lg)}.reset-password__hint{color:var(--text-secondary)}.inline-sign-in{max-width:360px}.account-menu{position:relative}.account-menu__pop{z-index:40;background:var(--bg-chrome-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;gap:2px;min-width:220px;margin-top:4px;padding:4px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 12px 32px #00000047}.account-menu__item{appearance:none;text-align:left;cursor:pointer;border-radius:var(--radius-sm);font-size:var(--text-sm-size);color:var(--text-primary);background:0 0;border:0;padding:8px 10px}.account-menu__item:hover:not(:disabled){background:var(--bg-chrome)}.account-menu__item:disabled{color:var(--text-muted);opacity:.5;cursor:not-allowed}.account-menu__item--danger:not(:disabled){color:var(--error)}.account-menu__email{font-family:var(--font-mono);font-size:var(--text-xs-size);color:var(--text-muted);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);text-overflow:ellipsis;white-space:nowrap;margin:2px 0;padding:8px 10px;overflow:hidden}.btn--danger{background:var(--error);color:var(--danger-ink);border-color:var(--error)}.my-rigs{z-index:60;background:var(--bg-chrome);padding:var(--space-xl);flex-direction:column;display:flex;position:fixed;inset:0;overflow-y:auto}.my-rigs__head{justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);display:flex}.my-rigs__title{align-items:baseline;gap:var(--space-sm);display:flex}.my-rigs__title h1{font-size:var(--text-xl-size);line-height:var(--text-xl-line);color:var(--text-primary);font-weight:600}.my-rigs__count{font-size:var(--text-sm-size);color:var(--text-muted)}.my-rigs__actions{align-items:center;gap:var(--space-sm);display:flex}.my-rigs__sort{align-items:center;gap:var(--space-xs);font-size:var(--text-sm-size);color:var(--text-muted);display:flex}.my-rigs__sort select{background:var(--bg-chrome-raised);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:var(--text-sm-size);padding:5px 8px}.my-rigs__grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.my-rigs__state{align-items:center;gap:var(--space-md);padding:var(--space-2xl);color:var(--text-muted);text-align:center;flex-direction:column;display:flex}.my-rigs__empty p{font-size:var(--text-md-size)}.rig-card{background:var(--bg-chrome-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:border-color var(--motion-fast), transform var(--motion-fast);flex-direction:column;display:flex;overflow:hidden}.rig-card:hover{border-color:var(--border-subtle);transform:translateY(-2px)}.rig-card--skeleton{opacity:.5;height:232px}.rig-card__open{appearance:none;cursor:pointer;background:0 0;border:0;padding:0;display:block}.rig-card__open:disabled{cursor:default}.rig-card__thumb{aspect-ratio:4/3;object-fit:contain;background:linear-gradient(180deg, var(--bg-scene-top), var(--bg-scene-bottom));width:100%;display:block}.rig-card__thumb--skeleton{background:var(--bg-chrome)}.rig-card__body{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm) var(--space-md) var(--space-md);display:flex}.rig-card__info{flex-direction:column;gap:2px;min-width:0;display:flex}.rig-card__name{appearance:none;cursor:pointer;text-align:left;font-size:var(--text-md-size);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;max-width:200px;padding:0;font-weight:500;overflow:hidden}.rig-card__name:hover{color:var(--accent)}.rig-card__name-input{background:var(--bg-chrome);border:1px solid var(--accent);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-md-size);width:200px;padding:2px 6px}.rig-card__board{font-size:var(--text-sm-size);color:var(--text-muted)}.rig-card__date{font-family:var(--font-mono);font-size:var(--text-xs-size);color:var(--text-muted)}.rig-card__menu{opacity:0;transition:opacity var(--motion-fast);position:relative}.rig-card:hover .rig-card__menu,.rig-card__menu:focus-within{opacity:1}.rig-card__menu-trigger{appearance:none;cursor:pointer;color:var(--text-muted);background:0 0;border:0;padding:0 4px;font-size:18px;line-height:1}.rig-card__menu-trigger:hover{color:var(--text-primary)}.rig-card__menu-pop{z-index:5;background:var(--bg-chrome-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;gap:2px;min-width:160px;margin-top:2px;padding:4px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 12px 32px #0000004d}.rig-card__menu-item{appearance:none;text-align:left;cursor:pointer;border-radius:var(--radius-sm);font-size:var(--text-sm-size);color:var(--text-primary);background:0 0;border:0;padding:8px 10px}.rig-card__menu-item:hover{background:var(--bg-chrome)}.rig-card__menu-item--danger{color:var(--error)}.rig-card__menu-sep{background:var(--border-subtle);height:1px;margin:2px 4px}.delete-account__label{font-size:var(--text-sm-size);color:var(--text-muted);margin:var(--space-md) 0 var(--space-xs);display:block}.delete-account__label strong{color:var(--text-primary);font-family:var(--font-mono)}.delete-account__input{box-sizing:border-box;background:var(--bg-chrome);border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-size:var(--text-sm-size);font-family:var(--font-mono);letter-spacing:.1em;padding:9px 10px}.delete-account__input:focus-visible{border-color:var(--error);outline:none}.account-menu__sep{background:var(--border-subtle);height:1px;margin:4px}.account-menu__link{text-decoration:none;display:block}.auth-form__legal a{color:var(--accent);text-decoration:none}.auth-form__legal a:hover{text-decoration:underline}.legal{max-width:720px;padding:var(--space-2xl) var(--space-lg) var(--space-2xl);margin:0 auto;line-height:1.65}.legal__draft{background:color-mix(in srgb, var(--craft) 18%, transparent);color:var(--craft);border:1px solid color-mix(in srgb, var(--craft) 40%, transparent);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);font-size:var(--text-sm-size);margin-bottom:var(--space-lg)}.legal__back{color:var(--accent);font-size:var(--text-sm-size);margin-bottom:var(--space-lg);text-decoration:none;display:inline-block}.legal__back:hover{text-decoration:underline}.legal h1{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:var(--space-xs);font-size:28px;font-weight:800;line-height:1.15}.legal__updated{color:var(--text-muted);font-size:var(--text-sm-size);margin-bottom:var(--space-lg)}.legal h2{font-family:var(--font-display);letter-spacing:-.01em;font-weight:700;font-size:var(--text-lg-size);margin:var(--space-xl) 0 var(--space-sm);color:var(--text-primary)}.legal p,.legal li{color:var(--text-primary);font-size:var(--text-md-size)}.legal ul{padding-left:var(--space-lg);gap:var(--space-xs);flex-direction:column;display:flex}.legal strong{color:var(--text-primary)}.fiche{max-width:1140px;padding:var(--space-2xl) var(--space-lg) var(--space-2xl);margin:0 auto;line-height:1.6}.catalog-index{max-width:1280px;padding:var(--space-2xl) var(--space-lg) var(--space-2xl);margin:0 auto;line-height:1.6}.fiche__back,.catalog-index .fiche__back{color:var(--accent);font-size:var(--text-sm-size);text-decoration:none;display:inline-block}.fiche__back:hover{text-decoration:underline}.fiche__crumbs{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xl);font-size:var(--text-sm-size);color:var(--text-faint);display:flex}.fiche__crumb-sep{color:var(--text-fainter)}.fiche__layout{gap:var(--space-2xl);grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:start;display:grid}.fiche__art{margin-bottom:var(--space-lg)}.fiche__art-stage{background:radial-gradient(ellipse 70% 80% at 50% 40%, #d4a57417, transparent 70%), var(--bg-chrome);border:1px solid var(--border-subtle);padding:var(--space-xl);border-radius:14px}.fiche__art-stage--model{justify-content:center;display:flex}.fiche__art-grid{grid-template-columns:minmax(0,1fr) auto;gap:12px 14px;display:grid}.fiche__art-img{border-radius:6px;grid-area:1/1;width:100%;height:auto;box-shadow:0 10px 24px #00000080}.fiche__art-img--model{width:auto;max-width:100%;max-height:360px;box-shadow:none;border-radius:var(--radius-lg)}.fiche__rule{color:var(--accent);font-family:var(--font-mono);font-size:var(--text-xs-size);align-items:center;gap:8px;display:flex}.fiche__rule i{background:var(--accent);opacity:.65;flex:1}.fiche__rule em{white-space:nowrap;font-style:normal}.fiche__rule--v{flex-direction:column;grid-area:1/2}.fiche__rule--v i{width:1px}.fiche__rule--h{grid-area:2/1}.fiche__rule--h i{height:1px}.fiche__art-caption{margin-top:var(--space-sm);letter-spacing:.04em;color:var(--text-fainter);font-size:10.5px}.fiche__head{align-items:flex-start;gap:var(--space-sm);margin-bottom:var(--space-lg);flex-direction:column;display:flex}.fiche__type{border:1px solid var(--border-lit);border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:var(--text-xs-size);text-transform:uppercase;letter-spacing:.14em;color:var(--craft);padding:3px 12px;display:inline-block}.fiche__title{font-family:var(--font-display);letter-spacing:-.02em;font-size:34px;font-weight:800;line-height:1.12}.fiche__brand{color:var(--craft);font-weight:500}.fiche__schema{background:linear-gradient(180deg, var(--bg-scene-top), var(--bg-scene-bottom));border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-lg);justify-content:center;display:flex}.fiche__schema svg{max-width:100%;height:auto}.fiche__desc{color:var(--text-primary);font-size:var(--text-md-size);margin-bottom:var(--space-lg)}.fiche__specs{gap:var(--space-sm) var(--space-lg);background:var(--bg-chrome);border:1px solid var(--border-subtle);padding:var(--space-lg);margin-bottom:var(--space-lg);border-radius:14px;grid-template-columns:minmax(120px,max-content) 1fr;display:grid}.fiche__specs dt{color:var(--text-faint);font-size:var(--text-sm-size)}.fiche__specs dd{color:var(--text-primary);font-size:var(--text-sm-size)}.fiche__source,.fiche__vendors{color:var(--text-muted);font-size:var(--text-sm-size);margin-bottom:var(--space-sm)}.fiche__source a,.fiche__vendors a{color:var(--accent);text-decoration:none}.fiche__source a:hover,.fiche__vendors a:hover{text-decoration:underline}.fiche__cta{margin-top:var(--space-md);margin-bottom:var(--space-lg);text-decoration:none;display:inline-block}.catalog-index__kicker{font-size:var(--text-xs-size);letter-spacing:.18em;text-transform:uppercase;color:var(--craft);margin-bottom:var(--space-xs)}.catalog-index__title{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:var(--space-xs);font-size:38px;font-weight:800;line-height:1.1}.catalog-index__intro{color:var(--text-muted);font-size:var(--text-md-size);max-width:560px}.catalog-index__nav{gap:var(--space-lg);margin:var(--space-md) 0 var(--space-xl);flex-wrap:wrap;display:flex}.catalog-index__chips{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xl);flex-wrap:wrap;display:flex}.catalog-index__chip{border:1px solid var(--border-subtle);border-radius:var(--radius-pill);color:var(--text-muted);font-size:var(--text-sm-size);align-items:center;gap:6px;padding:6px 14px;text-decoration:none;display:inline-flex}.catalog-index__chip:hover{border-color:var(--border-lit);color:var(--text-primary)}.catalog-index__chip-count{color:var(--text-fainter);font-size:11px}.catalog-index__sorted{letter-spacing:.08em;color:var(--text-fainter);margin-left:auto;font-size:11px}.catalog-index__group{margin-bottom:var(--space-2xl)}.catalog-index__group h2{font-family:var(--font-display);letter-spacing:-.01em;font-weight:700;font-size:var(--text-lg-size);margin-bottom:var(--space-md);color:var(--text-primary);scroll-margin-top:72px}.catalog-index__grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(228px,1fr));padding:0;list-style:none;display:grid}.gear-card{content-visibility:auto;contain-intrinsic-size:auto 268px}.gear-card__link{background:var(--bg-chrome);border:1px solid var(--border-subtle);border-radius:14px;flex-direction:column;height:100%;text-decoration:none;transition:border-color .12s,transform .12s;display:flex;overflow:hidden}.gear-card__link:hover{border-color:var(--border-lit);transform:translateY(-2px)}.gear-card__thumb{background:radial-gradient(70% 80% at 50% 40%,#d4a57417,#0000 70%),#120e0a;justify-content:center;align-items:center;height:170px;display:flex}.gear-card__thumb img{border-radius:6px;max-width:78%;max-height:82%;box-shadow:0 10px 24px #00000080}.gear-card__swatch{background:var(--bg-chrome-raised);border-radius:6px;width:64px;height:86px;box-shadow:0 10px 24px #00000080}.gear-card__body{border-top:1px solid var(--border-subtle);flex-direction:column;flex:1;gap:4px;padding:12px 14px 14px;display:flex}.gear-card__brand{letter-spacing:.1em;text-transform:uppercase;color:var(--craft);font-size:10px}.gear-card__name{font-family:var(--font-display);color:var(--text-primary);font-size:15px;font-weight:700;line-height:1.25}.gear-card__meta{justify-content:space-between;align-items:center;gap:var(--space-sm);padding-top:var(--space-sm);margin-top:auto;display:flex}.gear-card__dims{color:var(--text-fainter);font-size:11px}.gear-card__status{align-items:center;gap:5px;font-size:11px;display:inline-flex}.gear-card__status:before{content:"";border-radius:50%;width:6px;height:6px}.gear-card__status--verified{color:var(--accent)}.gear-card__status--verified:before{background:var(--accent)}.gear-card__status--unverified{color:var(--text-faint)}.gear-card__status--unverified:before{border:1px solid var(--text-fainter)}.catalog-index__foot{justify-content:space-between;align-items:center;gap:var(--space-md);border-top:1px solid var(--border-subtle);padding-top:var(--space-lg);margin-top:var(--space-xl);flex-wrap:wrap;display:flex}.catalog-index__foot-note{letter-spacing:.04em;color:var(--text-fainter);font-size:11px}.catalog-index__foot-cta{color:var(--text-muted);font-size:var(--text-sm-size);align-items:center;gap:var(--space-sm);display:inline-flex}.catalog-index__add{border:1px solid var(--border-lit);border-radius:var(--radius-pill);color:var(--craft);font-size:var(--text-sm-size);padding:7px 18px;text-decoration:none;display:inline-block}.catalog-index__add:hover{border-color:var(--craft)}@media (max-width:880px){.fiche__layout{gap:var(--space-xl);grid-template-columns:1fr}.fiche__title{font-size:28px}.catalog-index__title{font-size:30px}}@media (max-width:520px){.fiche__specs{gap:2px var(--space-lg);grid-template-columns:1fr}.fiche__specs dd{margin-bottom:var(--space-sm)}}.account-trigger{justify-content:center;align-items:center;padding:6px 8px;display:inline-flex}.account-trigger svg{width:18px;height:18px;display:block}
.catalog-detail__report{margin-top:var(--space-sm,8px);color:var(--text-muted);font-size:var(--text-sm-size);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;text-decoration:underline}.catalog-detail__report:hover{color:var(--text-primary)}.catalog-detail__reported{margin-top:var(--space-sm,8px);color:var(--accent);font-size:var(--text-sm-size)}.report-modal__categories{gap:var(--space-xs,6px);margin:var(--space-md,12px) 0;flex-wrap:wrap;display:flex}.report-modal__cat{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--text-sm-size);cursor:pointer;background:0 0;padding:6px 12px}.report-modal__cat--active{border-color:var(--accent);color:var(--text-primary);background:color-mix(in srgb, var(--accent) 12%, transparent)}.report-modal__fields{gap:var(--space-xs,6px);margin-bottom:var(--space-md,12px);flex-direction:column;display:flex}.report-modal__fields select,.report-modal__fields input,.report-modal__fields textarea{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-chrome);color:var(--text-primary);padding:8px 10px}.report-modal__label{font-size:var(--text-sm-size);color:var(--text-muted)}.report-modal__listed{color:var(--text-muted);font-size:var(--text-sm-size)}.report-modal__status{color:var(--accent)}.report-modal__photo{gap:var(--space-xs,6px);margin-bottom:var(--space-md,12px);flex-direction:column;display:flex}.report-modal__photo-ok{color:var(--accent);font-size:var(--text-sm-size)}.report-modal__badge{align-items:center;gap:var(--space-sm,8px);margin-top:var(--space-xs,6px);display:flex}.report-modal__source{color:var(--text-muted);font-size:var(--text-xs-size)}.report-modal__photo-err{color:var(--error);font-size:var(--text-sm-size)}.report-modal__dup-matches{gap:var(--space-xs,6px);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.report-modal__dup-matches .report-modal__cat{text-align:left;width:100%}.report-modal__dup-chosen{justify-content:space-between;align-items:center;gap:var(--space-sm,8px);color:var(--text-primary);margin:0;display:flex}.stepper{margin-bottom:var(--space-md,12px)}.stepper__dots{gap:var(--space-xs,6px);margin:0 0 var(--space-xs,6px);padding:0;list-style:none;display:flex}.stepper__step{flex:1}.stepper__dot{cursor:pointer;width:100%;color:var(--text-muted);font-size:var(--text-xs-size);background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;padding:0;display:flex}.stepper__dot:disabled{cursor:default;opacity:.6}.stepper__step--current .stepper__label{color:var(--text-primary);font-weight:600}.stepper__step--done .stepper__marker{color:var(--accent)}.stepper__progress{color:var(--text-muted);font-size:var(--text-xs-size);margin:0}.contribform__body{gap:var(--space-md,12px);flex-direction:column;min-height:180px;display:flex}.contribform__review{color:var(--text-muted);flex-direction:column;gap:4px;display:flex}.contribform__crop{gap:var(--space-xs,6px);flex-direction:column;display:flex}.contribform__crop img{object-fit:contain;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-chrome);align-self:flex-start;max-width:140px;max-height:140px}.contribform__confirm{align-items:center;gap:var(--space-sm,8px);font-size:var(--text-sm-size);color:var(--text-primary);cursor:pointer;display:flex}.duplicate-hint{margin-top:var(--space-sm,8px);padding:var(--space-sm,8px);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-chrome)}.duplicate-hint__title{font-size:var(--text-sm-size);color:var(--text-primary);margin:0 0 4px}.duplicate-hint__list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.duplicate-hint__card{justify-content:space-between;gap:var(--space-sm,8px);font-size:var(--text-sm-size);display:flex}.duplicate-hint__dims{color:var(--text-muted)}.duplicate-hint__foot{font-size:var(--text-xs-size);color:var(--text-muted);margin:6px 0 0}.custom-editor__contribute-link{margin-top:var(--space-sm,8px);color:var(--text-muted);cursor:pointer;font-size:var(--text-sm-size);text-align:left;background:0 0;border:none;width:100%;padding:0;text-decoration:underline;display:block}.custom-editor__contribute-link:hover{color:var(--text-primary)}.contrib-status{border-radius:var(--radius-pill);font-size:var(--text-xs-size);border:1px solid var(--border-subtle);align-items:center;gap:4px;padding:2px 8px;font-weight:500;display:inline-flex}.contrib-status--published{color:var(--accent);border-color:var(--accent)}.contrib-status--needs{color:var(--error);border-color:var(--error)}.contrib-status--progress{color:var(--text-muted)}.contrib-timeline{gap:var(--space-sm,8px);margin:var(--space-xs,6px) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.contrib-timeline__step{font-size:var(--text-xs-size);color:var(--text-muted);align-items:center;gap:3px;display:flex}.contrib-timeline__step.is-done{color:var(--accent)}.contrib-timeline__step.is-current .contrib-timeline__label{color:var(--text-primary);font-weight:600}.contrib-cards{gap:var(--space-md,12px);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.contrib-card{gap:var(--space-md,12px);padding:var(--space-md,12px);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-chrome-raised);display:flex}.contrib-card__thumb{flex:0 0 60px;width:60px;height:60px}.contrib-card__thumb rect{fill:var(--bg-chrome);stroke:var(--text-muted);stroke-width:1.5px}.contrib-card__body{flex-direction:column;gap:4px;min-width:0;display:flex}.contrib-card__title{color:var(--text-primary);font-weight:600}.contrib-card__meta{font-size:var(--text-sm-size);color:var(--text-muted)}.contrib-card__review{margin-top:var(--space-sm,8px);gap:var(--space-xs,6px);flex-direction:column;display:flex}.contrib-card__note{font-size:var(--text-sm-size);color:var(--text-primary);margin:0}.contrib-card__published{margin-top:var(--space-xs,6px);flex-direction:column;gap:2px;display:flex}.contrib-card__attribution{font-size:var(--text-sm-size);color:var(--text-muted);margin:0}.contrib-card__link{color:var(--accent);font-size:var(--text-sm-size);text-decoration:none}.contrib-card__link:hover{text-decoration:underline}.fiche-correction{margin-top:var(--space-lg,16px)}.fiche-correction__panel{margin-top:var(--space-sm,8px);padding:var(--space-md,12px);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-chrome-raised);gap:var(--space-sm,8px);flex-direction:column;display:flex}.fiche-correction__title{font-size:var(--text-md-size,1rem);margin:0}.fiche-correction__hint{font-size:var(--text-sm-size);color:var(--text-muted);margin:0}.fiche-correction__link{color:var(--accent);text-decoration:none}.fiche-correction__link:hover{text-decoration:underline}.fiche-correction__done{font-size:var(--text-sm-size);color:var(--accent);margin:0}.fiche-correction__review{font-size:var(--text-sm-size);color:var(--text-primary);padding:var(--space-xs,6px) var(--space-sm,8px);border-left:3px solid var(--error);background:var(--bg-chrome);margin:0}.fiche-correction__label{font-size:var(--text-sm-size);color:var(--text-muted)}.fiche-correction__panel textarea{resize:vertical;width:100%;font:inherit;background:var(--bg-chrome);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm,4px);padding:var(--space-xs,6px) var(--space-sm,8px)}.fiche-correction__actions{gap:var(--space-sm,8px);margin-top:var(--space-xs,6px);justify-content:flex-end;display:flex}.fiche-colour__input{width:100%;font:inherit;background:var(--bg-chrome);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm,4px);padding:var(--space-xs,6px) var(--space-sm,8px)}.fiche-colour__proof{gap:var(--space-md,12px);font-size:var(--text-sm-size);border:0;margin:0;padding:0;display:flex}.fiche-colour__mine{gap:var(--space-xs,6px);font-size:var(--text-sm-size);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.fiche-colour__mine li{align-items:center;gap:var(--space-sm,8px);flex-wrap:wrap;display:flex}.report-modal__fix-link{color:var(--accent);text-decoration:none}.report-modal__fix-link:hover{text-decoration:underline}.legal__table{border-collapse:collapse;width:100%;margin:var(--space-lg) 0;font-size:var(--text-md-size)}.legal__table th{text-align:left;color:var(--text-muted);font-size:var(--text-sm-size);padding:var(--space-xs,6px) var(--space-sm,8px);border-bottom:1px solid var(--border-subtle);font-weight:500}.legal__table td{padding:var(--space-xs,6px) var(--space-sm,8px);border-bottom:1px solid var(--border-subtle);color:var(--text-primary)}.legal a{color:var(--accent);text-decoration:none}.legal a:hover{text-decoration:underline}.fiche__contributors{color:var(--text-muted);font-size:var(--text-sm-size);margin-top:var(--space-md)}.fiche__contributors a{color:var(--accent);text-decoration:none}.fiche__contributors a:hover{text-decoration:underline}
.panel-band{background:var(--bg-chrome);border-right:1px solid var(--border-subtle);padding-top:var(--space-sm);flex:0 0 24px;justify-content:center;display:flex}.panel-band__expand{appearance:none;cursor:pointer;color:var(--text-muted);font-size:var(--text-sm-size);padding:var(--space-xs);border-radius:var(--radius-sm);background:0 0;border:none;line-height:1}.panel-band__expand:hover{color:var(--accent);background:var(--bg-chrome-raised)}.panel-band__expand:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.custom-editor,.cable-panel{min-width:0;max-width:var(--size-panel-side)}.custom-editor__dims{grid-template-columns:repeat(3,minmax(0,1fr))}.custom-editor .connector-schema svg,.cable-panel svg{max-width:100%;height:auto}.donate-banner{margin:var(--space-xl) 0;padding:var(--space-md);border:1px solid var(--accent);border-radius:var(--radius-md);background:color-mix(in srgb, var(--accent) 10%, transparent);align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.donate-banner__pitch{flex:320px;margin:0}.donate-banner__cta{flex:none}.modeling-form{margin:var(--space-md) 0 var(--space-xl);gap:var(--space-md);flex-direction:column;max-width:560px;display:flex}.modeling-form__grid{gap:var(--space-sm) var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (max-width:520px){.modeling-form__grid{grid-template-columns:minmax(0,1fr)}}.modeling-form .btn{align-self:flex-start}.modeling-form__done{border:1px solid var(--accent);border-radius:var(--radius-md);padding:var(--space-md);background:color-mix(in srgb, var(--accent) 10%, transparent)}.fiche__buy{margin-bottom:var(--space-sm)}.fiche__disclosure{color:var(--text-muted);font-size:var(--text-xs-size);margin:0 0 var(--space-sm)}.suggestions{border-bottom:1px solid var(--border-subtle);padding:var(--space-xs) 0 var(--space-sm)}.suggestions__toggle{color:var(--text-primary);font:inherit;font-size:var(--text-sm-size);cursor:pointer;padding:var(--space-xs) 0;background:0 0;border:none}.suggestions__param{gap:var(--space-sm);margin:var(--space-xs) 0;font-size:var(--text-xs-size);color:var(--text-muted);align-items:center;display:flex}.suggestions__param input{background:var(--bg-chrome-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font:inherit;font-size:var(--text-xs-size);flex:1;padding:4px 8px}.suggestions__list{margin:var(--space-xs) 0 0;flex-direction:column;gap:4px;padding:0;list-style:none;display:flex}.suggestion-row{text-align:left;background:var(--bg-chrome-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font:inherit;cursor:pointer;padding:6px 8px}.suggestion-row:hover{border-color:var(--accent)}.suggestion-row__name{font-size:var(--text-sm-size);display:block}.suggestion-row__reasons{font-size:var(--text-xs-size);color:var(--text-muted);display:block}.suggestions__empty,.suggestions__criteria{font-size:var(--text-xs-size);color:var(--text-muted);margin:var(--space-xs) 0 0}.suggestions__criteria a{color:var(--accent);text-decoration:none}.cable-inspector{top:var(--space-md);align-items:center;gap:var(--space-md);padding:var(--space-xs) var(--space-md);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);z-index:12;background:#16181df0;flex-wrap:wrap;max-width:min(92%,980px);display:flex;position:absolute;left:50%;transform:translate(-50%)}.cable-inspector__type{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.cable-inspector__end{align-items:center;gap:var(--space-xs);display:flex}.cable-inspector__name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-size:12px;overflow:hidden}.cable-inspector__forms{gap:2px;display:flex}.cable-inspector__remove{border:1px solid var(--border-subtle);color:var(--text-muted);border-radius:var(--radius-md);cursor:pointer;background:0 0;padding:3px 8px;font-size:11px}.cable-inspector__remove:hover{color:var(--error);border-color:var(--error)}.cable-inspector__close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:12px}.cable-inspector__close:hover{color:var(--text-primary)}.power-badge{border:1px solid var(--border-subtle);color:var(--text-muted);font-size:10px;font-family:var(--font-mono,monospace);border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;background:#16181deb;padding:1px 6px}.power-badge--set{color:var(--accent);border-color:var(--accent)}.floating-toolbar button.is-locked{background:var(--accent);color:#fff}.bom-card{right:var(--space-md);bottom:var(--space-md);z-index:20;width:188px;padding:var(--space-sm) 10px;appearance:none;text-align:left;cursor:pointer;border:1px solid var(--border-lit);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-xs-size);background:#16181de6;flex-direction:column;gap:2px;line-height:1.45;display:flex;position:absolute}.bom-card:hover{background:#1e2128f2}.bom-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bom-card__head{justify-content:space-between;align-items:baseline;margin-bottom:2px;display:flex}.bom-card__more{color:var(--text-muted);font-size:10px}.bom-card__row{justify-content:space-between;gap:var(--space-sm);display:flex}.bom-card__row>span:first-child{color:var(--text-muted)}.bom-card__row.is-full>span:last-child{color:var(--warn)}.bom-modal__group{margin-top:var(--space-md)}.bom-modal__group>h3{font-size:var(--text-xs-size);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 var(--space-xs);font-weight:600}.bom__list{gap:2px;margin:0;display:grid}.bom__row{justify-content:space-between;align-items:baseline;gap:var(--space-sm);font-size:var(--text-sm-size);color:var(--text-primary);display:flex}.bom__row dt{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;overflow:hidden}.bom__row dd{flex:none;margin:0}.bom__row.is-full dd{color:var(--warn)}.bom__row--later{color:var(--text-muted);font-style:italic}.bom__note{color:var(--text-muted);font-size:var(--text-xs-size);margin-top:2px}
*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{background:var(--bg-chrome);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-md-size);line-height:var(--text-md-line);-webkit-font-smoothing:antialiased}.app-root{flex-direction:column;display:flex;position:fixed;inset:0}.app-shell{flex:1 1 0;min-height:0;display:flex;overflow:hidden}.scene-stage{background:linear-gradient(to bottom, var(--bg-scene-top), var(--bg-scene-bottom));flex:1 1 0;min-width:0;position:relative}.scene-stage canvas{touch-action:none;display:block}.scene-error{z-index:20;position:absolute;inset:0}
