*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:#14112a;color:#ece9ff;line-height:1.5}
a{color:#ffb199}img{display:block;max-width:100%}
.hdr{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:12px max(16px,env(safe-area-inset-left));background:rgba(20,17,42,.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid #2a2550}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:800;font-size:20px;letter-spacing:-.3px}
.hdr nav a,.ftr nav a{color:#c9c3f0;text-decoration:none;margin-left:18px;font-weight:600}.hdr nav a:hover{color:#fff}
main{max-width:1200px;margin:0 auto;padding:0 16px}
.hero{padding:44px 0 28px;text-align:center}.hero h1{font-size:clamp(34px,7vw,60px);line-height:1.05;margin:0 0 14px;letter-spacing:-1.5px}
.hero h1 span{background:linear-gradient(90deg,#ff7a59,#c084fc);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{max-width:560px;margin:0 auto 22px;color:#b9b3e0;font-size:17px}
.btn{display:inline-block;padding:14px 26px;border-radius:999px;background:linear-gradient(90deg,#ff7a59,#a855f7);color:#fff;font-weight:800;text-decoration:none;box-shadow:0 8px 24px rgba(168,85,247,.35)}
h2{font-size:22px;margin:24px 0 14px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;padding-bottom:40px}
.card{display:block;background:#1f1a3d;border-radius:18px;overflow:hidden;text-decoration:none;color:inherit;border:1px solid #2d2759;transition:transform .15s,box-shadow .15s}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.4)}
.thumb{position:relative;aspect-ratio:16/9;background:#2a2550}.thumb img{width:100%;height:100%;object-fit:cover}
.tag{position:absolute;top:10px;left:10px;background:rgba(0,0,0,.55);color:#fff;font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px}
.meta{padding:12px 14px 16px}.meta h3{margin:0 0 4px;font-size:18px}.meta p{margin:0;color:#b0aad6;font-size:14px}
@media(max-width:600px){.grid{grid-template-columns:1fr 1fr;gap:12px}.meta p{display:none}.meta h3{font-size:15px}.meta{padding:9px 11px 12px}.hero{padding:28px 0 16px}}
.ftr{border-top:1px solid #2a2550;padding:24px 16px calc(24px + env(safe-area-inset-bottom));display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;color:#8d87b8;font-size:14px;max-width:1200px;margin:0 auto}
.ftr nav a{margin:0 16px 0 0}
.doc{max-width:720px;padding-bottom:40px}.doc h1{margin-top:32px}
.stage{position:relative;height:100vh;height:100dvh;display:flex;flex-direction:column;background:#000}
.bar{display:flex;align-items:center;gap:10px;padding:6px 10px;padding-top:max(6px,env(safe-area-inset-top));background:#14112a;border-bottom:1px solid #2a2550}
.bar h1{flex:1;font-size:16px;margin:0;text-align:center}
.back,.fs{color:#fff;text-decoration:none;font-weight:700;background:#2a2550;border:0;border-radius:999px;padding:8px 14px;font-size:15px;min-width:44px;min-height:40px;cursor:pointer}
#game{flex:1;width:100%;border:0;display:block;background:#000}
.stage:fullscreen .bar,.stage:-webkit-full-screen .bar{display:none}
.below .row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,260px);gap:14px;overflow-x:auto;padding-bottom:30px;scroll-snap-type:x mandatory}.row .card{scroll-snap-align:start}
@media(max-width:600px){.row{grid-auto-columns:62%}.row .meta p{display:none}}
