:root{--bg:#fff;--bg-soft:#f6f8fa;--bg-elevated:#fff;--border:#e3e8ee;--border-strong:#cfd7e0;--text:#10161d;--text-soft:#5a6675;--text-faint:#8593a3;--accent:#0f9d58;--accent-strong:#0b7c45;--accent-soft:#e8f7ef;--danger:#cf3b3b;--danger-soft:#fdecec;--warn:#9a6700;--warn-soft:#fff8e1;--radius:12px;--radius-sm:8px;--shadow:0 1px 2px #10161d0f, 0 8px 24px #10161d0f;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, Helvetica, Arial, sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#0b0f14;--bg-soft:#10161d;--bg-elevated:#141b23;--border:#232d38;--border-strong:#33404e;--text:#e8eef5;--text-soft:#a3b1c0;--text-faint:#6f7f90;--accent:#14b866;--accent-strong:#37d488;--accent-soft:#0f2a1e;--danger:#ff6b6b;--danger-soft:#2a1414;--warn:#e3b341;--warn-soft:#2a2312;--shadow:0 1px 2px #0006, 0 8px 24px #0000004d}}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{font-family:var(--sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;line-height:1.55}h1,h2,h3{letter-spacing:-.02em;margin:0;line-height:1.2}a{color:var(--accent-strong)}.wrap{width:100%;max-width:1120px;margin-inline:auto;padding-inline:20px}.skip-link{position:absolute;left:-9999px}.skip-link:focus{z-index:10;background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--border);padding:8px 12px;top:12px;left:12px}.site-header{z-index:5;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:16px;min-height:60px;display:flex}.brand{letter-spacing:-.01em;color:var(--text);align-items:center;gap:10px;font-size:1.05rem;font-weight:650;text-decoration:none;display:inline-flex}.brand-mark{flex:none;width:26px;height:26px}.brand-mark rect{fill:var(--accent)}.brand-mark path{stroke:var(--bg)}.site-nav{gap:20px;font-size:.92rem;display:flex}.site-nav a{color:var(--text-soft);text-decoration:none}.site-nav a:hover{color:var(--text)}.hero{background:linear-gradient(180deg, var(--bg-soft), var(--bg));border-bottom:1px solid var(--border);padding:72px 0 40px}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-strong);margin:0 0 12px;font-size:.8rem;font-weight:600}.hero h1{max-width:20ch;font-size:clamp(2.1rem,5.4vw,3.4rem)}.lede{color:var(--text-soft);max-width:62ch;margin:18px 0 0;font-size:clamp(1rem,1.6vw,1.15rem)}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.hero-badges{color:var(--text-faint);flex-wrap:wrap;gap:8px 20px;margin:28px 0 0;padding:0;font-size:.87rem;list-style:none;display:flex}.hero-badges li:before{content:"✓ ";color:var(--accent);font-weight:700}.hero-badges strong{color:var(--text-soft)}.btn{border-radius:var(--radius-sm);font:inherit;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:11px 20px;font-size:.95rem;font-weight:550;text-decoration:none;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.btn-primary{background:var(--accent);color:#05130b;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn-ghost{color:var(--text);border-color:var(--border-strong);background:0 0}.btn-ghost:hover:not(:disabled){border-color:var(--text-faint)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-small{padding:6px 12px;font-size:.83rem}section{padding:56px 0}section h2{font-size:clamp(1.5rem,3vw,2rem)}.section-lede{color:var(--text-soft);max-width:68ch;margin:12px 0 0}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:24px;display:flex}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.fee-stamp{background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);color:var(--text-soft);border-radius:999px;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:6px 12px;font-size:.85rem;display:inline-flex}.fee-stamp strong{color:var(--text)}.fee-stamp-sub{color:var(--text-faint);font-family:var(--mono);font-size:.78rem}.calculator-section{background:var(--bg-soft);border-block:1px solid var(--border);scroll-margin-top:70px}.calc{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.calc-inputs,.calc-output{gap:20px;min-width:0;display:grid}.calc-output{position:sticky;top:76px}fieldset.card{margin:0}legend{letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin-left:-8px;padding:0 8px;font-size:.78rem;font-weight:650}.field{gap:6px;min-width:0;margin-top:14px;display:grid}.field:first-of-type{margin-top:8px}.field-row{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:12px;margin-top:14px;display:grid}.field-row .field{margin-top:0}.field-unit{max-width:96px}label{color:var(--text-soft);font-size:.85rem;font-weight:500}input[type=number],input[type=text],select{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg);width:100%;min-width:0;color:var(--text);font:inherit;padding:9px 11px;font-size:.95rem}input:focus-visible,select:focus-visible,.btn:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.input-affix{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg);align-items:stretch;display:flex;overflow:hidden}.input-affix:focus-within{outline:2px solid var(--accent);outline-offset:2px}.input-affix input{background:0 0;border:none;border-radius:0}.input-affix input:focus-visible{outline:none}.affix{background:var(--bg-soft);border-right:1px solid var(--border);color:var(--text-faint);place-items:center;padding-inline:10px;font-size:.9rem;display:grid}.affix-end{border-right:none;border-left:1px solid var(--border)}.check{color:var(--text-soft);cursor:pointer;align-items:center;gap:9px;margin-top:16px;font-size:.9rem;display:flex}.check input{width:16px;height:16px;accent-color:var(--accent)}.hint{color:var(--text-faint);margin:0;font-size:.8rem}.advanced{border-top:1px solid var(--border);margin-top:18px;padding-top:14px}.advanced summary{cursor:pointer;color:var(--text-soft);font-size:.85rem;font-weight:550}.result-card{background:linear-gradient(160deg, var(--bg-elevated), var(--bg-soft))}.result-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin:0;font-size:.78rem;font-weight:650}.result-value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--accent-strong);margin:4px 0 0;font-size:clamp(2.2rem,6vw,3rem);font-weight:700}.result-value.is-negative{color:var(--danger)}.result-metrics{border-top:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;margin-top:20px;padding-top:18px;display:grid}.metric{gap:2px;display:grid}.metric-label{color:var(--text-faint);font-size:.78rem}.metric-value{font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:650}.metric-value.is-negative{color:var(--danger)}.tier-summary{color:var(--text-faint);font-size:.82rem;font-family:var(--mono);margin:16px 0 0;line-height:1.5}.warnings{gap:8px;margin-top:16px;display:grid}.warning{border-radius:var(--radius-sm);background:var(--warn-soft);border:1px solid color-mix(in srgb, var(--warn) 32%, transparent);color:var(--warn);padding:9px 12px;font-size:.83rem}.breakdown-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.breakdown-head h3{font-size:1.05rem}.breakdown-note{color:var(--text-faint);margin:6px 0 14px;font-size:.82rem}.breakdown{border-collapse:collapse;width:100%;font-size:.9rem}.breakdown th,.breakdown td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:8px 0}.breakdown td:last-child{text-align:right;width:108px}.breakdown tbody tr:last-child td{border-bottom:1px solid var(--border)}.row-group-label td{letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--border);padding-top:18px;font-size:.75rem;font-weight:650}.row-label{display:block}.row-note{color:var(--text-faint);font-size:.76rem;font-family:var(--mono);margin-top:2px;line-height:1.4;display:block}.override-input{text-align:right;font-variant-numeric:tabular-nums;width:100%;color:var(--text);font:inherit;background:0 0;border:1px solid #0000;border-radius:6px;padding:5px 8px;font-size:.9rem}.override-input:hover{border-color:var(--border-strong)}.override-input.is-override{border-color:var(--accent);background:var(--accent-soft);font-weight:600}.amount{font-variant-numeric:tabular-nums}.breakdown tfoot td{border-bottom:none;padding-top:12px;font-weight:600}.breakdown tfoot .total-row td{border-top:2px solid var(--border-strong);font-size:1rem}.is-negative{color:var(--danger)}.override-badge{background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);color:var(--accent-strong);letter-spacing:.04em;text-transform:uppercase;vertical-align:1px;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:.68rem;font-weight:650;display:inline-block}.principle-grid,.plan-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:28px;display:grid}.principle h3{font-size:1.05rem}.principle blockquote{border-left:3px solid var(--border-strong);color:var(--text-faint);margin:12px 0;padding-left:12px;font-size:.88rem;font-style:italic}.principle p{color:var(--text-soft);margin:0;font-size:.92rem}.plan{align-content:start;gap:14px;display:grid}.plan-pro{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.plan h3{font-size:1.05rem}.plan-price{letter-spacing:-.03em;margin:0;font-size:2.2rem;font-weight:700}.plan-price span{color:var(--text-faint);font-size:1rem;font-weight:500}.plan ul{color:var(--text-soft);gap:6px;margin:0;padding-left:18px;font-size:.92rem;display:grid}.plan .btn{justify-self:start}.site-footer{border-top:1px solid var(--border);background:var(--bg-soft);color:var(--text-soft);padding:32px 0;font-size:.87rem}.footer-inner{gap:12px;display:grid}.footer-inner nav{gap:18px;display:flex}.footer-inner p{margin:0}.disclaimer{color:var(--text-faint);max-width:80ch;font-size:.8rem}.prose{max-width:72ch;padding:56px 0}.prose h1{font-size:clamp(1.8rem,4vw,2.4rem)}.prose h2{margin-top:32px;font-size:1.2rem}.prose p,.prose li{color:var(--text-soft)}.prose ul{gap:6px;padding-left:20px;display:grid}.prose .updated{color:var(--text-faint);font-size:.85rem}@media (width<=900px){.calc{grid-template-columns:minmax(0,1fr)}.calc-output{order:-1;position:static}}@media (width<=640px){.site-nav{display:none}.hero{padding-top:48px}section{padding:40px 0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}.bulk-hero{background:linear-gradient(180deg, var(--bg-soft), var(--bg));border-bottom:1px solid var(--border);padding:56px 0 32px}.bulk-hero h1{max-width:18ch;font-size:clamp(1.9rem,4.4vw,2.9rem)}.privacy-note{border-radius:var(--radius-sm);background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);color:var(--text-soft);max-width:68ch;margin:20px 0 0;padding:10px 14px;font-size:.87rem}.bulk-main{background:var(--bg-soft);padding:32px 0 64px}.dropzone{border:2px dashed var(--border-strong);background:var(--bg-elevated);text-align:center;cursor:pointer;justify-items:center;gap:6px;padding:40px 24px;transition:border-color .12s,background-color .12s;display:grid}.dropzone:hover,.dropzone:focus-visible{border-color:var(--accent)}.dropzone.is-dragging{border-color:var(--accent);background:var(--accent-soft)}.dropzone-icon{width:34px;height:34px;stroke:var(--accent);margin-bottom:4px}.dropzone-title{margin:0;font-size:1.02rem;font-weight:600}.dropzone-hint{color:var(--text-faint);margin:0;font-size:.86rem}.how-to{margin-top:16px}.how-to summary{cursor:pointer;font-size:.93rem;font-weight:550}.how-to ol{color:var(--text-soft);gap:6px;margin:14px 0 10px;padding-left:20px;font-size:.92rem;display:grid}.how-to code{font-family:var(--mono);background:var(--bg-soft);border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-size:.85em}.import-error{border-radius:var(--radius-sm);background:var(--danger-soft);border:1px solid color-mix(in srgb, var(--danger) 40%, transparent);color:var(--danger);margin-top:16px;padding:12px 14px;font-size:.9rem}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-top:24px;display:grid}.summary-card{gap:4px;padding:16px 18px;display:grid}.summary-label{color:var(--text-faint);font-size:.78rem}.summary-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.7rem;font-weight:700}.cost-panel,.table-card{margin-top:18px}.cost-panel h2,.table-card h2{margin-bottom:4px;font-size:1.05rem}.table-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.table-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.table-actions .check{white-space:nowrap;margin-top:0}.table-scroll{border:1px solid var(--border);border-radius:var(--radius-sm);overflow-x:auto}.bulk-table{border-collapse:collapse;width:100%;min-width:760px;font-size:.88rem}.bulk-table th,.bulk-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:9px 12px}.bulk-table thead th{z-index:1;background:var(--bg-soft);letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint);white-space:nowrap;font-size:.75rem;font-weight:650;position:sticky;top:0}.bulk-table .numeric{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.bulk-table tbody tr:last-child td{border-bottom:none}.bulk-table tbody tr:hover{background:color-mix(in srgb, var(--accent) 5%, transparent)}.row-loss{background:color-mix(in srgb, var(--danger) 7%, transparent)}.sort-btn{font:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}.sort-btn:hover,.sort-btn.is-active{color:var(--accent-strong)}.sort-arrow{font-size:.9em}.product-name{text-overflow:ellipsis;white-space:nowrap;max-width:34ch;font-weight:500;display:block;overflow:hidden}.product-meta{font-size:.74rem;font-family:var(--mono);color:var(--text-faint);margin-top:1px;display:block}.product-note{color:var(--warn);text-overflow:ellipsis;white-space:nowrap;cursor:help;max-width:40ch;margin-top:3px;font-size:.74rem;display:block;overflow:hidden}.cost-input{text-align:right;font-variant-numeric:tabular-nums;width:86px;color:var(--text);font:inherit;background:0 0;border:1px solid #0000;border-radius:6px;padding:5px 8px;font-size:.88rem}.cost-input:hover{border-color:var(--border-strong)}.cost-input.is-override{border-color:var(--accent);background:var(--accent-soft);font-weight:600}.src-badge{letter-spacing:.04em;text-transform:uppercase;vertical-align:1px;border-radius:999px;margin-left:7px;padding:1px 6px;font-size:.66rem;font-weight:650;display:inline-block}.src-report{background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);color:var(--accent-strong)}.src-table{background:var(--warn-soft);border:1px solid color-mix(in srgb, var(--warn) 35%, transparent);color:var(--warn)}.table-footnote{margin-top:12px;line-height:1.9}.empty-row{color:var(--text-faint);text-align:center!important;padding:28px 12px!important}@media (width<=640px){.table-head{flex-direction:column}}
