:root{--paper:#f6f3ea;--surface:#fffdf7;--ink:#1d2a22;--muted:#55625a;--rule:#cfc8b4;--green:#1f5d46;--green-ink:#fff;--amber-bg:#fbeed2;--amber:#7a4a05;--red-bg:#f8dedb;--red:#8f2020;--blue-bg:#dfeaf2;--blue:#1d4b6b;--focus:#0b57d0;--serif:Georgia, "Times New Roman", serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "Cascadia Mono", Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#131a16;--surface:#1b251f;--ink:#eaf1ea;--muted:#a9b8ad;--rule:#3a493f;--green:#7fd1a8;--green-ink:#0d1a13;--amber-bg:#3a2c10;--amber:#f1c36b;--red-bg:#3d1a18;--red:#ffb3ab;--blue-bg:#17303f;--blue:#9fd0ee;--focus:#8ab4ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;font-size:1rem;line-height:1.5}h1,h2{font-family:var(--serif);font-weight:700;line-height:1.2}h1{margin:1.2rem 0 .8rem;font-size:1.6rem}h2{margin:0 0 .6rem;font-size:1.15rem}a{color:var(--blue)}code{font-family:var(--mono);font-size:.9em}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip{background:var(--surface);color:var(--ink);border:2px solid var(--focus);z-index:10;padding:.5rem .8rem;position:absolute;top:-4rem;left:.5rem}.skip:focus{top:.5rem}.app{max-width:1400px;margin:0 auto;padding:0 16px 32px}.masthead{border-bottom:3px double var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;padding:14px 0;display:flex}.brand{align-items:center;gap:.7rem;display:flex}.brand-mark{color:var(--green);font-size:2rem;line-height:1}.brand-name{font-family:var(--serif);margin:0;font-size:1.4rem;font-weight:700}.brand-tag{color:var(--muted);margin:0;font-size:.85rem}.tabs{flex-wrap:wrap;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.tab{font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-bottom-width:3px;min-height:44px;padding:.5rem .8rem}.tab:hover{border-bottom-color:var(--rule)}.tab[aria-current=page]{border-bottom-color:var(--green);font-weight:700}.banners{gap:.5rem;margin-top:.8rem;display:grid}.banner{border:1px solid var(--rule);background:var(--surface);border-left-width:6px;padding:.6rem .8rem}.banner ul{margin:.3rem 0 0 1.1rem;padding:0}.banner-sample{background:var(--blue-bg);border-left-color:var(--blue);color:var(--ink)}.banner-warn{background:var(--amber-bg);border-left-color:var(--amber)}.link{font:inherit;color:var(--blue);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.card{background:var(--surface);border:1px solid var(--rule);padding:.6rem .8rem}.card p{color:var(--muted);margin:0;font-size:.85rem}.card .card-n{font-family:var(--mono);color:var(--ink);font-size:1.6rem}.panel{background:var(--surface);border:1px solid var(--rule);margin:0 0 1rem;padding:1rem}.prose{max-width:70ch}.note,.muted{color:var(--muted);font-size:.9rem}.grid-fields{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.9rem 1.2rem;display:grid}.field{align-content:start;gap:.2rem;display:grid}.field input,.field select{width:100%;min-width:0}.grid-fields>*{min-width:0}.field>span{font-size:.9rem;font-weight:600}.field small{color:var(--muted);font-size:.8rem}.field.wide{margin:.6rem 0}fieldset{border:1px solid var(--rule);margin:0;padding:.4rem .7rem .6rem}legend{padding:0 .3rem;font-size:.9rem;font-weight:600}.radio{align-items:center;gap:.5rem;min-height:32px;display:flex}.inline-fieldset{margin:.8rem 0}input,select,textarea{font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--muted);border-radius:3px;max-width:100%;min-height:36px;padding:.35rem .5rem}textarea{width:100%;font-family:var(--mono);font-size:.85rem}input:disabled,select:disabled{opacity:.6}input[aria-invalid=true]{border-color:var(--red);background:var(--red-bg);border-width:2px}input[type=radio],input[type=checkbox]{width:1.1rem;height:1.1rem;min-height:0}.toolbar{flex-wrap:wrap;align-items:flex-end;gap:.6rem 1rem;margin:.5rem 0;display:flex}.inline{gap:.15rem;font-size:.85rem;font-weight:600;display:grid}.inline input,.inline select{font-weight:400}.btn{font:inherit;background:var(--surface);min-height:40px;color:var(--ink);border:1px solid var(--ink);cursor:pointer;border-radius:3px;padding:.4rem .9rem;font-weight:600}.btn:hover:not(:disabled){background:var(--paper)}.btn.primary{background:var(--green);color:var(--green-ink);border-color:var(--green)}.btn.danger{color:var(--red);border-color:var(--red)}.btn.small{min-height:32px;padding:.15rem .6rem;font-size:.85rem}.btn:disabled{opacity:.5;cursor:not-allowed}.bulk{margin:.4rem 0 .8rem}.bulk summary{cursor:pointer;font-weight:600}.table-wrap{border:1px solid var(--rule);max-width:100%;overflow-x:auto}table.grid{border-collapse:collapse;width:100%;font-size:.9rem}.grid th,.grid td{border-bottom:1px solid var(--rule);text-align:left;vertical-align:middle;padding:.3rem .4rem}.grid thead th{background:var(--paper);white-space:nowrap;position:sticky;top:0}.grid tbody th[scope=row]{min-width:300px;font-weight:600}.table-wrap .grid tbody th[scope=row],.table-wrap .grid thead th:first-child{z-index:2;background:var(--surface);box-shadow:1px 0 0 var(--rule);position:sticky;left:0}.table-wrap .grid thead th:first-child{background:var(--paper);z-index:3}.th-btn{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;min-height:28px;padding:.2rem 0;font-weight:700}.hint{color:var(--muted);font-size:.72rem;font-weight:400;display:block}.num{font-family:var(--mono);white-space:nowrap;text-align:right!important}.num-in{width:6.2rem;font-family:var(--mono);text-align:right}.name-in{width:100%;min-width:260px}.actions{white-space:nowrap}.row-error th,.row-error td{background:var(--red-bg)}.badge{white-space:nowrap;border:1px solid;border-radius:3px;padding:.1rem .5rem;font-size:.8rem;font-weight:700;display:inline-block}.badge-qualifies{color:var(--green)}.badge-fails_profit,.badge-fails_margin,.badge-fails_both{color:var(--red)}.badge-incomplete{color:var(--amber)}.chip{border:1px dashed var(--muted);color:var(--muted);border-radius:8px;margin-left:.4rem;padding:0 .4rem;font-size:.72rem;display:inline-block}.chip-assumed{color:var(--amber);border-color:var(--amber)}.empty{border:1px dashed var(--rule);text-align:center;color:var(--muted);padding:1.2rem}.equation{font-family:var(--mono);background:var(--paper);border:1px solid var(--rule);overflow-wrap:anywhere;padding:.6rem}.breakdown{grid-template-columns:1fr auto;gap:.25rem 1rem;max-width:560px;display:grid}.breakdown dt{color:var(--muted)}.breakdown dd{font-family:var(--mono);text-align:right;margin:0}.scenario-list{gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.scenario-list li{border:1px solid var(--rule);padding:.7rem}.scenario-list li.active{border-left:6px solid var(--green)}.foot{border-top:1px solid var(--rule);color:var(--muted);margin-top:1.5rem;font-size:.85rem}@media (width<=600px){.grid tbody th[scope=row]{min-width:150px}.name-in{min-width:130px}h1{font-size:1.35rem}.tab{padding:.4rem .55rem}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
