/* Shared site styles, loaded after each page's own styles. */
:root{color-scheme:light}
@media (prefers-color-scheme: dark){:root{color-scheme:dark}}
html{-webkit-text-size-adjust:100%}
body{margin:0}
img{max-width:100%}
[hidden]{display:none!important}
a.brand{color:var(--ink);text-decoration:none}
.adslot{border:0;background:none;aspect-ratio:auto;padding:0;min-height:0;font:inherit;text-align:center}
.ad-label{display:block;font:500 10.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.site-foot{border-top:1px solid var(--line);background:var(--surface);margin-top:24px}
.foot-inner{max-width:1240px;margin:0 auto;padding-inline:clamp(16px,3vw,32px);padding-block:28px 36px;display:grid;gap:14px}
.site-foot nav{display:flex;gap:18px;flex-wrap:wrap}
.site-foot nav a{color:var(--muted);text-decoration:none;font-size:14px}
.site-foot nav a:hover{color:var(--accent)}
.site-foot p{margin:0;color:var(--muted);font-size:12.5px;max-width:80ch}

/* Privacy choices: banner, dialog, toast */
.dmc-banner{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:50;max-width:760px;margin-inline:auto;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(15,18,32,.18);padding:16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 18px;align-items:center;font:14px/1.5 var(--sans)}
.dmc-text b{display:block;font:600 15px/1.3 var(--sans);margin-bottom:4px}
.dmc-text p{margin:0;color:var(--muted)}
.dmc-text a{color:var(--accent)}
.dmc-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.dmc-btn{appearance:none;border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);font:500 14px/1 var(--sans);padding:10px 14px;border-radius:8px;cursor:pointer;white-space:nowrap}
.dmc-btn:hover{filter:brightness(1.08)}
.dmc-btn.ghost{background:none;color:var(--ink);border-color:var(--line)}
.dmc-btn.ghost:hover{border-color:var(--accent);color:var(--accent);filter:none}
@media (max-width:640px){.dmc-banner{grid-template-columns:1fr}.dmc-actions{justify-content:stretch}.dmc-actions .dmc-btn{flex:1}}
.dmc-overlay{position:fixed;inset:0;z-index:60;background:rgba(10,12,22,.5);display:grid;place-items:center;padding:16px}
.dmc-modal{width:min(560px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--surface);color:var(--ink);border-radius:12px;border:1px solid var(--line);padding:20px;display:grid;gap:14px;font:14px/1.5 var(--sans)}
.dmc-modal h2{margin:0;font:700 20px/1.2 var(--display)}
.dmc-lead{margin:0;color:var(--muted)}
.dmc-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start;border-top:1px solid var(--line);padding-top:12px}
.dmc-row b{font-weight:600}
.dmc-row p{margin:2px 0 0;color:var(--muted);font-size:13.5px}
.dmc-row .dmc-note{color:var(--warn)}
.dmc-always{font:500 12px/1 var(--mono);color:var(--ok);background:var(--ok-soft);padding:6px 8px;border-radius:99px;white-space:nowrap}
.dmc-switch{position:relative;display:inline-block;width:44px;height:26px;flex:none}
.dmc-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}
.dmc-switch span{position:absolute;inset:0;background:var(--line);border-radius:99px;transition:background .15s}
.dmc-switch span::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .15s}
.dmc-switch input:checked + span{background:var(--accent)}
.dmc-switch input:checked + span::after{transform:translateX(18px)}
.dmc-switch input:focus-visible + span{outline:2px solid var(--accent);outline-offset:2px}
.dmc-switch input:disabled + span{opacity:.5}
.dmc-modal .dmc-actions{border-top:1px solid var(--line);padding-top:14px}
.dmc-foot{margin:0;font-size:13px}
.dmc-foot a{color:var(--accent)}
.dmc-toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--bg);font:500 13px/1.3 var(--sans);padding:10px 14px;border-radius:8px;opacity:0;transition:opacity .2s;pointer-events:none;z-index:70}
.dmc-toast.on{opacity:1}
.site-foot button.linklike,.site-foot a[data-privacy-choices]{color:var(--muted);text-decoration:none;font-size:14px}
@media (prefers-reduced-motion:reduce){.dmc-switch span,.dmc-switch span::after,.dmc-toast{transition:none}}

/* Guides links, related blocks and in-article ads */
.nav .nav-guides{border-left:1px solid var(--line);border-radius:0 6px 6px 0;margin-left:4px;padding-left:14px}
.related,.home-guides{margin-top:40px;display:grid;gap:12px}
.related h2,.home-guides h2{font:700 20px/1.2 var(--display);letter-spacing:-.01em;margin:0}
.row-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.row-head a{color:var(--accent);text-decoration:none;font-size:14px;font-weight:500}
.rel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.rel-grid.big{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.rel{display:grid;gap:6px;align-content:start;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px 16px;text-decoration:none;color:var(--ink)}
.rel:hover{border-color:var(--accent)}
.rel b{font:600 15px/1.35 var(--sans)}
.rel-grid.big .rel b{font:700 19px/1.25 var(--display)}
.rel .d{color:var(--muted);font-size:14px;line-height:1.5}
.rel span:last-child{font:400 12px/1 var(--mono);color:var(--muted)}
.ad-inline{margin:28px 0;text-align:center}
