:root{color-scheme:dark;font-family:Inter,"Noto Sans SC",system-ui,sans-serif;background:#171a21;color:#f0f4f7;font-size:16px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:#66c0f4;text-underline-offset:3px}button,input{font:inherit}button,a{transition:transform .16s,filter .16s,background-color .16s}button:hover,.cta:hover,.card:hover{transform:translateY(-3px)}button:active,.cta:active,.card:active{transform:translateY(0);filter:brightness(.9)}:focus-visible{outline:3px solid #fbcfe8;outline-offset:3px}img{display:block;max-width:100%}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:100;background:#fff;color:#111;padding:.7rem}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem clamp(1rem,4vw,4rem);border-bottom:1px solid #354356;background:#171a21}.topbar .brand{text-decoration:none;color:#fff;font-weight:900;font-size:1.15rem}.brand span{margin-left:.6rem;color:#fbcfe8;font-size:.65rem;letter-spacing:.2em}.topbar nav{display:flex;gap:1.4rem;flex-wrap:wrap}.topbar nav a{text-decoration:none;font-size:.9rem}.game,.directory{max-width:1480px;margin:auto}.crumb{padding:1.2rem clamp(1rem,4vw,4rem);color:#b9c8d3;font-size:.85rem}.hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.7fr);gap:clamp(2rem,7vw,7rem);align-items:center;min-height:620px;padding:3rem clamp(1rem,5vw,5rem);background:radial-gradient(circle at 76% 24%,color-mix(in srgb,var(--accent) 17%,transparent),transparent 33%),#1b2838;border-block:1px solid #354356;overflow:hidden}.hero-copy{max-width:780px}.kicker,.directory-hero>span,.section-heading>span,.catalog-head span{font-size:.72rem;letter-spacing:.22em;font-weight:800;color:var(--accent,#fbcfe8)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.7rem,5vw,5.6rem);line-height:1.16;letter-spacing:-.045em;margin:1.3rem 0}h2{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.2}p{line-height:1.75}.lead{font-size:1.15rem;color:#e7eef3;max-width:42rem}.tags,.actions{display:flex;gap:.7rem;flex-wrap:wrap}.tags{margin:1.8rem 0}.tags span{border:1px solid #637589;color:#dbe5eb;padding:.35rem .7rem;font-size:.82rem}.actions{align-items:center}.cta,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:1.3rem;min-height:49px;padding:.78rem 1.3rem;text-decoration:none;font-weight:800}.cta{background:#a4d007;color:#17200e}.cta span{font-size:1.25rem}.secondary{border:1px solid #66c0f4;color:#cdeeff}.hint,.source-note{font-size:.84rem;color:#b8c9d5;margin-top:1rem}.hero-art{position:relative;transform:rotate(3deg);max-width:380px;margin:auto;box-shadow:22px 25px 0 #10151d,0 25px 55px #0007}.hero-art img{width:100%;aspect-ratio:3/4;object-fit:cover;border:8px solid #e9edf0}.hero-art>span{position:absolute;bottom:15px;left:16px;background:#171a21;color:#f4f6f7;padding:.35rem .55rem;font-size:.64rem;letter-spacing:.08em;transform:rotate(-3deg)}.motif-scroll .hero-art{transform:rotate(-3deg)}.motif-scroll .hero-art>span{transform:rotate(3deg)}.motif-quest .hero-art{transform:translateY(14px) rotate(1deg)}.motif-noir .hero-art{transform:rotate(-5deg)}.motif-signal .hero-art{transform:rotate(5deg)}.quickbar{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.1rem clamp(1rem,5vw,5rem);background:#26364a;border-bottom:1px solid #42576a;font-size:.82rem;color:#bdd0df}.quickbar b{margin-left:.4rem;color:#fff}.content{padding:clamp(3.5rem,6vw,6rem) clamp(1rem,5vw,5rem);border-bottom:1px solid #334356}.section-heading{max-width:720px;margin-bottom:2rem}.section-heading h2{margin:.7rem 0}.section-heading p{color:#c7d5df}.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;border:1px solid #45556b}.facts>div{padding:1.3rem 1.4rem;background:#1b2838;border-right:1px solid #45556b;border-bottom:1px solid #45556b}.facts dt{font-size:.75rem;color:#b5c8d6;margin-bottom:.5rem}.facts dd{margin:0;font-weight:700;overflow-wrap:anywhere}.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.52fr);gap:4rem}.route{padding:1.2rem 0 1.2rem 1.4rem;border-left:3px solid var(--accent)}.route+ .route{margin-top:1rem}.route b{font-size:1.1rem}.route p{color:#c7d5df;margin:.4rem 0 0}.media-note{align-self:start;padding:2rem;background:#25374a;border-top:5px solid var(--second)}.media-note span{font-size:.7rem;letter-spacing:.2em;color:#d6e9f6}.media-note h3{font-size:1.6rem;margin:1.5rem 0}.media-note p{color:#d0dce4}.source-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.source-list a{display:flex;justify-content:space-between;gap:.5rem;padding:1.1rem 1.4rem;background:#25374a;text-decoration:none;font-weight:700;overflow-wrap:anywhere}.source-list a:hover{background:#304962}.source-list span{white-space:nowrap}.warning{margin-top:2rem;background:#31332a;border-left:4px solid #a4d007;padding:1.2rem 1.5rem}.warning p{margin:.5rem 0 0;color:#e1e4d4}.faq details{border-block-start:1px solid #4a5a6c;padding:1.2rem 0}.faq details:last-child{border-bottom:1px solid #4a5a6c}.faq summary{cursor:pointer;font-weight:800}.faq details p{color:#c7d5df;margin:.8rem 0 0}.footer{display:flex;justify-content:space-between;gap:2rem;align-items:start;padding:3rem clamp(1rem,5vw,5rem);color:#b9c8d3;font-size:.78rem}.footer p{max-width:580px;margin:0}.mobile-bar{display:none}.directory-hero{padding:5.5rem clamp(1rem,5vw,5rem);background:linear-gradient(114deg,#1b2838 58%,#34374a);border-bottom:1px solid #5a6570}.directory-hero h1{margin:.8rem 0}.directory-hero p{max-width:640px;color:#dfebf2;font-size:1.1rem}.catalog{padding:4rem clamp(1rem,5vw,5rem)}.catalog-head{display:flex;justify-content:space-between;align-items:end;gap:2rem}.catalog-head label{display:grid;gap:.55rem;min-width:min(100%,320px);color:#d4e3eb;font-weight:700;font-size:.85rem}input{background:#243547;border:1px solid #71899b;color:#fff;padding:.8rem 1rem;min-height:46px}input::placeholder{color:#b0c0cb}.filters{display:flex;gap:.65rem;flex-wrap:wrap;margin:2rem 0 1rem}.filters button{border:1px solid #667f91;background:#243547;color:#e6f0f5;padding:.6rem .9rem;cursor:pointer}.filters button[aria-pressed=true]{border-color:#a4d007;background:#a4d007;color:#15200d;font-weight:800}.result-count{color:#c7d5df;font-size:.85rem}.grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}.card{background:#1b2838;color:#f3f6f8;text-decoration:none;border:1px solid #3d5266;min-width:0}.card[hidden]{display:none}.card img{width:100%;aspect-ratio:3/4;object-fit:cover}.card>div{padding:1rem}.card small{color:#c7d5df}.card h2{font-size:1rem;line-height:1.4;margin:.5rem 0 1rem;min-height:2.8em}.card span{color:#66c0f4;font-size:.8rem}#empty-state{padding:3rem;background:#25374a;text-align:center}@media(max-width:1050px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:760px){.topbar nav{gap:.65rem}.topbar nav a{font-size:.75rem}.brand span{display:none}.hero{grid-template-columns:1fr;min-height:0;padding-block:3rem}.hero-art{width:min(65%,320px);margin:1rem auto 1.8rem}.quickbar{display:grid;grid-template-columns:1fr 1fr}.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:1fr;gap:2rem}.source-list{grid-template-columns:1fr}.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-head{display:block}.catalog-head label{margin-top:1.5rem}.footer{display:block;padding-bottom:6rem}.footer p{margin:1rem 0}.mobile-bar{display:flex;position:fixed;bottom:0;left:0;right:0;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 1rem;background:#101820;box-shadow:0 -3px 16px #0008;z-index:20}.mobile-bar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:700}.mobile-bar .cta{min-height:44px;padding:.5rem .8rem;white-space:nowrap}.mobile-bar .cta span{display:none}}@media(max-width:480px){h1{font-size:2.6rem}.topbar{align-items:start}.topbar nav{justify-content:end}.hero-art{width:72%}.facts{grid-template-columns:1fr}.quickbar{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.card>div{padding:.7rem}.card h2{font-size:.88rem}.catalog{padding-top:2.5rem}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
