@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#100d16;--surface:#1c1724;--line:#3b3047;--pink:#f5b0d7;--ink:#fbf5ff;--muted:#baacc5;--mint:#c8efb1;font:15px 'DM Sans',sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 75% 0,#3a204b55,transparent 45%),var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}button,a,input,select{touch-action:manipulation}button,select{font:inherit}button,.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:1px solid var(--line);background:#282033;color:var(--ink);padding:11px 16px;border-radius:10px;font-weight:600;cursor:pointer}button:hover:not(:disabled),.button:hover{border-color:var(--pink)}button:disabled{opacity:.45;cursor:default}.primary{background:var(--pink);border-color:var(--pink);color:#28142b}.danger{color:#ffb2bc;border-color:#884f65}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--mint);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Space Grotesk',sans-serif}h1{font-size:clamp(38px,5vw,64px);letter-spacing:-3px;margin-bottom:10px}h1 em{font-style:normal;color:var(--pink)}h2{font-size:25px;letter-spacing:-.7px;margin-bottom:12px}h3{font-size:18px;margin-bottom:10px}p{line-height:1.65;color:var(--muted)}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:2.3px;font-weight:700;color:var(--pink)}.top{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1480px;margin:auto;padding:24px 38px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font:700 21px 'Space Grotesk',sans-serif;letter-spacing:-.7px}.brand img{width:38px;height:38px}.brand span span{color:var(--pink)}nav{display:flex;align-items:center;gap:20px;font-size:12px}nav button{padding:8px 11px;font-size:11px}main{max-width:1360px;margin:0 auto;padding:42px 38px 60px}.page-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.page-title p:last-child{margin-bottom:0}.identity{display:flex;align-items:center;gap:10px;max-width:240px;font-size:12px}.identity img{width:32px;height:32px;border-radius:50%}.identity span{overflow-wrap:anywhere}#message:empty{display:none}#message:not(:empty){border:1px solid #85617b;background:#322234;padding:12px 18px;border-radius:10px;color:#ffe0ec}.layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px}.panel{background:var(--surface);border:1px solid var(--line);padding:24px;border-radius:18px}.eyebrow .dot{color:var(--mint)}.section-head,.actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.actions{justify-content:flex-start}.muted,small{color:var(--muted)}.chip{border:1px solid var(--line);border-radius:30px;padding:6px 11px;font-size:11px;white-space:nowrap}.chip.good{color:var(--mint);border-color:#596f50}.stage{--light:#d7a3fc;position:relative;min-height:440px;border:1px solid #61446f;border-radius:20px;overflow:hidden;background:radial-gradient(ellipse at 50% 10%,#69408075,transparent 65%),linear-gradient(160deg,#261933,#100e1a);isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;padding:24px}.stage::after{content:'';position:absolute;z-index:-1;left:-25%;right:-25%;height:40%;bottom:-18%;background:repeating-linear-gradient(90deg,#c39cda20 0 1px,transparent 1px 70px),repeating-linear-gradient(0deg,#c39cda20 0 1px,transparent 1px 50px);transform:perspective(250px) rotateX(50deg)}.stage[data-scene="dancebreak"]{--light:#8ee4f6;background:radial-gradient(ellipse at 20% 0,#27477c90,transparent 70%),linear-gradient(130deg,#292150,#491e42)}.stage[data-scene="ballad"]{--light:#ffb9d7;background:radial-gradient(ellipse at 50% 0,#80446980,transparent 65%),#231322}.stage[data-scene="fanmeeting"]{--light:#e9d58d;background:radial-gradient(ellipse at 50% 0,#75623370,transparent 70%),#29231d}.stage[data-scene="encore"]{--light:#b1edcc;background:radial-gradient(ellipse at 50% 0,#39695480,transparent 70%),#172728}.stage[data-scene="special"]{--light:#bdadff;background:radial-gradient(ellipse at 50% 0,#594a9890,transparent 70%),#231b40}.beam{position:absolute;z-index:-1;width:40%;height:110%;left:10%;top:-30%;background:linear-gradient(var(--light),transparent 75%);opacity:.08;clip-path:polygon(48% 0,52% 0,100% 100%,0 100%);transform:rotate(20deg);animation:sway 10s ease-in-out infinite alternate}.beam.second{left:52%;animation-direction:alternate-reverse;animation-delay:-3s}.particles{position:absolute;inset:0;pointer-events:none;z-index:-1;overflow:hidden}.particles span{position:absolute;left:var(--x);top:var(--y);font-size:25px;color:var(--light);opacity:.3;animation:float 6s ease-in-out infinite alternate;animation-delay:var(--delay)}.stage-top{display:flex;justify-content:space-between;gap:12px;align-items:start}.stage-title{margin:6px 0;font-size:21px}.timer{font:600 16px 'Space Grotesk',sans-serif;color:var(--mint)}.timer.urgent{color:#ffc097}.stage-caption{text-align:center;font-size:12px;margin:0;color:#dfcfe8}.duel{display:grid;grid-template-columns:1fr 60px 1fr;gap:10px;align-items:center;max-width:600px;width:100%;margin:20px auto}.performer{text-align:center;min-width:0}.performer>strong{display:block;margin:12px 0 4px;font-size:13px}.performer>.card-art{width:148px;height:198px;margin:auto;transform:rotate(-5deg);box-shadow:0 15px 35px #0006}.performer:last-child>.card-art{transform:rotate(5deg)}.card-art{position:relative;display:grid;place-items:center;border-radius:13px;overflow:hidden;border:1px solid #b88cbd;background:linear-gradient(150deg,#52385f,#251d35)}.card-art img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.card-art>.fallback{font:500 42px 'Space Grotesk',sans-serif;color:#e5c4f3}.card-art.npc{background:radial-gradient(circle at 70% 25%,#e2aedb50,transparent 45%),linear-gradient(150deg,#584183,#261f3a)}.card-art.npc:after{content:'STAGE CREW';position:absolute;bottom:15px;font-size:9px;letter-spacing:3px;color:#d9c2ef}.card-art .npc-mark{font-size:66px;color:#e4c0f1}.versus{text-align:center;font:700 25px 'Space Grotesk',sans-serif;color:var(--pink)}.score{font:600 35px 'Space Grotesk',sans-serif;line-height:1.1}.score small{font-size:12px;display:block;margin-top:5px}.round-score{display:flex;justify-content:center;gap:16px;align-items:center}.round-score b{font:600 22px 'Space Grotesk',sans-serif}.reveal .performer{animation:arrive .65s ease-out both}.reveal .performer:last-child{animation-delay:.12s}.round-track{display:flex;justify-content:center;gap:7px;margin:18px 0 0}.round-track span{width:32px;height:5px;background:#65566c;border-radius:5px}.round-track .win{background:var(--mint)}.round-track .loss{background:#ec94bb}.round-track .draw{background:#ddcf8f}.round-track .current{background:#fff}.side-note{font-size:12px;margin:16px 0 0}.difficulty{display:grid;gap:10px;margin:22px 0}.difficulty button{padding:15px;display:block;text-align:left;background:#231c2d}.difficulty button[aria-pressed="true"]{border-color:var(--pink);background:#432c45;box-shadow:inset 3px 0 var(--pink)}.difficulty strong,.difficulty small{display:block}.difficulty small{font-size:11px;margin-top:5px;line-height:1.5}.wide{width:100%}.lobby-mark{font:500 clamp(38px,7vw,84px) 'Space Grotesk',sans-serif;letter-spacing:-5px;text-align:center;margin:0;color:#fff}.lobby-mark em{color:var(--pink);font-style:normal}.stage-intro{padding:35px 0;text-align:center}.stage-intro p{max-width:390px;margin:16px auto;color:#e0d0e9}.stage-intro .mini-logo{height:90px;width:90px;object-fit:contain;margin-bottom:15px}.team-panel{margin-top:22px}.card-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:20px 0}.pick{display:block;text-align:left;position:relative;padding:9px;background:#241c2e;min-width:0}.pick .card-art{aspect-ratio:3/4;width:100%;border-radius:8px}.pick strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:10px 0 5px}.pick small{font-size:10px;line-height:1.5;display:block}.pick[aria-pressed="true"]{border-color:var(--pink);background:#452d47}.pick[aria-pressed="true"]::after{content:'✓';position:absolute;top:15px;right:15px;width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:var(--pink);color:#26142a}.pick.used{opacity:.35}.mini-stats{display:flex;gap:7px;margin-top:9px;font:10px monospace;color:#d7c7de}.selection{display:flex;gap:8px;flex-wrap:wrap;min-height:35px;margin:14px 0}.selection button{font-size:11px;padding:7px 10px}.pager{display:flex;justify-content:center;align-items:center;gap:15px;margin-top:16px;font-size:12px}.moves{display:grid;gap:9px;margin:20px 0}.moves button{display:block;text-align:left;font-size:13px;padding:12px}.moves button small{display:block;font-size:10px;margin-top:5px;line-height:1.45}.moves button[aria-pressed="true"]{border-color:var(--pink);background:#432c45}.turn-hint{font-size:12px;margin-bottom:12px}.result-box{margin-top:22px;border-color:#675c45}.reward-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.reward-row div{background:#29202f;padding:15px;border-radius:10px}.reward-row b{font:600 27px 'Space Grotesk',sans-serif;display:block;color:var(--mint)}.reward-row small{font-size:11px}.round-log{margin-top:22px}.round-log article{display:grid;grid-template-columns:100px 1fr auto;gap:18px;padding:16px 0;border-bottom:1px solid var(--line);font-size:12px}.round-log article:last-child{border:0}.round-log p{margin:4px 0 0;font-size:11px}.rules{margin-top:26px;border-top:1px solid var(--line);padding-top:22px}.rules summary{cursor:pointer;font-weight:600;color:var(--muted)}.rules p{max-width:900px;font-size:13px;margin:15px 0}footer{max-width:1360px;margin:auto;padding:24px 38px 40px;font-size:10px;letter-spacing:2px;color:var(--muted);display:flex;align-items:center;gap:12px}.skip{position:absolute;left:-9999px}.skip:focus{left:15px;top:15px;background:var(--pink);color:#211124;padding:14px;z-index:20}.loading{text-align:center;padding:80px 0}dialog{max-width:440px;width:calc(100% - 32px);background:var(--surface);border:1px solid #8d628a;border-radius:18px;color:var(--ink);padding:28px}dialog::backdrop{background:#080610cc}body.no-effects .beam,body.no-effects .particles span,body.no-effects .reveal .performer{animation:none}body.no-effects .particles{display:none}@keyframes sway{to{transform:rotate(-20deg)}}@keyframes float{to{transform:translateY(-22px) rotate(14deg);opacity:.12}}@keyframes arrive{from{transform:translateY(18px);opacity:.2}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important}.particles{display:none}}@media(max-width:1050px){.layout{grid-template-columns:minmax(0,1fr) 270px}.stage{padding:18px}.card-grid{gap:8px}.performer>.card-art{width:125px;height:172px}.duel{grid-template-columns:1fr 40px 1fr}}@media(max-width:800px){main{padding:30px 20px}.top{padding:18px 20px;flex-wrap:wrap}nav{gap:14px}.layout{grid-template-columns:1fr}.layout>aside{display:block}.difficulty{grid-template-columns:repeat(3,1fr)}.stage{min-height:390px}.moves{grid-template-columns:repeat(2,1fr)}.page-title{align-items:start}.identity{max-width:140px}.panel{padding:20px}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:480px){.top{gap:14px}nav{width:100%;justify-content:space-between;font-size:11px;gap:8px}nav button{font-size:10px;padding:8px}.page-title{display:block}.identity{margin-top:18px;max-width:100%}h1{letter-spacing:-2px}.stage{min-height:370px;padding:16px}.stage-title{font-size:18px}.performer>.card-art{width:110px;height:150px}.duel{gap:4px;grid-template-columns:1fr 35px 1fr}.score{font-size:28px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.difficulty{gap:6px}.difficulty button{padding:12px 8px;font-size:12px}.round-log article{grid-template-columns:65px 1fr;gap:8px}.round-log article>strong{grid-column:2}.section-head h2{font-size:22px}.chip{font-size:10px}.lobby-mark{letter-spacing:-2px}.stage-intro{padding:20px 0}.rules p{font-size:12px}}[hidden]{display:none!important}

.stage{scroll-margin-top:20px}.card-art img{object-fit:contain}.team-panel .card-art{height:155px;aspect-ratio:auto;background:#16101e}.team-panel .card-grid{margin-bottom:0}.mini-stats+.mini-stats{margin-top:5px}.moves{grid-template-columns:1fr 1fr}.moves button:last-child{grid-column:1/-1}.stage-intro .mini-logo{border-radius:20px}@media(max-width:480px){.team-panel .card-art{height:145px}.moves{scroll-margin-top:20px}}
