:root{--ink:#fff9e6;--muted:#c9b8ff;--gold:#f6c453;--card:#1a1438;--night:#05040c;--ok:#7dffa3;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--night);color:var(--ink);padding:16px 16px 48px}
h1{font-size:1.45rem;margin:0 0 6px;color:var(--gold)}h2{font-size:1.15rem;margin:28px 0 10px;color:var(--gold)}
.sub{color:var(--muted);font-size:14px;margin:0 0 18px;max-width:920px}
.grid{display:grid;gap:16px;max-width:920px;margin:0 auto}
.card{background:var(--card);border-radius:14px;padding:14px;border:1px solid #3a2a60}
.card.keep{border-color:#2a6a48}
.badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.04em;padding:3px 8px;border-radius:999px;margin-bottom:8px}
.badge.keep{background:#1e4a34;color:var(--ok)}
.card h3{margin:0 0 6px;font-size:1.05rem}
video{width:100%;border-radius:10px;background:#000;aspect-ratio:16/9}
.desc{font-size:14px;margin:8px 0 0;line-height:1.4}
.meta{font-size:12px;color:#a898d8;margin-top:8px}
.wrap{max-width:920px;margin:0 auto}
.intro{text-align:center}.intro .sub{margin-left:auto;margin-right:auto;max-width:640px}
.sp-top{margin:0 0 14px}
.sp-bottom{margin:28px 0 0;text-align:center}
.sp-back{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:4px 14px 4px 8px;border-radius:999px;background:#fff;color:#1b2550;
  font-weight:900;text-decoration:none;box-shadow:0 3px 0 rgba(0,0,0,.25)}
.sp-back:hover{background:#fff3c4}
.sp-back .train{width:34px;height:24px;flex:0 0 auto}
