*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.75 system-ui,sans-serif}a{color:var(--accent);text-underline-offset:4px}a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}header,main,footer{max-width:900px;margin:auto;padding:24px}header{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-bottom:1px solid var(--line)}nav{display:flex;gap:18px;flex-wrap:wrap}.brand{font-weight:750;text-decoration:none;color:var(--text)}h1{font-size:clamp(30px,6vw,48px);line-height:1.2;letter-spacing:-1px}h2{font-size:23px;line-height:1.3}section,aside{padding:24px;margin:20px 0;background:var(--surface);border:1px solid var(--line);border-radius:18px}.highlight{border-color:var(--accent)}.notice{border-color:#947543}li{margin:12px 0}p{margin:12px 0}.muted,footer{color:var(--muted)}footer{border-top:1px solid var(--line);font-size:14px}ul,ol{padding-left:24px}@media(max-width:600px){header,main,footer{padding:18px}section,aside{padding:18px}nav{gap:12px}h2{font-size:21px}}
.brand{display:inline-flex;align-items:center;gap:10px}.brand img{display:none}.brand:before{content:"";display:block;flex:none;width:30px;height:30px;background:var(--accent);mask:url('/brand/samewave-symbol.svg') center/contain no-repeat}

/* The reading pages share the application's restrained geometry. */
body{font-size:15px;line-height:1.75}
header{max-width:1080px;align-items:center;padding:20px 24px;gap:20px}
header nav{gap:6px;font-size:13px}
header nav a{padding:8px 12px;border-radius:8px;text-decoration:none}
header nav a:hover,header nav a[aria-current="page"]{background:var(--surface);color:var(--accent)}
main,footer{max-width:816px;padding:28px 24px}
h1{font-size:clamp(28px,4vw,38px);letter-spacing:-.7px;margin:12px 0 18px}
h2{font-size:22px;letter-spacing:-.25px;margin:0 0 12px}
main>section{padding:24px 0;margin:12px 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}
main>section.highlight,main>aside{padding:20px 24px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
main>section.highlight{border-color:var(--accent)}
main>aside.notice{border-color:#947543}
li{margin:8px 0}p{margin:10px 0}
footer{font-size:12px;padding-top:20px}
@media(max-width:600px){header,main,footer{padding:18px}header nav a{padding:6px 8px}main>section{padding:20px 0}main>section.highlight,main>aside{padding:18px}}
