:root{--bg: #0a0c0e;--bg-1: #0f1215;--bg-2: #14181c;--bg-3: #1b2127;--border: #232a31;--border-strong: #2d3741;--text: #d6dde3;--text-dim: #8a949d;--text-faint: #5b656d;--accent: #2fe07a;--accent-dim: #1c8a4c;--accent-bg: rgba(47, 224, 122, .1);--warn: #f0b429;--warn-bg: rgba(240, 180, 41, .12);--danger: #f0556b;--mono: "SF Mono", "JetBrains Mono", "Fira Code", "Cascadia Code", ui-monospace, "Roboto Mono", Menlo, Consolas, monospace;--sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--radius: 6px;--row-h: 34px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:13px;line-height:1.45;-webkit-font-smoothing:antialiased}.num,.mono,td .num{font-family:var(--mono);font-variant-numeric:tabular-nums}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}::placeholder{color:var(--text-faint)}.app{display:flex;flex-direction:column;min-height:100%}.topbar{display:flex;align-items:center;gap:18px;padding:0 18px;height:52px;background:linear-gradient(var(--bg-1),var(--bg));border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:baseline;gap:8px;background:transparent;border:0;padding:6px 8px;margin-left:-8px;border-radius:var(--radius);cursor:pointer;transition:background .12s ease}.brand:hover{background:var(--bg-2)}.brand:hover .brand__mark{text-shadow:0 0 8px var(--accent)}.brand:focus-visible{outline:1px solid var(--accent-dim);outline-offset:1px}.brand__mark{color:var(--accent);font-family:var(--mono);transition:text-shadow .12s ease}.brand__name{font-weight:700;letter-spacing:.5px;color:var(--text)}.brand__tag{color:var(--text-faint);font-family:var(--mono);font-size:11px}.topbar__divider{width:1px;height:22px;background:var(--border)}.topbar__meta{margin-left:auto;display:flex;align-items:center;gap:8px}.meta-chip{color:var(--text-dim);font-family:var(--mono);font-size:12px;padding:3px 10px;border:1px solid var(--border);border-radius:999px;background:var(--bg-1);white-space:nowrap}.freshness{display:inline-flex;align-items:center;gap:5px;color:var(--text-dim);font-family:var(--mono);font-size:12px;padding:3px 10px;border:1px solid var(--border);border-radius:999px;background:var(--bg-1);white-space:nowrap}.freshness__dot{color:var(--accent);font-size:9px;line-height:1}.freshness--stale .freshness__dot{color:var(--warn)}@media(max-width:640px){.brand__tag,.topbar__divider,.meta-chip,.freshness__words{display:none}.tabs{flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs__tab{flex:none}}.main{flex:1;padding:16px;width:100%;max-width:1600px;margin:0 auto}.footer{display:flex;justify-content:space-between;gap:16px;padding:8px 16px;border-top:1px solid var(--border);color:var(--text-faint);font-size:11px;font-family:var(--mono)}.placeholder{padding:48px;text-align:center;color:var(--text-dim);font-family:var(--mono)}.placeholder--error{color:var(--danger)}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:40px 20px;color:var(--text-dim)}.empty__icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:10px;color:var(--accent);font-family:var(--mono);font-size:20px;margin-bottom:4px}.empty__title{color:var(--text);font-weight:600}.empty__sub{font-size:12px;color:var(--text-faint);max-width:320px}.tabs{display:flex;gap:2px}.tabs__tab{background:transparent;border:0;padding:6px 14px;color:var(--text-dim);cursor:pointer;border-radius:var(--radius);font-weight:600}.tabs__tab:hover{color:var(--text);background:var(--bg-2)}.tabs__tab--active{color:var(--accent);background:var(--accent-bg)}.tag{display:inline-flex;align-items:center;gap:4px;padding:1px 7px;border-radius:999px;font-size:11px;font-family:var(--mono);background:var(--bg-3);color:var(--text-dim);border:1px solid var(--border);white-space:nowrap}.tag--accent{background:var(--accent-bg);color:var(--accent);border-color:var(--accent-dim)}.tag--warn{background:var(--warn-bg);color:var(--warn);border-color:var(--warn)}.tag--muted{background:transparent;color:var(--text-faint)}.toggle{background:var(--bg-2);border:1px solid var(--border);color:var(--text-dim);padding:4px 10px;border-radius:var(--radius);cursor:pointer;font-size:12px;white-space:nowrap}.toggle:hover:not(:disabled){border-color:var(--border-strong);color:var(--text)}.toggle--on{background:var(--accent-bg);border-color:var(--accent-dim);color:var(--accent)}.toggle:disabled{opacity:.4;cursor:not-allowed}.input,.select,.textarea{background:var(--bg-1);border:1px solid var(--border);color:var(--text);padding:6px 10px;border-radius:var(--radius);outline:none}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent-dim);box-shadow:0 0 0 1px var(--accent-dim)}.input--num{font-family:var(--mono);font-variant-numeric:tabular-nums}.textarea{resize:vertical;min-height:90px;width:100%;font-family:var(--mono)}.field{display:flex;flex-direction:column;gap:5px}.field__label{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-faint)}.panel{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.panel__title{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-faint);margin:0 0 10px}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);overflow:auto;background:var(--bg-1)}table.data{width:100%;border-collapse:collapse;font-size:12.5px}table.data thead th{position:sticky;top:0;background:var(--bg-2);text-align:left;padding:8px 10px;color:var(--text-dim);font-weight:600;border-bottom:1px solid var(--border-strong);white-space:nowrap;z-index:1}table.data th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}table.data th.sortable:hover{color:var(--text)}table.data th .sort-ind{color:var(--accent);margin-left:4px}table.data td{padding:6px 10px;border-bottom:1px solid var(--border);white-space:nowrap}table.data tbody tr:hover{background:var(--bg-2)}table.data tbody tr.selected{background:var(--accent-bg)}.num,table.data thead th.num,table.data td.num{text-align:right}.cheapest{color:var(--accent);font-weight:600}.model-id{font-family:var(--mono);color:var(--text)}.muted{color:var(--text-faint)}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}.toolbar .input{min-width:240px;flex:1}.filter-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:8px}.filter-row .filter-label{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-faint);margin-right:4px}.filters{margin-bottom:12px}.result-count{color:var(--text-dim);font-family:var(--mono);font-size:12px;margin-left:auto}.layout-split{display:grid;grid-template-columns:1fr;gap:12px}.layout-split>*,.rec-grid>*,.calc-grid>*{min-width:0}@media(min-width:1100px){.layout-split--compare{grid-template-columns:1fr 380px}}.checkbox{accent-color:var(--accent);cursor:pointer}table.data--explorer{table-layout:fixed;width:100%}table.data--explorer td,table.data--explorer th{height:var(--row-h);overflow:hidden;text-overflow:ellipsis}table.data--explorer td.muted-cell{color:var(--text-dim)}.col-check{text-align:center;padding-left:4px!important;padding-right:4px!important;position:sticky;left:0;z-index:2;background:var(--bg-1)}thead .col-check{background:var(--bg-2);z-index:3}table.data--explorer tbody tr:hover .col-check{background:var(--bg-2)}table.data--explorer tbody tr.selected .col-check{background:#14241b}.col-model{position:sticky;left:30px;z-index:2;background:var(--bg-1)}thead .col-model{background:var(--bg-2);z-index:3}table.data--explorer tbody tr:hover .col-model{background:var(--bg-2)}table.data--explorer tbody tr.selected .col-model{background:#14241b}.model-cell{display:flex;align-items:center;gap:6px;min-width:0}.model-id__text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:0 1 auto}.row-clickable{cursor:pointer}.copy-id{flex:none;border:0;background:transparent;color:var(--text-faint);cursor:pointer;font-family:var(--mono);font-size:12px;line-height:1;padding:2px 5px;border-radius:4px;opacity:0;transition:opacity .1s ease,color .1s ease}tr:hover .copy-id{opacity:1}.copy-id:hover{color:var(--accent);background:var(--bg-3)}.copy-id--copied{opacity:1;color:var(--accent)}.table-hint{font-size:11px;margin:0 0 8px}.kbd{font-family:var(--mono);border:1px solid var(--border);border-radius:4px;padding:0 4px;color:var(--text-dim)}.cap-badges{display:flex;gap:3px;align-items:center;flex-wrap:nowrap}.cap-badge{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:4px;font-family:var(--mono);font-size:10.5px;font-weight:600;color:var(--accent);background:var(--accent-bg);border:1px solid var(--accent-dim);cursor:help}.compare{position:sticky;top:64px;align-self:start}.compare table{width:100%;border-collapse:collapse;font-size:12px}.compare td,.compare th{padding:5px 8px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.compare th{color:var(--text-faint);font-weight:500;white-space:nowrap}.compare .row-label{color:var(--text-faint)}.calc-grid{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width:900px){.calc-grid{grid-template-columns:360px 1fr}}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.stat{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:12px}.stat__label{font-size:11px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.5px}.stat__value{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:22px;margin-top:4px}.stat--total .stat__value{color:var(--accent)}.tier-row{display:flex;gap:6px}.volume-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.fields-stack{display:flex;flex-direction:column;gap:12px}.chip-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:2px 4px 2px 9px;border-radius:999px;background:var(--bg-3);border:1px solid var(--border);font-family:var(--mono);font-size:11.5px}.chip__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.chip__x{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:0;border-radius:999px;background:transparent;color:var(--text-faint);cursor:pointer;font-size:14px;line-height:1}.chip__x:hover{background:var(--border-strong);color:var(--text)}.calc-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.calc-card{position:relative;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:12px}.calc-card--cheapest{border-color:var(--accent-dim);box-shadow:inset 0 0 0 1px var(--accent-dim)}.calc-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}.calc-card__id{font-family:var(--mono);font-size:12px;color:var(--text);word-break:break-all;line-height:1.3}.calc-card__actions{display:flex;align-items:center;gap:4px;flex:none}.toggle--sm{padding:2px 7px;font-size:11px}.calc-card__badge{display:inline-block;margin-top:6px;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--accent)}.calc-card__total{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:22px;margin:6px 0 2px}.calc-card--cheapest .calc-card__total{color:var(--accent)}.calc-card__project{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:13px;color:var(--text-dim);margin-bottom:4px}.calc-card__note{font-family:var(--mono);font-size:11px;color:var(--text-faint);margin-bottom:4px}.calc-card__note--warn{color:var(--warn)}.calc-card__rows{display:flex;flex-direction:column;gap:3px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.calc-card__row{display:flex;justify-content:space-between;gap:8px;font-family:var(--mono);font-size:12px;color:var(--text-dim)}.calc-card__tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:10px}.warn-banner{display:flex;gap:8px;align-items:center;background:var(--warn-bg);border:1px solid var(--warn);color:var(--warn);padding:8px 12px;border-radius:var(--radius);font-size:12px;margin-bottom:12px}.rec-grid{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width:900px){.rec-grid{grid-template-columns:300px 1fr}}.caps-stack{display:flex;flex-direction:column;gap:6px}.cap-check{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 0}.rank{color:var(--text-faint);font-family:var(--mono)}table.data--alternatives thead th{z-index:2}table.data--alternatives tr.row-base td{position:sticky;top:33px;z-index:1;background:var(--bg-2);border-bottom:1px solid var(--border-strong);box-shadow:0 2px 6px #0003}table.data--alternatives tr.row-base:hover td{background:var(--bg-2)}table.data--alternatives tr.row-base .model-id{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.base-pin{color:var(--accent);font-weight:700}.route-toggle{background:none;border:1px solid var(--border);color:var(--text-dim);border-radius:var(--radius);padding:1px 6px;font-family:var(--mono);font-size:10.5px;cursor:pointer;white-space:nowrap;flex:none}.route-toggle:hover{border-color:var(--accent-dim);color:var(--accent)}table.data tr.row-route td{background:#0b0e11;color:var(--text-dim)}table.data tr.row-route:hover td{background:var(--bg-2)}tr.row-route .model-id,tr.row-route .model-id__text{color:var(--text-dim)}.route-branch{color:var(--text-faint);font-family:var(--mono)}.detail-top{margin-bottom:10px}.detail-idline{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:-6px 0 14px}.detail-id{color:var(--text-dim);font-size:12px;overflow:hidden;text-overflow:ellipsis}.detail-grid{display:grid;grid-template-columns:minmax(280px,1fr) minmax(0,2fr);gap:12px}@media(max-width:900px){.detail-grid{grid-template-columns:1fr}}.rate-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}.stat{display:flex;flex-direction:column;gap:2px;border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;background:var(--bg-2)}.stat__label{font-size:10px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.5px}.stat__value{font-family:var(--mono);font-size:14px;color:var(--text)}.model-link{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-decoration:underline dotted transparent;text-underline-offset:3px}.model-link:hover{color:var(--accent);text-decoration-color:var(--accent-dim)}.class-badge{font-family:var(--mono);font-size:10px;border-radius:var(--radius);padding:1px 5px;border:1px solid var(--border);color:var(--text-dim);white-space:nowrap;cursor:help}.class-badge--flagship{border-color:var(--accent-dim);color:var(--accent)}.class-badge--small{color:var(--text-faint)}.cap-list{display:flex;flex-wrap:wrap;gap:4px}.warn-marker{color:var(--warn);cursor:help}.free-tag{display:inline-block;padding:0 6px;border-radius:999px;font-family:var(--mono);font-size:11px;color:var(--text-dim);background:var(--bg-3);border:1px solid var(--border);cursor:help}.combo{position:relative}.combo__list{position:absolute;z-index:20;top:calc(100% + 2px);left:0;right:0;max-height:280px;overflow:auto;background:var(--bg-2);border:1px solid var(--border-strong);border-radius:var(--radius)}.combo__opt{padding:6px 10px;cursor:pointer;display:flex;justify-content:space-between;gap:10px}.combo__opt:hover,.combo__opt--active{background:var(--accent-bg)}.combo__opt .opt-id{font-family:var(--mono)}.combo__opt .opt-meta{color:var(--text-faint);font-family:var(--mono);font-size:11px}.tool-head{margin-bottom:14px}.tool-head__title{font-size:15px;font-weight:700;color:var(--text);margin:0 0 2px}.tool-head__sub{margin:0;color:var(--text-dim);font-size:12.5px}.faq{max-width:760px;margin:0 auto}.faq__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px}.faq__title{font-size:18px;font-weight:700;color:var(--text);margin:0}.faq__snapshot{color:var(--text-faint);font-size:11px;white-space:nowrap}.faq__list{display:flex;flex-direction:column;gap:8px}.faq__item{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.faq__item--open{border-color:var(--accent-dim)}.faq__q{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;background:transparent;border:0;text-align:left;padding:13px 14px;cursor:pointer;color:var(--text);font-weight:600;font-size:13.5px}.faq__q:hover{background:var(--bg-2)}.faq__item--open .faq__q{color:var(--accent)}.faq__chev{flex:none;font-family:var(--mono);font-size:16px;line-height:1;color:var(--text-faint)}.faq__item--open .faq__chev{color:var(--accent)}.faq__a{margin:0;padding:0 14px 14px;color:var(--text-dim);font-size:13px;line-height:1.6;max-width:64ch}.about{max-width:760px;margin:0 auto}.about__head{margin-bottom:22px}.about__eyebrow{margin:0 0 8px;color:var(--accent);font-size:11px;text-transform:uppercase;letter-spacing:0}.about__title{margin:0;max-width:680px;color:var(--text);font-size:22px;line-height:1.25}.about__intro{margin:12px 0 0;max-width:68ch;color:var(--text-dim);font-size:14px;line-height:1.7}.about__section{padding:18px 0;border-top:1px solid var(--border)}.about__section h3{margin:0 0 8px;color:var(--text);font-size:14px}.about__section p{margin:0;max-width:68ch;color:var(--text-dim);line-height:1.65}.about__links{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.about__link{display:inline-flex;align-items:center;min-height:30px;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-1);color:var(--accent);font-weight:700;text-decoration:none}.about__link:hover{border-color:var(--accent-dim);background:var(--accent-bg)}.filters-toggle{display:none}@media(max-width:720px){.main,.panel{padding:12px}.calc-grid,.rec-grid{grid-template-columns:1fr}.calc-cards{grid-template-columns:1fr 1fr}.tier-row{flex-wrap:wrap}.toolbar .input{min-width:100%;flex-basis:100%}.result-count{margin-left:0}.topbar{gap:12px;padding:0 12px}.footer{flex-direction:column;gap:2px}.hide-sm{display:none!important}.filters-toggle{display:inline-block}.filters:not(.filters--open){display:none}table.data--explorer{table-layout:auto}table.data--explorer col{width:auto!important}table.data--explorer td.col-model{max-width:150px}table.data td,table.data thead th{padding:6px}table.data--explorer .copy-id{display:none}table.data:not(.data--explorer) .route-toggle{display:none}table.data td.model-id{max-width:190px;overflow:hidden}table.data--routes td.model-id .mono{display:inline-block;max-width:96px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}:root{--row-h: 42px}.col-model,thead .col-model,.col-check,thead .col-check{position:static}}@media(max-width:440px){.calc-cards{grid-template-columns:1fr}}
