:root{--ink: #0a0a0a;--ink-2: #131313;--ink-3: #1b1b1b;--paper: #f4f3f0;--mute: rgba(255, 255, 255, .46);--mute-2: rgba(255, 255, 255, .3);--line: rgba(255, 255, 255, .12);--line-2: rgba(255, 255, 255, .2);--white: #fff;--font: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;--ease: cubic-bezier(.22, 1, .36, 1);--rail: clamp(300px, 27vw, 400px)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--font);font-weight:300;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}h1,h2,h3,p{margin:0}ul{margin:0;padding:0;list-style:none}a{color:inherit}:focus-visible{outline:2px solid var(--white);outline-offset:3px}.micro{font-size:9.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.bench{display:grid;grid-template-rows:auto 1fr;height:100%;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px clamp(16px,3vw,28px);border-bottom:1px solid var(--line);z-index:3}.topbar__brand{display:flex;align-items:baseline;gap:12px;font-size:16px;letter-spacing:-.035em;white-space:nowrap;text-decoration:none}.topbar__brand b{font-weight:500}.topbar__brand i{font-style:normal;font-weight:700}.topbar__brand s{text-decoration:none;font-weight:200}.topbar__brand span{padding-left:12px;border-left:1px solid var(--line-2);color:var(--mute);font-size:9.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase}.topbar__actions{display:flex;align-items:center;gap:8px}.body{display:grid;grid-template-columns:1fr var(--rail);min-height:0}@media(max-width:860px){.body{grid-template-columns:1fr;grid-template-rows:minmax(260px,44vh) 1fr}}.stage{position:relative;min-height:0;background:radial-gradient(115% 85% at 50% 6%,#3a3a3c,#232325 38%,#131314 72%,#0b0b0c)}.stage__canvas{position:absolute;inset:0}.stage__overlay{position:absolute;left:0;right:0;bottom:0;padding:clamp(14px,2.4vw,26px);display:flex;align-items:flex-end;justify-content:space-between;gap:20px;pointer-events:none;flex-wrap:wrap}.stage__hint{position:absolute;top:clamp(14px,2.4vw,24px);left:50%;transform:translate(-50%);color:var(--mute-2);pointer-events:none;white-space:nowrap;transition:opacity .6s var(--ease)}.swingctl{pointer-events:auto;display:grid;gap:8px;min-width:min(280px,60vw)}.swingctl__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:var(--mute)}.swingctl__head b{color:var(--white);font-weight:600}.stage__tools{pointer-events:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:22px;background:transparent;cursor:ew-resize;margin:0}input[type=range]::-webkit-slider-runnable-track{height:1px;background:var(--line-2)}input[type=range]::-moz-range-track{height:1px;background:var(--line-2)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:13px;height:13px;margin-top:-6px;border-radius:50%;background:var(--white);transition:transform .25s var(--ease)}input[type=range]:active::-webkit-slider-thumb{transform:scale(1.35)}input[type=range]::-moz-range-thumb{width:13px;height:13px;border:0;border-radius:50%;background:var(--white)}.rail{border-left:1px solid var(--line);display:grid;grid-template-rows:1fr auto;min-height:0;background:var(--ink)}@media(max-width:860px){.rail{border-left:0;border-top:1px solid var(--line)}}.rail__scroll{overflow-y:auto;overscroll-behavior:contain;min-height:0}.step{border-bottom:1px solid var(--line);padding:clamp(16px,2vw,22px) clamp(16px,2vw,24px);display:grid;gap:14px}.step__head{display:flex;align-items:baseline;gap:12px;color:var(--mute)}.step__head b{color:var(--paper);font-size:13px;font-weight:400;letter-spacing:.02em;text-transform:none}.step__n{color:var(--mute-2)}.step__value{margin-left:auto;color:var(--white);font-size:12px;font-weight:400;letter-spacing:0;text-transform:none;text-align:right}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid var(--line-2);padding:8px 12px;font-size:11.5px;font-weight:400;letter-spacing:.01em;color:var(--mute);transition:color .25s var(--ease),border-color .25s var(--ease),background .25s var(--ease);display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.chip:hover{color:var(--paper);border-color:#ffffff6b}.chip[aria-pressed=true]{background:var(--paper);border-color:var(--paper);color:var(--ink);font-weight:500}.chip__dot{width:11px;height:11px;border-radius:2px;border:1px solid rgba(255,255,255,.35);flex:none}.chip[aria-pressed=true] .chip__dot{border-color:#00000059}.models{display:grid;gap:1px;background:var(--line)}.model{background:var(--ink);padding:12px 14px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;text-align:left;transition:background .25s var(--ease)}.model:hover{background:var(--ink-2)}.model[aria-pressed=true]{background:var(--ink-3)}.model__code{font-size:10px;font-weight:600;letter-spacing:.14em;color:var(--mute-2)}.model[aria-pressed=true] .model__code{color:var(--white)}.model__name{font-size:13.5px}.model__size{font-size:10.5px;color:var(--mute-2)}.model__tick{width:14px;text-align:right;color:var(--white)}.size{display:grid;gap:14px}.size__row{display:grid;gap:6px}.size__label{display:flex;justify-content:space-between;align-items:baseline;color:var(--mute)}.size__label b{color:var(--white);font-size:14px;font-weight:400}.size__bounds{display:flex;justify-content:space-between;font-size:10px;color:var(--mute-2)}.pricebar{border-top:1px solid var(--line);padding:clamp(14px,2vw,20px) clamp(16px,2vw,24px);display:grid;gap:12px;background:var(--ink)}.pricebar__top{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.price{font-size:clamp(26px,3vw,34px);font-weight:200;letter-spacing:-.04em;line-height:1}.pricebar__lead{text-align:right;color:var(--mute);font-size:11px;line-height:1.45}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--line-2);padding:12px 18px;font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease);white-space:nowrap;text-decoration:none}.btn:hover{border-color:var(--paper)}.btn--solid{background:var(--paper);border-color:var(--paper);color:var(--ink)}.btn--solid:hover{background:var(--white)}.btn--block{width:100%;padding-block:15px}.btn:disabled{opacity:.4;cursor:not-allowed}.notice{border:1px solid var(--line-2);padding:12px 14px;display:grid;gap:6px;font-size:12px;line-height:1.55;color:var(--mute)}.notice b{color:var(--paper);font-weight:500}.notice a{color:var(--paper)}.sheet{position:fixed;inset:0;z-index:20;background:#080808b8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:grid;justify-items:end;opacity:0;pointer-events:none;transition:opacity .4s var(--ease)}.sheet.on{opacity:1;pointer-events:auto}.sheet__panel{width:min(660px,100vw);height:100%;background:var(--ink);border-left:1px solid var(--line);overflow-y:auto;transform:translate(24px);transition:transform .5s var(--ease);display:grid;grid-template-rows:auto 1fr;align-content:start}.sheet.on .sheet__panel{transform:none}.sheet__head{position:sticky;top:0;background:var(--ink);border-bottom:1px solid var(--line);padding:18px clamp(18px,3vw,30px);display:flex;align-items:center;justify-content:space-between;gap:16px;z-index:2}.sheet__title{font-size:clamp(18px,2vw,24px);font-weight:200;letter-spacing:-.03em}.sheet__body{padding:clamp(18px,3vw,30px);display:grid;gap:32px}.specrows{display:grid;gap:0;border-top:1px solid var(--line)}.specrow{display:grid;grid-template-columns:minmax(130px,34%) 1fr;gap:16px;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px}.specrow dt{color:var(--mute)}.specrow dd{margin:0;text-align:right}.hw{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}.hwcard{background:var(--ink);padding:16px;display:grid;gap:8px}.hwcard__title{font-size:14px;font-weight:400}.hwcard__sub{font-size:11px;color:var(--mute-2)}.hwcard__desc{font-size:12.5px;color:var(--mute);line-height:1.6}.hwcard__specs{display:grid;gap:3px;margin-top:4px}.hwcard__spec{display:flex;justify-content:space-between;gap:12px;font-size:11.5px}.hwcard__spec span:first-child{color:var(--mute-2)}.sku{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;letter-spacing:.04em;color:var(--mute);word-break:break-all}.orderform{display:grid;gap:16px}.orderform__lede{font-size:13px;line-height:1.65;color:var(--mute);max-width:62ch}.orderform__grid{display:grid;gap:14px;grid-template-columns:1fr 1fr}@media(max-width:560px){.orderform__grid{grid-template-columns:1fr}}.field{display:grid;gap:5px}.field>span{font-size:9.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--mute-2)}.field input,.field select,.field textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line-2);color:var(--paper);font-family:inherit;font-size:14px;font-weight:300;padding:8px 0;border-radius:0;-webkit-appearance:none;appearance:none;transition:border-color .3s var(--ease)}.field textarea{resize:vertical}.field select option{background:var(--ink-2);color:var(--paper)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-bottom-color:var(--white)}.field input::placeholder,.field textarea::placeholder{color:var(--mute-2)}.orderform__foot{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-top:6px;flex-wrap:wrap}.orderform__note{font-size:11px;color:var(--mute-2);line-height:1.55}.sectionhead{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:14px;color:var(--mute-2)}.loading{position:absolute;inset:0;display:grid;place-content:center;gap:14px;justify-items:center;color:var(--mute-2);pointer-events:none}.loading__bar{width:120px;height:1px;background:var(--line-2);overflow:hidden}.loading__bar i{display:block;height:100%;width:40%;background:var(--white);animation:sweep 1.3s var(--ease) infinite}@keyframes sweep{0%{transform:translate(-100%)}to{transform:translate(350%)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}.printhead{display:none}@media print{@page{size:letter portrait;margin:14mm 14mm 16mm}html,body,#root{height:auto;background:#fff;color:#0a0a0a}body{font-size:10pt;line-height:1.5}.topbar,.body,.sheet__head,.orderform,.stage{display:none!important}.sheet{position:static;inset:auto;display:block;opacity:1;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:auto}.sheet__panel{width:100%;height:auto;border:0;background:#fff;transform:none;overflow:visible;display:block}.sheet__body{padding:0;display:block}.sheet__body>section{break-inside:avoid;margin-bottom:9mm}.printhead{display:block;border-bottom:1.5pt solid #0a0a0a;padding-bottom:4mm;margin-bottom:6mm}.printhead__brand{font-size:15pt;letter-spacing:-.03em}.printhead__brand b{font-weight:500}.printhead__brand i{font-style:normal;font-weight:700}.printhead__brand s{text-decoration:none;font-weight:200}.printhead__meta{display:flex;justify-content:space-between;gap:10mm;margin-top:2mm;font-size:8pt;letter-spacing:.12em;text-transform:uppercase;color:#5a5a5a}.printhead__meta .sku{text-transform:none;letter-spacing:.04em;font-size:8.5pt;color:#0a0a0a}.sectionhead{color:#5a5a5a;border-bottom:.5pt solid #c9c7c3;padding-bottom:1.5mm;margin-bottom:3mm;font-size:8pt}.specrows,.specrow{border-color:#d8d6d2}.specrow{padding:2mm 0;font-size:9.5pt;break-inside:avoid}.specrow dt{color:#5a5a5a}.specrow dd{color:#0a0a0a}.hw{background:none;border:.5pt solid #d8d6d2;gap:0}.hwcard{background:#fff;border-bottom:.5pt solid #d8d6d2;padding:3mm 4mm;break-inside:avoid}.hwcard__title{font-size:10pt}.hwcard__sub,.hwcard__desc,.hwcard__spec span:first-child{color:#5a5a5a}.hwcard__desc{font-size:9pt}.hwcard__spec{font-size:8.5pt}.sku{color:#0a0a0a;font-size:10pt}.notice{border-color:#c9c7c3;color:#5a5a5a}.notice b{color:#0a0a0a}}
