:root{--bg:#07050a;--line:#2c1f4a;--tx:#f3eefc;--mute:#9d92b8;--vi:#8b5cf6;--ma:#ff3d8b;--go:#ffc94d;--ok:#35d49a}
*{box-sizing:border-box;margin:0}
html{color-scheme:dark}
body{font:16px/1.55 "Chakra Petch",system-ui,sans-serif;color:var(--tx);min-height:100vh;background:radial-gradient(900px 500px at 85% -10%,#3b1d7a66,transparent),radial-gradient(700px 400px at -10% 30%,#ff3d8b22,transparent),var(--bg);padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}
a{color:inherit;text-decoration:none}
.wrap{max-width:1040px;margin:0 auto;padding:0 18px 48px}
nav{display:flex;align-items:center;gap:6px;padding:16px 0;flex-wrap:wrap}
nav .logo{font-weight:700;font-size:20px;color:var(--go);margin-right:auto}
nav a.l{color:var(--mute);padding:6px 10px;border-radius:10px}
nav a.l.on,nav a.l:hover{color:var(--tx);background:#ffffff12}
h1{font-size:clamp(28px,6vw,44px);line-height:1.1;font-weight:700}
h2{font-size:20px;margin-bottom:12px}
.m{color:var(--mute)}
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;cursor:pointer;font:inherit;font-weight:600;color:#fff;padding:12px 20px;border-radius:12px;background:linear-gradient(135deg,var(--vi),var(--ma));box-shadow:0 8px 24px #8b5cf655}
.btn:hover{filter:brightness(1.12)}
.btn.s{padding:7px 14px;font-size:14px;box-shadow:none}
.btn.d{background:#ff4d6d33}
.card{background:linear-gradient(180deg,#1b1230,#120b20);border:1px solid var(--line);border-radius:16px;padding:20px}
.grid{display:grid;gap:18px}
.hero{grid-template-columns:1.1fr .9fr;align-items:center;padding:12px 0 28px}
.two{grid-template-columns:1.1fr .9fr;align-items:start}
@media(max-width:760px){.hero,.two{grid-template-columns:1fr}}
.stage{perspective:900px;display:grid;place-items:center;padding:10px}
.tilt{position:relative;width:min(320px,80vw);aspect-ratio:3/4;border-radius:22px;transform-style:preserve-3d;transition:transform .15s;border:1px solid #ffffff30;background:#1b1230 center/cover;box-shadow:0 30px 60px #000a,0 0 70px #8b5cf666}
.tilt::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(115deg,transparent 30%,#ffffff2a 48%,transparent 66%);mix-blend-mode:overlay;pointer-events:none}
.tilt .tag{position:absolute;left:14px;bottom:14px;transform:translateZ(50px);background:#07050acc;border:1px solid var(--go);color:var(--go);padding:4px 12px;border-radius:99px;font-weight:600;font-size:14px}
label{display:block;font-size:14px;color:var(--mute);margin:12px 0 5px}
input,select{width:100%;font:inherit;color:var(--tx);background:#0b0716;border:1px solid var(--line);border-radius:10px;padding:11px 12px}
:focus-visible{outline:2px solid var(--go);outline-offset:2px}
.tabs{display:flex;gap:8px;margin-bottom:6px}
.tab{flex:1;font:inherit;color:var(--mute);background:#ffffff0d;border:1px solid var(--line);border-radius:10px;padding:10px;cursor:pointer}
.tab.on{color:#fff;border-color:var(--vi);background:#8b5cf633}
.pane{display:none}.pane.on{display:block}
table{width:100%;border-collapse:collapse;font-size:14px}
th{color:var(--mute);font-weight:500;text-align:left}
th,td{padding:10px 8px;border-bottom:1px solid var(--line)}
.wide{overflow-x:auto}
.bd{padding:2px 10px;border-radius:99px;font-size:13px;background:#ffc94d22;color:var(--go)}
.bd.ok{background:#35d49a22;color:var(--ok)}
.bd.no{background:#ff4d6d22;color:#ff7a93}
.stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.stat b{display:block;font-size:26px;color:var(--go)}
.pod{grid-template-columns:repeat(3,1fr);align-items:end}
.pod .card{text-align:center;padding:16px 8px;overflow-wrap:anywhere}
.p1{order:2;padding-bottom:44px!important;border-color:var(--go)!important}.p2{order:1}.p3{order:3}
.medal{font-size:34px}
.rank{display:flex;justify-content:space-between;padding:12px 4px;border-bottom:1px solid var(--line)}
#toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,30px);opacity:0;background:#1d1236;border:1px solid var(--vi);padding:12px 18px;border-radius:12px;transition:.25s;pointer-events:none;max-width:90vw;z-index:9}
#toast.on{opacity:1;transform:translate(-50%,0)}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
