:root{--bg:#08090b;--bg-raised:#0e1013;--panel:#121519;--panel-hover:#171b20;--line:#1f242b;--line-strong:#2b323b;--text:#e9ecf1;--text-dim:#98a1ad;--text-faint:#767f8b;--accent:#ff7a1a;--accent-dim:#b8560f;--accent-wash:#ff7a1a1f;--accent-pink:#ff6b9d;--accent-pink-wash:#ff6b9d1f;--good:#3ddc84;--bad:#ff5252;--radius:4px;--radius-lg:8px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--stats-width:400px;--rail-width:280px;--topbar-height:64px;--font-display:"Chakra Petch", system-ui, sans-serif;--font-body:"Inter", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--text-micro:11px;--text-small:12px;--text-base:14px;--text-lead:17px;--text-display-sm:24px;--text-display:30px;--leading-label:calc(12 / 11);--leading-small:1.333;--leading-body:1.5;--leading-lead:1.412;--leading-display:1.2;--track-label:.08em;--track-display:-.01em;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius)}img{max-width:100%}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line-strong);border:3px solid var(--bg);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#3a434e}.app{grid-template-rows:auto 1fr;height:100%;display:grid}.topbar{align-items:center;gap:var(--space-6);padding:0 var(--space-6);height:var(--topbar-height);border-bottom:1px solid var(--line);background:var(--bg-raised);display:flex}.wordmark{white-space:nowrap;font-family:var(--font-display);font-weight:700;font-size:var(--text-lead);letter-spacing:.04em;line-height:var(--leading-lead);flex:none;align-items:baseline;display:flex}.wordmark small{font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:var(--track-label);color:var(--text-faint);text-transform:none;font-weight:400}.topbar-links{align-items:center;gap:var(--space-1);flex:none;margin-inline:-5px;display:flex}.topbar-spacer{flex:1}.workspace{grid-template-columns:minmax(var(--rail-width), max-content) minmax(0, 1fr) var(--stats-width);min-height:0;display:grid}.workspace>*{min-width:0;min-height:0;overflow:hidden auto}.btn{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--panel);font-size:var(--text-base);white-space:nowrap;font-weight:500;transition:border-color .12s,background .12s,color .12s;display:inline-flex}.btn:hover{background:var(--panel-hover);border-color:#3a434e}.btn-accent{background:var(--accent);border-color:var(--accent);color:#140a02;font-weight:600}.btn-accent:hover{background:#ff8c3a;border-color:#ff8c3a}.btn-ghost{color:var(--text-dim);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--panel);color:var(--text);border-color:#0000}.btn-icon{flex:none;width:16px;height:16px;display:block}.rail{border-right:1px solid var(--line);background:var(--bg-raised);padding:0 var(--space-4) var(--space-12)}.rail-group+.rail-group{margin-top:var(--space-8)}.rail-heading{padding:0 var(--space-2) var(--space-2);font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:var(--track-label);line-height:var(--leading-label);text-transform:uppercase;color:var(--text-dim)}.rail-item{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2);border-radius:var(--radius);text-align:left;color:var(--text-dim);transition:background .12s,box-shadow .12s,color .12s;display:flex}.rail-item:hover{background:var(--panel);color:var(--text)}.rail-item[aria-current=true]{background:var(--accent-wash);box-shadow:inset 2px 0 0 var(--accent);color:var(--text)}.rail-item img{opacity:.85;transition:opacity .12s}.rail-item:hover img,.rail-item[aria-current=true] img{opacity:1}.rail-item-name{font-family:var(--font-display);font-weight:600;font-size:var(--text-base);letter-spacing:.02em}.rail-item-sub{font-family:var(--font-mono);font-size:var(--text-micro);color:var(--text-faint)}.bench{padding:var(--space-8);padding-bottom:var(--space-12)}.bench-head{padding-bottom:var(--space-6);border-bottom:1px solid var(--line);margin-bottom:var(--space-8)}.bench-headline{align-items:baseline;gap:var(--space-3);flex-wrap:wrap;display:flex}.bench-title{font-family:var(--font-display);font-size:var(--text-display);letter-spacing:var(--track-display);font-weight:700;line-height:var(--leading-display);margin:0}.bench-sub{font-family:var(--font-mono);font-size:var(--text-small);color:var(--text-faint);letter-spacing:.06em;line-height:var(--leading-small)}.bench-missing{margin-left:var(--space-2);color:var(--bad);letter-spacing:.04em;cursor:help;background:#ff52521a;border:1px solid #ff525259;border-radius:3px;padding:1px 6px;display:inline-block}.bench-hero{margin-top:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:#000;height:260px;position:relative;overflow:hidden}.bench-hero img,.bench-hero .model{width:100%;height:100%;transition:opacity .45s;position:absolute;inset:0}.bench-hero img{object-fit:contain;pointer-events:none}.bench-hero .model{opacity:0;pointer-events:none;touch-action:none}.bench-hero[data-model=ready] .model{pointer-events:auto}.bench-hero[data-model=ready] img{opacity:0}.bench-hero[data-model=ready] .model{opacity:1}.bench-hero .model canvas{cursor:grab;display:block;width:100%!important;height:100%!important}.bench-hero .model canvas:active{cursor:grabbing}.model-hint{right:var(--space-3);bottom:var(--space-2);font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:var(--track-label);line-height:var(--leading-label);text-transform:uppercase;color:var(--text-dim);pointer-events:none;opacity:0;align-items:center;transition:opacity .45s;display:flex;position:absolute}.bench-hero[data-model=ready] .model-hint{opacity:1}.bench-hero[data-model=ready]:hover .model-hint{opacity:.4}.model-hint-text{background-image:linear-gradient(90deg, var(--text-dim) 0%, var(--text-dim) 42%, var(--text) 50%, var(--text-dim) 58%, var(--text-dim) 100%);color:#0000;background-position:100% 0;background-size:250% 100%;-webkit-background-clip:text;background-clip:text;align-items:center;display:inline-flex}.model-hint-text .dot{background:var(--text-faint);opacity:1}.model-hint-tap{display:none}@media (hover:none){.model-hint-hover{display:none}.model-hint-tap{display:inline}}.bench-hero[data-model=ready]:not(:hover) .model-hint-text{animation:4.5s ease-in-out .4s infinite hint-sheen}@keyframes hint-sheen{0%{background-position:100% 0}40%,to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.bench-hero[data-model=ready] .model-hint-text{animation:none}}.model-callout{z-index:3;pointer-events:none;opacity:0;transition:opacity .14s;position:absolute;top:0;left:0}.model-callout[data-visible=true]{opacity:1}.model-callout-card{min-width:200px;max-width:280px;padding:var(--space-3) var(--space-4);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg-raised);box-shadow:inset 2px 0 0 var(--accent), 0 12px 32px #00000080;transition:transform .18s cubic-bezier(.2,.8,.2,1);transform:translateY(4px)}.model-callout[data-visible=true] .model-callout-card{transform:none}.model-callout-slot{font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:var(--track-label);line-height:var(--leading-label);text-transform:uppercase;color:var(--text-dim)}.model-callout-name{margin-top:var(--space-1);font-weight:500;font-size:var(--text-base);line-height:var(--leading-body);color:var(--text)}.model-callout-changes{gap:var(--space-1);margin:var(--space-3) 0 0;padding:var(--space-3) 0 0;border-top:1px solid var(--line);font-size:var(--text-small);line-height:var(--leading-small);color:var(--text-dim);list-style:none;display:grid}.model-callout-changes li{justify-content:space-between;gap:var(--space-3);display:flex}.model-callout-changes b{font-family:var(--font-mono);white-space:nowrap;font-weight:500}.model-callout-more,.model-callout-empty{color:var(--text-faint)}.model-callout-action{margin-top:var(--space-3);font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:var(--track-label);line-height:var(--leading-label);text-transform:uppercase;color:var(--accent)}.bench-hero[data-clickable=true] .model canvas:not(:active){cursor:pointer}.model-callout-empty{margin-top:var(--space-1);font-size:var(--text-small)}@media (prefers-reduced-motion:reduce){.model-callout,.model-callout-card{transition:none}}.section-label{align-items:center;gap:var(--space-3);margin:var(--space-8) 0 var(--space-3);font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:var(--track-label);line-height:var(--leading-label);text-transform:uppercase;color:var(--text-dim);display:flex}.section-label:after{content:"";background:var(--line);flex:1;height:1px}.slot-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.slot{align-items:center;gap:var(--space-3);width:100%;min-height:72px;padding:var(--space-3) var(--space-4);text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);transition:border-color .12s,background .12s;display:flex}.slot:hover{border-color:var(--line-strong);background:var(--panel-hover)}.slot[data-filled=true]{border-color:var(--accent-dim)}.slot-thumb{border-radius:var(--radius);border:1px solid var(--line);background:#0a0c0f;flex:none;place-items:center;width:48px;height:36px;display:grid;overflow:hidden}.slot-thumb img{object-fit:contain;width:100%;height:100%}.slot-thumb-empty{color:var(--text-faint);font-size:var(--text-lead);line-height:1}.slot-body{text-align:left;flex:1;min-width:0;padding:0;overflow:hidden}.slot-name{font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--text-dim)}.slot-value{font-weight:500;font-size:var(--text-base);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.slot[data-filled=false] .slot-value{color:var(--text-faint)}.slot-clear{border-radius:var(--radius);width:24px;height:24px;color:var(--text-faint);font-size:var(--text-base);flex:none;place-items:center;line-height:1;display:grid}.slot-clear:hover{background:var(--line);color:var(--bad)}.empty-note{color:var(--text-faint);font-size:var(--text-base)}.stats{border-left:1px solid var(--line);background:var(--bg-raised);padding:var(--space-6) var(--space-6) var(--space-12)}.stats-head{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.stats-title{font-family:var(--font-display);font-size:var(--text-base);letter-spacing:.1em;text-transform:uppercase;margin:0;font-weight:700}.stats-note{font-size:var(--text-small);color:var(--text-faint);margin:0 0 var(--space-4)}.spec-grid{gap:var(--space-3);margin-bottom:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.spec{padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.spec-label{align-items:center;gap:var(--space-1);font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:var(--track-label);line-height:var(--leading-label);text-transform:uppercase;color:var(--text-dim);display:flex}.spec-value{font-family:var(--font-mono);font-size:var(--text-lead);font-weight:700}.spec-value small{font-size:var(--text-micro);color:var(--text-faint);margin-left:3px;font-weight:400}.spec-value small.is-good{color:var(--good)}.spec-value small.is-bad{color:var(--bad)}.stat-row{align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-3) 0;grid-template-columns:minmax(0,1fr) auto;display:grid}.stat-name{align-items:center;gap:var(--space-2);font-size:var(--text-base);min-width:0;display:flex}.stat-name span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tag{padding:1px var(--space-1);border:1px solid var(--line-strong);font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--text-faint);border-radius:2px;flex:none}.tag.is-parts{cursor:pointer}.stat-value{font-family:var(--font-mono);font-size:var(--text-base);text-align:right;white-space:nowrap;font-weight:700}.stat-bar{background:var(--line);border-radius:2px;grid-column:1/-1;height:3px;position:relative;overflow:hidden}.stat-bar i{border-radius:2px;display:block;position:absolute;top:0;bottom:0}.stat-more{align-items:center;gap:var(--space-2);min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:flex}.stat-more:hover .tag.is-parts,.stat-row[data-open] .tag.is-parts{border-color:var(--accent);color:var(--accent)}.stat-parts{margin:var(--space-1) 0 var(--space-2);padding:var(--space-2) var(--space-3);border-left:2px solid var(--line-strong);border-radius:0 var(--radius) var(--radius) 0;font-size:var(--text-small);color:var(--text-dim);background:#ffffff08;grid-column:1/-1}.stat-parts ul{margin:0;padding:0;list-style:none}.stat-parts li{justify-content:space-between;gap:var(--space-3);display:flex}.stat-parts li+li{margin-top:var(--space-1)}.stat-part-slot{font-family:var(--font-mono);font-style:normal;font-size:var(--text-micro);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--text-dim);margin-right:6px;display:inline-block}.stat-parts b{font-family:var(--font-mono);flex:none;font-weight:500}.is-good{color:var(--good)}.is-bad{color:var(--bad)}.is-flat{color:var(--text-faint)}.stat-bar i.is-good{background:var(--good)}.stat-bar i.is-bad{background:var(--bad)}.stat-bar i.is-flat{background:var(--line-strong)}.issues{margin-top:var(--space-6);padding:var(--space-3);border:1px solid #4a2a12;border-left:2px solid var(--accent);border-radius:var(--radius);font-size:var(--text-small);color:var(--text-dim);background:#ff7a1a0f}.overlay{z-index:40;padding:var(--space-8);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#040507c7;place-items:center;display:grid;position:fixed;inset:0}.picker{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--bg-raised);flex-direction:column;width:min(880px,100%);max-height:100%;display:flex;overflow:hidden;box-shadow:0 24px 70px #0009}.picker-head{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);display:flex}.picker-title{font-family:var(--font-display);font-size:var(--text-lead);letter-spacing:.08em;text-transform:uppercase;font-weight:700;line-height:var(--leading-lead);margin:0}.picker-count{font-family:var(--font-mono);font-size:var(--text-small);color:var(--text-faint);line-height:var(--leading-small)}.picker-search{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg);width:200px;color:var(--text);font:inherit;font-size:var(--text-base);margin-left:auto;padding:6px 10px}.picker-search:focus{border-color:var(--accent-dim);outline:none}.picker-list{padding:var(--space-4);gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(250px,1fr));display:grid;overflow-y:auto}.option{gap:var(--space-3);padding:var(--space-3);text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);transition:border-color .12s,background .12s;display:flex}.option:hover{background:var(--panel-hover);border-color:var(--line-strong)}.option[aria-current=true]{border-color:var(--accent);background:var(--accent-wash)}.option[data-active=true]{box-shadow:inset 0 0 0 2px var(--accent-dim)}.option-thumb img{transition:transform .12s}.option:hover .option-thumb img{transform:scale(1.12)}.option-thumb{border-radius:var(--radius);border:1px solid var(--line);background:#0a0c0f;flex:none;place-items:center;width:56px;height:42px;display:grid;overflow:hidden}.option-thumb img{object-fit:contain;width:100%;height:100%}.option-body{flex:1;min-width:0;overflow:hidden}.option-name{font-weight:500;font-size:var(--text-base);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.option-sub{font-family:var(--font-mono);font-size:var(--text-micro);color:var(--text-faint);overflow-wrap:anywhere;-webkit-line-clamp:1;-webkit-box-orient:vertical;margin-bottom:4px;display:-webkit-box;overflow:hidden}.chips{flex-wrap:wrap;gap:4px;display:flex}.chip{overflow-wrap:anywhere;font-family:var(--font-mono);font-size:var(--text-micro);background:#ffffff0d;border-radius:2px;padding:2px 6px;font-weight:500}.chip-muted{color:var(--text-dim)}.share-code{font-family:var(--font-mono);font-size:var(--text-small);color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;max-width:320px;overflow:hidden}.loading{height:100%;color:var(--text-faint);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:var(--text-small);line-height:var(--leading-small);place-items:center;display:grid}@media (width<=1180px){.workspace{--stats-width:330px;grid-template-columns:minmax(var(--rail-width), max-content) minmax(0, 1fr) var(--stats-width)}}.rail-heading{justify-content:space-between;align-items:baseline;display:flex}.rail-count{padding:1px var(--space-1);background:var(--panel);color:var(--text-dim);font-size:var(--text-micro);letter-spacing:.08em;border-radius:3px}.rail-shot{background:#000;border-radius:3px;flex:none;width:96px;height:40px;padding:2px 4px;display:block;overflow:hidden}.rail-shot img{object-fit:contain;width:100%;height:100%}.rail-item-name{white-space:nowrap;flex:none}.slot-body,.slot-name,.slot-value,.slot-hint{display:block}.slot-name{align-items:center;gap:6px;display:flex}.slot-label{white-space:nowrap;min-width:0;overflow:hidden}.slot-count{flex:none}.slot-name .dot{flex:none;margin:0}.slot-count{padding:1px var(--space-1);background:var(--bg-raised);color:var(--text-faint);font-size:var(--text-micro);letter-spacing:.08em;border-radius:3px}.slot-hint{font-size:var(--text-small);color:var(--text-faint);overflow-wrap:anywhere;margin-top:2px}.slot.is-locked{border-style:dashed}.slot.is-locked .slot-thumb{opacity:.5}.slot.is-locked .slot-name{color:var(--text-faint)}.slot.is-locked .slot-value{color:var(--text-dim)}.slot.is-locked:hover{background:var(--panel)}.dot{vertical-align:middle;opacity:.5;background:currentColor;border-radius:50%;width:3px;height:3px;margin:0 8px;display:inline-block}.wordmark span{color:var(--accent)}.topbar-sub{font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:var(--track-label);line-height:var(--leading-label);text-transform:uppercase;color:var(--text-faint)}.topbar-sub[data-wrapped=true]{width:min-content}.btn:disabled{opacity:.35;cursor:not-allowed}.btn:disabled:hover{background:var(--panel);border-color:var(--line-strong)}.btn-ghost:disabled:hover{background:0 0;border-color:#0000}.bench-compare:disabled,.bench-compare:disabled:hover{opacity:1;color:var(--text-faint);border-color:var(--line);background:var(--panel)}.app{grid-template-rows:auto 1fr}@media (width>=901px){.app[data-tray=true] .workspace>*{padding-bottom:96px}}.bench-headline{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}input.bench-title{border-radius:var(--radius);min-width:220px;color:var(--text);font-family:var(--font-display);font-size:var(--text-display);letter-spacing:var(--track-display);font-weight:700;line-height:var(--leading-display);background:0 0;border:1px solid #0000;flex:1;margin-left:-8px;padding:2px 8px}input.bench-title::placeholder{color:var(--text-dim);opacity:.7}input.bench-title:hover{border-color:var(--line)}input.bench-title:focus{border-color:var(--accent-dim);background:var(--panel);outline:none}.bench-actions{gap:var(--space-2);flex:none;display:flex}.bench-headline[data-narrow=true] .bench-actions{grid-template-columns:auto auto minmax(0,1fr);width:100%;display:grid}.bench-headline[data-narrow=true] .btn{padding:var(--space-2) var(--space-3);font-size:var(--text-small);justify-content:center}.bench-headline[data-narrow=true] .btn-ghost{border-color:var(--line);background:var(--panel)}.bench-headline[data-narrow=true] .btn-icon{display:none}.bench-headline[data-narrow=true] .bench-compare{border-color:var(--accent-dim);background:var(--accent-wash);color:var(--text);font-weight:600}.bench-headline[data-narrow=true] .bench-compare:disabled{opacity:1;border-color:var(--line);background:var(--panel);color:var(--text-faint);font-weight:500}.bench-sub{margin-top:4px}.bench-headline[data-narrow=true]+.bench-sub{margin-top:var(--space-4)}.tray{z-index:30;border-top:1px solid var(--line-strong);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0e1013f5;align-items:center;gap:14px;padding:10px 16px;display:flex;position:fixed;bottom:0;left:0;right:0}.tray-label{font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:var(--track-label);line-height:var(--leading-label);text-transform:uppercase;color:var(--text-faint);flex:none;align-items:center;gap:8px;display:flex}.tray-count{border:1px solid var(--line-strong);border-radius:2px;padding:1px 5px}.tray-items{flex:1;gap:8px;min-width:0;padding-bottom:2px;display:flex;overflow-x:auto}.tray-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);flex:none;transition:border-color .12s;position:relative}.tray-card:hover{border-color:var(--line-strong)}.tray-card[data-active=true]{border-color:var(--accent);background:var(--accent-wash)}.tray-open{text-align:left;grid-template-rows:auto auto;grid-template-columns:54px minmax(0,1fr);align-items:center;column-gap:8px;width:190px;padding:7px 24px 7px 8px;display:grid}.tray-open img{object-fit:contain;background:#000;border-radius:3px;grid-row:1/3;width:54px;height:28px}.tray-name{font-family:var(--font-display);font-weight:600;font-size:var(--text-base);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tray-sub{font-family:var(--font-mono);font-size:var(--text-micro);color:var(--text-dim)}.tray-remove{color:var(--text-dim);font-size:var(--text-base);padding:0 4px;line-height:1;position:absolute;top:2px;right:4px}.tray-remove:hover{color:var(--bad)}.tray-actions{flex:none;gap:8px;display:flex}@media (width<=560px){.tray .btn-icon{display:none}}.compare{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--bg-raised);flex-direction:column;width:min(1180px,100%);max-height:100%;display:flex;overflow:hidden;box-shadow:0 24px 70px #0009}.compare-note{margin:var(--space-4) var(--space-4) 0;padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-left:2px solid var(--accent);border-radius:var(--radius);font-size:var(--text-small);color:var(--text-dim);background:#ff7a1a0f}.compare-body{min-height:0;padding-bottom:var(--space-6);flex:1;overflow:auto}.compare-table{border-collapse:separate;border-spacing:0;width:100%}.compare-table th,.compare-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);background:var(--bg-raised)}.compare-table th.compare-stat{z-index:2;min-width:152px;padding-left:var(--space-4);text-align:left;font-size:var(--text-base);overflow-wrap:anywhere;box-shadow:inset -1px 0 0 var(--line);font-weight:400;position:sticky;left:0}.compare-head-row th{z-index:3;border-bottom:1px solid var(--line-strong);vertical-align:bottom;position:sticky;top:0}.compare-head-row th.compare-corner{z-index:4;font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--text-faint)}.compare-col-head{text-align:center;min-width:152px;position:relative}.compare-remove{top:2px;right:var(--space-1);padding:0 var(--space-1);color:var(--text-faint);font-size:var(--text-base);line-height:1;position:absolute}.compare-remove:hover{color:var(--bad)}.compare-shot{border-radius:var(--radius);background:#000;height:54px;overflow:hidden}.compare-shot img{object-fit:contain;width:100%;height:100%}.compare-col-name{width:100%;margin-top:var(--space-2);font-family:var(--font-display);font-weight:700;font-size:var(--text-base);overflow-wrap:anywhere;display:block}.compare-col-name:hover{color:var(--accent)}.compare-col-sub{font-family:var(--font-mono);font-size:var(--text-micro);color:var(--text-faint)}.compare-section th{padding:var(--space-4) 0 var(--space-2);text-align:left;border-bottom:1px solid var(--line-strong)}.compare-section span{font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--text-faint);display:inline-block;position:sticky;left:18px}.compare-table tbody tr:not(.compare-section):hover th.compare-stat,.compare-table tbody tr:not(.compare-section):hover td{background:var(--panel)}.compare-table tbody tr:hover .compare-cell[data-best=true]{background:#1b3226}.compare-table tbody tr:hover .compare-cell[data-worst=true]{background:#331d22}.compare-cell{text-align:center;vertical-align:top;min-width:152px;font-family:var(--font-mono);font-size:var(--text-base);font-weight:700}.compare-table tr[data-differs=false] th.compare-stat,.compare-table tr[data-differs=false] .compare-cell{color:var(--text-faint);font-weight:400}.compare-cell[data-best=true]{color:var(--good);box-shadow:inset 2px 0 0 var(--good)}.compare-cell[data-worst=true]{color:var(--bad);box-shadow:inset 2px 0 0 var(--bad)}.compare-cell[data-flat=true]{color:var(--text-dim)}.compare-heat{height:2px;margin-top:var(--space-2);background:var(--line);border-radius:2px;display:block;overflow:hidden}.compare-heat i{background:var(--line-strong);height:100%;display:block}.compare-cell[data-best=true] .compare-heat i{background:var(--good)}.compare-cell[data-worst=true] .compare-heat{background:#ff52523d}.compare-line-parts td,.compare-line-parts th.compare-stat{vertical-align:top;border-bottom:none;padding-top:12px}.compare-parts{min-width:0}.compare-part{border-radius:var(--radius);text-align:left;border-left:2px solid #0000;flex-direction:column;gap:1px;padding:4px 8px;display:flex}.compare-part[data-unique=true]{background:var(--accent-wash);border-left-color:var(--accent)}.compare-part-slot{font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--text-faint)}.compare-part-name{font-size:var(--text-small);overflow-wrap:anywhere;line-height:var(--leading-small)}.compare-raw{font-size:var(--text-micro);color:var(--text-faint);font-weight:400;display:block}.topbar-rule{background:var(--line);flex:none;width:1px;height:20px}.stamp{font-size:var(--text-small);color:var(--text-faint);white-space:nowrap;line-height:var(--leading-small);align-items:baseline;gap:6px;padding:3px 0;display:inline-flex}.stamp b{cursor:default;font-family:var(--font-mono);color:var(--text-dim);font-weight:500}.stamp-date{font-size:var(--text-micro)}.stamp-date:before{content:"·";margin-right:6px}.legal-line{border-radius:var(--radius);font-size:var(--text-small);color:var(--text-dim);white-space:nowrap;align-items:center;gap:7px;margin-inline:-6px;padding:3px 6px;transition:color .12s,background .12s;display:inline-flex}.legal-line:hover{color:var(--text);background:var(--panel)}.icon-link{border-radius:var(--radius);width:28px;height:28px;color:var(--text-dim);flex:none;place-items:center;transition:color .12s,background .12s;display:grid;position:relative}.icon-link:hover{color:var(--text);background:var(--panel)}.kofi-link,.kofi-link:hover{color:var(--accent-pink)}.kofi-link:hover{background:var(--accent-pink-wash)}.has-tooltip{position:relative}.icon-link:after,.has-tooltip:after{content:attr(data-tooltip);z-index:20;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg-raised);color:var(--text);font-family:var(--font-mono);font-size:var(--text-micro);line-height:var(--leading-label);white-space:nowrap;pointer-events:none;opacity:0;padding:5px 8px;transition:opacity .12s,transform .12s;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%,-3px)}.icon-link:hover:after,.icon-link:focus-visible:after,.has-tooltip:hover:after,.has-tooltip:focus-visible:after{opacity:1;transform:translate(-50%)}.has-tooltip.tooltip-right:after{top:50%;left:calc(100% + 8px);transform:translate(-3px,-50%)}.has-tooltip.tooltip-right:hover:after,.has-tooltip.tooltip-right:focus-visible:after{transform:translateY(-50%)}.has-tooltip.tooltip-up:after{inset:auto 0 calc(100% + 8px) auto;transform:translateY(3px)}.has-tooltip.tooltip-up:hover:after,.has-tooltip.tooltip-up:focus-visible:after{transform:translate(0)}.legal-mark{flex:none;width:18px;height:18px;display:block}.legal-short{display:none}.legal-card{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--bg-raised);flex-direction:column;width:min(560px,100%);max-height:100%;display:flex;overflow:hidden;box-shadow:0 24px 70px #0009}.legal-body{font-size:var(--text-base);color:var(--text-dim);padding:16px 18px 20px;line-height:1.6;overflow-y:auto}.legal-body p{margin:0 0 12px}.legal-body p:last-child{margin-bottom:0}@media (width<=1080px){.topbar{gap:var(--space-4)}.topbar-sub{display:none}.topbar-links{gap:2px;margin-inline:-4px}.legal-full{display:none}.legal-short{display:inline}.legal-line{font-size:var(--text-small);gap:6px}.icon-link{width:26px;height:26px}.stamp{gap:0;padding:3px 0;font-size:0}.stamp b{font-size:var(--text-small)}.stamp-date{display:none}}.workspace[data-rail=closed]{grid-template-columns:44px minmax(0, 1fr) var(--stats-width)}.rail-head{z-index:1;justify-content:space-between;align-items:center;gap:var(--space-2);margin:0 calc(var(--space-4) * -1) var(--space-4);padding:var(--space-3) var(--space-6);background:var(--bg-raised);border-bottom:1px solid var(--line);display:flex;position:sticky;top:0}.rail-title{font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:var(--track-label);line-height:var(--leading-label);text-transform:uppercase;color:var(--text-dim)}.rail-hide{border-radius:var(--radius);color:var(--text-dim);font-size:var(--text-base);padding:3px 9px;line-height:1}.rail-hide:hover{background:var(--panel);color:var(--text)}.rail-stub{border-right:1px solid var(--line);background:var(--bg-raised);justify-content:center;padding:10px 0;display:flex;overflow:visible}.rail-show{border-radius:var(--radius);width:30px;height:30px;color:var(--text-faint);place-items:center;display:grid}.rail-show svg{display:block}.rail-show:hover{background:var(--panel);color:var(--text)}.scrim{inset:var(--topbar-height) 0 0;z-index:44;cursor:default;background:#0405079e;position:fixed}.picker-tools{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.picker-group{align-items:center;gap:var(--space-2);display:flex}.picker-close{margin-left:auto}.picker-tools .btn,.picker-tools .picker-search,.select select{height:34px}.picker-tools .btn{padding-block:0}.picker-search{flex:170px;width:auto;min-width:0;margin-left:0}.picker-sort{align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:var(--track-label);line-height:var(--leading-label);text-transform:uppercase;color:var(--text-faint);flex:none;display:flex}.select{display:inline-flex;position:relative}.select select{appearance:none;padding:0 30px 0 var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--panel);color:var(--text);font-family:var(--font-body);font-size:var(--text-base);letter-spacing:0;text-transform:none;cursor:pointer;font-weight:500;transition:border-color .12s,background .12s}.select select:hover{background:var(--panel-hover);border-color:#3a434e}.select select:focus{border-color:var(--accent-dim);outline:none}.select:after{content:"";border-right:1.5px solid var(--text-dim);border-bottom:1.5px solid var(--text-dim);pointer-events:none;width:8px;height:8px;margin-top:-5px;position:absolute;top:50%;right:11px;transform:rotate(45deg)}.select select option{background:var(--bg-raised);color:var(--text)}.picker-dir{flex:none}.picker-dir[data-direction=low] .btn-icon{transform:scaleY(-1)}.picker-switch{align-items:center;gap:var(--space-2);height:34px;padding:0 var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--panel);color:var(--text-dim);font-size:var(--text-base);white-space:nowrap;flex:none;font-weight:500;transition:border-color .12s,background .12s,color .12s;display:inline-flex}.picker-switch:hover{background:var(--panel-hover);color:var(--text);border-color:#3a434e}.picker-switch[aria-checked=true]{border-color:var(--accent);background:var(--accent-wash);color:var(--text)}.picker-switch-track{border:1px solid var(--line-strong);background:var(--bg);border-radius:3px;flex:none;width:26px;height:14px;transition:background .12s,border-color .12s;position:relative}.picker-switch-track>span{background:var(--text-faint);border-radius:2px;width:10px;height:10px;transition:transform .12s,background .12s;position:absolute;top:1px;left:1px}.picker-switch[aria-checked=true] .picker-switch-track{border-color:var(--accent);background:#ff7a1a2e}.picker-switch[aria-checked=true] .picker-switch-track>span{background:var(--accent);transform:translate(12px)}.picker-note{padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--line);background:var(--accent-wash);color:var(--text-dim);font-size:var(--text-small);line-height:var(--leading-small);margin:0}.picker-keys{padding:var(--space-2) var(--space-4);border-top:1px solid var(--line);color:var(--text-faint);font-size:var(--text-small);line-height:var(--leading-small);align-items:center;gap:6px;margin:0;display:flex}.picker-keys kbd{border:1px solid var(--line-strong);background:var(--panel);min-width:20px;color:var(--text-dim);font-family:var(--font-mono);font-size:var(--text-micro);text-align:center;border-bottom-width:2px;border-radius:3px;padding:1px 5px}.btn[aria-pressed=true]{border-color:var(--accent);background:var(--accent-wash);color:var(--text)}.chip.is-good{color:var(--good);background:#3ddc841a}.chip.is-bad{color:var(--bad);background:#ff52521a}.chip.is-flat{color:var(--text-dim)}.chip[data-pinned=true]{box-shadow:inset 0 0 0 1px}@media (width<=900px){.topbar{padding:0 var(--space-4)}.workspace{display:block;overflow-y:auto}.workspace>*{overflow:visible}.rail{top:var(--topbar-height);z-index:46;border-right:1px solid var(--line-strong);width:min(310px,86vw);position:fixed;bottom:0;left:0;overflow-y:auto;box-shadow:0 20px 60px #0009}.rail-stub{z-index:5;padding:var(--space-2) var(--space-3);border-right:none;border-bottom:1px solid var(--line);justify-content:flex-start;position:sticky;top:0}.bench{padding:var(--space-6) var(--space-4) var(--space-12)}input.bench-title{min-width:160px;font-size:var(--text-display-sm)}.bench-hero{height:200px}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.stats{border-left:none;border-top:1px solid var(--line);padding:var(--space-6) var(--space-4) var(--space-12)}.app[data-tray=true] .stats{padding-bottom:118px}.overlay{padding:0}.picker,.compare,.legal-card{border:none;border-radius:0;width:100%;height:100%;max-height:100%}.picker-head,.picker-tools{padding-left:var(--space-4);padding-right:var(--space-4)}.picker-list{padding:var(--space-3)}.picker-keys{display:none}.compare-note{margin:var(--space-3) var(--space-4) 0}.compare-table th.compare-stat{min-width:130px;padding-left:var(--space-4)}.compare-section span{left:var(--space-4)}.compare-col-head,.compare-cell{min-width:138px}.tray{gap:var(--space-3);padding:var(--space-2) var(--space-4)}.tray-label{display:none}.tray-open{grid-template-columns:42px minmax(0,1fr);width:152px;padding:6px 22px 6px 7px}.tray-open img{width:42px;height:24px}}@media (width<=920px){.picker-list{grid-template-columns:repeat(2,minmax(0,1fr))}.picker-list .chips{flex-direction:column;align-items:flex-start}}@media (width<=720px){.stamp,.topbar-rule-legal{display:none}}@media (width<=760px){.topbar .btn-icon,.picker-sort-label,.picker-dir-label{display:none}.picker-dir{justify-content:center;width:44px;padding:0}}@media (width<=560px){:root{--topbar-height:56px}.topbar{padding:0 var(--space-4);gap:8px}.wordmark{font-size:var(--text-base)}.topbar .btn{font-size:var(--text-small);padding:6px 10px}.legal-short{display:none}.legal-line{gap:0;margin-inline:0;padding:4px 2px}.topbar-links{margin-left:-4px}.discord-link,.topbar-rule-links{display:none}.bench-headline{gap:var(--space-3)}.slot-grid,.picker-list{grid-template-columns:1fr}.picker-search{flex:100%}.picker-group{flex:auto;min-width:0}.picker-sort,.select{flex:1;min-width:0}.select select{width:100%;min-width:0}.slot{padding:var(--space-3) var(--space-4)}.slot-clear{padding:8px 10px}.picker-tools .btn,.picker-tools .picker-search,.select select,.picker-switch{height:40px}}@media (width<=380px){.topbar{padding:0 var(--space-3);gap:6px}.topbar-spacer{display:none}.topbar-spacer+.btn{margin-left:auto}.topbar .btn{padding:6px 8px}}@media (width<=1180px){.workspace[data-rail=closed]{--stats-width:330px;grid-template-columns:44px minmax(0, 1fr) var(--stats-width)}}.optimizer{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--bg-raised);flex-direction:column;width:min(1180px,100%);max-height:100%;display:flex;overflow:hidden}.optimizer-body{flex:1;grid-template-columns:320px minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.optimizer-controls{padding:var(--space-4) var(--space-4) var(--space-6);border-right:1px solid var(--line);overflow-y:auto}.optimizer-result{padding:var(--space-4) var(--space-4) var(--space-6);overflow-y:auto}.optimizer-controls section+section{margin-top:var(--space-6)}.optimizer h3{margin:0 0 var(--space-2);font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:var(--track-label);line-height:var(--leading-label);text-transform:uppercase;color:var(--text-faint)}.optimizer-result h3{margin-top:var(--space-6)}.optimizer .hint{margin:0 0 var(--space-3);font-size:var(--text-small);color:var(--text-faint)}.goal-list{gap:var(--space-2);flex-direction:column;display:flex}.goal{gap:var(--space-1);padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius);color:inherit;text-align:left;cursor:pointer;background:0 0;border-left:2px solid #0000;flex-direction:column;display:flex}.goal:hover{border-color:var(--line-strong)}.goal[data-on=true]{border-left-color:var(--accent);background:var(--accent-wash)}.goal b{font-size:var(--text-base);font-weight:600}.goal span{font-size:var(--text-small);color:var(--text-faint)}.link-btn{color:var(--accent);font:inherit;font-size:var(--text-small);cursor:pointer;background:0 0;border:0;padding:6px 0 0}.weights{margin-top:var(--space-2)}.disclosure{align-items:center;gap:var(--space-2);width:100%;margin-top:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-left:2px solid var(--accent-dim);border-radius:var(--radius);background:var(--panel);font-size:var(--text-small);color:var(--accent);font-weight:500;transition:border-color .12s,background .12s,color .12s;display:flex}.disclosure:hover{border-color:var(--line-strong);border-left-color:var(--accent);background:var(--panel-hover)}.disclosure[aria-expanded=true]{border-left-color:var(--accent);background:var(--accent-wash)}.disclosure .tag{border-color:var(--accent-dim);color:var(--accent)}.disclosure svg{flex:none;margin-left:auto}.weight{align-items:center;gap:var(--space-2);padding:var(--space-1) 0;font-size:var(--text-small);grid-template-columns:minmax(0,1fr) auto auto;display:grid}.weight-share{width:34px;font-family:var(--font-mono);font-size:var(--text-micro);color:var(--text-faint);text-align:right}.weight-note{margin:var(--space-3) 0 0}.weight>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.weight-steps{border:1px solid var(--line);border-radius:var(--radius);flex:none;display:flex;overflow:hidden}.weight-steps button{border-right:1px solid var(--line);background:var(--panel);width:20px;font-family:var(--font-mono);font-size:var(--text-micro);color:var(--text-faint);padding:2px 0;line-height:1.4}.weight-steps button:last-child{border-right:0}.weight-steps button:hover{background:var(--panel-hover);color:var(--text)}.weight-steps button[data-on=true]{background:var(--accent-wash);color:var(--accent)}.weight-steps button[aria-pressed=true]{color:var(--text);font-weight:700}.keep-list{gap:var(--space-1);flex-direction:column;display:flex}.keep{align-items:center;gap:var(--space-2);padding:var(--space-1) 0;font-size:var(--text-small);cursor:pointer;grid-template-columns:auto 1fr auto;display:grid}.keep b{font-family:var(--font-mono);font-size:var(--text-micro);color:var(--text-faint);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-weight:400;overflow:hidden}.limits{margin:0 0 var(--space-2);padding:0;list-style:none}.limits li{align-items:baseline;gap:var(--space-2);font-size:var(--text-small);display:flex}.limits b{font-family:var(--font-mono);color:var(--text-faint);font-weight:400}.limit-add{align-items:center;gap:var(--space-2);display:flex}.limit-add .select,.limit-add select,.limit-add input,.limit-add .btn{height:34px}.limit-add .select{flex:1;min-width:0}.limit-add select{width:100%}.limit-add input{width:80px;min-width:0;padding:0 var(--space-2);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--panel);color:inherit;font:inherit;font-size:var(--text-small)}.limit-add input:focus{border-color:var(--accent-dim);outline:none}.limit-add .btn{padding-block:0}.banned{flex-wrap:wrap;gap:4px;display:flex}.banned .chip{border:1px solid var(--line);cursor:pointer}.verdict{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-left:2px solid var(--accent);border-radius:var(--radius);background:var(--accent-wash);display:flex}.verdict-score{font-family:var(--font-display);font-size:var(--text-lead);font-weight:700}.verdict-aside{color:var(--text-dim);font-weight:400}.changes{margin:0;padding:0;list-style:none}.changes li{align-items:baseline;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--line);font-size:var(--text-small);grid-template-columns:110px 1fr 1fr auto;display:grid}.change-from{color:var(--text-faint);text-decoration:line-through}.change-to:before{content:"";width:4px;height:4px;margin-right:var(--space-2);border-top:1px solid var(--text-faint);border-right:1px solid var(--text-faint);display:inline-block;transform:translateY(-1px)rotate(45deg)}.change-to{color:var(--good)}.readout{border-collapse:collapse;width:100%}.readout thead th{padding-bottom:var(--space-1);border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:var(--track-label);font-weight:400;line-height:var(--leading-label);text-transform:uppercase;color:var(--text-faint)}.readout thead th:not(:first-child){text-align:right}.readout th{padding:var(--space-1) 0;text-align:left;font-size:var(--text-small);font-weight:400}.readout td{padding:var(--space-1) 0 var(--space-1) var(--space-3);text-align:right;font-family:var(--font-mono);font-size:var(--text-small);white-space:nowrap;font-weight:700}.readout tbody tr+tr th,.readout tbody tr+tr td{border-top:1px solid var(--line)}.readout-old{color:var(--text-faint);font-weight:400}@media (width<=900px){.optimizer-body{grid-template-columns:minmax(0,1fr);overflow-y:auto}.optimizer-result{border-bottom:1px solid var(--line);order:-1}.optimizer-controls{border-right:0}.optimizer-controls,.optimizer-result{overflow:visible}.optimizer-result h3:first-child{margin-top:0}}
