:root{--ink:#f4f5f8;--muted:#a4a9b8;--line:#ffffff1a;--surface:#111521d1;--accent:#7b83ff;--accent-light:#a8adff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;color:var(--ink);background:radial-gradient(circle at 78% 20%,#5346ab40,#0000 30%),radial-gradient(circle at 10% 85%,#972f3e1f,#0000 25%),#080a11;margin:0;font-family:Yu Gothic UI,Hiragino Sans,Noto Sans JP,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--accent-light);outline-offset:3px}.site-header{z-index:10;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;width:min(1180px,100% - 40px);min-height:82px;margin:0 auto;display:flex;position:relative}.brand{letter-spacing:-.02em;align-items:center;gap:12px;font-size:17px;font-weight:800;display:inline-flex}.brand-mark{width:34px;height:34px;color:var(--accent-light);background:#171b2a;border:1px solid #ffffff26;border-radius:10px;place-items:center;font:900 15px/1 ui-monospace,monospace;display:grid;box-shadow:inset 0 0 20px #7b83ff29}nav{color:#c9ccd5;align-items:center;gap:28px;font-size:13px;font-weight:700;display:flex}nav a:not(.nav-cta):hover{color:#fff}.nav-cta{color:#e8e9ff;background:#7b83ff1f;border:1px solid #a8adff47;border-radius:10px;padding:10px 16px}.hero{grid-template-columns:minmax(0,1.04fr) minmax(380px,.86fr);align-items:center;gap:clamp(40px,7vw,96px);width:min(1180px,100% - 40px);min-height:calc(100svh - 82px);margin:0 auto;padding:76px 0 84px;display:grid}.eyebrow,.section-index{color:var(--accent-light);letter-spacing:.16em;text-transform:uppercase;margin:0 0 24px;font:700 11px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace}.eyebrow{align-items:center;gap:10px;display:flex}.eyebrow span{background:var(--accent-light);width:24px;height:1px}.hero h1{letter-spacing:-.065em;max-width:700px;margin:0;font-size:clamp(48px,6.2vw,84px);line-height:1.08}.hero h1 span{color:var(--accent-light)}.lead{color:var(--muted);margin:30px 0 0;font-size:clamp(15px,1.6vw,18px);line-height:1.9}.hero-actions{align-items:center;gap:26px;margin-top:36px;display:flex}.primary-button{background:var(--accent);color:#fff;border-radius:12px;justify-content:center;align-items:center;gap:22px;min-height:52px;padding:0 22px;font-size:14px;font-weight:800;transition:transform .16s,background .16s;display:inline-flex;box-shadow:0 18px 44px #474fc947}.primary-button:hover{background:#8d94ff;transform:translateY(-2px)}.text-link{color:#d2d4dc;align-items:center;gap:10px;font-size:13px;font-weight:700;display:inline-flex}.quick-facts{gap:clamp(26px,5vw,58px);margin:50px 0 0;display:flex}.quick-facts div{gap:6px;display:grid}.quick-facts dt{color:#666c7d;letter-spacing:.18em;font:700 9px/1 ui-monospace,monospace}.quick-facts dd{margin:0;font-size:15px;font-weight:800}.ranking-card{background:linear-gradient(145deg,#191d2df0,#0c0f18f5);border:1px solid #ffffff1f;border-radius:22px;padding:28px;position:relative;overflow:hidden;box-shadow:0 30px 100px #0000006b}.ranking-card:before{border-radius:inherit;content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 1px #ffffff0a}.card-glow{filter:blur(65px);background:#7b83ff33;border-radius:50%;width:260px;height:260px;position:absolute;top:-120px;right:-90px}.ranking-heading,.ranking-row,.ranking-rule{position:relative}.ranking-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.ranking-heading p{color:#777e92;letter-spacing:.17em;margin:0 0 8px;font:700 9px/1 ui-monospace,monospace}.ranking-heading h2{letter-spacing:-.04em;margin:0;font-size:22px}.preview-badge{color:#8e94a5;border:1px solid #ffffff1a;border-radius:6px;padding:6px 8px;font-size:9px;font-weight:700}.ranking-list{gap:10px;margin-top:26px;display:grid}.ranking-row{background:#ffffff09;border:1px solid #ffffff12;border-radius:12px;grid-template-columns:34px 38px minmax(0,1fr) auto 44px;align-items:center;gap:10px;min-height:64px;padding:0 14px;display:grid}.rank-1{background:linear-gradient(90deg,#ffd67214,#ffffff09);border-color:#ffd67247}.rank-number{color:#6f7688;font:700 11px/1 ui-monospace,monospace}.rank-1 .rank-number{color:#ffd672}.avatar{color:#cdd0ff;background:#282e44;border-radius:9px;place-items:center;width:34px;height:34px;font-size:12px;font-weight:900;display:grid}.player-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800;overflow:hidden}.record{color:#777e90;font:600 10px/1 ui-monospace,monospace}.ranking-row strong{text-align:right;font:800 13px/1 ui-monospace,monospace}.ranking-rule{border-left:2px solid var(--accent);background:#7b83ff0e;margin-top:20px;padding:15px 16px}.ranking-rule span{color:#cdd0ff;font-size:11px;font-weight:800}.ranking-rule p{color:#777e90;margin:5px 0 0;font-size:10px;line-height:1.6}.ranking-intro,.how-to{border-top:1px solid var(--line);grid-template-columns:minmax(160px,.35fr) 1fr;gap:40px;width:min(1180px,100% - 40px);margin:0 auto;padding:100px 0;display:grid}.ranking-intro h2{letter-spacing:-.055em;max-width:760px;margin:0;font-size:clamp(32px,4.5vw,60px);line-height:1.15}.ranking-intro div p{max-width:690px;color:var(--muted);margin:24px 0 0;line-height:1.9}.ranking-stage{grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);align-items:start;gap:18px;width:min(1180px,100% - 40px);margin:0 auto 120px;display:grid}.board-shell,.fairness-panel{border:1px solid var(--line);background:linear-gradient(145deg,#161a28ed,#0c0f18f2);border-radius:20px}.board-shell{padding:clamp(22px,4vw,38px);overflow:hidden;box-shadow:0 30px 90px #00000047}.board-toolbar{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.board-kicker{color:#70778b;letter-spacing:.16em;margin:0 0 9px;font:700 9px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.board-toolbar h3,.fairness-panel h3,.feature-grid h3,.roles-heading h2,.role-list h3,.final-cta h2{letter-spacing:-.04em;margin:0}.board-toolbar h3{font-size:clamp(20px,3vw,28px)}.mode-switch{border:1px solid var(--line);background:#0000002e;border-radius:11px;flex-shrink:0;padding:4px;display:inline-flex}.mode-switch button{color:#767d8f;cursor:pointer;background:0 0;border:0;border-radius:8px;min-width:72px;padding:8px 12px;font-size:11px;font-weight:800;transition:color .15s,background .15s}.mode-switch button[aria-pressed=true]{color:#eff0ff;background:#7b83ff2b;box-shadow:inset 0 0 0 1px #a8adff29}.board-columns{color:#62697a;letter-spacing:.1em;grid-template-columns:minmax(0,1fr) 100px 58px;margin-top:30px;padding:0 18px 10px;font:700 9px/1 ui-monospace,SFMono-Regular,Consolas,monospace;display:grid}.board-columns span:nth-child(n+2){text-align:right}.full-ranking-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.full-ranking-list li{background:#ffffff06;border:1px solid #fff1;border-radius:13px;grid-template-columns:30px 40px minmax(0,1fr) 100px 58px;align-items:center;gap:12px;min-height:70px;padding:0 18px;display:grid}.full-ranking-list li:first-child{background:linear-gradient(90deg,#ffd67211,#ffffff05);border-color:#ffd6723d}.full-ranking-list .empty-ranking{text-align:center;color:#777e90;grid-template-columns:1fr;align-content:center;place-items:center;gap:9px;min-height:150px;font-size:12px;display:grid}.empty-ranking strong{color:#dfe2eb;font-size:14px}.empty-ranking span{max-width:390px;line-height:1.7}.place{color:#737a8e;font:800 12px/1 ui-monospace,monospace}.place-1{color:#ffd672}.place-2{color:#c8cedb}.place-3{color:#d9a985}.list-avatar{color:#d7d9ff;background:#292f46;border-radius:10px;place-items:center;width:36px;height:36px;font-size:12px;font-weight:900;display:grid}.list-player{gap:5px;min-width:0;display:grid}.list-player strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.list-player small{color:#646b7d;letter-spacing:.11em;font:700 8px/1 ui-monospace,monospace}.list-record{color:#848b9b;text-align:right;font:600 11px/1 ui-monospace,monospace}.list-rate{color:#f2f3f8;text-align:right;font:800 14px/1 ui-monospace,monospace}.sample-note{color:#747b8c;margin:20px 0 0;font-size:10px;line-height:1.7}.fairness-panel{padding:30px 26px}.fairness-panel .section-index{margin-bottom:18px}.fairness-panel h3{max-width:260px;font-size:24px;line-height:1.35}.fairness-panel ul{gap:0;margin:30px 0 0;padding:0;list-style:none;display:grid}.fairness-panel li{color:#c9ccd5;border-top:1px solid #ffffff13;grid-template-columns:30px 1fr;align-items:center;min-height:48px;font-size:12px;font-weight:700;display:grid}.fairness-panel .fairness-index{color:#606778;font:700 9px/1 ui-monospace,monospace}.fairness-panel .fairness-copy{min-width:0;line-height:1.5}.fairness-panel code{color:var(--accent-light);white-space:nowrap;margin-right:.25em;font-size:10px}.fairness-note{border-left:2px solid var(--accent);color:#8f96a8;background:#7b83ff0e;margin:24px 0 0;padding:16px;font-size:11px;line-height:1.8}.features-section,.play-preview,.roles-section,.final-cta,footer{width:min(1180px,100% - 40px);margin-left:auto;margin-right:auto}.features-section{border-top:1px solid var(--line);padding:110px 0}.section-heading{grid-template-columns:minmax(160px,.35fr) 1fr;gap:40px;display:grid}.section-heading h2{letter-spacing:-.055em;margin:0;font-size:clamp(34px,4.5vw,58px);line-height:1.14}.feature-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:64px;display:grid}.feature-grid article{border:1px solid var(--line);background:#111521a8;border-radius:16px;min-height:250px;padding:26px}.feature-grid article>span{color:#686f81;font:700 10px/1 ui-monospace,monospace}.feature-grid h3{margin-top:68px;font-size:20px}.feature-grid p{color:var(--muted);margin:16px 0 0;font-size:13px;line-height:1.85}.play-preview{border-top:1px solid var(--line);padding:110px 0}.play-preview .section-heading h2{letter-spacing:-.055em;margin:0;font-size:clamp(34px,4.5vw,58px);line-height:1.14}.section-lead{max-width:660px;color:var(--muted);margin:24px 0 0;font-size:14px;line-height:1.9}.gameplay-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:58px;display:grid}.gameplay-grid figure{border:1px solid var(--line);background:#111521b8;border-radius:18px;margin:0;overflow:hidden}.shot-window{background:radial-gradient(circle at 50% 30%,#7b83ff17,#0000 65%),#0b0d14;place-items:center;min-height:280px;padding:22px;display:grid}.shot-window img{object-fit:contain;border-radius:9px;width:100%;max-height:235px;display:block;box-shadow:0 18px 45px #0000006b}.gameplay-grid figcaption{border-top:1px solid var(--line);grid-template-columns:30px 1fr;align-items:center;gap:12px;min-height:76px;padding:18px 20px;display:grid}.gameplay-grid figcaption span{color:#656c7e;font:700 10px/1 ui-monospace,monospace}.gameplay-grid figcaption strong{font-size:13px;line-height:1.6}.roles-section{background:linear-gradient(135deg,#7b83ff1a,#111521c2);border:1px solid #7b83ff33;border-radius:24px;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:70px;padding:72px;display:grid}.roles-heading h2{max-width:390px;font-size:clamp(30px,4vw,48px);line-height:1.2}.role-list{grid-template-columns:repeat(2,1fr);column-gap:28px;display:grid}.role-list article{border-bottom:1px solid #ffffff14;align-items:center;gap:16px;min-height:82px;display:flex}.role-list article>span{background:#ffffff0e;border-radius:10px;place-items:center;width:38px;height:38px;font-size:19px;display:grid}.role-list h3{font-size:14px}.role-list p{color:#7f8698;margin:6px 0 0;font-size:10px}.final-cta{border:1px solid var(--line);text-align:center;background:radial-gradient(circle at 50% 0,#7b83ff2e,#0000 58%),#0d1019cc;border-radius:24px;align-content:center;place-items:center;min-height:420px;margin-top:24px;padding:72px;display:grid}.final-cta .eyebrow{justify-content:center;margin-bottom:20px}.final-cta h2{font-size:clamp(38px,6vw,70px)}.final-cta>p:not(.eyebrow){color:var(--muted);margin:20px 0 30px;font-size:14px}footer{color:#777e90;align-items:center;gap:28px;min-height:120px;font-size:11px;display:flex}footer p{margin-right:auto}footer>a:last-child{color:#b9becb;font-weight:700}.how-to ol{grid-template-columns:repeat(3,1fr);gap:12px;margin:0;padding:0;list-style:none;display:grid}.how-to li{border:1px solid var(--line);background:var(--surface);border-radius:14px;align-content:space-between;min-height:130px;padding:20px;font-size:14px;font-weight:800;display:grid}.how-to li span{color:#656b7a;font:700 10px/1 ui-monospace,monospace}.how-to code{color:var(--accent-light)}@media (width<=820px){nav>a:not(.nav-cta){display:none}.hero{grid-template-columns:1fr;min-height:auto;padding-top:60px}.hero-copy{max-width:680px}.ranking-card{max-width:600px}.ranking-intro,.how-to{grid-template-columns:1fr;gap:18px;padding:72px 0}.ranking-stage{grid-template-columns:1fr;margin-bottom:90px}.section-heading{grid-template-columns:1fr;gap:16px}.feature-grid{grid-template-columns:1fr}.feature-grid article{min-height:190px}.feature-grid h3{margin-top:42px}.gameplay-grid{grid-template-columns:1fr}.shot-window{min-height:250px}.roles-section{grid-template-columns:1fr;gap:40px;padding:48px 36px}}@media (width<=560px){.site-header,.hero,.ranking-intro,.ranking-stage,.features-section,.play-preview,.roles-section,.how-to,.final-cta,footer{width:min(100% - 28px,1180px)}.site-header{min-height:70px}.brand{font-size:15px}.nav-cta{padding:9px 12px}.hero{gap:48px;padding:48px 0 64px}.hero h1{font-size:clamp(43px,13.2vw,62px)}.lead br{display:none}.hero-actions{flex-direction:column;align-items:flex-start}.quick-facts{justify-content:space-between;gap:14px}.ranking-card{border-radius:18px;padding:20px 14px}.ranking-row{grid-template-columns:26px 34px minmax(0,1fr) 40px;gap:8px;padding:0 10px}.record{display:none}.board-toolbar{flex-direction:column;align-items:stretch}.mode-switch{align-self:flex-start}.board-columns{grid-template-columns:minmax(0,1fr) 50px}.board-columns span:nth-child(2){display:none}.full-ranking-list li{grid-template-columns:22px 34px minmax(0,1fr) 46px;gap:8px;padding:0 12px}.list-avatar{width:32px;height:32px}.list-record{display:none}.fairness-panel{padding:26px 22px}.features-section,.play-preview{padding:76px 0}.feature-grid,.gameplay-grid{margin-top:42px}.shot-window{min-height:220px;padding:16px}.roles-section{border-radius:18px;padding:34px 22px}.role-list,.how-to ol{grid-template-columns:1fr}.how-to li{min-height:96px}.final-cta{min-height:360px;padding:44px 22px}footer{flex-direction:column;align-items:flex-start;gap:15px;padding:30px 0}footer p{margin:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.primary-button{transition:none}}
