:root{color-scheme:dark;--bg:#000;--surface:#111113;--ink:#f5f5f7;--text:#a1a1a6;--blue:#2997ff;--border:#2c2c2e}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI","Noto Sans",sans-serif;line-height:1.75;-webkit-font-smoothing:antialiased}
a{color:#2997ff;text-underline-offset:4px;overflow-wrap:anywhere}
a:hover{color:#64b5ff}
a:focus-visible{outline:3px solid #1c78ff;outline-offset:5px;border-radius:3px}
.shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.button{display:inline-flex;justify-content:center;align-items:center;padding:14px 24px;background:var(--blue);color:white;border-radius:12px;text-decoration:none;font-weight:650;line-height:1.5;text-align:center;box-shadow:0 8px 22px rgba(46,111,224,.16)}
.button:hover{background:#2997ff;color:white}
.button.small{font-size:14px;padding:11px 17px}
.breadcrumbs{margin-top:34px;color:var(--text);font-size:14px;gap:10px}
.breadcrumbs a{color:var(--text)}
.intro{max-width:940px;padding:42px 0 44px}
.eyebrow{font-size:12px;font-weight:750;letter-spacing:2px;color:#2997ff}
h1{font-size:clamp(32px,4.4vw,59px);line-height:1.14;letter-spacing:-1.6px;margin:17px 0 22px;font-weight:780;overflow-wrap:anywhere}
h2{font-size:clamp(23px,2.2vw,30px);line-height:1.3;letter-spacing:-.55px;margin:0 0 20px}
h3{font-size:20px;line-height:1.45;letter-spacing:-.2px;margin:24px 0 10px}
p{color:var(--text);margin:0 0 18px}
.lead{font-size:20px;line-height:1.7;max-width:860px}
.reviewed{font-size:13px;margin:20px 0 0;color:#a1a1a6}
.reading-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:50px;align-items:start}
.toc{position:sticky;top:26px;align-items:stretch;display:flex;flex-direction:column;gap:0;font-size:14px;border-top:2px solid var(--blue);padding-top:14px}
.toc strong{margin-bottom:14px}
.toc a{padding:9px 0;text-decoration:none;color:var(--text);line-height:1.55}
.toc a:hover{color:var(--blue)}
article{min-width:0}
.reading-layout article{background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:40px 46px;box-shadow:0 18px 60px rgba(7,29,59,.035)}
section{scroll-margin-top:24px}
.reading-layout article section+section{margin-top:38px;padding-top:36px;border-top:1px solid var(--border)}
ul{padding-left:23px;color:var(--text);margin:20px 0 0}
li{padding-left:3px;margin:10px 0}
.checklist{background:#161619;border:1px solid var(--border);border-radius:14px;padding:15px 22px 15px 40px}
#permissions p{font-size:15px}
#sources{font-size:14px}
.hub{margin-bottom:42px}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.card{border:1px solid var(--border);border-radius:20px;background:var(--surface);padding:30px;box-shadow:0 14px 40px rgba(7,29,59,.03)}
.card h3{margin:14px 0;font-size:24px}
.card h3 a{text-decoration:none;color:var(--ink)}
.number{display:inline-flex;color:var(--blue);font-weight:750;font-size:13px;background:#11253b;padding:5px 10px;border-radius:8px}
.read{font-size:14px;font-weight:650}
.hub-copy{max-width:850px}
.hub-copy section{margin:32px 0}
.cta{width:min(1180px,calc(100% - 48px));margin:64px auto 0;padding:42px;border:1px solid #2c2c2e;background:linear-gradient(120deg,#101e2e,#111113);border-radius:22px}
.cta h2{margin:12px 0}
.cta p{max-width:790px}
.cta .button{margin-top:8px}
.skip{position:fixed;left:16px;top:-100px;background:var(--surface);padding:12px;z-index:5}
.skip:focus{top:12px}
@media (max-width:900px){.reading-layout{grid-template-columns:1fr;gap:26px}
.toc{position:static;display:block;columns:2;column-gap:24px}
.toc strong{display:block;column-span:all}
.toc a{display:block;break-inside:avoid}
.intro{padding:30px 0}
.reading-layout article{padding:32px}}
@media (max-width:600px){.shell,.cta{width:calc(100% - 32px)}
.button.small{font-size:12px;padding:9px 12px}
.breadcrumbs{margin-top:22px}
.intro{padding:28px 0}
h1{letter-spacing:-.9px}
.lead{font-size:18px}
.toc{columns:1}
.toc a{padding:7px 0}
.reading-layout article{border-radius:16px;padding:25px 21px}
.cards{grid-template-columns:1fr}
.card{padding:24px}
.card h3{font-size:22px}
.cta{padding:28px 24px;margin-top:40px}
.checklist{padding-left:29px;padding-right:15px}
h2,h3,p,li{overflow-wrap:anywhere}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media  print{body{background:var(--surface)}
.toc,.cta{display:none}
.reading-layout{display:block}
.reading-layout article{border:0;box-shadow:none;padding:0}
.shell{width:100%}
a{color:inherit}}
html{scroll-padding-top:112px}.reading-layout .toc{top:110px}.cta{margin-bottom:48px}.skip:focus{z-index:6000}section{scroll-margin-top:0}
.reading-layout>*{min-width:0}
.table-scroll{max-width:100%;margin:24px 0;border:1px solid #2c2c2e;border-radius:12px;overflow:auto}
.table-scroll table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:15px;line-height:1.6}
.table-scroll caption{text-align:left;padding:16px;background:#11253b;font-weight:700;color:#f5f5f7}
.table-scroll th,.table-scroll td{padding:12px;text-align:left;vertical-align:top;overflow-wrap:anywhere;border-top:1px solid #2c2c2e}
.table-scroll th{color:#f5f5f7;background:#161619;font-weight:700}
.table-scroll tr:nth-child(even) td{background:#161619}
.references{font-size:14px;line-height:1.7;padding-left:20px;color:#a1a1a6}
.byline{font-size:14px;color:#a1a1a6;margin:-10px 0 28px}
#worksheet,#methodology{padding:24px;background:#161619;border-radius:14px}
#methodology p{font-size:15px}
@media(max-width:600px){.table-scroll table{font-size:13px}.table-scroll th,.table-scroll td{padding:8px 5px}.table-scroll caption{padding:12px}#worksheet,#methodology{padding:18px}}

/* Official marks retain their original contrast on an inset neutral tile. */
.setup-guide-logo,.setup-card-logo{display:block;object-fit:contain;background:#fff;border:1px solid #dfe3e8;border-radius:14px;padding:10px;margin-bottom:20px}.setup-card-logo{padding:7px;margin-bottom:16px}.guide-availability{margin:0 0 32px;padding:24px 28px;border:1px solid var(--border);border-left:3px solid var(--blue);border-radius:16px;background:var(--surface)}.guide-availability h2{font-size:19px;margin:0 0 8px}.guide-availability p{margin:0;max-width:900px}.guide-status-label{display:inline-block;margin:0 0 12px;padding:4px 10px;border:1px solid var(--border);border-radius:999px;color:var(--text);font-size:12px;font-weight:600}
@media(max-width:600px){.guide-availability{padding:20px}}
@media print{body{background:#fff;color:#000}p,li,.lead,.reviewed{color:#222}.reading-layout article,.guide-availability,.card{background:#fff}.guide-availability{border-color:#666}}
