:root{--ink:#1d2a33;--muted:#5a6b76;--accent:#2f6b3f;--bg:#fbfaf7;--line:#dcd8cf;--warn:#8a4b00}
*{box-sizing:border-box}body{margin:0;font:17px/1.6 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg)}
header,main,footer{max-width:860px;margin:0 auto;padding:0 18px}
header{padding-top:18px;border-bottom:1px solid var(--line)}header a.brand{font-weight:700;color:var(--accent);text-decoration:none;font-size:1.15rem}
nav{margin:8px 0 12px}nav a{margin-right:14px;color:var(--ink)}
h1{font-size:1.9rem;line-height:1.25}h2{margin-top:2rem;border-top:1px solid var(--line);padding-top:1rem}
table{border-collapse:collapse;width:100%;margin:1rem 0;font-size:.95rem}th,td{border:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}th{background:#efece5}
.note{background:#fff7e6;border-left:4px solid var(--warn);padding:10px 14px;margin:1rem 0}
.box{background:#fff;border:1px solid var(--line);padding:14px 18px;border-radius:6px;margin:1rem 0}
label{display:block;margin:.6rem 0 .2rem;font-weight:600}input,select,textarea{font:inherit;padding:6px;width:100%;max-width:420px}
button{font:inherit;padding:8px 16px;background:var(--accent);color:#fff;border:0;border-radius:4px;cursor:pointer}
.out{font-size:1.2rem;font-weight:700;margin-top:.8rem}
sup a,.src{font-size:.8rem}.src{color:var(--muted)}
ol.sources{font-size:.85rem;color:var(--muted)}
footer{border-top:1px solid var(--line);margin-top:3rem;padding:18px;font-size:.85rem;color:var(--muted)}
.placeholder{outline:2px dashed #c00;padding:6px}
fieldset.consent{border:1px solid var(--line);margin:1rem 0;padding:8px 12px}fieldset.consent label{font-weight:400}input.cb{width:auto;margin-right:6px}
.crumbs{font-size:.85rem;color:var(--muted);margin:.8rem 0 0}.crumbs a{color:var(--muted)}
