:root{--night: #0b1030;--night-2: #141a44;--dusk: #2a2a63;--ember: #ff5e3a;--flame: #ff7a45;--sunrise: #ff9e2c;--gold: #ffc94b;--dawn-pink: #ff6f91;--text: #f4f6ff;--text-dim: #aeb6d8;--line: rgba(255, 255, 255, .1);--grad-sunrise: linear-gradient(180deg, #0b1030 0%, #1b1c4d 38%, #5b2a63 64%, #c4452f 84%, #ff9e2c 100%);--grad-cta: linear-gradient(100deg, var(--ember), var(--sunrise) 60%, var(--gold));--grad-accent: linear-gradient(90deg, var(--ember), var(--gold));--radius: 16px;--radius-lg: 24px;--shadow: 0 12px 40px rgba(0, 0, 0, .35);--shadow-glow: 0 10px 40px rgba(255, 122, 69, .35);--maxw: 1080px;--ease: cubic-bezier(.22, 1, .36, 1);font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:var(--night);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:clip}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3{line-height:1.25;margin:0 0 .5em;letter-spacing:.01em}.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:20px}.section{padding-block:clamp(48px,9vw,96px)}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}.eyebrow:before{content:"";width:26px;height:2px;background:var(--grad-accent);border-radius:2px}.section-title{font-size:clamp(1.6rem,5vw,2.4rem);font-weight:800}.gradient-text{background:var(--grad-cta);-webkit-background-clip:text;background-clip:text;color:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 26px;border-radius:999px;font-weight:700;font-size:1rem;border:none;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s;will-change:transform}.btn-primary{background:var(--grad-cta);color:#2a1200;box-shadow:var(--shadow-glow)}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 16px 50px #ff7a4580}.btn-ghost{background:#ffffff0f;color:var(--text);border:1px solid var(--line)}.btn-ghost:hover{transform:translateY(-3px);border-color:var(--gold)}.card{background:linear-gradient(180deg,var(--night-2),rgba(20,26,68,.7));border:1px solid var(--line);border-radius:var(--radius);padding:22px;transition:transform .3s var(--ease),border-color .3s,box-shadow .3s}.card:hover{transform:translateY(-6px);border-color:#ff9e2c80;box-shadow:var(--shadow)}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;font-size:.85rem;font-weight:600;background:#ff9e2c1f;border:1px solid rgba(255,158,44,.3);color:var(--gold)}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.in{opacity:1;transform:none}.reveal[data-delay="1"]{transition-delay:.08s}.reveal[data-delay="2"]{transition-delay:.16s}.reveal[data-delay="3"]{transition-delay:.24s}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}html{scroll-behavior:auto}}.table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--line)}table.rank{width:100%;border-collapse:collapse;min-width:320px}table.rank th,table.rank td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line)}table.rank thead th{background:#ffffff0a;font-size:.85rem;color:var(--text-dim);letter-spacing:.05em}table.rank tbody tr{transition:background .2s}table.rank tbody tr:hover{background:#ff9e2c0f}.rank-num{font-weight:800;font-size:1.1rem;width:56px}.rank-1{color:var(--gold)}.rank-2{color:#d8defb}.rank-3{color:var(--flame)}.field{display:block;margin-bottom:16px}.field>label{display:block;font-size:.85rem;font-weight:700;margin-bottom:6px;color:var(--text-dim)}.input,.textarea,.select{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#00000040;color:var(--text);font:inherit}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--gold)}.textarea{min-height:120px;resize:vertical}.grid{display:grid;gap:18px}.muted{color:var(--text-dim)}.center{text-align:center}.flex{display:flex;gap:12px;align-items:center}.wrap{flex-wrap:wrap}
