@font-face{font-family:SourceSans;src:url('./source-sans-3-7a19a7027e.woff2') format('woff2');font-weight:200 900;font-display:swap}
@font-face{font-family:Barlow;src:url('./barlow-condensed-3787a5a419.woff2') format('woff2');font-weight:700;font-display:swap}
:root{color-scheme:light;--ink:#12191c;--ink2:#273136;--muted:#667478;--paper:#f5f0e6;--bright:#fffdf8;--soft:#e7e0d4;--line:#c9c3b8;--copper:#b45f36;--copper-dark:#78371f;--gold:#d69a29;--green:#39746e;--danger:#873a2e;--shadow:0 12px 30px rgba(18,25,28,.09);font-family:SourceSans,system-ui,sans-serif;font-synthesis:none}
*{box-sizing:border-box}
body{margin:0;color:var(--ink2);background:linear-gradient(120deg,rgba(180,95,54,.08),transparent 34rem),var(--paper);font-size:16px;line-height:1.55}
button,input,select{font:inherit}
button,select,input{min-height:44px}
button{cursor:pointer}
a{color:inherit}
.app-header{position:sticky;z-index:5;top:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem clamp(1rem,4vw,3rem);background:rgba(18,25,28,.97);color:var(--bright);border-bottom:3px solid var(--copper)}
.brand{display:flex;min-width:0;align-items:center;gap:.65rem;text-decoration:none}.brand>span{display:grid;flex:0 0 auto;width:34px;height:34px;place-items:center;border:2px solid var(--gold);border-radius:50%;font-family:Barlow,sans-serif;font-size:1.25rem}.brand strong{overflow:hidden;font-family:Barlow,sans-serif;font-size:clamp(.94rem,2vw,1.2rem);letter-spacing:.02em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.brand small{flex:0 0 auto;padding-left:.65rem;border-left:1px solid #657176;color:#d9d3c8}
.language{display:flex;align-items:center;gap:.55rem}.language span{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.language select{padding:.35rem 2rem .35rem .65rem;color:var(--ink);background:var(--bright);border:1px solid #6e777a;border-radius:5px}
main{width:min(1240px,calc(100% - 2rem));margin:0 auto;padding:clamp(1.5rem,5vw,4rem) 0 5rem}
.hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.75fr);gap:clamp(1.2rem,5vw,4rem);align-items:end;margin-bottom:2rem}.hero h1{max-width:800px;margin:.15rem 0 .75rem;font-family:Barlow,sans-serif;font-size:clamp(2.5rem,6vw,5.7rem);line-height:.92;letter-spacing:-.025em;text-transform:uppercase}.hero>div>p:last-child{max-width:680px;font-size:clamp(1.05rem,2vw,1.35rem)}.hero aside{padding:1.15rem;background:var(--ink);color:var(--paper);border-left:5px solid var(--gold);box-shadow:var(--shadow)}.hero aside strong{color:#f0b654}.hero aside p{margin:.4rem 0 0;font-size:.92rem}
.eyebrow{margin:0;color:var(--copper-dark);font-family:Barlow,sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.panel{margin:1.25rem 0;padding:clamp(1rem,3vw,2rem);background:var(--bright);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}
.section-heading{display:flex;align-items:start;justify-content:space-between;gap:1.25rem;margin-bottom:1.25rem}.section-heading h2,.method h2{margin:.1rem 0 0;font-family:Barlow,sans-serif;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1;text-transform:uppercase}.section-heading p{max-width:720px;margin:.45rem 0 0}.section-heading>[data-save-state]{color:var(--green);font-size:.82rem;font-weight:800}
.constraint-grid,.debt-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem}.constraint-grid label,.debt-grid label{display:grid;align-content:start;gap:.35rem}.constraint-grid label span,.debt-grid label span{min-height:2.5em;color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}
input,select{width:100%;padding:.65rem .75rem;color:var(--ink);background:#fff;border:1px solid #a49e94;border-radius:5px}input:focus,select:focus,button:focus-visible,.file-label:focus-within{outline:3px solid rgba(214,154,41,.5);outline-offset:2px;border-color:var(--copper-dark)}
.debt-list{display:grid;gap:1rem}.debt-card{min-width:0;margin:0;padding:1rem;border:1px solid var(--line);border-left:5px solid var(--copper);border-radius:6px}.debt-card legend{padding:0 .5rem;color:var(--ink);font-family:Barlow,sans-serif;font-size:1.25rem;font-weight:700;text-transform:uppercase}.debt-card__actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.9rem}.check{display:flex!important;min-height:44px;grid-template-columns:auto 1fr;align-items:center;gap:.55rem;padding:.4rem 0}.check input{width:22px;height:22px;min-height:0}.check span{min-height:0!important;color:var(--ink2)!important;text-transform:none!important}
.primary-actions,.export-actions{display:flex;flex-wrap:wrap;gap:.65rem}.primary,.secondary,.file-label,.link-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.62rem 1rem;border-radius:5px;font-weight:850;text-decoration:none}.primary{color:white;background:var(--copper-dark);border:1px solid var(--copper-dark)}.secondary,.file-label{color:var(--ink);background:var(--bright);border:1px solid var(--ink)}.link-button{padding:.4rem .2rem;color:var(--danger);background:none;border:0;text-decoration:underline}.file-label{position:relative;cursor:pointer}.file-label input{position:absolute;width:1px;height:1px;min-height:0;opacity:0}
.results-table-wrap{overflow-x:auto}.results-table{width:100%;border-collapse:collapse}.results-table th,.results-table td{min-width:130px;padding:.8rem;text-align:left;border-bottom:1px solid var(--line)}.results-table thead th{color:var(--muted);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.results-table tbody th{min-width:210px}.results-table tbody label{display:flex;align-items:center;gap:.55rem}.results-table tbody input{width:20px;min-height:20px}.results-table tr.is-best{background:rgba(57,116,110,.08)}
.action-plan{margin-top:1.5rem;padding:clamp(1rem,3vw,1.5rem);background:linear-gradient(135deg,rgba(214,154,41,.12),transparent),var(--paper);border:1px solid var(--line);border-radius:7px}.action-plan h3{margin:.2rem 0;font-family:Barlow,sans-serif;font-size:2rem;text-transform:uppercase}.warning{padding:.8rem 1rem;background:#fff2df;border-left:4px solid var(--danger)}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin-top:1rem}.metric-grid>div{padding:.8rem;background:var(--bright);border:1px solid var(--line);border-radius:5px}.metric-grid span,.metric-grid strong{display:block}.metric-grid span{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.metric-grid strong{margin-top:.25rem;color:var(--ink);font-size:1.1rem}.action-plan details{margin-top:1rem}.action-plan summary{font-weight:850;cursor:pointer}
.empty-state{padding:2rem;text-align:center;background:var(--paper);border:1px dashed var(--line)}.method{max-width:800px;margin:2.5rem auto 0;padding:1.5rem;border-top:3px solid var(--ink)}
@media(max-width:950px){.constraint-grid,.debt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.app-header{align-items:flex-start}.brand{max-width:calc(100% - 112px)}.brand small{display:none}.language{flex:0 0 104px;align-items:flex-start;flex-direction:column;gap:.1rem}.language select{min-height:38px}.hero{grid-template-columns:1fr;align-items:start}.section-heading{align-items:stretch;flex-direction:column}.export-actions{display:grid;grid-template-columns:1fr 1fr}.constraint-grid,.debt-grid,.metric-grid{grid-template-columns:1fr}.debt-card__actions{align-items:flex-start;flex-direction:column}.results-table th,.results-table td{padding:.65rem}.primary-actions>.primary,.primary-actions>.secondary{flex:1}}
@media print{.app-header,.primary-actions,.export-actions,.debt-list,.constraint-grid,.method{display:none!important}body{background:white}.panel,.action-plan{box-shadow:none}.hero{display:block}.hero aside{color:var(--ink);background:white;border:1px solid var(--ink)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
