@font-face{font-family:'DM Sans Fallback';src:local('Arial');size-adjust:92.25%;ascent-override:107%;descent-override:34%;line-gap-override:0%}
@font-face{font-family:'DM Serif Fallback';src:local('Georgia');size-adjust:98.89%;ascent-override:105%;descent-override:34%;line-gap-override:0%}
:root{--bg:#F4F7F5;--bg-alt:#FFFFFF;--surface:#FFFFFF;--surface-2:#EEF3F1;--border:#DCE5E1;--border-soft:#E8EDEA;--text:#1F2933;--text-muted:#5C6A70;--teal:#0F6F6E;--teal-dark:#0B5453;--teal-tint:#E6F0EE;--gold:#E0A43F;--gold-dark:#C0892C;--navy:#1B2530;--navy-deep:#161E27;--font-display:'DM Serif Display','DM Serif Fallback',Georgia,serif;--font-body:'DM Sans','DM Sans Fallback',-apple-system,sans-serif;--ease:cubic-bezier(0.22,1,0.36,1)}
html[data-theme="dark"]{--bg:#0F161E;--bg-alt:#141C25;--surface:#1A232E;--surface-2:#232E3A;--border:#2C3A46;--border-soft:#222D38;--text:#EDF2F0;--text-muted:#94A2AB;--teal:#128886;--teal-dark:#0E6B6A;--teal-tint:rgba(79,182,168,0.13);--gold:#E8B75C;--gold-dark:#E0A43F;--navy:#0B1119;--navy-deep:#080D13}
html[data-theme="dark"] .lnav{background:rgba(15,22,30,.86)}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.75;font-size:17px;-webkit-font-smoothing:antialiased}
a{color:var(--teal);text-decoration:none;border-bottom:1px solid rgba(15,111,110,.3);transition:color .2s,border-color .2s}
a:hover{color:var(--teal-dark);border-bottom-color:var(--teal)}
html[data-theme="dark"] a:hover{color:var(--gold);border-bottom-color:var(--gold)}
.container{max-width:760px;margin:0 auto;padding:0 28px}
/* nav */
.lnav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 34px;background:rgba(244,247,245,.86);backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);border-bottom:1px solid var(--border-soft)}
.lnav-brand{display:flex;align-items:center;gap:11px;font-family:var(--font-display);font-size:19px;color:var(--text);border:0}
.lnav-brand:hover{color:var(--text)}
.lnav-mark{width:30px;height:30px;border-radius:8px;background:var(--teal);color:#fff;display:grid;place-items:center;font-family:var(--font-body);font-size:14px;font-weight:600;flex:none}
.lnav-right{display:flex;align-items:center;gap:14px}
.lnav-back{font-size:14.5px;color:var(--text-muted);border:0;display:inline-flex;align-items:center;gap:7px}
.lnav-back:hover{color:var(--teal)}
.theme-toggle{width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);display:grid;place-items:center;cursor:pointer;transition:color .2s,border-color .2s}
.theme-toggle:hover{color:var(--teal);border-color:var(--teal)}
.theme-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
html:not([data-theme="dark"]) .icon-sun{display:none}
html[data-theme="dark"] .icon-moon{display:none}
/* head */
.lhead{padding:74px 0 44px;border-bottom:1px solid var(--border)}
.lkicker{display:inline-flex;align-items:center;gap:9px;font-size:12px;text-transform:uppercase;letter-spacing:.13em;font-weight:600;color:var(--teal);margin-bottom:16px}
.lkicker::before{content:'';width:22px;height:1px;background:var(--teal)}
.lhead h1{font-family:var(--font-display);font-size:clamp(34px,5.4vw,50px);font-weight:400;line-height:1.12;letter-spacing:-.01em;margin-bottom:18px}
.lmeta{font-size:14.5px;color:var(--text-muted)}
/* prose */
.prose{padding:44px 0 20px}
.prose h2{font-family:var(--font-display);font-size:27px;font-weight:400;line-height:1.25;margin:46px 0 14px;padding-top:8px}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:17.5px;font-weight:600;margin:30px 0 8px;color:var(--text)}
.prose p{color:var(--text-muted);margin-bottom:15px;text-wrap:pretty}
.prose strong{color:var(--text);font-weight:600}
.prose ul,.prose ol{margin:0 0 16px;padding-left:0;list-style:none;display:grid;gap:9px}
.prose ol{counter-reset:li}
.prose ul li,.prose ol li{position:relative;padding-left:26px;color:var(--text-muted)}
.prose ul li::before{content:'';position:absolute;left:5px;top:12px;width:6px;height:6px;border-radius:50%;background:var(--teal)}
.prose ol li{counter-increment:li}
.prose ol li::before{content:counter(li) '.';position:absolute;left:0;top:0;color:var(--teal);font-weight:600;font-size:15px}
.prose ul ul{margin:9px 0 0}
.idcard{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:26px 28px;margin:8px 0 20px}
.idcard dl{display:grid;grid-template-columns:auto 1fr;gap:10px 22px;font-size:15.5px}
.idcard dt{color:var(--text-muted);font-weight:500}
.idcard dd{color:var(--text);font-weight:500}
@media(max-width:520px){.idcard dl{grid-template-columns:1fr;gap:2px 0}.idcard dd{margin-bottom:12px}}
.callout{background:var(--teal-tint);border:1px solid rgba(15,111,110,.22);border-left:3px solid var(--teal);border-radius:0 12px 12px 0;padding:20px 24px;margin:22px 0}
.callout p{color:var(--text);margin:0}
.callout p+p{margin-top:10px}
.tablewrap{overflow-x:auto;margin:18px 0 22px;border:1px solid var(--border);border-radius:12px}
table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:520px}
th,td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--border-soft);vertical-align:top}
th{background:var(--surface-2);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}
td{color:var(--text-muted)}
tr:last-child td{border-bottom:0}
/* toc */
.toc{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:22px 26px;margin:0 0 12px}
.toc-title{font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:600;color:var(--text-muted);margin-bottom:12px}
.toc ol{display:grid;gap:7px;list-style:none;counter-reset:t;margin:0;padding:0}
.toc li{counter-increment:t;padding-left:24px;position:relative;font-size:15px}
.toc li::before{content:counter(t) '.';position:absolute;left:0;color:var(--text-muted);font-size:13.5px;font-weight:600}
.toc a{border-bottom-color:transparent}
.toc a:hover{border-bottom-color:var(--teal)}
/* legal footer */
.lfooter{margin-top:60px;padding:44px 0 54px;background:var(--navy);color:rgba(255,255,255,.62);font-size:14.5px}
.lfooter a{color:rgba(255,255,255,.86);border-bottom-color:rgba(255,255,255,.28)}
.lfooter a:hover{color:var(--gold);border-bottom-color:var(--gold)}
.lfoot-links{display:flex;flex-wrap:wrap;gap:8px 22px;margin-bottom:18px}
.lfoot-links a{font-size:14px}
