@font-face{font-family:"IM Fell DW Pica";src:url(assets/fonts/im-fell-dw-pica-regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Signika Negative";src:url(assets/fonts/signika-negative-regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Signika Negative";src:url(assets/fonts/signika-negative-semibold.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Signika Negative";src:url(assets/fonts/signika-negative-bold.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Minecraft Five";src:url(assets/fonts/minecraft-five-bold.woff2) format("woff2");font-weight:400 700;font-display:swap}
:root{
  --night:#202020;--night-2:#1a1a1a;--night-deep:#0c0c0c;--abyss:#0c0c0c;
  --scarlet:#e40004;--scarlet-2:#b80003;--scarlet-deep:#95303a;--washi:#f2f2f2;
  --ember:#e40004;--ember-2:#c40003;--ember-deep:#6e0002;--dawn:#ff5a5d;
  --bg:#161616;--bg-2:#0e0e0e;--panel:#2a2a2a;--panel-2:#343536;--line:#45474c;
  --ink:#f2f2f2;--ink-soft:#cacfd9;--ink-faint:#9a9ea6;
  --green:#2e7d5b;--green-d:#1d5a40;--blurple:#5865f2;--wisteria:#95303a;--red:#e40004;
  --shadow:rgba(0,0,0,.45);
  --disp:"IM Fell DW Pica",Georgia,serif;--sub:"Minecraft Five","Signika Negative",system-ui,sans-serif;--body:"Signika Negative",system-ui,sans-serif;--mono:"Space Mono",monospace;
  --chamf:polygon(0 9px,9px 0,calc(100% - 9px) 0,100% 9px,100% calc(100% - 9px),calc(100% - 9px) 100%,9px 100%,0 calc(100% - 9px));
  --chamf-sm:polygon(0 6px,6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px));
}
*{box-sizing:border-box}
html,body{margin:0}
html{scroll-behavior:smooth}
:where(section,div)[id]{scroll-margin-top:88px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--bg);background-image:radial-gradient(rgba(242,242,242,.025) 1.1px,transparent 1.2px);background-size:9px 9px;color:var(--ink);font-family:var(--body);font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 36px}
.btn{position:relative;display:inline-flex;align-items:center;gap:9px;font-family:var(--sub);font-weight:400;font-size:16px;letter-spacing:.4px;border:none;cursor:pointer;padding:14px 26px;color:#fff;border-radius:16px;transition:transform .08s}
.btn:before{content:"";position:absolute;inset:0;border-radius:16px;background:var(--shadow);transform:translateY(5px);z-index:-1}
.btn:active{transform:translateY(3px)}
.btn:active:before{transform:translateY(2px)}
.btn-ember{background:linear-gradient(180deg,var(--ember),var(--ember-2));color:#f2f2f2;text-shadow:0 1px 0 rgba(255,255,255,.4)}
.btn-ember:before{background:var(--ember-deep)}
.btn-scarlet{background:linear-gradient(180deg,#45474c,#2a2a2a);color:#f2f2f2;text-shadow:0 1px 0 rgba(0,0,0,.3)}
.btn-scarlet:before{background:#0e0e0e}
.btn-cream{background:linear-gradient(180deg,#fff,#f2f2f2);color:var(--night);text-shadow:none}
.btn-cream:before{background:#5d6065}
.btn-scarlet{background:linear-gradient(180deg,#45474c,#2a2a2a);color:#f2f2f2;text-shadow:0 1px 0 rgba(0,0,0,.3)}
.btn-scarlet:before{background:#0e0e0e}
.btn-store{height:46px;padding:0 18px;border-radius:16px;background:transparent;color:var(--scarlet);box-shadow:inset 0 0 0 2px var(--scarlet);font-size:15px;text-shadow:none;transition:.15s}
.btn-store:before{display:none}
.btn-store:hover{background:var(--scarlet);color:#f2f2f2}
.btn-store:active{transform:none}
.btn-store .ext-arrow{font-size:11px;opacity:.7}
.btn-hero-store{font-size:18px;padding:16px 28px}
.btn-discord{background:linear-gradient(180deg,#7289da,#5b6dae);color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.25)}
.btn-discord:before{background:#41497f}
header.nav{position:sticky;top:0;z-index:40;background:linear-gradient(180deg,var(--night),var(--night-2));box-shadow:0 3px 0 var(--night-deep),0 6px 14px #0006}
.nav-in{display:flex;align-items:center;gap:28px;height:72px}
.brand{display:flex;align-items:center;gap:10px}
.brand-logo{height:54px;width:auto;display:block}
nav.links{display:flex;gap:4px;margin-left:8px}
nav.links a{font-family:var(--sub);font-size:15px;color:#cacfd9;padding:8px 15px;clip-path:var(--chamf-sm);transition:.15s;letter-spacing:.3px}
nav.links a:hover{background:#ffffff1f;color:#fff}
nav.links a.active{background:var(--abyss);color:var(--scarlet)}
nav.links a .ext-arrow{font-size:11px;margin-left:4px;opacity:.7;vertical-align:1px}
.nav-cta{margin-left:auto;display:flex;align-items:center;gap:12px}
.discord-btn{width:46px;height:46px;background:#7289da;display:grid;place-items:center;border-radius:16px;position:relative;transition:transform .08s}
.discord-btn:before{content:"";position:absolute;inset:0;border-radius:16px;background:#4e5d99;transform:translateY(5px);z-index:-1}
.discord-btn:active{transform:translateY(3px)}
.discord-btn svg{width:24px;height:24px;fill:#fff}
.btn-hero-play{font-size:20px;padding:16px 36px}
.nav-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;background:#ffffff1f;border:none;cursor:pointer;border-radius:12px;padding:8px;margin-left:auto}
.nav-burger span{display:block;height:2px;background:#fff;border-radius:2px;transition:transform .22s,opacity .22s}
.nav-burger[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-burger[aria-expanded=true] span:nth-child(2){opacity:0}
.nav-burger[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-drawer{background:linear-gradient(180deg,var(--night-2),var(--night-deep));overflow:hidden;max-height:0;transition:max-height .28s ease,padding .28s ease;padding:0 20px}
.nav-drawer.open{max-height:400px;padding:12px 20px 20px}
.drawer-links{display:flex;flex-direction:column;gap:4px}
.drawer-links a{font-family:var(--sub);font-size:17px;color:#cacfd9;padding:11px 14px;border-radius:10px;transition:.15s;letter-spacing:.3px}
.drawer-links a:hover{background:#ffffff1a;color:#fff}
.drawer-links a.active{background:var(--abyss);color:var(--scarlet)}
.drawer-links .ext-arrow{font-size:12px;margin-left:4px;opacity:.7}
.btn-play{overflow:hidden;animation:playGlow 2.2s ease-in-out infinite}
.btn-play:before{display:none}
.btn-play:active{box-shadow:0 2px 0 var(--ember-deep)}
.btn-play .play-ic{display:inline-block;animation:playBob 1.1s ease-in-out infinite}
.btn-play .play-text{margin-left:.5ch;text-transform:uppercase}
.btn-play:after{content:"";position:absolute;top:0;left:-75%;width:45%;height:100%;z-index:1;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,255,255,.65),transparent);transform:skew(-20deg);animation:playShine 3s ease-in-out infinite}
@keyframes playGlow{0%,to{box-shadow:0 5px 0 var(--ember-deep)}50%{box-shadow:0 5px 0 var(--ember-deep),0 0 16px 2px #e4000499}}
@keyframes playShine{0%{left:-75%}45%,to{left:160%}}
@keyframes playBob{0%,to{transform:translate(0)}50%{transform:translate(3px)}}
@media(prefers-reduced-motion:reduce){.btn-play,.btn-play .play-ic,.btn-play:after{animation:none}}
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#161616b3,#161616cc 70%,#161616),url(assets/bg-dark.jpg);background-size:cover;background-position:center;background-repeat:no-repeat}
.hero:after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1.2px);background-size:10px 10px;pointer-events:none}
.hero-grid{position:relative;z-index:2;padding:64px 0 84px;text-align:center}
.hero-copy{max-width:720px;margin:0 auto}
.hero-copy .hero-lede{margin-left:auto;margin-right:auto}
.hero-copy .hero-actions{justify-content:center}
.eyebrow{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;font-family:var(--sub);font-size:16px;letter-spacing:1px;color:var(--washi);background:#00000059;padding:10px 16px;clip-path:var(--chamf-sm);margin-bottom:22px}
.eyebrow .pin{width:8px;height:8px;background:var(--scarlet);box-shadow:0 0 0 3px #e4000440}
h1.hero-title{font-family:var(--disp);font-weight:400;font-size:62px;line-height:1;letter-spacing:0;color:#fff;margin:0 0 18px;text-shadow:0 4px 0 rgba(0,0,0,.35)}
h1.hero-title em{font-style:normal;color:var(--ember);text-shadow:0 4px 0 var(--ember-deep)}
.hero-lede{font-size:17px;line-height:1.7;color:#f2f2f2;font-weight:500;max-width:520px;margin:0 0 26px}
.hero-actions{display:flex;gap:13px;align-items:center;flex-wrap:wrap;margin-bottom:24px}
.sign{display:inline-flex;align-items:stretch;gap:0;position:relative;border-radius:16px;background:linear-gradient(180deg,#2a2a2a,#1c1c1c);padding:4px;box-shadow:0 5px #00000073}
.sign .seg{display:flex;align-items:center;gap:10px;padding:10px 18px;background:#0000003d;border-radius:12px}
button.sign-online{border:none;cursor:pointer;transition:background .15s}
button.sign-online:hover{background:#00000066}
.sign .seg+.seg{margin-left:4px}
.sign .dot{width:10px;height:10px;flex:none;border-radius:50%;background:#4fd18b;box-shadow:0 0 0 4px #4fd18b2e;animation:pulse 2.4s infinite}
@keyframes pulse{0%,to{box-shadow:0 0 0 4px #4fd18b2e}50%{box-shadow:0 0 0 7px #4fd18b0a}}
.sign .val{font-family:var(--sub);font-size:17px;color:#ffffffbf;line-height:1;letter-spacing:.06em}
.sign .val b{color:#fff}
.sign .val b[data-online]{display:inline-block;min-width:3ch;text-align:center}
.hero-trust{font-family:var(--body);font-size:13px;color:#ffffff80;margin:16px 0 0;letter-spacing:.2px}
.energy{height:26px;position:relative;background:linear-gradient(90deg,var(--scarlet-deep),var(--scarlet-2) 30%,var(--ember) 50%,var(--scarlet-2) 70%,var(--scarlet-deep));box-shadow:inset 0 4px #ffffff26,inset 0 -4px #00000059}
.energy:after{content:"";position:absolute;inset:0;background-image:conic-gradient(#0000001f 25%,transparent 0 50%,#0000001f 0 75%,transparent 0);background-size:26px 26px;opacity:.9}
section.block{padding:60px 0}
.sec-head{text-align:center;margin-bottom:38px}
.sec-head .kicker{display:inline-block;white-space:nowrap;font-family:var(--sub);font-size:13px;letter-spacing:1px;color:#f2f2f2;background:#e40004;padding:6px 14px;clip-path:var(--chamf-sm);text-transform:uppercase}
.sec-head h2{font-family:var(--disp);font-weight:400;font-size:40px;margin:14px 0 0;color:var(--ink);text-shadow:0 3px 0 rgba(0,0,0,.4)}
.sec-head p{color:var(--ink-soft);font-size:16px;max-width:520px;margin:10px auto 0;font-weight:700}
.panel{position:relative;background:var(--panel);clip-path:var(--chamf)}
.modes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.mode{position:relative;background:var(--panel);border-radius:18px;transition:transform .14s;cursor:default;box-shadow:0 6px 0 var(--bg-2),inset 0 0 0 1.5px var(--line)}
.mode:hover{transform:translateY(-5px)}
.mode .bd{padding:26px 26px 28px}
.mode-icon{position:relative;width:72px;height:72px;border-radius:14px;display:grid;place-items:center;margin-bottom:18px;box-shadow:inset 0 0 0 1.5px #ffffff26}
.mode-icon{overflow:hidden}
.mode-icon img{width:100%;height:100%;object-fit:cover;display:block;border-radius:14px}
.mode-icon .kanji{font-family:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP",serif;font-weight:700;font-size:36px;line-height:1;color:#f2f2f2;text-shadow:0 3px 0 rgba(0,0,0,.35)}
.mode-icon.t1{background:linear-gradient(160deg,#e40004,#95303a)}
.mode-icon.t2{background:linear-gradient(160deg,#2a2a2a,#0e0e0e)}
.mode-icon.t3{background:linear-gradient(160deg,#e40004,#95303a)}
.mode-icon.t4{background:linear-gradient(160deg,#5d6065,#2a2a2a)}
.mode-icon.t5{background:linear-gradient(160deg,#e40004,#95303a)}
.mode-icon.t6{background:linear-gradient(160deg,#2a2a2a,#0e0e0e)}
.mode-ribbon{position:absolute;top:-6px;right:-6px;font-family:var(--sub);font-size:10px;color:#f2f2f2;background:var(--scarlet);padding:3px 8px;border-radius:8px;letter-spacing:.5px}
.mode h3{font-family:var(--disp);font-weight:400;font-size:21px;color:var(--ink);margin:0 0 8px}
.mode p{font-size:14px;font-weight:600;color:var(--ink-soft);line-height:1.6;margin:0}
.ribbon-band{position:relative;background:linear-gradient(180deg,#e40004d9,#b80003e6),url(assets/bg-red.jpg);background-size:cover;background-position:center;padding:46px 0;box-shadow:inset 0 5px 0 #95303a,inset 0 -5px 0 #95303a}
.ribbon-band:after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1.2px);background-size:10px 10px;pointer-events:none}
.stats{position:relative;z-index:2;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:18px;text-align:center}
.stat .n{font-family:var(--disp);font-size:46px;color:#f2f2f2;line-height:1;text-shadow:0 3px 0 rgba(0,0,0,.3)}
.stat .l{font-family:var(--sub);font-size:13px;letter-spacing:.6px;text-transform:uppercase;color:#f2f2f2;margin-top:8px}
.news-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:22px}
.npost{display:block;color:inherit;position:relative;background:var(--panel);clip-path:var(--chamf);transition:transform .14s}
.npost:hover{transform:translateY(-5px)}
.npost .nt{height:160px;position:relative;display:grid;place-items:center;background:repeating-linear-gradient(45deg,#242424 0 14px,#1e1e1e 14px 28px)}
.npost.lg .nt{height:226px}
.npost .nt img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.npost .nt .chip{position:absolute;top:14px;left:14px;font-family:var(--sub);font-size:11px;color:#f2f2f2;background:var(--scarlet);padding:5px 12px;clip-path:var(--chamf-sm);letter-spacing:.5px}
.npost .nb{padding:20px 22px 24px;border-top:3px solid var(--line)}
.npost.no-cover .nb{border-top:none}
.npost .nb .chip-inline{display:inline-block;font-family:var(--sub);font-size:11px;color:#f2f2f2;background:var(--scarlet);padding:4px 11px;clip-path:var(--chamf-sm);letter-spacing:.5px;margin-bottom:10px}
.npost .meta{font-family:var(--mono);font-size:11px;color:var(--ink-faint);margin-bottom:8px}
.npost h3{font-family:var(--disp);font-weight:400;font-size:21px;color:var(--ink);margin:0 0 8px;line-height:1.3}
.npost p{font-size:14px;font-weight:600;color:var(--ink-soft);line-height:1.5;margin:0 0 12px}
.npost .rm{font-family:var(--sub);font-size:14px;color:var(--scarlet);letter-spacing:.06em}
.news-more{text-align:center;margin-top:34px}
.duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px}
.duo-card{position:relative;clip-path:var(--chamf);padding:36px 38px;color:#fff;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;min-height:200px;transition:transform .14s}
.duo-card:hover{transform:translateY(-5px)}
.duo-card .ic{position:absolute;right:24px;top:16px;width:110px;height:110px;opacity:.15;fill:#fff}
.duo-card h3{font-family:var(--disp);font-weight:400;font-size:28px;margin:0 0 10px}
.duo-card p{font-size:15px;font-weight:700;color:#ffffffeb;margin:0 0 24px;max-width:340px;line-height:1.5}
.duo-card.discord{background:linear-gradient(150deg,#7983f5,#5865f2)}
.duo-card.vote{background:linear-gradient(150deg,#e40004,#95303a)}
.duo-card .btn{margin-top:auto;font-size:17px;padding:15px 30px;letter-spacing:.5px}
.duo-card.discord .btn-cream{color:#3d47a8}
.duo-card.vote .btn-cream{color:var(--green-d)}
.modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:24px}
.modal[hidden]{display:none}
.modal-backdrop{position:absolute;inset:0;background:#0c0c0cb3;backdrop-filter:blur(2px);animation:modalFade .18s ease}
.modal-box{position:relative;width:100%;max-width:650px;padding:60px;animation:modalPop .2s ease}
.modal-box h3{font-family:var(--disp);font-weight:400;font-size:26px;color:var(--ink);margin:0 0 6px}
.modal-box .modal-sub{font-size:14px;font-weight:700;color:var(--ink-soft);line-height:1.5;margin:0 0 20px}
.modal-x{position:absolute;top:14px;right:14px;width:32px;height:32px;border:none;cursor:pointer;background:var(--panel-2);color:var(--ink-soft);clip-path:var(--chamf-sm);font-size:14px;font-weight:900;display:grid;place-items:center;transition:.12s}
.modal-x:hover{background:var(--scarlet);color:#f2f2f2}
.vote-list{display:flex;flex-direction:column;gap:10px}
.vote-link{display:flex;align-items:center;gap:13px;padding:13px 15px;background:var(--bg);clip-path:var(--chamf-sm);box-shadow:inset 0 0 0 2px var(--line);transition:transform .1s,box-shadow .1s}
.vote-link:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 2px var(--ember)}
.vote-link .vl-num{flex:none;width:26px;height:26px;display:grid;place-items:center;background:var(--green);color:#f2f2f2;font-family:var(--sub);font-size:14px;clip-path:var(--chamf-sm);letter-spacing:.06em}
.vote-link .vl-name{flex:1;font-family:var(--sub);font-size:16px;color:var(--ink);letter-spacing:.06em}
.vote-link .vl-go{font-family:var(--sub);font-size:13px;color:var(--green);letter-spacing:.3px}
.join-steps{list-style:none;padding:0;margin:0 0 18px;counter-reset:jstep}
.join-steps li{position:relative;padding:6px 0 14px 42px;font-size:14px;font-weight:700;color:var(--ink-soft);line-height:1.5}
.join-steps li:before{counter-increment:jstep;content:counter(jstep);position:absolute;left:0;top:4px;width:28px;height:28px;display:grid;place-items:center;background:var(--scarlet);color:#f2f2f2;font-family:var(--sub);font-size:15px;clip-path:var(--chamf-sm);letter-spacing:.06em}
.join-steps li strong{color:var(--ink)}
.join-ip{display:flex;align-items:center;gap:10px;margin-top:6px;background:var(--bg);clip-path:var(--chamf-sm);box-shadow:inset 0 0 0 2px var(--line);padding:8px 8px 8px 14px}
.join-ip code{flex:1;font-family:var(--mono);font-size:14px;color:var(--ink);font-weight:700}
.join-ip button{border:none;cursor:pointer;font-family:var(--sub);font-size:12px;padding:8px 13px;clip-path:var(--chamf-sm);background:linear-gradient(180deg,var(--ember),var(--ember-2));color:#f2f2f2;letter-spacing:.06em}
.join-note{font-size:13px;font-weight:700;color:var(--ink-faint);margin:0 0 18px;line-height:1.5}
.join-note code{font-family:var(--mono);color:var(--ink-soft)}
@keyframes modalFade{0%{opacity:0}to{opacity:1}}
@keyframes modalPop{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.modal-backdrop,.modal-box{animation:none}}
footer{position:relative;background:linear-gradient(180deg,var(--night-2),var(--abyss));color:#fff;padding:54px 0 30px;box-shadow:inset 0 5px 0 var(--night-deep)}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:28px;margin-bottom:34px}
.foot-brand .brand-logo{height:70px;width:auto}
.foot-brand p{font-size:14px;font-weight:700;color:#cacfd9;max-width:260px;margin:16px 0 0;line-height:1.5}
.fcol h4{font-family:var(--sub);font-size:15px;color:var(--scarlet);margin:0 0 14px;letter-spacing:.3px}
.fcol a{display:block;font-size:14px;font-weight:700;color:#cacfd9;padding:5px 0;transition:.15s}
.fcol a:hover{color:#fff}
.foot-bottom{border-top:2px solid rgba(255,255,255,.12);padding-top:22px;display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700;color:#8d9097}
.foot-right{display:flex;align-items:center;gap:14px}
.foot-socials{display:flex;align-items:center;gap:6px}
.foot-socials a{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#ffffff1a;transition:.15s}
.foot-socials a:hover{background:#fff3}
.foot-socials svg{width:16px;height:16px;fill:#cacfd9}
.foot-bottom .ipcopy{font-family:var(--mono);cursor:pointer;background:#00000059;padding:7px 13px;clip-path:var(--chamf-sm);color:var(--washi)}
.hero-ip{font-family:var(--mono);font-size:16px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;background:#00000066;border:0;padding:14px 20px;clip-path:var(--chamf-sm);color:var(--washi);transition:.15s}
.hero-ip:hover{background:#00000099;color:#fff}
.hero-ip .hero-ip-icon{font-size:12px;opacity:.7}
.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%) translateY(20px);background:var(--green);color:#f2f2f2;font-family:var(--sub);font-size:15px;padding:13px 24px;clip-path:var(--chamf-sm);opacity:0;transition:.25s;z-index:99;box-shadow:0 6px 0 var(--green-d);letter-spacing:.06em}
.toast.show{opacity:1;transform:translate(-50%) translateY(0)}
@media(max-width:900px){.hero-grid{padding:56px 0 64px}h1.hero-title{font-size:48px}.modes,.news-grid{grid-template-columns:1fr 1fr}.news-grid .npost.lg{grid-column:1 / -1}.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.wrap{padding:0 20px}.nav-in{gap:14px}nav.links{display:none}.nav-burger{display:flex}.nav-cta{display:none}header.nav{overflow-x:clip}.brand-logo{height:44px;width:auto}h1.hero-title{font-size:40px}.btn-hero-play{font-size:18px;padding:14px 28px}.btn-hero-store{font-size:16px;padding:14px 22px}.hero-grid{padding:40px 0 48px}.eyebrow{white-space:normal;text-align:center;justify-content:center;max-width:100%;font-size:13px}.sign{flex-direction:column}.sign .seg+.seg{margin-left:0;margin-top:4px}.modes,.news-grid,.duo,.stats{grid-template-columns:1fr}.stats{gap:28px}.foot-grid{grid-template-columns:1fr}.foot-bottom{flex-direction:column;gap:12px;text-align:center}}

/* inner pages */
.page-head{position:relative;overflow:hidden;background:linear-gradient(180deg,#161616b3,#161616e6),url(assets/bg-dark.jpg);background-size:cover;background-position:center;padding:48px 0 44px;box-shadow:inset 0 -5px 0 var(--night-deep)}
.page-head:after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1.2px);background-size:10px 10px;pointer-events:none}
.page-head .wrap{position:relative;z-index:2}
.page-head .crumb{display:inline-block;font-family:var(--sub);font-size:13px;letter-spacing:.5px;color:var(--scarlet);margin-bottom:14px;transition:.15s}
.page-head .crumb:hover{color:#fff}
.page-head h1{font-family:var(--disp);font-weight:400;font-size:44px;line-height:1.15;color:#fff;margin:0;text-shadow:0 4px 0 rgba(0,0,0,.35)}
.page-head .updated{margin:12px 0 0;font-family:var(--mono);font-size:12px;color:var(--washi)}
.page-head .art-cat{display:inline-block;font-family:var(--sub);font-size:11px;letter-spacing:.5px;color:#f2f2f2;background:var(--scarlet);padding:5px 12px;clip-path:var(--chamf-sm);margin-bottom:12px}
.legal{padding:50px 0 74px}
.legal-panel{max-width:820px;margin:0 auto;padding:42px 48px;background:var(--panel);border-radius:18px;box-shadow:0 6px 0 var(--bg-2),inset 0 0 0 1.5px var(--line)}
.legal-panel>:first-child{margin-top:0}
.legal-panel h2{font-family:var(--disp);font-weight:400;font-size:24px;color:var(--ink);margin:36px 0 12px}
.legal-panel h3{font-family:var(--disp);font-size:18px;color:var(--ink);margin:22px 0 10px}
.legal-panel p{font-size:15px;font-weight:600;color:var(--ink-soft);line-height:1.7;margin:0 0 14px}
.legal-panel .lead{font-size:16px;color:var(--ink);font-weight:700}
.legal-panel ul,.legal-panel ol{margin:0 0 16px;padding:0;list-style:none;counter-reset:rule}
.legal-panel li{position:relative;font-size:15px;font-weight:600;color:var(--ink-soft);line-height:1.6;padding:5px 0 5px 30px}
.legal-panel ul li:before{content:"";position:absolute;left:4px;top:12px;width:11px;height:11px;background:var(--scarlet);clip-path:polygon(0 3px,3px 0,8px 0,11px 3px,11px 8px,8px 11px,3px 11px,0 8px)}
.legal-panel ol li{padding-left:42px}
.legal-panel ol li:before{counter-increment:rule;content:counter(rule);position:absolute;left:0;top:6px;width:28px;height:28px;display:grid;place-items:center;background:var(--scarlet);color:#f2f2f2;font-family:var(--sub);font-size:14px;clip-path:var(--chamf-sm);letter-spacing:.06em}
.legal-panel li strong{color:var(--ink)}
.legal-panel a:not(.btn){color:var(--scarlet);font-weight:800;text-decoration:underline;text-underline-offset:2px}
.article-cover{display:block;width:100%;max-width:820px;height:auto;margin:0 auto 24px;border-radius:18px}
.news-archive{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:900px){.news-archive{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.page-head h1{font-size:34px}.legal-panel{padding:28px 22px}.news-archive{grid-template-columns:1fr}}

.styles{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;margin-bottom:34px}
.styles>.style{flex:0 0 calc((100% - 72px)/5)}
.style-group{text-align:center;margin:8px 0 18px}
.group-title{font-family:var(--sub);font-weight:400;letter-spacing:.08em;text-transform:uppercase;font-size:15px;color:#f2f2f2;margin:0}
.group-sub{color:var(--ink-faint);font-size:14px;margin:6px 0 0}
.style .tier.legend{color:#f2f2f2;background:#e40004}
.style .tier.demon{color:#f2f2f2;background:#45474c}
.style{position:relative;background:linear-gradient(180deg,#2a2a2a,#202020);border-radius:18px;overflow:hidden;box-shadow:0 5px 0 var(--bg-2),inset 0 0 0 1.5px var(--line);text-align:center;padding:18px 18px 22px;transition:transform .14s}
.style:hover{transform:translateY(-5px)}
.style:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--blade,var(--scarlet))}
.style-art{width:100%;max-width:230px;margin:0 auto 14px;aspect-ratio:1}
.style-art img{width:100%;height:auto;display:block;filter:drop-shadow(0 10px 18px rgba(0,0,0,.45))}
.style h3{font-family:var(--disp);font-weight:400;font-size:22px;color:var(--ink);margin:0}
.style .jp{display:block;font-family:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP",serif;font-size:14px;color:var(--ink-faint);margin-top:4px}
.style .tier{display:inline-block;margin-top:12px;font-family:var(--mono);font-size:10px;letter-spacing:.6px;text-transform:uppercase;color:var(--ink-soft);background:#ffffff0f;padding:4px 9px;border-radius:6px}
.style .tier.unlock{color:#f2f2f2;background:#95303a}
.ranks{display:grid;grid-template-columns:repeat(11,1fr);gap:10px;margin-top:8px}
.rank{background:var(--panel);border-radius:14px;box-shadow:0 4px 0 var(--bg-2),inset 0 0 0 1.5px var(--line);text-align:center;padding:14px 4px 12px}
.rank .k{display:block;font-family:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP",serif;font-weight:700;font-size:30px;line-height:1;color:#cacfd9}
.rank .n{display:block;font-family:var(--mono);font-size:10px;color:var(--ink-faint);margin-top:8px;letter-spacing:.3px}
.rank.hashira{background:linear-gradient(180deg,#3a1214,#2a2a2a);box-shadow:0 4px 0 var(--bg-2),inset 0 0 0 1.5px #e40004}
.rank.hashira .k{color:#e40004}
.rank.hashira .n{color:#f2f2f2}
.ranks-note{text-align:center;color:var(--ink-faint);font-size:14px;margin:18px 0 0}
.news-grid.single{grid-template-columns:1fr;max-width:760px;margin:0 auto}
[hidden]{display:none!important}
.hero-logo{display:block;width:min(420px,80%);height:auto;margin:0 auto 18px;filter:drop-shadow(0 8px 18px rgba(0,0,0,.5))}
@media(max-width:900px){.styles>.style{flex-basis:calc((100% - 36px)/3)}.ranks{grid-template-columns:repeat(6,1fr)}}
@media(max-width:640px){.ranks{grid-template-columns:repeat(4,1fr)}.rank .n{font-size:9px}}
@media(max-width:640px){.styles{gap:12px}.styles>.style{flex-basis:calc((100% - 12px)/2);padding:12px 10px 16px}.style h3{font-size:18px}.style .tier{font-size:9px}}
