:root { --paper:#f5f2ea; --ink:#24221e; --muted:#625f56; --line:#d9d4c9; --soft:#ebe7dc; color:var(--ink); background:var(--paper); font:18px/1.6 Georgia,'Times New Roman',serif; }
* { box-sizing:border-box; }
body { margin:0; }
a { color:inherit; text-underline-offset:4px; }
button, input { font:inherit; color:inherit; }
button { cursor:pointer; }
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible { outline:2px solid var(--ink); outline-offset:5px; }
.skip { position:absolute; top:-100px; left:20px; background:var(--paper); padding:10px; }.skip:focus { top:10px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.model-context-note { font:13px/1.6 Arial,sans-serif; color:var(--muted); margin:8px 0 24px; }
.page-header,main,footer { width:min(1120px,calc(100% - 80px)); margin:auto; }
.page-header { padding:28px 0; display:flex; justify-content:space-between; border-bottom:1px solid var(--line); font:12px/1.5 'Courier New',monospace; }
.page-header a { text-decoration:none; }.page-header nav { display:flex; gap:28px; }
.opening { padding:64px 0 70px; max-width:820px; }
.eyebrow { font:11px/1.6 'Courier New',monospace; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); margin:0 0 18px; }
h1,h2,p { margin-top:0; }h1,h2 { font-weight:400; }
h1 { font-size:clamp(60px,7.7vw,100px); line-height:1.02; letter-spacing:-.045em; margin-bottom:30px; }
.intro { font-size:25px; line-height:1.45; max-width:740px; }.scope { color:var(--muted); font-size:14px; max-width:700px; margin:28px 0 0; }
.model { display:grid; grid-template-columns:minmax(280px, .9fr) minmax(0,1.1fr); column-gap:90px; padding:66px 0 78px; border-top:1px solid var(--line); scroll-margin-top:28px; }
h2 { font-size:39px; line-height:1.13; letter-spacing:-.025em; margin-bottom:22px; }.model-copy>p:not(.eyebrow) { font-size:17px; }
.presets { display:flex; flex-wrap:wrap; gap:10px 20px; padding:8px 0 24px; }
.presets button { border:0; padding:6px 0; background:none; font:12px/1.5 Arial,sans-serif; border-bottom:1px solid transparent; }
.presets button[aria-pressed='true'] { border-color:var(--ink); font-weight:700; }
form label { display:flex; justify-content:space-between; gap:20px; font:14px/1.4 Arial,sans-serif; margin-bottom:14px; }
form output { font-weight:600; white-space:nowrap; font-variant-numeric:tabular-nums; }
input[type='range'] { display:block; width:100%; height:26px; accent-color:var(--ink); margin:0 0 29px; cursor:pointer; }
details { border-top:1px solid var(--line); margin-top:8px; padding-top:16px; font:13px/1.6 Arial,sans-serif; color:var(--muted); }
summary { color:var(--ink); cursor:pointer; padding:6px 0; }details p { margin:16px 0 0; }
.model-result { padding-top:33px; }.result-label { font:12px/1.5 Arial,sans-serif; color:var(--muted); margin-bottom:8px; }
.result-value { font-size:clamp(42px,4.9vw,64px); line-height:1.1; letter-spacing:-.035em; font-variant-numeric:tabular-nums; margin-bottom:14px; }
.result-judgment { font-size:21px; line-height:1.4; margin-bottom:34px; }
.bridge { padding:24px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.bridge-row+.bridge-row { margin-top:22px; }.bar-title { display:flex; justify-content:space-between; gap:18px; margin-bottom:9px; font:13px/1.5 Arial,sans-serif; }
.bar-title strong { font-weight:400; white-space:nowrap; font-variant-numeric:tabular-nums; }.track { height:13px; background:var(--soft); }.bar { height:100%; background:var(--ink); }
.bar.cost { background:repeating-linear-gradient(120deg,transparent 0,transparent 3px,var(--muted) 3px,var(--muted) 4px); border:1px solid var(--muted); }
.bar.renewal { background:none; border:1px solid var(--ink); }
.result-stats { display:grid; grid-template-columns:1fr 1fr; gap:25px 30px; margin:30px 0 24px; }.result-stats dt { font:12px/1.5 Arial,sans-serif; color:var(--muted); }.result-stats dd { font-size:26px; margin:6px 0 0; font-variant-numeric:tabular-nums; }
.threshold-note { font-size:15px; margin-bottom:0; max-width:450px; }
.ending { padding:62px 0 72px; border-top:1px solid var(--line); max-width:760px; }.ending h2 { font-size:48px; }.ending>p:last-child { max-width:670px; }
footer { border-top:1px solid var(--line); padding:24px 0 40px; display:flex; gap:25px; justify-content:space-between; font:11px/1.6 'Courier New',monospace; color:var(--muted); }
@media(max-width:800px) { .page-header,main,footer { width:calc(100% - 40px); }.opening { padding:44px 0 50px; }h1 { font-size:66px; }.intro { font-size:22px; }.model { grid-template-columns:1fr; gap:28px; padding:44px 0 52px; }.model-copy { max-width:560px; }.model-result { padding-top:8px; }.result-value { font-size:53px; }.model h2 { font-size:34px; }.ending { padding:44px 0; }.ending h2 { font-size:38px; }footer { flex-direction:column; gap:10px; }.result-stats { gap:24px; } }
@media print { .presets,input[type='range'],.page-header nav { display:none; }.model { break-inside:avoid; }.opening { padding-top:20px; }.model { gap:30px; } }
