:root{--bg:#07090d;--panel:#0d1118;--panel2:#111722;--line:#202938;--text:#edf3fb;--muted:#8996a8;--accent:#ffb000;--accent2:#ff7600;--good:#45d483;--bad:#ff5f6d;--radius:18px}*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:radial-gradient(circle at 85% -10%,#2a1900 0,transparent 34%),linear-gradient(180deg,#07090d,#090d14 55%,#07090d);color:var(--text);font:15px/1.55 Inter,Segoe UI,Arial,sans-serif;min-height:100vh}a{color:inherit;text-decoration:none}header{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1180px)/2));position:sticky;top:0;background:rgba(7,9,13,.86);backdrop-filter:blur(16px);z-index:20}.brand{display:flex;gap:12px;align-items:center;font-weight:800;letter-spacing:.3px}.brand small{display:block;color:var(--muted);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1.2px}.mark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#170d00;font-weight:950;box-shadow:0 0 32px #ff9d0038}nav{display:flex;gap:24px;color:#b9c4d3}nav a:hover{color:#fff}main{width:min(1180px,calc(100% - 32px));margin:42px auto 70px}.hero{min-height:410px;display:grid;grid-template-columns:1.35fr .65fr;align-items:center;padding:40px 42px;background:linear-gradient(120deg,rgba(255,176,0,.09),transparent 42%),var(--panel);border:1px solid var(--line);border-radius:28px;overflow:hidden;position:relative}.eyebrow{color:var(--accent);font-weight:800;letter-spacing:2px;font-size:11px}.hero h1,.pagehead h1{font-size:clamp(38px,7vw,76px);line-height:.98;margin:12px 0 18px;letter-spacing:-3px}.pagehead h1{font-size:44px;letter-spacing:-1.8px}.lead{font-size:20px;color:#aeb9c7;max-width:650px}.actions{display:flex;gap:12px;margin-top:28px}.orb{width:260px;height:260px;border-radius:50%;margin:auto;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#ffe08a 0,#ffab00 12%,#b45f00 34%,#291500 62%,#090b0f 72%);box-shadow:0 0 80px #ff9d0035,inset -25px -25px 55px #000}.orb span{font-size:76px;font-weight:950;letter-spacing:-8px;color:#110900;text-shadow:0 1px #ffe3a2}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #303b4d;background:#151c27;color:#eaf0f8;border-radius:11px;padding:10px 16px;font-weight:750;cursor:pointer}.btn:hover{border-color:#59677a;background:#1a2331}.btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent2));border-color:transparent;color:#160d00}.btn.tiny{padding:6px 10px;font-size:12px;border-radius:8px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.stat{padding:22px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.stat b{font-size:30px;display:block}.stat span{color:var(--muted);text-transform:uppercase;letter-spacing:1px;font-size:11px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin:18px 0}.panel h2,.panel h3{margin-top:0}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:24px}.grid2>div{padding:8px}.pagehead{display:flex;justify-content:space-between;align-items:center;margin:8px 0 22px}.pagehead h1{margin:8px 0}.muted{color:var(--muted)}.notice{padding:14px 17px;margin:14px 0;border-radius:12px;border:1px solid #324052;background:#121a25}.notice.ok{border-color:#205d3c;background:#0e2118}.notice.bad{border-color:#79323b;background:#251216}.notice.warn{border-color:#775c20;background:#241c0d}.narrow{max-width:560px;margin:auto}.form{display:grid;gap:18px}.form label,.ini-section label{display:grid;gap:7px;font-weight:700}.form small,label small{color:var(--muted);font-weight:500}input,select,textarea{width:100%;background:#080c12;border:1px solid #2b3545;border-radius:10px;color:#f2f6fb;padding:11px 12px;outline:none}input:focus,select:focus,textarea:focus{border-color:#a86f00;box-shadow:0 0 0 3px #ffb00013}textarea{min-height:520px;font:13px/1.5 Consolas,Monaco,monospace;resize:vertical}.search{display:flex;gap:10px;margin:14px 0}.search input{max-width:460px}.tablewrap{overflow:auto;padding:0}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;padding:13px 15px;border-bottom:1px solid #1d2633;white-space:nowrap}th{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#8491a4;background:#0b1017;position:sticky;top:0}tr:hover td{background:#101620}.badge{font-size:10px;font-weight:850;padding:3px 7px;border-radius:999px}.badge.gm{background:#5b3800;color:#ffc453}.badge.on{background:#123a27;color:#5be59a}.health{display:grid;gap:12px}.health>div{display:grid;grid-template-columns:18px 130px 1fr;align-items:center}.health small{color:var(--muted);overflow:hidden;text-overflow:ellipsis}.dot{width:10px;height:10px;border-radius:50%;background:#596274}.dot.good{background:var(--good);box-shadow:0 0 14px #45d48366}.dot.bad{background:var(--bad)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{background:linear-gradient(145deg,#0e141d,#0b0f16);border:1px solid var(--line);border-radius:var(--radius);padding:24px;min-height:125px}.card:hover{border-color:#674d1c;transform:translateY(-1px)}.card b{font-size:19px;display:block;margin-bottom:8px}.card span{color:var(--muted)}.inline{display:flex;gap:7px;align-items:center}.inline select{width:auto;padding:6px}.smallinput{width:62px;padding:6px}.flaginput{width:116px;padding:6px}.ini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:20px}.ini-section{border:1px solid #202a38;border-radius:13px;padding:17px;background:#0a0f16}.ini-section h3{color:var(--accent);font-size:13px}.ini-section label{grid-template-columns:1fr 1.25fr;align-items:center;margin:8px 0;font-size:12px}.ini-section input{padding:7px 9px}code{font-family:Consolas,monospace;color:#ffc45b}footer{border-top:1px solid var(--line);min-height:80px;padding:24px max(24px,calc((100vw - 1180px)/2));display:flex;justify-content:space-between;color:var(--muted)}footer a{color:#d7dee8}@media(max-width:820px){header{padding:0 16px}.brand small{display:none}nav{gap:11px;font-size:12px}.hero{grid-template-columns:1fr;padding:28px;min-height:auto}.orb{display:none}.stats,.cards,.grid2,.ini-grid{grid-template-columns:1fr 1fr}.hero h1{letter-spacing:-2px}.pagehead{align-items:flex-start;gap:14px}.pagehead h1{font-size:36px}.health>div{grid-template-columns:18px 100px 1fr}}@media(max-width:520px){.stats,.cards,.grid2,.ini-grid{grid-template-columns:1fr}main{width:min(100% - 20px,1180px);margin-top:24px}nav a:nth-child(2),nav a:nth-child(3){display:none}.hero{border-radius:20px}.search{flex-direction:column}.search input{max-width:none}}

/* ===== MuOnlineItalia V2.1 - immagini utente Gens ===== */
.mark{display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,var(--accent),var(--accent2));border:0;color:#160d00;font-weight:950;box-shadow:0 0 28px #ff9d0028}
.hero-clean{display:block;min-height:0;padding:48px 46px;background:linear-gradient(120deg,rgba(255,176,0,.10),transparent 42%),linear-gradient(180deg,#0d1118,#090d14)}
.hero-clean .hero-copy{max-width:800px}
.gensbtn{border-color:#745a2e;background:linear-gradient(135deg,#151b28,#24150c)}
.stats6{grid-template-columns:repeat(6,1fr)}
.gens-stat{position:relative;overflow:hidden}
.gens-stat:after{content:"";position:absolute;right:-18px;bottom:-26px;width:86px;height:86px;border-radius:50%;opacity:.18}
.gens-stat.duprian:after{background:#428dff}.gens-stat.vanert:after{background:#ff673f}
.gens-stat.duprian b{color:#8bc3ff}.gens-stat.vanert b{color:#ffad7b}
.textlink{color:#ffc35b;text-decoration:underline;text-decoration-color:#745421}
.badge.duprian{background:#112d54;color:#82bcff;border:1px solid #245b9b}
.badge.vanert{background:#4b1d14;color:#ffb08c;border:1px solid #8f412c}
.gens-overview{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.gens-family{min-height:128px;padding:18px 24px;border:1px solid var(--line);border-radius:18px;display:flex;align-items:center;gap:18px;overflow:hidden;position:relative;background:#0d1118}
.gens-family:after{content:"";position:absolute;inset:0;opacity:.12;pointer-events:none}
.gens-family.duprian:after{background:radial-gradient(circle at 5% 20%,#3178ff,transparent 48%)}
.gens-family.vanert:after{background:radial-gradient(circle at 5% 20%,#ff5c32,transparent 48%)}
.gens-family img{width:54px;height:76px;object-fit:contain;image-rendering:auto;position:relative;z-index:1;flex:0 0 auto}
.gens-family>div{position:relative;z-index:1}.gens-family h2{font-size:27px;margin:2px 0 7px}.gens-family p{color:#adb8c6;margin:0}
.gens-family.duprian h2{color:#d2a24d}.gens-family.vanert h2{color:#c8c8c8}
.gens-rank-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.gens-table{padding:0;overflow:auto}.gens-table.duprian{border-top:2px solid #b78635}.gens-table.vanert{border-top:2px solid #8a2f3e}
.table-title{display:flex;align-items:center;gap:10px;padding:13px 18px 4px}.table-title img{width:32px;height:45px;object-fit:contain}.table-title span{font-size:10px;color:var(--muted);letter-spacing:1.6px}.table-title h2{margin:0;font-size:22px}.gens-table table{min-width:650px}
.footerlinks{display:flex;gap:9px;align-items:center}.footerlinks i{font-style:normal;color:#4c5664}.cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
@media(max-width:980px){.stats6{grid-template-columns:repeat(3,1fr)}.gens-rank-grid{grid-template-columns:1fr}}
@media(max-width:820px){.hero-clean{padding:34px}.gens-overview{grid-template-columns:1fr}.stats6{grid-template-columns:repeat(2,1fr)}nav{gap:12px}}
@media(max-width:560px){.stats6{grid-template-columns:1fr}.gens-family{padding:16px}.gens-family h2{font-size:24px}.hero-clean{padding:28px 22px}.footerlinks{display:grid;gap:3px}.footerlinks i{display:none}nav a:nth-child(2){display:none}}

/* ===== MuOnlineItalia V2.3 ===== */
.mark{background:#080b10;border:1px solid #624717;padding:2px;overflow:hidden}
.mark img{width:100%;height:100%;object-fit:contain;display:block}

/* ===== MuOnlineItalia V2.4 - background utente fisso ===== */
html{
    background:#07090d;
}
body{
    position:relative;
    background-color:#07090d;
    background-image:
        linear-gradient(180deg,rgba(3,5,8,.62),rgba(5,7,11,.80) 55%,rgba(4,6,9,.90)),
        url('images/muonline-bg.png');
    background-repeat:no-repeat,no-repeat;
    background-position:center top,center top;
    background-size:cover,cover;
    background-attachment:fixed,fixed;
}
body:before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:-1;
    background:
        radial-gradient(circle at 72% 22%,rgba(88,111,180,.10),transparent 34%),
        linear-gradient(90deg,rgba(3,5,8,.26),transparent 42%,rgba(3,5,8,.12));
}
header{
    background:rgba(6,8,12,.78);
    border-bottom-color:rgba(111,128,151,.23);
    box-shadow:0 10px 35px rgba(0,0,0,.20);
}
.hero-clean{
    background:
        linear-gradient(105deg,rgba(7,10,15,.94) 0%,rgba(8,11,17,.82) 55%,rgba(8,11,17,.68) 100%);
    border-color:rgba(145,159,179,.24);
    box-shadow:0 24px 70px rgba(0,0,0,.30);
    backdrop-filter:blur(8px);
}
.panel,.stat,.card,.gens-family{
    background:rgba(10,14,21,.88);
    border-color:rgba(116,132,154,.22);
    box-shadow:0 12px 34px rgba(0,0,0,.18);
    backdrop-filter:blur(8px);
}
th{
    background:rgba(8,12,18,.96);
}
tr:hover td{
    background:rgba(22,29,40,.82);
}
footer{
    background:rgba(5,7,11,.58);
    backdrop-filter:blur(7px);
}
@media (max-width:820px){
    body{
        background-position:center top,68% top;
        background-size:cover,auto 100vh;
        background-attachment:scroll,scroll;
    }
    .hero-clean{
        background:rgba(7,10,15,.88);
    }
}
@media (max-width:520px){
    body{
        background-position:center top,72% top;
        background-size:cover,auto 100vh;
    }
}


/* ===== MuOnlineItalia V2.5 - NEW LAYOUT / VISIBLE BG ===== */
html,body{background:#05070a!important}
body{background-image:none!important;isolation:isolate}
.site-bg{position:fixed;inset:0;z-index:-2;background-image:linear-gradient(90deg,rgba(4,6,10,.72) 0%,rgba(4,6,10,.34) 45%,rgba(4,6,10,.22) 72%,rgba(4,6,10,.55) 100%),linear-gradient(180deg,rgba(2,4,7,.14),rgba(2,4,7,.72) 92%),url('images/muonline-bg.png');background-repeat:no-repeat;background-size:cover;background-position:center center}
.site-bg:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 26%,rgba(60,74,119,.10),transparent 32%)}
header,main,footer{position:relative;z-index:1}
header{height:70px;background:rgba(5,7,11,.72);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(14px)}
main{width:min(1240px,calc(100% - 40px));margin:34px auto 64px}

.home-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(285px,.65fr);gap:18px;align-items:stretch}
.home-hero{min-height:470px;border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:52px 48px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;position:relative;background:linear-gradient(90deg,rgba(7,10,16,.90),rgba(7,10,16,.58) 56%,rgba(7,10,16,.12));box-shadow:0 22px 60px rgba(0,0,0,.26)}
.home-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,6,9,.72),transparent 55%);pointer-events:none}
.home-hero>*{position:relative;z-index:1}
.hero-kicker,.home-section-head span,.mini-label,.side-title span{font-size:10px;font-weight:850;letter-spacing:2px;color:#d5a56a;text-transform:uppercase}
.home-hero h1{margin:9px 0 15px;font-size:clamp(50px,7vw,88px);line-height:.88;letter-spacing:-4px;text-shadow:0 6px 30px rgba(0,0,0,.42)}
.home-hero p{max-width:650px;margin:0;color:#c7d0dc;font-size:18px;line-height:1.6}
.hero-online{margin-top:28px;display:flex;align-items:center;gap:8px;color:#b7c1cd;font-size:13px}.hero-online strong{color:#fff;font-size:16px}.pulse{width:9px;height:9px;border-radius:50%;background:#4ee28a;box-shadow:0 0 0 5px rgba(78,226,138,.10),0 0 18px rgba(78,226,138,.55)}

.home-side{display:flex;flex-direction:column;gap:14px;padding:18px;border:1px solid rgba(255,255,255,.10);border-radius:24px;background:rgba(8,11,17,.79);backdrop-filter:blur(12px);box-shadow:0 20px 55px rgba(0,0,0,.22)}
.side-title{padding:8px 4px 2px;display:grid;gap:2px}.side-title b{font-size:25px}
.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-stat{min-height:95px;padding:15px;border:1px solid rgba(255,255,255,.08);border-radius:15px;background:rgba(255,255,255,.035);display:flex;flex-direction:column;justify-content:space-between}.quick-stat span{color:#8995a6;font-size:11px;text-transform:uppercase;letter-spacing:1px}.quick-stat b{font-size:28px}.quick-stat.online b{color:#62e69a}
.forum-card{margin-top:auto;min-height:130px;padding:20px;border-radius:17px;border:1px solid rgba(201,153,72,.25);background:linear-gradient(135deg,rgba(88,54,12,.34),rgba(14,17,23,.75));display:flex;flex-direction:column;justify-content:center}.forum-card span{font-size:10px;letter-spacing:1.6px;color:#b69b73;text-transform:uppercase}.forum-card strong{font-size:29px}.forum-card small{color:#d4b779}

.home-section-head{display:flex;align-items:end;justify-content:space-between;margin:32px 2px 12px}.home-section-head h2{font-size:30px;margin:2px 0 0}.home-section-head a{color:#b5c0cc;font-size:13px}.home-section-head a:hover{color:#fff}
.home-gens{display:grid;grid-template-columns:1fr 1fr;gap:14px}.home-gens-card{min-height:145px;border-radius:20px;padding:20px 22px;display:grid;grid-template-columns:64px 1fr 30px;gap:17px;align-items:center;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.10);backdrop-filter:blur(10px);transition:.18s ease}.home-gens-card:hover{transform:translateY(-2px)}.home-gens-card img{width:54px;height:76px;object-fit:contain;position:relative;z-index:1}.home-gens-card>div,.gens-arrow{position:relative;z-index:1}.home-gens-card small{font-size:10px;letter-spacing:1.6px}.home-gens-card h3{font-size:25px;margin:2px 0}.home-gens-card p{margin:0;color:#aeb8c4}.gens-arrow{font-size:27px;text-align:center}
.home-gens-card.duprian{background:linear-gradient(110deg,rgba(83,24,31,.86),rgba(23,12,16,.80));border-color:rgba(200,66,81,.46)}.home-gens-card.duprian:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-90px;top:-100px;background:#b82e3f;opacity:.16}.home-gens-card.duprian small,.home-gens-card.duprian .gens-arrow{color:#ff9aa7}.home-gens-card.duprian h3{color:#ffd3d8}
.home-gens-card.vanert{background:linear-gradient(110deg,rgba(17,70,43,.87),rgba(10,25,18,.82));border-color:rgba(55,177,106,.43)}.home-gens-card.vanert:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-90px;top:-100px;background:#36a967;opacity:.16}.home-gens-card.vanert small,.home-gens-card.vanert .gens-arrow{color:#83e8aa}.home-gens-card.vanert h3{color:#c8f5d8}
.home-bottom{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.home-info{padding:24px 26px;border:1px solid rgba(255,255,255,.09);border-radius:20px;background:rgba(8,11,17,.78);backdrop-filter:blur(10px)}.home-info h2{margin:5px 0 7px;font-size:22px}.home-info p{margin:0;color:#9eabba}

/* Gens colors requested: Duprian = old Vanert red, Vanert = green */
.gens-stat.duprian:after{background:#b82e3f!important}.gens-stat.duprian b{color:#ff9aa7!important}.gens-stat.vanert:after{background:#39aa68!important}.gens-stat.vanert b{color:#7ee3a5!important}
.badge.duprian{background:#4b1d24!important;color:#ffb0bb!important;border-color:#8f3341!important}.badge.vanert{background:#123a25!important;color:#86e8aa!important;border-color:#286f49!important}
.gens-family.duprian:after{background:radial-gradient(circle at 5% 20%,#b82e3f,transparent 48%)!important}.gens-family.vanert:after{background:radial-gradient(circle at 5% 20%,#39aa68,transparent 48%)!important}.gens-family.duprian h2{color:#ffb0bb!important}.gens-family.vanert h2{color:#86e8aa!important}.gens-table.duprian{border-top-color:#b82e3f!important}.gens-table.vanert{border-top-color:#39aa68!important}

.panel,.stat,.card,.gens-family{background:rgba(8,11,17,.84)!important;border-color:rgba(255,255,255,.10)!important}.pagehead{padding:20px 22px;border-radius:18px;background:rgba(8,11,17,.68);backdrop-filter:blur(9px)}

@media(max-width:900px){.home-layout{grid-template-columns:1fr}.home-hero{min-height:440px}.home-side{display:grid;grid-template-columns:1fr 1fr}.side-title{grid-column:1/-1}.quick-grid{grid-column:1/-1}.forum-card{margin-top:0}.home-gens{grid-template-columns:1fr}}
@media(max-width:620px){main{width:min(100% - 20px,1240px);margin-top:18px}.home-hero{min-height:410px;padding:34px 24px;background:linear-gradient(0deg,rgba(7,10,16,.92),rgba(7,10,16,.36))}.home-hero h1{font-size:52px;letter-spacing:-2.5px}.home-hero p{font-size:15px}.actions{flex-wrap:wrap}.home-side{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr 1fr}.forum-card{min-height:110px}.home-bottom{grid-template-columns:1fr}.home-gens-card{grid-template-columns:56px 1fr 24px;padding:16px}.site-bg{background-position:66% center;background-size:auto 100vh}.home-section-head{align-items:flex-start;gap:10px}.home-section-head a{margin-top:8px;text-align:right}}

/* ===== MuOnlineItalia V2.6 - NATURAL ART / NO FACE COVER ===== */
html,body{background:#05070a!important;background-image:none!important}
body:before,.site-bg{display:none!important}
header{background:#070a0f!important;backdrop-filter:none!important}
main{width:min(1260px,calc(100% - 40px));margin:34px auto 64px}

/* Artwork is intentionally never enlarged above its native 653px width. */
.hero-v26{
    min-height:390px;
    display:grid;
    grid-template-columns:minmax(420px,1fr) 653px;
    align-items:stretch;
    border:1px solid rgba(255,255,255,.10);
    border-radius:24px;
    overflow:hidden;
    background:#090d13;
    box-shadow:0 22px 58px rgba(0,0,0,.30);
}
.hero-v26-copy{
    min-width:0;
    padding:48px 42px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    position:relative;
    z-index:2;
    background:linear-gradient(90deg,#090d13 0%,#090d13 82%,rgba(9,13,19,.92) 94%,rgba(9,13,19,.30) 100%);
}
.hero-v26-copy h1{
    margin:9px 0 16px;
    font-size:clamp(50px,5.2vw,76px);
    line-height:.92;
    letter-spacing:-3.5px;
}
.hero-v26-copy p{max-width:570px;margin:0;color:#c8d1dc;font-size:17px;line-height:1.65}
.hero-v26-media{
    width:653px;
    max-width:653px;
    align-self:center;
    justify-self:end;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    background:#080b10;
    overflow:hidden;
}
.hero-v26-media img{
    display:block;
    width:653px;
    height:356px;
    max-width:none;
    object-fit:contain;
    object-position:center;
    image-rendering:auto;
}

.server-strip{
    margin:16px 0 30px;
    display:grid;
    grid-template-columns:1.25fr repeat(4,.72fr) 1fr;
    gap:10px;
}
.server-strip-title,.server-metric,.server-forum{
    min-height:92px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:16px;
    background:#0a0e15;
    padding:15px 17px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.server-strip-title span,.server-metric span,.server-forum span{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:#8c98a8}
.server-strip-title strong{font-size:21px;margin-top:3px}
.server-metric b{font-size:26px;margin-top:3px}.server-metric.online b{color:#62e69a}
.server-forum{border-color:rgba(196,145,60,.25);background:linear-gradient(135deg,#181208,#0b0f15)}
.server-forum strong{font-size:22px;margin-top:3px;color:#f1f3f6}

/* Keep content blocks opaque enough to stay readable without hiding artwork. */
.home-gens-card,.home-info,.panel,.card,.gens-family,.pagehead{backdrop-filter:none!important}
.home-info,.panel,.card,.gens-family,.pagehead{background:#090d13!important}

/* Explicit requested Gens palette. */
.home-gens-card.duprian{background:linear-gradient(110deg,#571923,#1a0d11)!important;border-color:#8f3341!important}
.home-gens-card.duprian h3{color:#ffd3d8!important}.home-gens-card.duprian small,.home-gens-card.duprian .gens-arrow{color:#ff9aa7!important}
.home-gens-card.vanert{background:linear-gradient(110deg,#11462b,#0a1912)!important;border-color:#286f49!important}
.home-gens-card.vanert h3{color:#c8f5d8!important}.home-gens-card.vanert small,.home-gens-card.vanert .gens-arrow{color:#83e8aa!important}

@media(max-width:1160px){
    .hero-v26{grid-template-columns:1fr 560px}
    .hero-v26-media{width:560px;max-width:560px;justify-content:center}
    .hero-v26-media img{width:653px;height:356px;transform:none}
    .server-strip{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
    .hero-v26{grid-template-columns:1fr;min-height:0}
    .hero-v26-copy{padding:38px 30px;background:#090d13}
    .hero-v26-media{width:100%;max-width:100%;justify-content:center;padding:0 10px 14px}
    .hero-v26-media img{width:min(100%,653px);height:auto;max-width:653px}
    .server-strip{grid-template-columns:repeat(2,1fr)}
    .server-strip-title,.server-forum{grid-column:span 2}
}
@media(max-width:620px){
    main{width:min(100% - 20px,1260px);margin-top:18px}
    .hero-v26-copy{padding:30px 22px}
    .hero-v26-copy h1{font-size:47px;letter-spacing:-2.4px}
    .hero-v26-copy p{font-size:15px}
    .server-strip{grid-template-columns:1fr 1fr}
    .server-strip-title,.server-forum{grid-column:1/-1}
}


/* ==========================================================================
   MuOnlineItalia V2.7 - ARTWORK INTEGRATO
   Nessun upscaling oltre i 653x356 originali.
   ========================================================================== */
.hero-v27{
    position:relative;
    min-height:445px;
    display:block!important;
    overflow:hidden;
    isolation:isolate;
    border:1px solid rgba(255,255,255,.075);
    border-radius:30px;
    background:
        radial-gradient(ellipse at 78% 50%,rgba(75,49,132,.17),transparent 42%),
        radial-gradient(ellipse at 92% 58%,rgba(151,52,40,.10),transparent 34%),
        linear-gradient(110deg,#080c12 0%,#090d14 43%,#070a0f 100%);
    box-shadow:0 30px 80px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.035);
}
.hero-v27:before{
    content:"";
    position:absolute;
    inset:auto 0 0 0;
    height:135px;
    z-index:3;
    pointer-events:none;
    background:linear-gradient(to bottom,transparent 0%,rgba(8,12,18,.58) 48%,#080c12 100%);
}
.hero-v27:after{
    content:"";
    position:absolute;
    inset:0;
    z-index:3;
    pointer-events:none;
    background:
        linear-gradient(90deg,#080c12 0%,rgba(8,12,18,.98) 29%,rgba(8,12,18,.72) 43%,rgba(8,12,18,.10) 62%,rgba(8,12,18,.02) 82%,rgba(8,12,18,.30) 100%),
        linear-gradient(180deg,rgba(8,12,18,.68) 0%,transparent 14%,transparent 76%,rgba(8,12,18,.72) 100%);
}
.hero-v27-copy{
    position:relative;
    z-index:5;
    width:min(58%,690px);
    min-height:445px;
    padding:62px 44px 58px 48px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    background:none!important;
}
.hero-v27-copy .hero-kicker{
    color:#e5a44d;
    letter-spacing:2px;
    font-size:10px;
    font-weight:800;
    text-shadow:0 2px 14px rgba(0,0,0,.8);
}
.hero-v27-copy h1{
    margin:8px 0 15px;
    font-size:clamp(52px,5.4vw,78px);
    line-height:.92;
    letter-spacing:-3.6px;
    text-shadow:0 6px 32px rgba(0,0,0,.55);
}
.hero-v27-copy p{
    max-width:600px;
    margin:0;
    color:#ccd4df;
    font-size:17px;
    line-height:1.67;
    text-shadow:0 2px 10px rgba(0,0,0,.55);
}
.hero-v27-copy .actions{margin-top:26px}
.hero-v27-copy .hero-online{margin-top:27px}

.hero-v27-media{
    position:absolute!important;
    z-index:1;
    top:50%;
    right:18px;
    width:653px!important;
    max-width:653px!important;
    height:356px;
    transform:translateY(-50%);
    display:block!important;
    overflow:visible!important;
    background:none!important;
}
.hero-v27-media:before{
    content:"";
    position:absolute;
    z-index:2;
    inset:-28px -25px -28px -70px;
    pointer-events:none;
    background:
        linear-gradient(90deg,#080c12 0%,rgba(8,12,18,.90) 18%,rgba(8,12,18,.20) 39%,transparent 58%),
        linear-gradient(180deg,#080c12 0%,transparent 17%,transparent 80%,#080c12 100%);
}
.hero-v27-media:after{
    content:"";
    position:absolute;
    z-index:-1;
    width:72%;
    height:72%;
    right:7%;
    top:14%;
    border-radius:50%;
    background:radial-gradient(circle,rgba(78,61,161,.22),rgba(160,48,38,.07) 46%,transparent 70%);
    filter:blur(28px);
}
.hero-v27-media img{
    display:block!important;
    width:653px!important;
    height:356px!important;
    max-width:653px!important;
    object-fit:cover!important;
    object-position:center!important;
    transform:none!important;
    opacity:.96;
    filter:saturate(1.07) contrast(1.04) brightness(.93);
    box-shadow:none!important;
    border:0!important;
}
.hero-v27 .hero-online{
    width:max-content;
    padding:7px 11px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:999px;
    background:rgba(6,9,14,.52);
    backdrop-filter:blur(5px);
}
.server-strip{
    position:relative;
    margin:-34px 26px 34px!important;
    z-index:6;
    padding:10px;
    border:1px solid rgba(255,255,255,.085);
    border-radius:20px;
    background:rgba(7,10,15,.90);
    box-shadow:0 20px 50px rgba(0,0,0,.27);
}
.server-strip-title,.server-metric,.server-forum{
    border-color:rgba(255,255,255,.065)!important;
    background:rgba(255,255,255,.025)!important;
}
.server-forum{
    background:linear-gradient(135deg,rgba(69,45,15,.36),rgba(255,255,255,.018))!important;
    border-color:rgba(196,145,60,.22)!important;
}
.home-gens-card.duprian{
    background:linear-gradient(110deg,rgba(87,25,35,.94),rgba(26,13,17,.96))!important;
    border-color:#8f3341!important;
}
.home-gens-card.vanert{
    background:linear-gradient(110deg,rgba(17,70,43,.94),rgba(10,25,18,.96))!important;
    border-color:#286f49!important;
}

@media(max-width:1120px){
    .hero-v27-copy{width:56%;padding-left:36px}
    .hero-v27-media{right:-95px}
    .hero-v27:after{
        background:
            linear-gradient(90deg,#080c12 0%,rgba(8,12,18,.98) 34%,rgba(8,12,18,.68) 51%,rgba(8,12,18,.08) 71%,rgba(8,12,18,.28) 100%),
            linear-gradient(180deg,rgba(8,12,18,.62),transparent 16%,transparent 77%,rgba(8,12,18,.72));
    }
}
@media(max-width:900px){
    .hero-v27{min-height:650px}
    .hero-v27-copy{width:100%;min-height:360px;padding:38px 30px 28px;justify-content:flex-start}
    .hero-v27-copy h1{font-size:58px}
    .hero-v27-copy p{max-width:620px}
    .hero-v27-media{
        top:auto;
        bottom:0;
        right:50%;
        width:653px!important;
        height:356px;
        transform:translateX(50%);
    }
    .hero-v27:after{
        background:linear-gradient(180deg,#080c12 0%,rgba(8,12,18,.98) 42%,rgba(8,12,18,.28) 61%,rgba(8,12,18,.04) 78%,rgba(8,12,18,.54) 100%);
    }
    .hero-v27-media:before{
        inset:-50px -25px -15px -25px;
        background:linear-gradient(180deg,#080c12 0%,rgba(8,12,18,.72) 18%,transparent 42%,transparent 80%,#080c12 100%);
    }
    .server-strip{margin:-28px 14px 30px!important}
}
@media(max-width:680px){
    .hero-v27{min-height:610px;border-radius:22px}
    .hero-v27-copy{min-height:330px;padding:30px 22px 22px}
    .hero-v27-copy h1{font-size:48px;letter-spacing:-2.5px}
    .hero-v27-copy p{font-size:15px}
    .hero-v27-media{
        right:42%;
        transform:translateX(50%) scale(.88);
        transform-origin:bottom center;
    }
    .server-strip{margin:-22px 8px 26px!important}
}


/* ===== V2.8 - Ranking system (layout V2.7 invariato) ===== */
.rank-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:-6px 0 18px;padding:0}
.rank-tabs a{padding:9px 14px;border:1px solid rgba(255,255,255,.09);border-radius:10px;background:rgba(8,12,18,.80);color:#aeb9c8;font-size:13px;font-weight:750}
.rank-tabs a:hover,.rank-tabs a.active{color:#fff;border-color:rgba(226,164,77,.48);background:rgba(83,54,20,.38)}
.tablelink{color:#e8b464;font-weight:750}.tablelink:hover{text-decoration:underline}
.ranking-value{font-size:16px;color:#f1c46f}.kill-value{color:#ef8b86}.duel-win{color:#7ed7a1}.guild-members-count{color:#83c8ff}
.empty-row{text-align:center!important;color:var(--muted);padding:28px!important}
@media(max-width:720px){.rank-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.rank-tabs a{white-space:nowrap}}

/* ===== MuOnlineItalia V2.9 - Guild name/emblem fix ===== */
.guild-mark{width:40px;height:40px;display:block;image-rendering:pixelated;image-rendering:crisp-edges;border:1px solid rgba(255,255,255,.16);border-radius:5px;background:#080b10;box-shadow:0 4px 15px rgba(0,0,0,.28)}
.guild-mark-large{width:56px;height:56px;border-radius:7px}
.guild-mark-empty{display:inline-grid;place-items:center;width:40px;height:40px;border:1px dashed rgba(255,255,255,.12);border-radius:5px;color:var(--muted)}
.guild-title-wrap{display:flex;align-items:center;gap:15px}.guild-pagehead h1{margin-bottom:4px}


/* ===== MuOnlineItalia V2.11 - GM visibility ===== */
.badge.gm{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-left:6px;
    padding:3px 7px;
    border:1px solid rgba(255,185,72,.36);
    background:linear-gradient(135deg,rgba(122,71,8,.88),rgba(67,36,5,.88));
    color:#ffd27a;
    font-size:9px;
    line-height:1;
    font-weight:900;
    letter-spacing:.9px;
    vertical-align:middle;
    box-shadow:0 0 15px rgba(255,167,39,.10);
}

.admin-settings-form{max-width:760px}
.setting-switch-row{
    display:flex!important;
    grid-template-columns:none!important;
    flex-direction:row!important;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    padding:20px;
    border:1px solid #252e3b;
    border-radius:16px;
    background:#0a0f16;
}
.setting-switch-row>span:first-child{display:grid;gap:7px}
.setting-switch-row small{max-width:580px;line-height:1.55}
.switch-control{position:relative;display:inline-flex;flex:0 0 auto;width:58px;height:32px}
.switch-control input{position:absolute;opacity:0;pointer-events:none}
.switch-control i{
    position:absolute;inset:0;
    border:1px solid #394456;
    border-radius:999px;
    background:#151b24;
    cursor:pointer;
    transition:.2s ease;
}
.switch-control i:after{
    content:"";
    position:absolute;
    width:22px;height:22px;
    top:4px;left:5px;
    border-radius:50%;
    background:#8590a0;
    transition:.2s ease;
}
.switch-control input:checked+i{
    border-color:#6f5020;
    background:#32200a;
    box-shadow:0 0 20px rgba(255,176,52,.10);
}
.switch-control input:checked+i:after{
    transform:translateX(25px);
    background:#ffc15b;
}
.setting-preview{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    padding:14px 16px;
    border:1px solid #202936;
    border-radius:13px;
    background:#090e14;
}
.setting-state{
    margin-left:auto;
    padding:4px 8px;
    border-radius:999px;
    font-size:10px;
    font-weight:850;
    letter-spacing:.8px;
}
.setting-state.enabled{background:#123a27;color:#62e8a0}
.setting-state.disabled{background:#302126;color:#d18b98}

@media(max-width:620px){
    .setting-switch-row{align-items:flex-start}
    .setting-preview .setting-state{margin-left:0}
}


/* ===== MuOnlineItalia V2.12 - Home account/download ===== */
.home-entry-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
    margin:0 0 28px;
}
.home-entry-card{
    position:relative;
    min-height:150px;
    display:grid;
    grid-template-columns:58px 1fr auto;
    align-items:center;
    gap:18px;
    padding:24px 26px;
    border:1px solid rgba(255,255,255,.085);
    border-radius:22px;
    overflow:hidden;
    background:linear-gradient(120deg,rgba(18,24,34,.96),rgba(8,12,18,.96));
    box-shadow:0 18px 45px rgba(0,0,0,.20);
    transition:.18s ease;
}
.home-entry-card:hover{
    transform:translateY(-2px);
    border-color:rgba(219,164,74,.32);
}
.home-entry-card.account{
    background:
        radial-gradient(circle at 8% 30%,rgba(186,128,39,.16),transparent 38%),
        linear-gradient(120deg,rgba(26,23,17,.96),rgba(9,12,17,.97));
}
.home-entry-card.download{
    background:
        radial-gradient(circle at 8% 30%,rgba(56,115,184,.15),transparent 38%),
        linear-gradient(120deg,rgba(13,20,29,.96),rgba(8,12,18,.97));
}
.home-entry-icon{
    width:52px;height:52px;
    display:grid;place-items:center;
    border-radius:15px;
    border:1px solid rgba(255,255,255,.10);
    background:rgba(255,255,255,.04);
    color:#f4bb5e;
    font-size:30px;
    line-height:1;
    font-weight:400;
}
.home-entry-card.download .home-entry-icon{color:#83baf3}
.home-entry-card small{
    color:#a89169;
    font-size:9px;
    font-weight:850;
    letter-spacing:1.6px;
}
.home-entry-card.download small{color:#739dca}
.home-entry-card h3{margin:5px 0 5px;font-size:24px}
.home-entry-card p{margin:0;color:#9da8b7;font-size:13px}
.home-entry-arrow{font-size:25px;color:#c99642}
.home-entry-card.download .home-entry-arrow{color:#6fa6dc}
.download-btn{border-color:#34516e}
.download-missing{text-align:center;padding:44px 26px}
.download-big-icon{
    width:70px;height:70px;
    display:grid;place-items:center;
    margin:0 auto 18px;
    border:1px solid #36506c;
    border-radius:20px;
    background:#101a25;
    color:#8cbcea;
    font-size:42px;
}
.download-missing code{
    display:block;
    margin-top:16px;
    padding:12px;
    border-radius:10px;
    background:#080d13;
    border:1px solid #202c3a;
    overflow-wrap:anywhere;
}
@media(max-width:760px){
    .home-entry-actions{grid-template-columns:1fr}
}
@media(max-width:520px){
    .home-entry-card{grid-template-columns:48px 1fr auto;padding:20px 18px}
    .home-entry-icon{width:44px;height:44px;font-size:26px}
}


/* ===== MuOnlineItalia V2.13 - Forum IOGN RSS ===== */
.forum-feed-head{margin-top:8px}
.forum-feed-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin:0 0 30px;
}
.forum-feed-card{
    position:relative;
    min-height:170px;
    display:flex;
    flex-direction:column;
    padding:22px 24px;
    border:1px solid rgba(255,255,255,.075);
    border-radius:18px;
    overflow:hidden;
    background:
        radial-gradient(circle at 100% 0%,rgba(177,118,39,.10),transparent 40%),
        linear-gradient(145deg,rgba(12,17,24,.95),rgba(8,12,18,.97));
    box-shadow:0 14px 35px rgba(0,0,0,.17);
    transition:transform .16s ease,border-color .16s ease,background .16s ease;
}
.forum-feed-card:hover{
    transform:translateY(-2px);
    border-color:rgba(209,153,64,.30);
    background:
        radial-gradient(circle at 100% 0%,rgba(196,129,39,.15),transparent 42%),
        linear-gradient(145deg,rgba(14,20,29,.97),rgba(8,12,18,.98));
}
.forum-feed-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
    color:#778496;
    font-size:10px;
    letter-spacing:.6px;
    text-transform:uppercase;
}
.forum-feed-meta span{
    color:#d9a14e;
    font-weight:900;
    letter-spacing:1.4px;
}
.forum-feed-card h3{
    margin:0 0 9px;
    color:#edf2f8;
    font-size:18px;
    line-height:1.28;
}
.forum-feed-card p{
    margin:0 0 18px;
    color:#9ca7b6;
    font-size:13px;
    line-height:1.55;
}
.forum-feed-more{
    margin-top:auto;
    color:#d6a45b;
    font-size:11px;
    font-weight:800;
}
.forum-feed-empty{
    display:grid;
    grid-template-columns:70px 1fr auto;
    align-items:center;
    gap:20px;
    padding:24px;
    margin:0 0 30px;
    border:1px solid rgba(255,255,255,.075);
    border-radius:18px;
    background:linear-gradient(145deg,rgba(12,17,24,.95),rgba(8,12,18,.97));
}
.forum-rss-symbol{
    width:64px;
    height:64px;
    display:grid;
    place-items:center;
    border-radius:16px;
    border:1px solid rgba(218,153,58,.25);
    background:rgba(133,83,15,.16);
    color:#e7ad59;
    font-size:16px;
    font-weight:950;
    letter-spacing:1px;
}
.forum-feed-empty h3{margin:4px 0 5px}
.forum-feed-empty p{margin:0;color:#929eae;font-size:13px}
@media(max-width:800px){
    .forum-feed-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
    .forum-feed-empty{grid-template-columns:54px 1fr}
    .forum-feed-empty .btn{grid-column:1/-1;width:100%;text-align:center}
    .forum-rss-symbol{width:50px;height:50px;font-size:13px}
}


/* ===== MuOnlineItalia V2.15 - Italiano / English ===== */
header .header-right{
    display:flex;
    align-items:center;
    gap:14px;
    margin-left:auto;
}
.lang-switch{
    display:flex;
    align-items:center;
    gap:4px;
    padding:4px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:999px;
    background:rgba(6,10,15,.78);
    box-shadow:0 8px 24px rgba(0,0,0,.16);
}
.lang-switch a{
    min-width:47px;
    height:31px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    padding:0 8px;
    border-radius:999px;
    color:#8793a3;
    font-size:10px;
    font-weight:900;
    letter-spacing:.5px;
    transition:.15s ease;
}
.lang-switch a:hover{
    color:#eef3f8;
    background:rgba(255,255,255,.045);
}
.lang-switch a.active{
    color:#f1c477;
    background:rgba(153,101,27,.20);
    box-shadow:inset 0 0 0 1px rgba(227,164,70,.18);
}
.lang-switch .flag{
    font-size:17px;
    line-height:1;
    letter-spacing:0;
}
@media(max-width:1050px){
    header{align-items:flex-start}
    header .header-right{
        flex-direction:column-reverse;
        align-items:flex-end;
        gap:8px;
    }
}
@media(max-width:720px){
    header{gap:12px;flex-wrap:wrap}
    header .header-right{
        width:100%;
        align-items:stretch;
    }
    header nav{justify-content:flex-start}
    .lang-switch{align-self:flex-end}
}


/* ==========================================================================
   MuOnlineItalia V2.16 - HERO ART FIX
   Artwork HD 1700x925 + bordi realmente sfumati nel PNG.
   ========================================================================== */
.hero-v27{
    min-height:470px!important;
    overflow:hidden!important;
    border-color:rgba(255,255,255,.055)!important;
    background:
        radial-gradient(ellipse at 78% 48%,rgba(64,48,118,.13),transparent 42%),
        linear-gradient(110deg,#080c12 0%,#080c12 45%,#070a0f 100%)!important;
}
.hero-v27:before{
    height:110px!important;
    background:linear-gradient(to bottom,transparent 0%,rgba(8,12,18,.24) 48%,#080c12 100%)!important;
}
.hero-v27:after{
    background:
        linear-gradient(90deg,
            #080c12 0%,
            rgba(8,12,18,.98) 25%,
            rgba(8,12,18,.78) 39%,
            rgba(8,12,18,.22) 52%,
            rgba(8,12,18,.02) 68%,
            rgba(8,12,18,.00) 100%)!important;
}
.hero-v27-copy{
    width:min(55%,670px)!important;
    min-height:470px!important;
    padding:58px 34px 55px 48px!important;
}
.hero-v27-media{
    top:50%!important;
    right:-12px!important;
    width:min(66vw,880px)!important;
    max-width:880px!important;
    height:auto!important;
    aspect-ratio:1700/925;
    transform:translateY(-50%)!important;
    overflow:visible!important;
}
.hero-v27-media:before{
    /* No hard rectangle. Only a gentle blend toward the text column. */
    inset:-8% -4% -8% -18%!important;
    background:
        linear-gradient(90deg,
            #080c12 0%,
            rgba(8,12,18,.86) 15%,
            rgba(8,12,18,.28) 32%,
            transparent 52%)!important;
}
.hero-v27-media:after{
    z-index:-1!important;
    width:78%!important;
    height:78%!important;
    right:4%!important;
    top:11%!important;
    background:radial-gradient(circle,rgba(65,53,142,.18),rgba(151,52,40,.06) 48%,transparent 72%)!important;
    filter:blur(34px)!important;
}
.hero-v27-media img{
    width:100%!important;
    height:auto!important;
    max-width:none!important;
    object-fit:contain!important;
    object-position:center right!important;
    opacity:1!important;
    filter:saturate(1.04) contrast(1.02) brightness(.97)!important;
    border:0!important;
    box-shadow:none!important;
    transform:none!important;
}

/* Keep the Season 16 logo readable in the upper-left of the artwork.
   It is part of the HD artwork and is no longer darkened by an overlay. */
@media(max-width:1180px){
    .hero-v27-copy{width:56%!important;padding-left:36px!important}
    .hero-v27-media{right:-90px!important;width:min(73vw,840px)!important}
}
@media(max-width:900px){
    .hero-v27{min-height:720px!important}
    .hero-v27-copy{
        width:100%!important;
        min-height:350px!important;
        padding:38px 30px 20px!important;
    }
    .hero-v27-media{
        top:auto!important;
        bottom:-18px!important;
        right:50%!important;
        width:min(920px,118vw)!important;
        max-width:none!important;
        transform:translateX(50%)!important;
    }
    .hero-v27:after{
        background:
            linear-gradient(180deg,
                #080c12 0%,
                rgba(8,12,18,.98) 37%,
                rgba(8,12,18,.42) 50%,
                rgba(8,12,18,.05) 68%,
                rgba(8,12,18,.28) 100%)!important;
    }
    .hero-v27-media:before{
        inset:-10% -3% -4% -3%!important;
        background:linear-gradient(180deg,#080c12 0%,rgba(8,12,18,.50) 20%,transparent 45%)!important;
    }
}
@media(max-width:600px){
    .hero-v27{min-height:660px!important}
    .hero-v27-copy h1{font-size:45px!important}
    .hero-v27-media{
        bottom:-5px!important;
        width:130vw!important;
        right:46%!important;
    }
}


/* ==========================================================================
   MuOnlineItalia V2.19 - REMOVE CSS FADE ONLY
   IMPORTANTE: l'immagine hero NON è stata modificata.
   Vengono rimossi soltanto i layer CSS che la oscuravano/sfumavano.
   ========================================================================== */

/* Rimuove la sfumatura/maschera che partiva dal lato testo e copriva artwork/logo */
.hero-v27-media:before{
    display:none !important;
    content:none !important;
    background:none !important;
}

/* Rimuove anche il glow/velo aggiuntivo dietro/sopra la media */
.hero-v27-media:after{
    display:none !important;
    content:none !important;
    background:none !important;
    filter:none !important;
}

/* Elimina il grande overlay sopra tutta la hero che scuriva soprattutto il logo */
.hero-v27:after{
    display:none !important;
    content:none !important;
    background:none !important;
}

/* Elimina la sfumatura inferiore sopra l'immagine */
.hero-v27:before{
    display:none !important;
    content:none !important;
    background:none !important;
}

/* L'immagine resta piena, senza opacity/brightness CSS che la scuriscono */
.hero-v27-media img{
    opacity:1 !important;
    filter:none !important;
}

/* Il fondo della hero rimane scuro come contenitore, ma NON copre l'immagine */
.hero-v27{
    background:
        radial-gradient(ellipse at 78% 48%,rgba(64,48,118,.08),transparent 45%),
        linear-gradient(110deg,#080c12 0%,#080c12 44%,#070a0f 100%) !important;
}

/* Separazione del testo ottenuta solo col suo spazio/layout, non con veli sull'artwork */
.hero-v27-copy{
    position:relative;
    z-index:5;
}

/* Artwork sempre sopra il fondo e senza maschere */
.hero-v27-media{
    z-index:2 !important;
}

@media(max-width:900px){
    .hero-v27:after,
    .hero-v27:before,
    .hero-v27-media:before,
    .hero-v27-media:after{
        display:none !important;
        content:none !important;
        background:none !important;
    }
}


/* ==========================================================================
   MuOnlineItalia V2.20 - TEXT + BG TUNE
   Solo CSS: titolo più piccolo, artwork un po' più piccolo e più a destra.
   Nessuna immagine modificata o rigenerata.
   ========================================================================== */

/* Hero un po' più equilibrata */
.hero-v27{
    min-height:455px !important;
}

/* Testo principale meno invasivo */
.hero-v27-copy{
    width:min(58%,720px) !important;
    min-height:455px !important;
    padding:54px 30px 48px 48px !important;
}

.hero-v27-copy h1{
    font-size:clamp(44px, 4.9vw, 72px) !important;
    line-height:.95 !important;
    letter-spacing:-2.6px !important;
    margin:8px 0 14px !important;
}

.hero-v27-copy p{
    max-width:600px !important;
    font-size:15px !important;
    line-height:1.62 !important;
}

/* Artwork un po' più piccolo e più spostato a destra:
   così il logo interno resta secondario e non compete col titolo */
.hero-v27-media{
    right:-48px !important;
    width:min(60vw,760px) !important;
    max-width:760px !important;
    top:51% !important;
}

.hero-v27-media img{
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
    object-position:center right !important;
}

/* Leggero respiro tra testo e artwork */
.hero-v27-copy .actions{
    margin-top:24px !important;
}

.hero-v27-copy .hero-online{
    margin-top:24px !important;
}

/* Card statistiche un filo più attaccate alla hero ma senza invadere */
.server-strip{
    margin:-30px 26px 30px !important;
}

/* Responsive */
@media(max-width:1180px){
    .hero-v27-copy{
        width:60% !important;
        padding-left:38px !important;
    }
    .hero-v27-copy h1{
        font-size:clamp(40px, 5vw, 62px) !important;
    }
    .hero-v27-media{
        right:-92px !important;
        width:min(66vw,720px) !important;
        max-width:720px !important;
    }
}

@media(max-width:900px){
    .hero-v27{
        min-height:690px !important;
    }
    .hero-v27-copy{
        width:100% !important;
        min-height:330px !important;
        padding:36px 30px 16px !important;
    }
    .hero-v27-copy h1{
        font-size:52px !important;
        line-height:.96 !important;
    }
    .hero-v27-copy p{
        font-size:15px !important;
    }
    .hero-v27-media{
        top:auto !important;
        bottom:-6px !important;
        right:50% !important;
        width:min(94vw,760px) !important;
        max-width:none !important;
        transform:translateX(50%) !important;
    }
    .server-strip{
        margin:-22px 14px 28px !important;
    }
}

@media(max-width:600px){
    .hero-v27{
        min-height:640px !important;
    }
    .hero-v27-copy{
        padding:30px 22px 14px !important;
    }
    .hero-v27-copy h1{
        font-size:44px !important;
        letter-spacing:-2px !important;
    }
    .hero-v27-copy p{
        font-size:14px !important;
    }
    .hero-v27-media{
        width:118vw !important;
        right:47% !important;
        bottom:0 !important;
    }
}


/* ==========================================================================
   MuOnlineItalia V2.21 - UTENTI ONLINE
   Struttura del vecchio utentionline.php, grafica del sito invariata.
   ========================================================================== */
.online-pagehead{margin-bottom:18px}

.online-summary{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin-bottom:18px;
}
.online-summary-card{
    min-height:116px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:22px 26px;
    border:1px solid rgba(255,255,255,.075);
    border-radius:18px;
    background:linear-gradient(145deg,rgba(12,17,24,.97),rgba(8,12,18,.98));
}
.online-summary-card span{
    color:#8997aa;
    font-size:10px;
    font-weight:850;
    letter-spacing:1.5px;
    text-transform:uppercase;
}
.online-summary-card strong{
    margin-top:6px;
    color:#eff4fa;
    font-size:31px;
    line-height:1;
}
.online-summary-card.current strong{color:#54e99c}
.online-summary-card.record strong{color:#e4ad59}
.online-summary-card small{
    margin-top:7px;
    color:#8d99a8;
    font-size:11px;
}
.online-users-table table{min-width:880px}
.online-users-table th{white-space:nowrap}

.online-gens img{
    display:block;
    width:30px;
    height:30px;
    object-fit:contain;
    margin:auto;
    filter:drop-shadow(0 3px 8px rgba(0,0,0,.38));
}
.server-italia{
    white-space:nowrap;
    color:#d8e0e9;
    font-weight:700;
}
.server-italia b{
    font-weight:900;
    text-shadow:0 1px 2px #000,0 0 4px #000;
}
.server-italia .it-green{color:#28a55a}
.server-italia .it-white{color:#fff}
.server-italia .it-red{color:#e54a4a}
.server-code{
    display:inline-block;
    margin-left:6px;
    color:#657386;
    font-size:9px;
}
.online-generated{
    margin:13px 4px 0;
    color:#6f7c8d;
    font-size:11px;
    text-align:right;
}
@media(max-width:700px){
    .online-summary{grid-template-columns:1fr}
}


/* ==========================================================================
   MuOnlineItalia V2.22 - UTENTI ONLINE EXTENDED
   Stessa tabella del vecchio modulo + dati nuovi S16.
   ========================================================================== */
.online-users-table table{
    min-width:1120px !important;
}

.online-guild-logo{
    text-align:center;
}

.online-guild-logo img{
    display:block;
    width:34px;
    height:34px;
    margin:auto;
    image-rendering:pixelated;
    border-radius:4px;
    box-shadow:0 2px 8px rgba(0,0,0,.45);
}


/* ==========================================================================
   MuOnlineItalia V2.23 - GENS FROM DB
   Icona = character_gens.family + character_gens.level
   ========================================================================== */
.gens-db-cell{
    display:inline-flex;
    align-items:center;
    gap:9px;
    min-width:118px;
}
.gens-db-cell img{
    width:38px;
    height:48px;
    object-fit:contain;
    flex:0 0 auto;
    filter:drop-shadow(0 3px 8px rgba(0,0,0,.45));
}
.gens-db-cell>span{
    display:flex;
    flex-direction:column;
    gap:2px;
    min-width:0;
}
.gens-db-cell b{
    color:#e9eef5;
    font-size:11px;
    line-height:1.15;
    white-space:nowrap;
}
.gens-db-cell small{
    color:#7f8b9b;
    font-size:9px;
    line-height:1.15;
    white-space:nowrap;
}
.gens-db-cell.compact{
    min-width:130px;
}
.online-gens img{
    width:38px !important;
    height:48px !important;
    margin:0 !important;
}
@media(max-width:700px){
    .gens-db-cell img{
        width:32px;
        height:42px;
    }
}


/* ==========================================================================
   MuOnlineItalia V2.24 - TRUE RANK ORDER
   Tutte le classifiche partono visivamente da #1.
   ========================================================================== */
.rank-pos{
    width:42px;
    font-weight:900;
    color:#9aa7b8;
}
.rank-pos.rank-1{
    color:#ffd06c;
    font-size:15px;
}
.rank-pos.rank-2{
    color:#d8e0ea;
    font-size:14px;
}
.rank-pos.rank-3{
    color:#d79a70;
    font-size:14px;
}


/* ==========================================================================
   MuOnlineItalia V2.25 - TABLE SYNC + RANKING ADMIN
   ========================================================================== */

/* Tutte le classifiche usano la stessa geometria di header/celle. */
.ranking-table{
    width:100%;
    border-collapse:collapse;
    table-layout:auto;
}
.ranking-table th,
.ranking-table td{
    box-sizing:border-box;
    vertical-align:middle;
    padding:13px 12px;
}
.ranking-table thead th{
    white-space:nowrap;
    text-align:left;
    line-height:1.15;
}
.ranking-table tbody td{
    line-height:1.28;
}
.ranking-table th:first-child,
.ranking-table td:first-child{
    text-align:center;
    width:48px;
}
.ranking-table .rank-pos{
    text-align:center;
}

/* Utenti Online: larghezze esplicite, così ogni titolo resta sopra al dato corretto. */
.ranking-online{
    min-width:1180px !important;
    table-layout:fixed;
}
.ranking-online .c-rank{width:4%}
.ranking-online .c-name{width:13%}
.ranking-online .c-class{width:13%}
.ranking-online .c-level{width:7%}
.ranking-online .c-master{width:8%}
.ranking-online .c-majestic{width:9%}
.ranking-online .c-reset{width:6%}
.ranking-online .c-logo{width:6%}
.ranking-online .c-guild{width:10%}
.ranking-online .c-gens{width:14%}
.ranking-online .c-server{width:10%}

.ranking-online th:nth-child(4),
.ranking-online th:nth-child(5),
.ranking-online th:nth-child(6),
.ranking-online th:nth-child(7),
.ranking-online td:nth-child(4),
.ranking-online td:nth-child(5),
.ranking-online td:nth-child(6),
.ranking-online td:nth-child(7),
.ranking-online th:nth-child(8),
.ranking-online td:nth-child(8){
    text-align:center;
}

.ranking-online th:nth-child(10),
.ranking-online td:nth-child(10){
    text-align:left;
}

/* Non mostrare più il codice server #0/#N. */
.server-code{
    display:none !important;
}

/* Stato classifica chiusa */
.ranking-closed{
    min-height:210px;
    display:flex;
    align-items:center;
    gap:22px;
    padding:34px;
}
.ranking-closed-icon{
    width:58px;
    height:58px;
    display:grid;
    place-items:center;
    border-radius:18px;
    border:1px solid rgba(210,87,87,.28);
    background:rgba(94,27,27,.18);
    color:#ef8585;
    font-size:34px;
    font-weight:300;
}
.ranking-closed h1{margin:4px 0 8px}
.ranking-closed p{margin:0;color:#929ead}

/* Admin ranking controls */
.admin-ranking-form{
    max-width:900px;
}
.ranking-admin-toolbar{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:18px;
}
.ranking-close-all{
    border-color:rgba(208,82,82,.34) !important;
    color:#ef9b9b !important;
}
.ranking-open-all{
    border-color:rgba(68,187,124,.30) !important;
    color:#86deb0 !important;
}
.ranking-admin-list{
    display:grid;
    gap:10px;
}
.ranking-switch-row{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto 58px !important;
}
.ranking-status-label{
    min-width:64px;
    padding:5px 8px;
    border-radius:999px;
    text-align:center;
    font-size:9px;
    font-weight:900;
    letter-spacing:.8px;
}
.ranking-status-label.enabled{
    background:#123a27;
    color:#64e5a0;
}
.ranking-status-label.disabled{
    background:#3a1d24;
    color:#eb8d9a;
}

@media(max-width:720px){
    .ranking-switch-row{
        grid-template-columns:minmax(0,1fr) auto !important;
    }
    .ranking-switch-row .switch-control{
        grid-column:2;
        grid-row:1 / span 2;
        align-self:center;
    }
    .ranking-status-label{
        justify-self:start;
    }
}


/* ==========================================================================
   MuOnlineItalia V2.26 - ADMIN SECTIONS
   Account/PG separati dalla gestione del sito.
   ========================================================================== */
.admin-main-sections{
    display:grid;
    gap:14px;
    margin-top:18px;
}
.admin-main-section{
    position:relative;
    min-height:132px;
    display:grid;
    grid-template-columns:72px minmax(0,1fr) auto;
    align-items:center;
    gap:20px;
    padding:24px 26px;
    border:1px solid rgba(255,255,255,.075);
    border-radius:20px;
    overflow:hidden;
    background:linear-gradient(135deg,rgba(12,17,24,.97),rgba(8,12,18,.98));
    transition:.18s ease;
}
.admin-main-section:hover{
    transform:translateY(-2px);
    border-color:rgba(211,158,69,.26);
}
.admin-main-section.game{
    background:
        radial-gradient(circle at 0% 50%,rgba(66,111,168,.14),transparent 34%),
        linear-gradient(135deg,rgba(12,17,24,.97),rgba(8,12,18,.98));
}
.admin-main-section.site{
    background:
        radial-gradient(circle at 0% 50%,rgba(171,111,35,.14),transparent 34%),
        linear-gradient(135deg,rgba(14,17,22,.97),rgba(8,12,18,.98));
}
.admin-main-section.data{
    background:
        radial-gradient(circle at 0% 50%,rgba(66,151,103,.11),transparent 34%),
        linear-gradient(135deg,rgba(12,17,24,.97),rgba(8,12,18,.98));
}
.admin-main-number{
    width:62px;
    height:62px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.08);
    border-radius:17px;
    color:#697789;
    background:rgba(255,255,255,.025);
    font-size:15px;
    font-weight:900;
    letter-spacing:1px;
}
.admin-main-kicker{
    color:#8896a8;
    font-size:9px;
    font-weight:900;
    letter-spacing:1.5px;
}
.admin-main-section h2{
    margin:5px 0 5px;
    font-size:23px;
}
.admin-main-section p{
    margin:0;
    color:#8e9aaa;
    font-size:13px;
}
.admin-main-arrow{
    color:#d6a04a;
    font-size:26px;
}

.admin-category-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}
.admin-category-card{
    min-height:180px;
    display:grid;
    grid-template-columns:58px minmax(0,1fr) auto;
    align-items:center;
    gap:18px;
    padding:24px;
    border:1px solid rgba(255,255,255,.075);
    border-radius:20px;
    background:linear-gradient(145deg,rgba(12,17,24,.97),rgba(8,12,18,.98));
    transition:.18s ease;
}
.admin-category-card:hover{
    transform:translateY(-2px);
    border-color:rgba(211,158,69,.26);
}
.admin-category-icon{
    width:54px;
    height:54px;
    display:grid;
    place-items:center;
    border-radius:15px;
    border:1px solid rgba(255,255,255,.09);
    background:rgba(255,255,255,.03);
    color:#d9a24f;
    font-size:14px;
    font-weight:950;
    letter-spacing:.4px;
}
.admin-category-card small{
    color:#758398;
    font-size:9px;
    font-weight:900;
    letter-spacing:1.4px;
}
.admin-category-card h2{
    margin:6px 0 6px;
    font-size:20px;
}
.admin-category-card p{
    margin:0;
    color:#8b97a7;
    font-size:12px;
    line-height:1.55;
}
.admin-category-arrow{
    color:#d7a14c;
    font-size:23px;
}
.admin-category-state{
    min-width:46px;
    padding:6px 8px;
    border-radius:999px;
    background:#123a27;
    color:#62dfa0;
    text-align:center;
    font-size:10px;
    font-weight:900;
}
.admin-section-head{
    margin-bottom:20px;
}

@media(max-width:800px){
    .admin-category-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
    .admin-main-section{
        grid-template-columns:52px minmax(0,1fr) auto;
        padding:20px 18px;
    }
    .admin-main-number{
        width:48px;height:48px;border-radius:14px;
    }
    .admin-main-section h2{font-size:19px}
    .admin-category-card{
        grid-template-columns:48px minmax(0,1fr) auto;
        padding:20px 18px;
    }
    .admin-category-icon{width:44px;height:44px}
}


/* ==========================================================================
   MuOnlineItalia V2.27 - CASTLE SIEGE MODULE
   ========================================================================== */
.castle-pagehead{
    align-items:center;
    gap:22px;
    min-height:178px;
    overflow:hidden;
    position:relative;
}
.castle-pagehead>div:first-child{
    flex:1 1 auto;
    min-width:0;
    position:relative;
    z-index:2;
}
.castle-head-art{
    width:138px;
    height:158px;
    flex:0 0 138px;
    align-self:flex-end;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    position:relative;
    z-index:1;
    pointer-events:none;
}
.castle-head-art:before{
    content:"";
    position:absolute;
    width:150px;
    height:150px;
    left:50%;
    bottom:5px;
    transform:translateX(-50%);
    border-radius:50%;
    background:radial-gradient(circle,rgba(205,157,81,.16) 0%,rgba(111,74,29,.08) 44%,transparent 72%);
    filter:blur(2px);
}
.castle-head-art img{
    display:block;
    width:auto;
    height:152px;
    max-width:136px;
    object-fit:contain;
    position:relative;
    z-index:1;
    opacity:.96;
    filter:drop-shadow(0 11px 16px rgba(0,0,0,.55));
}
.castle-live-state{
    min-width:220px;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:5px;
    padding:12px 16px;
    border:1px solid rgba(255,255,255,.075);
    border-radius:14px;
    background:#0a0f16;
}
.castle-live-state span{
    color:#7f8c9d;
    font-size:9px;
    font-weight:900;
    letter-spacing:1.3px;
}
.castle-live-state strong{
    color:#d7aa62;
    font-size:14px;
}
.castle-live-state.battle{
    border-color:rgba(210,69,69,.34);
    background:rgba(82,18,22,.22);
}
.castle-live-state.battle strong{color:#ff7c7c}

.castle-owner-grid{
    display:grid;
    grid-template-columns:1.35fr .85fr;
    gap:16px;
    margin-bottom:16px;
}
.castle-owner-card,
.castle-cycle-card{
    min-height:205px;
    border:1px solid rgba(255,255,255,.075);
    border-radius:22px;
    background:
        radial-gradient(circle at 100% 0%,rgba(153,89,31,.12),transparent 40%),
        linear-gradient(145deg,rgba(12,17,24,.97),rgba(8,12,18,.98));
}
.castle-owner-card{
    display:flex;
    align-items:center;
    gap:24px;
    padding:27px;
}
.castle-owner-mark{
    width:92px;
    height:92px;
    flex:0 0 auto;
    display:grid;
    place-items:center;
    border:1px solid rgba(216,159,67,.20);
    border-radius:20px;
    background:rgba(0,0,0,.20);
}
.castle-owner-mark img{
    width:76px;
    height:76px;
    image-rendering:pixelated;
}
.castle-owner-mark span{
    color:#d9a650;
    font-size:22px;
    font-weight:950;
}
.castle-owner-copy h2,
.castle-cycle-card h2{
    margin:5px 0 7px;
    font-size:27px;
}
.castle-owner-copy p,
.castle-cycle-card p{
    margin:0;
    color:#9aa6b5;
}
.castle-owner-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px 18px;
    margin-top:18px;
    color:#788597;
    font-size:11px;
}
.castle-owner-meta b{color:#dce4ee}

.castle-cycle-card{
    padding:27px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.castle-cycle-card time{
    display:block;
    margin-top:7px;
    color:#dba654;
    font-size:15px;
    font-weight:800;
}
.castle-config-flags{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:18px;
}
.castle-config-flags span{
    padding:5px 8px;
    border-radius:999px;
    font-size:9px;
    font-weight:900;
    letter-spacing:.4px;
}
.castle-config-flags .on{
    background:#123a27;
    color:#65e5a1;
}
.castle-config-flags .off{
    background:#3b2025;
    color:#ea8f9a;
}

.castle-stats{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:10px;
    margin-bottom:30px;
}
.castle-stats>div{
    min-height:92px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:15px;
    border:1px solid rgba(255,255,255,.065);
    border-radius:15px;
    background:#090e14;
}
.castle-stats span{
    color:#718094;
    font-size:9px;
    font-weight:850;
    letter-spacing:.8px;
    text-transform:uppercase;
}
.castle-stats b{
    margin-top:5px;
    color:#e5ebf3;
    font-size:16px;
}
.castle-stats small{
    margin-top:4px;
    color:#6e7b8c;
    font-size:9px;
}
.cs-good{color:#5de59e!important}
.cs-bad{color:#ed8a97!important}

.castle-section-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    margin:27px 2px 12px;
}
.castle-section-head span{
    color:#c89143;
    font-size:9px;
    font-weight:900;
    letter-spacing:1.5px;
}
.castle-section-head h2{
    margin:4px 0 0;
    font-size:22px;
}
.castle-section-head>small{
    color:#758295;
}
.castle-register-table{min-width:900px}
.castle-final-table{min-width:680px}
.castle-register-table .guild-mark,
.castle-final-table .guild-mark{
    display:block;
    width:34px;
    height:34px;
    image-rendering:pixelated;
}
.castle-side{
    display:inline-flex;
    min-width:92px;
    justify-content:center;
    padding:5px 8px;
    border-radius:999px;
    background:#192230;
    color:#9eabba;
    font-size:9px;
    font-weight:900;
}
.castle-side.side-1{
    background:#183125;
    color:#74d6a1;
}
.castle-side.side-2,
.castle-side.side-3,
.castle-side.side-4{
    background:#342022;
    color:#e7a0a0;
}
.castle-admin-preview{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin:18px 0;
}
.castle-admin-preview>div{
    display:flex;
    flex-direction:column;
    gap:5px;
    min-height:75px;
    justify-content:center;
    padding:13px;
    border:1px solid #202936;
    border-radius:12px;
    background:#090e14;
}
.castle-admin-preview span{
    color:#758295;
    font-size:9px;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.7px;
}
.castle-admin-preview b{
    font-size:12px;
}
.admin-category-state.off{
    background:#3a1d24;
    color:#ec8e9b;
}

@media(max-width:1050px){
    .castle-head-art{width:112px;height:142px;flex-basis:112px}
    .castle-head-art img{height:136px;max-width:112px}
    .castle-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:800px){
    .castle-pagehead{flex-wrap:wrap;align-items:center}
    .castle-head-art{margin-left:auto}
    .castle-live-state{width:100%;flex-basis:100%;align-items:flex-start}
    .castle-owner-grid{grid-template-columns:1fr}
    .castle-admin-preview{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
    .castle-pagehead{align-items:flex-start;gap:12px;min-height:0}
    .castle-head-art{width:86px;height:112px;flex-basis:86px;margin-left:0}
    .castle-head-art:before{width:105px;height:105px}
    .castle-head-art img{height:108px;max-width:86px}
    .castle-live-state{align-items:flex-start;width:100%}
    .castle-owner-card{align-items:flex-start}
    .castle-owner-mark{width:68px;height:68px}
    .castle-owner-mark img{width:56px;height:56px}
    .castle-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
    .castle-admin-preview{grid-template-columns:1fr}
}


/* ==========================================================================
   MuOnlineItalia V2.28 - PAGINATION 100
   ========================================================================== */
.pagination{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:6px;
    margin:16px 0 28px;
}
.pagination a,
.pagination span{
    min-width:34px;
    height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 9px;
    border:1px solid rgba(255,255,255,.075);
    border-radius:10px;
    background:#090e14;
    color:#8f9bac;
    font-size:11px;
    font-weight:800;
}
.pagination a:hover{
    color:#edf2f7;
    border-color:rgba(204,148,57,.28);
}
.pagination a.active{
    color:#14100a;
    border-color:#e0a33e;
    background:#e0a33e;
}
.pagination .page-arrow{
    color:#d8aa60;
}
.gens-table .pagination{
    margin:14px 0 4px;
}


/* ==========================================================================
   MuOnlineItalia V2.29 - HOME LOGO + VERIFIED REGISTRATION
   ========================================================================== */
.hero-v27-copy .hero-kicker{
    color:#e2a650 !important;
    letter-spacing:2.4px !important;
}
/* ===== POSIZIONE FINALE LOGO ===== */
.hero-main-logo{
    position:relative !important;
    left:-100px !important;
}
.hero-main-logo img{
    display:block;
    width:100%;
    height:auto;
    max-height:270px;
    object-fit:contain;
    object-position:center center;
    margin:0 auto;
    filter:drop-shadow(0 8px 24px rgba(0,0,0,.50));
}
.hero-v27-copy h1{
    display:none !important;
}

.registration-layout{
    display:grid;
    grid-template-columns:.82fr 1.18fr;
    gap:22px;
    align-items:start;
}
.registration-intro{
    position:sticky;
    top:100px;
    padding:28px 6px 24px 2px;
}
.registration-intro h1{
    margin:6px 0 12px;
    font-size:38px;
}
.registration-intro>p{
    margin:0;
    max-width:470px;
    color:#98a4b4;
    line-height:1.65;
}
.registration-steps{
    display:grid;
    gap:10px;
    margin-top:28px;
}
.registration-steps>div{
    display:grid;
    grid-template-columns:42px 1fr;
    gap:3px 13px;
    padding:14px 15px;
    border:1px solid rgba(255,255,255,.065);
    border-radius:14px;
    background:rgba(9,14,20,.72);
}
.registration-steps span{
    grid-row:1/3;
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border-radius:11px;
    background:rgba(214,155,61,.10);
    color:#d9a653;
    font-size:10px;
    font-weight:900;
}
.registration-steps strong{
    font-size:13px;
}
.registration-steps small{
    color:#798698;
    font-size:11px;
}

.registration-form{
    padding:26px;
}
.form-grid-two{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}
.recaptcha-disclosure{
    margin-top:2px;
    color:#657285;
    font-size:10px;
    line-height:1.55;
}
.recaptcha-disclosure a{
    color:#a48b65;
}
.registration-submit{
    min-width:170px;
}
.registration-submit:disabled,
.admin-test-mail button:disabled{
    opacity:.45;
    cursor:not-allowed;
}

.grecaptcha-badge{
    visibility:hidden !important;
}

.registration-result{
    margin-top:35px;
    padding:42px 34px;
    text-align:center;
}
.registration-result-icon{
    width:68px;
    height:68px;
    display:grid;
    place-items:center;
    margin:0 auto 17px;
    border-radius:50%;
    font-size:34px;
    font-weight:300;
}
.registration-result.success .registration-result-icon{
    background:#123a27;
    color:#66e3a1;
    border:1px solid rgba(88,218,145,.24);
}
.registration-result.failed .registration-result-icon{
    background:#3a1d24;
    color:#ef8996;
    border:1px solid rgba(224,91,110,.24);
}
.registration-result h1{
    margin:5px 0 9px;
}
.registration-result p{
    color:#929eae;
}

.registration-admin-status{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:10px;
    margin-bottom:16px;
}
.registration-admin-status>div{
    min-height:86px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:6px;
    padding:14px;
    border:1px solid rgba(255,255,255,.065);
    border-radius:14px;
    background:#090e14;
}
.registration-admin-status span{
    color:#748195;
    font-size:9px;
    font-weight:850;
    letter-spacing:.7px;
    text-transform:uppercase;
}
.registration-admin-status b{
    color:#e1e7ef;
    font-size:12px;
}
.registration-config-path{
    margin:18px 0;
    padding:16px;
    border:1px solid #202936;
    border-radius:13px;
    background:#090e14;
}
.registration-config-path>span{
    display:block;
    margin-bottom:7px;
    color:#78869a;
    font-size:9px;
    font-weight:900;
    letter-spacing:1px;
}
.registration-config-path code{
    color:#dfad5c;
}
.registration-config-path p{
    margin:8px 0 0;
    color:#8491a2;
    font-size:11px;
}
.admin-test-mail{
    max-width:760px;
    margin-top:14px;
}

@media(max-width:980px){
    .hero-main-logo{width:min(100%,450px)}
    .registration-layout{grid-template-columns:1fr}
    .registration-intro{position:static;padding-bottom:4px}
    .registration-admin-status{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:680px){
    .hero-main-logo{width:min(100%,390px)}
    .form-grid-two{grid-template-columns:1fr}
    .registration-admin-status{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* ==========================================================================
   MuOnlineItalia V2.37 - SECURITY / GANDALF WARNING / USER ACCOUNT
   ========================================================================== */
.gandalf-denied{
    max-width:860px;
    min-height:460px;
    margin:28px auto;
    padding:38px 34px 34px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    border:1px solid rgba(220,164,70,.20);
    border-radius:26px;
    background:
        radial-gradient(circle at 50% 10%, rgba(226,191,92,.10), transparent 24%),
        linear-gradient(145deg,#0d1219,#070b10);
    box-shadow:0 30px 80px rgba(0,0,0,.34);
}
.gandalf-warning-wrap{
    width:min(100%, 340px);
    margin:10px auto 20px;
}
.gandalf-warning-sign{
    display:block;
    width:100%;
    height:auto;
    filter:drop-shadow(0 18px 28px rgba(0,0,0,.42));
}
.gandalf-denied h1{
    margin:4px 0 12px;
    color:#f0b55d;
    font-size:clamp(32px,5.2vw,58px);
    letter-spacing:-1.6px;
}
.gandalf-denied p{
    max-width:650px;
    color:#a8b3c1;
    font-size:15px;
    line-height:1.7;
    margin:0 auto 18px;
}
.gandalf-status-grid{
    width:100%;
    max-width:720px;
    margin:4px auto 20px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}
.gandalf-status-item{
    padding:16px 14px;
    border:1px solid rgba(217,169,82,.14);
    border-radius:16px;
    background:rgba(255,255,255,.025);
    text-align:left;
}
.gandalf-status-item span{
    display:block;
    color:#758191;
    font-size:10px;
    font-weight:900;
    letter-spacing:1px;
    text-transform:uppercase;
    margin-bottom:8px;
}
.gandalf-status-item strong{
    display:block;
    color:#edf2f8;
    font-size:15px;
    line-height:1.35;
    word-break:break-word;
}
.gandalf-denied small{
    margin:0 0 22px;
    color:#748194;
}
@media(max-width:780px){
    .gandalf-status-grid{
        grid-template-columns:1fr;
    }
}
@media(max-width:650px){
    .gandalf-denied{
        min-height:400px;
        padding:28px 18px 24px;
    }
}
.user-account-grid{
    display:grid;
    grid-template-columns:1.4fr repeat(3,minmax(0,1fr));
    gap:13px;
}
.user-account-main{
    display:flex;
    align-items:center;
    gap:18px;
    min-height:142px;
}
.user-account-avatar{
    width:72px;
    height:72px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    border-radius:20px;
    border:1px solid rgba(222,163,66,.20);
    background:rgba(204,143,46,.09);
    color:#e1ad5b;
    font-size:29px;
    font-weight:950;
}
.user-account-main h2{
    margin:4px 0;
    font-size:25px;
}
.user-account-main p{
    margin:0;
    color:#748195;
    font-size:11px;
}
.user-account-stat{
    min-height:142px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.user-account-stat span{
    color:#738195;
    font-size:9px;
    font-weight:900;
    letter-spacing:1px;
    text-transform:uppercase;
}
.user-account-stat strong{
    margin-top:7px;
    overflow-wrap:anywhere;
    color:#e7edf4;
    font-size:14px;
}
.user-account-stat small{
    margin-top:5px;
    color:#758294;
    font-size:10px;
}
.account-register-link{
    display:inline-block;
    margin-top:8px;
}

@media(max-width:1050px){
    .user-account-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:650px){
    .user-account-grid{
        grid-template-columns:1fr;
    }
    .gandalf-denied{
        min-height:400px;
        padding:42px 22px;
    }
}


/* ==========================================================================
   MuOnlineItalia V2.39 - HERO MODULE EDGE FADE
   La sfumatura è applicata AL MODULO .hero-v27-media, non al PNG.
   L'immagine resta pulita; sono i bordi del contenitore a fondersi col fondo.
   ========================================================================== */

.hero-v27-media{
    /*
     * Fade reale del contenitore:
     * - più forte a sinistra, dove incontra il testo
     * - leggero sopra/sotto
     * - appena accennato sul bordo destro
     */
    -webkit-mask-image:
        linear-gradient(to right,
            transparent 0%,
            rgba(0,0,0,.22) 4%,
            rgba(0,0,0,.72) 10%,
            #000 18%,
            #000 94%,
            rgba(0,0,0,.78) 97%,
            transparent 100%),
        linear-gradient(to bottom,
            transparent 0%,
            rgba(0,0,0,.70) 7%,
            #000 15%,
            #000 86%,
            rgba(0,0,0,.72) 94%,
            transparent 100%);
    -webkit-mask-composite: source-in;
    mask-image:
        linear-gradient(to right,
            transparent 0%,
            rgba(0,0,0,.22) 4%,
            rgba(0,0,0,.72) 10%,
            #000 18%,
            #000 94%,
            rgba(0,0,0,.78) 97%,
            transparent 100%),
        linear-gradient(to bottom,
            transparent 0%,
            rgba(0,0,0,.70) 7%,
            #000 15%,
            #000 86%,
            rgba(0,0,0,.72) 94%,
            transparent 100%);
    mask-composite: intersect;
}

/* Nessuna maschera/filter direttamente sul file immagine */
.hero-v27-media img{
    -webkit-mask-image:none !important;
    mask-image:none !important;
    opacity:1 !important;
    filter:none !important;
}

/* Desktop: sfumatura elegante dentro la card */
@media(min-width:901px){
    .hero-v27-media{
        -webkit-mask-image:
            linear-gradient(to right,
                transparent 0%,
                rgba(0,0,0,.18) 3%,
                rgba(0,0,0,.62) 8%,
                #000 17%,
                #000 95%,
                rgba(0,0,0,.88) 98%,
                transparent 100%),
            linear-gradient(to bottom,
                transparent 0%,
                rgba(0,0,0,.82) 8%,
                #000 16%,
                #000 87%,
                rgba(0,0,0,.80) 94%,
                transparent 100%);
        -webkit-mask-composite:source-in;
        mask-image:
            linear-gradient(to right,
                transparent 0%,
                rgba(0,0,0,.18) 3%,
                rgba(0,0,0,.62) 8%,
                #000 17%,
                #000 95%,
                rgba(0,0,0,.88) 98%,
                transparent 100%),
            linear-gradient(to bottom,
                transparent 0%,
                rgba(0,0,0,.82) 8%,
                #000 16%,
                #000 87%,
                rgba(0,0,0,.80) 94%,
                transparent 100%);
        mask-composite:intersect;
    }
}

/* Mobile/tablet: fade più verticale, perché l'artwork passa sotto al testo */
@media(max-width:900px){
    .hero-v27-media{
        -webkit-mask-image:
            linear-gradient(to right,
                transparent 0%,
                rgba(0,0,0,.72) 7%,
                #000 14%,
                #000 88%,
                rgba(0,0,0,.72) 95%,
                transparent 100%),
            linear-gradient(to bottom,
                transparent 0%,
                rgba(0,0,0,.35) 6%,
                #000 18%,
                #000 90%,
                transparent 100%);
        -webkit-mask-composite:source-in;
        mask-image:
            linear-gradient(to right,
                transparent 0%,
                rgba(0,0,0,.72) 7%,
                #000 14%,
                #000 88%,
                rgba(0,0,0,.72) 95%,
                transparent 100%),
            linear-gradient(to bottom,
                transparent 0%,
                rgba(0,0,0,.35) 6%,
                #000 18%,
                #000 90%,
                transparent 100%);
        mask-composite:intersect;
    }
}


/* ==========================================================================
   MuOnlineItalia V2.40 - HERO EDGE FADE STRONGER
   Rafforza ancora la sfumatura visiva dei bordi del box immagine.
   Il fade è sul modulo, non sull'immagine.
   ========================================================================== */

.hero-v27-media{
    position:relative;
    overflow:hidden;
    isolation:isolate;
}

/* Velo generale per addolcire il rettangolo del box */
.hero-v27-media::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    z-index:2;
    background:
        radial-gradient(circle at left center, rgba(3,7,14,0.88) 0%, rgba(3,7,14,0.62) 14%, rgba(3,7,14,0.18) 31%, rgba(3,7,14,0) 43%),
        radial-gradient(circle at right center, rgba(3,7,14,0.74) 0%, rgba(3,7,14,0.40) 12%, rgba(3,7,14,0.10) 24%, rgba(3,7,14,0) 33%),
        linear-gradient(to bottom, rgba(3,7,14,0.62) 0%, rgba(3,7,14,0.16) 12%, rgba(3,7,14,0) 22%),
        linear-gradient(to top, rgba(3,7,14,0.70) 0%, rgba(3,7,14,0.18) 14%, rgba(3,7,14,0) 26%);
}

/* Ombra interna per sfumare ancora di più il perimetro */
.hero-v27-media::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    z-index:3;
    box-shadow:
        inset 130px 0 120px -50px rgba(3,7,14,0.92),
        inset -90px 0 90px -38px rgba(3,7,14,0.78),
        inset 0 42px 56px -28px rgba(3,7,14,0.62),
        inset 0 -56px 70px -34px rgba(3,7,14,0.74);
}

/* L'immagine rimane pulita */
.hero-v27-media img{
    position:relative;
    z-index:1;
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

@media(max-width:900px){
    .hero-v27-media::before{
        background:
            radial-gradient(circle at left center, rgba(3,7,14,0.80) 0%, rgba(3,7,14,0.50) 18%, rgba(3,7,14,0.14) 32%, rgba(3,7,14,0) 45%),
            radial-gradient(circle at right center, rgba(3,7,14,0.68) 0%, rgba(3,7,14,0.30) 12%, rgba(3,7,14,0.08) 24%, rgba(3,7,14,0) 34%),
            linear-gradient(to bottom, rgba(3,7,14,0.45) 0%, rgba(3,7,14,0.12) 14%, rgba(3,7,14,0) 24%),
            linear-gradient(to top, rgba(3,7,14,0.58) 0%, rgba(3,7,14,0.14) 15%, rgba(3,7,14,0) 26%);
    }
    .hero-v27-media::after{
        box-shadow:
            inset 88px 0 84px -38px rgba(3,7,14,0.84),
            inset -60px 0 58px -24px rgba(3,7,14,0.68),
            inset 0 26px 38px -20px rgba(3,7,14,0.42),
            inset 0 -36px 46px -24px rgba(3,7,14,0.56);
    }
}


/* ==========================================================================
   MuOnlineItalia V2.41 - HERO NO TOP/BOTTOM CUT
   SOLO CSS. Nessuna immagine modificata o creata.
   Corregge il bordo netto visibile sopra/sotto al modulo artwork.
   ========================================================================== */

/* La nuova artwork è 2:1: il modulo usa lo stesso rapporto e riempie
   verticalmente la hero senza lasciare un bordo netto in basso/alto. */
.hero-v27-media{
    top:50% !important;
    right:-42px !important;
    width:min(70vw,900px) !important;
    max-width:900px !important;
    height:auto !important;
    aspect-ratio:2 / 1 !important;
    transform:translateY(-50%) !important;

    /* niente mask multiple: in alcuni browser creavano il "taglio" */
    -webkit-mask-image:none !important;
    mask-image:none !important;
    -webkit-mask-composite:initial !important;
    mask-composite:initial !important;

    overflow:hidden !important;
    isolation:isolate !important;
}

/* L'immagine non viene croppata. */
.hero-v27-media img{
    position:relative !important;
    z-index:1 !important;
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-width:none !important;
    object-fit:contain !important;
    object-position:center right !important;
    -webkit-mask-image:none !important;
    mask-image:none !important;
    filter:none !important;
    opacity:1 !important;
}

/*
 * Sfumatura VISIVA del modulo:
 * il bordo superiore/inferiore arriva gradualmente allo stesso colore
 * della hero, quindi il rettangolo dell'immagine non si vede più.
 */
.hero-v27-media::before{
    display:block !important;
    content:"" !important;
    position:absolute !important;
    z-index:3 !important;
    pointer-events:none !important;

    top:-2px !important;
    right:-2px !important;
    bottom:-2px !important;
    left:-2px !important;
    width:auto !important;
    height:auto !important;
    inset:-2px !important;

    background:
        linear-gradient(
            to bottom,
            #080c12 0%,
            rgba(8,12,18,.92) 4%,
            rgba(8,12,18,.68) 9%,
            rgba(8,12,18,.26) 15%,
            rgba(8,12,18,0) 23%,
            rgba(8,12,18,0) 76%,
            rgba(8,12,18,.24) 84%,
            rgba(8,12,18,.66) 91%,
            rgba(8,12,18,.92) 96%,
            #080c12 100%
        ),
        linear-gradient(
            to right,
            #080c12 0%,
            rgba(8,12,18,.96) 5%,
            rgba(8,12,18,.72) 12%,
            rgba(8,12,18,.30) 21%,
            rgba(8,12,18,0) 34%,
            rgba(8,12,18,0) 91%,
            rgba(8,12,18,.30) 96%,
            rgba(8,12,18,.72) 100%
        ) !important;

    filter:none !important;
    transform:none !important;
}

/* Non serve un secondo velo: evita sovrapposizioni e linee sui bordi. */
.hero-v27-media::after{
    display:none !important;
    content:none !important;
}

/* Desktop largo: l'artwork arriva quasi esattamente all'altezza della card. */
@media(min-width:1181px){
    .hero-v27-media{
        right:-38px !important;
        width:min(70vw,910px) !important;
        max-width:910px !important;
    }
}

/* Tablet: manteniamo tutta l'immagine e una sfumatura verticale più morbida. */
@media(max-width:1180px) and (min-width:901px){
    .hero-v27-media{
        right:-70px !important;
        width:min(74vw,850px) !important;
        max-width:850px !important;
    }
}

/* Mobile: nessun crop; immagine intera sotto il testo. */
@media(max-width:900px){
    .hero-v27-media{
        top:auto !important;
        bottom:-2px !important;
        right:50% !important;
        width:min(1080px,122vw) !important;
        max-width:none !important;
        aspect-ratio:2 / 1 !important;
        transform:translateX(50%) !important;
    }

    .hero-v27-media::before{
        background:
            linear-gradient(
                to bottom,
                #080c12 0%,
                rgba(8,12,18,.88) 6%,
                rgba(8,12,18,.42) 14%,
                rgba(8,12,18,0) 25%,
                rgba(8,12,18,0) 78%,
                rgba(8,12,18,.45) 90%,
                #080c12 100%
            ),
            linear-gradient(
                to right,
                #080c12 0%,
                rgba(8,12,18,.55) 8%,
                rgba(8,12,18,0) 20%,
                rgba(8,12,18,0) 82%,
                rgba(8,12,18,.55) 94%,
                #080c12 100%
            ) !important;
    }
}


/* ==========================================================================
   MuOnlineItalia V2.42 - LOGO RED/ORANGE STAR FLARE
   SOLO CSS: nessuna immagine viene modificata.
   Punto luce centrato sulla "O" di MuOnlineItalia + raggio orizzontale.
   ========================================================================== */

.hero-main-logo{
    position:relative !important;
    isolation:isolate;
    overflow:visible !important;
}

/* Logo originale sempre sopra il fondo, senza alterarne i pixel. */
.hero-main-logo img{
    position:relative;
    z-index:1;
}

/*
 * Raggio rosso/arancio allungato:
 * parte dalla zona della O e attraversa quasi tutta la scritta.
 */
.hero-main-logo::before{
    content:"";
    position:absolute;
    z-index:2;
    pointer-events:none;

    left:17%;
    top:81.5%;
    width:82%;
    height:18px;
    transform:translateY(-50%);

    background:
        linear-gradient(
            90deg,
            rgba(255,50,12,0) 0%,
            rgba(255,72,18,.10) 5%,
            rgba(255,92,24,.34) 14%,
            rgba(255,150,58,.72) 24%,
            rgba(255,224,176,.96) 34%,
            rgba(255,118,34,.72) 47%,
            rgba(220,44,13,.34) 70%,
            rgba(170,20,8,.10) 90%,
            rgba(150,16,8,0) 100%
        );

    filter:
        blur(1.8px)
        drop-shadow(0 0 6px rgba(255,78,20,.72))
        drop-shadow(0 0 13px rgba(255,42,8,.38));

    mix-blend-mode:screen;
    opacity:.72;
    transform-origin:28% 50%;
    animation:muLogoFlareBeam 3.2s ease-in-out infinite;
}

/*
 * Stella principale esattamente sulla O della parola MuOnlineItalia.
 * I gradienti creano nucleo, raggio orizzontale e raggio verticale.
 */
.hero-main-logo::after{
    content:"";
    position:absolute;
    z-index:3;
    pointer-events:none;

    left:28.1%;
    top:81.5%;
    width:82px;
    height:82px;
    transform:translate(-50%,-50%);

    background:
        radial-gradient(
            circle at center,
            rgba(255,255,238,1) 0 3%,
            rgba(255,235,185,.98) 5%,
            rgba(255,162,62,.95) 11%,
            rgba(255,74,18,.70) 21%,
            rgba(235,39,8,.30) 38%,
            rgba(180,16,6,0) 67%
        ),
        linear-gradient(
            90deg,
            rgba(255,80,20,0) 0%,
            rgba(255,100,25,.08) 13%,
            rgba(255,158,70,.42) 35%,
            rgba(255,246,220,1) 49%,
            rgba(255,246,220,1) 51%,
            rgba(255,132,45,.38) 65%,
            rgba(255,72,15,.08) 87%,
            rgba(255,72,15,0) 100%
        ),
        linear-gradient(
            180deg,
            rgba(255,90,24,0) 0%,
            rgba(255,120,35,.10) 22%,
            rgba(255,212,148,.58) 43%,
            rgba(255,252,238,1) 49%,
            rgba(255,252,238,1) 51%,
            rgba(255,190,105,.50) 57%,
            rgba(255,80,18,.08) 78%,
            rgba(255,80,18,0) 100%
        );

    background-size:
        100% 100%,
        100% 5px,
        5px 100%;
    background-position:center;
    background-repeat:no-repeat;

    filter:
        drop-shadow(0 0 7px rgba(255,138,48,.88))
        drop-shadow(0 0 17px rgba(255,65,12,.56))
        drop-shadow(0 0 30px rgba(220,28,8,.24));

    mix-blend-mode:screen;
    opacity:.92;
    animation:muLogoStarPulse 2.15s ease-in-out infinite;
}

@keyframes muLogoStarPulse{
    0%,100%{
        opacity:.72;
        transform:translate(-50%,-50%) scale(.88);
    }
    38%{
        opacity:1;
        transform:translate(-50%,-50%) scale(1.12);
    }
    55%{
        opacity:.90;
        transform:translate(-50%,-50%) scale(1.02);
    }
}

@keyframes muLogoFlareBeam{
    0%,100%{
        opacity:.40;
        transform:translateY(-50%) scaleX(.84);
    }
    38%{
        opacity:.90;
        transform:translateY(-50%) scaleX(1.03);
    }
    58%{
        opacity:.68;
        transform:translateY(-50%) scaleX(.97);
    }
}

/* Mantiene la proporzione dell'effetto anche con il logo più piccolo. */
@media(max-width:680px){
    .hero-main-logo::before{
        height:14px;
    }
    .hero-main-logo::after{
        width:64px;
        height:64px;
    }
}

/* Accessibilità: niente animazione se il browser lo richiede. */
@media(prefers-reduced-motion:reduce){
    .hero-main-logo::before,
    .hero-main-logo::after{
        animation:none !important;
    }
    .hero-main-logo::before{opacity:.64}
    .hero-main-logo::after{opacity:.88}
}


/* ==========================================================================
   MuOnlineItalia V2.43 - SWORD MAGIC FX
   SOLO HTML/CSS. Nessuna immagine modificata.
   Glow blu/viola + riflesso in movimento + scintille leggere.
   ========================================================================== */

.hero-sword-fx{
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
    overflow:hidden;
}

/*
 * Ogni linea segue visivamente una delle due spade.
 * L'effetto è volutamente sottile: deve sembrare energia della lama,
 * non una barra disegnata sopra la foto.
 */
.sword-energy{
    position:absolute;
    display:block;
    height:7px;
    border-radius:999px;
    transform-origin:left center;
    opacity:.56;

    background:
        linear-gradient(
            90deg,
            rgba(64,76,255,0) 0%,
            rgba(69,83,255,.18) 8%,
            rgba(87,77,255,.54) 26%,
            rgba(153,109,255,.78) 48%,
            rgba(74,128,255,.72) 68%,
            rgba(33,92,255,.34) 88%,
            rgba(27,57,255,0) 100%
        );

    box-shadow:
        0 0 6px rgba(98,84,255,.62),
        0 0 13px rgba(66,87,255,.38),
        0 0 24px rgba(112,63,255,.20);

    filter:blur(.35px);
    mix-blend-mode:screen;

    animation:swordEnergyPulse 2.9s ease-in-out infinite;
}

/* Spada alta */
.sword-energy-top{
    left:46.0%;
    top:25.0%;
    width:31.5%;
    transform:rotate(8deg);
}

/* Spada bassa */
.sword-energy-bottom{
    left:45.0%;
    top:57.3%;
    width:46.0%;
    transform:rotate(7.5deg);
    animation-delay:.48s;
}

/*
 * Riflesso brillante che percorre la lama.
 * È generato con un pseudo-elemento per non aggiungere altri nodi HTML.
 */
.sword-energy::before{
    content:"";
    position:absolute;
    top:50%;
    left:-18%;
    width:20%;
    height:2px;
    transform:translateY(-50%);
    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,0),
            rgba(203,218,255,.48),
            rgba(255,255,255,.98),
            rgba(140,177,255,.52),
            rgba(255,255,255,0)
        );

    box-shadow:
        0 0 6px rgba(214,224,255,.85),
        0 0 11px rgba(116,126,255,.62);

    opacity:0;
    animation:swordShineTravel 4.4s cubic-bezier(.35,.08,.3,1) infinite;
}

.sword-energy-bottom::before{
    animation-delay:1.25s;
}

/* Piccole scintille, poche e non invasive */
.sword-spark{
    position:absolute;
    width:5px;
    height:5px;
    border-radius:50%;
    background:rgba(226,234,255,.98);
    box-shadow:
        0 0 5px rgba(198,211,255,.95),
        0 0 10px rgba(104,97,255,.72),
        0 0 18px rgba(88,56,255,.38);
    mix-blend-mode:screen;
    opacity:0;
    animation:swordSparkTwinkle 3.4s ease-in-out infinite;
}

/* Stella orizzontale piccola */
.sword-spark::before,
.sword-spark::after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    border-radius:999px;
    background:rgba(234,240,255,.95);
}
.sword-spark::before{
    width:16px;
    height:1px;
}
.sword-spark::after{
    width:1px;
    height:12px;
}

.sword-spark-1{
    left:60.8%;
    top:29.2%;
    animation-delay:.25s;
}
.sword-spark-2{
    left:71.7%;
    top:34.0%;
    animation-delay:1.6s;
}
.sword-spark-3{
    left:62.5%;
    top:60.4%;
    animation-delay:.9s;
}
.sword-spark-4{
    left:78.4%;
    top:64.0%;
    animation-delay:2.15s;
}

@keyframes swordEnergyPulse{
    0%,100%{
        opacity:.38;
        filter:blur(.55px);
    }
    45%{
        opacity:.70;
        filter:blur(.18px);
    }
    63%{
        opacity:.54;
    }
}

@keyframes swordShineTravel{
    0%,15%{
        left:-18%;
        opacity:0;
    }
    22%{
        opacity:.85;
    }
    49%{
        opacity:1;
    }
    62%{
        left:102%;
        opacity:.18;
    }
    63%,100%{
        left:102%;
        opacity:0;
    }
}

@keyframes swordSparkTwinkle{
    0%,72%,100%{
        opacity:0;
        transform:scale(.60) rotate(0deg);
    }
    78%{
        opacity:.95;
        transform:scale(1.08) rotate(10deg);
    }
    83%{
        opacity:.36;
        transform:scale(.84) rotate(18deg);
    }
    88%{
        opacity:.84;
        transform:scale(1) rotate(26deg);
    }
    94%{
        opacity:0;
        transform:scale(.72) rotate(34deg);
    }
}

/* Su schermi piccoli riduciamo le scintille ma lasciamo il glow. */
@media(max-width:900px){
    .sword-energy{
        height:5px;
        opacity:.48;
    }
    .sword-spark{
        transform:scale(.82);
    }
}

/* Rispetta le preferenze di accessibilità. */
@media(prefers-reduced-motion:reduce){
    .sword-energy,
    .sword-energy::before,
    .sword-spark{
        animation:none !important;
    }
    .sword-energy{
        opacity:.46;
    }
    .sword-energy::before,
    .sword-spark{
        display:none !important;
    }
}


/* ==========================================================================
   MuOnlineItalia V2.44 - CURVED SWORD EDGE FX
   SVG inline: il glow segue realmente il filo CURVO delle due lame.
   Nessuna immagine modificata o creata.
   ========================================================================== */

.hero-sword-fx-svg{
    position:absolute !important;
    inset:0 !important;
    z-index:2 !important;
    width:100% !important;
    height:100% !important;
    pointer-events:none !important;
    overflow:hidden !important;
}

.hero-sword-svg{
    position:absolute;
    inset:0;
    display:block;
    width:100%;
    height:100%;
    overflow:visible;
}

/* Disabilita completamente i vecchi FX lineari della V2.43 se presenti. */
.hero-sword-fx-svg .sword-energy,
.hero-sword-fx-svg .sword-spark{
    display:none !important;
}

/* Alone morbido aderente al bordo della lama. */
.sword-edge-glow{
    fill:none;
    stroke:url(#swordEdgeGradient);
    stroke-width:13;
    stroke-linecap:round;
    stroke-linejoin:round;
    opacity:.42;
    filter:url(#swordGlowSoft);
    mix-blend-mode:screen;
    animation:swordCurvePulse 2.8s ease-in-out infinite;
}

/* Filo fine e definito: resta esattamente sopra la lama. */
.sword-edge-core{
    fill:none;
    stroke:url(#swordEdgeGradient);
    stroke-width:2.8;
    stroke-linecap:round;
    stroke-linejoin:round;
    opacity:.88;
    filter:url(#swordGlowHot);
    mix-blend-mode:screen;
    animation:swordCurveCorePulse 2.8s ease-in-out infinite;
}

/* Segmento bianco/blu che percorre la stessa curva del filo. */
.sword-edge-shine{
    fill:none;
    stroke:url(#swordShineGradient);
    stroke-width:4.2;
    stroke-linecap:round;
    stroke-linejoin:round;
    stroke-dasharray:125 875;
    stroke-dashoffset:1000;
    opacity:0;
    filter:url(#swordGlowHot);
    mix-blend-mode:screen;
    animation:swordCurveTravel 4.5s cubic-bezier(.34,.02,.25,1) infinite;
}

.sword-edge-shine-bottom{
    animation-duration:5s;
    animation-delay:1.15s;
}

/* Piccolo punto/stella che corre sul filo curvo. */
.sword-travel-star{
    fill:#fffdf4;
    stroke:#99b7ff;
    stroke-width:2;
    opacity:.90;
    filter:url(#swordGlowHot);
    mix-blend-mode:screen;
}

.sword-travel-star-top{
    animation:swordStarPulse 1.15s ease-in-out infinite;
}
.sword-travel-star-bottom{
    animation:swordStarPulse 1.30s ease-in-out infinite .25s;
}

@keyframes swordCurvePulse{
    0%,100%{opacity:.27;stroke-width:10}
    48%{opacity:.52;stroke-width:14}
    66%{opacity:.39;stroke-width:12}
}

@keyframes swordCurveCorePulse{
    0%,100%{opacity:.64}
    46%{opacity:1}
    68%{opacity:.80}
}

@keyframes swordCurveTravel{
    0%,12%{
        stroke-dashoffset:1000;
        opacity:0;
    }
    18%{opacity:.92}
    56%{opacity:1}
    72%{
        stroke-dashoffset:0;
        opacity:.18;
    }
    73%,100%{
        stroke-dashoffset:0;
        opacity:0;
    }
}

@keyframes swordStarPulse{
    0%,100%{opacity:.55;r:4.2px}
    50%{opacity:1;r:6.2px}
}

/* Mobile: stessa curva perché SVG e PNG condividono lo stesso viewBox/proporzione. */
@media(max-width:900px){
    .sword-edge-glow{stroke-width:11;opacity:.34}
    .sword-edge-core{stroke-width:2.4}
    .sword-edge-shine{stroke-width:3.6}
    .sword-travel-star{opacity:.72}
}

/* Accessibilità: mantiene solo un glow statico, niente movimento. */
@media(prefers-reduced-motion:reduce){
    .sword-edge-glow,
    .sword-edge-core,
    .sword-edge-shine,
    .sword-travel-star{
        animation:none !important;
    }
    .sword-edge-shine,
    .sword-travel-star{
        display:none !important;
    }
    .sword-edge-glow{opacity:.34}
    .sword-edge-core{opacity:.78}
}


/* ==========================================================================
   MuOnlineItalia V2.45 - EXACT SWORD EDGE TRACE
   I path sono stati ricalcati direttamente sulle linee guida fornite
   dall'utente. Nessuna immagine modificata.
   ========================================================================== */

.hero-sword-fx-svg .sword-edge-glow{
    stroke-width:10 !important;
    opacity:.36 !important;
}

.hero-sword-fx-svg .sword-edge-core{
    stroke-width:2.4 !important;
    opacity:.94 !important;
}

.hero-sword-fx-svg .sword-edge-shine{
    stroke-width:3.4 !important;
    stroke-dasharray:105 895 !important;
}

.hero-sword-fx-svg .sword-travel-star{
    r:4.6px;
}

/* Il tratto deve sembrare appoggiato sul filo, non una barra sopra la lama. */
@keyframes swordCurvePulse{
    0%,100%{opacity:.24;stroke-width:8}
    48%{opacity:.42;stroke-width:11}
    66%{opacity:.32;stroke-width:9}
}

@keyframes swordCurveCorePulse{
    0%,100%{opacity:.72}
    46%{opacity:1}
    68%{opacity:.88}
}


/* ==========================================================================
   MuOnlineItalia V2.46 - VOLCANO FIRE FX
   SOLO CODICE/CSS. Nessuna immagine modificata.
   Fuoco centrale + brace/punti vulcanici nelle zone segnate.
   ========================================================================== */

.hero-fire-fx{
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    overflow:hidden;
    mix-blend-mode:screen;
}

/* Fuoco principale sopra il braciere/forno centrale */
.volcano-flame,
.volcano-glow{
    position:absolute;
    pointer-events:none;
}

.volcano-flame-back{
    left:59.0%;
    top:40.0%;
    width:3.6%;
    height:10.0%;
    opacity:.74;
    background:
        radial-gradient(circle at 50% 72%, rgba(255,232,170,.55) 0 10%, rgba(255,168,68,.70) 18%, rgba(255,84,20,.66) 36%, rgba(196,34,10,.30) 58%, rgba(196,34,10,0) 72%),
        radial-gradient(circle at 44% 58%, rgba(255,244,205,.72) 0 5%, rgba(255,174,74,.55) 18%, rgba(255,98,20,.22) 38%, rgba(255,98,20,0) 58%);
    clip-path: polygon(50% 0%, 65% 20%, 78% 48%, 70% 68%, 84% 100%, 50% 84%, 22% 100%, 34% 68%, 22% 48%, 34% 20%);
    filter: blur(5px);
    transform: rotate(-4deg);
    animation: volcanoFlameFlickerBack 2.2s ease-in-out infinite;
}

.volcano-flame-core{
    left:59.35%;
    top:41.1%;
    width:2.35%;
    height:7.4%;
    opacity:.96;
    background:
        radial-gradient(circle at 50% 78%, rgba(255,249,226,.96) 0 10%, rgba(255,215,110,.92) 20%, rgba(255,128,38,.86) 36%, rgba(255,66,16,.66) 56%, rgba(235,40,8,0) 72%),
        radial-gradient(circle at 48% 38%, rgba(255,250,222,.85) 0 7%, rgba(255,206,92,.52) 18%, rgba(255,104,22,.18) 34%, rgba(255,104,22,0) 50%);
    clip-path: polygon(50% 0%, 64% 18%, 74% 42%, 66% 61%, 79% 100%, 50% 83%, 22% 100%, 34% 61%, 26% 42%, 36% 18%);
    filter: blur(1px) drop-shadow(0 0 10px rgba(255,146,45,.55));
    transform: rotate(-6deg);
    animation: volcanoFlameFlickerCore 1.6s ease-in-out infinite;
}

.volcano-glow-core{
    left:57.8%;
    top:41.0%;
    width:5.8%;
    height:12.2%;
    background:
        radial-gradient(circle at 50% 58%, rgba(255,182,70,.42) 0 12%, rgba(255,122,34,.24) 26%, rgba(225,48,12,.12) 42%, rgba(225,48,12,0) 72%);
    filter: blur(14px);
    opacity:.70;
    animation: volcanoGlowPulse 2.1s ease-in-out infinite;
}

/* Brace/puntini vulcanici nelle aree segnate in rosso */
.ember{
    position:absolute;
    width:10px;
    height:10px;
    border-radius:50%;
    background:
        radial-gradient(circle at 35% 35%, rgba(255,240,210,1) 0 12%, rgba(255,188,98,.92) 26%, rgba(255,92,34,.90) 52%, rgba(210,42,12,.68) 70%, rgba(210,42,12,0) 100%);
    box-shadow:
        0 0 8px rgba(255,120,38,.78),
        0 0 16px rgba(232,64,14,.38);
    opacity:.74;
    transform: translate3d(0,0,0) scale(.92);
    animation: emberRise 4.6s ease-in-out infinite;
}

.ember::before{
    content:"";
    position:absolute;
    inset:-6px;
    border-radius:50%;
    background: radial-gradient(circle, rgba(255,120,40,.22) 0%, rgba(255,120,40,0) 68%);
    filter: blur(4px);
}

/* Posizioni ispirate ai punti rossi disegnati dall'utente */
.ember-1  { left:43.8%; top:49.6%; width:12px; height:12px; animation-delay:.1s;  }
.ember-2  { left:53.6%; top:43.0%; width:10px; height:10px; animation-delay:1.2s; }
.ember-3  { left:61.4%; top:49.8%; width:10px; height:10px; animation-delay:.6s;  }
.ember-4  { left:67.2%; top:48.5%; width:11px; height:11px; animation-delay:2.0s; }
.ember-5  { left:70.4%; top:56.2%; width:10px; height:10px; animation-delay:1.7s; }
.ember-6  { left:76.4%; top:52.4%; width:10px; height:10px; animation-delay:2.5s; }
.ember-7  { left:83.9%; top:56.7%; width:10px; height:10px; animation-delay:.8s;  }
.ember-8  { left:56.4%; top:73.6%; width:12px; height:12px; animation-delay:1.0s; }
.ember-9  { left:60.8%; top:75.1%; width:10px; height:10px; animation-delay:2.6s; }
.ember-10 { left:62.7%; top:72.8%; width:10px; height:10px; animation-delay:1.4s; }
.ember-11 { left:65.4%; top:77.0%; width:11px; height:11px; animation-delay:2.9s; }
.ember-12 { left:68.0%; top:74.1%; width:9px;  height:9px;  animation-delay:1.9s; }
.ember-13 { left:71.0%; top:73.3%; width:12px; height:12px; animation-delay:.4s;  }
.ember-14 { left:73.8%; top:76.4%; width:10px; height:10px; animation-delay:3.1s; }
.ember-15 { left:74.9%; top:71.2%; width:11px; height:11px; animation-delay:2.2s; }
.ember-16 { left:76.8%; top:78.9%; width:10px; height:10px; animation-delay:1.6s; }
.ember-17 { left:92.4%; top:65.4%; width:11px; height:11px; animation-delay:.9s;  }
.ember-18 { left:95.3%; top:80.9%; width:10px; height:10px; animation-delay:2.8s; }

/* Un po' di varietà nel moto */
.ember-3, .ember-6, .ember-10, .ember-14, .ember-17 { animation-duration: 5.2s; }
.ember-4, .ember-8, .ember-12, .ember-15 { animation-duration: 4.1s; }
.ember-1, .ember-7, .ember-11, .ember-18 { animation-duration: 5.8s; }

@keyframes volcanoFlameFlickerBack{
    0%,100%{
        transform: translateY(0) rotate(-5deg) scale(1);
        opacity:.66;
    }
    22%{
        transform: translateY(-2px) rotate(-2deg) scale(1.04,1.08);
        opacity:.84;
    }
    47%{
        transform: translateY(1px) rotate(-8deg) scale(.98,1.04);
        opacity:.70;
    }
    72%{
        transform: translateY(-3px) rotate(-1deg) scale(1.06,1.10);
        opacity:.86;
    }
}

@keyframes volcanoFlameFlickerCore{
    0%,100%{
        transform: translateY(0) rotate(-6deg) scale(1);
        opacity:.84;
    }
    26%{
        transform: translateY(-3px) rotate(-2deg) scale(1.06,1.14);
        opacity:1;
    }
    54%{
        transform: translateY(1px) rotate(-9deg) scale(.96,1.02);
        opacity:.86;
    }
    76%{
        transform: translateY(-4px) rotate(-1deg) scale(1.09,1.18);
        opacity:1;
    }
}

@keyframes volcanoGlowPulse{
    0%,100%{
        opacity:.46;
        transform: scale(.96);
    }
    50%{
        opacity:.85;
        transform: scale(1.08);
    }
}

@keyframes emberRise{
    0%{
        opacity:0;
        transform: translate3d(0, 8px, 0) scale(.65);
    }
    14%{
        opacity:.92;
    }
    52%{
        opacity:.82;
        transform: translate3d(2px, -10px, 0) scale(1.00);
    }
    100%{
        opacity:0;
        transform: translate3d(-1px, -26px, 0) scale(.50);
    }
}

@media(max-width:900px){
    .volcano-flame-back{
        width:4.8%;
        height:12%;
    }
    .volcano-flame-core{
        width:3.2%;
        height:8.8%;
    }
    .volcano-glow-core{
        width:8%;
        height:14.5%;
    }
    .ember{
        width:8px;
        height:8px;
    }
}

@media(prefers-reduced-motion:reduce){
    .volcano-flame-back,
    .volcano-flame-core,
    .volcano-glow-core,
    .ember{
        animation:none !important;
    }
    .ember{
        opacity:.52;
    }
}


/* ==========================================================================
   MuOnlineItalia V2.47 - CLEAN HERO EFFECTS
   Rimosso completamente:
   - effetto spade / weapon FX
   - fuoco / volcano FX
   Rimane il logo flare V2.42 e la hero V2.41.
   ========================================================================== */

.hero-sword-fx,
.hero-sword-fx-svg,
.hero-sword-svg,
.sword-energy,
.sword-spark,
.sword-edge-glow,
.sword-edge-core,
.sword-edge-shine,
.sword-travel-star,
.hero-fire-fx,
.volcano-flame,
.volcano-glow,
.ember{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
}


/* ==========================================================================
   MuOnlineItalia V2.48 - REGISTERED DOWNLOAD ONLY
   ========================================================================== */
.download-locked{
    text-align:center;
    padding:34px 30px;
}
.download-lock-icon{
    width:76px;
    height:76px;
    margin:0 auto 16px;
    display:grid;
    place-items:center;
    border-radius:22px;
    border:1px solid rgba(222,163,66,.22);
    background:rgba(204,143,46,.08);
    color:#e7b15d;
    font-size:34px;
    font-weight:950;
    box-shadow:0 14px 34px rgba(0,0,0,.20);
}
.download-locked h2{
    margin:0 0 10px;
}
.download-locked p{
    max-width:610px;
    margin:0 auto 22px;
    color:#8d99a9;
    line-height:1.65;
}
.download-lock-actions{
    justify-content:center;
}
.account-download-cta{
    margin-top:14px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}
.account-download-cta h2{
    margin:4px 0 5px;
}
.account-download-cta p{
    margin:0;
    color:#8491a1;
}
@media(max-width:720px){
    .account-download-cta{
        align-items:flex-start;
        flex-direction:column;
    }
}


/* ==========================================================================
   MuOnlineItalia V2.49 - RULES / TERMS / PRIVACY ACCEPTANCE
   ========================================================================== */
.registration-legal{
    margin:6px 0 4px;
    padding:16px;
    border:1px solid rgba(225,168,74,.16);
    border-radius:16px;
    background:rgba(255,255,255,.022);
}
.registration-legal-head{
    margin-bottom:12px;
}
.registration-legal-head strong{
    display:block;
    color:#e6edf5;
    font-size:13px;
}
.registration-legal-head small{
    display:block;
    margin-top:4px;
    color:#7e8b9c;
    line-height:1.45;
}
.legal-check{
    display:flex !important;
    flex-direction:row !important;
    align-items:flex-start !important;
    gap:10px;
    margin:10px 0 !important;
    cursor:pointer;
    color:#aab5c3;
    line-height:1.5;
}
.legal-check input{
    width:17px !important;
    height:17px !important;
    min-width:17px;
    margin:2px 0 0 !important;
    accent-color:#d99b42;
}
.legal-check a{
    color:#e4ae5c;
    text-decoration:none;
    border-bottom:1px dotted rgba(228,174,92,.45);
}
.legal-check a:hover{
    border-bottom-color:#e4ae5c;
}
.registration-submit:disabled{
    opacity:.38;
    cursor:not-allowed;
    filter:saturate(.35);
}
.registration-submit.is-unlocked{
    box-shadow:0 0 0 1px rgba(231,177,92,.12),0 9px 28px rgba(207,139,43,.16);
}

.legal-page{
    max-width:980px;
    margin:0 auto;
}
.legal-document{
    padding:30px;
    line-height:1.7;
    color:#aab4c1;
}
.legal-document h2{
    margin:26px 0 7px;
    color:#edf2f7;
    font-size:17px;
}
.legal-document p{
    color:#9ba7b6;
}
.legal-document a{
    color:#e0aa57;
}
.legal-rule{
    display:grid;
    grid-template-columns:36px 1fr;
    gap:8px;
    padding:13px 0;
    border-bottom:1px solid rgba(255,255,255,.055);
}
.legal-rule:last-of-type{
    border-bottom:0;
}
.legal-rule b{
    color:#e1a756;
    font-size:14px;
}
.legal-rule span{
    min-width:0;
}
.legal-sign{
    margin-top:30px !important;
    padding-top:18px;
    border-top:1px solid rgba(225,168,74,.12);
}
@media(max-width:650px){
    .legal-document{
        padding:20px 17px;
    }
    .legal-rule{
        grid-template-columns:28px 1fr;
    }
}


/* ==========================================================================
   MuOnlineItalia V2.50 - MAGIC TAGLINE
   Piccola frase d'atmosfera sotto il logo, senza ripetere il nome del server.
   ========================================================================== */

.hero-magic-tagline{
    position:relative;
    width:max-content;
    max-width:100%;
    margin:8px 0 19px !important;
    padding:0 2px;
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    gap:7px;
    color:#8d9aaa !important;
    font-size:13px !important;
    line-height:1.55 !important;
    letter-spacing:.15px;
}

.hero-magic-tagline span{
    color:#8d9aaa;
}

.hero-magic-tagline strong{
    position:relative;
    color:#d9b06d;
    font-weight:650;
    text-shadow:
        0 0 8px rgba(219,156,66,.14),
        0 0 18px rgba(180,73,37,.08);
}

.hero-magic-tagline strong::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-3px;
    height:1px;
    opacity:.48;
    background:
        linear-gradient(
            90deg,
            rgba(222,163,72,0),
            rgba(226,174,86,.75) 42%,
            rgba(220,77,35,.58) 58%,
            rgba(220,77,35,0)
        );
    transform-origin:center;
    animation:magicTaglineGlow 3.8s ease-in-out infinite;
}

@keyframes magicTaglineGlow{
    0%,100%{
        opacity:.25;
        transform:scaleX(.72);
        filter:blur(.2px);
    }
    50%{
        opacity:.78;
        transform:scaleX(1);
        filter:blur(0);
    }
}

@media(max-width:650px){
    .hero-magic-tagline{
        width:auto;
        font-size:12px !important;
        gap:5px;
    }
}

@media(prefers-reduced-motion:reduce){
    .hero-magic-tagline strong::after{
        animation:none !important;
        opacity:.45;
        transform:none;
    }
}


/* ==========================================================================
   MuOnlineItalia V2.51 - DISCORD COMMUNITY MODULE
   Nessuna immagine: icona Discord SVG inline + CSS.
   ========================================================================== */

.home-bottom{
    align-items:stretch;
}

.home-discord{
    position:relative;
    min-height:142px;
    padding:22px 22px;
    display:grid;
    grid-template-columns:62px minmax(0,1fr) auto;
    align-items:center;
    gap:17px;
    overflow:hidden;
    border:1px solid rgba(122,132,255,.22);
    border-radius:20px;
    background:
        linear-gradient(115deg,rgba(88,101,242,.13),rgba(13,16,25,.96) 48%,rgba(8,12,18,.98));
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.025),
        0 18px 42px rgba(0,0,0,.18);
}

.home-discord::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(105deg,rgba(255,255,255,.035),transparent 28%),
        radial-gradient(circle at 78% 5%,rgba(88,101,242,.13),transparent 30%);
}

.home-discord-glow{
    position:absolute;
    width:200px;
    height:200px;
    left:-82px;
    top:-78px;
    border-radius:50%;
    background:rgba(88,101,242,.16);
    filter:blur(42px);
    pointer-events:none;
}

.home-discord-icon{
    position:relative;
    z-index:1;
    width:58px;
    height:58px;
    display:grid;
    place-items:center;
    border-radius:17px;
    color:#8d99ff;
    border:1px solid rgba(139,149,255,.22);
    background:
        linear-gradient(145deg,rgba(88,101,242,.18),rgba(88,101,242,.055));
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.05),
        0 10px 24px rgba(50,58,160,.12);
}

.home-discord-icon svg{
    width:32px;
    height:25px;
    display:block;
    filter:drop-shadow(0 0 8px rgba(88,101,242,.28));
}

.home-discord-copy{
    position:relative;
    z-index:1;
    min-width:0;
}

.home-discord-copy .mini-label{
    color:#8e9aff;
}

.home-discord-copy h2{
    margin:4px 0 5px;
    color:#eef1f7;
    font-size:22px;
}

.home-discord-copy p{
    margin:0;
    max-width:410px;
    color:#8f9bab;
    font-size:13px;
    line-height:1.55;
}

.home-discord-action{
    position:relative;
    z-index:1;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:9px;
}

.discord-live{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:#8d98a7;
    font-size:10px;
    font-weight:800;
    letter-spacing:.6px;
    text-transform:uppercase;
}

.discord-live i{
    width:7px;
    height:7px;
    display:block;
    border-radius:50%;
    background:#58d68d;
    box-shadow:0 0 0 3px rgba(88,214,141,.08),0 0 10px rgba(88,214,141,.35);
}

.discord-live.discord-offline i{
    background:#7d8794;
    box-shadow:none;
}

.discord-btn{
    min-width:158px;
    justify-content:center;
    border-color:rgba(126,136,255,.34) !important;
    background:
        linear-gradient(135deg,rgba(88,101,242,.94),rgba(77,89,220,.90)) !important;
    color:#fff !important;
    box-shadow:0 10px 25px rgba(56,65,175,.20);
}

.discord-btn:hover{
    transform:translateY(-1px);
    box-shadow:0 14px 30px rgba(56,65,175,.27);
}

.discord-btn.disabled{
    opacity:.42;
    cursor:not-allowed;
    pointer-events:none;
}

@media(max-width:860px){
    .home-discord{
        grid-template-columns:56px 1fr;
    }

    .home-discord-action{
        grid-column:1 / -1;
        flex-direction:row;
        align-items:center;
        justify-content:space-between;
        padding-left:73px;
    }
}

@media(max-width:620px){
    .home-discord{
        grid-template-columns:48px 1fr;
        padding:19px 18px;
        gap:13px;
    }

    .home-discord-icon{
        width:48px;
        height:48px;
        border-radius:14px;
    }

    .home-discord-icon svg{
        width:27px;
        height:22px;
    }

    .home-discord-copy h2{
        font-size:19px;
    }

    .home-discord-action{
        padding-left:61px;
        align-items:flex-start;
        flex-direction:column;
    }

    .discord-btn{
        width:100%;
    }
}


/* ==========================================================================
   MuOnlineItalia V2.52 - ADMIN DISCORD CONFIG
   ========================================================================== */

.discord-admin-card{
    border-color:rgba(108,120,255,.16);
}
.discord-admin-card .admin-category-icon{
    color:#929cff;
    border-color:rgba(108,120,255,.18);
    background:rgba(88,101,242,.08);
}

.discord-admin-form{
    max-width:880px;
}

.discord-admin-fields{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
    margin-top:18px;
}

.discord-admin-fields label{
    display:flex;
    flex-direction:column;
    gap:7px;
}

.discord-admin-fields label:nth-child(3){
    grid-column:1 / -1;
}

.discord-admin-fields label > span{
    color:#dce3ec;
    font-size:12px;
    font-weight:800;
    letter-spacing:.25px;
}

.discord-admin-fields input,
.discord-admin-fields textarea{
    width:100%;
}

.discord-admin-fields textarea{
    min-height:88px;
    resize:vertical;
}

.discord-admin-fields small{
    color:#748091;
    line-height:1.45;
}

.discord-admin-preview{
    margin-top:18px;
    padding:14px 16px;
    display:grid;
    grid-template-columns:auto auto 1fr;
    align-items:center;
    gap:11px;
    border:1px solid rgba(255,255,255,.06);
    border-radius:14px;
    background:rgba(255,255,255,.018);
}

.discord-admin-preview > span{
    color:#8d99a8;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.65px;
    font-weight:800;
}

.discord-admin-preview > small{
    color:#7d8998;
}

@media(max-width:700px){
    .discord-admin-fields{
        grid-template-columns:1fr;
    }

    .discord-admin-fields label:nth-child(3){
        grid-column:auto;
    }

    .discord-admin-preview{
        grid-template-columns:1fr;
        align-items:start;
    }
}


/* ==========================================================================\n   MuOnlineItalia V2.53 - ALL MODULES IN CLASSIFICA\n   ========================================================================== */
.rank-tabs{
    flex-wrap:wrap;
}
.rank-tabs a{
    white-space:nowrap;
}
@media(max-width:760px){
    .rank-tabs{
        gap:5px;
    }
    .rank-tabs a{
        padding-left:11px;
        padding-right:11px;
        font-size:11px;
    }
}


/* ==========================================================================
   MuOnlineItalia V2.54 - ADMIN NEWS CHANNEL
   ========================================================================== */

/* Home: rimpiazza il vecchio riquadro PORTALE */
.home-news-channel{
    position:relative;
    min-height:142px;
    padding:20px 21px;
    overflow:hidden;
    border:1px solid rgba(221,164,74,.13);
    border-radius:20px;
    background:
        linear-gradient(145deg,rgba(226,165,70,.055),rgba(10,14,20,.96) 42%,rgba(8,11,17,.98));
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.022),
        0 18px 42px rgba(0,0,0,.16);
}

.home-news-channel::before{
    content:"";
    position:absolute;
    width:160px;
    height:160px;
    left:-76px;
    top:-82px;
    border-radius:50%;
    background:rgba(222,152,58,.08);
    filter:blur(35px);
    pointer-events:none;
}

.home-news-head{
    position:relative;
    z-index:1;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    margin-bottom:11px;
}

.home-news-head h2{
    margin:3px 0 0;
    color:#edf1f6;
    font-size:20px;
}

.home-news-live{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:#8b96a4;
    font-size:9px;
    font-weight:850;
    letter-spacing:.7px;
    text-transform:uppercase;
}

.home-news-live i{
    width:6px;
    height:6px;
    display:block;
    border-radius:50%;
    background:#e1a95a;
    box-shadow:0 0 9px rgba(225,169,90,.38);
}

.home-news-list{
    position:relative;
    z-index:1;
    display:flex;
    flex-direction:column;
}

.home-news-item{
    padding:10px 0;
    border-top:1px solid rgba(255,255,255,.052);
}

.home-news-item:first-child{
    padding-top:5px;
    border-top:0;
}

.home-news-meta{
    margin-bottom:3px;
    color:#657182;
    font-size:9px;
    font-weight:750;
    letter-spacing:.35px;
}

.home-news-item h3{
    margin:0 0 4px;
    color:#dfe5ed;
    font-size:13px;
    line-height:1.35;
}

.home-news-item p{
    margin:0;
    color:#8995a4;
    font-size:11px;
    line-height:1.48;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
}

.home-news-empty{
    position:relative;
    z-index:1;
    padding:13px 0 5px;
    display:flex;
    flex-direction:column;
    gap:4px;
}

.home-news-empty strong{
    color:#cfd6df;
    font-size:13px;
}

.home-news-empty span{
    color:#788493;
    font-size:11px;
}

/* Admin */
.news-admin-card .admin-category-icon{
    color:#e1ab5e;
    border-color:rgba(225,171,94,.16);
    background:rgba(225,171,94,.06);
}

.admin-news-layout{
    display:grid;
    grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
    gap:18px;
    align-items:start;
}

.admin-news-compose,
.admin-news-history{
    min-width:0;
}

.admin-news-panel-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:16px;
}

.admin-news-panel-head h2{
    margin:4px 0 0;
}

.admin-news-compose textarea{
    resize:vertical;
    min-height:130px;
}

.admin-news-visibility{
    margin-top:22px;
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,.06);
}

.admin-news-count{
    min-width:34px;
    height:30px;
    display:grid;
    place-items:center;
    border-radius:10px;
    color:#e0a75a;
    background:rgba(224,167,90,.07);
    border:1px solid rgba(224,167,90,.12);
    font-size:11px;
    font-weight:900;
}

.admin-news-list{
    display:flex;
    flex-direction:column;
}

.admin-news-entry{
    padding:15px 0;
    border-top:1px solid rgba(255,255,255,.055);
}

.admin-news-entry:first-child{
    border-top:0;
    padding-top:0;
}

.admin-news-entry-top{
    display:flex;
    justify-content:space-between;
    gap:14px;
    align-items:flex-start;
}

.admin-news-entry time{
    display:block;
    margin-bottom:4px;
    color:#687485;
    font-size:9px;
    font-weight:800;
}

.admin-news-entry h3{
    margin:0;
    color:#dfe5ed;
    font-size:14px;
}

.admin-news-entry p{
    margin:8px 0 0;
    color:#8a96a5;
    font-size:12px;
    line-height:1.6;
    white-space:normal;
    overflow-wrap:anywhere;
}

.admin-news-none{
    padding:26px 4px;
    display:flex;
    flex-direction:column;
    gap:5px;
}

.admin-news-none strong{
    color:#cfd6df;
}

.admin-news-none span{
    color:#758191;
    font-size:12px;
}

.btn.danger.mini{
    min-height:30px;
    padding:6px 10px;
    font-size:10px;
}

@media(max-width:900px){
    .admin-news-layout{
        grid-template-columns:1fr;
    }
}

@media(max-width:620px){
    .home-news-channel{
        padding:18px;
    }

    .admin-news-entry-top{
        flex-direction:column;
    }
}


/* ==========================================================================
   MuOnlineItalia V2.55 - NEWS TOP / RSS BOTTOM
   Novità Admin in primo piano; RSS IOGN compatto accanto a Discord.
   ========================================================================== */

/* ---------- NOVITÀ IN ALTO ---------- */
.home-news-feature-head{
    margin-top:25px;
}

.home-news-feature-status{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:#8b96a5;
    font-size:10px;
    font-weight:850;
    letter-spacing:.6px;
    text-transform:uppercase;
}

.home-news-feature-status i{
    width:7px;
    height:7px;
    display:block;
    border-radius:50%;
    background:#e0a75a;
    box-shadow:
        0 0 0 3px rgba(224,167,90,.07),
        0 0 11px rgba(224,167,90,.35);
}

.home-news-feature-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin-bottom:22px;
}

.home-news-feature-card{
    position:relative;
    min-height:172px;
    padding:18px 19px;
    overflow:hidden;
    border:1px solid rgba(224,167,90,.11);
    border-radius:16px;
    background:
        linear-gradient(145deg,rgba(222,158,65,.042),rgba(10,14,20,.96) 42%,rgba(8,11,17,.98));
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.02),
        0 13px 32px rgba(0,0,0,.13);
}

.home-news-feature-card::before{
    content:"";
    position:absolute;
    width:112px;
    height:112px;
    right:-48px;
    top:-56px;
    border-radius:50%;
    background:rgba(220,153,61,.06);
    filter:blur(28px);
    pointer-events:none;
}

.home-news-feature-card.featured{
    border-color:rgba(226,168,75,.22);
    background:
        linear-gradient(145deg,rgba(227,167,72,.075),rgba(11,15,22,.97) 46%,rgba(8,11,17,.99));
}

.home-news-feature-card.featured::after{
    content:"";
    position:absolute;
    left:0;
    top:18px;
    bottom:18px;
    width:2px;
    border-radius:4px;
    background:linear-gradient(180deg,transparent,#dda454,transparent);
    opacity:.68;
}

.home-news-feature-meta{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin-bottom:10px;
}

.home-news-feature-meta span{
    color:#dca657;
    font-size:9px;
    font-weight:900;
    letter-spacing:.72px;
}

.home-news-feature-meta time{
    color:#657181;
    font-size:9px;
    font-weight:750;
}

.home-news-feature-card h3{
    position:relative;
    z-index:1;
    margin:0 0 7px;
    color:#e7ecf2;
    font-size:15px;
    line-height:1.38;
}

.home-news-feature-card p{
    position:relative;
    z-index:1;
    margin:0;
    color:#8995a4;
    font-size:11.5px;
    line-height:1.58;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:4;
    overflow:hidden;
}

.home-news-feature-empty{
    min-height:124px;
    margin-bottom:22px;
    padding:22px;
    display:flex;
    align-items:center;
    gap:17px;
    border:1px solid rgba(224,167,90,.10);
    border-radius:17px;
    background:rgba(255,255,255,.015);
}

.home-news-feature-symbol{
    width:52px;
    height:52px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    border-radius:15px;
    color:#dfa75b;
    font-size:20px;
    font-weight:950;
    border:1px solid rgba(223,167,91,.13);
    background:rgba(223,167,91,.055);
}

.home-news-feature-empty h3{
    margin:3px 0 4px;
    color:#dce3eb;
}

.home-news-feature-empty p{
    margin:0;
    color:#7d8998;
    font-size:12px;
}

/* ---------- RSS IOGN COMPATTO IN BASSO ---------- */
.home-rss-mini{
    position:relative;
    min-height:142px;
    padding:19px 20px;
    overflow:hidden;
    border:1px solid rgba(204,212,224,.09);
    border-radius:20px;
    background:
        linear-gradient(145deg,rgba(255,255,255,.026),rgba(10,14,20,.96) 48%,rgba(8,11,17,.98));
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.02),
        0 18px 42px rgba(0,0,0,.15);
}

.home-rss-mini::before{
    content:"RSS";
    position:absolute;
    right:-5px;
    bottom:-22px;
    color:rgba(255,255,255,.018);
    font-size:68px;
    font-weight:950;
    letter-spacing:-4px;
    pointer-events:none;
}

.home-rss-mini-head{
    position:relative;
    z-index:1;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:8px;
}

.home-rss-mini-head h2{
    margin:3px 0 0;
    color:#edf1f6;
    font-size:20px;
}

.home-rss-mini-head > a{
    color:#8f9aa8;
    font-size:10px;
    font-weight:800;
    text-decoration:none;
    white-space:nowrap;
}

.home-rss-mini-head > a:hover{
    color:#dba455;
}

.home-rss-mini-list{
    position:relative;
    z-index:1;
    display:flex;
    flex-direction:column;
}

.home-rss-mini-item{
    display:block;
    padding:9px 0;
    border-top:1px solid rgba(255,255,255,.05);
    text-decoration:none;
}

.home-rss-mini-item:first-child{
    padding-top:4px;
    border-top:0;
}

.home-rss-mini-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin-bottom:3px;
}

.home-rss-mini-meta span{
    color:#c79a58;
    font-size:8px;
    font-weight:900;
    letter-spacing:.6px;
}

.home-rss-mini-meta time{
    color:#5f6b7a;
    font-size:8px;
}

.home-rss-mini-item h3{
    margin:0;
    color:#d2d9e2;
    font-size:11.5px;
    line-height:1.38;
    transition:color .18s ease;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.home-rss-mini-item p{
    margin:3px 0 0;
    color:#778392;
    font-size:9.5px;
    line-height:1.4;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.home-rss-mini-item:hover h3{
    color:#e3ad60;
}

.home-rss-mini-empty{
    position:relative;
    z-index:1;
    min-height:78px;
    display:flex;
    align-items:center;
    gap:12px;
}

.home-rss-mini-symbol{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    border-radius:12px;
    border:1px solid rgba(210,163,91,.13);
    background:rgba(210,163,91,.05);
    color:#cfa15e;
    font-size:10px;
    font-weight:950;
}

.home-rss-mini-empty strong{
    display:block;
    color:#cfd6df;
    font-size:12px;
}

.home-rss-mini-empty small{
    display:block;
    margin-top:3px;
    color:#74808f;
    line-height:1.4;
}

@media(max-width:940px){
    .home-news-feature-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:620px){
    .home-news-feature-grid{
        grid-template-columns:1fr;
    }

    .home-news-feature-card{
        min-height:auto;
    }

    .home-news-feature-status{
        display:none;
    }

    .home-rss-mini{
        padding:18px;
    }
}


/* ==========================================================================
   MuOnlineItalia V2.56 - EMAIL PASSWORD RECOVERY
   ========================================================================== */
.login-help-links{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:8px 14px;
    margin-top:2px;
}

.login-help-links .textlink{
    font-size:11px;
}

.password-recovery-wrap{
    max-width:590px;
}

.password-recovery-form,
.password-reset-invalid{
    position:relative;
    overflow:hidden;
}

.password-recovery-form::before,
.password-reset-invalid::before{
    content:"";
    position:absolute;
    width:180px;
    height:180px;
    right:-88px;
    top:-92px;
    border-radius:50%;
    background:rgba(222,164,72,.065);
    filter:blur(36px);
    pointer-events:none;
}

.password-recovery-icon{
    position:relative;
    z-index:1;
    width:52px;
    height:52px;
    margin-bottom:12px;
    display:grid;
    place-items:center;
    border-radius:15px;
    color:#e2ab5c;
    font-size:20px;
    font-weight:950;
    border:1px solid rgba(226,171,92,.16);
    background:rgba(226,171,92,.055);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}

.password-recovery-icon.bad{
    color:#e48777;
    border-color:rgba(228,135,119,.16);
    background:rgba(228,135,119,.05);
}

.password-recovery-form h2,
.password-reset-invalid h2{
    position:relative;
    z-index:1;
    margin:0 0 5px;
    color:#e8edf3;
    font-size:19px;
}

.password-recovery-note,
.password-reset-invalid p{
    position:relative;
    z-index:1;
    margin:0 0 18px;
    color:#7f8b9a;
    font-size:11.5px;
    line-height:1.55;
}

.password-back-login{
    display:inline-block;
    margin-top:4px;
    font-size:11px;
}

.password-reset-invalid{
    padding:25px;
}

@media(max-width:520px){
    .login-help-links{
        align-items:flex-start;
        flex-direction:column;
    }
}


/* ==========================================================================
   MuOnlineItalia V2.57 - NEWS 3 AT A TIME
   Solo 3 novità visibili. Le altre si sfogliano Avanti / Indietro.
   ========================================================================== */

.home-news-carousel{
    margin-bottom:22px;
}

.home-news-carousel .home-news-feature-grid{
    margin-bottom:0 !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}

.home-news-feature-card[hidden]{
    display:none !important;
}

.home-news-feature-card.news-card-enter-right{
    animation:newsPageEnterRight .26s ease both;
}

.home-news-feature-card.news-card-enter-left{
    animation:newsPageEnterLeft .26s ease both;
}

.home-news-nav{
    min-height:42px;
    margin-top:10px;
    padding:6px 8px;
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:10px;
    border:1px solid rgba(255,255,255,.052);
    border-radius:13px;
    background:rgba(255,255,255,.014);
}

.home-news-nav-btn{
    appearance:none;
    width:max-content;
    min-height:30px;
    padding:5px 10px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    border:1px solid rgba(221,164,74,.13);
    border-radius:9px;
    background:rgba(221,164,74,.035);
    color:#b8c0cb;
    font:inherit;
    font-size:10px;
    font-weight:850;
    letter-spacing:.25px;
    cursor:pointer;
    transition:
        color .18s ease,
        border-color .18s ease,
        background .18s ease,
        transform .18s ease,
        opacity .18s ease;
}

.home-news-nav-btn:last-child{
    justify-self:end;
}

.home-news-nav-btn:hover:not(:disabled){
    color:#e6af60;
    border-color:rgba(224,168,80,.28);
    background:rgba(224,168,80,.065);
    transform:translateY(-1px);
}

.home-news-nav-btn:disabled{
    opacity:.26;
    cursor:default;
}

.home-news-page-status{
    min-width:62px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    color:#8994a3;
    font-size:10px;
    font-weight:850;
}

.home-news-page-status [data-news-page]{
    color:#e0a85b;
}

.home-news-page-status i{
    color:#4e5968;
    font-style:normal;
}

@keyframes newsPageEnterRight{
    from{
        opacity:0;
        transform:translateX(14px);
    }
    to{
        opacity:1;
        transform:translateX(0);
    }
}

@keyframes newsPageEnterLeft{
    from{
        opacity:0;
        transform:translateX(-14px);
    }
    to{
        opacity:1;
        transform:translateX(0);
    }
}

/* Anche su tablet/mobile sono sempre massimo 3 novità per pagina.
   Cambia solo la disposizione visiva, non il numero della pagina. */
@media(max-width:940px){
    .home-news-carousel .home-news-feature-grid{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        overflow-x:auto;
        scrollbar-width:none;
    }

    .home-news-carousel .home-news-feature-grid::-webkit-scrollbar{
        display:none;
    }

    .home-news-carousel .home-news-feature-card{
        min-width:220px;
    }
}

@media(max-width:620px){
    .home-news-carousel .home-news-feature-grid{
        grid-template-columns:1fr !important;
        overflow:visible;
    }

    .home-news-carousel .home-news-feature-card{
        min-width:0;
    }

    /* Su telefono restano le stesse 3 della pagina, impilate.
       Non vengono mai caricate anche le pagine successive. */
    .home-news-nav{
        grid-template-columns:1fr auto 1fr;
    }

    .home-news-nav-btn{
        padding-left:8px;
        padding-right:8px;
        font-size:9px;
    }
}

@media(prefers-reduced-motion:reduce){
    .home-news-feature-card.news-card-enter-right,
    .home-news-feature-card.news-card-enter-left{
        animation:none !important;
    }
}


/* ==========================================================================
   MuOnlineItalia V2.58 - ONLINE SOFT PULSE
   Lampeggio molto lento e morbido del puntino ONLINE e del numero verde.
   ========================================================================== */

.hero-online .pulse{
    animation:onlineDotSoftPulse 3.8s ease-in-out infinite;
    transform-origin:center;
    will-change:opacity,transform,box-shadow;
}

.server-metric.online b,
.quick-stat.online b{
    animation:onlineNumberSoftPulse 3.8s ease-in-out infinite;
    will-change:opacity,text-shadow;
}

@keyframes onlineDotSoftPulse{
    0%,100%{
        opacity:.72;
        transform:scale(.92);
        box-shadow:
            0 0 0 4px rgba(78,226,138,.07),
            0 0 10px rgba(78,226,138,.30);
    }
    48%,58%{
        opacity:1;
        transform:scale(1.08);
        box-shadow:
            0 0 0 6px rgba(78,226,138,.11),
            0 0 18px rgba(78,226,138,.58);
    }
}

@keyframes onlineNumberSoftPulse{
    0%,100%{
        opacity:.72;
        text-shadow:
            0 0 0 rgba(98,230,154,0);
    }
    48%,58%{
        opacity:1;
        text-shadow:
            0 0 9px rgba(98,230,154,.34),
            0 0 18px rgba(98,230,154,.12);
    }
}

@media(prefers-reduced-motion:reduce){
    .hero-online .pulse,
    .server-metric.online b,
    .quick-stat.online b{
        animation:none !important;
        opacity:1 !important;
    }
}


/* ==========================================================================
   MuOnlineItalia V2.59 - REAL SERVER STATUS DOT
   Verde = ConnectServer raggiungibile
   Rosso = ConnectServer spento/non raggiungibile
   ========================================================================== */

.server-strip-title strong{
    display:flex;
    align-items:center;
    gap:8px;
}

.server-status-dot{
    position:relative;
    width:8px;
    height:8px;
    flex:0 0 8px;
    display:inline-block;
    border-radius:50%;
    transform-origin:center;
}

.server-status-dot.is-online{
    background:#56dc8c;
    box-shadow:
        0 0 0 3px rgba(86,220,140,.075),
        0 0 9px rgba(86,220,140,.36);
    animation:serverStatusOnlinePulse 4.2s ease-in-out infinite;
}

.server-status-dot.is-offline{
    background:#e16464;
    box-shadow:
        0 0 0 3px rgba(225,100,100,.065),
        0 0 8px rgba(225,100,100,.28);
    animation:serverStatusOfflinePulse 4.2s ease-in-out infinite;
}

@keyframes serverStatusOnlinePulse{
    0%,100%{
        opacity:.72;
        transform:scale(.90);
        box-shadow:
            0 0 0 3px rgba(86,220,140,.065),
            0 0 8px rgba(86,220,140,.28);
    }
    50%{
        opacity:1;
        transform:scale(1.10);
        box-shadow:
            0 0 0 5px rgba(86,220,140,.10),
            0 0 15px rgba(86,220,140,.52);
    }
}

@keyframes serverStatusOfflinePulse{
    0%,100%{
        opacity:.70;
        transform:scale(.90);
        box-shadow:
            0 0 0 3px rgba(225,100,100,.055),
            0 0 7px rgba(225,100,100,.24);
    }
    50%{
        opacity:1;
        transform:scale(1.08);
        box-shadow:
            0 0 0 5px rgba(225,100,100,.085),
            0 0 13px rgba(225,100,100,.42);
    }
}

@media(prefers-reduced-motion:reduce){
    .server-status-dot.is-online,
    .server-status-dot.is-offline{
        animation:none !important;
        opacity:1 !important;
    }
}


/* ==========================================================================
   MuOnlineItalia V2.60 - ADMIN ACCOUNT EMAIL + DELETE
   ========================================================================== */

.admin-account-table table{min-width:1040px}
.admin-account-email strong{
    display:block;max-width:245px;overflow:hidden;text-overflow:ellipsis;
    white-space:nowrap;color:#dce3ec;font-size:11px
}
.email-state{
    width:max-content;margin-top:5px;padding:3px 6px;display:inline-flex;
    align-items:center;border-radius:7px;font-size:8px;font-weight:900;letter-spacing:.55px
}
.email-state.verified{
    color:#6ddc9d;border:1px solid rgba(91,216,146,.14);background:rgba(91,216,146,.055)
}
.email-state.pending{
    color:#d9a45e;border:1px solid rgba(217,164,94,.14);background:rgba(217,164,94,.05)
}
.email-empty{color:#626e7d;font-size:10px;font-style:italic}
.admin-account-actions{min-width:320px}
.admin-account-save{margin-bottom:7px}
.account-delete-box{position:relative;display:inline-block}
.account-delete-box>summary{list-style:none;cursor:pointer;user-select:none}
.account-delete-box>summary::-webkit-details-marker{display:none}
.account-delete-form{
    position:absolute;z-index:30;right:0;top:calc(100% + 8px);width:310px;padding:16px;
    border:1px solid rgba(222,102,87,.22);border-radius:14px;background:#0c1118;
    box-shadow:0 18px 48px rgba(0,0,0,.55)
}
.account-delete-form::before{
    content:"";position:absolute;right:18px;top:-5px;width:9px;height:9px;
    transform:rotate(45deg);border-left:1px solid rgba(222,102,87,.22);
    border-top:1px solid rgba(222,102,87,.22);background:#0c1118
}
.account-delete-form>strong{display:block;margin-bottom:5px;color:#ef9a8d;font-size:12px}
.account-delete-form>p{margin:0 0 12px;color:#818d9c;font-size:10px;line-height:1.5}
.account-delete-form label{
    display:flex;flex-direction:column;gap:6px;margin-bottom:11px;color:#9ca7b5;font-size:10px
}
.account-delete-form code{color:#e3b16a}
.account-delete-form input{width:100%}
.account-delete-form .btn.danger{width:100%;justify-content:center}
.empty-cell{padding:28px!important;text-align:center;color:#687485}
@media(max-width:700px){
    .account-delete-form{right:auto;left:0;width:min(310px,82vw)}
    .account-delete-form::before{right:auto;left:18px}
}


/* ==========================================================================
   MuOnlineItalia V2.61 - FOOTER LIVE CLOCK + VISITORS
   ========================================================================== */

.site-footer-v261{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.footer-main-row{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}

.footer-live-module{
    width:100%;
    min-height:58px;
    padding:9px 13px;
    display:grid;
    grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr;
    align-items:center;
    gap:11px;
    border:1px solid rgba(255,255,255,.052);
    border-radius:14px;
    background:
        linear-gradient(105deg,rgba(217,159,67,.025),rgba(255,255,255,.011) 42%,rgba(76,213,136,.018));
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.018),
        0 10px 28px rgba(0,0,0,.08);
}

.footer-live-item{
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
}

.footer-live-item > div{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:2px;
}

.footer-live-item small{
    color:#697585;
    font-size:8px;
    font-weight:850;
    letter-spacing:.72px;
    white-space:nowrap;
}

.footer-live-item strong{
    color:#cfd6df;
    font-size:12px;
    font-variant-numeric:tabular-nums;
    letter-spacing:.15px;
    white-space:nowrap;
}

.footer-live-item.visitors strong{
    color:#69d99a;
    text-shadow:0 0 10px rgba(82,217,145,.15);
}

.footer-live-separator{
    width:1px;
    height:28px;
    background:linear-gradient(180deg,transparent,rgba(255,255,255,.075),transparent);
}

.footer-live-dot{
    width:8px;
    height:8px;
    flex:0 0 8px;
    border-radius:50%;
    background:#59da91;
    box-shadow:
        0 0 0 3px rgba(89,218,145,.055),
        0 0 10px rgba(89,218,145,.32);
    animation:footerVisitorPulse 4s ease-in-out infinite;
}

.footer-live-icon{
    position:relative;
    width:24px;
    height:24px;
    flex:0 0 24px;
    display:block;
    border:1px solid rgba(213,164,88,.10);
    border-radius:8px;
    background:rgba(213,164,88,.025);
}

.footer-live-icon.clock::before{
    content:"";
    position:absolute;
    left:6px;
    top:6px;
    width:10px;
    height:10px;
    border:1px solid #a47d47;
    border-radius:50%;
    opacity:.8;
}

.footer-live-icon.clock::after{
    content:"";
    position:absolute;
    left:11px;
    top:8px;
    width:1px;
    height:5px;
    background:#c19552;
    transform-origin:bottom;
    transform:rotate(-35deg);
}

.footer-live-icon.pc::before{
    content:"";
    position:absolute;
    left:5px;
    top:6px;
    width:12px;
    height:8px;
    border:1px solid #8795a6;
    border-radius:2px;
}

.footer-live-icon.pc::after{
    content:"";
    position:absolute;
    left:8px;
    bottom:5px;
    width:7px;
    height:1px;
    background:#8795a6;
    box-shadow:0 -2px 0 rgba(135,149,166,.55);
}

.footer-live-icon.eye::before{
    content:"";
    position:absolute;
    left:5px;
    top:8px;
    width:12px;
    height:7px;
    border:1px solid #9a7a4d;
    border-radius:50% 50% 50% 50% / 65% 65% 35% 35%;
    transform:rotate(-2deg);
}

.footer-live-icon.eye::after{
    content:"";
    position:absolute;
    left:10px;
    top:10px;
    width:4px;
    height:4px;
    border-radius:50%;
    background:#c59755;
}

@keyframes footerVisitorPulse{
    0%,100%{
        opacity:.68;
        transform:scale(.92);
        box-shadow:
            0 0 0 3px rgba(89,218,145,.045),
            0 0 8px rgba(89,218,145,.24);
    }
    50%{
        opacity:1;
        transform:scale(1.08);
        box-shadow:
            0 0 0 5px rgba(89,218,145,.075),
            0 0 14px rgba(89,218,145,.43);
    }
}

@media(max-width:850px){
    .footer-live-module{
        grid-template-columns:1fr 1fr;
        gap:8px;
    }

    .footer-live-separator{
        display:none;
    }

    .footer-live-item{
        justify-content:flex-start;
        min-height:42px;
        padding:6px 8px;
        border-radius:10px;
        background:rgba(255,255,255,.012);
    }
}

@media(max-width:620px){
    .footer-main-row{
        align-items:flex-start;
        flex-direction:column;
    }

    .footer-live-module{
        grid-template-columns:1fr;
    }

    .footer-live-item{
        width:100%;
    }
}

@media(prefers-reduced-motion:reduce){
    .footer-live-dot{
        animation:none !important;
        opacity:1 !important;
    }
}


/* ==========================================================================
   MuOnlineItalia V2.62 - MAINTENANCE MODE
   ========================================================================== */

.maintenance-body{
    min-height:100vh;
    margin:0;
    overflow:hidden;
    background:
        radial-gradient(circle at 50% 38%,rgba(155,66,37,.12),transparent 27%),
        radial-gradient(circle at 50% 52%,rgba(81,61,121,.06),transparent 42%),
        #05080d;
}
.maintenance-screen{min-height:100vh;padding:28px 18px;display:grid;place-items:center}
.maintenance-card{
    position:relative;width:min(680px,94vw);padding:42px 44px 38px;overflow:hidden;text-align:center;
    border:1px solid rgba(219,160,69,.12);border-radius:24px;
    background:linear-gradient(145deg,rgba(255,255,255,.027),rgba(8,12,18,.97) 42%,rgba(5,8,13,.99));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 28px 80px rgba(0,0,0,.48)
}
.maintenance-card::before{
    content:"";position:absolute;width:380px;height:220px;left:50%;top:-135px;transform:translateX(-50%);
    border-radius:50%;background:rgba(218,76,39,.09);filter:blur(65px);pointer-events:none
}
.maintenance-logo{position:relative;z-index:1;width:min(390px,100%);margin:0 auto 20px}
.maintenance-logo img{width:100%;height:auto;display:block;filter:drop-shadow(0 12px 30px rgba(0,0,0,.38))}
.maintenance-status{
    position:relative;z-index:1;width:max-content;margin:0 auto 13px;padding:6px 10px;display:flex;
    align-items:center;gap:7px;border:1px solid rgba(220,157,67,.12);border-radius:999px;
    background:rgba(220,157,67,.035);color:#c99a57;font-size:9px;font-weight:900;letter-spacing:1px
}
.maintenance-status-dot{
    width:7px;height:7px;border-radius:50%;background:#d89a4e;
    box-shadow:0 0 12px rgba(216,154,78,.45);animation:maintenancePulse 4s ease-in-out infinite
}
.maintenance-card h1{
    position:relative;z-index:1;margin:0 0 11px;color:#eef2f6;font-size:clamp(25px,4vw,38px);line-height:1.12
}
.maintenance-card p{
    position:relative;z-index:1;max-width:520px;margin:0 auto;color:#8d99a8;font-size:13px;line-height:1.7
}
.maintenance-divider{
    position:relative;z-index:1;width:180px;height:1px;margin:25px auto 15px;
    background:linear-gradient(90deg,transparent,rgba(218,157,70,.28),transparent)
}
.maintenance-card small{
    position:relative;z-index:1;color:#566170;font-size:9px;font-weight:800;letter-spacing:.65px;text-transform:uppercase
}
@keyframes maintenancePulse{
    0%,100%{opacity:.58;transform:scale(.9);box-shadow:0 0 7px rgba(216,154,78,.25)}
    50%{opacity:1;transform:scale(1.08);box-shadow:0 0 15px rgba(216,154,78,.52)}
}
.maintenance-admin-card{border-color:rgba(217,156,71,.13)}
.maintenance-admin-card .admin-category-icon{
    color:#d8a058;border-color:rgba(216,160,88,.16);background:rgba(216,160,88,.055)
}
.admin-category-state.maintenance-on{
    color:#e58273;border-color:rgba(229,130,115,.16);background:rgba(229,130,115,.055)
}
.maintenance-admin-form{max-width:880px}
.maintenance-admin-form textarea{min-height:105px;resize:vertical}
.maintenance-admin-status{
    margin:18px 0;padding:14px 16px;display:flex;align-items:center;gap:12px;
    border:1px solid rgba(255,255,255,.06);border-radius:14px;background:rgba(255,255,255,.016)
}
.maintenance-admin-status-dot{width:10px;height:10px;flex:0 0 10px;border-radius:50%}
.maintenance-admin-status.is-open .maintenance-admin-status-dot{
    background:#57d890;box-shadow:0 0 10px rgba(87,216,144,.32)
}
.maintenance-admin-status.is-active .maintenance-admin-status-dot{
    background:#df7768;box-shadow:0 0 10px rgba(223,119,104,.30)
}
.maintenance-admin-status div{display:flex;flex-direction:column;gap:2px}
.maintenance-admin-status strong{color:#dfe5ec;font-size:11px}
.maintenance-admin-status small{color:#7c8897;line-height:1.4}
.maintenance-updater-note{
    margin-bottom:18px;padding:13px 15px;display:flex;flex-direction:column;gap:5px;
    border-left:2px solid rgba(85,205,137,.40);background:rgba(85,205,137,.025)
}
.maintenance-updater-note strong{color:#74d9a1;font-size:11px}
.maintenance-updater-note span{color:#778392;font-size:10px;line-height:1.55}
.maintenance-admin-global a{margin-left:7px;color:#e2ad5e;font-weight:800}
@media(max-width:620px){
    .maintenance-card{padding:32px 22px 29px}
    .maintenance-logo{width:88%}
}
@media(prefers-reduced-motion:reduce){
    .maintenance-status-dot{animation:none!important;opacity:1!important}
}


/* ==========================================================================
   MuOnlineItalia V2.63 - LIVE MODULE UNDER RSS + DISCORD
   ========================================================================== */

.home-live-strip{
    width:100%;
    margin-top:20px;
    margin-bottom:24px;
}

.home-live-strip .footer-live-module{
    width:100%;
    min-height:58px;
    margin:0;
}

.site-footer-v261{
    gap:0;
}

@media(max-width:850px){
    .home-live-strip{
        margin-top:18px;
    }
}

@media(max-width:620px){
    .home-live-strip{
        margin-top:16px;
        margin-bottom:20px;
    }
}


/* ==========================================================================
   MuOnlineItalia V2.64 - LIVE ADMIN TOGGLE + EMAIL PROTECTION
   ========================================================================== */

.live-admin-card .admin-category-icon{
    width:42px;
    font-size:8px;
    letter-spacing:.45px;
    color:#72dca1;
    border-color:rgba(90,218,150,.14);
    background:rgba(90,218,150,.045);
}

.registration-email-protection{
    margin:8px 0 18px;
    padding:17px;
    display:flex;
    flex-direction:column;
    gap:12px;
    border:1px solid rgba(255,255,255,.055);
    border-radius:14px;
    background:rgba(255,255,255,.012);
}

.registration-email-protection-head h3{
    margin:4px 0 3px;
    color:#dfe5ec;
    font-size:15px;
}

.registration-email-protection-head p{
    margin:0;
    color:#748090;
    font-size:10px;
    line-height:1.5;
}

.blocked-email-domains-field{
    display:flex;
    flex-direction:column;
    gap:5px;
}

.blocked-email-domains-field > span{
    color:#cfd6df;
    font-size:11px;
    font-weight:750;
}

.blocked-email-domains-field > small{
    color:#758191;
    font-size:9px;
}

.blocked-email-domains-field textarea{
    min-height:100px;
    resize:vertical;
    font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
    font-size:10px;
}

.registration-email-protection-note{
    padding:11px 12px;
    display:flex;
    flex-direction:column;
    gap:3px;
    border-left:2px solid rgba(86,210,143,.36);
    background:rgba(86,210,143,.025);
}

.registration-email-protection-note strong{
    color:#74d8a0;
    font-size:10px;
}

.registration-email-protection-note span{
    color:#778393;
    font-size:9px;
    line-height:1.5;
}


/* ==========================================================================
   MuOnlineItalia V2.65 - EMAIL KEYWORD BLOCK
   ========================================================================== */

.blocked-email-keywords-field{
    display:flex;
    flex-direction:column;
    gap:5px;
}

.blocked-email-keywords-field > span{
    color:#cfd6df;
    font-size:11px;
    font-weight:750;
}

.blocked-email-keywords-field > small{
    color:#758191;
    font-size:9px;
    line-height:1.5;
}

.blocked-email-keywords-field textarea{
    min-height:100px;
    resize:vertical;
    font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
    font-size:10px;
}

.blocked-email-keywords-field em{
    color:#8c744f;
    font-size:9px;
    line-height:1.5;
    font-style:normal;
}


/* ==========================================================================
   MuOnlineItalia V2.66 - HOME LOGO FINAL ALIGNMENT FIX
   Logo più grande e spostato a sinistra.
   Flare arancione centrato sulla O di MUONLINEITALIA.
   ========================================================================== */

.hero-main-logo{
    width:min(125%,760px) !important;
    max-width:none !important;
    margin:0 auto 12px -35px !important;
    position:relative !important;
    isolation:isolate !important;
    overflow:visible !important;
    transform:none !important;
}

.hero-main-logo img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-height:310px !important;
    object-fit:contain !important;
    object-position:center center !important;
    margin:0 !important;
    position:relative !important;
    z-index:1 !important;
    filter:drop-shadow(0 8px 24px rgba(0,0,0,.50)) !important;
}

/* Raggio orizzontale: parte dalla zona della O e va verso destra. */
.hero-main-logo::before{
    left:28.1% !important;
    top:61.2% !important;
    width:82% !important;
    height:18px !important;
    transform-origin:0 50% !important;
}

/* Punto luce centrato sulla O della scritta MUONLINEITALIA. */
.hero-main-logo::after{
    left:28.1% !important;
    top:61.2% !important;
    width:88px !important;
    height:88px !important;
}

@media(max-width:980px){
    .hero-main-logo{
        width:min(118%,650px) !important;
        margin-left:-24px !important;
    }

    .hero-main-logo img{
        max-height:285px !important;
    }
}

@media(max-width:680px){
    .hero-main-logo{
        width:min(108%,470px) !important;
        margin-left:-10px !important;
    }

    .hero-main-logo img{
        max-height:235px !important;
    }

    .hero-main-logo::before{
        height:14px !important;
    }

    .hero-main-logo::after{
        width:68px !important;
        height:66px !important;
    }
}

/* ==========================================================================
   MuOnlineItalia V2.67 - HOME LOGO FLARE POSITION FIX
   Sposta SOLO l'effetto arancione verso destra.
   Per regolarlo in futuro cambia soltanto --mu-flare-x.
   ========================================================================== */

.hero-main-logo{
    --mu-flare-x:35.6%;
    --mu-flare-y:62.2%;
}

/* Raggio: nasce dal punto luce e sfuma verso destra. */
.hero-main-logo::before{
    left:var(--mu-flare-x) !important;
    top:var(--mu-flare-y) !important;
    width:72% !important;
    height:18px !important;
    transform:translateY(-50%) !important;
    transform-origin:0 50% !important;

    background:linear-gradient(
        90deg,
        rgba(255,245,218,.98) 0%,
        rgba(255,176,76,.92) 4%,
        rgba(255,108,28,.72) 12%,
        rgba(235,62,14,.48) 28%,
        rgba(190,31,8,.22) 55%,
        rgba(150,16,8,0) 100%
    ) !important;

    filter:
        blur(1.8px)
        drop-shadow(0 0 7px rgba(255,94,24,.72))
        drop-shadow(0 0 15px rgba(255,48,10,.34)) !important;
}

/* Stella/punto luce: stessa coordinata del raggio. */
.hero-main-logo::after{
    left:var(--mu-flare-x) !important;
    top:var(--mu-flare-y) !important;
}

/* Il mobile mantiene la stessa posizione relativa. */
@media(max-width:680px){
    .hero-main-logo{
        --mu-flare-x:34.2%;
        --mu-flare-y:61.2%;
    }
}



/* ==========================================================================
   MuOnlineItalia V2.25 - GENS PERSONAGGI + TABELLE FISSE
   ========================================================================== */
.gens-family{
    min-height:220px;
    padding:22px 28px;
    align-items:center;
}
.gens-family img.gens-character{
    /* Le nuove immagini Duprian/Vanert hanno aspect-ratio molto diversi.
       Un box 225x196 mantiene entrambi alla stessa altezza visiva. */
    width:225px;
    height:196px;
    object-fit:contain;
    object-position:center bottom;
    flex:0 0 225px;
    align-self:flex-end;
    margin-bottom:-22px;
    filter:drop-shadow(0 8px 16px rgba(0,0,0,.48));
}
.gens-family.duprian img.gens-character{
    filter:drop-shadow(0 8px 16px rgba(0,0,0,.48)) drop-shadow(0 0 16px rgba(183,134,53,.14));
}
.gens-family.vanert img.gens-character{
    filter:drop-shadow(0 8px 16px rgba(0,0,0,.48)) drop-shadow(0 0 16px rgba(138,47,62,.14));
}

/* Niente scrollbar interna: le tabelle restano ferme dentro il pannello. */
.gens-table{
    overflow:hidden !important;
}
.gens-table table{
    width:100%;
    min-width:0 !important;
    table-layout:fixed;
}
.gens-table th,
.gens-table td{
    white-space:normal;
    overflow-wrap:anywhere;
    padding:11px 8px;
    vertical-align:middle;
}
.gens-table .ranking-gens th:nth-child(1),
.gens-table .ranking-gens td:nth-child(1){width:7%;}
.gens-table .ranking-gens th:nth-child(2),
.gens-table .ranking-gens td:nth-child(2){width:25%;}
.gens-table .ranking-gens th:nth-child(3),
.gens-table .ranking-gens td:nth-child(3){width:27%;}
.gens-table .ranking-gens th:nth-child(4),
.gens-table .ranking-gens td:nth-child(4){width:16%;}
.gens-table .ranking-gens th:nth-child(5),
.gens-table .ranking-gens td:nth-child(5){width:17%;}
.gens-table .ranking-gens th:nth-child(6),
.gens-table .ranking-gens td:nth-child(6){width:8%;}
.gens-table .gens-db-cell{
    min-width:0;
    max-width:100%;
    gap:6px;
}
.gens-table .gens-db-cell img{
    width:32px;
    height:42px;
}
.gens-table .gens-db-cell b,
.gens-table .gens-db-cell small{
    white-space:normal;
}

@media(max-width:980px){
    .gens-rank-grid{grid-template-columns:1fr;}
    .gens-table th,.gens-table td{padding:12px 10px;}
}
@media(max-width:560px){
    .gens-family{min-height:178px;padding:16px 18px;gap:12px;}
    .gens-family img.gens-character{
        /* Stesso rapporto del box desktop, ridotto per mobile. */
        width:125px;
        height:109px;
        object-position:center bottom;
        flex-basis:125px;
        margin-bottom:-16px;
    }
    .gens-family h2{font-size:22px;}
    .gens-family p{font-size:12px;}
    .gens-table th,.gens-table td{font-size:11px;padding:9px 5px;}
    .gens-table .gens-db-cell img{width:26px;height:34px;}
    .gens-table .gens-db-cell b{font-size:10px;}
    .gens-table .gens-db-cell small{font-size:8px;}
}


/* ==========================================================================
   MuOnlineItalia - TOP 3 MEDAGLIE + CASTLE SIEGE SENZA ARTWORK
   ========================================================================== */
.top-rank-medal{
    display:block;
    width:32px;
    height:32px;
    object-fit:contain;
    margin:0 auto;
    filter:drop-shadow(0 3px 5px rgba(0,0,0,.48));
}
.rank-pos.rank-1,
.rank-pos.rank-2,
.rank-pos.rank-3{
    padding-top:7px;
    padding-bottom:7px;
}
.castle-pagehead{
    min-height:0 !important;
}
@media(max-width:560px){
    .top-rank-medal{
        width:28px;
        height:28px;
    }
}


/* ==========================================================================
   Castle Siege - sfondo REALE del riquadro Castle Owner
   ========================================================================== */
.castle-owner-card.castle-owner-background{
    position:relative;
    overflow:hidden;
    isolation:isolate;
    background:
        linear-gradient(90deg,
            rgba(7,11,17,.94) 0%,
            rgba(7,11,17,.86) 32%,
            rgba(7,11,17,.58) 62%,
            rgba(7,11,17,.82) 100%
        ),
        linear-gradient(180deg,
            rgba(7,11,17,.14) 0%,
            rgba(7,11,17,.20) 55%,
            rgba(7,11,17,.88) 100%
        ),
        url("images/castle-owner-bg.jpg") center 48% / cover no-repeat !important;
}

.castle-owner-card.castle-owner-background::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    background:
        radial-gradient(circle at 72% 42%, rgba(255,139,44,.09), transparent 34%),
        linear-gradient(90deg, rgba(4,7,11,.30), transparent 50%, rgba(4,7,11,.18));
}

.castle-owner-card.castle-owner-background .castle-owner-mark,
.castle-owner-card.castle-owner-background .castle-owner-copy{
    position:relative;
    z-index:1;
}

.castle-owner-card.castle-owner-background .castle-owner-mark{
    background:rgba(3,6,10,.58);
    box-shadow:0 10px 30px rgba(0,0,0,.34);
    backdrop-filter:blur(2px);
}

.castle-owner-card.castle-owner-background .castle-owner-copy{
    text-shadow:0 2px 12px rgba(0,0,0,.82);
}

@media(max-width:780px){
    .castle-owner-card.castle-owner-background{
        background:
            linear-gradient(180deg,
                rgba(7,11,17,.72) 0%,
                rgba(7,11,17,.78) 55%,
                rgba(7,11,17,.94) 100%
            ),
            url("images/castle-owner-bg.jpg") center center / cover no-repeat !important;
    }
}


/* ==========================================================================
   Castle Siege - Dark Wizard agganciato al pannello CICLO EVENTO
   Usa l'immagine originale fornita, senza modificarla.
   ========================================================================== */
.castle-cycle-card{
    position:relative;
    overflow:hidden;
    isolation:isolate;
    padding-right:175px;
}
.castle-cycle-card > :not(.castle-cycle-dw){
    position:relative;
    z-index:2;
}
.castle-cycle-dw{
    position:absolute;
    right:-5px;
    bottom:-10px;
    width:165px;
    height:190px;
    display:flex;
    align-items:flex-end;
    justify-content:flex-end;
    z-index:1;
    pointer-events:none;
}
.castle-cycle-dw img{
    display:block;
    width:165px;
    height:auto;
    max-height:190px;
    object-fit:contain;
    object-position:right bottom;
    filter:drop-shadow(-10px 8px 14px rgba(0,0,0,.55));
}
@media(max-width:1050px){
    .castle-cycle-card{padding-right:145px}
    .castle-cycle-dw{width:138px;height:168px;right:-6px}
    .castle-cycle-dw img{width:138px;max-height:168px}
}
@media(max-width:620px){
    .castle-cycle-card{
        padding-right:27px;
        padding-bottom:128px;
    }
    .castle-cycle-dw{
        width:118px;
        height:130px;
        right:8px;
        bottom:-3px;
    }
    .castle-cycle-dw img{
        width:118px;
        max-height:130px;
    }
}


/* ==========================================================================
   EIMUGames - CASTLE SIEGE COMPATTO + DW VISIBILE
   ========================================================================== */

/* Header generale del sito più compatto */
header{
    height:64px !important;
}
header .mark{
    width:32px !important;
    height:32px !important;
    border-radius:9px !important;
}
header .brand{
    gap:9px !important;
    font-size:13px !important;
}
header .brand small{
    font-size:9px !important;
}
header nav{
    gap:18px !important;
    font-size:13px !important;
}
main{
    margin-top:30px !important;
}

/* Testata Castle Siege più raccolta */
.castle-pagehead{
    min-height:0 !important;
    gap:14px !important;
    margin:4px 0 13px !important;
}
.castle-pagehead h1{
    font-size:34px !important;
    margin:5px 0 7px !important;
}
.castle-pagehead p{
    margin:0 !important;
    font-size:12px !important;
    line-height:1.45 !important;
}
.castle-live-state{
    min-width:185px !important;
    padding:9px 12px !important;
    border-radius:12px !important;
}
.castle-live-state strong{
    font-size:12px !important;
}

/* Blocchi Castle Owner / Ciclo più bassi e compatti */
.castle-owner-grid{
    gap:12px !important;
    margin-bottom:12px !important;
}
.castle-owner-card,
.castle-cycle-card{
    min-height:165px !important;
    border-radius:17px !important;
}
.castle-owner-card{
    gap:18px !important;
    padding:20px !important;
}
.castle-owner-mark{
    width:76px !important;
    height:76px !important;
    border-radius:16px !important;
}
.castle-owner-mark img{
    width:62px !important;
    height:62px !important;
}
.castle-owner-copy h2,
.castle-cycle-card h2{
    font-size:22px !important;
    margin:4px 0 5px !important;
}
.castle-owner-meta{
    margin-top:11px !important;
}

/* Pannello orario: riserva davvero lo spazio per DW */
.castle-cycle-card{
    position:relative !important;
    overflow:hidden !important;
    padding:20px 205px 20px 20px !important;
    justify-content:center !important;
}
.castle-config-flags{
    margin-top:11px !important;
}

/* DW originale, volutamente visibile */
.castle-cycle-dw{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    position:absolute !important;
    z-index:3 !important;
    right:2px !important;
    bottom:-8px !important;
    width:195px !important;
    height:178px !important;
    align-items:flex-end !important;
    justify-content:flex-end !important;
    pointer-events:none !important;
}
.castle-cycle-dw::before{
    content:"";
    position:absolute;
    width:150px;
    height:150px;
    right:8px;
    bottom:0;
    border-radius:50%;
    background:radial-gradient(circle,rgba(55,145,255,.16),transparent 67%);
    filter:blur(5px);
    z-index:-1;
}
.castle-cycle-dw img{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:190px !important;
    height:auto !important;
    max-height:178px !important;
    object-fit:contain !important;
    object-position:right bottom !important;
    filter:drop-shadow(-9px 8px 14px rgba(0,0,0,.62)) !important;
}

/* Stats Castle un po' più compatte */
.castle-stats{
    gap:8px !important;
    margin-bottom:22px !important;
}
.castle-stats>div{
    min-height:76px !important;
    padding:11px !important;
    border-radius:13px !important;
}

@media(max-width:900px){
    header{height:60px !important}
    header nav{gap:12px !important}
    .castle-pagehead h1{font-size:31px !important}
    .castle-cycle-card{
        padding-right:165px !important;
    }
    .castle-cycle-dw{
        width:155px !important;
        height:158px !important;
    }
    .castle-cycle-dw img{
        width:152px !important;
        max-height:156px !important;
    }
}

@media(max-width:620px){
    header{
        height:58px !important;
    }
    header .mark{
        width:29px !important;
        height:29px !important;
    }
    main{
        margin-top:22px !important;
    }
    .castle-pagehead{
        gap:9px !important;
    }
    .castle-pagehead h1{
        font-size:29px !important;
    }
    .castle-owner-card,
    .castle-cycle-card{
        min-height:0 !important;
    }
    .castle-cycle-card{
        padding:18px 18px 115px !important;
    }
    .castle-cycle-dw{
        right:4px !important;
        bottom:-8px !important;
        width:130px !important;
        height:120px !important;
    }
    .castle-cycle-dw img{
        width:126px !important;
        max-height:118px !important;
    }
}


/* ==========================================================================
   EIMUGames - HEADER + CASTLE SIEGE COMPATTI / DW BACKGROUND DEFINITIVO
   ========================================================================== */

/* Barra principale più compatta */
header{
    height:54px !important;
    min-height:54px !important;
}
header .mark{
    width:28px !important;
    height:28px !important;
    border-radius:8px !important;
}
header .brand{
    gap:8px !important;
    font-size:12px !important;
    line-height:1.05 !important;
}
header .brand small{
    font-size:8px !important;
    line-height:1.05 !important;
    margin-top:2px !important;
}
header nav{
    gap:17px !important;
    font-size:12px !important;
}
main{
    margin-top:18px !important;
}

/* Testata Castle Siege: stessa grafica, meno altezza */
.castle-pagehead{
    min-height:0 !important;
    margin:0 0 9px !important;
    gap:12px !important;
    padding:0 !important;
}
.castle-pagehead .eyebrow{
    font-size:10px !important;
    line-height:1 !important;
}
.castle-pagehead h1{
    font-size:31px !important;
    line-height:1 !important;
    margin:4px 0 5px !important;
    letter-spacing:-1.2px !important;
}
.castle-pagehead p{
    font-size:11px !important;
    line-height:1.35 !important;
    margin:0 !important;
}
.castle-live-state{
    min-width:165px !important;
    padding:7px 10px !important;
    gap:2px !important;
    border-radius:10px !important;
}
.castle-live-state span{
    font-size:8px !important;
}
.castle-live-state strong{
    font-size:11px !important;
}

/* Menu classifiche più raccolto */
.rank-tabs{
    gap:6px !important;
    margin:-2px 0 11px !important;
}
.rank-tabs a{
    padding:6px 11px !important;
    border-radius:8px !important;
    font-size:11px !important;
}

/* Due riquadri principali un po' più piccoli */
.castle-owner-grid{
    gap:10px !important;
    margin-bottom:10px !important;
}
.castle-owner-card,
.castle-cycle-card{
    min-height:145px !important;
    border-radius:15px !important;
}
.castle-owner-card{
    gap:14px !important;
    padding:16px 18px !important;
}
.castle-owner-mark{
    width:66px !important;
    height:66px !important;
    border-radius:14px !important;
}
.castle-owner-mark img{
    width:54px !important;
    height:54px !important;
}
.castle-owner-copy h2,
.castle-cycle-card h2{
    font-size:20px !important;
    line-height:1.05 !important;
    margin:3px 0 4px !important;
}
.castle-owner-copy p,
.castle-cycle-card p{
    margin:3px 0 !important;
    font-size:12px !important;
}
.castle-owner-meta{
    margin-top:8px !important;
}

/* DW originale come BACKGROUND del pannello CICLO EVENTO:
   così resta sempre visibile e non può essere nascosto dal layout. */
.castle-cycle-card{
    position:relative !important;
    overflow:hidden !important;
    isolation:isolate !important;
    padding:16px 18px !important;

    background:
        linear-gradient(145deg,rgba(12,17,24,.98),rgba(8,12,18,.99)) !important;
}
.castle-cycle-card > *{
    position:relative !important;
    z-index:2 !important;
}
.castle-config-flags{
    margin-top:8px !important;
}

/* Statistiche Castle più compatte */
.castle-stats{
    gap:7px !important;
    margin-bottom:17px !important;
}
.castle-stats>div{
    min-height:68px !important;
    padding:9px 10px !important;
    border-radius:11px !important;
}

/* Il vecchio elemento DW non viene più usato */
.castle-cycle-dw{
    display:none !important;
}

@media(max-width:900px){
    header{
        height:52px !important;
        min-height:52px !important;
    }
    header nav{gap:11px !important}
    .castle-pagehead h1{font-size:29px !important}
    .castle-cycle-card{
        padding-right:18px !important;
    }
}

@media(max-width:620px){
    header{
        height:50px !important;
        min-height:50px !important;
    }
    header .mark{
        width:26px !important;
        height:26px !important;
    }
    main{margin-top:14px !important}
    .castle-pagehead{
        gap:8px !important;
        margin-bottom:7px !important;
    }
    .castle-pagehead h1{font-size:27px !important}
    .castle-live-state{
        min-width:145px !important;
    }
    .castle-cycle-card{
        padding:15px !important;
    }
}


/* EIMUGames - DW rimossa definitivamente dal modulo Castle Siege */
.castle-cycle-card{
    padding-right:18px !important;
    background:
        linear-gradient(145deg,rgba(12,17,24,.98),rgba(8,12,18,.99)) !important;
}
.castle-cycle-dw{
    display:none !important;
}
@media(max-width:620px){
    .castle-cycle-card{
        padding:15px !important;
    }
}


/* ========================================================================== 
   EIMUGames - IT / EN ALLINEAMENTO DEFINITIVO
   ========================================================================== */
header{
    align-items:center !important;
}
header .header-right{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:10px !important;
    margin-left:auto !important;
    min-width:0 !important;
}
header nav{
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    white-space:nowrap !important;
    min-width:0 !important;
}
.lang-switch{
    flex:0 0 auto !important;
    align-self:center !important;
    width:104px !important;
    height:34px !important;
    padding:3px !important;
    gap:3px !important;
}
.lang-switch a{
    flex:1 1 0 !important;
    min-width:0 !important;
    width:48px !important;
    height:26px !important;
    padding:0 5px !important;
    line-height:1 !important;
}
.lang-switch .flag{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:18px !important;
    height:18px !important;
    line-height:18px !important;
}

@media(max-width:1100px){
    header .header-right{
        flex-direction:row !important;
        align-items:center !important;
        width:auto !important;
        gap:7px !important;
    }
    header nav{
        gap:9px !important;
        font-size:11px !important;
    }
    .lang-switch{
        align-self:center !important;
        width:98px !important;
    }
}

@media(max-width:820px){
    header{
        height:auto !important;
        min-height:52px !important;
        padding-top:6px !important;
        padding-bottom:6px !important;
        flex-wrap:nowrap !important;
    }
    header .brand small{display:none !important}
    header .header-right{
        width:auto !important;
        flex:1 1 auto !important;
        min-width:0 !important;
        flex-direction:row !important;
        align-items:center !important;
        justify-content:flex-end !important;
    }
    header nav{
        flex:0 1 auto !important;
        overflow-x:auto !important;
        scrollbar-width:none;
    }
    header nav::-webkit-scrollbar{display:none}
    .lang-switch{
        flex:0 0 94px !important;
        width:94px !important;
    }
}

@media(max-width:620px){
    header{
        flex-wrap:wrap !important;
        gap:5px 9px !important;
    }
    header .header-right{
        width:100% !important;
        flex:0 0 100% !important;
        justify-content:space-between !important;
    }
    header nav{
        justify-content:flex-start !important;
        gap:10px !important;
        font-size:11px !important;
    }
    .lang-switch{
        align-self:center !important;
        margin-left:auto !important;
    }
}


/* ==========================================================================
   EIMUGames - LIVE MODULE: VISITE TOTALI STORICHE
   ========================================================================== */
.footer-live-item.total-visits strong{
    color:#d4a45f;
    text-shadow:0 0 10px rgba(212,164,95,.14);
}

.footer-live-icon.total::before{
    content:"";
    position:absolute;
    width:12px;
    height:8px;
    left:5px;
    top:8px;
    border:1.5px solid #c59755;
    border-radius:7px 7px 3px 3px;
    opacity:.92;
}

.footer-live-icon.total::after{
    content:"∞";
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    padding-top:1px;
    color:#d6a75e;
    font-size:13px;
    font-weight:900;
    line-height:1;
}

@media(max-width:1050px) and (min-width:851px){
    .footer-live-module{
        gap:8px;
        padding-left:10px;
        padding-right:10px;
    }
    .footer-live-item{
        gap:7px;
    }
    .footer-live-item small{
        font-size:7px;
        letter-spacing:.55px;
    }
    .footer-live-item strong{
        font-size:11px;
    }
}


/* ==========================================================================
   EIMUGames - HOME HERO COMPATTA
   IMPORTANTE: logo e flare NON vengono modificati.
   Riduce solo il contenitore e gli spazi attorno.
   ========================================================================== */

/* Contenitore principale più basso */
.hero-v27{
    min-height:390px !important;
}

/* Colonna sinistra più compatta, senza cambiare dimensione/posizione del logo */
.hero-v27-copy{
    min-height:390px !important;
    padding:30px 30px 28px 48px !important;
    justify-content:center !important;
}

/* Il logo resta ESATTAMENTE con le regole già esistenti */
.hero-main-logo{
    margin-top:0 !important;
    margin-bottom:8px !important;
}

/* Testo più vicino al logo */
.hero-v27-copy p{
    margin-top:4px !important;
    margin-bottom:0 !important;
    line-height:1.48 !important;
}

/* Pulsanti e online più vicini */
.hero-v27-copy .actions{
    margin-top:16px !important;
}

.hero-v27-copy .hero-online{
    margin-top:16px !important;
}

/* Artwork destro segue il modulo più basso senza toccarne dimensione */
.hero-v27-media{
    top:50% !important;
}

/* Barra statistiche più vicina al modulo */
.server-strip{
    margin:-22px 26px 24px !important;
}

@media(max-width:1180px){
    .hero-v27{
        min-height:380px !important;
    }
    .hero-v27-copy{
        min-height:380px !important;
        padding:28px 26px 26px 38px !important;
    }
}

@media(max-width:900px){
    .hero-v27{
        min-height:610px !important;
    }
    .hero-v27-copy{
        min-height:285px !important;
        padding:26px 30px 12px !important;
    }
    .hero-v27-copy .actions{
        margin-top:14px !important;
    }
    .hero-v27-copy .hero-online{
        margin-top:14px !important;
    }
}

@media(max-width:600px){
    .hero-v27{
        min-height:570px !important;
    }
    .hero-v27-copy{
        min-height:265px !important;
        padding:22px 22px 10px !important;
    }
}


/* ==========================================================================
   EIMUGames - LOGO IOGN NEL FOOTER
   Immagine originale fornita dall'utente, non modificata.
   ========================================================================== */
.site-footer-v261{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.footer-iogn-logo{
    display:block;
    width:132px;
    margin:2px auto 0;
    opacity:.76;
    transition:opacity .16s ease, transform .16s ease;
}

.footer-iogn-logo:hover{
    opacity:1;
    transform:translateY(-1px);
}

.footer-iogn-logo img{
    display:block;
    width:100%;
    height:auto;
}

@media(max-width:620px){
    .footer-iogn-logo{
        width:112px;
    }
}


/* ==========================================================================
   EIMUGames - HEADER / NAV PREMIUM
   Nessuna immagine modificata.
   ========================================================================== */

/* Barra superiore leggermente più importante */
header{
    height:66px !important;
    min-height:66px !important;
    background:
        linear-gradient(180deg,rgba(9,13,19,.97),rgba(6,9,14,.93)) !important;
    border-bottom:1px solid rgba(214,155,61,.18) !important;
    box-shadow:
        0 8px 28px rgba(0,0,0,.22),
        inset 0 -1px rgba(255,255,255,.025) !important;
}

/* Favicon/logo del server un po' più visibile */
header .mark{
    width:36px !important;
    height:36px !important;
    border-radius:10px !important;
    border-color:rgba(205,146,55,.50) !important;
    box-shadow:
        0 0 0 1px rgba(255,176,64,.035),
        0 0 18px rgba(205,137,37,.10) !important;
}

header .brand{
    gap:10px !important;
    font-size:14px !important;
    line-height:1.05 !important;
}

header .brand small{
    margin-top:3px !important;
    font-size:8px !important;
    letter-spacing:1.35px !important;
}

/* Menu più leggibile e con area clic più comoda */
header nav{
    gap:5px !important;
    font-size:12px !important;
}

header nav > a{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:36px;
    padding:0 10px;
    border:1px solid transparent;
    border-radius:9px;
    color:#b8c4d2;
    transition:
        color .18s ease,
        background-color .18s ease,
        border-color .18s ease,
        box-shadow .18s ease,
        transform .18s ease;
}

/* Linea oro che cresce sotto al link */
header nav > a::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:3px;
    width:0;
    height:1px;
    border-radius:999px;
    background:linear-gradient(90deg,#bc7130,#ffc66a,#bc7130);
    box-shadow:0 0 8px rgba(255,171,74,.48);
    transform:translateX(-50%);
    transition:width .20s ease;
}

header nav > a:hover{
    color:#fff3df !important;
    background:linear-gradient(180deg,rgba(205,137,45,.11),rgba(151,86,26,.045));
    border-color:rgba(218,153,61,.22);
    box-shadow:
        inset 0 0 14px rgba(255,167,64,.035),
        0 4px 14px rgba(0,0,0,.12);
    text-shadow:0 0 9px rgba(255,181,90,.24);
    transform:translateY(-1px);
}

header nav > a:hover::after{
    width:58%;
}

header nav > a:active{
    transform:translateY(0);
}

header nav > a:focus-visible{
    outline:none;
    color:#fff5e5;
    border-color:rgba(234,170,73,.46);
    box-shadow:0 0 0 3px rgba(230,154,56,.10);
}

/* IT / EN leggermente più proporzionato alla nuova barra */
.lang-switch{
    height:36px !important;
}

.lang-switch a{
    height:28px !important;
    transition:
        color .18s ease,
        background .18s ease,
        border-color .18s ease,
        box-shadow .18s ease,
        transform .18s ease !important;
}

.lang-switch a:hover{
    transform:translateY(-1px);
    box-shadow:0 0 11px rgba(217,149,55,.10);
}

/* Responsive: rimane ordinato senza ingrandire troppo su tablet/mobile */
@media(max-width:1100px){
    header nav{
        gap:2px !important;
        font-size:11px !important;
    }
    header nav > a{
        padding-left:7px;
        padding-right:7px;
    }
}

@media(max-width:820px){
    header{
        min-height:60px !important;
        height:auto !important;
    }
    header .mark{
        width:33px !important;
        height:33px !important;
    }
    header nav > a{
        min-height:32px;
        padding-left:6px;
        padding-right:6px;
    }
}

@media(max-width:620px){
    header{
        min-height:58px !important;
    }
    header nav > a{
        min-height:30px;
        border-radius:7px;
    }
}


/* ==========================================================================
   EIMUGames - FOOTER LINKS PREMIUM
   Regolamento / Termini / Privacy / Forum IOGN
   ========================================================================== */

.footerlinks{
    display:flex;
    align-items:center;
    gap:5px !important;
}

.footerlinks a{
    position:relative;
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:2px 7px 3px;
    border-radius:7px;
    color:#aeb9c7 !important;
    transition:
        color .18s ease,
        background-color .18s ease,
        text-shadow .18s ease,
        transform .18s ease;
}

.footerlinks a::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:1px;
    width:0;
    height:1px;
    border-radius:999px;
    background:linear-gradient(90deg,#aa672e,#efb25a,#aa672e);
    box-shadow:0 0 7px rgba(239,178,90,.34);
    transform:translateX(-50%);
    transition:width .20s ease;
}

.footerlinks a:hover{
    color:#f4d9ad !important;
    background:rgba(201,132,49,.06);
    text-shadow:0 0 8px rgba(232,163,73,.18);
    transform:translateY(-1px);
}

.footerlinks a:hover::after{
    width:62%;
}

.footerlinks a:active{
    transform:translateY(0);
}

.footerlinks a:focus-visible{
    outline:none;
    color:#ffe6bd !important;
    box-shadow:0 0 0 2px rgba(218,149,59,.13);
}

.footerlinks i{
    color:#46505d !important;
    margin:0 1px;
}

/* Riga footer un po' più ordinata */
.footer-main-row{
    align-items:center !important;
    min-height:32px;
}

@media(max-width:620px){
    .footerlinks{
        gap:3px !important;
    }
    .footerlinks a{
        min-height:25px;
        padding:1px 5px 2px;
    }
}


/* ==========================================================================
   EIMUGames - COPYRIGHT IDRIO SOPRA LOGO IOGN
   ========================================================================== */
.footer-copyright{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:5px 8px;
    margin:3px auto 0;
    color:#778394;
    font-size:10px;
    letter-spacing:.35px;
    text-align:center;
}

.footer-copyright a{
    position:relative;
    color:#b9955f !important;
    transition:color .18s ease, text-shadow .18s ease, transform .18s ease;
}

.footer-copyright a::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:-2px;
    width:0;
    height:1px;
    background:linear-gradient(90deg,#a8672e,#e9ad56,#a8672e);
    transform:translateX(-50%);
    transition:width .18s ease;
}

.footer-copyright a:hover{
    color:#f0c782 !important;
    text-shadow:0 0 8px rgba(232,168,76,.20);
    transform:translateY(-1px);
}

.footer-copyright a:hover::after{
    width:100%;
}

@media(max-width:620px){
    .footer-copyright{
        font-size:9px;
    }
}


/* ==========================================================================
   EIMUGames - IOGN + COPYRIGHT ALLINEATI AI LINK FOOTER
   ========================================================================== */
.footer-iogn-block{
    align-self:flex-end;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:5px;
    margin-top:4px;
}

/* Logo leggermente più grande, senza modificare l'immagine */
.footer-iogn-block .footer-iogn-logo{
    width:158px !important;
    margin:0 !important;
    opacity:.86;
}

.footer-iogn-block .footer-iogn-logo:hover{
    opacity:1;
}

/* Copyright sotto al logo, più leggibile */
.footer-iogn-block .footer-copyright{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:1px;
    margin:0 !important;
    color:#8d98a7;
    font-size:11.5px !important;
    line-height:1.35;
    letter-spacing:.25px;
    text-align:right;
}

.footer-iogn-block .footer-copyright a{
    font-size:11px;
    color:#c39b61 !important;
}

/* Il blocco segue il filo destro dei link Regolamento/Termini/Privacy */
.site-footer-v261{
    align-items:stretch;
}

@media(max-width:620px){
    .footer-iogn-block{
        align-self:center;
        align-items:center;
    }
    .footer-iogn-block .footer-iogn-logo{
        width:145px !important;
    }
    .footer-iogn-block .footer-copyright{
        align-items:center;
        text-align:center;
        font-size:10.5px !important;
    }
}


/* ==========================================================================
   EIMUGames - IOGN CENTRATO TRA COMMUNITY E LINK FOOTER
   ========================================================================== */
.site-footer-v261 .footer-main-row{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) !important;
    align-items:center !important;
    gap:22px !important;
    width:100%;
}

.footer-community{
    justify-self:start;
    white-space:nowrap;
}

.site-footer-v261 .footer-iogn-block{
    justify-self:center;
    align-self:center;
    align-items:center !important;
    margin:0 !important;
    gap:4px !important;
}

.site-footer-v261 .footer-iogn-block .footer-iogn-logo{
    width:158px !important;
    margin:0 auto !important;
}

.site-footer-v261 .footer-iogn-block .footer-copyright{
    align-items:center !important;
    text-align:center !important;
    font-size:11px !important;
    line-height:1.25 !important;
}

.site-footer-v261 .footer-iogn-block .footer-copyright a{
    font-size:10.5px !important;
}

.site-footer-v261 .footerlinks{
    justify-self:end;
    justify-content:flex-end;
    white-space:nowrap;
}

/* Su schermi medi evita che i tre blocchi si tocchino. */
@media(max-width:1050px){
    .site-footer-v261 .footer-main-row{
        grid-template-columns:1fr auto !important;
    }
    .footer-community{
        justify-self:start;
    }
    .site-footer-v261 .footer-iogn-block{
        justify-self:end;
    }
    .site-footer-v261 .footerlinks{
        grid-column:1/-1;
        justify-self:center;
        justify-content:center;
    }
}

/* Mobile: tutto centrato e ordinato. */
@media(max-width:620px){
    .site-footer-v261 .footer-main-row{
        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        gap:9px !important;
    }
    .footer-community,
    .site-footer-v261 .footer-iogn-block,
    .site-footer-v261 .footerlinks{
        justify-self:auto;
        align-self:center;
    }
    .site-footer-v261 .footerlinks{
        justify-content:center;
        flex-wrap:wrap;
        white-space:normal;
    }
}


/* ==========================================================================
   EIMUGames - IOGN CENTRALE UN PO' PIU' GRANDE
   ========================================================================== */
.site-footer-v261 .footer-iogn-block .footer-iogn-logo{
    width:182px !important;
}

.site-footer-v261 .footer-iogn-block .footer-copyright{
    font-size:12px !important;
    line-height:1.3 !important;
}

.site-footer-v261 .footer-iogn-block .footer-copyright a{
    font-size:11.5px !important;
}

@media(max-width:620px){
    .site-footer-v261 .footer-iogn-block .footer-iogn-logo{
        width:165px !important;
    }
}


/* ==========================================================================
   EIMUGames - CASTLE SIEGE: SPAZI IDENTICI ALLA PAGINA GILDE
   I rank-tabs sono gli stessi; qui correggiamo solo la compressione Castle.
   ========================================================================== */

/* Stessa "pagehead" della pagina Gilde */
.castle-pagehead{
    min-height:auto !important;
    margin:8px 0 22px !important;
    padding:20px 22px !important;
    gap:20px !important;
    border-radius:18px !important;
    overflow:visible !important;
    align-items:center !important;
}

/* Stesse proporzioni tipografiche della normale pagehead */
.castle-pagehead .eyebrow{
    font-size:11px !important;
    line-height:1.55 !important;
    letter-spacing:2px !important;
}

.castle-pagehead h1{
    font-size:44px !important;
    line-height:.98 !important;
    margin:8px 0 !important;
    letter-spacing:-1.8px !important;
}

.castle-pagehead p{
    margin:0 !important;
    font-size:15px !important;
    line-height:1.55 !important;
}

/* Stato evento resta compatto, ma ben centrato dentro la testata */
.castle-live-state{
    min-width:185px !important;
    padding:10px 13px !important;
    gap:3px !important;
    border-radius:11px !important;
    flex:0 0 auto !important;
}

.castle-live-state span{
    font-size:8px !important;
}

.castle-live-state strong{
    font-size:11px !important;
}

/*
 * Il menu NON ha regole Castle dedicate:
 * usa esattamente .rank-tabs come Gilde.
 * Aggiungiamo solo lo stesso "respiro" che Gilde ha prima della sua panel.
 */
.castle-owner-grid{
    margin-top:18px !important;
}

/* Tablet/mobile: conserva il layout ordinato */
@media(max-width:900px){
    .castle-pagehead{
        margin:8px 0 22px !important;
        padding:20px 22px !important;
        gap:14px !important;
    }

    .castle-pagehead h1{
        font-size:36px !important;
        letter-spacing:-1.4px !important;
    }
}

@media(max-width:620px){
    .castle-pagehead{
        padding:18px !important;
        align-items:flex-start !important;
    }

    .castle-pagehead h1{
        font-size:32px !important;
    }

    .castle-live-state{
        width:100% !important;
        min-width:0 !important;
        align-items:flex-start !important;
    }
}


/* ==========================================================================
   MuOnlineItalia - GALLERIA / GALLERY
   ========================================================================== */
.gallery-pagehead{
    gap:24px;
}

.gallery-pagehead p{
    margin:0;
    max-width:700px;
}

.gallery-count{
    min-width:110px;
    padding:13px 16px;
    border:1px solid rgba(211,153,64,.16);
    border-radius:13px;
    background:#090e14;
    text-align:right;
}

.gallery-count span{
    display:block;
    color:#76869a;
    font-size:8px;
    font-weight:900;
    letter-spacing:1.3px;
}

.gallery-count strong{
    display:block;
    margin-top:2px;
    color:#e0ad5b;
    font-size:22px;
    line-height:1;
}

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    margin:18px 0 30px;
}

.gallery-card{
    position:relative;
    aspect-ratio:16/10;
    display:block;
    width:100%;
    padding:0;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.09);
    border-radius:16px;
    background:#080c12;
    cursor:pointer;
    box-shadow:0 10px 28px rgba(0,0,0,.18);
    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}

.gallery-card img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .28s ease, filter .28s ease;
}

.gallery-card-overlay{
    position:absolute;
    inset:auto 0 0;
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:12px;
    padding:28px 14px 12px;
    background:linear-gradient(180deg,transparent,rgba(4,6,9,.88));
    color:#eef3f8;
    opacity:.82;
    transition:opacity .18s ease;
}

.gallery-card-overlay b{
    color:#efbd70;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.8px;
}

.gallery-card-overlay small{
    color:#aeb8c5;
    font-size:10px;
}

.gallery-card:hover{
    transform:translateY(-2px);
    border-color:rgba(220,155,64,.34);
    box-shadow:
        0 14px 34px rgba(0,0,0,.28),
        0 0 20px rgba(202,133,44,.045);
}

.gallery-card:hover img{
    transform:scale(1.025);
    filter:brightness(1.05);
}

.gallery-card:hover .gallery-card-overlay{
    opacity:1;
}

.gallery-empty{
    min-height:285px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
}

.gallery-empty-icon{
    width:56px;
    height:56px;
    display:grid;
    place-items:center;
    margin-bottom:13px;
    border:1px solid rgba(217,157,66,.20);
    border-radius:15px;
    background:rgba(211,147,52,.055);
    color:#d8a556;
    font-size:27px;
}

.gallery-empty h2{
    margin:0 0 7px;
    font-size:22px;
}

.gallery-empty p{
    margin:0;
    color:#8996a8;
}

.gallery-lightbox{
    width:100vw;
    max-width:none;
    height:100vh;
    max-height:none;
    margin:0;
    padding:0;
    border:0;
    background:rgba(2,4,7,.94);
}

.gallery-lightbox::backdrop{
    background:rgba(2,4,7,.94);
}

.gallery-lightbox-shell{
    position:relative;
    width:100%;
    height:100%;
    display:grid;
    grid-template-columns:70px minmax(0,1fr) 70px;
    align-items:center;
}

.gallery-lightbox-stage{
    position:relative;
    width:100%;
    height:100%;
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:42px 10px;
}

.gallery-lightbox-stage img{
    display:block;
    max-width:min(1280px,100%);
    max-height:calc(100vh - 84px);
    width:auto;
    height:auto;
    object-fit:contain;
    border-radius:10px;
    box-shadow:0 30px 90px rgba(0,0,0,.58);
}

.gallery-lightbox-counter{
    position:absolute;
    left:50%;
    bottom:14px;
    transform:translateX(-50%);
    padding:5px 10px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:999px;
    background:rgba(7,10,15,.78);
    color:#bcc6d2;
    font-size:10px;
}

.gallery-lightbox-close,
.gallery-lightbox-nav{
    border:0;
    color:#dce4ee;
    background:transparent;
    cursor:pointer;
    transition:color .16s ease, background .16s ease;
}

.gallery-lightbox-close{
    position:absolute;
    z-index:4;
    right:18px;
    top:14px;
    width:42px;
    height:42px;
    border-radius:50%;
    font-size:30px;
    line-height:1;
}

.gallery-lightbox-nav{
    width:52px;
    height:72px;
    justify-self:center;
    border-radius:12px;
    font-size:48px;
    line-height:1;
}

.gallery-lightbox-close:hover,
.gallery-lightbox-nav:hover{
    color:#f0bb67;
    background:rgba(212,148,56,.08);
}

@media(max-width:980px){
    .gallery-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:620px){
    .gallery-pagehead{
        align-items:flex-start;
    }

    .gallery-count{
        min-width:85px;
        padding:10px 12px;
    }

    .gallery-grid{
        grid-template-columns:1fr;
        gap:11px;
    }

    .gallery-lightbox-shell{
        grid-template-columns:44px minmax(0,1fr) 44px;
    }

    .gallery-lightbox-nav{
        width:38px;
        height:60px;
        font-size:38px;
    }

    .gallery-lightbox-stage{
        padding:50px 4px 38px;
    }
}


/* ==========================================================================
   MuOnlineItalia - ADMIN GALLERY
   ========================================================================== */
.admin-gallery-layout{
    display:grid;
    grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);
    gap:18px;
    align-items:start;
}

.admin-gallery-controls,
.admin-gallery-library{
    margin-top:0;
}

.admin-gallery-panel-title{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin-bottom:18px;
}

.admin-gallery-panel-title h2{
    margin:3px 0 0;
}

.admin-gallery-setting-form{
    display:grid;
    gap:13px;
}

.admin-gallery-divider{
    height:1px;
    margin:24px 0;
    background:#202936;
}

.admin-gallery-upload-form h2{
    margin:3px 0 14px;
}

.admin-gallery-total{
    min-width:34px;
    height:28px;
    display:grid;
    place-items:center;
    padding:0 9px;
    border:1px solid rgba(215,155,65,.18);
    border-radius:999px;
    color:#e0ad5d;
    background:rgba(208,143,49,.055);
    font-size:11px;
    font-weight:850;
}

.admin-gallery-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

.admin-gallery-item{
    min-width:0;
    overflow:hidden;
    border:1px solid #202a37;
    border-radius:14px;
    background:#080d13;
}

.admin-gallery-thumb{
    display:block;
    aspect-ratio:16/10;
    overflow:hidden;
    background:#05080c;
}

.admin-gallery-thumb img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .22s ease, filter .22s ease;
}

.admin-gallery-thumb:hover img{
    transform:scale(1.025);
    filter:brightness(1.06);
}

.admin-gallery-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:10px 11px;
}

.admin-gallery-meta>div{
    min-width:0;
}

.admin-gallery-meta strong{
    display:block;
    max-width:220px;
    overflow:hidden;
    color:#d7dee7;
    font-size:10px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.admin-gallery-meta small{
    display:block;
    margin-top:2px;
    color:#6f7d8f;
    font-size:8px;
}

.admin-gallery-empty{
    min-height:220px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#8996a8;
}

.admin-gallery-empty strong{
    color:#c8d0da;
    font-size:14px;
}

.admin-gallery-empty span{
    margin-top:5px;
    font-size:11px;
}

.gallery-admin-card .admin-category-icon{
    font-size:10px;
}

@media(max-width:1050px){
    .admin-gallery-layout{
        grid-template-columns:1fr;
    }
}

@media(max-width:680px){
    .admin-gallery-grid{
        grid-template-columns:1fr;
    }

    .admin-gallery-meta strong{
        max-width:180px;
    }
}


/* ==========================================================================
   MuOnlineItalia - HOME GALLERY PREVIEW
   Anteprima prima di Novità - ITA/ENG
   ========================================================================== */
.home-gallery-preview{
    margin:30px 0 8px;
}

.home-gallery-preview-head{
    margin-top:0 !important;
    margin-bottom:12px !important;
}

.home-gallery-preview-head a{
    position:relative;
    color:#b9c3cf;
    font-size:12px;
    transition:color .18s ease, transform .18s ease;
}

.home-gallery-preview-head a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-3px;
    width:0;
    height:1px;
    background:linear-gradient(90deg,#b66d2c,#efb158);
    transition:width .18s ease;
}

.home-gallery-preview-head a:hover{
    color:#efc47e;
    transform:translateY(-1px);
}

.home-gallery-preview-head a:hover::after{
    width:100%;
}

.home-gallery-preview-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}

.home-gallery-preview-card{
    position:relative;
    display:block;
    aspect-ratio:16/9;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.085);
    border-radius:15px;
    background:#080c12;
    box-shadow:0 10px 26px rgba(0,0,0,.16);
    transition:
        transform .20s ease,
        border-color .20s ease,
        box-shadow .20s ease;
}

.home-gallery-preview-card img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:
        transform .28s ease,
        filter .28s ease;
}

.home-gallery-preview-card>span{
    position:absolute;
    inset:auto 0 0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:28px 12px 10px;
    background:linear-gradient(180deg,transparent,rgba(4,6,9,.88));
    opacity:.78;
    transition:opacity .18s ease;
}

.home-gallery-preview-card>span b{
    color:#efc078;
    font-size:9px;
    font-weight:850;
    letter-spacing:.75px;
    text-transform:uppercase;
}

.home-gallery-preview-card>span i{
    color:#d3dbe5;
    font-size:15px;
    font-style:normal;
}

.home-gallery-preview-card:hover{
    transform:translateY(-3px);
    border-color:rgba(222,158,68,.38);
    box-shadow:
        0 15px 34px rgba(0,0,0,.27),
        0 0 22px rgba(206,139,49,.045);
}

.home-gallery-preview-card:hover img{
    transform:scale(1.035);
    filter:brightness(1.07);
}

.home-gallery-preview-card:hover>span{
    opacity:1;
}

@media(max-width:980px){
    .home-gallery-preview-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:560px){
    .home-gallery-preview{
        margin-top:24px;
    }

    .home-gallery-preview-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
    }

    .home-gallery-preview-card{
        border-radius:11px;
    }

    .home-gallery-preview-card>span{
        padding:20px 8px 7px;
    }

    .home-gallery-preview-card>span b{
        font-size:7px;
    }
}


/* ==========================================================================
   EIMUGames - GALLERIA SOPRA MODULO LIVE + ADMIN CARDS COMPATTE
   ========================================================================== */

/* Anteprima Galleria: ora vive subito sopra Ora Server / Visitatori. */
.home-gallery-preview{
    margin:24px 0 12px !important;
}

.home-gallery-preview-head{
    margin-bottom:10px !important;
}

/* Avvicina il modulo Live all'anteprima senza incollarlo. */
.home-gallery-preview + .home-live-strip{
    margin-top:0 !important;
}

/* --------------------------------------------------------------------------
   ADMIN - Gestione Sito + Account/Personaggi: schede più compatte
   -------------------------------------------------------------------------- */
.admin-category-grid{
    gap:12px !important;
}

.admin-category-card{
    min-height:128px !important;
    grid-template-columns:46px minmax(0,1fr) auto !important;
    gap:13px !important;
    padding:16px 17px !important;
    border-radius:15px !important;
}

.admin-category-icon{
    width:42px !important;
    height:42px !important;
    border-radius:12px !important;
    font-size:11px !important;
}

.admin-category-card small{
    font-size:8px !important;
    letter-spacing:1.15px !important;
}

.admin-category-card h2{
    margin:3px 0 4px !important;
    font-size:16px !important;
    line-height:1.18 !important;
}

.admin-category-card p{
    font-size:10.5px !important;
    line-height:1.38 !important;
}

.admin-category-arrow{
    font-size:19px !important;
}

.admin-category-state{
    min-width:40px !important;
    padding:5px 7px !important;
    font-size:9px !important;
}

/* Mantiene un hover elegante ma meno "saltellante" sulle card piccole. */
.admin-category-card:hover{
    transform:translateY(-1px) !important;
}

@media(max-width:800px){
    .admin-category-grid{
        grid-template-columns:1fr !important;
    }
}

@media(max-width:620px){
    .admin-category-card{
        min-height:112px !important;
        grid-template-columns:40px minmax(0,1fr) auto !important;
        gap:10px !important;
        padding:13px 14px !important;
    }

    .admin-category-icon{
        width:38px !important;
        height:38px !important;
    }

    .admin-category-card h2{
        font-size:15px !important;
    }

    .admin-category-card p{
        font-size:10px !important;
    }
}


/* ==========================================================================
   EIMUGames - ICONA HEADER: SENZA BORDO + LEGGERMENTE PIU' GRANDE
   SOLO CSS - nessuna immagine modificata.
   ========================================================================== */
header .mark{
    width:40px !important;
    height:40px !important;
    padding:0 !important;

    border:0 !important;
    outline:0 !important;
    background:transparent !important;
    box-shadow:none !important;

    border-radius:9px !important;
    overflow:hidden !important;
}

header .mark img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    margin:0 !important;
}

/* Tablet/mobile: appena più grande anche qui, senza bordo */
@media(max-width:820px){
    header .mark{
        width:37px !important;
        height:37px !important;
        border:0 !important;
        background:transparent !important;
        box-shadow:none !important;
    }
}

@media(max-width:620px){
    header .mark{
        width:35px !important;
        height:35px !important;
    }
}


/* ==========================================================================
   EIMUGames - MENU HEADER: TESTO LEGGERMENTE PIU' GRANDE
   Mantiene invariati hover, glow e linea animata.
   ========================================================================== */

header nav{
    font-size:13px !important;
}

header nav > a{
    font-size:13px !important;
    font-weight:600 !important;
}

/* Responsive: resta proporzionato senza stringere troppo il menu */
@media(max-width:1100px){
    header nav{
        font-size:12px !important;
    }

    header nav > a{
        font-size:12px !important;
    }
}

@media(max-width:820px){
    header nav{
        font-size:11.5px !important;
    }

    header nav > a{
        font-size:11.5px !important;
    }
}


/* ==========================================================================
   EIMUGames - ADMIN VIP ACCESS
   ========================================================================== */
.vip-admin-card .admin-category-icon{
    font-size:10px !important;
    letter-spacing:.3px;
}

.vip-admin-summary{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin:0 0 14px;
}

.vip-summary-card{
    min-height:94px;
    padding:15px 16px !important;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:3px;
}

.vip-summary-card small{
    font-size:9px;
    letter-spacing:1.15px;
    color:var(--muted);
}

.vip-summary-card strong{
    font-size:25px;
    line-height:1;
}

.vip-summary-card span{
    font-size:10px;
    color:#cfae71;
}

.vip-admin-settings{
    padding:18px !important;
    margin-bottom:22px;
}

.vip-admin-settings-head,
.vip-settings-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
}

.vip-server-state{
    display:flex;
    gap:7px;
    align-items:center;
    flex-wrap:wrap;
}

.vip-required-switch{
    margin:14px 0 !important;
}

.vip-tier-editor-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin:12px 0 15px;
}

.vip-tier-editor{
    border:1px solid rgba(218,168,78,.15);
    background:rgba(8,12,18,.55);
    border-radius:13px;
    padding:13px;
}

.vip-tier-editor label{
    display:block;
    margin-top:8px;
}

.vip-tier-editor label > span{
    display:block;
    font-size:9px;
    color:var(--muted);
    margin-bottom:4px;
}

.vip-tier-editor input{
    width:100%;
}

.vip-tier-editor > small{
    display:block;
    margin-top:8px;
    font-size:9px;
    color:#c89e58;
}

.vip-server-path{
    min-width:0;
    font-size:9px;
    overflow-wrap:anywhere;
}

.vip-server-path code{
    font-size:9px;
}

.vip-account-head{
    margin-top:4px !important;
    margin-bottom:10px !important;
}

.vip-account-search{
    margin-bottom:12px;
}

.vip-account-table td{
    vertical-align:middle;
}

.vip-status-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:48px;
    height:24px;
    padding:0 8px;
    border:1px solid rgba(227,177,86,.35);
    border-radius:999px;
    background:rgba(194,128,35,.10);
    color:#f3c66f;
    font-size:9px;
    font-weight:800;
    letter-spacing:.55px;
    margin-right:5px;
}

.vip-status-badge.off{
    border-color:rgba(255,255,255,.10);
    background:rgba(255,255,255,.035);
    color:#788391;
}

.vip-account-actions{
    white-space:nowrap;
}

.vip-set-form,
.vip-revoke-form{
    gap:5px !important;
    margin:2px 3px 2px 0;
}

.vip-set-form select{
    min-width:112px;
    height:30px;
    font-size:10px;
}

.vip-admin-note{
    margin-top:14px;
    padding:14px 16px !important;
}

.vip-admin-note strong{
    font-size:11px;
}

.vip-admin-note p{
    margin:5px 0 0;
    font-size:10px;
    color:var(--muted);
}

@media(max-width:980px){
    .vip-admin-summary{grid-template-columns:repeat(2,minmax(0,1fr));}
    .vip-tier-editor-grid{grid-template-columns:1fr;}
}

@media(max-width:640px){
    .vip-admin-summary{grid-template-columns:1fr 1fr;}
    .vip-admin-settings-head,
    .vip-settings-bottom{align-items:flex-start;flex-direction:column;}
    .vip-summary-card{min-height:82px;}
}


/* ==========================================================================
   EIMUGames - ADMIN ACCOUNT: HASH PASSWORD READ-ONLY + EMAIL RESET
   ========================================================================== */

.admin-password-security-note{
    margin:12px 0 14px;
    padding:13px 15px;
    border-color:rgba(215,166,82,.14);
    background:rgba(215,166,82,.025);
}
.admin-password-security-note strong{
    display:block;
    margin-bottom:4px;
    color:#dcb46f;
    font-size:11px;
    letter-spacing:.25px;
}
.admin-password-security-note p{
    margin:0;
    max-width:980px;
    color:#808b99;
    font-size:10px;
    line-height:1.5;
}

.admin-account-table table{
    min-width:1320px;
}

.admin-account-password{
    min-width:205px;
    max-width:250px;
}

.password-readonly-badge{
    display:inline-flex;
    align-items:center;
    padding:3px 6px;
    margin-bottom:5px;
    border:1px solid rgba(115,157,205,.15);
    border-radius:7px;
    background:rgba(115,157,205,.055);
    color:#8fb4dc;
    font-size:8px;
    font-weight:900;
    letter-spacing:.55px;
}

.password-hash-details{
    width:100%;
}

.password-hash-details summary{
    width:max-content;
    cursor:pointer;
    color:#cda35f;
    font-size:9px;
    user-select:none;
}

.password-hash-details code{
    display:block;
    width:100%;
    margin-top:6px;
    padding:7px 8px;
    border:1px solid rgba(255,255,255,.055);
    border-radius:8px;
    background:#080d13;
    color:#aeb8c5;
    font-size:8.5px;
    line-height:1.4;
    overflow-wrap:anywhere;
    word-break:break-all;
    user-select:text;
}

.admin-account-reset-mail{
    display:block !important;
    margin-bottom:7px;
}

.admin-account-reset-mail .btn{
    white-space:nowrap;
}

.admin-reset-unavailable{
    display:block;
    width:max-content;
    max-width:270px;
    margin-bottom:7px;
    color:#626e7d;
    font-size:9px;
    font-style:italic;
}

.admin-account-actions{
    min-width:355px;
}


/* ========================================================================== 
   EIMUGames - AREA PLAYER: SICUREZZA ACCOUNT + GESTIONE PERSONAGGI
   ========================================================================== */
.account-player-pagehead{margin-bottom:10px!important}
.account-section-nav{
    display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:7px;
    border:1px solid rgba(255,255,255,.06);border-radius:13px;background:rgba(7,11,16,.72)
}
.account-section-nav a{
    display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;border-radius:9px;
    color:#8d99a8;text-decoration:none;font-size:10px;font-weight:800;letter-spacing:.3px;
    transition:color .18s ease,background .18s ease,box-shadow .18s ease
}
.account-section-nav a:hover{color:#e7b768;background:rgba(221,164,76,.07);box-shadow:inset 0 0 0 1px rgba(221,164,76,.09)}
.account-management-section{scroll-margin-top:88px;margin-top:18px}
.account-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:0 0 10px}
.account-section-heading h2{margin:3px 0 3px;font-size:19px}
.account-section-heading p{margin:0;max-width:760px;color:#7f8b99;font-size:10.5px;line-height:1.5}
.account-security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.account-security-card{padding:17px!important}
.account-security-card-head{display:flex;align-items:center;gap:11px;margin-bottom:12px}
.account-security-card-head h3{margin:2px 0 0;font-size:16px}
.account-security-symbol{
    display:grid;place-items:center;width:38px;height:38px;border-radius:11px;
    border:1px solid rgba(221,164,76,.16);background:rgba(221,164,76,.055);color:#e0ab59;font-size:17px;font-weight:900
}
.account-current-value{padding:9px 10px;margin-bottom:10px;border:1px solid rgba(255,255,255,.055);border-radius:10px;background:#090e14}
.account-current-value span{display:block;color:#687584;font-size:8.5px;text-transform:uppercase;letter-spacing:.65px}
.account-current-value strong{display:block;margin-top:3px;color:#c8d0da;font-size:10.5px;overflow-wrap:anywhere}
.account-security-copy{min-height:58px;margin:0 0 10px;color:#7e8997;font-size:10px;line-height:1.5}
.account-security-flow{margin:2px 0 11px;color:#6f7b89;font-size:9px;line-height:1.45}
.account-character-heading{align-items:center}
.account-character-count{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:28px;padding:0 9px;border:1px solid rgba(221,164,76,.12);border-radius:999px;background:rgba(221,164,76,.04);color:#d4a65f;font-size:10px;font-weight:900}
.player-character-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.player-character-card{padding:15px!important;position:relative;overflow:hidden}
.player-character-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:rgba(130,143,160,.24)}
.player-character-card.is-online::before{background:rgba(80,200,128,.62)}
.player-character-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:11px}
.player-character-top h3{margin:2px 0 1px;font-size:17px;color:#e4e9ef}
.player-character-top p{margin:0;color:#798697;font-size:9.5px}
.player-character-slot{color:#b98b4d;font-size:8px;font-weight:900;letter-spacing:.8px}
.player-character-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:9px}
.player-character-stats div{padding:8px;border:1px solid rgba(255,255,255,.045);border-radius:8px;background:rgba(5,9,13,.48)}
.player-character-stats span{display:block;color:#64717f;font-size:7.5px;text-transform:uppercase;letter-spacing:.45px}
.player-character-stats strong{display:block;margin-top:2px;color:#cbd3dd;font-size:10px}
.player-character-location{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:8px 9px;margin-bottom:9px;border-top:1px solid rgba(255,255,255,.045);border-bottom:1px solid rgba(255,255,255,.045)}
.player-character-location span{color:#687584;font-size:8px;text-transform:uppercase;letter-spacing:.5px}
.player-character-location strong{font-size:9.5px;color:#b9c3cf}
.player-character-location small{font-size:8.5px;color:#667280}
.player-character-recovery-form .btn,.player-character-disabled{width:100%;justify-content:center;font-size:9px!important;min-height:31px!important}
.player-character-disabled{opacity:.45!important;cursor:not-allowed!important}
.account-no-characters{padding:18px!important;color:#788493;text-align:center;font-size:10px}
.account-confirm-wrap{padding-top:8px}
.account-confirm-panel{text-align:center;padding:24px!important}
.account-confirm-panel h2{margin:7px 0 5px;font-size:18px}
.account-confirm-panel p{margin:0 auto 15px;max-width:620px;color:#8591a0;font-size:10.5px;line-height:1.5}
.account-confirm-icon{display:grid;place-items:center;width:42px;height:42px;margin:0 auto;border-radius:50%;font-weight:900;font-size:18px}
.account-confirm-panel.ok .account-confirm-icon{background:rgba(70,193,120,.09);border:1px solid rgba(70,193,120,.18);color:#6fd49a}
.account-confirm-panel.bad .account-confirm-icon{background:rgba(220,83,92,.08);border:1px solid rgba(220,83,92,.17);color:#e88088}

@media(max-width:860px){
    .account-security-grid,.player-character-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
    .account-section-nav{gap:5px;padding:5px}
    .account-section-nav a{flex:1;justify-content:center;padding:6px 8px;font-size:9px}
    .account-section-heading{align-items:flex-start}
    .account-security-card{padding:14px!important}
    .player-character-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
    .player-character-location{grid-template-columns:1fr 1fr}
    .player-character-location small{text-align:right}
}


/* ==========================================================================
   EIMUGames - PAGINE ADMIN PIU' COMPATTE
   Intervento SOLO grafico sulle route Admin.
   ========================================================================== */

body.admin-route main{
    width:min(1080px, calc(100% - 34px)) !important;
    margin-top:28px !important;
    margin-bottom:52px !important;
}

/* Testate Admin meno ingombranti */
body.admin-route .pagehead{
    margin:5px 0 15px !important;
    padding:15px 18px !important;
    border-radius:15px !important;
}

body.admin-route .pagehead h1{
    margin:4px 0 5px !important;
    font-size:33px !important;
    line-height:1.03 !important;
}

body.admin-route .pagehead .eyebrow{
    font-size:9px !important;
    letter-spacing:1.35px !important;
}

body.admin-route .pagehead p,
body.admin-route .pagehead .muted{
    margin:4px 0 0 !important;
    font-size:10.5px !important;
    line-height:1.42 !important;
}

/* Pannelli */
body.admin-route .panel{
    padding:16px !important;
    margin:10px 0 !important;
    border-radius:14px !important;
}

body.admin-route .panel.tablewrap{
    padding:0 !important;
}

/* Form */
body.admin-route .form{
    gap:11px !important;
}

body.admin-route .grid2{
    gap:13px !important;
}

body.admin-route input,
body.admin-route select,
body.admin-route textarea{
    padding:8px 10px !important;
    min-height:36px !important;
    border-radius:8px !important;
}

body.admin-route textarea{
    min-height:92px !important;
}

/* Pulsanti */
body.admin-route .btn{
    padding:7px 12px !important;
    font-size:11.5px !important;
    border-radius:8px !important;
}

body.admin-route .btn.tiny{
    padding:5px 8px !important;
    font-size:10px !important;
}

/* Card generiche */
body.admin-route .cards{
    gap:10px !important;
}

body.admin-route .card{
    padding:15px !important;
    min-height:100px !important;
    border-radius:14px !important;
}

body.admin-route .card b{
    font-size:15px !important;
}

body.admin-route .card span,
body.admin-route .card p{
    font-size:10px !important;
    line-height:1.35 !important;
}

/* Gestione Sito / Account & Personaggi */
body.admin-route .admin-category-grid{
    gap:9px !important;
}

body.admin-route .admin-category-card{
    min-height:100px !important;
    padding:12px 14px !important;
    gap:10px !important;
    border-radius:13px !important;
}

body.admin-route .admin-category-icon{
    width:36px !important;
    height:36px !important;
    border-radius:10px !important;
}

body.admin-route .admin-category-card h2{
    margin:2px 0 3px !important;
    font-size:14px !important;
    line-height:1.16 !important;
}

body.admin-route .admin-category-card p{
    font-size:9.5px !important;
    line-height:1.32 !important;
}

body.admin-route .admin-category-arrow{
    font-size:17px !important;
}

/* Home Admin */
body.admin-route .admin-main-sections{
    gap:10px !important;
}

body.admin-route .admin-main-section{
    min-height:105px !important;
    padding:14px 16px !important;
}

body.admin-route .admin-main-number{
    font-size:27px !important;
}

body.admin-route .admin-main-section h2{
    margin:3px 0 !important;
    font-size:17px !important;
}

body.admin-route .admin-main-section p{
    font-size:10px !important;
    line-height:1.35 !important;
}

/* Tabelle: più righe visibili, ma niente colonne tagliate */
body.admin-route .tablewrap{
    overflow:auto !important;
}

body.admin-route th,
body.admin-route td{
    padding:8px 10px !important;
}

body.admin-route th{
    font-size:8.5px !important;
    letter-spacing:.7px !important;
}

body.admin-route td{
    font-size:10.5px !important;
}

/* Ricerca / avvisi */
body.admin-route .search{
    margin:9px 0 !important;
    gap:7px !important;
}

body.admin-route .notice{
    margin:9px 0 !important;
    padding:9px 12px !important;
    font-size:10.5px !important;
}

/* Moduli INI/XML */
body.admin-route .ini-grid{
    gap:10px !important;
    margin-bottom:12px !important;
}

body.admin-route .ini-section{
    padding:12px !important;
}

body.admin-route .ini-section h3{
    margin-bottom:7px !important;
    font-size:13px !important;
}

body.admin-route .ini-section label{
    margin:5px 0 !important;
    font-size:10px !important;
}

/* Mobile */
@media(max-width:820px){
    body.admin-route main{
        width:min(100% - 22px, 1080px) !important;
        margin-top:20px !important;
    }

    body.admin-route .pagehead h1{
        font-size:28px !important;
    }

    body.admin-route .panel{
        padding:13px !important;
    }

    body.admin-route .panel.tablewrap{
        padding:0 !important;
    }
}

@media(max-width:520px){
    body.admin-route main{
        width:min(100% - 14px, 1080px) !important;
        margin-top:15px !important;
    }

    body.admin-route .pagehead{
        padding:11px 12px !important;
    }

    body.admin-route .pagehead h1{
        font-size:25px !important;
    }
}


/* ==========================================================================
   EIMUGames - MIO ACCOUNT PIU' COMPATTO
   Solo route player "account". Nessuna modifica funzionale.
   ========================================================================== */

body.account-route main{
    width:min(1040px, calc(100% - 34px)) !important;
    margin-top:26px !important;
    margin-bottom:50px !important;
}

/* Testata Mio Account */
body.account-route .account-player-pagehead{
    margin:4px 0 11px !important;
    padding:14px 17px !important;
    border-radius:14px !important;
}

body.account-route .account-player-pagehead h1{
    margin:4px 0 4px !important;
    font-size:31px !important;
    line-height:1.03 !important;
}

body.account-route .account-player-pagehead .eyebrow{
    font-size:8.5px !important;
    letter-spacing:1.3px !important;
}

body.account-route .account-player-pagehead p{
    margin:3px 0 0 !important;
    font-size:10px !important;
}

/* Menu Profilo / Sicurezza / Personaggi */
body.account-route .account-section-nav{
    gap:6px !important;
    margin-bottom:12px !important;
    padding:5px !important;
    border-radius:11px !important;
}

body.account-route .account-section-nav a{
    min-height:30px !important;
    padding:5px 10px !important;
    font-size:9.5px !important;
    border-radius:8px !important;
}

/* Profilo */
body.account-route .user-account-grid{
    gap:9px !important;
}

body.account-route .user-account-main,
body.account-route .user-account-stat{
    min-height:112px !important;
}

body.account-route .user-account-main{
    gap:13px !important;
    padding:14px !important;
}

body.account-route .user-account-avatar{
    width:56px !important;
    height:56px !important;
    border-radius:15px !important;
    font-size:23px !important;
}

body.account-route .user-account-main h2{
    margin:3px 0 !important;
    font-size:20px !important;
}

body.account-route .user-account-main p{
    font-size:9.5px !important;
}

body.account-route .user-account-stat{
    padding:13px !important;
}

body.account-route .user-account-stat span{
    font-size:8px !important;
}

body.account-route .user-account-stat strong{
    margin-top:5px !important;
    font-size:12px !important;
}

body.account-route .user-account-stat small{
    margin-top:3px !important;
    font-size:9px !important;
}

/* Sezioni Sicurezza / Personaggi */
body.account-route .account-management-section{
    margin-top:14px !important;
}

body.account-route .account-section-heading{
    gap:10px !important;
    margin-bottom:8px !important;
}

body.account-route .account-section-heading h2{
    margin:2px 0 !important;
    font-size:17px !important;
}

body.account-route .account-section-heading p{
    max-width:700px !important;
    font-size:9.5px !important;
    line-height:1.4 !important;
}

/* Cambio email / password */
body.account-route .account-security-grid{
    gap:9px !important;
}

body.account-route .account-security-card{
    padding:13px !important;
    border-radius:13px !important;
}

body.account-route .account-security-card-head{
    gap:9px !important;
    margin-bottom:8px !important;
}

body.account-route .account-security-symbol{
    width:32px !important;
    height:32px !important;
    border-radius:9px !important;
    font-size:14px !important;
}

body.account-route .account-security-card-head h3{
    margin:1px 0 0 !important;
    font-size:14px !important;
}

body.account-route .account-current-value{
    padding:7px 8px !important;
    margin-bottom:8px !important;
    border-radius:8px !important;
}

body.account-route .account-current-value span{
    font-size:7.5px !important;
}

body.account-route .account-current-value strong{
    margin-top:2px !important;
    font-size:9.5px !important;
}

body.account-route .account-security-card label{
    margin:0 !important;
    font-size:9.5px !important;
}

body.account-route .account-security-card input{
    min-height:34px !important;
    padding:7px 9px !important;
    border-radius:8px !important;
}

body.account-route .account-security-copy{
    min-height:46px !important;
    margin-bottom:7px !important;
    font-size:9px !important;
    line-height:1.4 !important;
}

body.account-route .account-security-flow{
    margin:1px 0 8px !important;
    font-size:8.5px !important;
    line-height:1.35 !important;
}

body.account-route .account-security-card .btn{
    min-height:33px !important;
    padding:7px 11px !important;
    font-size:10px !important;
}

/* Personaggi */
body.account-route .account-character-count{
    min-width:44px !important;
    height:25px !important;
    padding:0 8px !important;
    font-size:9px !important;
}

body.account-route .player-character-grid{
    gap:8px !important;
}

body.account-route .player-character-card{
    padding:12px !important;
    border-radius:13px !important;
}

body.account-route .player-character-top{
    gap:9px !important;
    margin-bottom:8px !important;
}

body.account-route .player-character-top h3{
    font-size:15px !important;
}

body.account-route .player-character-top p{
    font-size:8.5px !important;
}

body.account-route .player-character-slot{
    font-size:7.5px !important;
}

body.account-route .player-character-stats{
    gap:5px !important;
    margin-bottom:7px !important;
}

body.account-route .player-character-stats div{
    padding:6px !important;
    border-radius:7px !important;
}

body.account-route .player-character-stats span{
    font-size:7px !important;
}

body.account-route .player-character-stats strong{
    font-size:9px !important;
}

body.account-route .player-character-location{
    gap:6px !important;
    padding:6px 8px !important;
    margin-bottom:7px !important;
}

body.account-route .player-character-location span{
    font-size:7.5px !important;
}

body.account-route .player-character-location strong{
    font-size:8.8px !important;
}

body.account-route .player-character-location small{
    font-size:8px !important;
}

body.account-route .player-character-recovery-form .btn,
body.account-route .player-character-disabled{
    min-height:29px !important;
    padding:5px 8px !important;
    font-size:8.5px !important;
}

/* Download CTA */
body.account-route .account-download-cta{
    margin-top:14px !important;
    padding:14px 16px !important;
    border-radius:13px !important;
}

body.account-route .account-download-cta h2{
    font-size:16px !important;
    margin:2px 0 3px !important;
}

body.account-route .account-download-cta p{
    margin:0 !important;
    font-size:9.5px !important;
    line-height:1.4 !important;
}

body.account-route .account-download-cta .btn{
    padding:7px 11px !important;
    font-size:10px !important;
}

/* Mobile: compatto ma sempre leggibile */
@media(max-width:860px){
    body.account-route main{
        width:min(100% - 22px, 1040px) !important;
        margin-top:20px !important;
    }
}

@media(max-width:620px){
    body.account-route main{
        width:min(100% - 14px, 1040px) !important;
        margin-top:15px !important;
    }

    body.account-route .account-player-pagehead{
        padding:11px 12px !important;
    }

    body.account-route .account-player-pagehead h1{
        font-size:26px !important;
    }

    body.account-route .user-account-main,
    body.account-route .user-account-stat{
        min-height:auto !important;
    }

    body.account-route .account-security-card{
        padding:11px !important;
    }

    body.account-route .player-character-card{
        padding:10px !important;
    }
}


/* ==========================================================================
   EIMUGames - FONT ADMIN + MIO ACCOUNT PIU' LEGGIBILI
   Mantiene INVARIATE le dimensioni compatte dei moduli.
   ========================================================================== */

/* --------------------------------------------------------------------------
   ADMIN
   -------------------------------------------------------------------------- */

body.admin-route .pagehead .eyebrow{
    font-size:10px !important;
}

body.admin-route .pagehead p,
body.admin-route .pagehead .muted{
    font-size:12px !important;
    line-height:1.5 !important;
}

body.admin-route .card b{
    font-size:16px !important;
}

body.admin-route .card span,
body.admin-route .card p{
    font-size:11.5px !important;
    line-height:1.42 !important;
}

/* Gestione Sito / Account & Personaggi */
body.admin-route .admin-category-card small{
    font-size:9.5px !important;
}

body.admin-route .admin-category-card h2{
    font-size:16px !important;
    line-height:1.2 !important;
}

body.admin-route .admin-category-card p{
    font-size:11px !important;
    line-height:1.42 !important;
}

body.admin-route .admin-category-state{
    font-size:10px !important;
}

/* Home Admin */
body.admin-route .admin-main-section h2{
    font-size:18px !important;
}

body.admin-route .admin-main-section p{
    font-size:11.5px !important;
    line-height:1.42 !important;
}

/* Tabelle */
body.admin-route th{
    font-size:10px !important;
}

body.admin-route td{
    font-size:12px !important;
}

/* Form */
body.admin-route label,
body.admin-route .form label{
    font-size:11.5px !important;
}

body.admin-route input,
body.admin-route select,
body.admin-route textarea{
    font-size:12px !important;
}

body.admin-route .btn{
    font-size:12.5px !important;
}

body.admin-route .btn.tiny{
    font-size:11px !important;
}

body.admin-route .notice{
    font-size:11.5px !important;
}

body.admin-route .ini-section h3{
    font-size:14px !important;
}

body.admin-route .ini-section label{
    font-size:11.5px !important;
}

/* Gestione account/password */
body.admin-route .admin-password-security-note strong{
    font-size:12px !important;
}

body.admin-route .admin-password-security-note p{
    font-size:11.5px !important;
}

body.admin-route .password-readonly-badge{
    font-size:9px !important;
}

body.admin-route .password-hash-details summary{
    font-size:10.5px !important;
}

body.admin-route .password-hash-details code{
    font-size:9.5px !important;
}

body.admin-route .admin-reset-unavailable{
    font-size:10px !important;
}

/* --------------------------------------------------------------------------
   MIO ACCOUNT
   -------------------------------------------------------------------------- */

body.account-route .account-player-pagehead .eyebrow{
    font-size:10px !important;
}

body.account-route .account-player-pagehead p{
    font-size:11.5px !important;
}

body.account-route .account-section-nav a{
    font-size:11px !important;
}

/* Profilo */
body.account-route .user-account-main p{
    font-size:11px !important;
}

body.account-route .user-account-stat span{
    font-size:9.5px !important;
}

body.account-route .user-account-stat strong{
    font-size:13px !important;
}

body.account-route .user-account-stat small{
    font-size:10.5px !important;
}

/* Titoli sezioni */
body.account-route .account-section-heading h2{
    font-size:18px !important;
}

body.account-route .account-section-heading p{
    font-size:11px !important;
    line-height:1.45 !important;
}

/* Sicurezza */
body.account-route .account-security-card-head h3{
    font-size:15.5px !important;
}

body.account-route .account-current-value span{
    font-size:9px !important;
}

body.account-route .account-current-value strong{
    font-size:11px !important;
}

body.account-route .account-security-card label{
    font-size:11px !important;
}

body.account-route .account-security-card input{
    font-size:12px !important;
}

body.account-route .account-security-copy{
    font-size:10.5px !important;
    line-height:1.45 !important;
}

body.account-route .account-security-flow{
    font-size:10px !important;
    line-height:1.4 !important;
}

body.account-route .account-security-card .btn{
    font-size:11px !important;
}

/* Personaggi */
body.account-route .account-character-count{
    font-size:10px !important;
}

body.account-route .player-character-top h3{
    font-size:16px !important;
}

body.account-route .player-character-top p{
    font-size:10px !important;
}

body.account-route .player-character-slot{
    font-size:9px !important;
}

body.account-route .player-character-stats span{
    font-size:8.5px !important;
}

body.account-route .player-character-stats strong{
    font-size:10.5px !important;
}

body.account-route .player-character-location span{
    font-size:9px !important;
}

body.account-route .player-character-location strong{
    font-size:10.5px !important;
}

body.account-route .player-character-location small{
    font-size:9.5px !important;
}

body.account-route .player-character-recovery-form .btn,
body.account-route .player-character-disabled{
    font-size:10px !important;
}

/* Download CTA */
body.account-route .account-download-cta h2{
    font-size:17px !important;
}

body.account-route .account-download-cta p{
    font-size:11px !important;
    line-height:1.45 !important;
}

body.account-route .account-download-cta .btn{
    font-size:11px !important;
}

/* Mobile: non riduciamo troppo i caratteri */
@media(max-width:620px){
    body.admin-route td{
        font-size:11.5px !important;
    }

    body.admin-route th{
        font-size:9.5px !important;
    }

    body.account-route .account-section-nav a{
        font-size:10.5px !important;
    }

    body.account-route .account-security-copy,
    body.account-route .account-section-heading p{
        font-size:10.5px !important;
    }
}


/* ==========================================================================
   EIMUGames - FONT GRANDI + PERSONAGGI IN LISTA
   Mantiene Admin e Mio Account compatti, ma aumenta sensibilmente
   la leggibilità. Gestione Personaggi non usa più card/moduli.
   ========================================================================== */

/* --------------------------------------------------------------------------
   ADMIN - FONT PIU' GRANDI
   -------------------------------------------------------------------------- */

body.admin-route{
    font-size:13px !important;
}

body.admin-route .pagehead .eyebrow{
    font-size:11px !important;
}

body.admin-route .pagehead p,
body.admin-route .pagehead .muted{
    font-size:13px !important;
    line-height:1.5 !important;
}

body.admin-route .admin-category-card small{
    font-size:10.5px !important;
}

body.admin-route .admin-category-card h2{
    font-size:17.5px !important;
    line-height:1.2 !important;
}

body.admin-route .admin-category-card p{
    font-size:12.5px !important;
    line-height:1.45 !important;
}

body.admin-route .admin-category-state{
    font-size:11px !important;
}

body.admin-route .admin-main-section h2{
    font-size:19px !important;
}

body.admin-route .admin-main-section p{
    font-size:12.5px !important;
    line-height:1.45 !important;
}

body.admin-route .card b{
    font-size:17px !important;
}

body.admin-route .card span,
body.admin-route .card p{
    font-size:12.5px !important;
    line-height:1.45 !important;
}

body.admin-route th{
    font-size:11px !important;
}

body.admin-route td{
    font-size:13px !important;
}

body.admin-route label,
body.admin-route .form label{
    font-size:12.5px !important;
}

body.admin-route input,
body.admin-route select,
body.admin-route textarea{
    font-size:13px !important;
}

body.admin-route .btn{
    font-size:13px !important;
}

body.admin-route .btn.tiny{
    font-size:12px !important;
}

body.admin-route .notice{
    font-size:12.5px !important;
}

body.admin-route .ini-section h3{
    font-size:15px !important;
}

body.admin-route .ini-section label{
    font-size:12.5px !important;
}

body.admin-route .admin-password-security-note strong{
    font-size:13px !important;
}

body.admin-route .admin-password-security-note p{
    font-size:12.5px !important;
}

body.admin-route .password-hash-details summary{
    font-size:11.5px !important;
}

body.admin-route .password-hash-details code{
    font-size:10.5px !important;
}

/* --------------------------------------------------------------------------
   MIO ACCOUNT - FONT PIU' GRANDI
   -------------------------------------------------------------------------- */

body.account-route{
    font-size:13px !important;
}

body.account-route .account-player-pagehead .eyebrow{
    font-size:11px !important;
}

body.account-route .account-player-pagehead p{
    font-size:13px !important;
}

body.account-route .account-section-nav a{
    font-size:12.5px !important;
}

body.account-route .user-account-main p{
    font-size:12.5px !important;
}

body.account-route .user-account-stat span{
    font-size:10.5px !important;
}

body.account-route .user-account-stat strong{
    font-size:14px !important;
}

body.account-route .user-account-stat small{
    font-size:11.5px !important;
}

body.account-route .account-section-heading h2{
    font-size:19px !important;
}

body.account-route .account-section-heading p{
    font-size:12.5px !important;
    line-height:1.48 !important;
}

body.account-route .account-security-card-head h3{
    font-size:17px !important;
}

body.account-route .account-current-value span{
    font-size:10px !important;
}

body.account-route .account-current-value strong{
    font-size:12.5px !important;
}

body.account-route .account-security-card label{
    font-size:12.5px !important;
}

body.account-route .account-security-card input{
    font-size:13px !important;
}

body.account-route .account-security-copy{
    font-size:12px !important;
    line-height:1.45 !important;
}

body.account-route .account-security-flow{
    font-size:11.5px !important;
    line-height:1.42 !important;
}

body.account-route .account-security-card .btn{
    font-size:12.5px !important;
}

body.account-route .account-download-cta h2{
    font-size:18px !important;
}

body.account-route .account-download-cta p{
    font-size:12.5px !important;
}

body.account-route .account-download-cta .btn{
    font-size:12.5px !important;
}

/* --------------------------------------------------------------------------
   GESTIONE PERSONAGGI - LISTA A RIGHE, NON CARD/MODULI
   -------------------------------------------------------------------------- */

body.account-route .player-character-list{
    display:flex !important;
    flex-direction:column !important;
    gap:0 !important;
    border-top:1px solid rgba(255,255,255,.075);
    border-bottom:1px solid rgba(255,255,255,.075);
}

body.account-route .player-character-row{
    display:grid !important;
    grid-template-columns:175px minmax(360px,1fr) 165px 205px !important;
    align-items:center !important;
    gap:14px !important;
    padding:12px 4px !important;
    margin:0 !important;

    background:transparent !important;
    border:0 !important;
    border-bottom:1px solid rgba(255,255,255,.065) !important;
    border-radius:0 !important;
    box-shadow:none !important;
    overflow:visible !important;
    position:relative !important;
}

body.account-route .player-character-row:last-child{
    border-bottom:0 !important;
}

body.account-route .player-character-row::before{
    content:"" !important;
    position:absolute !important;
    left:-1px !important;
    top:12px !important;
    bottom:12px !important;
    width:2px !important;
    border-radius:2px !important;
    background:rgba(130,143,160,.28) !important;
}

body.account-route .player-character-row.is-online::before{
    background:rgba(80,200,128,.72) !important;
}

body.account-route .player-character-top{
    margin:0 !important;
    gap:8px !important;
}

body.account-route .player-character-top h3{
    margin:2px 0 1px !important;
    font-size:17px !important;
    line-height:1.2 !important;
}

body.account-route .player-character-top p{
    font-size:11.5px !important;
}

body.account-route .player-character-slot{
    font-size:10px !important;
}

body.account-route .player-character-top .badge{
    padding:4px 7px !important;
    font-size:9px !important;
}

/* Stat tutte sulla stessa area centrale */
body.account-route .player-character-stats{
    display:grid !important;
    grid-template-columns:repeat(6,minmax(0,1fr)) !important;
    gap:5px !important;
    margin:0 !important;
}

body.account-route .player-character-stats div{
    padding:5px 4px !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    text-align:center !important;
}

body.account-route .player-character-stats span{
    font-size:9px !important;
}

body.account-route .player-character-stats strong{
    margin-top:2px !important;
    font-size:11.5px !important;
}

/* Posizione in colonna dedicata */
body.account-route .player-character-location{
    display:block !important;
    margin:0 !important;
    padding:0 0 0 12px !important;
    border:0 !important;
    border-left:1px solid rgba(255,255,255,.06) !important;
}

body.account-route .player-character-location span{
    display:block !important;
    font-size:9.5px !important;
}

body.account-route .player-character-location strong{
    display:block !important;
    margin-top:2px !important;
    font-size:12px !important;
}

body.account-route .player-character-location small{
    display:block !important;
    margin-top:2px !important;
    font-size:10.5px !important;
}

/* Azione allineata a destra */
body.account-route .player-character-recovery-form{
    margin:0 !important;
}

body.account-route .player-character-recovery-form .btn,
body.account-route .player-character-disabled{
    width:100% !important;
    min-height:34px !important;
    padding:7px 9px !important;
    font-size:11px !important;
    justify-content:center !important;
}

/* Nasconde qualunque vecchio stile grid/card rimasto dal CSS precedente */
body.account-route .player-character-grid,
body.account-route .player-character-card{
    display:none !important;
}

/* Tablet */
@media(max-width:1050px){
    body.account-route .player-character-row{
        grid-template-columns:165px minmax(300px,1fr) 150px !important;
    }

    body.account-route .player-character-recovery-form,
    body.account-route .player-character-disabled{
        grid-column:2 / 4 !important;
        width:100% !important;
    }

    body.account-route .player-character-stats{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    }
}

/* Mobile */
@media(max-width:720px){
    body.admin-route th{
        font-size:10.5px !important;
    }

    body.admin-route td{
        font-size:12.5px !important;
    }

    body.account-route .player-character-row{
        grid-template-columns:1fr !important;
        gap:9px !important;
        padding:13px 4px !important;
    }

    body.account-route .player-character-stats{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    }

    body.account-route .player-character-location{
        padding:8px 0 0 !important;
        border-left:0 !important;
        border-top:1px solid rgba(255,255,255,.06) !important;
    }

    body.account-route .player-character-recovery-form,
    body.account-route .player-character-disabled{
        grid-column:auto !important;
    }
}


/* ==========================================================================
   EIMUGames - GESTIONE ACCOUNT / PERSONAGGI A TAB + FONT PIU' GRANDI
   ========================================================================== */

/* Due pulsanti separati e chiaramente cliccabili */
body.account-route .account-management-tabs{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
    padding:0 !important;
    margin:14px 0 16px !important;
    background:transparent !important;
    border:0 !important;
}

body.account-route .account-management-tab{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:46px !important;
    padding:10px 16px !important;
    border:1px solid rgba(218,170,88,.18) !important;
    border-radius:11px !important;
    background:rgba(255,255,255,.025) !important;
    color:#b8c0cb !important;
    font-size:14px !important;
    font-weight:800 !important;
    letter-spacing:.15px !important;
    text-decoration:none !important;
    transition:border-color .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease !important;
}

body.account-route .account-management-tab:hover{
    color:#f0c77d !important;
    border-color:rgba(226,174,80,.38) !important;
    background:rgba(226,174,80,.055) !important;
    box-shadow:0 0 18px rgba(221,151,48,.07) !important;
}

body.account-route .account-management-tab.is-active{
    color:#ffd38a !important;
    border-color:rgba(226,174,80,.52) !important;
    background:linear-gradient(180deg,rgba(226,174,80,.10),rgba(226,174,80,.035)) !important;
    box-shadow:inset 0 -2px 0 rgba(236,169,61,.72), 0 0 20px rgba(221,151,48,.08) !important;
}

body.account-route .account-tab-panel[hidden]{
    display:none !important;
}

/* Separazione netta tra riepilogo account e area gestionale */
body.account-route .account-tab-panel{
    margin-top:0 !important;
    padding-top:2px !important;
}

/* --------------------------------------------------------------------------
   FONT ADMIN: ancora più leggibili, contenitori invariati
   -------------------------------------------------------------------------- */
body.admin-route{
    font-size:14px !important;
}

body.admin-route .pagehead .eyebrow{
    font-size:12px !important;
}

body.admin-route .pagehead p,
body.admin-route .pagehead .muted{
    font-size:14px !important;
}

body.admin-route .admin-category-card small{
    font-size:11.5px !important;
}

body.admin-route .admin-category-card h2{
    font-size:19px !important;
}

body.admin-route .admin-category-card p{
    font-size:13.5px !important;
    line-height:1.45 !important;
}

body.admin-route .admin-main-section h2{
    font-size:20px !important;
}

body.admin-route .admin-main-section p{
    font-size:13.5px !important;
}

body.admin-route th{
    font-size:12px !important;
}

body.admin-route td{
    font-size:14px !important;
}

body.admin-route label,
body.admin-route .form label,
body.admin-route input,
body.admin-route select,
body.admin-route textarea{
    font-size:14px !important;
}

body.admin-route .btn{
    font-size:14px !important;
}

body.admin-route .btn.tiny{
    font-size:12.5px !important;
}

body.admin-route .notice,
body.admin-route .admin-password-security-note p{
    font-size:13.5px !important;
}

/* --------------------------------------------------------------------------
   MIO ACCOUNT: font più grandi, contenitori invariati
   -------------------------------------------------------------------------- */
body.account-route{
    font-size:14px !important;
}

body.account-route .account-player-pagehead .eyebrow{
    font-size:12px !important;
}

body.account-route .account-player-pagehead p{
    font-size:14px !important;
}

body.account-route .user-account-main p{
    font-size:13.5px !important;
}

body.account-route .user-account-stat span{
    font-size:11.5px !important;
}

body.account-route .user-account-stat strong{
    font-size:15px !important;
}

body.account-route .user-account-stat small{
    font-size:12.5px !important;
}

body.account-route .account-section-heading h2{
    font-size:21px !important;
}

body.account-route .account-section-heading p{
    font-size:14px !important;
    line-height:1.5 !important;
}

body.account-route .account-security-card-head h3{
    font-size:18px !important;
}

body.account-route .account-current-value span{
    font-size:11px !important;
}

body.account-route .account-current-value strong{
    font-size:14px !important;
}

body.account-route .account-security-card label,
body.account-route .account-security-card input{
    font-size:14px !important;
}

body.account-route .account-security-copy{
    font-size:13.5px !important;
}

body.account-route .account-security-flow{
    font-size:12.5px !important;
}

body.account-route .account-security-card .btn{
    font-size:13.5px !important;
}

/* Lista personaggi */
body.account-route .player-character-top h3{
    font-size:18px !important;
}

body.account-route .player-character-top p{
    font-size:12.5px !important;
}

body.account-route .player-character-slot{
    font-size:11px !important;
}

body.account-route .player-character-stats span{
    font-size:10px !important;
}

body.account-route .player-character-stats strong{
    font-size:13px !important;
}

body.account-route .player-character-location span{
    font-size:10.5px !important;
}

body.account-route .player-character-location strong{
    font-size:13.5px !important;
}

body.account-route .player-character-location small{
    font-size:11.5px !important;
}

body.account-route .player-character-recovery-form .btn,
body.account-route .player-character-disabled{
    font-size:12px !important;
}

/* Mobile */
@media(max-width:620px){
    body.account-route .account-management-tabs{
        grid-template-columns:1fr !important;
        gap:7px !important;
    }

    body.account-route .account-management-tab{
        min-height:42px !important;
        font-size:13.5px !important;
    }
}


/* ==========================================================================
   EIMUGames - TESTI DESCRITTIVI / SPIEGAZIONI PIU' GRANDI
   Non cambia la dimensione dei moduli.
   ========================================================================== */

/* ADMIN - descrizioni delle schede, comprese frasi tipo:
   "Abilita o nasconde il modulo pubblico..." */
body.admin-route .admin-category-card p{
    font-size:15px !important;
    line-height:1.52 !important;
    color:#aeb7c3 !important;
}

body.admin-route .admin-main-section p{
    font-size:15px !important;
    line-height:1.52 !important;
    color:#aeb7c3 !important;
}

body.admin-route .card p,
body.admin-route .card span{
    font-size:14.5px !important;
    line-height:1.5 !important;
}

/* Testi secondari / help dei form Admin */
body.admin-route small,
body.admin-route .muted,
body.admin-route .form small,
body.admin-route label small,
body.admin-route .ini-section small,
body.admin-route .setting-help,
body.admin-route .help,
body.admin-route .description{
    font-size:14px !important;
    line-height:1.5 !important;
    color:#a4aebb !important;
}

/* Testo informativo nelle testate */
body.admin-route .pagehead p,
body.admin-route .pagehead .muted{
    font-size:15px !important;
    line-height:1.52 !important;
}

/* Note sicurezza / account */
body.admin-route .admin-password-security-note p{
    font-size:14.5px !important;
    line-height:1.52 !important;
}

/* MIO ACCOUNT - descrizioni e spiegazioni */
body.account-route .account-section-heading p{
    font-size:15px !important;
    line-height:1.52 !important;
    color:#aeb7c3 !important;
}

body.account-route .account-security-copy{
    font-size:14.5px !important;
    line-height:1.52 !important;
    color:#aeb7c3 !important;
}

body.account-route .account-security-flow{
    font-size:13.5px !important;
    line-height:1.48 !important;
}

body.account-route .account-player-pagehead p{
    font-size:15px !important;
    line-height:1.5 !important;
}

body.account-route .user-account-main p{
    font-size:14.5px !important;
    line-height:1.5 !important;
}

body.account-route .account-download-cta p{
    font-size:14.5px !important;
    line-height:1.5 !important;
}

/* Anche eventuali small/muted dentro Mio Account */
body.account-route small,
body.account-route .muted{
    font-size:13.5px !important;
    line-height:1.45 !important;
}

/* Mobile: restano comunque ben leggibili */
@media(max-width:620px){
    body.admin-route .admin-category-card p,
    body.admin-route .admin-main-section p,
    body.admin-route .pagehead p,
    body.admin-route .pagehead .muted{
        font-size:14px !important;
    }

    body.account-route .account-section-heading p,
    body.account-route .account-security-copy,
    body.account-route .account-player-pagehead p{
        font-size:14px !important;
    }
}


/* ==========================================================================
   EIMUGames - RIPASSATA GENERALE LEGGIBILITA'
   Contrasto, font, sfondi leggeri e separazione visiva.
   Nessuna modifica alla logica del sito.
   ========================================================================== */

:root{
    --text:#f2f5f9 !important;
    --muted:#aeb8c6 !important;
    --panel:#0b1017 !important;
    --panel2:#101720 !important;
    --line:#283344 !important;
}

/* --------------------------------------------------------------------------
   BASE TYPOGRAPHY
   -------------------------------------------------------------------------- */

body{
    font-size:16px !important;
    line-height:1.62 !important;
    color:#f2f5f9 !important;
}

p{
    line-height:1.62;
}

.muted{
    color:#aeb8c6 !important;
}

small{
    color:#aeb8c6;
}

code{
    color:#ffd078 !important;
}

::placeholder{
    color:#788495 !important;
    opacity:1 !important;
}

/* --------------------------------------------------------------------------
   STRUTTURA GENERALE: pannelli più leggibili senza cambiare layout
   -------------------------------------------------------------------------- */

.panel,
.card,
.stat,
.gens-family,
.pagehead,
.home-info,
.home-side,
.home-entry-card,
.home-news-channel,
.home-discord{
    background:#0b1017 !important;
    border-color:#2a3545 !important;
    box-shadow:0 12px 30px rgba(0,0,0,.17) !important;
}

.panel:hover,
.card:hover,
.home-entry-card:hover{
    border-color:#465267 !important;
}

/* I titoli non devono confondersi con le descrizioni */
.panel h2,
.panel h3,
.card h2,
.card h3,
.pagehead h1,
.home-section-head h2{
    color:#f5f7fa !important;
}

/* --------------------------------------------------------------------------
   TESTI SECONDARI: fondo discreto per farli leggere bene
   -------------------------------------------------------------------------- */

.panel > p.muted,
.panel > .muted:not(.badge):not(.eyebrow):not(.mini-label),
.card > p,
.home-info > p,
.home-entry-card p,
.home-news-item p,
.home-discord-copy p,
.gens-family > p,
.registration-admin-status small,
.discord-admin-fields small,
.admin-password-security-note p,
.account-section-heading p,
.account-security-copy,
.account-security-flow,
.account-download-cta p{
    color:#c0c8d3 !important;
}

/* Background solo sui veri blocchi descrittivi/help */
.panel > p.muted,
.admin-password-security-note p,
.account-security-copy,
.account-security-flow{
    padding:9px 11px !important;
    border:1px solid rgba(255,255,255,.055) !important;
    border-radius:9px !important;
    background:#080d13 !important;
}

/* Help sotto campi: leggibile ma compatto */
.form small,
label small,
.ini-section small,
.discord-admin-fields small{
    display:block;
    margin-top:2px;
    padding:5px 7px;
    border-radius:7px;
    background:rgba(255,255,255,.025);
    color:#b8c1cd !important;
    font-size:13.5px !important;
    line-height:1.45 !important;
}

/* Evita "box dentro box" su badge o micro-label */
.badge,
.eyebrow,
.mini-label,
.hero-kicker,
.side-title span{
    background:transparent !important;
}

/* --------------------------------------------------------------------------
   HOME
   -------------------------------------------------------------------------- */

.home-hero p{
    color:#d1d7df !important;
    font-size:18px !important;
    text-shadow:0 2px 12px rgba(0,0,0,.65);
}

.home-section-head span,
.hero-kicker,
.mini-label,
.side-title span{
    color:#e3b873 !important;
}

.home-section-head a{
    color:#d0d6df !important;
    font-size:14px !important;
}

.home-gens-card p,
.home-info p,
.home-entry-card p{
    color:#c2cad5 !important;
    font-size:14px !important;
    line-height:1.5 !important;
}

.home-entry-card small,
.home-gens-card small{
    font-size:11px !important;
}

.home-news-item p{
    color:#bbc5d0 !important;
    font-size:14px !important;
}

.home-news-meta{
    color:#96a4b5 !important;
}

/* --------------------------------------------------------------------------
   HEADER / FOOTER
   -------------------------------------------------------------------------- */

header{
    background:rgba(7,10,15,.96) !important;
    border-bottom-color:#293343 !important;
}

header nav{
    color:#d3dae4 !important;
}

header nav > a{
    font-size:14px !important;
}

.brand small{
    color:#aeb9c7 !important;
    font-size:11px !important;
}

footer{
    color:#aeb8c6 !important;
    background:#080c12 !important;
    border-top-color:#293343 !important;
}

footer a{
    color:#dfe5ec !important;
}

/* --------------------------------------------------------------------------
   FORM
   -------------------------------------------------------------------------- */

.form label,
.ini-section label{
    color:#e7ebf0 !important;
    font-size:13.5px !important;
}

input,
select,
textarea{
    background:#070b11 !important;
    border-color:#344154 !important;
    color:#f5f7fa !important;
    font-size:14px !important;
}

input:hover,
select:hover,
textarea:hover{
    border-color:#4a586c !important;
}

input:focus,
select:focus,
textarea:focus{
    border-color:#c48316 !important;
    box-shadow:0 0 0 3px rgba(255,176,0,.10) !important;
}

.btn{
    font-size:13.5px !important;
}

/* --------------------------------------------------------------------------
   TABELLE / RANKING
   -------------------------------------------------------------------------- */

.tablewrap{
    border:1px solid #293443 !important;
    border-radius:13px !important;
    background:#090e14 !important;
}

table{
    background:#090e14 !important;
}

th{
    background:#0f151e !important;
    color:#b6c0cd !important;
    border-bottom-color:#334052 !important;
    font-size:11.5px !important;
}

td{
    color:#e2e7ed !important;
    border-bottom-color:#202b39 !important;
    font-size:13px !important;
}

tbody tr:nth-child(even) td{
    background:#0b1119 !important;
}

tbody tr:hover td{
    background:#121a25 !important;
}

.tablelink{
    color:#f0bc68 !important;
}

.ranking-value{
    color:#ffd27d !important;
}

/* --------------------------------------------------------------------------
   NOTICE / BADGE
   -------------------------------------------------------------------------- */

.notice{
    background:#111923 !important;
    border-color:#344255 !important;
    color:#e1e7ee !important;
    font-size:13.5px !important;
}

.notice.ok{
    background:#0d2017 !important;
    border-color:#286646 !important;
}

.notice.bad{
    background:#261318 !important;
    border-color:#84414a !important;
}

.notice.warn{
    background:#241c0e !important;
    border-color:#816329 !important;
}

.badge{
    font-size:10.5px !important;
}

/* --------------------------------------------------------------------------
   ADMIN: descrizioni più leggibili con fondo leggero
   -------------------------------------------------------------------------- */

body.admin-route .admin-category-card{
    background:#0b1017 !important;
    border-color:#2a3545 !important;
}

body.admin-route .admin-category-card p,
body.admin-route .admin-main-section p{
    color:#c3cbd5 !important;
    font-size:15px !important;
    line-height:1.5 !important;
}

body.admin-route .admin-category-card p{
    margin-top:7px !important;
    padding:7px 9px !important;
    border-radius:8px !important;
    background:#080d13 !important;
    border:1px solid rgba(255,255,255,.045) !important;
}

body.admin-route .admin-main-section p{
    padding:6px 8px !important;
    border-radius:8px !important;
    background:#080d13 !important;
}

body.admin-route th{
    font-size:11.5px !important;
}

body.admin-route td{
    font-size:13.5px !important;
}

body.admin-route .admin-reset-unavailable{
    color:#a8b2bf !important;
}

/* --------------------------------------------------------------------------
   MIO ACCOUNT
   -------------------------------------------------------------------------- */

body.account-route .user-account-main,
body.account-route .user-account-stat,
body.account-route .account-security-card{
    background:#0b1017 !important;
    border-color:#2a3545 !important;
}

body.account-route .account-section-heading p{
    color:#c3cbd5 !important;
    font-size:15px !important;
}

body.account-route .account-current-value{
    background:#080d13 !important;
    border-color:#263141 !important;
}

body.account-route .account-security-copy{
    color:#c3cbd5 !important;
}

body.account-route .player-character-row{
    background:#0a0f16 !important;
}

body.account-route .player-character-row:nth-child(even){
    background:#0c121a !important;
}

body.account-route .player-character-stats div{
    background:#080d13 !important;
    border:1px solid rgba(255,255,255,.045) !important;
    border-radius:7px !important;
}

body.account-route .player-character-stats span,
body.account-route .player-character-location span{
    color:#aeb9c7 !important;
}

body.account-route .player-character-stats strong,
body.account-route .player-character-location strong{
    color:#eef2f6 !important;
}

/* --------------------------------------------------------------------------
   LEGAL / INFO / GENERICHE
   -------------------------------------------------------------------------- */

.legal-copy,
.legal-copy p,
.legal-copy li{
    color:#c5cdd7 !important;
    font-size:14.5px !important;
    line-height:1.65 !important;
}

/* --------------------------------------------------------------------------
   RESPONSIVE
   -------------------------------------------------------------------------- */

@media(max-width:820px){
    body{
        font-size:15px !important;
    }

    header nav > a{
        font-size:13px !important;
    }

    .home-hero p{
        font-size:16px !important;
    }

    .form small,
    label small,
    .ini-section small{
        font-size:13px !important;
    }
}

@media(max-width:520px){
    body{
        font-size:15px !important;
    }

    .panel > p.muted,
    .admin-password-security-note p,
    .account-security-copy,
    .account-security-flow{
        padding:8px 9px !important;
    }

    body.admin-route .admin-category-card p{
        font-size:14px !important;
    }

    body.account-route .account-section-heading p{
        font-size:14px !important;
    }
}


/* ==========================================================================
   EIMUGames - GESTIONE ACCOUNT LINEARE / SENZA SCROLL ORIZZONTALE
   ========================================================================== */

/* Annulla il vecchio min-width che creava la barra orizzontale. */
body.admin-route .admin-account-table{
    overflow:visible !important;
    width:100% !important;
}

body.admin-route .admin-account-table table{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    table-layout:fixed !important;
}

/* Distribuzione compatta e lineare delle colonne. */
body.admin-route .admin-account-table th:nth-child(1),
body.admin-route .admin-account-table td:nth-child(1){
    width:6% !important;
}

body.admin-route .admin-account-table th:nth-child(2),
body.admin-route .admin-account-table td:nth-child(2){
    width:11% !important;
}

body.admin-route .admin-account-table th:nth-child(3),
body.admin-route .admin-account-table td:nth-child(3){
    width:18% !important;
}

body.admin-route .admin-account-table th:nth-child(4),
body.admin-route .admin-account-table td:nth-child(4){
    width:17% !important;
}

body.admin-route .admin-account-table th:nth-child(5),
body.admin-route .admin-account-table td:nth-child(5),
body.admin-route .admin-account-table th:nth-child(6),
body.admin-route .admin-account-table td:nth-child(6){
    width:7% !important;
}

body.admin-route .admin-account-table th:nth-child(7),
body.admin-route .admin-account-table td:nth-child(7){
    width:8% !important;
}

body.admin-route .admin-account-table th:nth-child(8),
body.admin-route .admin-account-table td:nth-child(8){
    width:26% !important;
}

body.admin-route .admin-account-table th,
body.admin-route .admin-account-table td{
    padding:8px 7px !important;
    vertical-align:top !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
}

body.admin-route .admin-account-table td strong{
    overflow-wrap:anywhere !important;
}

/* Email e password non devono allargare la tabella. */
body.admin-route .admin-account-email,
body.admin-route .admin-account-password{
    min-width:0 !important;
    max-width:none !important;
}

body.admin-route .admin-account-email strong{
    display:block !important;
    font-size:12px !important;
    line-height:1.3 !important;
    overflow-wrap:anywhere !important;
}

body.admin-route .admin-account-email .email-state{
    display:inline-flex !important;
    margin-top:4px !important;
    font-size:8.5px !important;
}

body.admin-route .password-readonly-badge{
    margin-bottom:4px !important;
}

body.admin-route .password-hash-details{
    width:100% !important;
    max-width:100% !important;
}

body.admin-route .password-hash-details summary{
    white-space:normal !important;
    line-height:1.25 !important;
}

body.admin-route .password-hash-details code{
    width:100% !important;
    max-width:100% !important;
    padding:5px 6px !important;
    font-size:9px !important;
    overflow-wrap:anywhere !important;
    word-break:break-all !important;
}

/* Colonna Gestione: tutto ordinato in verticale, senza allargare. */
body.admin-route .admin-account-actions{
    min-width:0 !important;
    width:auto !important;
}

body.admin-route .admin-account-actions form,
body.admin-route .admin-account-actions .admin-account-save,
body.admin-route .admin-account-actions .admin-account-reset-mail{
    width:100% !important;
    max-width:100% !important;
}

body.admin-route .admin-account-reset-mail{
    margin:0 0 6px !important;
}

body.admin-route .admin-account-reset-mail .btn{
    width:100% !important;
    min-width:0 !important;
    white-space:normal !important;
    line-height:1.25 !important;
}

body.admin-route .admin-account-save{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:5px !important;
    margin-bottom:6px !important;
}

body.admin-route .admin-account-save select{
    width:100% !important;
    min-width:0 !important;
    padding:6px !important;
    font-size:10.5px !important;
}

body.admin-route .admin-account-save .btn{
    grid-column:1 / -1 !important;
    width:100% !important;
}

body.admin-route .account-delete-box{
    width:100% !important;
}

body.admin-route .account-delete-box > summary{
    width:100% !important;
    justify-content:center !important;
    box-sizing:border-box !important;
}

body.admin-route .account-delete-form{
    width:100% !important;
    max-width:100% !important;
}

body.admin-route .account-delete-form input{
    width:100% !important;
    min-width:0 !important;
}

/* Sotto questa larghezza abbandoniamo la tabella classica:
   ogni account diventa una riga verticale lineare, NON una card. */
@media(max-width:940px){
    body.admin-route .admin-account-table{
        border-radius:12px !important;
        overflow:hidden !important;
    }

    body.admin-route .admin-account-table table,
    body.admin-route .admin-account-table tbody{
        display:block !important;
        width:100% !important;
    }

    body.admin-route .admin-account-table thead{
        display:none !important;
    }

    body.admin-route .admin-account-table tr{
        display:block !important;
        width:100% !important;
        padding:5px 0 !important;
        border-bottom:1px solid #293443 !important;
        background:#090e14 !important;
    }

    body.admin-route .admin-account-table tr:last-child{
        border-bottom:0 !important;
    }

    body.admin-route .admin-account-table td{
        display:grid !important;
        grid-template-columns:145px minmax(0,1fr) !important;
        align-items:start !important;
        gap:10px !important;
        width:100% !important;
        max-width:100% !important;
        padding:7px 11px !important;
        border-bottom:1px solid rgba(255,255,255,.035) !important;
        background:transparent !important;
    }

    body.admin-route .admin-account-table td:last-child{
        border-bottom:0 !important;
    }

    body.admin-route .admin-account-table td::before{
        color:#d6aa63 !important;
        font-size:10px !important;
        font-weight:800 !important;
        letter-spacing:.45px !important;
        text-transform:uppercase !important;
        line-height:1.35 !important;
    }

    body.admin-route .admin-account-table td:nth-child(1)::before{content:"GUID";}
    body.admin-route .admin-account-table td:nth-child(2)::before{content:"Account";}
    body.admin-route .admin-account-table td:nth-child(3)::before{content:"Email";}
    body.admin-route .admin-account-table td:nth-child(4)::before{content:"Password";}
    body.admin-route .admin-account-table td:nth-child(5)::before{content:"Blocked";}
    body.admin-route .admin-account-table td:nth-child(6)::before{content:"Secured";}
    body.admin-route .admin-account-table td:nth-child(7)::before{content:"Security";}
    body.admin-route .admin-account-table td:nth-child(8)::before{content:"Gestione";}

    body.admin-route .admin-account-actions{
        display:block !important;
    }

    body.admin-route .admin-account-save{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

/* Mobile stretto: etichetta sopra e valore sotto, sempre senza scrollbar. */
@media(max-width:560px){
    body.admin-route .admin-account-table td{
        grid-template-columns:1fr !important;
        gap:4px !important;
    }

    body.admin-route .admin-account-save{
        grid-template-columns:1fr !important;
    }

    body.admin-route .admin-account-save .btn{
        grid-column:auto !important;
    }
}


/* ==========================================================================
   EIMUGames - BRAND HEADER STESSA DIMENSIONE DELL'ADMIN
   Solo logo + nome + sottotitolo. Menu ed effetti invariati.
   ========================================================================== */

header{
    height:72px !important;
    min-height:72px !important;
}

header .brand{
    gap:11px !important;
    font-size:16px !important;
    line-height:1.08 !important;
    font-weight:800 !important;
}

header .mark{
    width:44px !important;
    height:44px !important;
    flex:0 0 44px !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    padding:0 !important;
}

header .mark img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
}

header .brand small{
    display:block !important;
    margin-top:4px !important;
    font-size:9.5px !important;
    line-height:1.1 !important;
    letter-spacing:1.45px !important;
    color:#aeb9c7 !important;
}

/* Mantiene la proporzione su tablet/mobile */
@media(max-width:820px){
    header{
        height:68px !important;
        min-height:68px !important;
    }

    header .mark{
        width:41px !important;
        height:41px !important;
        flex-basis:41px !important;
    }

    header .brand{
        font-size:15px !important;
    }

    header .brand small{
        font-size:9px !important;
    }
}

@media(max-width:620px){
    header .mark{
        width:39px !important;
        height:39px !important;
        flex-basis:39px !important;
    }

    header .brand{
        font-size:14.5px !important;
    }
}


/* ==========================================================================
   EIMUGames - CLASSE IN TUTTI I RANKING PERSONAGGIO
   ========================================================================== */

.ranking-table .ranking-class{
    color:#e7edf4 !important;
    font-weight:700 !important;
    white-space:normal !important;
    line-height:1.25 !important;
}

/* Mantiene la colonna Classe compatta nei ranking più densi. */
.ranking-general .ranking-class,
.ranking-kills .ranking-class,
.ranking-duels .ranking-class,
.ranking-gens .ranking-class,
.ranking-online .ranking-class{
    min-width:92px !important;
    max-width:145px !important;
}

/* La generale riceve una colonna in più: leggermente più compatta,
   ma senza ridurre la leggibilità. */
.ranking-general th,
.ranking-general td{
    padding-left:9px !important;
    padding-right:9px !important;
}

/* Gens: la classe può andare a capo sui nomi più lunghi. */
.ranking-gens .ranking-class{
    min-width:105px !important;
}

/* Mobile/tablet: nessun testo microscopico. */
@media(max-width:820px){
    .ranking-table .ranking-class{
        min-width:90px !important;
        font-size:12.5px !important;
    }
}


/* ==========================================================================
   EIMUGames - MAPPA UTENTI ONLINE + PRIVACY PER PERSONAGGIO
   ========================================================================== */

/* Nuova colonna Mappa nel ranking Online. */
.ranking-online .c-rank{width:4% !important}
.ranking-online .c-name{width:12% !important}
.ranking-online .c-class{width:12% !important}
.ranking-online .c-level{width:6% !important}
.ranking-online .c-master{width:7% !important}
.ranking-online .c-majestic{width:8% !important}
.ranking-online .c-reset{width:6% !important}
.ranking-online .c-logo{width:5% !important}
.ranking-online .c-guild{width:9% !important}
.ranking-online .c-gens{width:11% !important}
.ranking-online .c-map{width:11% !important}
.ranking-online .c-server{width:9% !important}

.online-users-table table{
    min-width:1040px !important;
}

.online-map-name{
    display:inline-flex;
    align-items:center;
    min-height:25px;
    padding:4px 7px;
    border:1px solid rgba(213,169,91,.18);
    border-radius:7px;
    background:rgba(213,169,91,.055);
    color:#f1c77d;
    font-size:11.5px;
    font-weight:800;
    line-height:1.25;
}

.online-map-hidden{
    display:inline-flex;
    align-items:center;
    min-height:25px;
    padding:4px 7px;
    border:1px solid rgba(146,158,174,.14);
    border-radius:7px;
    background:rgba(146,158,174,.045);
    color:#8e9aab;
    font-size:11px;
    font-weight:800;
    letter-spacing:.15px;
}

/* Privacy posizione nella Gestione Personaggi. */
.player-map-privacy-state{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin-top:7px;
    padding:5px 7px;
    border:1px solid rgba(255,255,255,.05);
    border-radius:7px;
    background:#070c12;
}

.player-map-privacy-state span{
    font-size:9.5px !important;
    color:#9ea9b7 !important;
}

.player-map-privacy-state b{
    font-size:9px;
    letter-spacing:.35px;
}

.player-map-privacy-state.is-visible b{
    color:#67d896;
}

.player-map-privacy-state.is-hidden b{
    color:#d3a869;
}

.player-map-privacy-form{
    margin-top:6px !important;
}

.player-map-privacy-form .btn{
    width:100% !important;
    min-height:29px !important;
    padding:5px 7px !important;
    white-space:normal !important;
    line-height:1.25 !important;
    font-size:9.5px !important;
}

@media(max-width:720px){
    .online-map-name,
    .online-map-hidden{
        font-size:11px;
    }

    .player-map-privacy-state span{
        font-size:10.5px !important;
    }

    .player-map-privacy-form .btn{
        font-size:10.5px !important;
    }
}


/* ==========================================================================
   EIMUGames - GESTIONE PERSONAGGI RICOMPATTATA
   Mantiene privacy mappa + sblocco, ma torna visivamente compatta.
   ========================================================================== */

body.account-route .player-character-list{
    gap:0 !important;
}

/* Riga più bassa e lineare */
body.account-route .player-character-row{
    grid-template-columns:175px minmax(350px,1fr) 155px 205px !important;
    gap:11px !important;
    padding:9px 4px !important;
    min-height:0 !important;
}

body.account-route .player-character-row::before{
    top:9px !important;
    bottom:9px !important;
}

/* Nome / stato */
body.account-route .player-character-top{
    gap:5px !important;
    margin:0 !important;
}

body.account-route .player-character-top h3{
    margin:1px 0 0 !important;
    font-size:17px !important;
    line-height:1.12 !important;
}

body.account-route .player-character-top p{
    margin:1px 0 0 !important;
    font-size:11px !important;
    line-height:1.2 !important;
}

body.account-route .player-character-slot{
    font-size:9.5px !important;
}

/* Stat più strette */
body.account-route .player-character-stats{
    grid-template-columns:repeat(6,minmax(0,1fr)) !important;
    gap:4px !important;
    margin:0 !important;
}

body.account-route .player-character-stats div{
    padding:4px 3px !important;
    min-height:44px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
}

body.account-route .player-character-stats span{
    font-size:8.5px !important;
    line-height:1.1 !important;
}

body.account-route .player-character-stats strong{
    margin-top:2px !important;
    font-size:11px !important;
    line-height:1.15 !important;
}

/* Blocco Mappa + Privacy compatto */
body.account-route .player-character-location{
    padding-left:10px !important;
}

body.account-route .player-character-location span{
    font-size:8.5px !important;
    line-height:1.1 !important;
}

body.account-route .player-character-location strong{
    margin-top:1px !important;
    font-size:12px !important;
    line-height:1.15 !important;
}

body.account-route .player-character-location small{
    margin-top:1px !important;
    font-size:9.5px !important;
    line-height:1.15 !important;
}

/* Privacy mappa: una fascia molto più piccola */
body.account-route .character-location-privacy,
body.account-route .player-character-privacy,
body.account-route .location-privacy{
    margin-top:5px !important;
    padding:4px 6px !important;
    min-height:0 !important;
    border-radius:7px !important;
}

body.account-route .character-location-privacy span,
body.account-route .player-character-privacy span,
body.account-route .location-privacy span{
    font-size:8.5px !important;
    line-height:1.15 !important;
}

/* Qualunque form privacy dentro la colonna mappa resta compatto */
body.account-route .player-character-location form{
    margin-top:5px !important;
}

body.account-route .player-character-location form .btn,
body.account-route .player-character-location button{
    min-height:26px !important;
    padding:4px 7px !important;
    font-size:9px !important;
    line-height:1.1 !important;
    border-radius:7px !important;
    white-space:normal !important;
}

/* Azione Sblocca / Lorencia */
body.account-route .player-character-recovery-form .btn,
body.account-route .player-character-disabled{
    min-height:32px !important;
    padding:6px 8px !important;
    font-size:10.5px !important;
    line-height:1.15 !important;
    border-radius:9px !important;
}

/* Riduce separazione verticale tra personaggi */
body.account-route .player-character-row + .player-character-row{
    margin-top:0 !important;
}

/* Tablet */
@media(max-width:1050px){
    body.account-route .player-character-row{
        grid-template-columns:160px minmax(300px,1fr) 145px !important;
        gap:9px !important;
        padding:8px 4px !important;
    }

    body.account-route .player-character-recovery-form,
    body.account-route .player-character-disabled{
        grid-column:2 / 4 !important;
    }

    body.account-route .player-character-stats{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    }
}

/* Mobile */
@media(max-width:720px){
    body.account-route .player-character-row{
        grid-template-columns:1fr !important;
        gap:7px !important;
        padding:10px 4px !important;
    }

    body.account-route .player-character-stats{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    }

    body.account-route .player-character-location{
        padding:7px 0 0 !important;
    }

    body.account-route .player-character-recovery-form,
    body.account-route .player-character-disabled{
        grid-column:auto !important;
    }
}


/* ==========================================================================
   EIMUGames - GESTIONE PERSONAGGI COMPATTA V2
   Layout lineare: IDENTITA | DATI + MAPPA | AZIONE
   ========================================================================== */

body.account-route .player-character-list{
    border-top:1px solid #283241 !important;
    border-bottom:1px solid #283241 !important;
}

/* 3 colonne vere; la mappa va sotto le statistiche, non in una colonna alta */
body.account-route .player-character-row{
    display:grid !important;
    grid-template-columns:165px minmax(0,1fr) 190px !important;
    grid-template-areas:
        "identity stats action"
        "identity location action" !important;
    column-gap:14px !important;
    row-gap:5px !important;
    align-items:center !important;

    min-height:76px !important;
    padding:9px 5px !important;
    margin:0 !important;

    background:transparent !important;
    border:0 !important;
    border-bottom:1px solid rgba(255,255,255,.065) !important;
    border-radius:0 !important;
    box-shadow:none !important;
}

body.account-route .player-character-row:nth-child(even){
    background:rgba(255,255,255,.012) !important;
}

body.account-route .player-character-row:last-child{
    border-bottom:0 !important;
}

/* Stato laterale sottile */
body.account-route .player-character-row::before{
    top:9px !important;
    bottom:9px !important;
    width:2px !important;
}

/* IDENTITA */
body.account-route .player-character-top{
    grid-area:identity !important;
    display:flex !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    gap:7px !important;
    margin:0 !important;
    padding-right:5px !important;
}

body.account-route .player-character-slot{
    font-size:9px !important;
    line-height:1 !important;
}

body.account-route .player-character-top h3{
    margin:4px 0 2px !important;
    font-size:17px !important;
    line-height:1.05 !important;
}

body.account-route .player-character-top p{
    margin:0 !important;
    font-size:11px !important;
    line-height:1.15 !important;
}

body.account-route .player-character-top .badge{
    flex:0 0 auto !important;
    margin-top:1px !important;
    padding:3px 5px !important;
    font-size:8px !important;
}

/* STAT: niente scatoloni, una fascia compatta */
body.account-route .player-character-stats{
    grid-area:stats !important;
    display:grid !important;
    grid-template-columns:repeat(6,minmax(0,1fr)) !important;
    gap:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:1px solid rgba(255,255,255,.055) !important;
    border-radius:8px !important;
    background:#080d13 !important;
    overflow:hidden !important;
}

body.account-route .player-character-stats div{
    min-height:40px !important;
    padding:5px 6px !important;
    margin:0 !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    text-align:center !important;

    background:transparent !important;
    border:0 !important;
    border-right:1px solid rgba(255,255,255,.055) !important;
    border-radius:0 !important;
}

body.account-route .player-character-stats div:last-child{
    border-right:0 !important;
}

body.account-route .player-character-stats span{
    font-size:8px !important;
    line-height:1 !important;
    color:#93a0b0 !important;
}

body.account-route .player-character-stats strong{
    margin-top:3px !important;
    font-size:11px !important;
    line-height:1.05 !important;
    color:#f1f4f8 !important;
    white-space:nowrap !important;
}

/* MAPPA + PRIVACY: tutta su una sola riga sotto le statistiche */
body.account-route .player-character-location{
    grid-area:location !important;
    display:flex !important;
    align-items:center !important;
    gap:8px !important;

    min-width:0 !important;
    margin:0 !important;
    padding:0 2px !important;

    border:0 !important;
    background:transparent !important;
}

body.account-route .player-character-location > span{
    display:none !important;
}

body.account-route .player-character-location > strong{
    margin:0 !important;
    font-size:11.5px !important;
    line-height:1.1 !important;
    color:#e8edf4 !important;
    white-space:nowrap !important;
}

body.account-route .player-character-location > strong::before{
    content:"Mappa: " !important;
    color:#8e9baa !important;
    font-size:9px !important;
    font-weight:600 !important;
}

body.account-route .player-character-location > small{
    margin:0 !important;
    font-size:9.5px !important;
    line-height:1.1 !important;
    color:#8997a8 !important;
    white-space:nowrap !important;
}

/* Stato privacy compatto inline */
body.account-route .player-map-privacy-state{
    display:inline-flex !important;
    align-items:center !important;
    gap:5px !important;
    margin:0 0 0 4px !important;
    padding:3px 6px !important;
    min-height:0 !important;

    border:1px solid rgba(255,255,255,.055) !important;
    border-radius:6px !important;
    background:#0a1017 !important;
}

body.account-route .player-map-privacy-state span{
    display:inline !important;
    margin:0 !important;
    font-size:8px !important;
    line-height:1 !important;
    color:#8f9bab !important;
}

body.account-route .player-map-privacy-state b{
    font-size:8px !important;
    line-height:1 !important;
}

body.account-route .player-map-privacy-state.is-visible b{
    color:#54df91 !important;
}

body.account-route .player-map-privacy-state.is-hidden b{
    color:#e9a95c !important;
}

/* Bottone privacy piccolo, sulla stessa riga */
body.account-route .player-map-privacy-form{
    display:inline-flex !important;
    margin:0 !important;
    padding:0 !important;
}

body.account-route .player-map-privacy-form .btn{
    min-height:24px !important;
    padding:3px 7px !important;
    margin:0 !important;

    border-radius:6px !important;
    font-size:8.5px !important;
    line-height:1.05 !important;
    white-space:nowrap !important;
}

/* AZIONE destra */
body.account-route .player-character-recovery-form,
body.account-route .player-character-disabled{
    grid-area:action !important;
    align-self:center !important;
    margin:0 !important;
}

body.account-route .player-character-recovery-form .btn,
body.account-route .player-character-disabled{
    width:100% !important;
    min-height:34px !important;
    padding:6px 8px !important;

    border-radius:9px !important;
    font-size:10.5px !important;
    line-height:1.15 !important;
    white-space:normal !important;
}

/* Tablet: azione sotto, ma mappa resta lineare */
@media(max-width:980px){
    body.account-route .player-character-row{
        grid-template-columns:155px minmax(0,1fr) !important;
        grid-template-areas:
            "identity stats"
            "identity location"
            "identity action" !important;
        row-gap:6px !important;
    }

    body.account-route .player-character-recovery-form,
    body.account-route .player-character-disabled{
        width:100% !important;
        max-width:260px !important;
    }

    body.account-route .player-character-stats{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    }

    body.account-route .player-character-stats div:nth-child(3){
        border-right:0 !important;
    }

    body.account-route .player-character-stats div:nth-child(-n+3){
        border-bottom:1px solid rgba(255,255,255,.055) !important;
    }
}

/* Mobile: pulito, non schiacciato */
@media(max-width:680px){
    body.account-route .player-character-row{
        grid-template-columns:1fr !important;
        grid-template-areas:
            "identity"
            "stats"
            "location"
            "action" !important;
        gap:7px !important;
        padding:10px 4px !important;
    }

    body.account-route .player-character-location{
        flex-wrap:wrap !important;
        gap:6px !important;
    }

    body.account-route .player-character-recovery-form,
    body.account-route .player-character-disabled{
        max-width:none !important;
    }
}


/* ==========================================================================
   EIMUGames - MIO ACCOUNT: STATO VIP
   ========================================================================== */
body.account-route .user-account-vip{
    position:relative !important;
    overflow:hidden !important;
}
body.account-route .user-account-vip::after{
    content:"";
    position:absolute;
    right:-18px;
    top:-18px;
    width:72px;
    height:72px;
    border-radius:50%;
    background:rgba(215,164,77,.06);
    pointer-events:none;
}
body.account-route .user-account-vip.is-active{
    border-color:rgba(215,164,77,.34) !important;
    background:linear-gradient(145deg,#0d1219,#11150f) !important;
}
body.account-route .user-account-vip.is-inactive{
    border-color:rgba(135,148,165,.16) !important;
}
body.account-route .user-account-vip > span{
    color:#c3ccd7 !important;
}
body.account-route .vip-account-value{
    color:#f0c56f !important;
}
body.account-route .vip-account-value.off{
    color:#919dac !important;
}
body.account-route .user-account-vip.tier-2 .vip-account-value{
    color:#d7e3ef !important;
}
body.account-route .user-account-vip.tier-3 .vip-account-value{
    color:#ffd47f !important;
    text-shadow:0 0 12px rgba(236,174,66,.16);
}
body.account-route .vip-account-meta{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:4px;
    margin-top:5px;
    color:#aeb8c5;
    font-size:10.5px;
    line-height:1.25;
}
body.account-route .vip-account-meta b{
    color:#919dac;
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.35px;
}
body.account-route .vip-account-meta em{
    color:#dce2e9;
    font-style:normal;
    font-weight:700;
}
body.account-route .vip-account-meta.off{
    display:block;
    color:#8e99a7;
    font-size:10px;
}


/* ==========================================================================
   EIMUGames - MIO ACCOUNT / GESTIONE ACCOUNT COMPATTA
   SOLO pannello account player. Gestione Personaggi NON modificata.
   ========================================================================== */

/* Sezione Gestione Account più raccolta */
body.account-route #security.account-tab-panel{
    max-width:980px !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

/* Titolo sezione */
body.account-route #security .account-section-heading{
    margin-bottom:10px !important;
}

body.account-route #security .account-section-heading h2{
    margin-bottom:2px !important;
}

body.account-route #security .account-section-heading p{
    margin:0 !important;
    max-width:780px !important;
    line-height:1.42 !important;
}

/* Due moduli affiancati e più bassi */
body.account-route #security .account-security-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
    align-items:stretch !important;
}

/* Card Cambio Email / Cambio Password */
body.account-route #security .account-security-card{
    min-height:0 !important;
    padding:12px 13px !important;
    border-radius:12px !important;
}

/* Testata modulo */
body.account-route #security .account-security-card-head{
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    margin-bottom:7px !important;
}

body.account-route #security .account-security-symbol{
    width:29px !important;
    height:29px !important;
    min-width:29px !important;
    border-radius:8px !important;
    font-size:13px !important;
}

body.account-route #security .account-security-card-head h3{
    margin:0 !important;
    font-size:16px !important;
    line-height:1.15 !important;
}

/* Email/account attuale */
body.account-route #security .account-current-value{
    padding:6px 8px !important;
    margin:0 0 7px !important;
    border-radius:7px !important;
}

body.account-route #security .account-current-value span{
    font-size:9.5px !important;
}

body.account-route #security .account-current-value strong{
    display:block !important;
    margin-top:1px !important;
    font-size:12px !important;
    line-height:1.2 !important;
}

/* Descrizione del modulo: leggibile ma non alta */
body.account-route #security .account-security-copy{
    min-height:0 !important;
    margin:0 0 7px !important;
    padding:7px 8px !important;
    font-size:12.5px !important;
    line-height:1.4 !important;
    border-radius:7px !important;
}

/* Sequenza sicurezza */
body.account-route #security .account-security-flow{
    margin:0 0 7px !important;
    padding:5px 7px !important;
    font-size:11px !important;
    line-height:1.3 !important;
    border-radius:7px !important;
    background:#080d13 !important;
    border:1px solid rgba(255,255,255,.045) !important;
}

/* Form più compatto */
body.account-route #security .account-security-card form{
    display:grid !important;
    gap:6px !important;
}

body.account-route #security .account-security-card label{
    display:grid !important;
    gap:3px !important;
    margin:0 !important;
    font-size:11.5px !important;
}

body.account-route #security .account-security-card input{
    min-height:32px !important;
    padding:6px 8px !important;
    font-size:12.5px !important;
    border-radius:7px !important;
}

body.account-route #security .account-security-card .btn{
    min-height:31px !important;
    padding:6px 9px !important;
    margin-top:1px !important;
    font-size:11.5px !important;
    border-radius:7px !important;
}

/* VIP / stato account: se presente nella zona profilo, più compatto */
body.account-route .account-vip-card,
body.account-route .user-account-vip,
body.account-route .vip-status-card{
    min-height:0 !important;
    padding:10px 12px !important;
    border-radius:11px !important;
}

body.account-route .account-vip-card h3,
body.account-route .user-account-vip h3,
body.account-route .vip-status-card h3{
    margin:0 0 5px !important;
    font-size:15px !important;
}

body.account-route .account-vip-card p,
body.account-route .user-account-vip p,
body.account-route .vip-status-card p{
    margin:2px 0 !important;
    font-size:11.5px !important;
    line-height:1.3 !important;
}

/* Evita che piccoli help facciano aumentare troppo la card */
body.account-route #security small,
body.account-route #security .muted{
    margin-top:2px !important;
    padding:4px 6px !important;
    font-size:11px !important;
    line-height:1.3 !important;
}

/* Tablet/mobile */
@media(max-width:780px){
    body.account-route #security .account-security-grid{
        grid-template-columns:1fr !important;
        gap:8px !important;
    }

    body.account-route #security.account-tab-panel{
        max-width:none !important;
    }
}


/* ==========================================================================
   EIMUGames - INFO ACCOUNT + VIP IN FASCIA COMPATTA
   Account / Email / Personaggi / Stato / VIP tutti sulla stessa riga.
   ========================================================================== */

body.account-route #profile.user-account-grid{
    display:grid !important;
    grid-template-columns:1.45fr repeat(4,minmax(0,1fr)) !important;
    gap:7px !important;
    margin:0 0 12px !important;
    align-items:stretch !important;
}

/* Tutti i box informativi molto più bassi */
body.account-route #profile .user-account-main,
body.account-route #profile .user-account-stat{
    min-height:72px !important;
    height:auto !important;
    margin:0 !important;
    padding:9px 10px !important;
    border-radius:10px !important;
    box-shadow:none !important;
}

/* Account principale */
body.account-route #profile .user-account-main{
    gap:9px !important;
    align-items:center !important;
}

body.account-route #profile .user-account-avatar{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    border-radius:10px !important;
    font-size:18px !important;
}

body.account-route #profile .user-account-main .eyebrow{
    font-size:8.5px !important;
    line-height:1 !important;
    letter-spacing:1px !important;
}

body.account-route #profile .user-account-main h2{
    margin:4px 0 1px !important;
    font-size:16px !important;
    line-height:1.05 !important;
}

body.account-route #profile .user-account-main p{
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    font-size:10px !important;
    line-height:1.15 !important;
}

/* Email / PG / Stato / VIP */
body.account-route #profile .user-account-stat{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    gap:2px !important;
}

body.account-route #profile .user-account-stat > span{
    margin:0 !important;
    font-size:8.5px !important;
    line-height:1 !important;
    letter-spacing:.65px !important;
}

body.account-route #profile .user-account-stat > strong{
    margin:4px 0 1px !important;
    font-size:13px !important;
    line-height:1.12 !important;
    overflow-wrap:anywhere !important;
}

body.account-route #profile .user-account-stat > small{
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    font-size:9.5px !important;
    line-height:1.15 !important;
}

/* VIP: niente grande cerchio decorativo e niente altezza extra */
body.account-route #profile .user-account-vip{
    min-width:0 !important;
    padding:9px 10px !important;
}

body.account-route #profile .user-account-vip::after{
    width:42px !important;
    height:42px !important;
    right:-13px !important;
    top:-13px !important;
    opacity:.55 !important;
}

body.account-route #profile .vip-account-value{
    margin:4px 0 1px !important;
    font-size:13px !important;
    line-height:1.05 !important;
}

body.account-route #profile .vip-account-meta{
    display:flex !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:2px 4px !important;
    margin-top:3px !important;
    font-size:8.5px !important;
    line-height:1.15 !important;
}

body.account-route #profile .vip-account-meta b{
    font-size:7.5px !important;
    letter-spacing:.2px !important;
}

body.account-route #profile .vip-account-meta em{
    font-size:8.5px !important;
}

body.account-route #profile .vip-account-meta.off{
    font-size:8.5px !important;
    line-height:1.15 !important;
}

/* Tablet: 3 sopra + 2 sotto, sempre compatti */
@media(max-width:980px){
    body.account-route #profile.user-account-grid{
        grid-template-columns:1.35fr 1fr 1fr !important;
    }

    body.account-route #profile .user-account-main,
    body.account-route #profile .user-account-stat{
        min-height:68px !important;
    }
}

/* Mobile: due colonne, account principale largo */
@media(max-width:680px){
    body.account-route #profile.user-account-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:6px !important;
    }

    body.account-route #profile .user-account-main{
        grid-column:1 / -1 !important;
    }

    body.account-route #profile .user-account-main,
    body.account-route #profile .user-account-stat{
        min-height:64px !important;
        padding:8px 9px !important;
    }
}


/* ==========================================================================
   EIMUGames - DASHBOARD ADMIN GENERALE PIU' PICCOLA
   Solo route /admin. Le pagine interne Admin restano invariate.
   ========================================================================== */

body.admin-dashboard-route main{
    width:min(940px, calc(100% - 34px)) !important;
    margin-top:24px !important;
    margin-bottom:46px !important;
}

/* Testata Dashboard più bassa */
body.admin-dashboard-route .pagehead{
    min-height:0 !important;
    margin:3px 0 10px !important;
    padding:11px 14px !important;
    border-radius:12px !important;
}

body.admin-dashboard-route .pagehead .eyebrow{
    font-size:9.5px !important;
}

body.admin-dashboard-route .pagehead h1{
    margin:3px 0 !important;
    font-size:27px !important;
    line-height:1 !important;
}

body.admin-dashboard-route .pagehead .btn{
    min-height:30px !important;
    padding:6px 10px !important;
    font-size:11px !important;
}

/* Online / Account / Personaggi / Guild: fascia bassa */
body.admin-dashboard-route .stats{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:7px !important;
    margin:9px 0 !important;
}

body.admin-dashboard-route .stat{
    min-height:58px !important;
    padding:8px 11px !important;
    border-radius:10px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:8px !important;
}

body.admin-dashboard-route .stat b{
    margin:0 !important;
    font-size:20px !important;
    line-height:1 !important;
}

body.admin-dashboard-route .stat span{
    font-size:9px !important;
    line-height:1 !important;
    text-align:right !important;
}

/* Stato collegamenti compatto e lineare */
body.admin-dashboard-route main > .panel{
    margin:9px 0 !important;
    padding:10px 12px !important;
    border-radius:11px !important;
}

body.admin-dashboard-route main > .panel h2{
    margin:0 0 7px !important;
    font-size:14px !important;
}

body.admin-dashboard-route .health{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:6px !important;
}

body.admin-dashboard-route .health > div{
    display:grid !important;
    grid-template-columns:12px auto !important;
    grid-template-areas:
        "dot label"
        ". value" !important;
    align-items:center !important;
    column-gap:6px !important;
    row-gap:1px !important;
    min-width:0 !important;
    padding:6px 7px !important;
    border:1px solid rgba(255,255,255,.045) !important;
    border-radius:8px !important;
    background:#080d13 !important;
    font-size:10.5px !important;
}

body.admin-dashboard-route .health .dot{
    grid-area:dot !important;
    width:8px !important;
    height:8px !important;
}

body.admin-dashboard-route .health > div > small{
    grid-area:value !important;
    min-width:0 !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    background:transparent !important;
    font-size:8.5px !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}

/* Le 3 sezioni principali diventano moduli piccoli affiancati */
body.admin-dashboard-route .admin-main-sections{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:8px !important;
    margin-top:9px !important;
}

body.admin-dashboard-route .admin-main-section{
    min-height:92px !important;
    grid-template-columns:34px minmax(0,1fr) auto !important;
    gap:8px !important;
    padding:10px 11px !important;
    border-radius:11px !important;
}

body.admin-dashboard-route .admin-main-section:hover{
    transform:translateY(-1px) !important;
}

body.admin-dashboard-route .admin-main-number{
    width:32px !important;
    height:32px !important;
    border-radius:8px !important;
    font-size:9px !important;
}

body.admin-dashboard-route .admin-main-kicker{
    font-size:7.5px !important;
    letter-spacing:.9px !important;
}

body.admin-dashboard-route .admin-main-section h2{
    margin:2px 0 3px !important;
    font-size:14px !important;
    line-height:1.12 !important;
}

body.admin-dashboard-route .admin-main-section p{
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    font-size:10px !important;
    line-height:1.25 !important;
}

body.admin-dashboard-route .admin-main-arrow{
    font-size:17px !important;
}

/* Tablet */
@media(max-width:820px){
    body.admin-dashboard-route main{
        width:min(100% - 22px, 940px) !important;
    }

    body.admin-dashboard-route .admin-main-sections{
        grid-template-columns:1fr !important;
    }

    body.admin-dashboard-route .admin-main-section{
        min-height:70px !important;
    }

    body.admin-dashboard-route .health{
        grid-template-columns:1fr !important;
    }
}

/* Mobile */
@media(max-width:560px){
    body.admin-dashboard-route .stats{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    body.admin-dashboard-route .stat{
        min-height:52px !important;
    }
}


/* ==========================================================================
   EIMUGames - ADMIN COMPLETO COMPATTO
   Stesso stile della Dashboard compatta su TUTTO il pannello Admin.
   Si compatta la STRUTTURA, non la leggibilità.
   ========================================================================== */

/* --------------------------------------------------------------------------
   BASE PAGINE INTERNE ADMIN
   -------------------------------------------------------------------------- */
body.admin-route:not(.admin-dashboard-route) main{
    width:min(1000px, calc(100% - 30px)) !important;
    margin-top:22px !important;
    margin-bottom:44px !important;
}

body.admin-route:not(.admin-dashboard-route) .pagehead{
    margin:3px 0 10px !important;
    padding:11px 14px !important;
    min-height:0 !important;
    border-radius:12px !important;
}

body.admin-route:not(.admin-dashboard-route) .pagehead h1{
    margin:3px 0 2px !important;
    font-size:28px !important;
    line-height:1.05 !important;
}

body.admin-route:not(.admin-dashboard-route) .pagehead h2{
    margin:2px 0 !important;
    font-size:20px !important;
}

body.admin-route:not(.admin-dashboard-route) .pagehead .eyebrow{
    font-size:9.5px !important;
    letter-spacing:1.1px !important;
}

body.admin-route:not(.admin-dashboard-route) .pagehead p,
body.admin-route:not(.admin-dashboard-route) .pagehead .muted{
    margin:3px 0 0 !important;
    font-size:12.5px !important;
    line-height:1.35 !important;
}

body.admin-route:not(.admin-dashboard-route) .pagehead .btn{
    min-height:30px !important;
    padding:6px 10px !important;
    font-size:11px !important;
}

/* Pannelli */
body.admin-route:not(.admin-dashboard-route) .panel{
    margin:8px 0 !important;
    padding:11px 12px !important;
    border-radius:11px !important;
}

body.admin-route:not(.admin-dashboard-route) .panel.tablewrap{
    padding:0 !important;
}

/* Form e campi */
body.admin-route:not(.admin-dashboard-route) .form{
    gap:8px !important;
}

body.admin-route:not(.admin-dashboard-route) label{
    gap:3px !important;
}

body.admin-route:not(.admin-dashboard-route) input,
body.admin-route:not(.admin-dashboard-route) select,
body.admin-route:not(.admin-dashboard-route) textarea{
    min-height:32px !important;
    padding:6px 8px !important;
    font-size:12.5px !important;
    border-radius:7px !important;
}

body.admin-route:not(.admin-dashboard-route) textarea{
    min-height:100px !important;
}

body.admin-route:not(.admin-dashboard-route) .btn{
    min-height:30px !important;
    padding:6px 10px !important;
    font-size:11.5px !important;
    border-radius:7px !important;
}

body.admin-route:not(.admin-dashboard-route) .btn.tiny{
    min-height:25px !important;
    padding:4px 7px !important;
    font-size:10px !important;
}

/* Ricerca */
body.admin-route:not(.admin-dashboard-route) .search{
    margin:7px 0 !important;
    gap:6px !important;
}

body.admin-route:not(.admin-dashboard-route) .search input{
    min-height:32px !important;
}

/* --------------------------------------------------------------------------
   GESTIONE SITO / ACCOUNT & PERSONAGGI
   -------------------------------------------------------------------------- */
body.admin-route .admin-category-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:7px !important;
}

body.admin-route .admin-category-card{
    min-height:86px !important;
    grid-template-columns:34px minmax(0,1fr) auto !important;
    gap:8px !important;
    padding:10px 11px !important;
    border-radius:11px !important;
}

body.admin-route .admin-category-icon{
    width:32px !important;
    height:32px !important;
    border-radius:8px !important;
    font-size:8.5px !important;
}

body.admin-route .admin-category-card small{
    font-size:8px !important;
    letter-spacing:.8px !important;
}

body.admin-route .admin-category-card h2{
    margin:2px 0 !important;
    font-size:14px !important;
    line-height:1.12 !important;
}

body.admin-route .admin-category-card p{
    margin:2px 0 0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    font-size:10.5px !important;
    line-height:1.25 !important;
}

body.admin-route .admin-category-state{
    min-width:34px !important;
    padding:4px 6px !important;
    font-size:8.5px !important;
}

body.admin-route .admin-category-arrow{
    font-size:15px !important;
}

/* --------------------------------------------------------------------------
   SWITCH / IMPOSTAZIONI
   -------------------------------------------------------------------------- */
body.admin-route .setting-switch-row{
    min-height:54px !important;
    padding:8px 10px !important;
    gap:8px !important;
    border-radius:9px !important;
}

body.admin-route .setting-switch-row strong{
    font-size:12.5px !important;
}

body.admin-route .setting-switch-row small{
    margin-top:2px !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    font-size:10.5px !important;
    line-height:1.25 !important;
}

/* Ranking: 2 colonne invece di lista lunghissima */
body.admin-route .ranking-admin-list{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:6px !important;
}

body.admin-route .ranking-admin-toolbar{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:6px !important;
    margin-bottom:7px !important;
}

body.admin-route .ranking-switch-row{
    margin:0 !important;
}

body.admin-route .ranking-status-label{
    font-size:8.5px !important;
    padding:4px 6px !important;
}

/* --------------------------------------------------------------------------
   REGISTRAZIONE / CASTLE / LIVE / MAINTENANCE / DISCORD
   -------------------------------------------------------------------------- */
body.admin-route .registration-admin-status,
body.admin-route .castle-admin-preview{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:6px !important;
    margin:8px 0 !important;
}

body.admin-route .registration-admin-status > div,
body.admin-route .castle-admin-preview > div{
    min-height:52px !important;
    padding:7px 9px !important;
    border-radius:9px !important;
}

body.admin-route .registration-admin-status span,
body.admin-route .castle-admin-preview span{
    font-size:8.5px !important;
}

body.admin-route .registration-admin-status b,
body.admin-route .castle-admin-preview b{
    margin-top:3px !important;
    font-size:11.5px !important;
}

/* Card specifiche Admin */
body.admin-route .registration-card,
body.admin-route .discord-admin-card,
body.admin-route .live-admin-card,
body.admin-route .maintenance-admin-card{
    border-radius:11px !important;
}

body.admin-route .discord-admin-fields,
body.admin-route .form-grid-two{
    gap:7px !important;
}

body.admin-route .discord-admin-preview{
    padding:9px !important;
    min-height:0 !important;
}

/* --------------------------------------------------------------------------
   NEWS
   -------------------------------------------------------------------------- */
body.admin-route .admin-news-layout{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(300px,.75fr) !important;
    gap:8px !important;
}

body.admin-route .admin-news-compose,
body.admin-route .admin-news-history{
    padding:10px !important;
    border-radius:10px !important;
}

body.admin-route .admin-news-entry{
    padding:8px !important;
    margin-bottom:6px !important;
    border-radius:8px !important;
}

body.admin-route .admin-news-entry h3{
    font-size:12.5px !important;
    margin:0 0 2px !important;
}

body.admin-route .admin-news-entry p{
    font-size:10.5px !important;
    line-height:1.3 !important;
}

/* --------------------------------------------------------------------------
   GALLERIA ADMIN
   -------------------------------------------------------------------------- */
body.admin-route .admin-gallery-layout{
    gap:8px !important;
}

body.admin-route .admin-gallery-controls,
body.admin-route .admin-gallery-library{
    padding:10px !important;
    border-radius:10px !important;
}

body.admin-route .admin-gallery-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:6px !important;
}

body.admin-route .admin-gallery-item{
    padding:5px !important;
    border-radius:8px !important;
}

body.admin-route .admin-gallery-thumb{
    aspect-ratio:16/10 !important;
    border-radius:6px !important;
}

body.admin-route .admin-gallery-meta{
    padding-top:4px !important;
    font-size:9px !important;
}

/* --------------------------------------------------------------------------
   VIP ADMIN
   -------------------------------------------------------------------------- */
body.admin-route .vip-admin-summary{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:6px !important;
}

body.admin-route .vip-summary-card{
    min-height:58px !important;
    padding:8px 9px !important;
    border-radius:9px !important;
}

body.admin-route .vip-summary-card span{
    font-size:8.5px !important;
}

body.admin-route .vip-summary-card strong{
    margin-top:3px !important;
    font-size:15px !important;
}

body.admin-route .vip-admin-settings{
    padding:10px !important;
}

body.admin-route .vip-admin-settings-head{
    margin-bottom:7px !important;
}

body.admin-route .vip-tier-editor-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:6px !important;
}

body.admin-route .vip-tier-editor{
    padding:8px !important;
    border-radius:8px !important;
}

body.admin-route .vip-tier-editor label{
    margin-top:5px !important;
}

body.admin-route .vip-settings-bottom{
    margin-top:7px !important;
    gap:7px !important;
}

body.admin-route .vip-admin-note{
    padding:9px 10px !important;
}

body.admin-route .vip-admin-note p{
    margin:3px 0 0 !important;
    font-size:10.5px !important;
    line-height:1.3 !important;
}

/* --------------------------------------------------------------------------
   TABELLE ADMIN
   -------------------------------------------------------------------------- */
body.admin-route .tablewrap{
    border-radius:10px !important;
}

body.admin-route th{
    padding:7px 8px !important;
    font-size:9.5px !important;
}

body.admin-route td{
    padding:7px 8px !important;
    font-size:11.5px !important;
    line-height:1.25 !important;
}

body.admin-route .smallinput{
    width:66px !important;
    min-width:66px !important;
}

body.admin-route .flaginput{
    width:96px !important;
    min-width:96px !important;
}

/* Gestione Account: mantiene layout senza scrollbar */
body.admin-route .admin-account-table td,
body.admin-route .admin-account-table th{
    padding:6px 6px !important;
}

body.admin-route .admin-account-actions{
    gap:4px !important;
}

body.admin-route .admin-account-save{
    gap:4px !important;
}

/* --------------------------------------------------------------------------
   DATA MANAGER / EDITOR FILE
   -------------------------------------------------------------------------- */
body.admin-route .ini-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:7px !important;
}

body.admin-route .ini-section{
    padding:8px !important;
    border-radius:8px !important;
}

body.admin-route .ini-section h3{
    margin:0 0 6px !important;
    font-size:11.5px !important;
}

body.admin-route .ini-section label{
    margin:4px 0 !important;
    font-size:10.5px !important;
}

body.admin-route .ini-section input{
    min-height:29px !important;
    padding:5px 6px !important;
    font-size:11px !important;
}

body.admin-route form.panel textarea[name="content"]{
    min-height:320px !important;
    font-family:Consolas, monospace !important;
    font-size:11.5px !important;
    line-height:1.35 !important;
}

/* --------------------------------------------------------------------------
   AZIONI / NOTE / STATUS
   -------------------------------------------------------------------------- */
body.admin-route .actions{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:6px !important;
    margin-top:7px !important;
}

body.admin-route .notice{
    margin:6px 0 !important;
    padding:7px 9px !important;
    font-size:11px !important;
    border-radius:8px !important;
}

body.admin-route .mini-label{
    font-size:8px !important;
}

/* --------------------------------------------------------------------------
   RESPONSIVE
   -------------------------------------------------------------------------- */
@media(max-width:900px){
    body.admin-route .admin-category-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    body.admin-route .ranking-admin-list{
        grid-template-columns:1fr !important;
    }

    body.admin-route .registration-admin-status,
    body.admin-route .castle-admin-preview,
    body.admin-route .vip-admin-summary{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    body.admin-route .vip-tier-editor-grid,
    body.admin-route .ini-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    body.admin-route .admin-news-layout{
        grid-template-columns:1fr !important;
    }

    body.admin-route .admin-gallery-grid{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    }
}

@media(max-width:620px){
    body.admin-route:not(.admin-dashboard-route) main{
        width:min(100% - 14px, 1000px) !important;
        margin-top:15px !important;
    }

    body.admin-route .admin-category-grid,
    body.admin-route .vip-tier-editor-grid,
    body.admin-route .ini-grid{
        grid-template-columns:1fr !important;
    }

    body.admin-route .admin-gallery-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    body.admin-route .registration-admin-status,
    body.admin-route .castle-admin-preview,
    body.admin-route .vip-admin-summary{
        grid-template-columns:1fr 1fr !important;
    }
}

/* ========================================================================== 
   MuOnlineItalia - SIDE CHARACTER ART
   Decorative DW on the left + BK on the right.
   Images stay outside the content column and fade into the site background.
   ========================================================================== */
.site-side-art{
    position:fixed;
    top:84px;
    bottom:0;
    width:min(27vw,520px);
    pointer-events:none;
    user-select:none;
    z-index:0;
    overflow:visible;
    opacity:.88;
    display:flex;
    align-items:center;
    will-change:transform;
    -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 10%,#000 82%,transparent 100%);
    mask-image:linear-gradient(to bottom,transparent 0%,#000 10%,#000 82%,transparent 100%);
}
.site-side-art img{
    display:block;
    width:100%;
    height:auto;
    object-fit:contain;
    filter:drop-shadow(0 22px 42px rgba(0,0,0,.58));
}
.site-side-art-left{
    left:0;
    justify-content:flex-start;
    transform:translateX(-4%);
}
.site-side-art-left img{
    max-width:470px;
    -webkit-mask-image:linear-gradient(to right,#000 0%,#000 56%,rgba(0,0,0,.90) 70%,rgba(0,0,0,.35) 87%,transparent 100%);
    mask-image:linear-gradient(to right,#000 0%,#000 56%,rgba(0,0,0,.90) 70%,rgba(0,0,0,.35) 87%,transparent 100%);
    filter:
        drop-shadow(0 22px 42px rgba(0,0,0,.62))
        drop-shadow(0 0 24px rgba(73,143,255,.16));
}
.site-side-art-right{
    right:0;
    justify-content:flex-end;
    transform:translateX(6%);
}
.site-side-art-right img{
    max-width:650px;
    -webkit-mask-image:linear-gradient(to left,#000 0%,#000 56%,rgba(0,0,0,.90) 70%,rgba(0,0,0,.35) 87%,transparent 100%);
    mask-image:linear-gradient(to left,#000 0%,#000 56%,rgba(0,0,0,.90) 70%,rgba(0,0,0,.35) 87%,transparent 100%);
    filter:
        drop-shadow(0 24px 50px rgba(0,0,0,.68))
        drop-shadow(0 0 30px rgba(38,170,255,.18));
}

/* Keep every public module above the artwork while the transparent margins
   still reveal the two characters. */
body:not(.admin-route) > header,
body:not(.admin-route) > main,
body:not(.admin-route) > footer{
    position:relative;
    z-index:2;
}

/* On medium screens there is not enough lateral room: keep only a subtle
   portion of the characters behind the outer edge of the modules. */
@media (max-width:1599px){
    .site-side-art{width:360px;opacity:.55}
    .site-side-art-left{transform:translateX(-40%)}
    .site-side-art-right{transform:translateX(42%)}
}

/* Phone/tablet layout remains clean and unchanged. */
@media (max-width:1240px){
    .site-side-art{display:none!important}
}

@media (prefers-reduced-motion:reduce){
    .site-side-art{will-change:auto}
}


/* EIMUGames - SIDE CHARACTER ART - CLOSER TO MODULES
   DW/BK moved slightly inward so the faded edge gently touches the content modules. */

/* ========================================================================== 
   EIMUGames - SIDE CHARACTER ART - INWARD POSITION V2
   Solo posizione: avvicina DW e BK al bordo dei moduli.
   Nessuna modifica alle immagini, alle dimensioni o alla sfumatura.
   ========================================================================== */
@media (min-width:1600px){
    .site-side-art-left{
        transform:translateX(9%);
    }
    .site-side-art-right{
        transform:translateX(-8%);
    }
}

/* Anche sui desktop meno larghi li lasciamo un po' piu' vicini al contenuto. */
@media (min-width:1241px) and (max-width:1599px){
    .site-side-art-left{
        transform:translateX(-25%);
    }
    .site-side-art-right{
        transform:translateX(27%);
    }
}

/* ========================================================================== 
   MuOnlineItalia - RESPONSIVE UNIVERSALE SMARTPHONE / TABLET
   Desktop invariato. Questo blocco finale corregge overflow, touch target,
   header, hero, moduli, form, tabelle e footer sui viewport più piccoli.
   ========================================================================== */

/* Base fluida e protezione dagli overflow accidentali */
html,
body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
}

img,
picture,
video,
canvas,
svg{
    max-width:100%;
}

main,
header,
footer,
.panel,
.card,
.pagehead,
.tablewrap,
.form,
.grid2,
.cards,
.stats,
.ini-grid{
    min-width:0;
}

.tablewrap{
    max-width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-inline:contain;
}

input,
select,
textarea,
button,
.btn{
    max-width:100%;
}

/* Migliore utilizzo dello spazio su notebook e tablet orizzontali */
@media(max-width:1240px){
    main{
        width:min(100% - 28px,1180px) !important;
    }

    header,
    footer{
        padding-left:max(14px,env(safe-area-inset-left)) !important;
        padding-right:max(14px,env(safe-area-inset-right)) !important;
    }

    .panel,
    .card{
        min-width:0;
    }
}

/* Tablet: navigazione sempre accessibile e moduli più fluidi */
@media(max-width:1024px){
    header{
        padding-top:7px !important;
        padding-bottom:7px !important;
    }

    header .header-right{
        min-width:0 !important;
    }

    header nav{
        min-width:0 !important;
        max-width:100% !important;
        overflow-x:auto !important;
        overflow-y:hidden !important;
        flex-wrap:nowrap !important;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
        scroll-snap-type:x proximity;
    }

    header nav::-webkit-scrollbar{
        display:none;
    }

    header nav a{
        display:inline-flex !important;
        flex:0 0 auto !important;
        align-items:center;
        min-height:36px;
        padding:0 5px;
        scroll-snap-align:start;
    }

    .actions,
    .inline,
    .search,
    .pagehead{
        min-width:0;
    }

    .pagehead{
        gap:14px !important;
    }

    .panel{
        padding:20px;
    }

    .card{
        padding:20px;
    }

    .health > div{
        min-width:0;
    }

    .health small,
    .home-news-feature-card,
    .home-rss-mini,
    .home-gallery-preview-card{
        min-width:0;
    }
}

/* Tablet verticale / telefoni grandi */
@media(max-width:820px){
    main{
        width:min(100% - 24px,1180px) !important;
        margin-top:22px !important;
        margin-bottom:48px !important;
    }

    header{
        width:100%;
        min-height:54px !important;
        height:auto !important;
        gap:6px 10px !important;
    }

    header .brand{
        flex:0 0 auto;
        min-width:0;
    }

    header .header-right{
        flex:1 1 auto !important;
        min-width:0 !important;
    }

    header nav{
        gap:8px !important;
        font-size:11px !important;
    }

    .lang-switch{
        flex:0 0 90px !important;
        width:90px !important;
    }

    .hero-v27{
        min-height:580px !important;
        border-radius:22px !important;
    }

    .hero-v27-copy{
        width:100% !important;
        min-height:275px !important;
        padding:28px 26px 12px !important;
    }

    .hero-v27-copy h1{
        font-size:clamp(40px,8vw,52px) !important;
        letter-spacing:-2px !important;
    }

    .hero-v27-copy p{
        max-width:100% !important;
        font-size:14px !important;
    }

    .hero-v27-media{
        width:min(104vw,720px) !important;
        max-width:none !important;
        right:50% !important;
        bottom:-2px !important;
        transform:translateX(50%) !important;
    }

    .server-strip{
        margin:-18px 8px 24px !important;
    }

    .grid2,
    .gens-overview,
    .gens-rank-grid,
    .admin-gallery-layout,
    .account-security-grid{
        grid-template-columns:1fr !important;
    }

    .pagehead{
        flex-wrap:wrap;
    }

    .pagehead h1{
        font-size:clamp(29px,6vw,38px) !important;
        line-height:1.04 !important;
    }

    .rank-tabs{
        max-width:100%;
        overflow-x:auto;
        flex-wrap:nowrap !important;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
    }

    .rank-tabs::-webkit-scrollbar{
        display:none;
    }

    .rank-tabs a{
        flex:0 0 auto;
        white-space:nowrap;
    }

    footer{
        padding-top:20px !important;
        padding-bottom:max(20px,env(safe-area-inset-bottom)) !important;
    }
}

/* Smartphone */
@media(max-width:620px){
    main{
        width:min(100% - 18px,1180px) !important;
        margin-top:16px !important;
        margin-bottom:36px !important;
    }

    header{
        padding-top:6px !important;
        padding-bottom:6px !important;
        padding-left:max(9px,env(safe-area-inset-left)) !important;
        padding-right:max(9px,env(safe-area-inset-right)) !important;
        flex-wrap:wrap !important;
    }

    header .brand{
        min-height:34px;
        gap:8px;
    }

    header .brand > span:last-child{
        font-size:13px;
        line-height:1.1;
    }

    header .brand small{
        display:none !important;
    }

    header .mark{
        width:29px !important;
        height:29px !important;
        border-radius:8px !important;
    }

    header .header-right{
        width:100% !important;
        flex:0 0 100% !important;
        display:grid !important;
        grid-template-columns:minmax(0,1fr) auto !important;
        gap:7px !important;
        align-items:center !important;
    }

    header nav{
        width:100% !important;
        justify-content:flex-start !important;
        gap:5px !important;
        font-size:10.5px !important;
        padding-bottom:1px;
    }

    /* Le vecchie regole nascondevano alcune voci: su mobile ora restano tutte
       disponibili tramite scorrimento orizzontale touch. */
    header nav a,
    header nav a:nth-child(2),
    header nav a:nth-child(3){
        display:inline-flex !important;
        min-height:34px;
        padding:0 6px !important;
    }

    .lang-switch{
        flex:none !important;
        width:82px !important;
        min-width:82px !important;
        height:31px !important;
        margin-left:0 !important;
    }

    .lang-switch a{
        width:38px !important;
        height:24px !important;
        padding:0 3px !important;
        font-size:10px !important;
    }

    .lang-switch .flag{
        width:15px !important;
        height:15px !important;
        font-size:12px;
    }

    .panel,
    .card,
    .pagehead,
    .home-rss-mini,
    .home-news-feature-card,
    .gens-family{
        border-radius:13px !important;
    }

    .panel,
    .card{
        padding:15px !important;
    }

    .pagehead{
        flex-direction:column !important;
        align-items:flex-start !important;
        padding:15px !important;
        gap:7px !important;
        margin-bottom:14px !important;
    }

    .pagehead h1{
        width:100%;
        margin:2px 0 !important;
        font-size:30px !important;
        letter-spacing:-1px !important;
        overflow-wrap:anywhere;
    }

    .hero-v27{
        min-height:545px !important;
        border-radius:18px !important;
    }

    .hero-v27-copy{
        min-height:255px !important;
        padding:24px 18px 10px !important;
    }

    .hero-v27-copy h1{
        font-size:clamp(36px,10.5vw,44px) !important;
        line-height:.98 !important;
        letter-spacing:-1.6px !important;
    }

    .hero-v27-copy p{
        font-size:13.5px !important;
        line-height:1.5 !important;
    }

    .hero-v27-copy .actions{
        display:flex !important;
        flex-wrap:wrap !important;
        gap:8px !important;
        margin-top:13px !important;
    }

    .hero-v27-copy .actions .btn{
        flex:1 1 150px;
    }

    .hero-v27-copy .hero-online{
        max-width:100%;
        white-space:normal;
    }

    .hero-v27-media{
        width:124vw !important;
        right:47% !important;
        bottom:0 !important;
    }

    .server-strip{
        margin:-14px 4px 20px !important;
        padding:7px !important;
        gap:7px !important;
        border-radius:14px !important;
        grid-template-columns:1fr 1fr !important;
    }

    .server-strip-title,
    .server-forum{
        grid-column:1/-1 !important;
    }

    .server-strip-title,
    .server-metric,
    .server-forum{
        min-width:0;
        min-height:74px !important;
        padding:11px !important;
        border-radius:11px !important;
    }

    .server-strip-title strong,
    .server-forum strong{
        font-size:17px !important;
        overflow-wrap:anywhere;
    }

    .server-metric b{
        font-size:21px !important;
    }

    .stats,
    .cards,
    .grid2,
    .ini-grid,
    .stats6,
    .quick-grid{
        grid-template-columns:1fr !important;
    }

    .home-news-carousel .home-news-feature-grid,
    .home-news-feature-grid{
        grid-template-columns:1fr !important;
        overflow:visible !important;
    }

    .home-news-nav{
        grid-template-columns:1fr auto 1fr !important;
        gap:5px !important;
        padding:5px !important;
    }

    .home-news-nav-btn{
        min-width:0;
        max-width:100%;
        padding:5px 7px !important;
    }

    .home-rss-mini-head,
    .home-news-feature-head,
    .home-section-head,
    .account-section-heading{
        flex-wrap:wrap;
        align-items:flex-start !important;
        gap:7px !important;
    }

    .home-rss-mini-head > a{
        white-space:normal !important;
    }

    .home-rss-mini-item h3,
    .home-rss-mini-item p{
        white-space:normal !important;
        overflow:visible !important;
        text-overflow:clip !important;
    }

    .actions,
    .inline,
    .search{
        flex-wrap:wrap !important;
    }

    .actions .btn{
        min-height:40px;
    }

    .search{
        flex-direction:column !important;
    }

    .search input,
    .search .btn,
    .inline input:not(.smallinput):not(.flaginput),
    .inline select{
        width:100% !important;
        max-width:100% !important;
    }

    .form{
        gap:13px !important;
    }

    input,
    select,
    textarea{
        font-size:16px !important; /* evita lo zoom automatico di iOS */
    }

    textarea{
        min-height:280px !important;
    }

    .health > div{
        grid-template-columns:14px minmax(78px,100px) minmax(0,1fr) !important;
        gap:6px;
    }

    .health small{
        white-space:normal;
        overflow-wrap:anywhere;
    }

    .tablewrap{
        margin-left:0 !important;
        margin-right:0 !important;
        border-radius:11px !important;
    }

    table{
        font-size:11px;
    }

    th,
    td{
        padding:9px 10px !important;
    }

    .gens-family{
        gap:12px !important;
    }

    .gens-family img{
        width:45px !important;
        height:64px !important;
    }

    .gens-family h2{
        font-size:21px !important;
    }

    .gallery-lightbox{
        padding-left:env(safe-area-inset-left);
        padding-right:env(safe-area-inset-right);
    }

    .site-footer-v261{
        padding-left:max(10px,env(safe-area-inset-left)) !important;
        padding-right:max(10px,env(safe-area-inset-right)) !important;
    }

    .footer-community,
    .site-footer-v261 .footerlinks,
    .site-footer-v261 .footer-copyright{
        max-width:100%;
        text-align:center !important;
        overflow-wrap:anywhere;
    }
}

/* Smartphone compatti: 360-480 px */
@media(max-width:480px){
    main{
        width:min(100% - 14px,1180px) !important;
    }

    .hero-v27{
        min-height:515px !important;
    }

    .hero-v27-copy{
        min-height:240px !important;
        padding:20px 14px 8px !important;
    }

    .hero-v27-copy h1{
        font-size:clamp(32px,10.8vw,39px) !important;
    }

    .hero-v27-copy p{
        font-size:13px !important;
    }

    .hero-v27-copy .actions .btn{
        flex:1 1 100% !important;
        width:100%;
    }

    .hero-v27-media{
        width:132vw !important;
        right:46% !important;
    }

    .server-strip{
        grid-template-columns:1fr 1fr !important;
        margin-top:-10px !important;
    }

    .server-strip-title,
    .server-forum{
        grid-column:1/-1 !important;
    }

    .home-gallery-preview-grid{
        grid-template-columns:1fr !important;
    }

    .home-gallery-preview-card{
        aspect-ratio:16/9;
    }

    .home-news-nav-btn{
        font-size:8.5px !important;
    }

    .home-news-page-status{
        min-width:46px !important;
        font-size:9px !important;
    }

    .panel,
    .card{
        padding:13px !important;
    }

    .pagehead h1{
        font-size:27px !important;
    }

    .rank-tabs a{
        padding:7px 10px !important;
        font-size:11px !important;
    }

    .footerlinks{
        gap:6px !important;
    }
}

/* Telefoni molto stretti (320/360 px) */
@media(max-width:380px){
    header .brand > span:last-child{
        font-size:12px;
    }

    .lang-switch{
        width:76px !important;
        min-width:76px !important;
    }

    .lang-switch a{
        width:35px !important;
    }

    .hero-v27{
        min-height:490px !important;
    }

    .hero-v27-copy h1{
        font-size:31px !important;
    }

    .hero-v27-media{
        width:140vw !important;
        right:45% !important;
    }

    .server-strip{
        grid-template-columns:1fr !important;
    }

    .server-strip-title,
    .server-metric,
    .server-forum{
        grid-column:1/-1 !important;
        min-height:65px !important;
    }

    .home-news-nav{
        grid-template-columns:1fr 1fr !important;
    }

    .home-news-page-status{
        grid-column:1/-1;
        grid-row:1;
    }

    .home-news-nav-btn:first-child{
        grid-column:1;
    }

    .home-news-nav-btn:last-child{
        grid-column:2;
    }
}

/* Smartphone in orizzontale: evita hero inutilmente altissima */
@media(max-width:900px) and (max-height:520px) and (orientation:landscape){
    .hero-v27{
        min-height:410px !important;
    }

    .hero-v27-copy{
        width:57% !important;
        min-height:410px !important;
        padding:22px 16px 20px !important;
    }

    .hero-v27-copy h1{
        font-size:36px !important;
    }

    .hero-v27-copy p{
        font-size:12.5px !important;
    }

    .hero-v27-media{
        top:50% !important;
        bottom:auto !important;
        right:-10% !important;
        width:68vw !important;
        transform:translateY(-50%) !important;
    }

    .server-strip{
        margin:-14px 8px 20px !important;
    }
}

/* Target touch sufficientemente grandi senza alterare il desktop mouse */
@media(pointer:coarse){
    .btn,
    button,
    header nav a,
    .rank-tabs a,
    .lang-switch a{
        min-height:40px;
    }
}

/* ========================================================================== 
   MuOnlineItalia - MOBILE HOME LOGO CENTER FIX
   Centra esclusivamente il logo principale della hero su smartphone.
   Desktop/tablet grandi invariati.
   ========================================================================== */
@media(max-width:620px){
    .hero-v27-copy .hero-main-logo{
        width:min(100%,470px) !important;
        max-width:470px !important;
        margin:0 auto 12px auto !important;
        left:auto !important;
        right:auto !important;
        transform:none !important;
    }

    .hero-v27-copy .hero-main-logo img{
        display:block !important;
        margin-left:auto !important;
        margin-right:auto !important;
        object-position:center center !important;
    }
}

/* ========================================================================== 
   MuOnlineItalia - MOBILE HOME SECTION HEADER COMPACT FIX
   Solo CSS: rende compatto il titolo "Comunicazioni dello Staff" e la card
   Novita' su smartphone. Desktop e hero/logo restano invariati.
   ========================================================================== */
@media(max-width:620px){
    .home-news-feature-head{
        margin:16px 3px 9px !important;
        padding:0 !important;
        gap:5px !important;
    }

    .home-news-feature-head > div{
        width:100% !important;
        min-width:0 !important;
    }

    .home-news-feature-head > div > span{
        display:block;
        margin:0 0 3px !important;
        font-size:9px !important;
        line-height:1.2 !important;
        letter-spacing:1.55px !important;
    }

    .home-news-feature-head h2{
        width:100% !important;
        max-width:100% !important;
        margin:0 !important;
        font-size:clamp(23px,6.6vw,26px) !important;
        line-height:1.08 !important;
        letter-spacing:-.65px !important;
        white-space:normal !important;
        overflow-wrap:normal !important;
        word-break:normal !important;
    }

    .home-news-feature-empty{
        min-height:0 !important;
        margin:0 0 15px !important;
        padding:14px !important;
        gap:11px !important;
        border-radius:14px !important;
        align-items:center !important;
    }

    .home-news-feature-symbol{
        width:42px !important;
        height:42px !important;
        flex-basis:42px !important;
        border-radius:12px !important;
        font-size:17px !important;
    }

    .home-news-feature-empty .mini-label{
        font-size:8.5px !important;
        letter-spacing:1.4px !important;
    }

    .home-news-feature-empty h3{
        margin:2px 0 3px !important;
        font-size:14px !important;
        line-height:1.3 !important;
    }

    .home-news-feature-empty p{
        font-size:10.5px !important;
        line-height:1.4 !important;
    }
}

@media(max-width:380px){
    .home-news-feature-head h2{
        font-size:22px !important;
        letter-spacing:-.5px !important;
    }
}


/* ==========================================================================
   MuOnlineItalia - NOTA RESPONSIVE NEL FOOTER
   ========================================================================== */
.footer-responsive-note{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin-top:14px;
    padding-top:12px;
    border-top:1px solid rgba(255,255,255,.06);
    color:rgba(214,222,235,.62);
    font-size:11px;
    line-height:1.4;
    letter-spacing:.04em;
    text-align:center;
}

.footer-responsive-dot{
    width:6px;
    height:6px;
    flex:0 0 6px;
    border-radius:50%;
    background:#d9a24e;
    box-shadow:0 0 10px rgba(217,162,78,.45);
}

@media(max-width:620px){
    .footer-responsive-note{
        max-width:310px;
        margin:11px auto 0;
        padding-top:10px;
        gap:7px;
        font-size:10px;
        letter-spacing:.025em;
    }
}

/* ========================================================================== 
   MuOnlineItalia - TRADUZIONE AUTOMATICA ITA -> ENG (Admin)
   ========================================================================== */
.news-language-compose-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:14px;
    align-items:start;
}

.news-language-compose-panel{
    display:grid;
    gap:12px;
    min-width:0;
    padding:15px;
    border:1px solid rgba(255,255,255,.075);
    border-radius:14px;
    background:rgba(255,255,255,.018);
}

.news-language-compose-panel.is-english{
    background:rgba(217,162,78,.025);
    border-color:rgba(217,162,78,.16);
}

.translation-inline-switch{
    margin-top:14px;
}

.opening-translation-box{
    display:grid;
    gap:10px;
    margin:16px 0;
    padding:14px;
    border:1px solid rgba(217,162,78,.2);
    border-radius:14px;
    background:linear-gradient(180deg,rgba(217,162,78,.045),rgba(255,255,255,.012));
}

.translation-force-row{
    display:flex;
    align-items:flex-start;
    gap:10px;
    padding:10px 12px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:11px;
    background:rgba(0,0,0,.12);
    cursor:pointer;
}

.translation-force-row > input{
    margin-top:3px;
}

.translation-force-row > span{
    display:grid;
    gap:3px;
}

.translation-force-row small,
.translation-inline-switch small{
    line-height:1.45;
}

.translation-protected-fields,
.translation-last-run{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:6px 9px;
    padding:9px 11px;
    border-radius:10px;
    background:rgba(255,255,255,.025);
    font-size:11px;
}

.translation-protected-fields > span,
.translation-last-run > span,
.translation-last-run > small{
    color:var(--muted);
}

.translation-provider-grid{
    margin-top:14px;
}

.translation-clear-key{
    display:flex;
    align-items:center;
    gap:9px;
    width:max-content;
    max-width:100%;
    margin:4px 0 12px;
    font-size:12px;
    cursor:pointer;
}

.translation-test-form{
    margin-top:14px;
}

.admin-news-bilingual-preview{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:10px;
    margin-top:10px;
}

.admin-news-bilingual-preview > div{
    min-width:0;
    padding:10px 11px;
    border-radius:10px;
    background:rgba(255,255,255,.025);
}

.admin-news-bilingual-preview > div > span{
    display:block;
    margin-bottom:5px;
    color:var(--accent);
    font-size:9px;
    font-weight:800;
    letter-spacing:1.2px;
}

.admin-news-bilingual-preview > div > strong{
    display:block;
    margin-bottom:5px;
    font-size:12px;
}

.admin-news-bilingual-preview > div.missing{
    opacity:.62;
}

.admin-news-bilingual-preview p{
    margin:0;
}

@media(max-width:900px){
    .news-language-compose-grid,
    .admin-news-bilingual-preview{
        grid-template-columns:1fr;
    }
}

@media(max-width:620px){
    .news-language-compose-panel,
    .opening-translation-box{
        padding:11px;
        border-radius:12px;
    }

    .translation-force-row{
        padding:9px 10px;
    }

    .translation-protected-fields,
    .translation-last-run{
        align-items:flex-start;
        flex-direction:column;
    }
}


/* ========================================================================== 
   EIMUGames S16 - GENS HOVER + FUMETTO
   Desktop: hover / tastiera. Mobile: tap (focus).
   ========================================================================== */
.gens-family{
    cursor:pointer;
    isolation:isolate;
    transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
    outline:none;
}
.gens-family:hover,
.gens-family:focus{
    transform:translateY(-3px) scale(1.025);
    box-shadow:0 18px 42px rgba(0,0,0,.36);
    z-index:8;
}
.gens-family.duprian:hover,
.gens-family.duprian:focus{
    border-color:rgba(220,87,103,.68)!important;
}
.gens-family.vanert:hover,
.gens-family.vanert:focus{
    border-color:rgba(82,210,135,.62)!important;
}
.gens-family img.gens-character{
    transform-origin:center bottom;
    transition:transform .22s ease, filter .22s ease;
}
.gens-family:hover img.gens-character,
.gens-family:focus img.gens-character{
    transform:scale(1.075);
}
.gens-family.duprian:hover img.gens-character,
.gens-family.duprian:focus img.gens-character{
    filter:drop-shadow(0 10px 18px rgba(0,0,0,.56)) drop-shadow(0 0 20px rgba(220,78,94,.24));
}
.gens-family.vanert:hover img.gens-character,
.gens-family.vanert:focus img.gens-character{
    filter:drop-shadow(0 10px 18px rgba(0,0,0,.56)) drop-shadow(0 0 20px rgba(75,205,129,.22));
}
.gens-speech{
    position:absolute;
    left:228px;
    top:10px;
    width:max-content;
    max-width:230px;
    min-width:170px;
    padding:10px 14px;
    border-radius:13px;
    background:rgba(255,255,255,.98);
    color:#10141b;
    font-size:12px;
    font-weight:800;
    line-height:1.25;
    text-align:center;
    box-shadow:0 10px 26px rgba(0,0,0,.34);
    opacity:0;
    visibility:hidden;
    transform:translateY(8px) scale(.92);
    transform-origin:left top;
    transition:opacity .18s ease, transform .22s cubic-bezier(.2,.8,.2,1), visibility .18s ease;
    pointer-events:none;
    z-index:20;
}
.gens-speech::after{
    content:"";
    position:absolute;
    left:34px;
    bottom:-7px;
    width:14px;
    height:14px;
    background:inherit;
    transform:rotate(45deg);
    border-radius:2px;
}
.gens-family:hover .gens-speech,
.gens-family:focus .gens-speech{
    opacity:1;
    visibility:visible;
    transform:translateY(0) scale(1);
}
.gens-family.duprian .gens-speech{
    color:#c93d52;
    box-shadow:0 10px 28px rgba(0,0,0,.34),0 0 0 1px rgba(220,78,94,.30);
    background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(255,240,242,.98));
}
.gens-family.vanert .gens-speech{
    color:#2ea863;
    box-shadow:0 10px 28px rgba(0,0,0,.34),0 0 0 1px rgba(75,205,129,.28);
    background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(239,255,245,.98));
}

@media(max-width:560px){
    .gens-family:hover{
        transform:none;
    }
    .gens-family:focus{
        transform:translateY(-2px) scale(1.012);
    }
    .gens-family:hover img.gens-character{
        transform:none;
    }
    .gens-family:focus img.gens-character{
        transform:scale(1.055);
    }
    .gens-speech{
        left:116px;
        right:auto;
        top:8px;
        bottom:auto;
        min-width:0;
        max-width:150px;
        padding:8px 10px;
        font-size:11px;
        transform:translateY(8px) scale(.92);
        transform-origin:left top;
    }
    .gens-speech::after{
        left:18px;
        top:auto;
        bottom:-7px;
        transform:rotate(45deg);
    }
    .gens-family:hover .gens-speech,
    .gens-family:focus .gens-speech{
        transform:translateY(0) scale(1);
    }
}

@media(prefers-reduced-motion:reduce){
    .gens-family,
    .gens-family img.gens-character,
    .gens-speech{
        transition:none!important;
    }
}

/* ===== MuOnlineItalia V2.6 - READABILITY FIX ===== */
:root{
    --muted:#a9b5c5;
}
body{
    color:#f2f6fb;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

/* Testi secondari: piu chiari e leggibili */
.muted,
.form small,
label small,
.health small,
.card span,
.quick-stat span,
.home-gens-card p,
.home-section-head a,
.forum-feed-empty p,
.castle-owner-meta,
[class*="-meta"],
[class*="-desc"],
[class*="-subtitle"]{
    color:#aeb9c8;
}

/* Etichette piccole principali */
.brand small,
.eyebrow,
.stat span,
th,
.badge,
.ini-section label,
.hero-kicker,
.home-section-head span,
.mini-label,
.side-title span,
.quick-stat span,
.forum-card span,
.home-gens-card small,
.table-title span,
.setting-state,
.server-italia small{
    font-size:12px;
    line-height:1.45;
}

/* Contenuti e schede */
.card span,
.home-gens-card p,
.home-entry-card p,
.forum-feed-empty p,
.field-help{
    font-size:14px;
    line-height:1.6;
}

/* Tabelle */
th{
    color:#b8c4d3;
    font-weight:800;
}
td{
    color:#e9eef5;
    font-size:14px;
}

/* Navigazione e footer */
nav{
    color:#d2dae5;
}
footer{
    color:#aeb9c8;
    font-size:13px;
}

/* Migliore leggibilita su mobile */
@media(max-width:820px){
    body{font-size:15px}
    nav{font-size:13px}
    .brand small,
    .eyebrow,
    .stat span,
    th,
    .badge,
    .hero-kicker,
    .home-section-head span,
    .mini-label,
    .side-title span,
    .quick-stat span,
    .forum-card span,
    .home-gens-card small,
    .table-title span{
        font-size:11px;
    }
    td{font-size:13px}
}
