:root{
  --void:#060308;
  --night:#140c0a;
  --ink:#f6ead6;
  --muted:#c9b69a;
  --cyan:#3ee7ff;
  --cyan-deep:#128aa8;
  --lantern:#ffc878;
  --lantern-soft:#ffe6b8;
  --gold:#f0c45a;
  --moss:#4a9a62;
  --leaf:#6ec46a;
  --vine:#2f7a34;
  --fox:#e07a38;
  --magenta:#c45cff;
  --wood:#2a1810;
  --wood-hi:#d4a060;
  --frame:#8a4a24;
  --ok:#6edf8a;
  --bad:#ff6b7a;
  --font:"Source Serif 4",Georgia,"Times New Roman",serif;
  --ui:Syne,system-ui,sans-serif;
  --pix:Silkscreen,ui-monospace,monospace;
  --edge:1px 0 0 #000,-1px 0 0 #000,0 1px 0 #000,0 -1px 0 #000;
  --neon:0 0 6px rgba(62,231,255,1),0 0 14px rgba(62,231,255,.75),0 0 28px rgba(62,231,255,.4);
}
*{box-sizing:border-box}
html{color-scheme:dark;scrollbar-width:auto;scrollbar-color:#e07a38 #12080a}
*{scrollbar-width:thin;scrollbar-color:#e07a38 #12080a}
::-webkit-scrollbar,
*::-webkit-scrollbar{width:14px;height:14px;background:#090508}
::-webkit-scrollbar-corner,
*::-webkit-scrollbar-corner{background:#090508}
::-webkit-scrollbar-button,
*::-webkit-scrollbar-button{width:0;height:0;display:none}
::-webkit-scrollbar-track,
*::-webkit-scrollbar-track{
  background:
    repeating-linear-gradient(0deg,transparent 0 3px,rgba(62,231,255,.05) 3px 4px),
    #12080a;
  box-shadow:inset 2px 0 0 #6a3a12,inset -2px 0 0 #6a3a12,inset 0 0 0 1px #0a0608;
}
::-webkit-scrollbar-thumb,
*::-webkit-scrollbar-thumb{
  background:
    repeating-linear-gradient(180deg,transparent 0 3px,rgba(0,0,0,.22) 3px 4px),
    linear-gradient(90deg,transparent 0,transparent 3px,rgba(62,231,255,.9) 3px 5px,transparent 5px),
    linear-gradient(90deg,transparent calc(100% - 5px),rgba(240,196,90,.9) calc(100% - 5px) calc(100% - 3px),transparent calc(100% - 3px)),
    linear-gradient(180deg,#e07a38,#9a5228 42%,#5a2a10);
  border:3px solid #090508;
  box-shadow:
    inset 0 2px 0 var(--frame),
    inset 0 -2px 0 #6a3a12,
    0 0 10px rgba(255,154,60,.28);
}
::-webkit-scrollbar-thumb:hover,
*::-webkit-scrollbar-thumb:hover{
  background:
    repeating-linear-gradient(180deg,transparent 0 3px,rgba(0,0,0,.16) 3px 4px),
    linear-gradient(90deg,transparent 0,transparent 3px,#f0c45a 3px 5px,transparent 5px),
    linear-gradient(180deg,#3ee7ff,#128aa8 48%,#0a4a55);
  box-shadow:0 0 16px rgba(62,231,255,.5);
}
::-webkit-scrollbar-thumb:active,
*::-webkit-scrollbar-thumb:active{
  background:
    repeating-linear-gradient(180deg,transparent 0 3px,rgba(0,0,0,.2) 3px 4px),
    linear-gradient(180deg,#f0c45a,#c45a20 50%,#8a3a12);
}
html::-webkit-scrollbar{width:16px;height:16px;background:#090508}
html{scroll-behavior:smooth;overflow-y:scroll}
body{
  background:
    radial-gradient(ellipse 48% 38% at 10% 6%, rgba(255,154,60,.28), transparent 56%),
    radial-gradient(ellipse 44% 40% at 92% 8%, rgba(62,231,255,.24), transparent 54%),
    radial-gradient(ellipse 70% 28% at 50% -6%, rgba(36,70,150,.16), transparent 52%),
    radial-gradient(ellipse 78% 26% at 50% 108%, rgba(46,122,64,.16), transparent 56%),
    var(--void);
}
img{max-width:100%;height:auto;display:block}
a{color:var(--cyan);text-decoration:none}
a:hover{color:var(--gold)}
button,input,textarea,select{font:inherit;color:inherit}
.skip{position:absolute;left:-999px;top:8px}
.skip:focus{left:8px;background:#000;padding:8px 12px;z-index:90}
.wrap{width:min(1080px,calc(100% - 32px));margin-inline:auto}

.fx-grid{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.42;background:
  repeating-linear-gradient(0deg,transparent 0 7px,rgba(62,231,255,.045) 7px 8px),
  repeating-linear-gradient(90deg,transparent 0 7px,rgba(255,154,60,.035) 7px 8px);
  animation:gridDrift 28s linear infinite}
.fx-scan{position:fixed;inset:0;z-index:0;pointer-events:none;background:repeating-linear-gradient(180deg,transparent 0 3px,rgba(0,0,0,.1) 3px 4px);opacity:.28;animation:scanDrift 9s linear infinite}
.fx-dust{position:fixed;inset:0;z-index:0;pointer-events:none}
.fx-vignette{position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at center,transparent 42%,rgba(7,4,12,.55) 100%);opacity:.85}
.hud{position:fixed;z-index:35;width:30px;height:30px;pointer-events:none;border-color:var(--cyan);border-style:solid;opacity:.62;filter:drop-shadow(0 0 6px rgba(62,231,255,.7));animation:hudBlink 5.5s ease-in-out infinite}
.hud-tl{top:10px;left:10px;border-width:3px 0 0 3px}
.hud-tr{top:10px;right:10px;border-width:3px 3px 0 0;animation-delay:.4s}
.hud-bl{bottom:10px;left:10px;border-width:0 0 3px 3px;animation-delay:.8s}
.hud-br{bottom:10px;right:10px;border-width:0 3px 3px 0;animation-delay:1.2s}
body>#main,body>.foot,body>.flash{position:relative;z-index:2}

.floaties{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.floaties i{position:absolute;width:6px;height:6px;background:var(--lantern);box-shadow:0 0 10px var(--lantern),0 0 18px rgba(255,154,60,.5);opacity:.55;animation:lanternRise 14s linear infinite}
.floaties i:nth-child(odd){width:4px;height:4px;background:var(--cyan);box-shadow:0 0 10px var(--cyan);animation-name:cyanRise;animation-duration:18s}
.floaties i:nth-child(3n){width:8px;height:8px;background:url("/assets/img/ui/leaf-speck.png?v=2") center / 8px 8px no-repeat;box-shadow:0 0 8px rgba(110,196,106,.35);image-rendering:pixelated;animation-duration:16s}
.floaties i:nth-child(1){left:8%;bottom:-8%;animation-delay:0s}
.floaties i:nth-child(2){left:18%;bottom:-12%;animation-delay:2s}
.floaties i:nth-child(3){left:28%;bottom:-6%;animation-delay:4.2s}
.floaties i:nth-child(4){left:42%;bottom:-14%;animation-delay:1.4s}
.floaties i:nth-child(5){left:55%;bottom:-10%;animation-delay:3.1s}
.floaties i:nth-child(6){left:67%;bottom:-8%;animation-delay:5.5s}
.floaties i:nth-child(7){left:78%;bottom:-16%;animation-delay:.8s}
.floaties i:nth-child(8){left:88%;bottom:-7%;animation-delay:6.2s}
.floaties i:nth-child(9){left:12%;bottom:-18%;animation-delay:7.4s}
.floaties i:nth-child(10){left:73%;bottom:-20%;animation-delay:8.6s}

.top{position:sticky;top:0;z-index:50;overflow:visible;background:
  linear-gradient(90deg,rgba(47,122,52,.2),transparent 26%,transparent 74%,rgba(62,231,255,.14)),
  linear-gradient(180deg,rgba(196,137,74,.22),rgba(14,8,6,.62) 78%,rgba(6,4,8,.28)),
  url("/assets/img/ui/wood-tile.png?v=2") center top / 96px 96px repeat;
  image-rendering:pixelated;
  box-shadow:0 4px 0 #12080a,0 7px 0 var(--frame),0 8px 0 rgba(62,231,255,.28),0 10px 18px rgba(0,0,0,.35);
  transition:box-shadow .35s,filter .35s}
.top.is-scrolled{filter:brightness(1.04);box-shadow:0 5px 0 #12080a,0 8px 0 var(--frame),0 9px 0 rgba(62,231,255,.4),0 12px 22px rgba(0,0,0,.45)}
/* Liane dalla hotbar: 1:1 pixel, attacco esatto sotto il legno, tile con gap nativi */
.canopy{
  position:absolute;left:0;right:0;top:100%;bottom:auto;height:48px;margin-top:-2px;z-index:49;pointer-events:none;
  background:url("/assets/img/ui/vine-hang.png?v=4") 0 0 / 288px 48px repeat-x;
  image-rendering:pixelated;
  filter:drop-shadow(0 3px 0 rgba(8,4,4,.6));
  opacity:.94;
}
.top-inner{width:min(1140px,calc(100% - 24px));margin:0 auto;display:flex;align-items:center;gap:16px;padding:8px 0 10px}
.top-xp{height:4px;width:100%;background:#1a0e12;box-shadow:0 2px 0 #090508;overflow:hidden}
.top-xp span{display:block;height:100%;width:100%;transform-origin:left center;transform:scaleX(0);background:linear-gradient(90deg,var(--cyan),var(--gold),var(--magenta));box-shadow:0 0 10px rgba(62,231,255,.55);transition:transform .12s linear}
.top-inner-row{border-bottom:2px solid rgba(62,231,255,.28);box-shadow:0 1px 0 rgba(196,137,74,.25)}
.brand{display:flex;align-items:center;flex-shrink:0;line-height:0}
.brand picture,.foot-brand picture{display:contents}
.brand-emblem{
  width:84px;height:84px;flex-shrink:0;object-fit:contain;
  border-radius:0;background:none;box-shadow:none;
  filter:drop-shadow(0 10px 14px rgba(0,0,0,.7));
  animation:emblemFloat 4.6s ease-in-out infinite;
  transition:filter .25s,transform .25s;
}
.brand .brand-emblem{width:100px;height:100px}
.brand:hover .brand-emblem{animation-play-state:paused;transform:translateY(-3px) scale(1.05);filter:drop-shadow(0 14px 18px rgba(0,0,0,.75)) drop-shadow(0 0 10px rgba(62,231,255,.35))}
.nav{display:flex;gap:2px;flex:1;justify-content:center;flex-wrap:wrap;min-width:0}
.nav a{position:relative;color:var(--cyan);padding:8px 12px 8px 18px;font-family:var(--ui);font-size:.9rem;font-weight:700;border-bottom:3px solid transparent;text-shadow:var(--edge);transition:color .2s,border-color .2s,text-shadow .2s}
.nav a:before{content:"";position:absolute;left:4px;top:50%;width:6px;height:6px;margin-top:-3px;background:var(--cyan);opacity:0;transform:scale(.4);box-shadow:0 0 8px var(--cyan);image-rendering:pixelated;transition:.2s}
.nav a:hover,.nav a[aria-current="page"]{color:#b8fbff;border-bottom-color:var(--cyan);text-shadow:var(--edge),var(--neon)}
.nav a:hover:before,.nav a[aria-current="page"]:before{opacity:1;transform:scale(1);animation:caretBlink 1.1s steps(2) infinite}
.top-user{display:flex;gap:8px;align-items:center;flex-shrink:0}
.nav-toggle{display:none}

.lang-switch{position:relative;flex-shrink:0;z-index:51}
.lang-btn{display:inline-flex;align-items:center;gap:8px;padding:7px 10px 7px 8px;background:#140c0a;border:0;color:var(--cyan);cursor:pointer;font-family:var(--ui);font-weight:800;text-shadow:var(--edge);box-shadow:inset 0 0 0 2px var(--frame),0 3px 0 #6a3a12;transition:transform .12s,box-shadow .2s,filter .2s,text-shadow .2s}
.lang-btn:hover,.lang-switch.is-open .lang-btn{box-shadow:inset 0 0 0 2px var(--cyan),0 3px 0 #0a4a55,0 0 16px rgba(62,231,255,.25);filter:brightness(1.06);text-shadow:var(--edge),var(--neon)}
.lang-flag{display:grid;place-items:center;width:22px;height:16px;flex-shrink:0;overflow:hidden;box-shadow:0 0 0 1px #0a0608,0 0 8px rgba(62,231,255,.2)}
.lang-flag svg{width:22px;height:16px;display:block}
.lang-code{font-family:var(--pix);font-size:.62rem;letter-spacing:.12em;color:var(--gold)}
.lang-caret{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--cyan);transition:transform .2s}
.lang-switch.is-open .lang-caret{transform:rotate(180deg)}
.lang-menu{position:fixed;z-index:110;isolation:isolate;width:min(280px,calc(100vw - 24px));max-height:min(640px,calc(100vh - 96px));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:10px 8px 8px;background:linear-gradient(180deg,rgba(196,137,74,.16),transparent 20%),url("/assets/img/ui/wood-tile.png?v=2") center / 96px 96px,#1a0e0a;image-rendering:pixelated;box-shadow:4px 0 0 #12080a,-4px 0 0 #12080a,0 4px 0 #12080a,0 -4px 0 #12080a,6px 0 0 var(--cyan),-6px 0 0 var(--cyan),0 6px 0 var(--frame),0 -6px 0 var(--frame),0 16px 0 #090508,0 0 40px rgba(62,231,255,.22);transform:translateY(-8px);transform-origin:top right;opacity:0;pointer-events:none;visibility:hidden;transition:transform .18s cubic-bezier(.2,.8,.2,1),opacity .16s ease}
.lang-menu.is-open{opacity:1;pointer-events:auto;visibility:visible;transform:none}
.lang-kicker{font-family:var(--pix);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);margin:0 8px 8px;text-shadow:var(--edge),0 0 10px rgba(62,231,255,.45)}
.lang-opt{display:flex;align-items:center;gap:10px;padding:7px 8px;margin:0 0 2px;color:var(--cyan);text-decoration:none;text-shadow:var(--edge);transition:background .15s,transform .15s,color .15s,text-shadow .2s;cursor:pointer;pointer-events:auto;position:relative;z-index:1}
.lang-opt:hover{background:rgba(62,231,255,.08);color:#b8fbff;transform:translateX(4px);text-shadow:var(--edge),var(--neon)}
.lang-opt.is-on{background:rgba(62,231,255,.12);box-shadow:inset 3px 0 0 var(--cyan)}
.lang-opt b{display:block;font-family:var(--ui);font-size:.92rem;line-height:1.1}
.lang-opt small{display:block;font-family:var(--pix);font-size:.55rem;letter-spacing:.1em;color:var(--muted)}

.acct-switch{position:relative;flex-shrink:0;z-index:51}
.acct-btn{display:inline-flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;background:#140c0a;border:0;color:var(--cyan);cursor:pointer;font-family:var(--ui);font-weight:800;text-shadow:var(--edge);box-shadow:inset 0 0 0 2px var(--frame),0 3px 0 #6a3a12;transition:transform .12s,box-shadow .2s,filter .2s,text-shadow .2s;max-width:220px}
.acct-btn:hover,.acct-switch.is-open .acct-btn{box-shadow:inset 0 0 0 2px var(--cyan),0 3px 0 #0a4a55,0 0 16px rgba(62,231,255,.25);filter:brightness(1.06);text-shadow:var(--edge),var(--neon)}
.acct-switch.is-open .lang-caret{transform:rotate(180deg)}
.acct-nick{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem}
.acct-menu{position:fixed;z-index:110;isolation:isolate;width:min(280px,calc(100vw - 24px));max-height:min(420px,calc(100vh - 96px));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:10px 8px 8px;background:linear-gradient(180deg,rgba(196,137,74,.16),transparent 20%),url("/assets/img/ui/wood-tile.png?v=2") center / 96px 96px,#1a0e0a;image-rendering:pixelated;box-shadow:4px 0 0 #12080a,-4px 0 0 #12080a,0 4px 0 #12080a,0 -4px 0 #12080a,6px 0 0 var(--cyan),-6px 0 0 var(--cyan),0 6px 0 var(--frame),0 -6px 0 var(--frame),0 16px 0 #090508,0 0 40px rgba(62,231,255,.22);transform:translateY(-8px);transform-origin:top right;opacity:0;pointer-events:none;visibility:hidden;transition:transform .18s cubic-bezier(.2,.8,.2,1),opacity .16s ease}
.acct-menu.is-open{opacity:1;pointer-events:auto;visibility:visible;transform:none}
.acct-card{display:flex;align-items:center;gap:10px;padding:8px;margin:0 0 8px;background:rgba(62,231,255,.06);box-shadow:inset 3px 0 0 var(--cyan)}
.acct-card b{display:block;font-family:var(--ui);font-size:.95rem;color:var(--cyan);text-shadow:var(--edge)}
.acct-card small{display:block;font-family:var(--pix);font-size:.55rem;letter-spacing:.1em;color:var(--gold)}
.acct-out b{color:var(--bad)}
.avatar{display:block;object-fit:cover;object-position:center;flex-shrink:0;background:#12080a;box-shadow:0 0 0 2px var(--frame),0 0 10px rgba(62,231,255,.18);image-rendering:auto}
.avatar-xs{width:28px;height:28px}
.avatar-md{width:48px;height:48px}
.avatar-lg{width:96px;height:96px}
.avatar-letter{display:grid;place-items:center;font-family:var(--pix);font-weight:700;color:var(--cyan);background:linear-gradient(180deg,#2a1810,#12080a);text-shadow:0 0 8px rgba(62,231,255,.45)}
.avatar-xs.avatar-letter{font-size:.7rem}
.avatar-md.avatar-letter{font-size:1.1rem}
.avatar-lg.avatar-letter{font-size:2rem}
.account-hero{display:flex;gap:18px;align-items:flex-start;margin:8px 0 8px;flex-wrap:wrap}
.account-bio{margin:10px 0 0;color:var(--ink);line-height:1.55;max-width:52ch}
.account-face-row{display:flex;gap:14px;align-items:center}
.file-slot{display:grid;gap:6px;flex:1}
.file-slot input[type=file]{padding:8px;font-size:.82rem}

html[lang="zh"] body,html[lang="ja"] body,html[lang="ko"] body{font-family:"Noto Sans SC","Noto Sans JP","Noto Sans KR",var(--font)}
html[lang="zh"] .btn,html[lang="ja"] .btn,html[lang="ko"] .btn,html[lang="ru"] .btn,html[lang="zh"] .nav a,html[lang="ja"] .nav a,html[lang="ko"] .nav a{font-family:var(--ui),"Noto Sans SC","Noto Sans JP","Noto Sans KR",var(--font)}
html[lang="ru"] .pixel-kicker,html[lang="zh"] .pixel-kicker,html[lang="ja"] .pixel-kicker,html[lang="ko"] .pixel-kicker,html[lang="pl"] .pixel-kicker{font-family:var(--ui),var(--font);letter-spacing:.08em}

.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:0;padding:11px 18px;background:var(--cyan);color:#04151a;font-family:var(--ui);font-weight:800;cursor:pointer;text-shadow:none;text-decoration:none;box-shadow:0 4px 0 var(--cyan-deep),0 0 18px rgba(62,231,255,.28);transition:transform .12s,box-shadow .12s,filter .2s,text-shadow .2s;image-rendering:pixelated}
a.btn{color:#04151a}
.btn:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);transform:translateX(-120%);pointer-events:none}
.btn:hover{filter:brightness(1.07);color:#04151a}
.btn:hover:after{animation:shine .7s ease}
.btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--cyan-deep)}
.btn.ghost{background:linear-gradient(180deg,rgba(196,137,74,.22),rgba(18,8,6,.55));color:var(--cyan);text-shadow:var(--edge);box-shadow:inset 0 0 0 2px var(--lantern),0 3px 0 #6a3a12}
.btn.ghost:hover{background:linear-gradient(180deg,rgba(62,231,255,.16),rgba(18,8,6,.45));color:#b8fbff;text-shadow:var(--edge),var(--neon)}
.btn.sm{padding:8px 12px;font-size:.86rem}
.btn.festive{background:linear-gradient(180deg,#e85a4a,#9a1c28);color:#fff8e8;box-shadow:0 4px 0 #5a1018,0 0 18px rgba(226,74,72,.38)}
.btn.festive:hover{color:#fff8e8;filter:brightness(1.08)}
.btn.festive:active{box-shadow:0 1px 0 #5a1018}
.btn.bad{background:#ff6b7a;color:#2a0610;box-shadow:0 4px 0 #8a2030}
.btn.warn{background:var(--gold);color:#2a1d06;box-shadow:0 4px 0 #8a6a20}

.hero{min-height:calc(100vh - 88px);display:grid;place-items:center;padding:36px 16px 56px;position:relative;overflow:clip}
.hero-auras{position:absolute;inset:0;pointer-events:none;z-index:0}
.aura{position:absolute;filter:blur(2px);opacity:.85;mix-blend-mode:screen}
.aura-sword{width:44vw;height:50vh;left:54%;top:6%;background:radial-gradient(ellipse,rgba(62,231,255,.32),transparent 68%);animation:auraDrift 9s ease-in-out infinite}
.aura-lantern{width:36vw;height:40vh;left:6%;top:16%;background:radial-gradient(ellipse,rgba(255,154,60,.24),transparent 70%);animation:auraDrift 11s ease-in-out infinite reverse}
.aura-dusk{width:42vw;height:30vh;left:28%;top:-8%;background:radial-gradient(ellipse,rgba(48,80,170,.14),transparent 68%);animation:auraDrift 13s ease-in-out infinite}
.aura-moss{width:38vw;height:34vh;left:8%;bottom:0;background:radial-gradient(ellipse,rgba(74,154,98,.2),transparent 70%);animation:auraDrift 10s ease-in-out infinite reverse}
.hero-core{text-align:center;max-width:760px;position:relative;z-index:1}
.hero-stage{position:relative;display:grid;place-items:center;margin:0 auto 8px}
.hero-logo{
  position:relative;z-index:1;
  width:min(380px,78vw);height:auto;margin:0 auto 8px;
  border-radius:0;box-shadow:none;background:none;
  filter:drop-shadow(0 18px 28px rgba(0,0,0,.55)) drop-shadow(0 0 22px rgba(62,231,255,.35)) drop-shadow(0 0 36px rgba(255,154,60,.18));
  animation:heroBob 6s ease-in-out infinite;
}
.hero-spark{position:absolute;inset:8% 12%;pointer-events:none;background:
  radial-gradient(circle at 72% 38%, rgba(62,231,255,.55) 0 2px, transparent 3px),
  radial-gradient(circle at 28% 44%, rgba(255,154,60,.6) 0 2px, transparent 3px),
  radial-gradient(circle at 60% 22%, rgba(196,92,255,.5) 0 1.5px, transparent 3px),
  radial-gradient(circle at 40% 70%, rgba(240,196,90,.45) 0 2px, transparent 3px);
  animation:sparkTwinkle 2.8s steps(2) infinite}
.pixel-kicker,.foot-brand .pixel-kicker{font-family:var(--pix);color:#fff3d4;letter-spacing:.14em;text-transform:uppercase;font-size:.74rem;margin:0 0 8px;font-weight:700;text-shadow:1px 0 0 #0a0608,-1px 0 0 #0a0608,0 1px 0 #0a0608,0 -1px 0 #0a0608,2px 0 0 #0a0608,-2px 0 0 #0a0608,0 2px 0 #12080a,0 0 8px rgba(255,210,140,.25)}
.hero h1,.display,.page h1,.section h2,.card h3,.panel h2,.cookie-box h2{font-family:var(--ui);font-weight:800;letter-spacing:-.03em;line-height:1.05}
.hero h1{font-size:clamp(2.15rem,6.2vw,3.7rem);margin:0 0 14px;color:#fff8e8;animation:titleGlow 5s ease-in-out infinite}
.lede{font-size:1.12rem;color:var(--muted);line-height:1.65;max-width:60ch}
.hero .lede{margin-inline:auto}
.hero-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:26px}

.section{padding:64px 0}
.section h2{font-size:clamp(1.6rem,3.6vw,2.3rem);margin:0 0 10px}
.muted{color:var(--muted)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center}

.card,.panel,.cookie-box,.stat,.aside{
  padding:20px 22px;position:relative;
  background:
    linear-gradient(180deg,rgba(196,137,74,.26),transparent 18%),
    linear-gradient(0deg,rgba(8,4,4,.42),transparent 24%),
    linear-gradient(rgba(12,6,6,.32),rgba(12,6,6,.32)),
    repeating-linear-gradient(90deg,transparent 0 11px,rgba(0,0,0,.16) 11px 12px),
    url("/assets/img/ui/wood-tile.png?v=2") center / 96px 96px,
    linear-gradient(180deg,#3a2418,#1a0e0a 62%,#120a08);
  image-rendering:pixelated;
  box-shadow:
    4px 0 0 #12080a,-4px 0 0 #12080a,0 4px 0 #12080a,0 -4px 0 #12080a,
    6px 0 0 var(--frame),-6px 0 0 var(--frame),0 6px 0 var(--frame),0 -6px 0 var(--frame),
    8px 2px 0 #0a0608,-8px 2px 0 #0a0608,2px 8px 0 #0a0608,2px -8px 0 #0a0608,
    inset 0 1px 0 rgba(196,137,74,.38),
    0 12px 0 #090508;
  transition:transform .28s ease, filter .28s ease;
}
.card:before,.panel:before,.cookie-box:before{
  content:"";position:absolute;inset:8px;pointer-events:none;opacity:.55;z-index:1;
  background:
    linear-gradient(var(--cyan),var(--cyan)) 0 0 / 11px 2px no-repeat,
    linear-gradient(var(--cyan),var(--cyan)) 0 0 / 2px 11px no-repeat,
    linear-gradient(var(--gold),var(--gold)) 100% 0 / 11px 2px no-repeat,
    linear-gradient(var(--gold),var(--gold)) 100% 0 / 2px 11px no-repeat,
    linear-gradient(var(--gold),var(--gold)) 0 100% / 11px 2px no-repeat,
    linear-gradient(var(--gold),var(--gold)) 0 100% / 2px 11px no-repeat,
    linear-gradient(var(--cyan),var(--cyan)) 100% 100% / 11px 2px no-repeat,
    linear-gradient(var(--cyan),var(--cyan)) 100% 100% / 2px 11px no-repeat;
}
.card:after,.panel:after,.cookie-box:after{
  content:"";position:absolute;inset:-6px;pointer-events:none;z-index:3;
  background:
    url("/assets/img/ui/vine-tl.png?v=3") 0 0 / 64px 64px no-repeat,
    url("/assets/img/ui/vine-tr.png?v=3") 100% 0 / 64px 64px no-repeat,
    url("/assets/img/ui/vine-bl.png?v=3") 0 100% / 64px 64px no-repeat,
    url("/assets/img/ui/vine-br.png?v=3") 100% 100% / 64px 64px no-repeat;
  image-rendering:pixelated;
  filter:drop-shadow(0 2px 0 rgba(8,4,4,.45));
  opacity:.9;
}
.stat:after,.aside:after,.form.panel:after{
  background:
    url("/assets/img/ui/moss-tl.png?v=2") 0 0 / 40px 40px no-repeat,
    url("/assets/img/ui/moss-tr.png?v=2") 100% 0 / 40px 40px no-repeat,
    url("/assets/img/ui/moss-bl.png?v=2") 0 100% / 40px 40px no-repeat,
    url("/assets/img/ui/moss-br.png?v=2") 100% 100% / 40px 40px no-repeat;
  inset:-4px;
  opacity:.88;
}
.card:hover,.panel:hover{transform:translateY(-6px);filter:drop-shadow(0 0 16px rgba(62,231,255,.18)) drop-shadow(0 0 10px rgba(255,154,60,.12))}
.form.panel:hover,.aside:hover,.stat:hover,.donate-form:hover,.donate-aside:hover{transform:none;filter:none}
.card > *,.panel > *,.cookie-box > *,.stat > *,.aside > *{position:relative;z-index:2}
.card h3{margin:0 0 8px;font-size:1.15rem;color:var(--cyan);text-shadow:var(--edge);transition:text-shadow .2s}
.card:hover h3{text-shadow:var(--edge),var(--neon)}
.ico{width:40px;height:40px;margin-bottom:12px;image-rendering:pixelated;transition:transform .25s}
.card:hover .ico{transform:scale(1.12) rotate(-4deg);animation:icoHop .45s ease}
.games-empty{text-align:center;padding:40px 22px}
.forge{width:72px;height:72px;margin:0 auto 14px;display:grid;place-items:center;background:#12080a;box-shadow:inset 0 0 0 3px var(--cyan),0 0 22px rgba(62,231,255,.3);font-family:var(--pix);color:var(--cyan);font-size:1.4rem;animation:forgeHeat 2.4s ease-in-out infinite;image-rendering:pixelated}
.game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.shop-chip{display:inline-flex;align-items:center;gap:6px;margin-left:auto;padding:6px 10px;color:var(--cyan);text-decoration:none;font-family:var(--ui);font-weight:800;font-size:.82rem;text-shadow:var(--edge);background:#140c0a;box-shadow:inset 0 0 0 2px var(--frame),0 3px 0 #6a3a12;flex-shrink:0}
.shop-chip:hover{box-shadow:inset 0 0 0 2px var(--cyan),0 3px 0 #0a4a55,0 0 16px rgba(62,231,255,.25);filter:brightness(1.06)}
.shop-chip + .acct-switch{margin-left:8px}
.coin-dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe08a,#d4a017 55%,#8a6a12);box-shadow:0 0 0 1px #3a2008,0 0 8px rgba(255,196,60,.45);flex-shrink:0}
.shop-balance{margin-top:22px;max-width:42rem}
.shop-balance-n{display:flex;align-items:center;gap:10px;margin:6px 0 0;font-family:var(--ui);font-size:1.55rem;font-weight:800;color:var(--cyan);text-shadow:var(--edge)}
.shop-packs-h{margin:28px 0 14px;font-size:1.2rem}
.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.shop-pack{display:flex;flex-direction:column;gap:6px}
.shop-pack .shop-price{margin:8px 0 12px;font-family:var(--ui);font-size:1.35rem;font-weight:800;color:var(--gold);text-shadow:var(--edge)}
.shop-pack-coins{display:flex;align-items:center;gap:8px;margin:0;font-family:var(--ui);font-weight:800;color:var(--cyan);text-shadow:var(--edge)}
.shop-pack form .btn,.shop-pack > p .btn{width:100%}
.shop-pack .btn:disabled{opacity:.45;cursor:not-allowed;transform:none;filter:none}
.shop-badge{margin:0 0 6px;font-family:var(--pix);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:#04151a;background:var(--cyan);display:inline-block;padding:3px 8px;box-shadow:0 2px 0 var(--cyan-deep)}
.shop-badge-best{background:var(--gold);color:#2a1d06;box-shadow:0 2px 0 #8a6a20}
.shop-pack.is-popular{box-shadow:4px 0 0 #12080a,-4px 0 0 #12080a,0 4px 0 #12080a,0 -4px 0 #12080a,6px 0 0 var(--cyan),-6px 0 0 var(--cyan),0 6px 0 var(--frame),0 -6px 0 var(--frame),8px 2px 0 #0a0608,0 12px 0 #090508}
.shop-pack.is-best{box-shadow:4px 0 0 #12080a,-4px 0 0 #12080a,0 4px 0 #12080a,0 -4px 0 #12080a,6px 0 0 var(--gold),-6px 0 0 var(--gold),0 6px 0 var(--frame),0 -6px 0 var(--frame),8px 2px 0 #0a0608,0 12px 0 #090508}
.shop-legal{margin-top:22px;max-width:62ch}

.donate-page .lede{max-width:64ch}
.donate-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:28px;margin-top:28px;align-items:start}
.donate-form,.donate-aside{min-width:0;max-width:100%;overflow-x:clip}
.donate-form{max-width:none;width:100%;gap:14px;padding:26px 26px 30px}
.donate-form > *,.donate-aside > *{min-width:0;max-width:100%}
.donate-form h2,.donate-aside h2{margin:0 0 8px;font-size:1.25rem}
.donate-aside h3{margin:18px 0 8px;font-size:1.02rem;color:var(--gold);text-shadow:var(--edge)}
.donate-presets{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;align-items:stretch;border:0;margin:2px 0 4px;padding:0;min-width:0;min-inline-size:0;width:100%;max-width:100%}
.donate-legend{grid-column:1/-1;font-family:var(--ui);font-size:.82rem;color:#6ad8ec;text-shadow:var(--edge);padding:0;margin:0 0 2px}
.donate-chip{appearance:none;border:0;cursor:pointer;min-width:0;width:100%;padding:10px 4px;font-family:var(--ui);font-weight:800;font-size:clamp(.72rem,.95vw,.88rem);color:var(--cyan);background:#140c0a;box-shadow:inset 0 0 0 2px var(--frame),0 3px 0 #6a3a12;text-shadow:var(--edge);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.donate-chip:hover,.donate-chip:focus-visible{box-shadow:inset 0 0 0 2px var(--cyan),0 3px 0 #0a4a55,0 0 16px rgba(62,231,255,.25);color:#b8fbff;outline:none}
.donate-chip.is-on{color:#2a1d06;background:var(--gold);box-shadow:0 3px 0 #8a6a20,0 0 14px rgba(240,196,90,.35);text-shadow:none}
.donate-amount-label{margin-top:2px}
.donate-amount{display:flex;align-items:stretch;min-width:0;max-width:100%}
.donate-cur{display:grid;place-items:center;flex:0 0 auto;min-width:44px;padding:0 10px;font-family:var(--ui);font-weight:800;font-size:1.35rem;color:var(--gold);text-shadow:var(--edge);background:#1a0e0c;border:2px solid var(--frame);border-right:0}
.donate-amount input{flex:1;min-width:0;width:auto;border-left:0;font-family:var(--ui);font-size:1.45rem;font-weight:800;color:var(--gold);text-shadow:var(--edge);letter-spacing:.02em}
.donate-form .btn,.donate-form .btn.paypal{margin-top:4px;width:100%;max-width:100%;min-width:0;white-space:normal;overflow:hidden;box-sizing:border-box}
.btn.paypal{width:100%;max-width:100%;background:linear-gradient(180deg,#ffe08a,#f0c45a);color:#1a1206;box-shadow:0 4px 0 #8a6a20,0 0 18px rgba(240,196,90,.35)}
.btn.paypal:hover{color:#1a1206;filter:brightness(1.06)}
.btn.paypal:active{box-shadow:0 1px 0 #8a6a20}
.donate-secure{margin:2px 0 0;color:var(--gold)!important}
.donate-steps{margin:0 0 12px;padding-left:1.2em;color:#6ad8ec;text-shadow:var(--edge);line-height:1.65}
.donate-steps li{margin:0 0 8px}
.donate-banner{margin:20px 0 0}
.donate-banner h2{margin:0 0 8px}
.donate-banner-ok{box-shadow:4px 0 0 #12080a,-4px 0 0 #12080a,0 4px 0 #12080a,0 -4px 0 #12080a,6px 0 0 var(--moss),-6px 0 0 var(--moss),0 6px 0 var(--frame),0 -6px 0 var(--frame),8px 2px 0 #0a0608,0 12px 0 #090508}
.donate-banner-cancel{box-shadow:4px 0 0 #12080a,-4px 0 0 #12080a,0 4px 0 #12080a,0 -4px 0 #12080a,6px 0 0 var(--lantern),-6px 0 0 var(--lantern),0 6px 0 var(--frame),0 -6px 0 var(--frame),8px 2px 0 #0a0608,0 12px 0 #090508}
.donate-handoff{max-width:520px;margin:12px auto 0;text-align:center}
.donate-handoff .lede{margin-inline:auto}
.donate-handoff .btn.paypal{max-width:320px;margin-inline:auto}

.shop-history{min-width:0;overflow-x:clip}
.shop-history .table-wrap,.table-wrap{overflow-x:auto;max-width:100%}
.game-card{overflow:visible;padding:0}
.game-card img{aspect-ratio:16/10;object-fit:cover;width:100%;image-rendering:auto}
.game-card .pad{padding:16px 18px 18px}
.game-card h2{margin:8px 0 6px;font-size:1.2rem;color:var(--cyan);text-shadow:var(--edge)}
.home-game-peek .game-card{margin:0}
.tag{display:inline-block;font-family:var(--pix);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--lantern-soft);border:2px solid rgba(255,230,176,.45);padding:3px 7px;text-shadow:1px 0 0 #0a0608,-1px 0 0 #0a0608,0 1px 0 #0a0608,0 -1px 0 #0a0608,0 0 10px rgba(255,200,120,.35)}
.tag.is-maint{color:var(--lantern);border-color:rgba(255,154,60,.5)}
.tag.is-founder{color:var(--cyan);border-color:rgba(62,231,255,.45)}
.game-card.is-maint{box-shadow:4px 0 0 #12080a,-4px 0 0 #12080a,0 4px 0 #12080a,0 -4px 0 #12080a,6px 0 0 #c45a20,-6px 0 0 #c45a20,0 6px 0 #c45a20,0 -6px 0 #c45a20,8px 2px 0 #0a0608,-8px 2px 0 #0a0608,2px 8px 0 #0a0608,2px -8px 0 #0a0608}

.card,.panel,.cookie-box,.stat,.aside,.foot,.lang-menu,.acct-menu{color:var(--cyan)}
.card p,.panel p,.panel .lede,.card .muted,.panel .muted,.cookie-box p,.cookie-row span,.stat span,.stat-delta,.foot .fine,.foot a,.linkish,.aside a,.table th,.lang-opt small,.help{color:#6ad8ec;text-shadow:var(--edge)}
.panel h2,.cookie-box h2,.stat b,.cookie-row b,.foot-brand p:not(.pixel-kicker):not(.fine){color:var(--cyan);text-shadow:var(--edge);transition:text-shadow .2s}
.panel:hover h2{text-shadow:var(--edge),var(--neon)}
.cookie-box h2,.cookie-kicker,.cookie-row b{text-shadow:var(--edge)}
.foot a,.linkish,.aside a{text-shadow:var(--edge);transition:color .2s,transform .2s,text-shadow .2s}
.foot a:hover,.linkish:hover,.aside a:hover,.aside a.is-on{color:#b8fbff;text-shadow:var(--edge),var(--neon)}
.stat b{color:var(--cyan);text-shadow:var(--edge)}
.nav-toggle{text-shadow:var(--edge);color:var(--cyan)}
.lang-menu .lang-opt small{color:#6ad8ec}
.table td{color:var(--cyan);text-shadow:var(--edge)}
.panel .prose,.card .prose{color:var(--cyan);text-shadow:var(--edge)}

.page{padding:48px 0 72px}
.page h1{font-size:clamp(1.9rem,4.6vw,2.9rem);margin:0 0 10px}
.page h1:after{content:"";display:block;width:88px;height:4px;margin-top:12px;background:linear-gradient(90deg,var(--cyan),var(--lantern),transparent);box-shadow:0 0 12px rgba(62,231,255,.45);animation:barGrow .9s ease}
.prose{max-width:68ch;line-height:1.75;color:#eadfc8}
.prose h2{font-family:var(--ui);margin:1.5em 0 .4em}
.prose ul{padding-left:1.15em}
.form{display:grid;gap:12px;max-width:460px}
.form.wide{max-width:640px}
.form-panel{max-width:520px;padding-top:26px}
label{display:grid;gap:6px;font-size:.9rem;color:var(--muted);font-family:var(--ui)}
.form.panel label,.panel label,.form.panel .help,.panel .help{color:#6ad8ec;text-shadow:var(--edge)}
input,textarea,select{background:#12080c;border:2px solid var(--frame);border-radius:0;padding:11px 12px;outline:none;color:var(--ink);transition:border-color .2s,box-shadow .2s}
input:focus,textarea:focus,select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(62,231,255,.18),0 0 18px rgba(62,231,255,.12);animation:slotPulse 1.6s ease-in-out infinite}
.help{font-size:.8rem;color:var(--muted)}
.err{color:var(--bad);font-size:.9rem}
.ok-line{color:var(--ok);font-size:.9rem;text-shadow:var(--edge)}
.verify-card{max-width:560px}
.otp{display:flex;gap:8px;justify-content:center;margin:4px 0 8px}
.otp-cell{width:46px;height:56px;padding:0;text-align:center;font-family:var(--ui);font-size:1.55rem;font-weight:800;color:var(--cyan);text-shadow:var(--edge);caret-color:var(--cyan)}
.verify-dock{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:8px auto 0;width:min(1080px,calc(100% - 32px));padding:12px 16px;background:linear-gradient(90deg,rgba(62,231,255,.1),rgba(196,137,74,.12)),#1a100c;box-shadow:inset 0 0 0 2px var(--cyan),0 4px 0 #12080a}
.verify-dock p{margin:0;color:var(--cyan);font-family:var(--ui);font-weight:700;text-shadow:var(--edge)}

.flash{margin:8px auto;width:min(1080px,calc(100% - 32px));padding:12px 16px;background:rgba(74,154,98,.15);box-shadow:inset 0 0 0 2px var(--moss);animation:flashIn .45s ease}
.flash.bad{background:rgba(255,107,122,.12);box-shadow:inset 0 0 0 2px var(--bad)}

.foot{margin-top:48px;padding:64px 0 24px;border-top:0;background:
  linear-gradient(180deg,rgba(196,137,74,.14),transparent 22%),
  url("/assets/img/ui/wood-tile.png?v=2") center top / 96px 96px,
  linear-gradient(180deg,#1c120e,#0a0608);
  image-rendering:pixelated;
  position:relative;
  box-shadow:0 -4px 0 #12080a,0 -7px 0 var(--frame),0 -8px 0 rgba(62,231,255,.35)}
/* Liane footer: stesso tile 1:1, ribaltate, attacco sul bordo superiore del legno */
.foot:before{
  content:"";position:absolute;left:0;right:0;top:0;height:48px;margin-top:-2px;pointer-events:none;z-index:0;
  background:url("/assets/img/ui/vine-hang.png?v=4") 0 0 / 288px 48px repeat-x;
  image-rendering:pixelated;transform:scaleY(-1);transform-origin:center top;
  opacity:.9;filter:drop-shadow(0 -3px 0 rgba(8,4,4,.55));
}
.foot-glow{position:absolute;left:10%;right:10%;top:-14px;height:28px;background:radial-gradient(ellipse at center,rgba(62,231,255,.14),transparent 70%);animation:lantern 3.6s ease-in-out infinite;pointer-events:none;z-index:0}
.foot-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr .8fr;gap:24px;position:relative;z-index:1}
.foot-brand .brand-emblem,.foot-brand img{width:104px;height:104px;object-fit:contain;border-radius:0;box-shadow:none;filter:drop-shadow(0 0 14px rgba(62,231,255,.4));animation:emblemFloat 5.2s ease-in-out infinite}
.foot-brand p:not(.pixel-kicker):not(.fine){color:#9ae4f2;text-shadow:var(--edge);line-height:1.55;max-width:36ch}
.foot h2{font-family:var(--pix);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#fff3d4;margin:0 0 10px;font-weight:700;text-shadow:1px 0 0 #0a0608,-1px 0 0 #0a0608,0 1px 0 #0a0608,0 -1px 0 #0a0608,2px 0 0 #0a0608,-2px 0 0 #0a0608,0 2px 0 #12080a,0 0 8px rgba(255,210,140,.25)}
.foot a,.linkish{display:block;color:#7adcf0;background:none;border:0;padding:0;margin:0 0 8px;text-align:left;cursor:pointer;font:inherit;text-shadow:var(--edge);transition:color .2s,transform .2s,text-shadow .2s}
.foot a:hover,.linkish:hover{color:#b8fbff;transform:translateX(4px);text-shadow:var(--edge),var(--neon)}
.foot-base{margin-top:24px;padding-top:14px;border-top:1px solid rgba(154,82,40,.35);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.fine{font-size:.78rem;color:var(--muted)}

.cookie-dock{
  position:fixed;z-index:120;left:16px;bottom:16px;right:auto;
  width:min(420px,calc(100% - 32px));
  pointer-events:none;opacity:0;transform:translateY(16px);
  transition:opacity .28s ease,transform .32s cubic-bezier(.2,.8,.2,1);
}
.cookie-dock.is-open{pointer-events:auto;opacity:1;transform:none}
.cookie-box{
  width:100%;padding:16px 16px 14px;
  box-shadow:
    4px 0 0 #12080a,-4px 0 0 #12080a,0 4px 0 #12080a,0 -4px 0 #12080a,
    6px 0 0 var(--frame),-6px 0 0 var(--frame),0 6px 0 var(--frame),0 -6px 0 var(--frame),
    8px 0 0 rgba(62,231,255,.8),-8px 0 0 rgba(62,231,255,.8),0 8px 0 rgba(62,231,255,.8),0 -8px 0 rgba(62,231,255,.8),
    0 12px 0 #090508,0 0 36px rgba(62,231,255,.22);
}
.cookie-box .cookie-kicker{font-family:var(--pix);font-size:.62rem;letter-spacing:.14em;color:#b8fbff;margin:0 0 6px;text-shadow:1px 0 0 #0a0608,-1px 0 0 #0a0608,0 1px 0 #0a0608,0 -1px 0 #0a0608,0 0 10px rgba(62,231,255,.45)}
.cookie-box h2{margin:0 0 6px;font-size:1.05rem;color:var(--cyan);text-shadow:var(--edge)}
.cookie-box p{margin:0 0 12px;color:#6ad8ec;line-height:1.45;font-size:.9rem;text-shadow:var(--edge)}
.cookie-btns{display:flex;gap:8px;flex-wrap:wrap}
.cookie-btns-one .btn{min-width:120px}
.cookie-box .fine{margin-top:10px}

.admin{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 76px);gap:16px}
.aside{padding:14px 10px}
.aside a{display:block;color:#6ad8ec;padding:9px 10px;margin-bottom:3px;font-family:var(--ui);font-weight:700;text-shadow:var(--edge);transition:color .2s,background .2s,transform .2s,text-shadow .2s}
.aside a:hover,.aside a.is-on{color:#b8fbff;background:rgba(62,231,255,.08);transform:translateX(4px);text-shadow:var(--edge),var(--neon)}
.aside .rank{font-family:var(--pix);font-size:.64rem;color:var(--lantern-soft);letter-spacing:.12em;text-transform:uppercase;padding:4px 10px 12px;text-shadow:1px 0 0 #0a0608,-1px 0 0 #0a0608,0 1px 0 #0a0608,0 -1px 0 #0a0608,0 0 10px rgba(255,200,120,.35)}
.dash-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:4px 0 0}
.dash-actions form{margin:0;display:inline-flex}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.shop-stats{grid-template-columns:repeat(4,1fr)}
.shop-admin-split{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;margin-top:8px}
.shop-admin-split .panel{margin:0}
.shop-adjust-btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.shop-adjust-btns .btn{min-width:140px}
.shop-admin .table-wrap{overflow:auto}
.shop-admin .panel h2{margin-top:0}
.stats-live{margin:18px 0}
.stat{padding:14px}
.stat b{display:block;font-family:var(--ui);font-size:1.7rem;color:var(--cyan);text-shadow:var(--edge)}
.stat span{color:#6ad8ec;font-size:.7rem;font-family:var(--pix);letter-spacing:.08em;text-transform:uppercase;text-shadow:var(--edge)}
.stat-delta{display:block;margin-top:4px;font-size:.72rem;color:var(--muted);font-family:var(--ui);letter-spacing:0;text-transform:none}
.stat-rule{max-width:68ch;color:var(--muted);font-size:.92rem;line-height:1.55;margin:0 0 8px}
.px-chart{display:flex;align-items:flex-end;gap:3px;height:84px;padding:8px 4px 0;background:#12080a;box-shadow:inset 0 0 0 2px rgba(154,82,40,.35)}
.px-bar{flex:1;display:block;min-width:4px;background:linear-gradient(180deg,var(--cyan),var(--cyan-deep));box-shadow:0 0 8px rgba(62,231,255,.25);image-rendering:pixelated}
.px-bar.is-now{background:linear-gradient(180deg,var(--lantern),#c45a20);box-shadow:0 0 8px rgba(255,154,60,.35)}
.table{width:100%;border-collapse:collapse;font-size:.92rem}
.table th,.table td{padding:10px 8px;border-bottom:1px solid rgba(154,82,40,.35);text-align:left}
.table th{font-family:var(--pix);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.table tbody tr{transition:background .2s}
.table tbody tr:hover{background:rgba(62,231,255,.06)}
.gate-hall{margin:0 0 36px}
.gate-game{display:grid;grid-template-columns:220px 1fr;gap:0;padding:0;margin-top:20px;overflow:hidden}
.gate-game-art{min-height:220px;background:#12080a}
.gate-game-art img{width:100%;height:100%;object-fit:cover;display:block}
.gate-game-art .forge{margin:48px auto}
.gate-game-body{padding:22px 24px 20px}
.gate-toggles{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.gate-card{margin:0}
.gate-card button{
  width:100%;display:flex;gap:14px;align-items:flex-start;text-align:left;
  background:#12080c;border:2px solid var(--frame);color:var(--cyan);
  padding:16px 14px;cursor:pointer;font:inherit;min-height:118px;
  transition:box-shadow .2s, filter .2s, transform .12s;
}
.gate-card button:hover{filter:brightness(1.06)}
.gate-card button:active{transform:translateY(2px)}
.gate-card.is-on button{box-shadow:inset 0 0 0 2px var(--cyan),0 0 18px rgba(62,231,255,.24)}
.gate-card.is-maint.is-on button{box-shadow:inset 0 0 0 2px var(--lantern),0 0 18px rgba(255,154,60,.28)}
.gate-knob{width:52px;height:28px;flex:0 0 52px;background:#243028;border:2px solid #0a0808;position:relative;margin-top:4px}
.gate-knob i{position:absolute;width:16px;height:16px;background:#fff;top:4px;left:4px;transition:left .15s}
.gate-card.is-on .gate-knob{background:var(--cyan-deep)}
.gate-card.is-on .gate-knob i{left:28px}
.gate-card.is-maint.is-on .gate-knob{background:#c45a20}
.gate-copy{display:flex;flex-direction:column;gap:6px;min-width:0}
.gate-copy b{font-family:var(--ui);font-size:1rem;color:var(--cyan);text-shadow:var(--edge)}
.gate-copy small{font-size:.86rem;line-height:1.45;color:#6ad8ec;text-shadow:var(--edge)}
.gate-copy em{font-family:var(--pix);font-style:normal;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.gate-card.is-on .gate-copy em{color:var(--cyan)}
.gate-card.is-maint.is-on .gate-copy em{color:var(--lantern)}
.gate-play{margin:16px 0 0}
.switch{appearance:none;width:40px;height:22px;background:#243028;position:relative;cursor:pointer;border:2px solid #0a0808;transition:background .2s}
.switch:checked{background:var(--cyan-deep)}
.switch:before{content:"";position:absolute;width:14px;height:14px;background:#fff;top:2px;left:2px;transition:.15s}
.switch:checked:before{left:20px}
.live{display:inline-flex;align-items:center;gap:6px;font-family:var(--pix);color:var(--ok);font-size:.7rem}
.live i{width:8px;height:8px;background:var(--ok);box-shadow:0 0 8px var(--ok);animation:lantern 1.4s ease-in-out infinite}

.role-founder{color:var(--gold)}.role-developer{color:#7ec8ff}.role-staff_admin{color:#d4b8ff}.role-admin{color:var(--cyan)}.role-moderator{color:var(--moss)}.role-helper{color:var(--muted)}

[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
[data-reveal].in{opacity:1;transform:none}
main[data-reveal]{opacity:1;transform:none}

@keyframes emblemFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-4px)}
}
@keyframes heroBob{
  0%,100%{transform:translateY(0) rotate(-.2deg)}
  50%{transform:translateY(-10px) rotate(.25deg)}
}
@keyframes lantern{0%,100%{opacity:.82;text-shadow:0 0 8px rgba(255,154,60,.3)}50%{opacity:1;text-shadow:0 0 16px rgba(255,154,60,.7)}}
@keyframes auraDrift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(3%,-2%) scale(1.08)}}
@keyframes shine{to{transform:translateX(120%)}}
@keyframes gridDrift{to{background-position:8px 8px, -8px 8px}}
@keyframes scanDrift{to{background-position:0 12px}}
@keyframes forgeHeat{0%,100%{filter:hue-rotate(0deg);box-shadow:inset 0 0 0 3px var(--cyan),0 0 18px rgba(62,231,255,.28)}50%{filter:hue-rotate(18deg);box-shadow:inset 0 0 0 3px var(--lantern),0 0 26px rgba(255,154,60,.45)}}
@keyframes titleGlow{
  0%,100%{text-shadow:0 2px 0 #3a1810,0 0 22px rgba(255,154,60,.28)}
  50%{text-shadow:0 2px 0 #3a1810,0 0 28px rgba(62,231,255,.4),0 0 42px rgba(255,154,60,.3)}
}
@keyframes sparkTwinkle{0%,100%{opacity:.25}50%{opacity:1}}
@keyframes lanternRise{
  0%{transform:translateY(0) translateX(0);opacity:0}
  12%{opacity:.7}
  100%{transform:translateY(-110vh) translateX(18px);opacity:0}
}
@keyframes cyanRise{
  0%{transform:translateY(0) translateX(0);opacity:0}
  15%{opacity:.8}
  100%{transform:translateY(-110vh) translateX(-22px);opacity:0}
}
@keyframes caretBlink{50%{opacity:.15}}
@keyframes hudBlink{0%,100%{opacity:.4}50%{opacity:.85}}
@keyframes icoHop{50%{transform:scale(1.18) rotate(-8deg) translateY(-3px)}}
@keyframes tagPulse{0%,100%{box-shadow:none}50%{box-shadow:0 0 10px rgba(240,196,90,.25)}}
@keyframes barGrow{from{width:0;opacity:0}to{width:88px;opacity:1}}
@keyframes slotPulse{0%,100%{box-shadow:0 0 0 3px rgba(62,231,255,.18),0 0 18px rgba(62,231,255,.12)}50%{box-shadow:0 0 0 3px rgba(62,231,255,.28),0 0 26px rgba(255,154,60,.16)}}
@keyframes flashIn{from{transform:translateY(-8px);opacity:0}to{transform:none;opacity:1}}
@media (max-width:900px){
  .grid-3,.grid-2,.foot-grid,.stats,.shop-stats,.shop-admin-split,.admin,.gate-game,.gate-toggles,.donate-layout{grid-template-columns:1fr}
  .donate-presets{grid-template-columns:repeat(3,minmax(0,1fr))}
  .brand .brand-emblem{width:76px;height:76px}
  .otp{gap:6px}
  .otp-cell{width:40px;height:52px;font-size:1.35rem}
  .acct-switch,.lang-switch{margin-left:8px}
  .shop-chip{margin-left:auto}
  .nav-toggle{display:inline-flex;margin-left:8px;background:#1c100c;border:2px solid var(--frame);padding:8px 12px;color:var(--cyan);font-family:var(--ui);font-weight:800;text-shadow:var(--edge)}
  .nav,.top-user{display:none}
  .top.is-open .nav,.top.is-open .top-user{display:flex;flex-direction:column;width:100%}
  .top.is-open .top-inner{flex-wrap:wrap}
  .hud{display:none}
  .fx-grid,.fx-scan{animation:none}
  .aura{animation:none}
  .floaties i:nth-child(n+5){display:none}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;scroll-behavior:auto!important}
  [data-reveal]{opacity:1;transform:none}
  .cookie-box{transform:none}
  .top-xp span{transition:none}
}
