:root { color-scheme: light; --ink:#182c3a; --muted:#476171; --paper:#fff; --wash:#f1f6fa; --line:#cbd9e2; --accent:#075f60; --navy:#133e50; --mint:#bceedd; }
* { box-sizing:border-box; }
html { scroll-behavior:auto; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; font-size:1rem; line-height:1.75; overflow-wrap:anywhere; }
a { color:var(--accent); text-decoration-thickness:1px; text-underline-offset:.2em; }
a:hover { text-decoration-thickness:2px; }
a:focus-visible,summary:focus-visible { outline:3px solid #dc7700; outline-offset:4px; border-radius:2px; }
.skip { position:absolute; top:-10rem; left:1rem; z-index:10; padding:.7rem 1rem; background:white; }
.skip:focus { top:1rem; }
.wrap { width:min(100% - 3rem,70rem); margin-inline:auto; }
header { border-bottom:1px solid var(--line); }
.top { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:1.4rem 0 .6rem; }
.brand { color:var(--navy); font-weight:750; font-size:1.1rem; text-decoration:none; min-width:0; }
.language { display:flex; flex-wrap:wrap; gap:.35rem .9rem; font-size:.9rem; }
.language a { display:inline-flex; align-items:center; min-height:44px; }
.language [aria-current] { font-weight:750; color:var(--ink); }
nav.primary { display:flex; flex-wrap:wrap; gap:.2rem 1.7rem; padding:.3rem 0 .8rem; font-size:.95rem; }
nav.primary a { min-height:44px; display:inline-flex; align-items:center; text-decoration:none; color:var(--muted); }
nav.primary a[aria-current] { color:var(--accent); font-weight:750; text-decoration:underline; }
h1,h2,h3 { line-height:1.28; letter-spacing:-.025em; color:var(--navy); }
h1 { font-size:clamp(2rem,4.3vw,3.35rem); margin:0 0 1.2rem; }
h2 { font-size:1.5rem; margin:2.7rem 0 .8rem; }
h3 { font-size:1.12rem; margin:1.8rem 0 .6rem; }
p { margin:.8rem 0 1.15rem; }
.hero { display:grid; grid-template-columns:1.35fr 1fr; gap:3.2rem; padding:4rem 0 3rem; align-items:start; }
.eyebrow { color:var(--accent); font-size:.88rem; font-weight:700; letter-spacing:.05em; margin:0 0 1.2rem; }
.lede { font-size:1.18rem; color:var(--muted); max-width:40rem; }
.pill { display:inline-block; font-size:.88rem; padding:.2rem .75rem; border:1px solid var(--line); border-radius:100px; margin:0 .3rem .5rem 0; }
.panel { background:var(--navy); color:#fff; padding:1.6rem 1.8rem; border-radius:10px; }
.panel h2 { color:white; margin:0 0 1rem; font-size:1.35rem; }
.panel p { font-size:.98rem; margin:0; }
.panel ul { padding:0; margin:0 0 1rem; list-style:none; }
.panel li { padding:.85rem 0; border-bottom:1px solid #537789; }
.panel a { color:var(--mint); }
.rule { border-top:1px solid var(--line); padding:1rem 0 2.2rem; }
.tiles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.3rem; margin:1.5rem 0 2rem; }
.tile { border-top:3px solid var(--accent); padding:1rem 0; }
.tile h3 { margin:.2rem 0 .6rem; font-size:1.2rem; }
.tile p { color:var(--muted); margin:0; }
.notice { background:var(--wash); border-left:3px solid var(--accent); padding:1rem 1.3rem; margin:1.6rem 0 2rem; }
.document { width:min(100% - 3rem,49rem); margin:3rem auto 4rem; }
.document > h1 + p { color:var(--muted); font-size:.92rem; padding-bottom:1.3rem; border-bottom:1px solid var(--line); }
.document ul,.document ol { padding-left:1.5rem; }
.document li { margin:.5rem 0; }
blockquote { margin:1.3rem 0; padding:.7rem 1.3rem; border-left:3px solid var(--accent); background:var(--wash); }
blockquote p { margin:.4rem 0; }
.toc { padding:1rem 1.2rem; margin:1.3rem 0 2rem; border:1px solid var(--line); border-radius:6px; background:var(--wash); }
.toc summary { font-weight:650; cursor:pointer; min-height:32px; }
.toc ul { margin:.7rem 0 .2rem; }
footer { background:var(--wash); border-top:1px solid var(--line); padding:1.8rem 0 2.2rem; color:var(--muted); font-size:.9rem; }
footer p { margin:.35rem 0; }
.footer-links { display:flex; flex-wrap:wrap; gap:.3rem 1.3rem; margin-top:.9rem; }
.footer-links a { padding:.4rem 0; }
@media (max-width:700px) { .hero { grid-template-columns:1fr; gap:1.8rem; padding:2.5rem 0 2rem; } .tiles { grid-template-columns:1fr; gap:.2rem; } .top { align-items:flex-start; gap:1rem; } .language { flex-shrink:0; } nav.primary { gap:.15rem 1.1rem; } .document { margin-top:2rem; } h1 { font-size:2.2rem; } }
@media (max-width:380px) { .wrap,.document { width:calc(100% - 2rem); } .top { flex-direction:column; gap:.1rem; } }
@media print { header,.toc,.skip,.footer-links { display:none; } .document { width:100%; margin:0; } body { color:#000; font-size:11pt; } h1,h2,h3 { break-after:avoid; } a { color:inherit; } footer { background:none; } }
