body{--accent:#00566c}
.hero{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.hero>*{min-width:0}
.hero h1{font-size:clamp(2.5rem,6.4vw,5.6rem);line-height:.92;overflow-wrap:anywhere}
.quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid var(--ink);border-left:2px solid var(--ink);margin-top:20px}
.quick>div{padding:15px;background:var(--white);border-right:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.quick small{display:block;font:700 10px 'Courier New',monospace;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
.quick strong{line-height:1.5}
.app-link,.text-link{text-decoration:underline;text-underline-offset:3px}
.app-link:hover,.text-link:hover{color:var(--accent)}
.jump-links{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}
.jump-links a{border:1px solid var(--ink);padding:9px 12px;font-size:.88rem;font-weight:700}
.jump-links a:hover{background:var(--ink);color:var(--paper)}
.section{padding:32px 0;border-bottom:2px solid var(--ink)}
.section-title{display:flex;gap:14px;align-items:baseline;margin-bottom:18px}
.section-title .n{font:900 1rem 'Courier New',monospace;color:var(--accent)}
.section-title h2{font-size:clamp(1.8rem,4vw,3.2rem);line-height:1.05;letter-spacing:-.045em;margin:0;text-transform:uppercase;overflow-wrap:anywhere}
p,li{line-height:1.65}
.lead{font-size:1.08rem;max-width:1000px}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:2px solid var(--ink);border-left:2px solid var(--ink);margin-top:20px}
.card{padding:22px;background:var(--white);border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);min-width:0}
.card h3{font-size:1.5rem;letter-spacing:-.035em;margin:8px 0}
.card.accent,.note{background:#dceef0}
.statement{padding:24px;background:var(--accent);color:#fff;font-size:clamp(1.3rem,2.8vw,2rem);line-height:1.4;font-weight:700;margin:20px 0}
.note{border-left:6px solid var(--accent);padding:16px 18px;line-height:1.6;margin:18px 0}
.table-wrap{overflow-x:auto;max-width:100%;margin:18px 0}
table{width:100%;border-collapse:collapse;background:var(--white);font-size:.95rem}
caption{padding:12px;text-align:left;font-weight:700;background:#dceef0}
th,td{padding:13px;text-align:left;vertical-align:top;line-height:1.55;border:1px solid #b4aea4;overflow-wrap:anywhere}
thead th{background:var(--ink);color:#fff;font:700 11px 'Courier New',monospace;text-transform:uppercase;letter-spacing:.04em}
.practice,.template,.prompt-panel{padding:22px;border:2px solid var(--ink);background:var(--white);margin:20px 0}
.practice h3{font-size:1.4rem;margin:8px 0}
details summary{cursor:pointer;font-weight:700;line-height:1.5;padding:8px 0}
details[open] summary{color:var(--accent)}
.practice details{border-top:1px solid #b4aea4;padding-top:12px;margin-top:16px}
.prompt-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.prompt-head h3{margin:0;font-size:1.6rem}
.btn{cursor:pointer;background:transparent}
pre{white-space:pre-wrap;overflow-wrap:anywhere;font:1rem/1.65 Arial,Helvetica,sans-serif;background:#e7f1f2;padding:20px}
[role=status]{font-size:.9rem;color:var(--accent)}
.takeaways{counter-reset:idea;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;list-style:none;padding:0}
.takeaways li{counter-increment:idea;padding:20px;border:2px solid var(--ink);background:#dceef0;min-width:0}
.takeaways li::before{content:counter(idea,decimal-leading-zero);display:block;font:900 1.5rem 'Courier New',monospace;color:var(--accent);margin-bottom:12px}
.takeaways strong,.takeaways span{display:block}
.takeaways strong{font-size:1.2rem;margin-bottom:8px}
.sources{columns:2;padding-left:20px}
.sources li{break-inside:avoid;margin-bottom:10px}
.reference{font-size:.92rem}
.foot{border-top:0}
:focus-visible{outline:3px solid #00566c;outline-offset:4px}
@media(max-width:900px){.hero{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){.quick,.cards,.takeaways{grid-template-columns:minmax(0,1fr)}.section-title{gap:9px}.card,.practice,.template,.prompt-panel{padding:16px}.hero h1{font-size:clamp(2.5rem,10.5vw,4.5rem)}.sources{columns:1}.top{align-items:flex-start}.top-actions{justify-content:flex-end}th,td{padding:10px}pre{padding:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
