:root { color-scheme: light dark; --paper:#faf8f4; --ink:#19343b; --accent:#155e70; --line:#ccd9da; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font:1.05rem/1.7 system-ui,sans-serif; }
main,header,footer { max-width:52rem; margin:auto; padding:1.5rem; overflow-wrap:anywhere; }
header { border-bottom:1px solid var(--line); }
nav { display:flex; flex-wrap:wrap; gap:1rem; }
a { color:var(--accent); text-underline-offset:.2em; }
a:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
h1 { font-size:clamp(1.8rem,6vw,2.5rem); line-height:1.2; }
h2 { font-size:1.35rem; margin-top:2rem; line-height:1.4; }
.notice { border:2px solid var(--accent); border-radius:1rem; padding:1rem; }
.action { display:inline-block; padding:.7rem 1rem; border:2px solid var(--accent); border-radius:.6rem; }
footer { border-top:1px solid var(--line); font-size:.95rem; }
[hidden] { display:none !important; }
@media(prefers-color-scheme:dark) { :root { --paper:#152529; --ink:#e6efef; --accent:#95d6db; --line:#456268; } }
