@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:optional;src:url(/fonts/inter-latin.woff2) format("woff2") tech("variations")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:optional;src:url(/fonts/jetbrains-mono-latin.woff2)format("woff2")}:root{--color-primary:#5e6ad2;--color-on-primary:#fff;--color-primary-hover:#828fff;--color-primary-focus:#5e69d1;--color-ink:#f7f8f8;--color-ink-muted:#d0d6e0;--color-ink-subtle:#8a8f98;--color-ink-tertiary:#62666d;--color-canvas:#010102;--color-surface-1:#0f1011;--color-surface-2:#141516;--color-surface-3:#18191a;--color-surface-4:#191a1b;--color-hairline:#23252a;--color-hairline-strong:#34343a;--color-hairline-tertiary:#3e3e44;--color-inverse-canvas:#fff;--color-inverse-ink:#000;--color-semantic-success:#27a644;--color-overlay:#000;--color-focus-ring:#5e69d180;--color-edge:#ffffff0a;--font-display:"SF Pro Display", "Inter", -apple-system, system-ui, "Segoe UI", Roboto, sans-serif;--font-text:"Inter", -apple-system, system-ui, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-display-xl:clamp(40px, 6.5vw, 80px);--text-display-lg:clamp(36px, 5.5vw, 56px);--text-display-md:clamp(32px, 4vw, 40px);--text-headline:28px;--text-card-title:22px;--text-subhead:20px;--text-body-lg:18px;--text-body:16px;--text-body-sm:14px;--text-button:14px;--text-eyebrow:13px;--text-caption:12px;--text-mono:13px;--weight-display:600;--weight-headline:600;--weight-card-title:500;--weight-button:500;--weight-body:400;--weight-eyebrow:500;--rounded-xs:4px;--rounded-sm:6px;--rounded-md:8px;--rounded-lg:12px;--rounded-xl:16px;--rounded-xxl:24px;--rounded-pill:9999px;--rounded-full:9999px;--space-xxs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-xxl:48px;--space-section:96px;--container-max:1280px;--container-pad:clamp(24px, 4vw, 48px);--nav-height:56px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-text);font-size:var(--text-body);font-weight:var(--weight-body);letter-spacing:-.05px;color:var(--color-ink);background:var(--color-canvas);font-feature-settings:"kern";text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;line-height:1.5}img,picture,video,canvas{max-width:100%;display:block}button,input,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}::selection{background:var(--color-primary);color:var(--color-on-primary)}.container{width:100%;max-width:var(--container-max);padding-inline:var(--container-pad);margin-inline:auto}.grid{gap:var(--space-lg);display:grid}.grid-2{gap:var(--space-lg);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.grid-3{gap:var(--space-lg);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.grid-4{gap:var(--space-lg);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}@media (width<=1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.display-xl,.display-lg,.display-md,.headline,.subhead,.card-title{font-family:var(--font-display);font-feature-settings:"kern";text-wrap:balance}.display-xl{font-size:var(--text-display-xl);font-weight:var(--weight-display);letter-spacing:-.04em;line-height:1.05}.display-lg{font-size:var(--text-display-lg);font-weight:var(--weight-display);letter-spacing:-.032em;line-height:1.1}.display-md{font-size:var(--text-display-md);font-weight:var(--weight-display);letter-spacing:-.025em;line-height:1.15}.headline{font-size:var(--text-headline);font-weight:var(--weight-headline);letter-spacing:-.021em;line-height:1.2}.card-title{font-size:var(--text-card-title);font-weight:var(--weight-card-title);letter-spacing:-.018em;line-height:1.25}.subhead{font-size:var(--text-subhead);letter-spacing:-.01em;font-weight:400;line-height:1.4}.body-lg{font-size:var(--text-body-lg);font-weight:var(--weight-body);letter-spacing:-.1px;line-height:1.5}.body{font-size:var(--text-body);font-weight:var(--weight-body);letter-spacing:-.05px;line-height:1.5}.body-sm{font-size:var(--text-body-sm);font-weight:var(--weight-body);letter-spacing:0;line-height:1.5}.link{font-size:var(--text-body);letter-spacing:-.05px;color:var(--color-primary-hover);text-underline-offset:3px;font-weight:500;line-height:1.4;text-decoration:underline}.link:hover{color:var(--color-primary)}.eyebrow{font-family:var(--font-text);font-size:var(--text-eyebrow);font-weight:var(--weight-eyebrow);letter-spacing:.4px;color:var(--color-ink-muted);line-height:1.3}.caption{font-family:var(--font-text);font-size:var(--text-caption);font-weight:var(--weight-body);letter-spacing:0;color:var(--color-ink-subtle);line-height:1.4}.mono-label{font-family:var(--font-mono);font-size:var(--text-mono);letter-spacing:0;color:var(--color-ink-subtle);font-weight:400;line-height:1.5}p+p{margin-top:var(--space-md)}.section{padding-block:var(--space-section)}.section-tight{padding-block:var(--space-xxl)}.btn{justify-content:center;align-items:center;gap:var(--space-xs);font-family:var(--font-text);font-size:var(--text-button);font-weight:var(--weight-button);letter-spacing:0;border-radius:var(--rounded-md);cursor:pointer;border:1px solid #0000;min-height:40px;padding:8px 14px;line-height:1.2;text-decoration:none;transition:background-color .12s,border-color .12s;display:inline-flex}.btn-primary{background:var(--color-primary);color:var(--color-on-primary)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-primary:active{background:var(--color-primary-focus)}.btn-secondary{background:var(--color-surface-1);color:var(--color-ink);border-color:var(--color-hairline)}.btn-secondary:hover{background:var(--color-surface-2);border-color:var(--color-hairline-strong)}.btn-tertiary{color:var(--color-ink);background:0 0}.btn-tertiary:hover{background:var(--color-surface-1)}.btn-inverse{background:var(--color-inverse-canvas);color:var(--color-inverse-ink)}.btn-inverse:hover{background:var(--color-inverse-surface-2,#f6f7f7)}.btn-full{width:100%}.btn-sm{min-height:32px;font-size:var(--text-caption);padding:4px 10px}.btn-icon{border-radius:var(--rounded-md);background:var(--color-surface-1);width:40px;height:40px;color:var(--color-ink);border:1px solid var(--color-hairline);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.btn-icon:hover{background:var(--color-surface-2)}@media (width<=560px){.btn-full-mobile{width:100%}}.tabs{flex-wrap:wrap;gap:4px;display:inline-flex}.tab{appearance:none;color:var(--color-ink-subtle);border-radius:var(--rounded-pill);min-height:36px;font-size:var(--text-button);font-weight:var(--weight-button);cursor:pointer;background:0 0;border:none;padding:6px 14px;line-height:1.2;transition:background-color .12s,color .12s}.tab:hover{color:var(--color-ink)}.tab[aria-pressed=true],.tab.is-selected{background:var(--color-surface-2);color:var(--color-ink)}@media (width<=560px){.tabs{max-width:100%;overflow-x:auto}}.input,.select{background:var(--color-surface-1);width:100%;color:var(--color-ink);font-size:var(--text-body);font-weight:var(--weight-body);border:1px solid var(--color-hairline);border-radius:var(--rounded-md);min-height:44px;padding:8px 12px}.input::placeholder{color:var(--color-ink-tertiary)}.input:focus,.select:focus{outline:2px solid var(--color-focus-ring);outline-offset:1px;border-color:var(--color-hairline-strong)}.input[aria-invalid=true]{border-color:var(--color-hairline-strong)}.input-label{font-size:var(--text-body-sm);margin-bottom:var(--space-xs);font-weight:500;display:block}.field{gap:var(--space-xxs);display:grid}.unit-group{gap:var(--space-xs);grid-template-columns:1fr 96px;display:grid}.card{background:var(--color-surface-1);color:var(--color-ink);border:1px solid var(--color-hairline);border-radius:var(--rounded-lg);padding:var(--space-lg);box-shadow:inset 0 1px 0 var(--color-edge)}.card-soft{background:var(--color-surface-2);color:var(--color-ink);border-radius:var(--rounded-lg);padding:var(--space-lg);box-shadow:inset 0 1px 0 var(--color-edge)}.card-flat{background:var(--color-surface-1);color:var(--color-ink);border-radius:var(--rounded-lg);padding:var(--space-lg)}.tile{background:var(--color-surface-1);color:var(--color-ink);border:1px solid var(--color-hairline);border-radius:var(--rounded-lg);padding:var(--space-lg);box-shadow:inset 0 1px 0 var(--color-edge);transition:background-color .12s,border-color .12s;display:block}.tile:hover{background:var(--color-surface-2);border-color:var(--color-hairline-strong)}.result-card{background:var(--color-surface-1);color:var(--color-ink);border:1px solid var(--color-hairline);border-radius:var(--rounded-lg);padding:var(--space-lg);gap:var(--space-xxs);box-shadow:inset 0 1px 0 var(--color-edge);display:grid}.result-card--hero{background:var(--color-surface-2);border-color:var(--color-hairline-strong)}.result-value{font-family:var(--font-display);font-size:28px;font-weight:var(--weight-display);letter-spacing:-.021em;line-height:1.2}.result-value-lg{font-family:var(--font-display);font-size:var(--text-display-md);font-weight:var(--weight-display);letter-spacing:-.025em;line-height:1.15}@media (width<=560px){.result-value-lg{font-size:32px}.result-value{font-size:24px}}.preview-frame{background:var(--color-surface-1);border:1px solid var(--color-hairline);border-radius:var(--rounded-lg);padding:var(--space-md);gap:var(--space-sm);box-shadow:inset 0 1px 0 var(--color-edge);align-content:start;display:grid}.preview-frame img{border-radius:var(--rounded-md);background:var(--color-canvas);width:auto;max-width:100%;max-height:300px;margin-inline:auto}.size-grid{gap:var(--space-xs);flex-wrap:wrap;display:flex}.size-chip{appearance:none;align-items:center;gap:var(--space-xs);border:1px solid var(--color-hairline);background:var(--color-canvas);color:var(--color-ink-muted);border-radius:var(--rounded-md);min-height:40px;font-size:var(--text-button);font-weight:var(--weight-button);letter-spacing:0;cursor:pointer;padding:8px 12px;line-height:1.2;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.size-chip:hover{color:var(--color-ink);border-color:var(--color-hairline-strong)}.size-chip[aria-pressed=true],.size-chip.is-selected{background:var(--color-surface-2);color:var(--color-ink);border-color:var(--color-hairline-strong)}.best-tag{border-radius:var(--rounded-pill);color:var(--color-primary-hover);white-space:nowrap;background:#5e6ad22e;border:1px solid #5e6ad266;padding:2px 6px;font-size:11px;font-weight:500;line-height:1.2;display:inline-block}.metric-grid{gap:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width>=768px){.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.metric{background:var(--color-canvas);border:1px solid var(--color-hairline);border-radius:var(--rounded-lg);padding:var(--space-md);gap:var(--space-xxs);align-content:start;display:grid}.metric-value{font-family:var(--font-display);font-size:24px;font-weight:var(--weight-display);letter-spacing:-.02em;color:var(--color-ink);line-height:1.2}.compare-row{align-items:center;gap:var(--space-sm);padding:var(--space-sm) 0;border-bottom:1px solid var(--color-hairline);grid-template-columns:1fr auto auto;display:grid}.compare-row:last-child{border-bottom:none}.compare-row .badge{min-width:0}@media (width<=480px){.compare-row{grid-template-columns:1fr auto}.compare-row .mono-label{display:none}}.panel{background:var(--color-surface-1);color:var(--color-ink);border:1px solid var(--color-hairline);border-radius:var(--rounded-xl);gap:var(--space-lg);box-shadow:inset 0 1px 0 var(--color-edge);padding:clamp(32px,5vw,48px);display:grid}.panel--lifted{background:var(--color-surface-2);border-color:var(--color-hairline-strong)}.panel--cta{text-align:center;justify-items:center}.panel-head{gap:var(--space-xs);display:grid}.nav{z-index:50;background:var(--color-canvas);border-bottom:1px solid var(--color-hairline);height:var(--nav-height);position:sticky;top:0}.nav-inner{height:var(--nav-height);justify-content:space-between;align-items:center;gap:var(--space-lg);display:flex}.nav-brand{align-items:center;gap:var(--space-xs);font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-ink);font-size:15px;font-weight:600;display:inline-flex}.nav-brand-mark{border-radius:var(--rounded-sm);background:var(--color-primary);width:22px;height:22px;color:var(--color-on-primary);justify-content:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex}.nav-links{align-items:center;gap:var(--space-lg);display:flex}.nav-link{font-size:var(--text-body-sm);color:var(--color-ink-subtle);letter-spacing:0;font-weight:500;transition:color .12s}.nav-link:hover,.nav-link[aria-current=page]{color:var(--color-ink)}.nav-ctas{align-items:center;gap:var(--space-sm);display:flex}.nav-burger{border-radius:var(--rounded-md);background:var(--color-surface-1);border:1px solid var(--color-hairline);cursor:pointer;width:40px;height:40px;color:var(--color-ink);font-size:18px;display:none}.nav-menu{display:none}@media (width<=960px){.nav-links{display:none}.nav-burger{justify-content:center;align-items:center;display:inline-flex}.nav-menu[data-open=true]{top:var(--nav-height);background:var(--color-canvas);border-bottom:1px solid var(--color-hairline);padding:var(--space-md) var(--container-pad) var(--space-xl);gap:var(--space-sm);display:grid;position:absolute;left:0;right:0}.nav-menu-link{font-size:var(--text-body-lg);color:var(--color-ink);padding-block:var(--space-xs);font-weight:500}.nav-ctas .btn-primary,.nav-ctas .btn-secondary{display:none}.nav-ctas-in-menu{gap:var(--space-xs);margin-top:var(--space-sm);display:grid}}@media (width>=961px){.nav-ctas-in-menu{display:none}}.upload-zone{border:1px dashed var(--color-hairline-strong);border-radius:var(--rounded-xl);background:var(--color-canvas);padding:var(--space-xxl);align-content:center;place-items:center;gap:var(--space-sm);text-align:center;cursor:pointer;min-height:clamp(240px,28vw,320px);transition:background-color .12s,border-color .12s;display:grid}.upload-zone:hover{background:var(--color-surface-1)}.upload-zone[data-drag=true]{background:var(--color-surface-2);border-color:var(--color-primary);border-style:solid}.upload-zone:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}@media (width<=560px){.upload-zone{padding:var(--space-xl)}}.table{border-collapse:collapse;width:100%;font-size:var(--text-body-sm);font-weight:var(--weight-body)}.table th{font-family:var(--font-text);font-size:var(--text-caption);letter-spacing:.4px;color:var(--color-ink-subtle);text-align:left;padding:var(--space-sm) var(--space-sm) var(--space-sm) 0;border-bottom:1px solid var(--color-hairline);font-weight:500}.table td{padding:var(--space-sm) var(--space-sm) var(--space-sm) 0;border-bottom:1px solid var(--color-hairline)}.table tr:last-child td{border-bottom:none}.table td:last-child,.table th:last-child{text-align:right}.badge{align-items:center;gap:var(--space-xxs);font-size:var(--text-caption);letter-spacing:0;border-radius:var(--rounded-pill);background:var(--color-surface-2);color:var(--color-ink-muted);white-space:nowrap;padding:2px 8px;font-weight:500;line-height:1.4;display:inline-flex}.badge--good{color:var(--color-semantic-success);background:#27a64424;border:1px solid #27a64459}.badge--mid{background:var(--color-surface-3);color:var(--color-ink-muted)}.badge--low{background:var(--color-inverse-canvas);color:var(--color-inverse-ink)}.badge--fine{background:var(--color-surface-2);color:var(--color-ink-muted)}.checkmark{border-radius:var(--rounded-full);flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;line-height:1;display:inline-flex}.checkmark--ok{color:var(--color-semantic-success);background:#27a64424;border:1px solid #27a64459}.checkmark--warn{background:var(--color-surface-2);border:1px solid var(--color-hairline-strong);color:var(--color-ink);font-weight:600}.checkmark--bad{background:var(--color-surface-3);color:var(--color-ink-subtle)}.footer{background:var(--color-canvas);border-top:1px solid var(--color-hairline);padding:64px var(--container-pad) 32px}.footer-inner{max-width:var(--container-max);margin-inline:auto}.footer-top{gap:var(--space-xl);display:grid}.footer-brand{align-items:center;gap:var(--space-xs);font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-ink);width:fit-content;font-size:15px;font-weight:600;display:inline-flex}.footer-brand-mark{border-radius:var(--rounded-sm);background:var(--color-primary);width:22px;height:22px;color:var(--color-on-primary);justify-content:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex}.footer-cols{gap:var(--space-xl);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.footer-col-title{font-size:var(--text-caption);letter-spacing:.4px;color:var(--color-ink);margin-bottom:var(--space-sm);font-weight:500}.footer-links{gap:var(--space-xs);display:grid}.footer-link{font-size:var(--text-body-sm);color:var(--color-ink-subtle);transition:color .12s}.footer-link:hover{color:var(--color-ink)}.footer-bottom{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--color-hairline);justify-content:space-between;gap:var(--space-md);font-size:var(--text-body-sm);color:var(--color-ink-subtle);flex-wrap:wrap;display:flex}@media (width<=768px){.footer-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=480px){.footer-cols{grid-template-columns:1fr}}.breadcrumbs{align-items:center;gap:var(--space-xs);font-size:var(--text-body-sm);color:var(--color-ink-subtle);flex-wrap:wrap;display:flex}.breadcrumbs a:hover{text-underline-offset:3px;text-decoration:underline}.breadcrumbs [aria-current=page]{color:var(--color-ink)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.text-center{text-align:center}.mt-0{margin-top:0}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mb-lg{margin-bottom:var(--space-lg)}.stack{gap:var(--space-lg);display:grid}.stack-sm{gap:var(--space-sm);display:grid}.stack-md{gap:var(--space-md);display:grid}.split{justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.list-check{gap:var(--space-sm);list-style:none;display:grid}.list-check li{gap:var(--space-sm);align-items:center;display:flex}.error-text{background:var(--color-surface-2);border:1px solid var(--color-hairline-strong);border-radius:var(--rounded-md);font-size:var(--text-body-sm);color:var(--color-ink);padding:6px 12px;font-weight:500;display:inline-block}.hairline-top{border-top:1px solid var(--color-hairline)}
