:root{font-family:Arial,sans-serif;color:#162521;background:#f8f6ed;--paper:#f8f6ed;--ink:#162521;--muted:#596253;--line:#c7ccbe;--soft:#e8eade;--accent:#234a30;--on-accent:#fffef5;color-scheme:light}
:root[data-theme=dark]{color-scheme:dark;--paper:#1b211f;--ink:#f6f3e9;--muted:#b8beb4;--line:#515c51;--soft:#303834;--accent:#b0c39e;--on-accent:#19221b;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-padding-top:20px}body{margin:0;line-height:1.65}a{color:inherit;text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:5px}header,main,footer{width:min(1080px,100% - 64px);margin:auto}header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 0;border-bottom:1px solid var(--line)}.brand{text-decoration:none;letter-spacing:.06em;font-size:26px;font-weight:700}.brand span{display:block;font-size:12px;font-weight:400;letter-spacing:.05em}header nav{display:flex;align-items:center;gap:20px;flex-wrap:wrap}header nav>a:not(.button){display:inline-flex;align-items:center;min-height:44px}button{padding:10px 16px;min-height:44px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--ink)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border-radius:8px;background:var(--accent);color:var(--on-accent);text-decoration:none}.skip{position:absolute;left:16px;top:-100px;padding:12px;background:var(--paper);z-index:2}.skip:focus{top:12px}.preview{display:inline-block;margin:24px 0 0;font-size:13px;color:var(--muted);border-left:3px solid var(--line);padding-left:10px}.intro{padding:60px 0 55px;max-width:760px}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.14;margin:0 0 18px}h1{font-size:clamp(42px,5.2vw,68px);letter-spacing:-.035em}h2{font-size:32px}h3{font-size:27px}.eyebrow{color:var(--muted);font-size:16px;margin:0 0 12px}.lede{font-size:21px;line-height:1.5;max-width:690px}.intro>p:last-child{color:var(--muted)}.section-heading{display:flex;gap:20px;align-items:baseline;justify-content:space-between;margin-bottom:20px}.section-heading h2{margin:0}.section-heading>span{color:var(--muted);font-size:14px}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.guide-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--paper)}.guide-card>img{display:block;width:100%;height:180px;object-fit:cover;background:var(--soft)}.guide-card>div{padding:26px}.guide-card p{margin:0 0 16px}.guide-card h3{max-width:350px}.read{display:flex;align-items:center;gap:14px;min-height:44px;font-weight:600;color:var(--accent)}.read span{margin-left:auto;font-size:24px}.queued{padding:50px 0}.queued>p{max-width:680px;color:var(--muted)}.genus-list{display:flex;flex-wrap:wrap;list-style:none;gap:10px;padding:0}.genus-list li{padding:7px 13px;border:1px solid var(--line);border-radius:6px;font-size:14px;color:var(--muted)}.legal{border-top:1px solid var(--line);padding:30px 0;font-size:15px}.legal h2{font-size:25px}.back{display:inline-flex;align-items:center;min-height:44px;margin:24px 0}.article-intro{max-width:800px;margin:25px auto 0}.scope{font-size:15px;color:var(--muted);max-width:700px}.hero{display:block;width:100%;height:auto;max-height:280px;object-fit:cover;border-radius:12px;margin-top:28px;background:var(--soft)}small{font-size:13px;color:var(--muted)}.contents{max-width:760px;margin:32px auto;padding:24px;background:var(--soft);border-radius:12px;display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center}.contents>strong{width:100%;font-size:15px}.contents a{font-size:14px;display:inline-flex;align-items:center;min-height:44px}.reading{max-width:700px;margin:0 auto}.reading>section{padding:25px 0;border-bottom:1px solid var(--line);scroll-margin-top:20px}.reading>section>p,.practice p{font-size:18px}.citation{font-size:13px!important;color:var(--muted)}.practice{border-left:3px solid var(--line);padding-left:20px;margin-top:24px}.practice h3{font:600 15px Arial,sans-serif;margin-bottom:14px}.sources{padding-left:24px;overflow-wrap:anywhere}.sources li{margin:20px 0}.sources p,.small{font-size:14px!important;color:var(--muted)}.journal{border:0!important;padding-bottom:40px!important}footer{border-top:1px solid var(--line);margin-top:45px;padding:26px 0 45px;font-size:14px;color:var(--muted)}footer span{display:block;margin-top:14px}footer strong{color:var(--ink)}
[hidden]{display:none!important}.search{margin:24px 0}.search label{display:block;font-weight:600;margin-bottom:8px}.search>div{display:flex;gap:10px}.search input{font:inherit;min-width:0;width:min(440px,100%);min-height:48px;padding:10px 14px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--paper)}input:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.search p{font-size:14px;color:var(--muted);min-height:24px}.citation,.scope{overflow-wrap:anywhere}
.citation a,.sources a,.legal a,footer>a{display:inline-block;min-height:44px;max-width:100%;padding:10px 2px;line-height:24px;vertical-align:middle;overflow-wrap:anywhere}
.citation a{margin:2px 4px 2px 0}.guide-card>img,.hero{object-fit:contain}.hero{height:clamp(180px,25vw,280px)}
[tabindex="-1"]:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
@media(max-width:650px){header,main,footer{width:calc(100% - 36px)}header{align-items:flex-start;padding:20px 0;gap:12px}.brand{font-size:22px;white-space:nowrap}.brand span{font-size:12px}header nav{gap:8px;justify-content:flex-end;font-size:14px}header .button{padding:8px 12px}header button{padding:8px 10px}.intro{padding:38px 0}.lede{font-size:18px}.guide-grid{grid-template-columns:1fr;gap:20px}.guide-card>img{height:145px}.guide-card>div{padding:22px}.section-heading{display:block}.section-heading>span{display:block;margin-top:8px}.article-intro{margin-top:14px}.reading>section>p,.practice p{font-size:17px}.contents{padding:18px}.scope{font-size:14px}h2{font-size:29px}.hero{margin-top:20px}.preview{font-size:12px}.queued{padding:36px 0}}
