@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Outfit:wght@500;600;700;800;900&display=swap');
:root{--bg:#101626;--panel:#1b2540;--accent:#f5cc74;--ink:#f8f8f7;--muted:#cbd2e2;--line:rgba(255,255,255,.17)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:radial-gradient(circle at 82% 0%,color-mix(in srgb,var(--panel),transparent 20%),transparent 34%),var(--bg);font:500 17px/1.65 'DM Sans',system-ui,sans-serif}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.wrap{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0}.brand{font:900 24px/1 'Outfit',sans-serif;letter-spacing:-.035em;text-decoration:none}.top nav{display:flex;gap:10px;flex-wrap:wrap}.top nav a{text-decoration:none;border:1px solid var(--line);padding:9px 14px;border-radius:10px;font-size:13px;font-weight:800}.top nav a:hover{border-color:var(--accent);color:var(--accent)}
.hero{position:relative;isolation:isolate;min-height:480px;display:flex;align-items:end;overflow:hidden;border-radius:28px;border:1px solid var(--line);box-shadow:0 30px 70px #0005}.hero:before{content:'';position:absolute;inset:0;z-index:-2;background:var(--cover) center/cover no-repeat;transform:scale(1.015)}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,7,21,.96) 0%,rgba(4,7,21,.82) 50%,rgba(4,7,21,.14) 100%)}.hero-inner{padding:clamp(27px,5vw,68px);max-width:830px}.kicker{display:inline-flex;gap:9px;align-items:center;color:var(--accent);font-size:12px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.kicker:before{content:'';width:24px;height:2px;background:var(--accent)}h1,h2,h3{font-family:'Outfit',system-ui,sans-serif;line-height:1.08;letter-spacing:-.035em}.hero h1{font-size:clamp(39px,5.6vw,74px);margin:15px 0 20px;text-wrap:balance;text-shadow:0 5px 20px #000a}.hero p{max-width:65ch;font-size:clamp(16px,1.7vw,20px);margin:0}.hero-bottom{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:26px}.chip{border:1px solid var(--line);border-radius:999px;padding:6px 12px;background:#0a1024aa;font-size:12px;font-weight:800}.chip.age{color:#151422;background:var(--accent);border-color:var(--accent)}
.crumb{display:flex;gap:10px;flex-wrap:wrap;padding:22px 0;color:var(--muted);font-size:12px}.crumb a:hover{color:var(--accent)}.layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:clamp(26px,4vw,60px);padding:38px 0 95px}.prose{min-width:0}.prose h2{font-size:clamp(27px,3vw,40px);margin:52px 0 18px}.prose p{max-width:74ch;margin:0 0 20px}.answer{background:linear-gradient(130deg,var(--panel),color-mix(in srgb,var(--panel),#000 20%));padding:29px;border:1px solid var(--line);border-left:5px solid var(--accent);border-radius:0 18px 18px 0;font-size:19px;box-shadow:0 18px 35px #0002}.answer strong{color:var(--accent)}.deck{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:26px 0}.deck section{padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.deck small{color:var(--accent);font-weight:900;letter-spacing:.1em}.deck h3{font-size:22px;margin:8px 0}.deck p{font-size:15px;margin:0}.steps{list-style:none;display:grid;gap:12px;padding:0}.steps li{display:flex;gap:16px;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.steps b{font:900 23px 'Outfit',sans-serif;color:var(--accent);min-width:32px}.steps span{align-self:center}.example{margin:28px 0;padding:25px;border-radius:18px;border:1px solid var(--line);background:linear-gradient(135deg,color-mix(in srgb,var(--accent),transparent 88%),var(--panel))}.example strong{color:var(--accent)}.caution{padding:23px;border-top:2px solid var(--accent);background:#090e20}.caution strong{color:var(--accent)}.links{display:grid;gap:11px}.links a{display:block;padding:15px 18px;border:1px solid var(--line);border-radius:12px;text-decoration:none;background:var(--panel)}.links a:hover{border-color:var(--accent);transform:translateY(-2px)}.side{position:sticky;top:18px;align-self:start;border:1px solid var(--line);border-radius:18px;background:var(--panel);padding:22px}.side h2{font-size:20px;margin:0 0 12px}.side a{display:block;text-decoration:none;padding:11px 0;border-top:1px solid var(--line);font-size:14px}.side a:hover{color:var(--accent)}.side .primary{display:block;margin-top:16px;padding:12px;border-radius:10px;text-align:center;background:var(--accent);color:#101626;font-weight:900}.footer{border-top:1px solid var(--line);padding:30px 0 40px;color:var(--muted);font-size:13px}.footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer a:hover{color:var(--accent)}
.theme-editorial h1,.theme-editorial h2,.theme-museum h1,.theme-museum h2{font-family:Georgia,serif}.theme-ledger .hero,.theme-ledger .steps li,.theme-cabinet .hero,.theme-cabinet .steps li{border-radius:4px}.theme-arcade .hero,.theme-cinema .hero,.theme-islands .hero{min-height:570px}.theme-atlas .hero,.theme-map .hero{border-color:var(--accent)}.theme-security .answer,.theme-laboratory .answer{border-left-width:8px}.theme-felt .hero,.theme-table .hero{border-radius:6px}.theme-interface .hero,.theme-mobile .hero{border-radius:36px}.theme-probability .steps b,.theme-rules .steps b,.theme-lexicon .steps b{font-family:Georgia,serif}.theme-compass .kicker,.theme-islands .kicker{letter-spacing:.24em}.theme-planner .steps li{border-left:4px solid var(--accent)}.theme-accessible .top nav a,.theme-accessible .steps li{border-width:2px}
@media(max-width:900px){.layout{grid-template-columns:1fr}.side{position:static;order:1}.hero{min-height:410px}.hero:after{background:linear-gradient(0deg,rgba(4,7,21,.96),rgba(4,7,21,.15))}}@media(max-width:600px){body{font-size:16px}.wrap{width:min(100% - 28px,1180px)}.top{align-items:flex-start;flex-direction:column}.top nav a{padding:7px 10px}.hero{min-height:440px;border-radius:15px}.hero-inner{padding:24px}.hero h1{font-size:clamp(34px,10vw,52px)}.deck{grid-template-columns:1fr}.answer{padding:20px;font-size:17px}.layout{padding-top:18px}.steps li{padding:15px}.prose h2{margin-top:39px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
