:root{color-scheme:dark;--bg:#070c1a;--surface:#111d32;--line:#3d536e;--text:#e7f3ff;--dim:#b1c3d8;--glow:#88fff0;--gold:#f2d49f}
*{box-sizing:border-box}body{margin:0;font:16px/1.65 system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--text);background:radial-gradient(ellipse 72% 42% at 55% -9%,#31456c,transparent 90%),var(--bg)}
a{color:var(--glow);outline-offset:4px}a:focus-visible{outline:3px solid var(--gold)}
header{max-width:1150px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.35rem 1rem;border-bottom:1px solid var(--line)}
.brand{color:white;font-size:1.3rem;font-weight:900;letter-spacing:.05em;text-decoration:none}.brand span{color:var(--glow)}
nav{display:flex;gap:1rem;flex-wrap:wrap}nav a{text-decoration:none;font-weight:700}
main{max-width:1120px;margin:0 auto;padding:3.5rem 1.1rem 4rem}
.eyebrow{font-size:.76rem;letter-spacing:.17em;color:var(--glow);font-weight:900}
h1{font-size:clamp(2.3rem,6vw,4.5rem);line-height:1.08;letter-spacing:-.045em;margin:.8rem 0 1.25rem;max-width:850px}
.lead{color:var(--dim);font-size:1.15rem;max-width:760px}
.topics{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:1rem;margin:2rem 0 3rem}
.topic{background:linear-gradient(150deg,#1a2b48,#101927);border:1px solid var(--line);border-radius:14px;padding:1.35rem;text-decoration:none;font-size:1.15rem;font-weight:900;color:#e7f6ff;min-height:120px}
.topic:hover,.visit:hover{border-color:var(--glow);background:#1b3450}
.topic span{display:block;color:var(--glow);font-size:.77rem;margin-top:.7rem;font-weight:700}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1rem;margin:1.5rem 0 3rem}
.card{display:flex;gap:1rem;background:linear-gradient(150deg,#1a2942,#111b2c);border:1px solid var(--line);border-radius:14px;padding:1.4rem;min-width:0}
.card .spade{font-size:2.2rem;color:var(--glow)}
.card h2{font-size:1.25rem;line-height:1.3;margin:.25rem 0;overflow-wrap:anywhere}
.card p{color:var(--dim);font-size:.9rem}
.handle{color:var(--glow)!important;font-weight:800}
.category{color:var(--gold)!important;font-size:.78rem!important;text-transform:uppercase;letter-spacing:.08em}
.visit{display:inline-block;border:1px solid #6389a6;border-radius:8px;padding:.7rem 1rem;text-decoration:none;font-size:.82rem;font-weight:900}
.count{color:var(--glow);font-weight:800}
.notice{background:#111a2b;border:1px solid var(--line);border-radius:14px;padding:1.5rem;margin-top:3rem}
.notice h2{margin:.1rem 0 .7rem}.notice p{color:var(--dim)}
.empty{border:1px solid var(--line);border-radius:12px;padding:1rem;color:var(--dim)}
footer{text-align:center;border-top:1px solid var(--line);color:var(--dim);font-size:.8rem;padding:1.8rem}
@media(max-width:600px){main{padding:2rem 1rem}.cards{grid-template-columns:1fr}header{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
