@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-latin.woff2)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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-latin-ext.woff2)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(/fonts/jetbrains-mono-latin.woff2)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;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-mono-latin-ext.woff2)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}:root{--bg:#f7f7f8;--bg-2:#fff;--bg-3:#f1f1f4;--elev:#fff;--canvas-bg:#f1f3f5;--fg:#0f1115;--fg-2:#3a3d44;--fg-3:#6b6f78;--fg-4:#5f646d;--line:#0f111514;--line-strong:#0f111547;--accent:#4d7412;--accent-fg:#fff;--accent-soft:#4d74121f;--danger:#c53030;--success:#2f855a;--warning:#b45309;--info:#2563eb;--meter-on:var(--accent);--meter-off:#0f11151a;--input-bg:#fff;--input-border:#0f111552;--input-focus:var(--accent);--thumb-border:#0f111566;--avatar-fg:#fff;--code-bg:#f0f0f3;--shadow:0 10px 30px #0f111514, 0 2px 6px #0f11150a;--shadow-strong:0 20px 50px #0f11152e;--scrim:#0f11155c;--font-sans:"Geist", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--fs-xs:.75rem;--fs-sm:.8125rem;--fs-base:.875rem;--fs-md:1rem;--fs-lg:1.125rem;--fs-xl:1.375rem;--fs-2xl:1.75rem;--fs-3xl:2.25rem;--radius:6px;--radius-lg:10px;--radius-pill:999px;--nav-h:56px;--footer-h:96px;--side-col-w:500px}@media (width<=1200px){:root{--side-col-w:480px}}:root[data-theme=dark]{--bg:#08080a;--bg-2:#0c0c10;--bg-3:#111116;--elev:#16161d;--canvas-bg:#0a0a0c;--fg:#f5f5f7;--fg-2:#c8c8cf;--fg-3:#8a8a92;--fg-4:#a0a0aa;--line:#ffffff12;--line-strong:#ffffff47;--accent:#84cc16;--accent-fg:#0a0a0a;--accent-soft:#84cc1624;--danger:#f87171;--success:#4ade80;--warning:#fbbf24;--info:#60a5fa;--meter-on:var(--accent);--meter-off:#ffffff21;--input-bg:#0d0d12;--input-border:#ffffff47;--thumb-border:#0009;--avatar-fg:#0a0a0a;--code-bg:#15151c;--shadow:0 14px 40px #0006, 0 2px 8px #0000004d;--shadow-strong:0 28px 70px #0009;--scrim:#0009}*,:before,:after{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--fg);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;line-height:1.5}html{font-size:100%}body{font-size:var(--fs-base);overflow:hidden}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}.skip-link{z-index:10000;border-radius:var(--radius);background:var(--fg);color:var(--bg);padding:8px 12px;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}button:disabled{cursor:not-allowed;opacity:.6}input,textarea,select{font:inherit;color:inherit}h1,h2,h3,h4,h5,h6{letter-spacing:-.005em;margin:0;font-weight:600}h1{font-size:var(--fs-2xl)}h2{font-size:var(--fs-xl)}h3{font-size:var(--fs-lg)}p{margin:0 0 .8em}code,.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}::selection{background:var(--accent-soft);color:var(--fg)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--fg-4)}::-webkit-scrollbar-track{background:0 0}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{flex-direction:column;height:100vh;min-height:0;display:flex}.app-outlet{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.top-nav{height:var(--nav-h);background:var(--bg-2);border-bottom:1px solid var(--line);z-index:30;flex-shrink:0;align-items:center;gap:16px;padding:0 20px;display:flex;position:relative}.top-nav .brand{font-size:var(--fs-md);letter-spacing:-.01em;align-items:center;gap:8px;font-weight:700;display:flex}.top-nav .brand-mark{place-items:center;line-height:0;display:inline-grid}.top-nav .brand-mark img{object-fit:contain;width:32px;height:32px;display:block}.nav-links{gap:18px;margin-left:18px;display:flex}.nav-links a{color:var(--fg-2);font-weight:500;font-size:var(--fs-base);border-bottom:2px solid #0000;padding:6px 2px}.nav-links a.active{color:var(--fg);border-bottom-color:var(--accent)}.nav-right{align-items:center;gap:10px;margin-left:auto;display:flex}.nav-right>.btn,.nav-right>.btn-icon,.nav-right>.cart-btn,.nav-right>.lang-switch,.nav-right .user-pill{height:32px}.nav-toggle{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:38px;height:38px;display:none}.nav-toggle-bar{background:var(--fg-2);border-radius:2px;width:18px;height:2px}.site-footer{background:var(--bg-2);border-top:1px solid var(--line);font-size:var(--fs-sm);color:var(--fg-3);flex-shrink:0;padding:8px 24px}.footer-row{flex-wrap:wrap;align-items:center;gap:6px 12px;min-height:32px;display:flex}.footer-row .spacer{flex:1}.footer-row a{color:var(--fg-2)}.footer-row .sep,.footer-row .meta{color:var(--fg-4)}.footer-row .meta.mono{font-family:var(--font-mono);font-size:var(--fs-xs)}@media (width<=700px){.footer-row .spacer{display:none}.site-footer{padding:10px 16px}}.app-main{grid-template-columns:1fr var(--side-col-w);flex:1;min-height:0;display:grid;position:relative;overflow:hidden}@media (width<=900px){.app-main{grid-template-rows:55vh 1fr;grid-template-columns:1fr}.viewer-wrap{border-right:none;border-bottom:1px solid var(--line)}.side-col{border-left:none}}@media (width<=600px){.app-main[data-layout=configurator]{grid-template-rows:auto 1fr;grid-template-columns:1fr}.app-main[data-layout=configurator] .mobile-view-toggle{z-index:3;grid-area:1/1}.app-main[data-layout=configurator] .viewer-wrap{z-index:1;border-bottom:none;border-right:none;grid-area:2/1}.app-main[data-layout=configurator] .side-col{z-index:2;border-left:none;grid-area:2/1}.app-main[data-layout=configurator][data-mobile-pane=view] .viewer-wrap{z-index:2}.app-main[data-layout=configurator][data-mobile-pane=view] .side-col{z-index:1}}.viewer-wrap{background:var(--canvas-bg);border-right:1px solid var(--line);min-height:0;position:relative}.side-col{background:var(--bg);border-left:1px solid var(--line);flex-direction:column;min-height:0;display:flex;position:relative;overflow:hidden}.page{flex:1;min-height:0;padding:28px 32px 60px;overflow-y:auto}.page-inner{max-width:880px;margin:0 auto}.page h1{font-size:var(--fs-2xl);margin-bottom:6px}.page .lead{color:var(--fg-3);font-size:var(--fs-md);margin-bottom:22px}.page .legal-updated{color:var(--fg-3);font-size:var(--fs-sm);margin:-14px 0 22px}.page section{margin-top:24px}.page section h2{font-size:var(--fs-lg);margin-bottom:6px}.page section h3{font-size:var(--fs-lg);color:var(--fg-2);margin-top:16px;margin-bottom:4px}.page p{color:var(--fg-2)}.page ul{color:var(--fg-2);padding-left:22px}.page li{margin:4px 0}.page .pill{border:1px solid var(--line-strong);border-radius:var(--radius-pill);font-size:var(--fs-xs);color:var(--fg-3);font-family:var(--font-mono);padding:2px 8px;display:inline-block}.callout{border:1px solid var(--line-strong);background:var(--accent-soft);border-radius:var(--radius);font-size:var(--fs-base);margin:12px 0;padding:12px 14px;line-height:1.55}.page .legal-pre{background:var(--code-bg);border-radius:var(--radius);font-family:var(--font-mono);font-size:var(--fs-sm);white-space:pre-wrap;color:var(--fg-2);margin:12px 0;padding:12px}.btn{border-radius:var(--radius);font-size:var(--fs-base);border:1px solid var(--line-strong);background:var(--bg-2);color:var(--fg);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:7px 12px;font-weight:500;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn:hover{background:var(--bg-3)}.btn-primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.btn-primary:hover{filter:brightness(.95);background:var(--accent)}.btn-ghost{border-color:var(--line);color:var(--fg-2);background:0 0}.btn-ghost:hover{background:var(--bg-3);color:var(--fg)}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-link{color:var(--accent);background:0 0;border:none;padding:0;font-weight:500;text-decoration:underline}.btn-sm{font-size:var(--fs-sm);padding:5px 10px}.btn-block{width:100%;font-size:var(--fs-base);padding:10px 14px}.btn-icon{border-radius:var(--radius);border-color:var(--line);width:32px;height:32px;color:var(--fg-2);background:0 0;padding:0}.btn-icon:hover{background:var(--bg-3);color:var(--fg)}.badge{border-radius:var(--radius-pill);background:var(--accent);min-width:18px;height:18px;color:var(--accent-fg);font-size:var(--fs-xs);font-weight:600;font-family:var(--font-mono);justify-content:center;align-items:center;padding:0 5px;display:inline-flex}.field{flex-direction:column;gap:4px;display:flex}.field-label{font-size:var(--fs-base);color:var(--fg-3);font-weight:500}.input,.field input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),.field textarea,.field select,input[type=text],input[type=email],input[type=password],input[type=number],input[type=url],input[type=search],input[type=tel],textarea,select{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius);font-size:var(--fs-sm);color:var(--fg);width:100%;padding:8px 10px;font-family:inherit}.input:focus,.field input:focus,.field textarea:focus,.field select:focus,input:focus,textarea:focus,select:focus{border-color:var(--input-focus);box-shadow:0 0 0 3px var(--accent-soft);outline:none}input::placeholder,textarea::placeholder{color:var(--fg-4);opacity:1}.url-row input{width:auto}.field-hint{font-size:var(--fs-base);color:var(--fg-4)}.field-error{font-size:var(--fs-base);color:var(--danger)}.password-rules{border-radius:var(--radius);background:var(--bg-3);font-size:var(--fs-sm);color:var(--fg-4);grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;margin:8px 0 0;padding:8px 10px;line-height:1.35;list-style:none;display:grid}.password-rules li{align-items:center;gap:6px;display:flex}.password-rules li:first-child{grid-column:1/-1}.password-rules li>span{text-align:center;flex:none;width:1em}.password-rules li.is-met{color:var(--success)}@media (width<=400px){.password-rules{grid-template-columns:1fr}.password-rules li:first-child{grid-column:auto}}.auth-notice{border-radius:var(--radius);border:1px solid var(--success);background:color-mix(in srgb, var(--success) 10%, transparent);color:var(--fg-1);font-size:var(--fs-sm);margin:12px 0;padding:10px 12px;line-height:1.45}.auth-modal .auth-notice{margin-inline:24px}input[type=number]::-webkit-inner-spin-button{opacity:.45;cursor:pointer}input[type=number]::-webkit-outer-spin-button{opacity:.45;cursor:pointer}input[type=number]:hover::-webkit-inner-spin-button{opacity:.7}input[type=number]:hover::-webkit-outer-spin-button{opacity:.7}:root[data-theme=dark] input[type=number]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}details.collapse-section{border:1px solid var(--line);border-radius:var(--radius);margin-top:10px;overflow:hidden}details.collapse-section>summary{font-size:var(--fs-base);color:var(--fg-2);cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--bg-2);align-items:center;gap:8px;padding:10px 12px;font-weight:500;list-style:none;transition:background .12s;display:flex}details.collapse-section>summary::-webkit-details-marker{display:none}details.collapse-section>summary:hover{background:var(--bg-3)}details.collapse-section>summary .os-chevron{opacity:.45;flex-shrink:0;margin-left:auto;transition:transform .18s}details.collapse-section[open]>summary .os-chevron{transform:rotate(180deg)}.collapse-section-badge{font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);border-radius:3px;padding:1px 5px;font-weight:600;line-height:1.4}.collapse-section-body{background:var(--bg);border-top:1px solid var(--line);flex-direction:column;gap:10px;padding:12px;display:flex}.orient-size-info{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:1fr 1fr;gap:6px 12px;margin-top:6px;padding:10px 12px;display:grid}.orient-size-row{flex-direction:column;gap:2px;display:flex}.orient-size-label{font-size:var(--fs-xs);color:var(--fg-4);text-transform:uppercase;letter-spacing:.04em;font-weight:500}.orient-size-value{font-size:var(--fs-sm);font-family:var(--font-mono);color:var(--fg)}.orient-size-value.oversize{color:var(--danger);font-weight:600}.orient-oversize{border:1px solid var(--danger);border-radius:var(--radius);background:color-mix(in srgb, var(--danger) 12%, transparent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:10px 12px;display:flex}.orient-oversize-msg{font-size:var(--fs-sm);color:var(--fg);flex:240px;margin:0}.orient-resize-capped{color:var(--warning);margin-top:8px}.orient-applied{font-size:var(--fs-sm);color:var(--success);align-items:center;gap:6px;font-weight:500;display:flex}.orient-resize-row{align-items:flex-end;gap:8px;display:flex}.orient-resize-row .field{flex:1}.orient-btn-group{flex-wrap:wrap;gap:6px;display:flex}.modal-scrim{background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--elev);border:1px solid var(--line);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-strong);padding:22px}.modal-lg{max-width:720px}.modal h2{margin-bottom:6px}.modal p{color:var(--fg-3);font-size:var(--fs-base)}.modal-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.auth-modal{max-width:440px;padding:0;overflow:hidden}.auth-dialog-header{justify-content:space-between;align-items:flex-start;gap:18px;padding:24px 24px 18px;display:flex}.auth-dialog-header h2{font-size:var(--fs-xl);margin:0;line-height:1.2}.auth-dialog-header p{max-width:330px;margin-top:7px;line-height:1.5}.auth-dialog-close{font-size:var(--fs-xl);flex:none;line-height:1}.auth-mode-tabs{border-radius:calc(var(--radius) + 2px);background:var(--bg-3);grid-template-columns:1fr 1fr;gap:3px;margin:0 24px 20px;padding:3px;display:grid}.auth-mode-tabs button{border-radius:var(--radius);min-height:38px;color:var(--fg-3);font:inherit;font-size:var(--fs-base);background:0 0;border:0;font-weight:600}.auth-mode-tabs button:hover{color:var(--fg)}.auth-mode-tabs button.active{background:var(--elev);color:var(--fg);box-shadow:var(--shadow)}.auth-mode-tabs button:focus-visible,.password-visibility:focus-visible{outline:2px solid var(--input-focus);outline-offset:2px}.auth-form{flex-direction:column;gap:14px;padding:0 24px 24px;display:flex}.password-control{position:relative}.password-control input{padding-right:66px}.password-visibility{color:var(--accent);font:inherit;font-size:var(--fs-xs);background:0 0;border:0;font-weight:600;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.auth-form-error{border-left:3px solid var(--danger);color:var(--danger);font-size:var(--fs-base);padding:9px 10px;line-height:1.4}.auth-submit{min-height:42px;margin-top:2px}.auth-demo-note{text-align:center;line-height:1.4}@media (width<=480px){.modal-scrim{padding:12px}.auth-dialog-header{padding:20px 20px 16px}.auth-mode-tabs{margin-left:20px;margin-right:20px}.auth-form{padding-left:20px;padding-right:20px}}.toast{background:var(--elev);border:1px solid var(--line-strong);border-radius:var(--radius);font-size:var(--fs-base);box-shadow:var(--shadow);z-index:200;align-items:center;gap:8px;padding:10px 14px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast .dot{background:var(--info);border-radius:50%;width:8px;height:8px}.toast-ok .dot{background:var(--success)}.toast-error .dot{background:var(--danger)}.user-pill{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--bg-2);font-size:var(--fs-sm);align-items:center;gap:8px;max-width:190px;padding:4px 10px 4px 4px;display:inline-flex}.user-pill:hover{background:var(--bg-3)}.user-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.user-avatar{background:var(--accent);width:22px;height:22px;color:var(--avatar-fg);font-size:var(--fs-xs);border-radius:50%;place-items:center;font-weight:700;display:inline-grid}.user-menu{position:relative}.user-dropdown{background:var(--elev);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);z-index:50;min-width:180px;padding:4px;position:absolute;top:calc(100% + 4px);right:0}.user-dropdown a,.user-dropdown button{text-align:left;width:100%;min-height:36px;font-size:var(--fs-base);color:var(--fg-2);background:0 0;border:0;border-radius:4px;align-items:center;padding:7px 10px;line-height:1.3;text-decoration:none;display:flex}.user-dropdown a:hover,.user-dropdown button:hover,.user-dropdown a.active{background:var(--bg-3);color:var(--fg)}.lang-switch{border:1px solid var(--line);border-radius:var(--radius);font-size:var(--fs-xs);font-family:var(--font-mono);display:inline-flex;overflow:hidden}.lang-switch button{color:var(--fg-3);padding:4px 8px}.lang-switch button.active{background:var(--bg-3);color:var(--fg)}.pay-element.is-parked{pointer-events:none;width:min(420px,100vw);position:absolute;top:0;left:-10000px}.checkout-address{font-size:var(--fs-base);color:var(--fg-2);margin-top:4px;line-height:1.5}.checkout-address strong{color:var(--fg)}.guarantee-note{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);font-size:var(--fs-base);color:var(--fg-2);margin-top:10px;padding:10px 12px}.guarantee-note strong{color:var(--fg)}.guarantee-note p{margin:4px 0 0}.guarantee-links{flex-wrap:wrap;gap:4px 14px;margin-top:6px;display:flex}.guarantee-links a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.consent{font-size:var(--fs-base);color:var(--fg-2);align-items:flex-start;gap:8px;margin-top:10px;line-height:1.45;display:flex}.consent input[type=checkbox]{flex:none;width:auto;margin-top:3px}.field-label .req{color:var(--danger);margin-left:1px}.field-optional{color:var(--fg-4);font-weight:400}.field-legend{font-size:var(--fs-sm);color:var(--fg-4);margin:2px 0 0}.checkout-account{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);gap:2px;margin:12px 0 14px;padding:10px 12px;display:grid}.checkout-account .ca-name{font-weight:600}.checkout-account .ca-email{font-size:var(--fs-sm);color:var(--fg-3);overflow-wrap:anywhere}.checkout-auth-tabs{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.checkout-auth-tabs button{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg-2);min-height:44px;color:var(--fg-2);font-size:var(--fs-base);padding:10px 14px;font-weight:600}.checkout-auth-tabs button:hover{background:var(--bg-3);color:var(--fg)}.checkout-auth-tabs button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--fg)}.cart-btn{border:1px solid var(--line);border-radius:var(--radius);color:var(--fg-2);font-size:var(--fs-sm);background:0 0;align-items:center;gap:6px;padding:5px 9px;display:inline-flex;position:relative}.cart-btn:hover{background:var(--bg-3);color:var(--fg)}.cart-btn .badge{position:absolute;top:-6px;right:-6px}.cart-drawer-backdrop{inset:var(--nav-h) 0 0 0;background:var(--scrim);z-index:40;opacity:0;pointer-events:none;transition:opacity .18s;position:fixed}.cart-drawer-backdrop.open{opacity:1;pointer-events:auto}.cart-drawer{top:var(--nav-h);width:min(var(--side-col-w), 100%);background:var(--bg-2);border-left:1px solid var(--line);z-index:41;box-shadow:var(--shadow-strong);flex-direction:column;transition:transform .22s;display:flex;position:fixed;bottom:0;right:0;transform:translate(100%)}.cart-drawer.open{transform:translate(0)}.cart-drawer-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.cart-drawer-head h3{font-size:var(--fs-lg)}.cart-drawer-body{flex:1;padding:12px 16px;overflow-y:auto}.cart-drawer-foot{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding:12px 16px;display:flex}.cart-drawer-actions{flex-wrap:wrap;gap:10px;display:flex}.cart-drawer-actions .btn{white-space:normal;flex:190px}.cart-item{border-bottom:1px solid var(--line);gap:10px;padding:10px 0;display:flex}.cart-item:last-child{border-bottom:none}.cart-item-thumb{border-radius:var(--radius);background:var(--bg-3);border:1px solid var(--line);object-fit:cover;flex-shrink:0;width:52px;height:52px;display:block}.cart-item-meta{flex:1;min-width:0}.cart-item-name{font-weight:500;font-size:var(--fs-base);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cart-item-spec{font-size:var(--fs-base);color:var(--fg-3);font-family:var(--font-mono)}.cart-item-swatches{gap:3px;margin-top:4px;display:inline-flex}.cart-item-swatches span{border:1px solid var(--line-strong);border-radius:3px;width:12px;height:12px}.cart-item-tail{text-align:right;flex-direction:column;align-items:flex-end;gap:4px;display:flex}.cart-item-price{font-family:var(--font-mono);font-size:var(--fs-base)}.free-shipping-banner{font-size:var(--fs-base);color:var(--fg-3);background:var(--bg-3);border:1px solid var(--line);border-radius:var(--radius);text-align:center;padding:6px 10px}.free-shipping-banner.reached{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:500}.cart-totals{font-size:var(--fs-base);flex-direction:column;gap:4px;display:flex}.cart-totals .row{justify-content:space-between;display:flex}.cart-totals .row.total{border-top:1px solid var(--line);color:var(--fg);padding-top:6px;font-weight:600}.cart-totals .row.total span:last-child{color:var(--accent)}.vat-note{font-size:var(--fs-sm);color:var(--fg-3);margin:0;line-height:1.35}.hint,.muted{font-size:var(--fs-sm);color:var(--fg-3);margin:6px 0 0;line-height:1.5}.viewer-canvas{position:absolute;inset:0}.overlay-top-left,.overlay-top-right,.overlay-bottom-left{z-index:5;pointer-events:none;gap:6px;display:flex;position:absolute}.overlay-top-left{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-2);flex-direction:column;align-items:flex-start;padding:8px 10px;top:12px;left:12px}.overlay-top-left .ol-row{gap:8px;display:flex}.dim-label{border-radius:var(--radius-sm,6px);background:var(--bg-2);border:1px solid var(--line);color:var(--fg-3);font-family:var(--font-mono);font-size:var(--fs-xs);white-space:nowrap;-webkit-user-select:none;user-select:none;padding:1px 5px;line-height:1.5;display:inline-block}.overlay-top-left .ol-k{color:var(--fg-4);flex-shrink:0;width:58px}.overlay-top-right{flex-direction:column;align-items:flex-end;top:12px;right:12px}.quote-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);text-align:right;padding:10px 14px}.qc-label{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-4);letter-spacing:.08em}.qc-amount{font-family:var(--font-mono);font-size:var(--fs-2xl);color:var(--accent);font-weight:600;line-height:1.1}.qc-note{text-align:left;max-width:22ch;font-size:var(--fs-xs);color:var(--fg-4);margin:6px 0 0;line-height:1.35}.overlay-bottom-left{pointer-events:auto;flex-wrap:wrap;bottom:12px;left:12px}.vt-btn{background:color-mix(in srgb, var(--bg-2) 75%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);color:var(--fg-2);border-radius:var(--radius);font-size:var(--fs-xs);align-items:center;gap:6px;padding:6px 10px;transition:border-color .15s,color .15s;display:inline-flex}.vt-btn:hover{border-color:var(--line-strong);color:var(--fg)}.vt-divider{background:var(--line);align-self:center;width:1px;height:22px}.paint-banner{z-index:5;background:var(--accent-soft);color:var(--fg);border:1px solid var(--accent);border-radius:var(--radius-pill);font-size:var(--fs-base);pointer-events:none;padding:5px 12px;font-weight:500;position:absolute;top:12px;left:50%;transform:translate(-50%)}.stepper-wrap{flex-direction:column;flex:1;min-height:0;display:flex}.stepper-header{grid-template-columns:repeat(5,1fr);gap:0;padding:18px 18px 6px;display:grid;position:relative}.stepper-header:before{content:"";background:var(--line);z-index:0;height:1px;position:absolute;top:31px;left:calc(18px + 10%);right:calc(18px + 10%)}.step-pill{z-index:1;border-radius:var(--radius);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;flex-direction:column;align-items:center;gap:6px;padding:0;display:flex;position:relative}.step-pill .sp-num{border:1px solid var(--line-strong);background:var(--bg-2);width:26px;height:26px;color:var(--fg-3);font-size:var(--fs-xs);border-radius:50%;place-items:center;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s,color .15s;display:grid}.step-pill .sp-label{font-size:var(--fs-xs);letter-spacing:.08em;color:var(--fg-4);text-transform:uppercase}@media (width<=1200px){.step-pill .sp-label{letter-spacing:.03em}}.step-pill.done .sp-num{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.step-pill.active .sp-num{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);box-shadow:0 0 0 4px var(--accent-soft)}.step-pill.active .sp-label{color:var(--fg)}.step-content{flex-direction:column;flex:1;gap:14px;padding:16px 18px;display:flex;overflow-y:auto}.step-content h2{font-size:var(--fs-lg);margin-bottom:2px}.step-content .step-lead{color:var(--fg-3);font-size:var(--fs-base);margin-bottom:8px}.step-nav{border-top:1px solid var(--line);justify-content:space-between;gap:8px;padding:10px 16px;display:flex}.dropzone-wrap{flex-direction:column;gap:8px;width:100%;display:flex}.dropzone{border:1.5px dashed var(--line-strong);border-radius:var(--radius-lg);text-align:center;background:var(--bg-2);cursor:pointer;flex-direction:column;gap:8px;padding:22px 20px;transition:border-color .15s,background .15s;display:flex}.dropzone.hover{border-color:var(--accent);background:var(--accent-soft)}.dropzone-icon{color:var(--accent);place-items:center;display:inline-grid}.dropzone .dz-title{font-weight:500}.dz-sub{font-size:var(--fs-sm);color:var(--fg-3);line-height:1.4}.dropzone input[type=file]{display:none}.dropzone-wrap.compact{gap:6px}.dropzone-wrap.compact .dropzone{padding:18px 16px}.url-row{gap:6px;display:flex}.url-row input{flex:1}.upload-progress{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-2);flex-direction:column;gap:6px;padding:10px 12px;display:flex}.upload-progress .up-head{font-size:var(--fs-base);justify-content:space-between;gap:12px;display:flex}.upload-progress .up-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.upload-progress .up-meta{color:var(--fg-3);flex:none}.upload-progress .up-phase{font-size:var(--fs-sm);color:var(--fg-3)}.up-track{background:var(--bg-3);border-radius:999px;height:6px;overflow:hidden}.up-fill{background:var(--accent);border-radius:inherit;height:100%;transition:width .12s linear}.up-track.indeterminate .up-fill{width:40%;animation:1.1s ease-in-out infinite up-slide}@keyframes up-slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media (prefers-reduced-motion:reduce){.up-track.indeterminate .up-fill{opacity:.6;width:100%;animation:none}.up-fill{transition:none}}.import-license{font-size:var(--fs-sm);color:var(--fg-3);align-items:baseline;gap:8px;margin:10px 0 0;display:flex}.import-license-tag{border:1px solid var(--line-strong);border-radius:var(--radius-sm,6px);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-2);flex:none;padding:1px 6px}.import-list{flex-direction:column;gap:4px;max-height:320px;margin:14px 0 4px;padding:0;list-style:none;display:flex;overflow-y:auto}.import-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);cursor:pointer;align-items:center;gap:10px;padding:9px 10px;display:flex}.import-row input[type=checkbox]{flex:none;width:auto}.import-name{font-size:var(--fs-sm);word-break:break-all;flex:1}.import-size{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--fg-4)}.import-manual{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg-2);flex-direction:column;align-items:flex-start;gap:8px;padding:12px 14px;display:flex}.import-manual-title{font-weight:500;font-size:var(--fs-base)}.import-manual-body{font-size:var(--fs-base);color:var(--fg-3);margin:0}.color-grid{flex-wrap:wrap;gap:6px;display:flex}.color-swatch{cursor:pointer;width:30px;height:30px;box-shadow:0 0 0 1px var(--line-strong) inset;border:2px solid #0000;border-radius:6px;position:relative}.color-swatch.selected{border-color:var(--accent)}.mc-toggle{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;font-size:var(--fs-base);-webkit-user-select:none;user-select:none;text-align:left;align-items:center;gap:10px;width:100%;margin-top:16px;padding:10px 14px;font-weight:500;transition:background .15s,border-color .15s;display:flex}.mc-toggle:hover{background:var(--bg-3);border-color:var(--line-strong)}.mc-toggle input[type=checkbox]{accent-color:var(--accent);cursor:pointer;flex-shrink:0;width:15px;height:15px}.mc-panel{background:var(--bg-2);border:1px solid var(--line);border-top:2px solid var(--accent);border-radius:var(--radius-lg);flex-direction:column;gap:14px;margin-top:8px;padding:14px 16px;display:flex}.mc-instructions{font-size:var(--fs-base);color:var(--fg-3);line-height:1.45}.mc-chips{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.mc-chip{flex-direction:column;align-items:center;gap:5px;display:flex;position:relative}.mc-swatch{border-radius:var(--radius);width:40px;height:40px;box-shadow:0 0 0 1px var(--line-strong);cursor:pointer;border:2px solid #0000;padding:0;transition:transform .1s,border-color .15s,box-shadow .15s;position:relative}.mc-swatch:hover{transform:translateY(-2px)}.mc-swatch.is-painting{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 0 0 4px var(--accent-soft);animation:1.6s ease-in-out infinite mc-pulse}@keyframes mc-pulse{0%,to{box-shadow:0 0 0 1px var(--accent), 0 0 0 4px var(--accent-soft)}50%{box-shadow:0 0 0 1px var(--accent), 0 0 0 7px var(--accent-soft)}}.mc-label{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-4);letter-spacing:.02em}.mc-remove{background:var(--bg-2);border:1px solid var(--line-strong);width:18px;height:18px;color:var(--fg-3);font-size:var(--fs-xs);cursor:pointer;border-radius:50%;place-items:center;transition:color .15s,border-color .15s;display:grid;position:absolute;top:-7px;right:-7px}.mc-remove:hover{color:var(--danger);border-color:var(--danger)}.mc-add{border-radius:var(--radius);background:var(--bg-3);flex-wrap:wrap;align-self:flex-end;align-items:center;gap:6px;padding:8px 10px;display:flex}.mc-swatch-add{opacity:.6;border:2px dashed var(--line-strong);width:30px;height:30px;box-shadow:none}.mc-swatch-add:hover{opacity:1;transform:translateY(-2px)}.paint-banner-row{background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius);font-size:var(--fs-sm);align-items:center;gap:10px;padding:8px 12px;font-weight:500;display:flex}.paint-dot{border:2px solid var(--bg-2);width:14px;height:14px;box-shadow:0 0 0 1px var(--line-strong);border-radius:50%;flex-shrink:0}.mc-threshold{border-top:1px solid var(--line);flex-direction:column;gap:6px;padding-top:4px;display:flex}.mc-threshold input[type=range]{width:100%}@media (width<=900px){.top-nav{gap:10px;padding:0 12px}.nav-toggle{display:flex}.nav-links-wrap{display:contents}.nav-links{background:var(--elev);border:1px solid var(--line);border-radius:var(--radius);min-width:190px;box-shadow:var(--shadow-strong);z-index:40;flex-direction:column;align-items:stretch;gap:2px;margin-left:0;padding:6px;display:none;position:absolute;top:calc(100% + 8px);left:auto;right:12px}.nav-links.open{display:flex}.nav-links a{border-radius:var(--radius-sm,6px);border-bottom:none;padding:9px 10px}.nav-links a.active{background:var(--accent-soft);border-bottom:none}.cart-drawer{width:100%}.nav-right>.btn,.nav-right>.btn-icon,.nav-right>.cart-btn,.nav-right>.lang-switch,.nav-right .user-pill,.nav-toggle{min-width:40px;height:40px}.lang-switch button{min-width:36px}}@media (width<=480px){.top-nav{gap:6px;padding:0 8px}.brand-name{display:none}.brand{gap:0}.nav-links{right:8px}.step-content{padding:12px 14px}.stepper-header{padding:14px 12px 6px}.overlay-top-left{display:none}.overlay-top-right{top:8px;right:8px}.qc-amount{font-size:var(--fs-xl)}.overlay-bottom-left{flex-wrap:wrap;max-width:calc(100% - 16px);bottom:8px;left:8px}.vt-btn{font-size:var(--fs-xs);padding:5px 8px}.vt-btn span{display:none}.vt-btn .vt-keep-label{display:inline}.account-shell{grid-template-columns:1fr;padding:16px}}@media (width<=600px){.nav-links a{white-space:nowrap}.user-pill span:not(.user-avatar),.cart-btn span:not(.badge){display:none}.footer-row{gap:4px 10px}.step-nav{padding:8px 12px}}.option-list{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}@media (width<=480px){.option-list{grid-template-columns:1fr}}.option{border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;background:var(--bg-2);gap:10px;padding:10px 12px;display:flex}.option.selected{border-color:var(--accent);background:var(--accent-soft)}.option .opt-title{font-weight:500;font-size:var(--fs-base)}.option .opt-sub{color:var(--fg-3);font-size:var(--fs-base)}.option .opt-tag{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-4);margin-left:auto}.mat-rows{grid-template-columns:1fr}.mat-row{align-items:center;padding:8px 12px}.mat-row-pick{cursor:pointer;text-align:left;min-width:0;color:inherit;background:0 0;border:0;flex-direction:column;flex:1;align-items:flex-start;gap:1px;padding:0;display:flex}.mat-row-side{flex-direction:column;flex:none;align-items:flex-end;gap:5px;display:flex}.mat-row-side .opt-tag{margin-left:0}.mat-row-colors{flex-wrap:wrap;justify-content:flex-end;gap:4px;max-width:132px;display:flex}.color-swatch.sm{border-width:2px;border-radius:4px;width:18px;height:18px}.mat-row{flex-wrap:wrap}.mat-row-mc{flex:0 0 100%;width:100%;min-width:0}.mat-row-mc .mc-toggle{background:0 0;border-color:#0000;margin-top:10px;padding:4px 0}.mat-row-mc .mc-toggle:hover{background:0 0;border-color:#0000}.mat-row-mc .hint{margin-top:4px}@media (width<=560px){.mat-row{flex-direction:column;align-items:stretch;gap:6px}.mat-row-side{flex-direction:row;justify-content:space-between;align-items:center}.mat-row-colors{justify-content:flex-start;max-width:none}}.tech-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:6px;display:grid}@media (width<=480px){.tech-grid{grid-template-columns:repeat(2,1fr)}}.tech-chip{border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;background:var(--bg-2);text-align:left;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;display:flex}.tech-chip.selected{border-color:var(--accent);background:var(--accent-soft)}.tech-chip .tech-name{font-weight:500;font-size:var(--fs-sm)}.tech-chip .tech-tol{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-4)}.mesh-health{flex-direction:column;display:flex}.mh-status{font-size:var(--fs-sm);align-items:center;gap:8px;font-weight:500;display:flex}.mh-status .mh-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.mh-status.ok{color:var(--success)}.mh-status.ok .mh-dot{background:var(--success)}.mh-status.warn{color:var(--warning)}.mh-status.warn .mh-dot{background:var(--warning)}.mh-list{font-size:var(--fs-base);color:var(--fg-3);margin:8px 0 0;padding-left:18px}.mh-list li{margin:2px 0}.printability{flex-direction:column;gap:12px;display:flex}.pp-status{font-size:var(--fs-sm);align-items:center;gap:8px;font-weight:500;display:flex}.pp-status .mh-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.pp-status.ok{color:var(--success)}.pp-status.ok .mh-dot{background:var(--success)}.pp-status.info{color:var(--fg-3)}.pp-status.info .mh-dot{background:var(--fg-3)}.pp-status.fatal{color:var(--danger)}.pp-status.fatal .mh-dot{background:var(--danger)}.pp-note{font-size:var(--fs-base);color:var(--fg-2);margin:0;font-weight:500}.pp-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.pp-item{font-size:var(--fs-base);align-items:flex-start;gap:8px;display:flex}.pp-item .mh-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px;margin-top:5px}.pp-item.fatal{color:var(--danger)}.pp-item.fatal .mh-dot{background:var(--danger)}.pp-item.concern{color:var(--fg)}.pp-item.concern .mh-dot{background:var(--warning)}.pp-item.info{color:var(--fg-3)}.pp-item.info .mh-dot{background:var(--fg-3)}.pp-item-text{flex-direction:column;gap:3px;display:flex}.pp-item-title{font-weight:500}.pp-item-detail{color:var(--fg-3);font-weight:400;line-height:1.5}.pp-item-link{color:var(--accent);font-size:var(--fs-sm);width:fit-content;margin-top:2px}.part-tab-alert{background:var(--danger);width:16px;height:16px;color:var(--accent-fg);font-size:var(--fs-xs);border-radius:50%;place-items:center;margin-left:5px;font-weight:700;display:inline-grid}.review-fatal-card{border:1px solid var(--danger);border-radius:var(--radius);background:color-mix(in srgb, var(--danger) 8%, var(--bg-2));margin-bottom:10px;padding:10px 12px}.review-fatal-title{font-size:var(--fs-base);color:var(--danger);margin:0 0 6px;font-weight:600}.review-concern-banner{border:1px solid var(--warning);border-radius:var(--radius);background:color-mix(in srgb, var(--warning) 8%, var(--bg-2));margin-bottom:10px;padding:10px 12px}.review-concern-title{font-size:var(--fs-base);color:var(--warning);margin:0 0 6px;font-weight:600}.review-fatal-title:last-child,.review-concern-title:last-child{margin-bottom:0}.review-analysis-banner{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg-3);color:var(--fg-3);margin-bottom:10px;padding:10px 12px}.review-summary{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:4px;padding:12px;display:flex}.review-line{font-size:var(--fs-base);color:var(--fg-2);justify-content:space-between;display:flex}.review-line-head{color:var(--fg-1);border-bottom:1px solid var(--line);gap:12px;margin-bottom:2px;padding-bottom:6px;font-weight:600}.review-line-head>span:last-child{color:var(--fg-3);text-overflow:ellipsis;white-space:nowrap;font-weight:400;overflow:hidden}.review-line.subtotal{font-size:var(--fs-base);color:var(--fg-2);border-top:1px solid var(--line);margin-top:4px;padding-top:6px;font-weight:500}.review-meta{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.review-meta .pill{font-size:var(--fs-xs);border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--fg-3);font-family:var(--font-mono);padding:2px 8px}.account-shell{grid-template-columns:220px 1fr;gap:24px;width:100%;max-width:1100px;margin:0 auto;padding:24px 24px 60px;display:grid}.account-nav{flex-direction:column;gap:2px;display:flex}.account-nav a{border-radius:var(--radius);color:var(--fg-2);font-size:var(--fs-base);padding:8px 10px}.account-nav a:hover{background:var(--bg-3);color:var(--fg)}.account-nav a.active{background:var(--accent-soft);color:var(--fg);font-weight:500}@media (width<=800px){.account-shell{grid-template-columns:1fr}}.orders-grid{grid-template-columns:280px 1fr;gap:20px;height:100%;min-height:0;display:grid}.orders-list{flex-direction:column;gap:6px;display:flex;overflow-y:auto}.order-row{border:1px solid var(--line);background:var(--bg-2);border-radius:var(--radius);cursor:pointer;padding:10px 12px}.order-row.active{border-color:var(--accent);background:var(--accent-soft)}.order-row .num{font-weight:600;font-size:var(--fs-base);font-family:var(--font-mono)}.order-row .date{font-size:var(--fs-base);color:var(--fg-3);font-family:var(--font-mono)}.order-row .meta{font-size:var(--fs-base);color:var(--fg-3);justify-content:space-between;margin-top:4px;display:flex}.status-pill{border-radius:var(--radius-pill);font-size:var(--fs-xs);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;background:var(--bg-3);color:var(--fg-2);padding:1px 8px;display:inline-block}.status-pill.received,.status-pill.queued{color:var(--info);background:#60a5fa26}.status-pill.printing,.status-pill.finishing{color:var(--warning);background:#fbbf242e}.status-pill.shipped,.status-pill.delivered{background:var(--accent-soft);color:var(--accent)}.status-timeline{flex-wrap:wrap;gap:6px;margin:10px 0;display:flex}.status-step{border:1px solid var(--line);border-radius:var(--radius-pill);font-size:var(--fs-xs);color:var(--fg-4);padding:4px 8px}.status-step.done{border-color:var(--accent);color:var(--accent)}.status-step.current{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.parts-list{border:1px solid var(--bd);border-radius:var(--radius);background:var(--bg-2);flex-direction:column;gap:4px;margin:12px 0;padding:8px;display:flex}.parts-list-head{font-size:var(--fs-sm);color:var(--fg-3);text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;align-items:baseline;gap:12px;padding:0 4px 4px;display:flex}.parts-list-row{border-radius:var(--radius-sm,4px);background:0 0;border:1px solid #0000;align-items:center;gap:8px;padding:6px 8px;display:flex}.parts-list-row.active{background:var(--bg-3);border-color:var(--bd)}.parts-list-name{text-align:left;color:var(--fg);cursor:pointer;font:inherit;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;flex:1;padding:0;overflow:hidden}.parts-list-name:hover{color:var(--accent)}.parts-list-remove{color:var(--fg-3);cursor:pointer;font-size:var(--fs-lg);border-radius:var(--radius-sm,4px);background:0 0;border:none;padding:2px 6px;line-height:1}.parts-list-remove:hover{color:var(--accent);background:var(--bg-3)}.info-banner{border:1px solid var(--bd);border-left:3px solid var(--accent);border-radius:var(--radius);background:var(--bg-2);color:var(--fg-2);font-size:var(--fs-base);margin:8px 0 12px;padding:10px 12px;line-height:1.4}.part-tabs{border-bottom:1px solid var(--bd);flex-wrap:wrap;gap:4px;margin-bottom:12px;padding-bottom:8px;display:flex}.part-tab{background:var(--bg-2);border:1px solid var(--bd);color:var(--fg-2);border-radius:var(--radius-pill);font-size:var(--fs-sm);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;max-width:160px;padding:4px 10px;overflow:hidden}.part-tab:hover{color:var(--fg)}.part-tab.active{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.mobile-view-toggle{display:none}.mvt-btn{background:var(--bg-2);border:1px solid var(--line);min-width:44px;min-height:44px;color:var(--fg-2);font-size:var(--fs-sm);cursor:pointer;flex:1;justify-content:center;align-items:center;gap:6px;font-weight:500;display:inline-flex}.mvt-btn.active{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}@media (width<=600px){.app-main[data-layout=configurator] .mobile-view-toggle{border-bottom:1px solid var(--line);background:var(--bg-2);gap:6px;padding:8px 12px;display:flex}}.mc-toggle.disabled{opacity:.5;cursor:not-allowed}.mc-toggle.disabled input{cursor:not-allowed}.docs-shell{grid-template-columns:216px minmax(0,1fr) 180px;align-items:start;gap:40px;width:100%;max-width:1240px;margin:0 auto;display:grid}.docs-sidebar{padding-top:4px;position:sticky;top:0}.docs-nav-group+.docs-nav-group{margin-top:20px}.docs-nav-label{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-4);margin-bottom:8px;padding:0 10px}.docs-nav{flex-direction:column;gap:1px;display:flex}.docs-nav a{border-radius:var(--radius);color:var(--fg-3);font-size:var(--fs-base);border-left:2px solid #0000;align-items:center;gap:9px;padding:7px 10px;line-height:1.3;transition:background .12s,color .12s;display:flex}.docs-nav a:hover{background:var(--bg-3);color:var(--fg)}.docs-nav a.active{background:var(--accent-soft);border-left-color:var(--accent);color:var(--fg);font-weight:500}.docs-nav-icon{width:15px;height:15px;color:var(--fg-4);flex:none}.docs-nav a.active .docs-nav-icon{color:var(--accent)}.docs-main{min-width:0}@media (width>=1161px){.docs-main{padding-bottom:70vh}}.docs-hero{border-bottom:1px solid var(--line);margin-bottom:8px;padding-bottom:20px}.docs-eyebrow{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:10px;display:inline-block}.docs-hero h1{font-size:var(--fs-2xl);letter-spacing:-.02em;margin:0 0 10px;line-height:1.15}.docs-hero .lead{color:var(--fg-3);font-size:var(--fs-md);max-width:62ch;margin:0;line-height:1.55}.docs-section{scroll-margin-top:16px}.docs-section+.docs-section{margin-top:38px}.docs-section>h2{font-size:var(--fs-lg);letter-spacing:-.01em;margin:0 0 10px}.docs-section p{color:var(--fg-2);font-size:var(--fs-md);max-width:68ch;line-height:1.65}.docs-steps{flex-direction:column;gap:10px;margin-top:4px;display:flex}.docs-step{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-lg);grid-template-columns:34px minmax(0,1fr);gap:14px;padding:16px 18px;scroll-margin-top:16px;transition:border-color .14s,box-shadow .14s;display:grid}.docs-step:hover{border-color:var(--line-strong);box-shadow:var(--shadow)}.docs-step-num{border-radius:var(--radius-pill);background:var(--accent-soft);width:28px;height:28px;color:var(--accent);font-family:var(--font-mono);font-size:var(--fs-sm);justify-content:center;align-items:center;font-weight:600;display:flex}.docs-step-body h3{font-size:var(--fs-lg);color:var(--fg);margin:4px 0 5px}.docs-step-body p{font-size:var(--fs-md);margin:0;line-height:1.6}.docs-toc{font-size:var(--fs-base);padding-top:4px;position:sticky;top:0}.docs-toc-label{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-4);margin-bottom:8px}.docs-toc ul{border-left:1px solid var(--line);margin:0;padding:0;list-style:none}.docs-toc li{margin:0}.docs-toc a{color:var(--fg-4);border-left:2px solid #0000;margin-left:-1px;padding:5px 0 5px 12px;line-height:1.4;transition:color .12s,border-color .12s;display:block}.docs-toc a:hover{color:var(--fg-2)}.docs-toc a.active{color:var(--accent);border-left-color:var(--accent)}@media (width<=1160px){.docs-shell{grid-template-columns:200px minmax(0,1fr);gap:32px}.docs-toc{display:none}}@media (width<=860px){.docs-shell{grid-template-columns:1fr;gap:20px}.docs-sidebar{position:static}.docs-nav{flex-flow:wrap}.docs-nav a{border-left:none;border:1px solid var(--line)}.docs-nav a.active{border-color:var(--accent)}.docs-hero h1{font-size:var(--fs-xl)}}.price-formula{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-2);margin-top:12px;overflow:hidden}.price-row{font-size:var(--fs-base);grid-template-columns:18px minmax(0,1fr) auto;align-items:baseline;gap:4px 32px;padding:11px 16px;display:grid}.price-row+.price-row{border-top:1px solid var(--line)}.price-op{font-family:var(--font-mono);color:var(--fg-4);text-align:center;font-size:var(--fs-sm)}.price-row-label{color:var(--fg-2);max-width:64ch}.price-row-note{color:var(--fg-4);font-size:var(--fs-base);margin-top:2px;line-height:1.5;display:block}.price-row-value{font-family:var(--font-mono);font-size:var(--fs-base);color:var(--fg);white-space:nowrap}.price-row-value.is-driver{color:var(--fg-3);font-family:inherit}.price-row.total{background:var(--bg-3);border-top:1px solid var(--line-strong);font-weight:500}.price-row.total .price-row-label{color:var(--fg)}.price-row-opt{border-radius:var(--radius-pill);background:var(--bg-3);border:1px solid var(--line);font-size:var(--fs-xs);color:var(--fg-3);vertical-align:1px;margin-left:8px;padding:1px 7px;font-weight:400;display:inline-block}.table-scroll{border:1px solid var(--line);border-radius:var(--radius-lg);-webkit-overflow-scrolling:touch;margin-top:12px;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:var(--fs-base);min-width:520px}.data-table th{text-align:left;font-weight:500;font-size:var(--fs-base);letter-spacing:.05em;text-transform:uppercase;color:var(--fg-4);background:var(--bg-3);white-space:nowrap;padding:9px 14px}.data-table td{border-top:1px solid var(--line);color:var(--fg-2);vertical-align:top;padding:10px 14px}.data-table tbody tr:hover td{background:var(--bg-3)}.data-table td.num{font-family:var(--font-mono);font-size:var(--fs-base);white-space:nowrap;color:var(--fg)}.data-table td strong{color:var(--fg);font-weight:500}.mat-filters{flex-wrap:wrap;gap:7px;margin:20px 0 4px;display:flex}.mat-filter{border:1px solid var(--line-strong);border-radius:var(--radius-pill);color:var(--fg-3);font-size:var(--fs-base);cursor:pointer;background:0 0;padding:6px 13px;font-family:inherit;transition:background .12s,color .12s,border-color .12s}.mat-filter:hover{color:var(--fg);border-color:var(--fg-4)}.mat-filter.active{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);font-weight:500}.mat-tech{margin-top:34px;scroll-margin-top:16px}.mat-tech-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:10px;padding-bottom:10px;display:flex}.mat-tech-head h2{font-size:var(--fs-lg);letter-spacing:-.01em;margin:0}.mat-tech-meta{font-family:var(--font-mono);font-size:var(--fs-base);color:var(--fg-4);margin-left:auto}.mat-tech-blurb{color:var(--fg-3);font-size:var(--fs-md);max-width:68ch;margin:10px 0 0;line-height:1.6}.mat-grid{grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:12px;margin-top:14px;display:grid}.mat-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;gap:10px;padding:15px 16px;transition:border-color .14s,box-shadow .14s,transform .14s;display:flex;position:relative}.mat-card:hover{z-index:2;border-color:var(--line-strong);box-shadow:var(--shadow);transform:translateY(-1px)}.mat-card-head{align-items:flex-start;gap:10px;display:flex}.mat-card-title{font-size:var(--fs-lg);color:var(--fg);margin:0;font-weight:500;line-height:1.3}.mat-highlights{flex-direction:column;align-items:flex-start;gap:5px;margin:0;list-style:none;display:flex}.page .mat-highlights{padding:0}.mat-highlight{border-radius:var(--radius-pill);background:var(--bg-3);border:1px solid var(--line);font-size:var(--fs-base);color:var(--fg-2);padding:4px 10px;font-weight:500;line-height:1.35}.mat-meters{grid-template-columns:auto 1fr;align-items:center;gap:5px 10px;margin:auto 0 0;padding-top:4px;display:grid}.mat-meter{display:contents}.mat-meter dt{font-size:var(--fs-base);color:var(--fg-3);white-space:nowrap}.mat-meter dd{margin:0}.mat-meter-track{grid-auto-columns:1fr;grid-auto-flow:column;gap:3px;display:grid}.mat-meter-seg{background:var(--meter-off);border-radius:2px;block-size:7px}.mat-meter-seg.is-on{background:var(--meter-on)}.mat-swatches{flex-wrap:wrap;gap:6px;display:flex}.mat-swatch{border:1px solid var(--line-strong);border-radius:5px;width:22px;height:22px;transition:transform .12s,box-shadow .12s;position:relative}.mat-swatch:hover{box-shadow:var(--shadow);transform:scale(1.12)}.mat-swatch:after{content:attr(data-label);z-index:3;border-radius:var(--radius);background:var(--fg);color:var(--bg);font-size:var(--fs-sm);white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;padding:4px 9px;line-height:1.35;transition:opacity 90ms;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%)}.mat-swatch:hover:after{opacity:1;visibility:visible}.mat-card-body{color:var(--fg-2);font-size:var(--fs-base);margin:0;line-height:1.55}.page-inner.wide{max-width:1180px}.hero-preview{background:radial-gradient(130% 80% at 50% 0%, color-mix(in srgb, var(--accent) 16%, transparent) 0%, transparent 62%), linear-gradient(180deg, color-mix(in srgb, var(--bg-2) 88%, var(--accent)) 0%, var(--bg-3) 100%);grid-template-rows:auto 1fr auto;gap:clamp(8px,1.6vh,20px);padding:clamp(14px,3.5vh,40px) clamp(16px,3vw,32px);display:grid;position:absolute;inset:0;overflow:hidden}.hero-preview.drag-over{outline:2px dashed var(--accent);outline-offset:-10px}.hero-preview .hp-head{z-index:1;text-align:center;justify-items:center;gap:4px;display:grid;position:relative}.hero-preview .hp-head h1{font-size:clamp(var(--fs-xl), 3.2vh, var(--fs-3xl));letter-spacing:-.02em;line-height:1.1}.hero-preview .hp-head p{max-width:56ch;color:var(--fg-3);font-size:var(--fs-md);line-height:1.45}@media (height<=720px){.hero-preview .hp-head p{display:none}}.hero-preview .hp-claims{z-index:1;justify-items:center;gap:8px;padding-top:4px;display:grid;position:relative}.hero-preview .hp-claim-slot{text-align:center;align-items:center;height:5.4em;display:grid;overflow:hidden}.hero-preview .hp-claim{gap:2px;animation:.46s cubic-bezier(.2,.7,.2,1) both hp-claim-in;display:grid}.hero-preview .hp-claim strong{font-size:var(--fs-xl);letter-spacing:-.01em}.hero-preview .hp-claim span{color:var(--fg-3);font-size:var(--fs-md)}@keyframes hp-claim-in{0%{opacity:0;transform:translateY(60%)}to{opacity:1;transform:translateY(0)}}.hero-preview .hp-claim-marks{gap:5px;display:flex}.hero-preview .hp-claim-mark{background:var(--line-strong);border-radius:2px;width:26px;height:2px;transition:background-color .3s}.hero-preview .hp-claim-mark.is-active{background:var(--accent)}.hero-preview .hp-stage{cursor:grab;width:100%;min-height:0;position:relative}.hero-preview .hp-stage:active{cursor:grabbing}.hero-preview .hp-gauge{z-index:1;opacity:0;pointer-events:none;grid-template-rows:auto 1fr auto;justify-items:center;gap:6px;transition:opacity .32s,transform .32s;display:grid;position:absolute;top:12%;bottom:12%;right:clamp(10px,2vw,26px);transform:translate(6px)}.hero-preview .hp-gauge.is-on{opacity:1;transform:translate(0)}.hero-preview .hp-gauge-total,.hero-preview .hp-gauge-zero{font-family:var(--font-mono);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;color:var(--fg-4);letter-spacing:.06em;text-transform:uppercase}.hero-preview .hp-gauge-track{background:var(--line-strong);border-radius:2px;align-items:flex-end;width:4px;height:100%;display:flex;position:relative}.hero-preview .hp-gauge-fill{background:var(--accent);border-radius:2px;width:100%;height:0%;display:block;position:relative}.hero-preview .hp-gauge-marker{background:var(--accent);color:var(--accent-fg);font-family:var(--font-mono);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:2px;justify-items:end;gap:1px;padding:2px 6px;line-height:1.15;display:grid;position:absolute;top:-18px;right:18px}.hero-preview .hp-gauge-marker-label{text-transform:uppercase;letter-spacing:.06em;opacity:.8}.hero-preview .hp-gauge-marker-value{font-weight:600}.hero-preview .hp-foot{z-index:1;grid-template-columns:auto 1fr;align-items:center;gap:16px;display:grid;position:relative}.hero-preview .hp-timeline{min-width:340px;position:relative}.hero-preview .hp-track{background:var(--line-strong);border-radius:2px;height:2px;position:absolute;top:10px;left:16.667%;right:16.667%;overflow:hidden}.hero-preview .hp-track-fill{transform-origin:0;background:var(--accent);width:100%;height:100%;display:block;transform:scaleX(0)}.hero-preview .hp-stages{grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;display:grid;position:relative}.hero-preview .hp-stage-step{color:var(--fg-4);font-size:var(--fs-sm);flex-direction:column;align-items:center;gap:5px;transition:color .3s;display:flex}.hero-preview .hp-stage-dot{border:1px solid var(--line-strong);background:var(--bg-2);width:20px;height:20px;font-family:var(--font-mono);font-size:var(--fs-xs);border-radius:50%;place-items:center;transition:background-color .3s,border-color .3s,color .3s;display:inline-grid}.hero-preview .hp-stage-step.is-done{color:var(--fg-3)}.hero-preview .hp-stage-step.is-done .hp-stage-dot{border-color:var(--accent);color:var(--accent)}.hero-preview .hp-stage-step.is-active{color:var(--fg);font-weight:600}.hero-preview .hp-stage-step.is-active .hp-stage-dot{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.hero-preview .hp-foot>.btn{justify-self:end}@media (width<=480px){.hero-preview .hp-foot{grid-template-columns:1fr;gap:12px}.hero-preview .hp-foot>.btn{justify-content:center;justify-self:stretch}.hero-preview .hp-stage-label{overflow-wrap:break-word;padding-right:6px}}.hero-preview .hp-cta{white-space:normal;min-height:40px;padding-block:6px}.hero-preview .hp-cta .hp-cta-label{text-align:left;max-width:15ch;line-height:1.2}@media (width<=1240px){.hero-preview .hp-claim-slot{height:6.6em}}@media (width<=900px){.hero-preview .hp-gauge{display:none}.hero-preview .hp-timeline{min-width:0}}@media (height<=700px){.hero-preview .hp-claim span{display:none}.hero-preview .hp-claim-slot{height:2.2em}}@media (prefers-reduced-motion:reduce){.hero-preview .hp-claim{animation:none}}
