:root{--paper:#f4efe4;--paper-2:#ece5d6;--card:#fbf8f1;--ink:#1f1c17;--ink-2:#574f43;--rule:#d5cab4;--rule-strong:#b9ac93;--accent:#b3301c;--accent-ink:#fff;--accent-soft:#f6d9cf;--focus:#1d5fbf;--green:#2f6b2a;--yellow:#86620a;--red:#b3301c;--c0:#f3cdbd;--c1:#cfe2c2;--c2:#c9dbef;--c3:#efdfa6;--c4:#dfcdeb;--c5:#bfe4df;--chip-ink:#1f1c17;--shadow:0 1px 0 #3c2d140f, 0 8px 24px -12px #3c2d1440;--serif:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, "URW Palladio L", Georgia, serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#16140f;--paper-2:#1e1b15;--card:#221f18;--ink:#efe8da;--ink-2:#b9b09e;--rule:#3b362c;--rule-strong:#575042;--accent:#ff8a6b;--accent-ink:#1a0f0b;--accent-soft:#4a2219;--focus:#7fb0ff;--green:#8fd184;--yellow:#e9c25a;--red:#ff8a6b;--c0:#5e2e22;--c1:#33502d;--c2:#28405c;--c3:#594b1c;--c4:#4a3360;--c5:#1f4c47;--chip-ink:#f5efe3;--shadow:0 1px 0 #0000004d, 0 10px 28px -14px #000000b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--paper:#16140f;--paper-2:#1e1b15;--card:#221f18;--ink:#efe8da;--ink-2:#b9b09e;--rule:#3b362c;--rule-strong:#575042;--accent:#ff8a6b;--accent-ink:#1a0f0b;--accent-soft:#4a2219;--focus:#7fb0ff;--green:#8fd184;--yellow:#e9c25a;--red:#ff8a6b;--c0:#5e2e22;--c1:#33502d;--c2:#28405c;--c3:#594b1c;--c4:#4a3360;--c5:#1f4c47;--chip-ink:#f5efe3;--shadow:0 1px 0 #0000004d, 0 10px 28px -14px #000000b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:16px}body{background:var(--paper);color:var(--ink);font:16px/1.55 var(--sans);margin:0;overflow-x:hidden}a{color:var(--accent);text-underline-offset:2px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip{background:var(--ink);color:var(--paper);z-index:10;border-radius:6px;padding:8px 12px;position:absolute;top:-60px;left:12px}.skip:focus{top:12px}.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 16px}@media (min-width:700px){.wrap{padding:0 28px}}.masthead{border-bottom:1px solid var(--rule)}.masthead-row{align-items:center;gap:16px;min-height:60px;display:flex}.brand{color:var(--ink);align-items:center;gap:10px;text-decoration:none;display:flex}.brand-mark{width:34px;height:24px}.brand-mark rect:first-child{fill:var(--c0);stroke:var(--ink);stroke-width:1.4px}.brand-mark rect:nth-child(2){fill:var(--c2);stroke:var(--ink);stroke-width:1.4px}.brand-mark rect:nth-child(3){fill:var(--c3);stroke:var(--ink);stroke-width:1.4px}.brand-name{font:600 1.15rem/1 var(--serif);letter-spacing:.01em}nav{gap:18px;margin-left:auto;font-size:.95rem;display:flex}nav a{color:var(--ink-2);text-decoration:none}nav a:hover{color:var(--ink);text-decoration:underline}.theme-btn{font:inherit;color:var(--ink-2);border:1px solid var(--rule-strong);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;min-height:34px;padding:5px 11px 5px 8px;font-size:.88rem;display:inline-flex}.theme-btn svg{width:16px;height:16px}.theme-btn:hover{color:var(--ink);border-color:var(--ink-2)}@media (max-width:640px){nav{display:none}.theme-btn{margin-left:auto}}.intro{padding-top:36px;padding-bottom:8px}h1{font:600 clamp(2rem, 5.2vw, 3.4rem)/1.05 var(--serif);letter-spacing:-.015em;max-width:17ch;margin:0 0 12px}.lede{color:var(--ink-2);max-width:62ch;margin:0 0 12px;font-size:clamp(1.02rem,1.6vw,1.18rem)}.private{color:var(--green);align-items:center;gap:8px;margin:0;font-size:.9rem;font-weight:600;display:inline-flex}.private svg{flex:none;width:16px;height:16px}.tool{padding-top:22px;padding-bottom:40px}.tool-grid{grid-template-columns:1fr;gap:18px;display:grid}@media (min-width:900px){.tool-grid{grid-template-columns:minmax(0,1fr) 340px}}.label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);font-size:.82rem;font-weight:650}.editor{flex-direction:column;gap:8px;min-width:0;display:flex}.editor-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.meta{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:.85rem}textarea{resize:vertical;width:100%;min-height:260px;font:15px/1.6 var(--mono);color:var(--ink);background:var(--card);border:1.5px solid var(--rule-strong);box-shadow:var(--shadow);background-image:repeating-linear-gradient(to bottom, transparent 0, transparent calc(1.6em - 1px), color-mix(in srgb, var(--rule) 45%, transparent) calc(1.6em - 1px), color-mix(in srgb, var(--rule) 45%, transparent) 1.6em);background-position:0 14px;background-attachment:local;border-radius:12px;padding:14px 16px}textarea::placeholder{color:var(--ink-2);opacity:.85}textarea:focus-visible{outline:3px solid var(--focus);outline-offset:1px;border-color:#0000}.editor-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.status{color:var(--green);min-height:1.2em;font-size:.88rem}.btn{font:600 .92rem/1 var(--sans);color:var(--ink);background:var(--card);border:1.5px solid var(--rule-strong);cursor:pointer;border-radius:9px;min-height:40px;padding:10px 14px;transition:border-color .12s,transform 60ms}.btn:hover:not(:disabled){border-color:var(--ink)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.primary:hover:not(:disabled){border-color:var(--ink)}.btn.ghost{background:0 0}.btn.small{min-height:34px;padding:7px 11px;font-size:.85rem}.tally{background:var(--card);border:1.5px solid var(--rule-strong);box-shadow:var(--shadow);border-radius:14px;align-self:start;min-width:0;padding:18px 18px 14px}.big{flex-direction:column;gap:2px;display:flex}.big-num{font:600 clamp(3rem, 8vw, 4.4rem)/1 var(--serif);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.big-unit{color:var(--ink-2);font-size:.95rem}.big-with strong{color:var(--ink);font-weight:650}.ratio{color:var(--ink-2);font-variant-numeric:tabular-nums;margin:6px 0 12px;font-size:.88rem}.picker{border:0;min-width:0;margin:0;padding:0}.picker legend{margin-bottom:6px;padding:0}.opt{cursor:pointer;border:1.5px solid #0000;border-radius:9px;grid-template-columns:auto 1fr auto;align-items:center;gap:2px 10px;padding:9px 10px;display:grid}.opt+.opt{margin-top:2px}.opt:hover{background:var(--paper-2)}.opt input{width:16px;height:16px;accent-color:var(--accent);grid-row:span 2;margin:0}.opt-name{font-size:.95rem;font-weight:650}.opt-models{color:var(--ink-2);grid-column:2;font-size:.8rem;line-height:1.3}.opt-count{font:600 1.05rem/1 var(--mono);font-variant-numeric:tabular-nums;text-align:right;grid-area:1/3/span 2}.opt-count.lazy{font:500 .78rem/1.25 var(--sans);color:var(--ink-2);white-space:nowrap}.opt:has(input:checked){border-color:var(--accent);background:color-mix(in srgb, var(--accent-soft) 45%, transparent)}.opt:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:1px}.opt input:focus-visible{outline:none}.empty{border:1.5px dashed var(--rule-strong);text-align:center;background:color-mix(in srgb, var(--card) 60%, transparent);border-radius:14px;margin-top:22px;padding:28px 20px 30px}.empty-art{width:min(320px,100%);height:auto}.e-chips rect{stroke:var(--ink);stroke-width:1.2px}.e-chips rect:first-child{fill:var(--c0)}.e-chips rect:nth-child(2){fill:var(--c1)}.e-chips rect:nth-child(3){fill:var(--c2)}.e-chips rect:nth-child(4){fill:var(--c3)}.e-chips rect:nth-child(5){fill:var(--c4)}.e-text text{font:500 14px var(--mono);fill:var(--chip-ink);text-anchor:middle}.empty-title{font:600 1.35rem/1.2 var(--serif);margin:10px 0 6px}.empty-copy{color:var(--ink-2);max-width:52ch;margin:0 auto 16px}.results{gap:18px;margin-top:22px;display:grid}.panel{background:var(--card);border:1.5px solid var(--rule);border-radius:14px;min-width:0;padding:16px 16px 18px}@media (min-width:700px){.panel{padding:20px 22px 22px}}.panel-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px;display:flex}.panel h2{font:600 1.3rem/1.2 var(--serif);margin:0 auto 0 0}.two{grid-template-columns:1fr;gap:18px;display:grid}@media (min-width:900px){.two{grid-template-columns:1fr 1fr}}.hint{color:var(--ink-2);margin:4px 0 10px;font-size:.86rem}.more{color:var(--ink-2);margin:10px 0 0;font-size:.86rem}.switch{cursor:pointer;align-items:center;gap:7px;min-height:34px;font-size:.9rem;display:inline-flex}.switch input{width:16px;height:16px;accent-color:var(--accent);margin:0}.readout{font:500 .88rem/1.4 var(--mono);color:var(--ink-2);background:var(--paper-2);overflow-wrap:anywhere;border-radius:8px;min-height:2.4em;margin:0 0 12px;padding:8px 10px}.readout b{color:var(--ink)}.chips{font:15px/2.05 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;tab-size:4;border-radius:8px;max-height:460px;padding:4px 2px;overflow:auto}.chips:focus-visible{outline-offset:4px}.t{color:var(--chip-ink);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ink) 12%, transparent);-webkit-box-decoration-break:clone;box-decoration-break:clone;cursor:default;border-radius:4px;margin-right:1px;padding:2px 0}.t0{background:var(--c0)}.t1{background:var(--c1)}.t2{background:var(--c2)}.t3{background:var(--c3)}.t4{background:var(--c4)}.t5{background:var(--c5)}.t.on{outline:2px solid var(--ink);outline-offset:1px;z-index:1;position:relative}.t .ws{opacity:.55}.chips.show-ids .t:after{content:attr(data-id);font:600 10px/1 var(--mono);vertical-align:super;color:var(--ink-2);margin-left:2px;padding-right:2px}.lines{gap:6px;margin:0;padding:0;list-style:none;display:grid}.line{border-left:4px solid var(--rule-strong);background:var(--paper-2);border-radius:8px;grid-template-columns:3.4em 1fr auto;align-items:center;gap:2px 10px;padding:7px 8px 7px 10px;display:grid}.line.green{border-left-color:var(--green)}.line.yellow{border-left-color:var(--yellow)}.line.red{border-left-color:var(--red)}.line-n{font:600 .8rem var(--mono);color:var(--ink-2)}.line-text{font:.86rem/1.35 var(--mono);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.line-count{font:700 .95rem var(--mono);font-variant-numeric:tabular-nums;text-align:right}.line-bar{background:var(--rule);border-radius:2px;grid-column:2/span 2;height:4px;overflow:hidden}.line-bar i{background:var(--ink-2);height:100%;display:block}.line.red .line-bar i{background:var(--red)}.line.yellow .line-bar i{background:var(--yellow)}.line.green .line-bar i{background:var(--green)}.line-meta{color:var(--ink-2);grid-column:2/span 2;font-size:.76rem}.band{white-space:nowrap;align-items:center;gap:5px;margin-right:10px;display:inline-flex}.band:before{content:"";background:currentColor;border-radius:2px;width:10px;height:10px}.band.green{color:var(--green)}.band.yellow{color:var(--yellow)}.band.red{color:var(--red)}.cut{border-top:1px solid var(--rule);padding:10px 0}.cut:first-child{border-top:0;padding-top:2px}.cut h3{font:650 .98rem/1.3 var(--sans);margin:0 0 4px}.cut p{color:var(--ink-2);margin:0;font-size:.92rem}.swap{gap:4px;margin:4px 0 0;padding:0;list-style:none;display:grid}.swap li{font:.9rem/1.4 var(--mono)}.swap del{color:var(--red);text-decoration-thickness:2px}.swap ins{color:var(--green);font-weight:700;text-decoration:none}.tag{font:600 .85rem var(--mono);background:var(--paper-2);border-radius:5px;margin:2px 4px 2px 0;padding:1px 6px;display:inline-block}.tight{color:var(--green);font-weight:600}.savings{background:var(--paper-2);border:1.5px solid var(--rule-strong);border-radius:12px;margin-top:12px;padding:14px}.savings-num{font:600 1.5rem/1.2 var(--serif);font-variant-numeric:tabular-nums;margin:0}.savings-num strong{color:var(--green)}.pill{font:700 .85rem var(--sans);background:var(--green);color:var(--card);vertical-align:middle;border-radius:999px;padding:3px 9px}.row{flex-wrap:wrap;gap:8px;display:flex}.table-wrap{margin:0 -4px;padding:0 4px;overflow-x:auto}table.cost{border-collapse:collapse;width:100%;min-width:560px;font-size:.92rem}.cost th,.cost td{text-align:left;border-bottom:1px solid var(--rule);white-space:nowrap;padding:8px 10px}.cost thead th{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-2);border-bottom:1.5px solid var(--rule-strong);font-size:.75rem}.cost .num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--mono)}.cost thead .num{font-family:var(--sans)}.cost td.model{font-family:var(--mono);font-weight:600}.cost td.enc{color:var(--ink-2)}.cost small{color:var(--ink-2);font-family:var(--sans);font-weight:400}.cost tbody tr:hover{background:var(--paper-2)}.cost tbody tr.sel td.enc{color:var(--accent);font-weight:650}@media (max-width:640px){table.cost{min-width:0;font-size:.86rem}.cost th.enc,.cost td.enc,.cost th.tok,.cost td.tok,.cost th.rate,.cost td.rate{display:none}.cost td.model{white-space:normal;overflow-wrap:anywhere}.cost th,.cost td{padding:8px 6px}.cost td.model small{display:block}.cost thead th{white-space:normal;font-size:.68rem}textarea{min-height:180px}}.how{border-top:1px solid var(--rule);padding-top:34px;padding-bottom:20px}.how h2,.faq h2{font:600 clamp(1.6rem, 3.4vw, 2.2rem)/1.15 var(--serif);margin:0 0 12px}.how>p{max-width:70ch}.diagram{background:var(--card);border:1.5px solid var(--rule);border-radius:14px;margin:22px 0;padding:16px}.diagram svg{width:100%;height:auto;display:block}.diagram figcaption{color:var(--ink-2);margin-top:8px;font-size:.86rem}.d-label text{font:600 13px var(--sans);fill:var(--ink-2);letter-spacing:.02em}.d-src{font:500 22px var(--mono);fill:var(--ink)}.d-chunk rect{fill:none;stroke:var(--rule-strong);stroke-width:1.5px;stroke-dasharray:5 4}.d-chunk text,.d-tok text{font:500 16px var(--mono);fill:var(--chip-ink);text-anchor:middle}.d-chunk text{fill:var(--ink)}.d-tok rect{stroke:var(--ink);stroke-width:1.2px}.d-tok .c0{fill:var(--c0)}.d-tok .c1{fill:var(--c1)}.d-tok .c2{fill:var(--c2)}.d-tok .c3{fill:var(--c3)}.d-tok .c4{fill:var(--c4)}.d-tok .c5{fill:var(--c5)}.d-id text{font:700 16px var(--mono);fill:var(--accent);text-anchor:middle}.d-note text{font:italic 15px var(--serif);fill:var(--ink-2)}.how-cols{grid-template-columns:1fr;gap:22px;display:grid}@media (min-width:860px){.how-cols{grid-template-columns:repeat(3,1fr)}}.how-cols h3{font:650 1.05rem/1.3 var(--sans);margin:0 0 6px}.how-cols p{color:var(--ink-2);margin:0}.faq{padding-top:30px;padding-bottom:40px}.qa{border-top:1px solid var(--rule)}.qa:last-child{border-bottom:1px solid var(--rule)}.qa summary{cursor:pointer;padding:14px 32px 14px 0;list-style:none;position:relative}.qa summary::-webkit-details-marker{display:none}.qa summary:after{content:"+";font:400 1.5rem/1 var(--serif);color:var(--accent);position:absolute;top:10px;right:6px}.qa[open] summary:after{content:"−"}.qa h3{font:600 1.08rem/1.35 var(--serif);margin:0;display:inline}.qa p{color:var(--ink-2);max-width:72ch;margin:0 0 16px}.foot{border-top:1px solid var(--rule);background:var(--paper-2)}.foot-row{color:var(--ink-2);padding-top:20px;padding-bottom:28px;font-size:.9rem}.foot-row p{max-width:80ch;margin:6px 0}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
