:root{--paper:#f5f0e7;--card:#fffdf9;--ink:#302722;--wine:#6f2639;--muted:#66594f;--line:#d8ccbe;--serif:Newsreader,Georgia,'Times New Roman',serif;--sans:Outfit,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.55 var(--sans)}
a{color:var(--wine)}a:hover{text-decoration-thickness:2px}.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
header{border-bottom:1px solid var(--line)}header .wrap{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center;justify-content:space-between;padding:14px 20px}
.brand{font:600 21px/1 var(--serif);color:var(--ink);text-decoration:none}.brand span{color:var(--wine)}
nav a{white-space:nowrap;color:var(--muted);text-decoration:none;margin-right:16px;font-size:15px}nav a:hover,nav a[aria-current]{color:var(--wine)}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.15;letter-spacing:-.01em}h1{font-size:clamp(32px,5.4vw,52px);margin:.2em 0 .3em}h2{font-size:28px;margin:1.8em 0 .5em}h3{font-size:20px;margin:0 0 .25em}
.hero{padding:48px 0 18px}.lede{font-size:19px;color:var(--muted);max-width:44em}
.search{margin:26px 0 8px;position:relative;max-width:640px}.search input{width:100%;font:inherit;font-size:18px;padding:14px 16px;border:1.5px solid var(--ink);border-radius:10px;background:var(--card);color:var(--ink)}.search input:focus{outline:3px solid #6f263933;border-color:var(--wine)}
.hint{font-size:14px;color:var(--muted)}#results{list-style:none;padding:0;margin:10px 0 0;max-width:640px}#results li a{display:block;padding:10px 14px;border:1px solid var(--line);border-radius:8px;margin-bottom:6px;background:var(--card);text-decoration:none;color:var(--ink)}#results li a:hover{border-color:var(--wine)}#results small{display:block;color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;padding:0;list-style:none}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 18px 16px;display:flex;flex-direction:column}.card p{margin:.2em 0 .8em;color:var(--muted);font-size:15.5px;flex:1}
.card h2,.card h3{font-size:22px;margin:0 0 .25em}.card .sub{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--wine);margin:0 0 6px}.card .go{font-weight:500;text-decoration:none}.card .go::after{content:" →"}
.sections{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.sec{display:block;padding:18px;border-radius:12px;border:1.5px solid var(--ink);text-decoration:none;color:var(--ink);background:var(--card)}.sec:hover{border-color:var(--wine)}.sec b{font:600 21px var(--serif);display:block}.sec span{color:var(--muted);font-size:14.5px}
details{border-top:1px solid var(--line);padding:12px 0}details summary{cursor:pointer;font-weight:500}details p{color:var(--muted);margin:.5em 0 0}
.crumb{font-size:14px;color:var(--muted);margin-top:28px}.crumb a{color:var(--muted)}
footer{margin-top:64px;border-top:1px solid var(--line);padding:26px 0 40px;font-size:14px;color:var(--muted)}footer a{color:var(--muted)}
.empty{color:var(--muted);font-style:italic}
.cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;background:var(--card);border:1.5px solid var(--wine);border-radius:12px;padding:16px 18px;margin:22px 0 0;max-width:760px}.cta b{font:600 20px var(--serif)}.cta a{font-weight:500}
.sums{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:18px 0}.sum{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:2px}.sum b{font:600 18px var(--serif)}.sum .big{font:600 30px var(--serif);color:var(--wine)}.sum .big small{font-size:15px;color:var(--muted)}.sum small{color:var(--muted)}
.sb fieldset{border:1px solid var(--line);border-radius:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px 16px;padding:14px 16px;background:var(--card);margin:0 0 10px}.sb legend{font-weight:500;padding:0 6px}.sb label{display:flex;flex-direction:column;font-size:14px;gap:4px}.sb label small{color:var(--muted);font-size:12.5px}.sb input{font:inherit;padding:7px 9px;border:1px solid var(--line);border-radius:7px;background:#fff;max-width:200px}
.asm summary{cursor:pointer;font-weight:500;margin:6px 0}.derived{font-size:14.5px;color:var(--muted);columns:2;max-width:760px}
table{border-collapse:collapse;width:100%;font-size:15px;margin:6px 0 18px;background:var(--card)}th,td{border-bottom:1px solid var(--line);padding:8px 9px;text-align:left;vertical-align:top}th{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.n{text-align:right;white-space:nowrap}
tr.tot td{font-weight:600;border-top:2px solid var(--ink)}tr.base td{color:var(--muted)}tr.nofit{opacity:.5}.warn{color:var(--wine)}.aff{font-size:11px;text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--wine);color:var(--wine);border-radius:4px;padding:0 4px}
.ev{font-size:13.5px;color:var(--muted)}.note{color:var(--wine)}code{font-size:12.5px;word-break:break-all}.disc{font-size:14px;color:var(--muted);border-left:3px solid var(--wine);padding-left:12px}
@media(max-width:700px){header .wrap{flex-direction:column;align-items:flex-start;gap:10px}nav{display:flex;flex-wrap:wrap;gap:8px 14px;width:100%;max-width:100%}nav a{margin-right:0}table.stk td:nth-child(3),table.stk th:nth-child(3){display:none}.derived{columns:1}}