@font-face{font-family:Computer Modern;src:url(/fonts/cmu-serif-500-roman.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Computer Modern;src:url(/fonts/cmu-serif-500-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Computer Modern;src:url(/fonts/cmu-serif-700-roman.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Computer Modern;src:url(/fonts/cmu-serif-700-italic.woff2) format("woff2");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Mondwest;src:url(/fonts/ppm-mondwest-regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}:root{--bg:#f9f8f5;--text:#181614;--text-2:#504d48;--text-3:#746e67;--border:rgba(24,22,20,.12);--rule:rgba(24,22,20,.2);--accent:#1a3a5c;--ascii-ink:#2c4a68;--row-hover:rgba(24,22,20,.055);--card-surface:#fdfcf9;--card-border:rgba(24,22,20,.1);--ink:#262220;--ink-2:#8a8278;--ink-3:#c4bdb2;--empty:rgba(24,22,20,.075);--ok:#1f5c3d;--warn:#8a5a12;--bad:#97301f;--ease-smooth-out:cubic-bezier(0.22,1,0.36,1);--ease-soft-spring:cubic-bezier(0.34,1.45,0.64,1)}:root[data-theme=dark]{--bg:#12110f;--text:#eceae5;--text-2:#b3afa7;--text-3:#918c85;--border:hsla(43,16%,91%,.14);--rule:hsla(43,16%,91%,.24);--accent:#8fb4d9;--ascii-ink:#96b6d4;--row-hover:hsla(43,16%,91%,.06);--card-surface:#1b1a17;--card-border:hsla(43,16%,91%,.12);--ink:#e4e1da;--ink-2:#7e7972;--ink-3:#494540;--empty:hsla(43,16%,91%,.08);--ok:#7fc4a0;--warn:#d8ab63;--bad:#e08a7b}*{margin:0;padding:0;box-sizing:border-box}html{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}body{overflow-x:hidden;font-family:Computer Modern,Georgia,serif;font-size:1.0625rem;line-height:1.55;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;transition:background-color .32s ease,color .32s ease}body:before{content:"";z-index:10;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.5 0 0 0 0 0.49 0 0 0 0 0.47 0 0 0 0.5 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.ascii-bg,body:before{position:fixed;inset:0;pointer-events:none}.ascii-bg{z-index:-1;width:100%;height:100%;opacity:.5}a{color:inherit;-webkit-text-decoration-color:var(--text-3);text-decoration-color:var(--text-3);text-underline-offset:3px}a:hover{-webkit-text-decoration-color:var(--text);text-decoration-color:var(--text)}button{font:inherit;color:inherit;cursor:pointer;background:none;border:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:1.5px solid var(--accent);outline-offset:2px}.label{display:block;font-size:.8125rem;letter-spacing:.11em;text-transform:uppercase;color:var(--text-3)}.label,.num{font-family:Mondwest,Computer Modern,serif}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.shell{max-width:62rem;margin:0 auto;padding:clamp(1.5rem,4vw,2.5rem) 1.25rem calc(2rem + env(safe-area-inset-bottom));position:relative;isolation:isolate}.topbar{display:flex;align-items:center;gap:1rem;padding-bottom:.9rem;border-bottom:1px solid var(--rule)}.brand{font-family:Mondwest,Computer Modern,serif;font-size:1.4rem;letter-spacing:-.01em;text-decoration:none;white-space:nowrap}.brand i{font-style:normal;color:var(--text-3);padding:0 .15rem}.brand b{font-weight:400;color:var(--accent)}.topnav{display:flex;gap:1.1rem;margin-left:auto;align-items:center;font-size:.95rem}.topnav a{text-decoration:none;color:var(--text-2)}.topnav a:hover{color:var(--text)}.topnav a[aria-current=page]{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:5px}.lang-switch{font-size:.85rem;color:var(--text-3);text-decoration:none;border:1px solid var(--border);border-radius:999px;padding:.15rem .6rem}.lang-switch:hover{color:var(--text);border-color:var(--rule)}.theme-toggle{position:relative;width:40px;height:23px;flex:0 0 auto}.toggle-track{position:absolute;inset:0;border-radius:999px;background:color-mix(in srgb,var(--text-3) 32%,transparent);transition:background .26s ease}.theme-toggle[aria-checked=true] .toggle-track{background:color-mix(in srgb,var(--text-3) 55%,transparent)}.toggle-thumb{position:absolute;top:3px;left:3px;display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:var(--card-surface);box-shadow:0 1px 3px rgba(0,0,0,.28),inset 0 1px 1.5px hsla(0,0%,100%,.65);transition:transform .42s var(--ease-soft-spring)}.theme-toggle[aria-checked=true] .toggle-thumb{transform:translateX(17px)}.toggle-dot{width:5px;height:5px;border-radius:50%;background:color-mix(in srgb,var(--text-2) 55%,transparent)}.theme-toggle[aria-checked=true] .toggle-dot{background:var(--accent)}.hero{padding:clamp(2rem,5vw,3rem) 0 clamp(1.4rem,3vw,2rem)}h1{font-family:Mondwest,Computer Modern,serif;font-weight:400;font-size:clamp(1.9rem,5.2vw,2.9rem);line-height:1.08;letter-spacing:-.02em;max-width:34ch}h1 em{font-style:normal;color:var(--accent)}.lede{margin-top:.9rem;color:var(--text-2);max-width:58ch}h2{font-family:Mondwest,Computer Modern,serif;font-weight:400;font-size:1.3rem;color:var(--text-3);letter-spacing:-.01em}.workbench{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);grid-gap:clamp(1.6rem,4vw,3rem);gap:clamp(1.6rem,4vw,3rem);border-top:1px solid var(--rule);padding-top:1.6rem;align-items:start}.settings{grid-gap:1.5rem;gap:1.5rem}.field,.settings{display:grid;min-width:0}.field{grid-gap:.5rem;gap:.5rem}.field-head{gap:.6rem}.field-head,.field-head .label{display:flex;align-items:baseline}.field-head .label{gap:.5rem}.field-head .step{color:var(--ink-3);font-size:.8125rem}.field-head a{margin-left:auto;font-size:.8125rem;color:var(--text-3)}.hint{font-size:.875rem;color:var(--text-3);line-height:1.5}input[type=number],input[type=search],select{font:inherit;width:100%;min-width:0;color:var(--text);background:transparent;border:0;border-bottom:1px solid var(--rule);border-radius:0;padding:.35rem 1.4rem .4rem 0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 0),linear-gradient(135deg,currentColor 50%,transparent 0);background-position:right .5rem center,right .22rem center;background-size:5px 5px,5px 5px;background-repeat:no-repeat;transition:border-color .18s ease}input:hover,select:hover{border-color:var(--text-2)}input[type=number],input[type=search]{background-image:none;padding-right:.4rem}select option{background:var(--bg);color:var(--text)}.row-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.1rem;gap:1.1rem}.chips{display:flex;flex-wrap:wrap;gap:.35rem}.chip{border:1px solid var(--border);border-radius:3px;padding:.25rem .55rem;font-size:.9rem;color:var(--text-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transition:border-color .16s ease,color .16s ease,background .16s ease}.chip:hover{border-color:var(--rule);color:var(--text)}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}input[type=range]{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;height:22px}input[type=range]::-webkit-slider-runnable-track{height:1px;background:var(--rule)}input[type=range]::-moz-range-track{height:1px;background:var(--rule)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:13px;height:13px;margin-top:-6px;border-radius:50%;background:var(--ink);border:2px solid var(--bg);box-shadow:0 0 0 1px var(--rule)}input[type=range]::-moz-range-thumb{width:13px;height:13px;border-radius:50%;background:var(--ink);border:2px solid var(--bg)}.slider-row{display:flex;align-items:baseline;gap:.8rem}.slider-row .num{font-size:1.05rem;min-width:5.2ch;text-align:right}.slider-row .unit{font-size:.875rem;color:var(--text-3)}.actions{display:flex;gap:1rem;align-items:center;padding-top:.2rem;font-size:.9rem}.actions button{color:var(--text-2);text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);text-underline-offset:4px}.actions button:hover{color:var(--text)}.result{position:-webkit-sticky;position:sticky;top:1.25rem;display:grid;grid-gap:1.15rem;gap:1.15rem;min-width:0}.verdict h2{font-size:clamp(1.5rem,3.6vw,2rem);color:var(--text);line-height:1.15;margin-bottom:.4rem}.result.fit .verdict h2{color:var(--ok)}.result.cpu .verdict h2,.result.tight .verdict h2{color:var(--warn)}.result.no .verdict h2{color:var(--bad)}.verdict p{color:var(--text-3);font-size:.95rem}.headline{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.headline .big{font-family:Mondwest,Computer Modern,serif;font-size:clamp(3rem,9vw,4.4rem);line-height:.95;letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.headline .unit{font-size:1.05rem;color:var(--text-3)}.headline .needed,.of{font-size:.95rem;color:var(--text-3)}.of strong{font-weight:400;color:var(--text-2)}.bar{display:flex;height:15px;background:var(--empty);overflow:hidden;border-radius:2px}.bar i{display:block;min-width:0;transition:width .26s var(--ease-smooth-out)}.bar .b-weights{background:var(--ink)}.bar .b-kv{background:var(--ink-2)}.bar .b-act{background:var(--ink-3)}.bar .b-runtime{background:repeating-linear-gradient(135deg,var(--ink-3) 0 2px,transparent 2px 5px)}.legend{display:flex;flex-wrap:wrap;gap:.45rem 1rem;font-size:.8125rem;color:var(--text-3)}.legend span{display:inline-flex;align-items:center;gap:.4rem}.legend i{width:8px;height:8px;border-radius:1px;display:block}.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1px;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:3px;overflow:hidden}.tile{background:var(--card-surface);padding:.7rem .8rem;display:grid;grid-gap:.25rem;gap:.25rem;min-width:0}.tile .label{font-size:.6875rem}.tile .v{font-family:Mondwest,Computer Modern,serif;font-size:1.05rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.tile .v.ok{color:var(--ok)}.tile .v.bad{color:var(--bad)}.breakdown{border-top:1px solid var(--rule)}.breakdown li{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:.3rem 1rem;gap:.3rem 1rem;padding:.7rem 0;border-bottom:1px solid var(--border);position:relative}.breakdown li>span:first-child{display:flex;align-items:center;gap:.5rem}.breakdown .swatch{width:8px;height:8px;border-radius:1px;flex:0 0 auto}.breakdown .v{font-family:Mondwest,Computer Modern,serif;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.breakdown .why{grid-column:1/-1;font-size:.85rem;color:var(--text-3)}.breakdown li.total{border-bottom:0;border-top:1px solid var(--rule);margin-top:.2rem}.breakdown li.total span{color:var(--text)}.note{font-size:.875rem;color:var(--text-3);line-height:1.6}.suggestion{display:flex;align-items:baseline;gap:.6rem;font-size:.9rem;border:1px dashed var(--border);border-radius:3px;padding:.6rem .75rem;color:var(--text-2)}.suggestion button{margin-left:auto;color:var(--accent);white-space:nowrap;text-decoration:underline;text-underline-offset:4px}.arch{margin-top:clamp(2rem,5vw,3rem);border-top:1px solid var(--rule);padding-top:1.4rem}.arch-grid{display:flex;flex-wrap:wrap;gap:.5rem 2rem;margin-top:.9rem}.arch-grid div{display:grid;grid-gap:.1rem;gap:.1rem}.arch-grid .v{font-family:Mondwest,Computer Modern,serif;font-size:1.15rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.arch-grid .label{font-size:.6875rem}.fits{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.fits button{display:grid;grid-gap:.15rem;gap:.15rem;text-align:left;border:1px solid var(--border);border-radius:3px;padding:.5rem .7rem;transition:border-color .16s ease,background .16s ease}.fits button:hover{border-color:var(--rule);background:var(--row-hover)}.fits button[aria-current=true]{border-color:var(--accent)}.fit-name{font-size:.95rem}.fit-size{font-family:Mondwest,Computer Modern,serif;font-size:.8125rem;color:var(--text-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fit-size em{font-style:normal;color:var(--warn)}.filters{display:flex;flex-wrap:wrap;gap:.9rem 1.2rem;align-items:end;border-top:1px solid var(--rule);padding-top:1.2rem;margin-top:1.2rem}.filters .field{min-width:11rem;flex:1 1 11rem}.tabs{display:flex;gap:1.2rem;font-size:1rem}.tabs button{padding-bottom:.3rem;color:var(--text-3);border-bottom:1px solid transparent}.tabs button[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent)}.count{margin:1.2rem 0 .4rem;font-size:.8125rem}.cards{list-style:none;display:grid;grid-gap:0;gap:0}.cards,.cards>li{position:relative}.cards>li{border-bottom:1px solid var(--border);padding:.95rem 0}.card-top{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}.card-top .name{font-size:1.0625rem}.card-top .vendor{letter-spacing:.1em;font-family:Mondwest,Computer Modern,serif}.card-top .tag,.card-top .vendor{font-size:.75rem;text-transform:uppercase;color:var(--text-3)}.card-top .tag{letter-spacing:.06em;border:1px solid var(--border);border-radius:2px;padding:0 .3rem}.card-facts{display:flex;flex-wrap:wrap;gap:.2rem 1.4rem;margin-top:.45rem;font-size:.875rem;color:var(--text-3)}.card-facts b{font-family:Mondwest,Computer Modern,serif;font-weight:400;color:var(--text-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.card-links{display:flex;gap:1rem;margin-top:.5rem;font-size:.875rem}.card-links a{color:var(--accent)}.row-hover-indicator{position:absolute;top:0;left:0;z-index:0;width:var(--row-w,0);height:var(--row-h,0);border-radius:7px;background:var(--row-hover);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);opacity:0;pointer-events:none;transform:translate3d(var(--row-x,0),var(--row-y,0),0);transition:width .15s var(--ease-smooth-out),height .15s var(--ease-smooth-out),opacity .1s ease-out,transform .17s var(--ease-smooth-out)}.row-hover-indicator.is-visible{opacity:1}.cards>li>*{position:relative;z-index:1}.prose{max-width:62ch;display:grid;grid-gap:1.5rem;gap:1.5rem;margin-top:1.4rem}.prose section{border-top:1px solid var(--rule);padding-top:1.2rem;display:grid;grid-gap:.8rem;gap:.8rem}.prose li,.prose p{color:var(--text-2)}.prose ul{display:grid;grid-gap:.55rem;gap:.55rem;padding-left:1.1rem}.formula{display:grid;grid-gap:.4rem;gap:.4rem;padding:.75rem .9rem;background:var(--card-surface);border:1px solid var(--card-border);border-radius:3px;overflow-x:auto}.formula code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem;color:var(--text);white-space:nowrap}.formula .label{font-size:.6875rem}footer{margin-top:clamp(2.5rem,6vw,4rem);border-top:1px solid var(--rule);padding:1.1rem 0 0;display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;font-size:.8125rem;color:var(--text-3)}.reveal{opacity:1;filter:blur(0);transform:translateY(0);transition:opacity .56s var(--ease-smooth-out),transform .56s var(--ease-smooth-out),filter .56s var(--ease-smooth-out)}@starting-style{.reveal{opacity:0;filter:blur(2.5px);transform:translateY(10px)}}@media (max-width:860px){.workbench{grid-template-columns:1fr}.result{position:static;border-top:1px solid var(--rule);padding-top:1.4rem}.ascii-bg{opacity:.35}}@media (max-width:560px){.topbar{flex-wrap:wrap;row-gap:.7rem}.topnav{width:100%;margin-left:0;justify-content:space-between;gap:.6rem;font-size:.9rem}.brand{font-size:1.25rem}.tiles{grid-template-columns:1fr}.fits button{flex:1 1 100%}}@media (prefers-reduced-motion:reduce){.bar i,.reveal{transition:none}}