
/* Layout: full-bleed splash hero, then a two-column intro (pitch + download card), angular-cut panels echoing the logo's shards, one live canvas demo as the centerpiece. Single dark look by choice. */
:root{
  --bg:#08090c; --panel:#11141a; --panel-2:#171b23; --line:#242a35;
  --fg:#eceef2; --mute:#8d95a6; --flame:#ff5a1f; --amber:#ffa51f; --ember:#ff2d17; --ice:#a5e6ff;
  --display:"Saira Condensed","Arial Narrow","Roboto Condensed",Impact,sans-serif;
  --body:"Barlow","Segoe UI",system-ui,sans-serif;
  --gutter:clamp(16px,4vw,40px);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{background:var(--bg);color:var(--fg);font:400 17px/1.55 var(--body);margin:0;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:800;line-height:.95;margin:0;text-wrap:balance;letter-spacing:.005em}
h2{font-size:clamp(2.2rem,5.4vw,3.8rem);text-transform:uppercase;font-style:italic}
h3{font-size:1.5rem;text-transform:uppercase}
p{margin:0}
.wrap{max-width:1180px;margin-inline:auto;padding-inline:var(--gutter)}
section{padding-block:clamp(56px,9vw,104px)}
.lede{color:var(--mute);max-width:56ch;margin-top:14px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px}

/* shard buttons */
.btn{--cut:12px;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 30px;border:0;cursor:pointer;
  font:800 1.25rem/1 var(--display);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:#160a04;
  background:linear-gradient(100deg,var(--ember),var(--flame) 45%,var(--amber));
  clip-path:polygon(var(--cut) 0,100% 0,calc(100% - var(--cut)) 100%,0 100%);transition:filter .15s,background .15s}
.btn:hover{filter:brightness(1.12)}
.btn:focus-visible{outline:none;background:#fff}
.btn.ghost{background:var(--panel-2);color:var(--fg)}
.btn.ghost:hover{background:#222833;filter:none}
.btn.ghost:focus-visible{background:var(--fg);color:#000}
.btn svg{width:20px;height:20px;flex:none}

/* header */
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:rgba(8,9,12,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
header.top .wrap{display:flex;align-items:center;gap:20px;height:64px}
.brand{font:900 1.9rem/1 var(--display);font-style:italic;text-decoration:none;letter-spacing:.01em;display:flex;align-items:center;gap:2px}
.brand b{background:linear-gradient(160deg,var(--amber),var(--ember));-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:2px}
nav.main{margin-left:auto;display:flex;gap:26px}
nav.main a{white-space:nowrap;font:700 1.05rem/1 var(--display);letter-spacing:.09em;text-transform:uppercase;text-decoration:none;color:var(--mute);padding:8px 0}
nav.main a:hover{color:var(--fg)}
header.top .btn{min-height:40px;padding:0 20px;font-size:1.05rem;--cut:9px}
@media(max-width:820px){nav.main{display:none}header.top .btn{margin-left:auto}}

/* ticker */
.ticker{padding:0;border-block:1px solid var(--line);background:var(--panel);overflow:hidden}
.ticker div{display:flex;gap:44px;white-space:nowrap;width:max-content;padding:14px 0;font:800 1.5rem/1 var(--display);font-style:italic;text-transform:uppercase;color:#3a4150;animation:tick 38s linear infinite}
.ticker div span:nth-child(3n+1){color:var(--flame)}
@keyframes tick{to{transform:translateX(-50%)}}

/* demo */
.demo{background:linear-gradient(to bottom,var(--bg),#0c0e13 30%,#0c0e13 70%,var(--bg))}
.arena-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:14px}
.arena-bar p{color:var(--mute);font-size:.95rem}
.arena-wrap{position:relative;background:#06070a;box-shadow:0 0 0 1px var(--line),0 30px 80px rgba(255,70,20,.08);clip-path:polygon(0 0,100% 0,100% calc(100% - 26px),calc(100% - 26px) 100%,0 100%)}
#arena{display:block;width:100%;height:auto;aspect-ratio:16/9;cursor:crosshair}
#arena.live{touch-action:none}
.ui{position:absolute;inset:0;display:grid;place-items:center;background:rgba(6,7,10,.62);text-align:center;padding:16px}
.ui[hidden]{display:none!important}
.ui .box{display:grid;gap:14px;justify-items:center;max-width:420px}
.ui h3{font-size:clamp(2.2rem,6vw,3.6rem);font-style:italic}
.ui p{color:#c3c9d6}
.ui .stat{font:800 clamp(2.4rem,7vw,4.4rem)/1 var(--display);color:var(--amber);font-variant-numeric:tabular-nums}
.mute{background:none;border:1px solid var(--line);color:var(--mute);font:700 .95rem/1 var(--display);letter-spacing:.1em;text-transform:uppercase;padding:10px 14px;cursor:pointer}
.mute[aria-pressed="true"]{color:var(--fg);border-color:var(--flame)}

/* sounds */
.sounds{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px}
.snd{border:0;background:var(--panel);color:var(--fg);padding:22px;display:grid;gap:18px;text-align:left;cursor:pointer;font:inherit;min-width:0;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%)}
.snd:hover{background:var(--panel-2)}
.snd .t{font:800 1.5rem/1 var(--display);text-transform:uppercase;font-style:italic}
.snd .bars{display:flex;gap:3px;align-items:end;height:42px}
.snd .bars i{flex:1;background:#2c3340;height:var(--h);transition:background .2s}
.snd.on .bars i{background:var(--flame);animation:eq .5s ease-in-out infinite alternate;animation-delay:calc(var(--n)*30ms)}
@keyframes eq{to{transform:scaleY(.35);transform-origin:bottom}}
.snd small{color:var(--mute)}
@media(max-width:820px){.sounds{grid-template-columns:1fr 1fr}}

/* install */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px;counter-reset:s;padding:0;list-style:none}
.steps li{background:var(--panel);padding:26px;display:grid;gap:10px;counter-increment:s;min-width:0;clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,0 100%)}
.steps li::before{content:counter(s);font:900 3.4rem/1 var(--display);font-style:italic;color:var(--flame)}
.steps p{color:#aab1c0;font-size:1rem}
@media(max-width:820px){.steps{grid-template-columns:1fr}}

/* download */
.get{background:radial-gradient(900px 340px at 50% 0,rgba(255,80,20,.16),transparent 70%)}
.get .panel{background:var(--panel);display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,4vw,48px);padding:clamp(22px,4vw,44px);clip-path:polygon(0 0,calc(100% - 36px) 0,100% 36px,100% 100%,0 100%)}
.get .app{width:clamp(110px,16vw,190px);aspect-ratio:1;border-radius:14%}
.get .body{display:grid;gap:22px;min-width:0}
.spec{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:0}
.spec div{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}
.spec dt{color:var(--mute)}
.spec dd{margin:0;font-weight:600;text-align:right}
.hash{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.hash code{flex:1 1 280px;min-width:0;overflow-wrap:anywhere;font:500 .85rem/1.4 ui-monospace,Menlo,Consolas,monospace;color:#b9bfcc;background:var(--bg);padding:10px 12px}
.hash .mute{padding:10px 14px}
@media(max-width:720px){.get .panel{grid-template-columns:1fr}.spec{grid-template-columns:1fr}}

/* faq */
.faq{display:grid;gap:10px;margin-top:34px;max-width:860px}
details{background:var(--panel);padding:0}
summary{cursor:pointer;list-style:none;padding:20px 24px;font:800 1.35rem/1.15 var(--display);text-transform:uppercase;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--flame);font-size:1.6rem;line-height:1}
details[open] summary::after{content:"\2212"}
details p{padding:0 24px 22px;color:#aab1c0;max-width:62ch}

footer{border-top:1px solid var(--line);padding-block:36px 48px;color:var(--mute);font-size:.95rem}
footer .wrap{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center}
footer .brand{font-size:1.5rem;color:var(--fg)}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero .streak{display:none}.hero img{animation:none}.ticker div{animation:none}
  .thumb .dot,.snd.on .bars i,.tier:nth-child(4) h3{animation:none}
}

/* ===== community, forms, admin ===== */
:root{--ok:#5ee08a;--warn:var(--amber);--bad:#ff5a4d}
header.top .wrap{gap:14px}
.req-btn{position:relative;background:none;border:1px solid var(--line);color:var(--fg);font:700 1rem/1 var(--display);letter-spacing:.09em;text-transform:uppercase;padding:11px 14px;cursor:pointer}
.req-btn:hover{border-color:var(--flame)}
.badge-n{position:absolute;top:-8px;right:-8px;min-width:20px;height:20px;padding:0 5px;background:var(--flame);color:#160a04;font:800 .8rem/20px var(--display);text-align:center;border-radius:10px}
.menu{display:none;background:none;border:1px solid var(--line);width:42px;height:40px;padding:0;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.menu span{display:block;width:18px;height:2px;background:var(--fg)}
@media(max-width:1280px){
  nav.main{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;background:var(--bg);border-bottom:1px solid var(--line);padding:8px var(--gutter) 16px;margin:0}
  nav.main.open{display:flex}
  nav.main a{padding:14px 0;border-bottom:1px solid var(--line);font-size:1.2rem}
  .menu{display:flex;margin-left:auto}
  header.top .btn{margin-left:0}
  header.top .wrap{position:relative}
}
@media(max-width:560px){header.top .btn{display:none}.req-btn{padding:10px 10px;font-size:.9rem}}

.split-head{display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between;align-items:end;margin-bottom:26px}
.rev-sum{display:flex;gap:22px;align-items:center;background:var(--panel);padding:18px 22px;min-width:min(100%,360px);clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%)}
.rev-sum .avg{font:900 4rem/1 var(--display);font-style:italic;font-variant-numeric:tabular-nums}
.rev-sum .bars{display:grid;gap:4px;flex:1;min-width:0}
.rev-sum .bar{display:grid;grid-template-columns:14px 1fr 26px;gap:8px;align-items:center;font-size:.8rem;color:var(--mute);font-variant-numeric:tabular-nums}
.rev-sum .bar i{display:block;height:6px;background:#242a35;position:relative}
.rev-sum .bar i b{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--flame),var(--amber))}
.stars-ro{display:inline-flex;gap:2px;color:var(--amber)}
.stars-ro svg,.stars button svg{width:18px;height:18px;display:block}
.stars-ro .off{color:#2f3644}
.rev-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:14px;margin-top:26px}
.rev{background:var(--panel);padding:22px;display:grid;gap:10px;align-content:start;min-width:0;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%)}
.rev h4{margin:0;font:800 1.35rem/1.1 var(--display);text-transform:uppercase}
.rev p{color:#b9bfcc;font-size:1rem;overflow-wrap:anywhere}
.rev .by{color:var(--mute);font-size:.88rem}
.rev .dev{background:var(--bg);padding:12px 14px;font-size:.95rem;color:#c9ced9}
.rev .dev b{display:block;font:800 .9rem/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--flame);margin-bottom:6px}
.empty{background:var(--panel);padding:28px;color:var(--mute);display:grid;gap:6px}
.empty b{color:var(--fg);font:800 1.4rem/1.1 var(--display);text-transform:uppercase}

.form{display:grid;gap:16px;background:var(--panel);padding:clamp(18px,3vw,30px);margin-top:20px;clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,0 100%)}
.form.tight{margin-top:0}
.form[hidden]{display:none!important}
.field{display:grid;gap:7px;min-width:0}
.l{font:700 .92rem/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
input,select,textarea{width:100%;min-width:0;background:var(--bg);color:var(--fg);border:1px solid var(--line);border-radius:0;padding:12px 14px;font:inherit;font-size:16px}
textarea{resize:vertical;min-height:90px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--flame);box-shadow:0 0 0 3px rgba(255,90,31,.28)}
input::placeholder,textarea::placeholder{color:#5c6475}
.invalid{border-color:var(--bad)!important}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:620px){.row2{grid-template-columns:1fr}}
.count{font-size:.8rem;color:var(--mute);text-align:right;font-variant-numeric:tabular-nums}
.hint{color:var(--mute);font-size:.9rem;max-width:56ch}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.form-foot{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}
.msg{min-height:1.4em;font-size:.95rem;color:var(--mute)}
.msg.ok{color:var(--ok)}.msg.err{color:var(--bad)}
.check{display:flex;gap:12px;align-items:flex-start;color:#b9bfcc;font-size:.95rem;cursor:pointer}
.check input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--flame)}
.check a{color:var(--amber)}
.stars{display:flex;gap:6px}
.stars button{background:var(--bg);border:1px solid var(--line);color:#3a4150;width:48px;height:48px;padding:0;cursor:pointer;display:grid;place-items:center}
.stars button svg{width:26px;height:26px}
.stars button.on{color:var(--amber);border-color:#5a4220}
.stars button:focus-visible{outline:2px solid var(--amber);outline-offset:2px}

.ideas-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(18px,3vw,36px);margin-top:36px;align-items:start}
@media(max-width:900px){.ideas-grid{grid-template-columns:1fr}}
.road{display:grid;gap:16px;min-width:0}
.road-head{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center}
.tabs{display:flex;gap:6px;flex-wrap:wrap}
.tabs button{background:var(--panel);border:0;color:var(--mute);font:800 1rem/1 var(--display);letter-spacing:.08em;text-transform:uppercase;padding:11px 14px;cursor:pointer}
.tabs button[aria-selected="true"]{background:var(--flame);color:#160a04}
.road-list{display:grid;gap:12px}
.idea{background:var(--panel);padding:18px 20px;display:grid;grid-template-columns:1fr auto;gap:8px 16px;min-width:0}
.idea h4{margin:0;font:800 1.35rem/1.1 var(--display);text-transform:uppercase}
.idea p{grid-column:1;color:#b9bfcc;font-size:.95rem;overflow-wrap:anywhere}
.idea .meta{grid-column:1;display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--mute);font-size:.85rem}
.vote{grid-column:2;grid-row:1/span 3;align-self:start;display:grid;justify-items:center;gap:2px;background:var(--bg);border:1px solid var(--line);color:var(--fg);padding:10px 12px;cursor:pointer;font:800 1.3rem/1 var(--display);font-variant-numeric:tabular-nums;min-width:58px}
.vote svg{width:16px;height:16px}
.vote[aria-pressed="true"]{border-color:var(--flame);color:var(--flame)}
.vote:disabled{opacity:.5;cursor:not-allowed}

.mail-card{background:var(--panel);padding:18px 22px;display:grid;gap:10px}
.mail-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.mail-row a{font:800 clamp(1.15rem,3.4vw,1.6rem)/1.1 var(--display);color:var(--amber);overflow-wrap:anywhere;text-decoration:none}
.mail-row a:hover{text-decoration:underline}
.support-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(18px,3vw,36px);margin-top:32px;align-items:start}
@media(max-width:900px){.support-grid{grid-template-columns:1fr}}
.stack{display:grid;gap:16px;min-width:0}
.faq{display:grid;gap:10px;margin-top:0;max-width:none;min-width:0}
.faq h3{margin-bottom:4px}
.faq summary{font-size:1.2rem;padding:16px 20px}
.faq details p{padding:0 20px 18px;font-size:.98rem}
.faq details p a{color:var(--amber)}

.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(20px,4vw,56px);margin-top:30px;align-items:start}
@media(max-width:900px){.about-grid{grid-template-columns:1fr}}
.about .big{font:700 clamp(1.5rem,3.4vw,2.2rem)/1.15 var(--display);text-transform:uppercase;font-style:italic;color:var(--fg)}
.about .stack p:not(.big){color:#b9bfcc;max-width:60ch}
.dossier{background:var(--panel);padding:24px;display:grid;gap:14px;min-width:0;clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,0 100%)}
.dos-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.dossier h3{font-size:2.6rem;font-style:italic}
.dos{margin:0;display:grid}
.dos div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--line)}
.dos dt{color:var(--mute)}.dos dd{margin:0;text-align:right;font-weight:600}
.dos-quote{font:600 1.15rem/1.3 var(--display);font-style:italic;color:var(--amber)}
.chips.load{margin:0}
.rules{margin:0;padding-left:18px;color:#b9bfcc;display:grid;gap:4px}
.links{display:flex;flex-wrap:wrap;gap:8px}
.links a{font:800 1rem/1 var(--display);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;background:var(--panel-2);padding:10px 14px}
.links a:hover{background:var(--flame);color:#160a04}

footer .foot-top{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;align-items:center}
.foot-nav{display:flex;flex-wrap:wrap;gap:6px 22px}
.foot-nav a{font:700 1rem/1 var(--display);letter-spacing:.09em;text-transform:uppercase;text-decoration:none;color:var(--mute);padding:6px 0}
.foot-nav a:hover{color:var(--fg)}
.foot-bot{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;margin-top:22px;font-size:.9rem}
.mode-note{margin-top:14px;color:var(--amber);font-size:.9rem}
footer .wrap{display:block}

/* sheets, drawer, toast */
.sheet{position:fixed;inset:0;z-index:60;background:var(--bg);display:flex;flex-direction:column}
.sheet[hidden]{display:none!important}
.sheet-bar{display:flex;align-items:center;gap:14px;padding:12px var(--gutter);padding-top:calc(12px + env(safe-area-inset-top,0px));border-bottom:1px solid var(--line);background:var(--panel)}
.sheet-bar strong{font:800 1.5rem/1 var(--display);text-transform:uppercase;font-style:italic}
.grow{flex:1}
.sheet-body{flex:1;overflow:auto;padding-bottom:calc(40px + env(safe-area-inset-bottom,0px))}
.narrow{max-width:760px}
.legal .wrap{padding-block:40px;display:grid;gap:14px}
.legal h2{font-size:clamp(2.2rem,6vw,3.4rem)}
.legal h3{margin-top:18px;font-size:1.6rem}
.legal p,.legal li{color:#b9bfcc}
.legal ul{margin:0;padding-left:20px;display:grid;gap:6px}
.legal a{color:var(--amber)}
.legal .meta{color:var(--mute);font-size:.9rem}
.badge{font:700 .85rem/1 var(--display);letter-spacing:.1em;text-transform:uppercase;padding:6px 10px;background:var(--panel-2);color:var(--amber)}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(520px,100%);z-index:70;background:var(--bg);border-left:1px solid var(--line);display:flex;flex-direction:column}
.drawer[hidden],.scrim[hidden]{display:none!important}
.scrim{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:65}
.drawer-body{flex:1;overflow:auto;padding:16px;display:grid;gap:12px;align-content:start;padding-bottom:calc(30px + env(safe-area-inset-bottom,0px))}
.toast{position:fixed;left:50%;bottom:calc(22px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:90;background:var(--fg);color:#0b0c10;padding:13px 20px;font-weight:600;max-width:min(92vw,520px);text-align:center}

.pill{display:inline-block;padding:5px 9px;font:800 .8rem/1 var(--display);letter-spacing:.1em;text-transform:uppercase;background:var(--panel-2);color:var(--mute);white-space:nowrap}
.p-pending{color:var(--warn)}.p-ok{color:var(--ok)}.p-bad{color:var(--bad)}.p-info{color:var(--ice)}.p-plan{color:var(--flame)}

.req{background:var(--panel);padding:16px;display:grid;gap:10px;min-width:0}
.req.new{box-shadow:inset 3px 0 0 var(--flame)}
.req-top{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.req-top .code{margin-left:auto;font:600 .8rem ui-monospace,Menlo,Consolas,monospace;color:var(--mute)}
.req h4{margin:0;font:800 1.3rem/1.1 var(--display);text-transform:uppercase;overflow-wrap:anywhere}
.req .body{color:#b9bfcc;font-size:.95rem;overflow-wrap:anywhere;white-space:pre-wrap}
.note{background:var(--bg);padding:12px 14px;font-size:.95rem;color:#d0d5df;display:grid;gap:4px;overflow-wrap:anywhere;white-space:pre-wrap}
.note b{font:800 .85rem/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--flame)}
.planbox{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}
.planbox div{background:var(--bg);padding:9px 12px}
.planbox span{display:block;font:700 .75rem/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-bottom:5px}
.thread{display:grid;gap:8px}
.bub{max-width:92%;padding:10px 13px;font-size:.95rem;overflow-wrap:anywhere;white-space:pre-wrap;background:var(--bg)}
.bub small{display:block;color:var(--mute);font-size:.75rem;margin-top:4px}
.bub.admin{background:#2a1a12;justify-self:start}
.bub.user{justify-self:end;background:var(--panel-2)}
.reply{display:flex;gap:8px}
.reply textarea{min-height:46px;height:46px;resize:vertical}
.reply .btn{min-height:46px;padding:0 18px;font-size:1.05rem;flex:none}
.linkbtn{background:none;border:0;color:var(--amber);cursor:pointer;font:inherit;padding:0;text-align:left}
.linkbtn:hover{text-decoration:underline}

/* admin */
.adm{display:grid;grid-template-columns:220px 1fr;min-height:100%}
.adm-nav{background:var(--panel);padding:14px;display:flex;flex-direction:column;gap:6px;border-right:1px solid var(--line)}
.adm-nav button{display:flex;justify-content:space-between;align-items:center;gap:10px;background:none;border:0;color:var(--mute);font:800 1.15rem/1 var(--display);letter-spacing:.08em;text-transform:uppercase;padding:14px 12px;cursor:pointer;text-align:left}
.adm-nav button[aria-current="true"]{background:var(--flame);color:#160a04}
.adm-nav .n{font:800 .9rem/1 var(--display);background:var(--bg);color:var(--fg);padding:3px 7px;min-width:24px;text-align:center}
.adm-nav button[aria-current="true"] .n{background:#160a04;color:var(--amber)}
.adm-main{padding:clamp(14px,3vw,30px);min-width:0;display:grid;gap:20px;align-content:start}
@media(max-width:820px){
  .adm{grid-template-columns:1fr}
  .adm-nav{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:8px}
  .adm-nav button{flex:none;padding:12px 14px}
}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.kpi{background:var(--panel);padding:16px 18px;display:grid;gap:6px}
.kpi b{font:900 2.6rem/1 var(--display);font-style:italic;font-variant-numeric:tabular-nums}
.kpi span{color:var(--mute);font-size:.9rem}
.kpi.hot b{color:var(--flame)}
.panel2{background:var(--panel);padding:18px 20px;display:grid;gap:12px;min-width:0}
.panel2 h3{font-size:1.4rem}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:900px){.two{grid-template-columns:1fr}}
.hbar{display:grid;grid-template-columns:90px 1fr 34px;gap:10px;align-items:center;font-size:.9rem;color:#b9bfcc}
.hbar i{display:block;height:10px;background:#242a35;position:relative}
.hbar i b{position:absolute;inset:0 auto 0 0;background:var(--flame)}
.hbar span:last-child{text-align:right;font-variant-numeric:tabular-nums}
.list-wrap{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:14px;align-items:start}
@media(max-width:1000px){.list-wrap{grid-template-columns:1fr}}
.tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.tools input{max-width:240px;padding:9px 12px}
.fchip{background:var(--panel);border:0;color:var(--mute);font:800 .95rem/1 var(--display);letter-spacing:.08em;text-transform:uppercase;padding:10px 12px;cursor:pointer}
.fchip[aria-pressed="true"]{background:var(--panel-2);color:var(--fg);box-shadow:inset 0 -2px 0 var(--flame)}
.rows{display:grid;gap:6px;max-height:68vh;overflow:auto}
.row-i{display:grid;gap:5px;background:var(--panel);border:0;color:var(--fg);padding:13px 14px;text-align:left;cursor:pointer;font:inherit;min-width:0;width:100%}
.row-i:hover{background:var(--panel-2)}
.row-i[aria-current="true"]{box-shadow:inset 3px 0 0 var(--flame);background:var(--panel-2)}
.row-i strong{font:800 1.1rem/1.1 var(--display);text-transform:uppercase;overflow-wrap:anywhere}
.row-i .sub{display:flex;gap:8px;flex-wrap:wrap;align-items:center;color:var(--mute);font-size:.82rem}
.row-i .dot{width:8px;height:8px;border-radius:50%;background:var(--flame);display:inline-block}
.detail{background:var(--panel);padding:clamp(16px,2.5vw,26px);display:grid;gap:16px;min-width:0}
.detail h3{font-size:1.9rem;overflow-wrap:anywhere}
.kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.kv div{background:var(--bg);padding:9px 12px;min-width:0;overflow-wrap:anywhere}
.kv span{display:block;font:700 .75rem/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-bottom:5px}
.decide{display:grid;gap:14px;border-top:1px solid var(--line);padding-top:16px}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.seg label{cursor:pointer}
.seg input{position:absolute;opacity:0;width:1px;height:1px}
.seg span{display:inline-block;background:var(--bg);border:1px solid var(--line);padding:11px 16px;font:800 1.05rem/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.seg input:checked+span{border-color:var(--flame);color:var(--fg);background:#241812}
.seg input:focus-visible+span{outline:2px solid var(--amber);outline-offset:2px}
.seg.bad input:checked+span{border-color:var(--bad);background:#2a1514}
.quick{display:flex;flex-wrap:wrap;gap:6px}
.quick button{background:var(--panel-2);border:0;color:#c9ced9;font:600 .85rem/1 var(--body);padding:8px 11px;cursor:pointer}
.quick button:hover{background:#262c38}
.gate{max-width:520px;margin:12vh auto 0;padding:0 var(--gutter);display:grid;gap:16px}
.gate h2{font-size:2.6rem}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* ===== v3 redesign ===== */
.brand i{font-style:italic;color:var(--flame);margin-left:3px}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;padding:0;list-style:none}
.chips li{font:700 .95rem/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:#c3c8d4;background:rgba(17,20,26,.8);padding:9px 14px;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}
.feat-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:18px;margin-bottom:36px}
.feat-head .lede{max-width:44ch}

.hero{position:relative;padding:0;overflow:hidden;isolation:isolate}
.hero-bg{position:absolute;inset:0;z-index:-1;background:
  linear-gradient(90deg,rgba(8,9,12,.97) 0%,rgba(8,9,12,.78) 40%,rgba(8,9,12,.3) 100%),
  linear-gradient(to top,var(--bg) 0%,transparent 30%),
  url(assets/hero-bg.jpg) center/cover no-repeat,#12091c}
.hero-in{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(20px,4vw,56px);align-items:center;padding-block:clamp(36px,6vw,84px)}
.hero-copy{min-width:0;position:relative;z-index:2}
.new-pill{display:inline-block;font:800 1rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:#160a04;background:linear-gradient(100deg,var(--ember),var(--flame) 45%,var(--amber));padding:9px 18px;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%)}
.hero h1{font-size:clamp(3.4rem,9.5vw,7.4rem);font-style:italic;text-transform:uppercase;font-weight:900;line-height:.82;margin-top:20px;text-shadow:0 8px 50px rgba(255,90,31,.35)}
.hero .sub{font-size:clamp(1.1rem,2.4vw,1.35rem);color:#dde0e8;max-width:32ch;margin-top:20px;line-height:1.4}
.stage{position:relative;aspect-ratio:1/1;max-width:560px;width:100%;justify-self:center}
.logo-s{position:absolute;left:50%;top:50%;width:78%;height:auto;translate:-50% -52%;mix-blend-mode:screen;filter:contrast(1.6) brightness(1.08)}
.cr{position:absolute;width:var(--w);height:auto;rotate:var(--r);filter:drop-shadow(0 18px 22px rgba(0,0,0,.6));animation:drop .85s cubic-bezier(.2,.9,.3,1.15) var(--d) both,bob 5.5s ease-in-out calc(var(--d) + 1.1s) infinite}
.c1{left:0;top:4%;--w:25%;--r:-12deg;--d:.15s}
.c2{right:2%;top:0;--w:23%;--r:11deg;--d:.3s}
.c3{left:-3%;bottom:22%;--w:27%;--r:7deg;--d:.45s}
.c4{right:-2%;bottom:24%;--w:25%;--r:-8deg;--d:.6s}
.c5{left:18%;bottom:-2%;--w:21%;--r:-5deg;--d:.75s}
.c6{right:20%;bottom:-3%;--w:23%;--r:9deg;--d:.9s}
@keyframes drop{from{translate:0 -170%;opacity:0}to{translate:0 0;opacity:1}}
@keyframes bob{50%{translate:0 -9px}}
@media(max-width:860px){.hero-in{grid-template-columns:1fr}.stage{max-width:400px}.hero-bg{background:linear-gradient(to bottom,rgba(8,9,12,.75),rgba(8,9,12,.55) 60%,var(--bg)),url(assets/hero-bg.jpg) center/cover no-repeat,#12091c}}

/* ticker keeps v2 rules */

.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.tile{position:relative;background:var(--panel);padding:clamp(18px,2.4vw,28px);display:grid;gap:10px;align-content:start;min-width:0;overflow:hidden;clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%)}
.tile .tag{font:800 .85rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--flame)}
.tile h3{font-size:clamp(1.4rem,2.4vw,1.8rem)}
.tile p{color:#aab1c0;font-size:1rem;max-width:46ch}
.t-shop{grid-column:span 4;grid-template-columns:1.05fr 1fr;align-items:center;background:linear-gradient(120deg,#1d1226,var(--panel) 70%)}
.t-shop .tile-txt{display:grid;gap:10px}
.shop-art{position:relative;min-height:220px;height:100%}
.shop-art img{position:absolute;height:auto;filter:drop-shadow(0 16px 18px rgba(0,0,0,.55))}
.shop-art img:nth-child(1){left:-4%;top:6%;width:92%}
.shop-art img:nth-child(2){right:-2%;bottom:-4%;width:38%}
.shop-art img:nth-child(3){left:6%;bottom:-6%;width:38%}
.t-daily{grid-column:span 2;background:linear-gradient(160deg,#2a1a10,var(--panel) 70%)}
.bigno{font:900 clamp(4.4rem,9vw,6.4rem)/.85 var(--display);font-style:italic;background:linear-gradient(160deg,var(--amber),var(--ember));-webkit-background-clip:text;background-clip:text;color:transparent}
.t-inv,.t-stats,.t-set{grid-column:span 2}
.t-strike,.t-tier{grid-column:span 3}
.tier-chips{display:flex;flex-wrap:wrap;gap:8px}
.tier-chips span{font:800 1rem/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--c);background:var(--bg);padding:9px 12px;box-shadow:inset 3px 0 0 var(--c)}
@media(max-width:900px){.t-shop,.t-daily,.t-strike,.t-tier{grid-column:span 6}.t-inv,.t-stats{grid-column:span 3}.t-set{grid-column:span 6}}
@media(max-width:640px){.t-shop{grid-template-columns:1fr}.t-inv,.t-stats,.t-set{grid-column:span 6}.shop-art{min-height:200px}}

.crates{background:radial-gradient(900px 420px at 85% 0,rgba(130,70,210,.16),transparent 70%),var(--bg)}
.crate-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px}
.crate{background:var(--panel);padding:22px 20px 24px;display:grid;gap:8px;justify-items:center;text-align:center;min-width:0;clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,0 100%)}
.crate img{width:min(62%,180px);height:auto;aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 14px 14px rgba(0,0,0,.5));transition:transform .25s}
.crate:hover img{transform:translateY(-6px) rotate(-3deg)}
.crate h3{font-size:1.7rem;font-style:italic;margin-top:6px}
.crate p{color:#aab1c0;font-size:.98rem;max-width:30ch}
@media(max-width:900px){.crate-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.crate-grid{grid-template-columns:1fr 1fr;gap:10px}.crate{padding:16px 12px 18px}.crate h3{font-size:1.4rem}.crate p{font-size:.9rem}}

.arsenal{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;margin-top:34px;align-items:stretch}
@media(max-width:900px){.arsenal{grid-template-columns:1fr}}
.gun-stage{position:relative;background:radial-gradient(closest-side at 50% 45%,#33201a,var(--panel));min-height:340px;display:grid;place-items:center;padding:24px 20px 70px;clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,0 100%)}
.gun-stage img{max-width:94%;max-height:250px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 22px 26px rgba(0,0,0,.6))}
.gun-meta{position:absolute;left:20px;right:20px;bottom:18px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.gun-meta strong{font:800 clamp(1.6rem,4vw,2.3rem)/1 var(--display);font-style:italic;text-transform:uppercase}
.gun-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;align-content:start}
.gun-btn{background:var(--panel);border:1px solid transparent;aspect-ratio:1;padding:10px;display:grid;place-items:center;cursor:pointer;min-width:0}
.gun-btn:hover{background:var(--panel-2)}
.gun-btn img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.gun-btn[aria-pressed="true"]{border-color:var(--flame);background:#241812}

.worlds{background:linear-gradient(to bottom,var(--bg),#0d0b14 30%,#0d0b14 80%,var(--bg))}
.world-stage{position:relative;margin-top:34px;aspect-ratio:16/9;background:#000;overflow:hidden;clip-path:polygon(0 0,100% 0,100% calc(100% - 28px),calc(100% - 28px) 100%,0 100%)}
.world-stage img{width:100%;height:100%;object-fit:cover;display:block}
.world-cap{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:40px 22px 16px;background:linear-gradient(to top,rgba(0,0,0,.78),transparent)}
.world-cap strong{font:800 clamp(1.5rem,4vw,2.2rem)/1 var(--display);font-style:italic;text-transform:uppercase}
.world-strip{display:flex;gap:8px;overflow-x:auto;padding:12px 2px 10px;margin-top:6px;scrollbar-width:thin}
.world-btn{flex:none;width:clamp(92px,14vw,132px);aspect-ratio:16/9;padding:0;border:2px solid transparent;background:var(--panel);cursor:pointer;overflow:hidden;opacity:.72}
.world-btn img{width:100%;height:100%;object-fit:cover;display:block}
.world-btn:hover{opacity:1}
.world-btn[aria-pressed="true"]{border-color:var(--flame);opacity:1}

.rewards{background:radial-gradient(800px 360px at 15% 0,rgba(255,90,31,.1),transparent 70%),var(--bg)}
.cal{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px}
.day{background:var(--panel);padding:10px 10px 12px;display:grid;gap:6px;justify-items:center;align-content:space-between;text-align:center;min-height:124px;min-width:0}
.day .n{font:800 .8rem/1 var(--display);letter-spacing:.14em;color:var(--mute);justify-self:start}
.day .v{display:flex;align-items:center;gap:6px;font:900 1.7rem/1 var(--display);font-style:italic;font-variant-numeric:tabular-nums}
.coin{display:inline-block;width:20px;height:20px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe08a,#ffa51f 60%,#b86a00);box-shadow:inset 0 0 0 2px rgba(0,0,0,.25);flex:none}
.day .k{font:800 .75rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--amber)}
.day.item{background:linear-gradient(160deg,#2c1b12,var(--panel));box-shadow:inset 0 0 0 1px #5a3320}
.day.item img.g{max-width:100%;max-height:50px;width:auto;height:auto;object-fit:contain}
.day.item img.w{width:100%;aspect-ratio:16/9;object-fit:cover}
.day.big .v{color:var(--amber)}

.gunpick{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.gunpick button{width:72px;height:52px;background:var(--panel);border:1px solid transparent;padding:6px;cursor:pointer;display:grid;place-items:center}
.gunpick button img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.gunpick button[aria-pressed="true"]{border-color:var(--flame);background:#241812}
.tiers{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;align-items:end;margin-top:40px}
.tier{background:var(--panel);padding:18px 16px 20px;display:grid;gap:6px;align-content:end;position:relative;overflow:hidden;min-width:0}
.tier::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--c),transparent 78%);opacity:.22}
.tier:nth-child(1){min-height:120px}.tier:nth-child(2){min-height:165px}.tier:nth-child(3){min-height:210px}.tier:nth-child(4){min-height:255px}.tier:nth-child(5){min-height:300px}.tier:nth-child(6){min-height:345px}
.tier h3{position:relative;color:var(--c);font-size:clamp(1.3rem,2.6vw,2rem);font-style:italic}
.tier p{position:relative;color:#aab1c0;font-size:.92rem}
.tier:nth-child(6) h3{animation:flick 1.6s steps(2,end) infinite}
@keyframes flick{50%{opacity:.7}}
@media(max-width:900px){.tiers{grid-template-columns:repeat(3,1fr)}.tier{min-height:0!important}}
@media(max-width:520px){.tiers{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.cr{animation:none}.tier:nth-child(6) h3{animation:none}}

/* ===== multi-page ===== */
nav.main a[aria-current="page"]{color:var(--amber)}
section.pg{padding-top:clamp(40px,6vw,76px);min-height:70vh}
code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.92em;background:var(--panel-2);padding:2px 6px}
.page-legal .legal .wrap{padding-block:clamp(36px,6vw,64px)}
.hub{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px}
.hub a{display:grid;gap:8px;align-content:start;padding:22px;background:var(--panel);border:1px solid var(--line);color:var(--fg);text-decoration:none;transition:transform .15s,border-color .15s}
.hub a:hover{transform:translateY(-3px);border-color:var(--flame)}
.hub b{font:800 1.6rem/1 var(--display);text-transform:uppercase;font-style:italic}
.hub span{color:#b9bfcc;font-size:.98rem}
.hub em{font:800 .95rem/1 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--amber);font-style:normal;margin-top:6px}
@media(max-width:900px){.hub{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.hub{grid-template-columns:1fr}}
.admin-page header.top .wrap{justify-content:space-between}
.admin-page #adminRoot{min-height:calc(100vh - 64px)}
.admin-page .adm{min-height:calc(100vh - 64px)}

.rev-sum:empty{display:none}
