:root{--bg:#070b14;--panel:#101827;--panel2:#141f33;--line:#26344c;--text:#eef2ff;--muted:#94a3b8;--primary:#7c3aed;--primary2:#4f46e5;--gold:#f59e0b;--danger:#e11d48;--ok:#22c55e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 20% 0,#172554 0,transparent 28%),radial-gradient(circle at 80% 10%,#3b0764 0,transparent 24%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;min-height:100vh}a{color:#c4b5fd;text-decoration:none}button,input,select{font:inherit}.topbar{position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;align-items:center;padding:13px max(16px,calc((100vw - 1220px)/2));background:#070b14dd;backdrop-filter:blur(16px);border-bottom:1px solid #ffffff0d}.brand{font-weight:1000;letter-spacing:.06em}.brand em{font-size:.72rem;color:#fbbf24;font-style:normal}.topbar small{color:var(--muted)}.top-actions,.button-row,.world-actions{display:flex;gap:9px;align-items:center}.quick-nav{display:flex;gap:8px;overflow:auto;padding:10px max(12px,calc((100vw - 1220px)/2));background:#0b1020cc;border-bottom:1px solid #ffffff0b;position:sticky;top:65px;z-index:25;backdrop-filter:blur(14px)}.quick-nav a{white-space:nowrap;padding:8px 12px;border:1px solid #ffffff12;background:#ffffff08;border-radius:999px;color:#dbeafe;font-size:.9rem}.container{width:min(1220px,calc(100% - 28px));margin:18px auto 60px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat,.panel{background:linear-gradient(180deg,#111a2bdf,#0c1423e8);border:1px solid #ffffff12;box-shadow:0 20px 60px #0003}.stat{border-radius:18px;padding:16px}.stat span{display:block;color:var(--muted);font-weight:700;font-size:.9rem}.stat strong{display:block;font-size:1.7rem;margin-top:5px}.stat small{color:#64748b}.hero-grid{display:grid;grid-template-columns:1.6fr .8fr;gap:14px;margin-top:14px}.panel{border-radius:20px;padding:20px}.chest-panel{display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:center;overflow:hidden;position:relative}.chest-stage{position:relative;display:grid;place-items:center;min-height:230px}.chest-glow{position:absolute;width:170px;height:170px;border-radius:50%;background:#f59e0b33;filter:blur(28px);animation:pulse 2.6s infinite}.chest-visual{font-size:7rem;position:relative;filter:drop-shadow(0 12px 30px #f59e0b55);transition:.2s}.chest-visual.opening{animation:shake .12s infinite}.chest-visual.opened{animation:pop .55s both}@keyframes shake{0%{transform:rotate(-5deg) scale(1.02)}50%{transform:rotate(5deg) scale(.98)}100%{transform:rotate(-5deg) scale(1.02)}}@keyframes pop{0%{transform:scale(.7);opacity:.4}60%{transform:scale(1.22)}100%{transform:scale(1);opacity:1}}@keyframes pulse{50%{transform:scale(1.2);opacity:.55}}h1,h2,h3,p{margin-top:0}h1{font-size:2rem;margin-bottom:8px}.eyebrow{display:block;color:#a78bfa;font-size:.74rem;font-weight:1000;letter-spacing:.16em;margin-bottom:7px}.rates{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}.rates span,.rarity-pill{padding:5px 9px;border-radius:999px;border:1px solid currentColor;font-size:.78rem;font-weight:900;background:#ffffff08}.common{color:#cbd5e1}.rare{color:#60a5fa}.epic{color:#c084fc}.legendary{color:#fbbf24}.mythic{color:#fb7185;text-shadow:0 0 12px #fb718577}.btn{border:0;border-radius:12px;padding:11px 15px;font-weight:900;color:white;cursor:pointer;transition:.2s;display:inline-flex;justify-content:center;align-items:center;gap:8px}.btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.08)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:linear-gradient(135deg,var(--primary2),var(--primary))}.btn.gold{background:linear-gradient(135deg,#d97706,#f59e0b);color:#fff}.btn.danger{background:linear-gradient(135deg,#be123c,#f97316)}.btn.world-btn{background:linear-gradient(135deg,#0f766e,#2563eb)}.btn.ghost{background:#ffffff0b;border:1px solid #ffffff17}.btn.big{padding:14px 18px}.pity-wrap{margin:14px 0}.pity-label,.hp-label,.mission-foot{display:flex;justify-content:space-between;gap:10px;font-size:.84rem;color:var(--muted);margin-bottom:6px}.progress,.hpbar{height:10px;border-radius:999px;background:#ffffff0d;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,#7c3aed,#ec4899);border-radius:999px}.hpbar i{display:block;height:100%;background:linear-gradient(90deg,#ef4444,#f97316);border-radius:999px}.hpbar.world i{background:linear-gradient(90deg,#14b8a6,#3b82f6)}.multis{display:grid;gap:9px}.multis div,.rank-list div{display:flex;justify-content:space-between;padding:10px 12px;border-radius:12px;background:#ffffff08}.hint,.muted{color:var(--muted);font-size:.9rem}.section{margin-top:28px;scroll-margin-top:120px}.section-title{display:flex;justify-content:space-between;gap:14px;align-items:end;margin-bottom:12px}.section-title h2{margin-bottom:0}.section-title>span{color:var(--muted);font-size:.9rem}.boss-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.boss-card{text-align:center}.boss-icon{font-size:3.6rem;margin-bottom:6px}.boss-card p{color:var(--muted);margin:7px 0}.char-select,input,select,textarea{width:100%;background:#090f1c;color:var(--text);border:1px solid var(--line);border-radius:11px;padding:11px;outline:none}.char-select{margin:10px 0}.fight-btn,.claim-btn,.shop-btn{width:100%}.world-panel{display:grid;grid-template-columns:220px 1fr;gap:20px;align-items:center;background:radial-gradient(circle at 10% 50%,#0f766e33,transparent 35%),linear-gradient(180deg,#111a2b,#0c1423)}.world-visual{font-size:8rem;text-align:center;filter:drop-shadow(0 10px 30px #14b8a666)}.world-actions select{margin:0;flex:1}.world-actions .btn{min-width:220px}.mission-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.mission-card{display:flex;flex-direction:column}.mission-card p{color:var(--muted);min-height:42px}.mission-card.done{border-color:#22c55e66}.mission-card .progress{margin:6px 0 10px}.mission-foot{margin-top:auto}.shop-layout{display:grid;grid-template-columns:1fr 330px;gap:14px}.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.shop-card{display:flex;flex-direction:column;text-align:center}.shop-card p{color:var(--muted);min-height:42px}.shop-icon,.gift-big{font-size:3.5rem}.shop-card .price{font-size:1.2rem;color:#fbbf24;margin:5px 0}.shop-card small{color:var(--muted);margin-bottom:10px}.gift-box{text-align:center}.gift-form{display:grid;gap:9px}.rank-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.rank-list{display:grid;gap:7px}.rank-list span{color:#fbbf24}.inventory{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.char-card{display:flex;gap:14px;align-items:center;padding:16px;border-radius:18px;background:#0e1728;border:1px solid #ffffff12;border-left:4px solid currentColor}.char-card h3{margin:5px 0}.char-card p{margin:5px 0;color:var(--muted);font-size:.88rem}.char-icon{width:74px;height:74px;flex:none;display:grid;place-items:center;font-size:3rem;border-radius:16px;background:#ffffff09;overflow:hidden}.char-icon img{width:100%;height:100%;object-fit:cover}.table-wrap{overflow:auto;border:1px solid #ffffff12;border-radius:16px}table{width:100%;border-collapse:collapse;min-width:760px;background:#0e1728}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid #ffffff0d}th{font-size:.8rem;color:var(--muted);background:#ffffff07}.positive{color:#4ade80}.empty{grid-column:1/-1;text-align:center;color:#64748b;padding:28px;border:1px dashed #334155;border-radius:16px}.toast{position:fixed;right:18px;bottom:18px;z-index:80;background:#101827;border:1px solid #334155;border-radius:13px;padding:13px 16px;box-shadow:0 15px 50px #0008;opacity:0;pointer-events:none;transform:translateY(10px);transition:.25s;max-width:390px}.toast.show{opacity:1;transform:none}.toast.error{border-color:#ef4444}.modal{position:fixed;inset:0;z-index:70;display:grid;place-items:center;background:#000c;padding:18px}.modal.hidden{display:none}.modal-card{position:relative;width:min(450px,100%);padding:30px;text-align:center;border-radius:26px;background:linear-gradient(180deg,#19213a,#0f172a);border:1px solid #ffffff18;box-shadow:0 30px 90px #000;overflow:hidden}.modal-close{position:absolute;right:14px;top:10px;border:0;background:transparent;color:#94a3b8;font-size:2rem;cursor:pointer}.reward-icon{font-size:6rem;margin:6px;position:relative}.reward-fx{position:absolute;inset:0;background:radial-gradient(circle at 50% 32%,#fbbf2444,transparent 32%);pointer-events:none}.auth-bg{display:grid;place-items:center;padding:20px}.auth-card{width:min(440px,100%);padding:28px;background:#111827ed;border:1px solid #ffffff15;border-radius:22px;box-shadow:0 25px 90px #0008}.stack{display:grid;gap:11px}.center{text-align:center}.alert{padding:11px 13px;border-radius:10px;margin:12px 0}.alert.error{background:#7f1d1d66;color:#fecaca;border:1px solid #ef444455}.alert.success{background:#14532d66;color:#bbf7d0;border:1px solid #22c55e55}
/* Admin */.admin-wrap{width:min(1380px,calc(100% - 28px));margin:18px auto 60px}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.admin-tabs a{padding:9px 12px;border-radius:10px;background:#ffffff0a;border:1px solid #ffffff12}.admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.admin-card{padding:16px;border-radius:16px;background:#101827;border:1px solid #ffffff12}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.form-grid .wide{grid-column:span 2}.form-grid .full{grid-column:1/-1}.inline-form{display:flex;gap:7px;align-items:center}.inline-form input,.inline-form select{min-width:90px}.compact-table table{min-width:1000px}.danger-text{color:#fb7185}
@media(max-width:1050px){.boss-grid{grid-template-columns:repeat(2,1fr)}.mission-grid{grid-template-columns:repeat(2,1fr)}.shop-layout{grid-template-columns:1fr}.shop-grid{grid-template-columns:repeat(3,1fr)}.inventory{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.quick-nav{top:61px}.container{width:min(100% - 18px,1220px)}.stats{grid-template-columns:1fr 1fr;gap:8px}.stat{padding:13px}.stat strong{font-size:1.35rem}.hero-grid,.world-panel,.rank-grid{grid-template-columns:1fr}.chest-panel{grid-template-columns:1fr;text-align:center}.chest-stage{min-height:150px}.chest-visual{font-size:5.5rem}.rates,.button-row{justify-content:center}.button-row{flex-wrap:wrap}.boss-grid,.shop-grid,.inventory{grid-template-columns:1fr}.world-visual{font-size:6rem}.world-actions{display:grid}.world-actions .btn{min-width:0}.section-title{align-items:flex-start;flex-direction:column}.admin-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .wide,.form-grid .full{grid-column:auto}.topbar{padding:11px}.top-actions .btn{padding:9px 10px}.brand{font-size:.9rem}}
@media(max-width:480px){.mission-grid{grid-template-columns:1fr}.quick-nav{top:58px}.topbar small{display:none}.panel{padding:16px}}
.admin-list{display:grid;gap:8px}.admin-row{display:grid;grid-template-columns:60px 1.5fr 1fr 110px 100px 90px 1.5fr 1.8fr 60px 80px;gap:7px;align-items:center;padding:9px;background:#0e1728;border:1px solid #ffffff10;border-radius:13px}.admin-row.boss-row{grid-template-columns:55px 1.5fr 110px 110px 110px 100px 80px 1.3fr 60px 80px}.admin-row.user-row{grid-template-columns:55px 1.2fr 110px 130px 90px 90px 70px 60px 1.2fr 80px}.admin-row.shop-row{grid-template-columns:55px 1.2fr 1.6fr 80px 110px 100px 90px 100px 80px 60px 80px}.admin-row.header{font-size:.78rem;font-weight:900;color:#94a3b8;background:#ffffff07}.admin-row.header>*{padding:0 4px}.admin-row input,.admin-row select{padding:8px}.admin-scroll{overflow:auto}.admin-scroll .admin-list{min-width:1050px}@media(max-width:760px){.admin-scroll{margin:0 -2px}.admin-row{gap:5px}}
/* V3: năng lượng riêng & cảnh báo độ khó */
.battle-rule{background:#78350f44;color:#fde68a;border:1px solid #f59e0b55}.boss-tier{display:inline-block;padding:4px 9px;margin-bottom:7px;border:1px solid currentColor;border-radius:999px;font-size:.78rem;font-weight:900}.char-body{min-width:0;flex:1}.char-energy{margin-top:9px}.char-energy>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:.78rem;color:#cbd5e1}.char-energy small{color:#64748b}.energybar{height:7px;margin-top:5px;border-radius:999px;overflow:hidden;background:#ffffff0d}.energybar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#06b6d4,#22c55e)}
.admin-row.boss-row{grid-template-columns:55px 1.5fr 100px 100px 100px 115px 100px 70px 1.2fr 60px 80px}.admin-scroll .admin-list{min-width:1180px}
/* V4: Boss ngẫu nhiên + Rương Boss + cân bằng trần UM */
.random-boss-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:14px;margin-bottom:18px}.random-encounter{display:grid;grid-template-columns:190px 1fr;gap:20px;align-items:center;background:radial-gradient(circle at 10% 50%,#7c3aed30,transparent 38%),linear-gradient(180deg,#111a2b,#0c1423)}.random-portal{width:160px;height:160px;margin:auto;border-radius:50%;display:grid;place-items:center;font-size:5rem;background:radial-gradient(circle,#312e81 0,#111827 58%,#070b14 70%);border:3px solid #8b5cf6;box-shadow:0 0 25px #8b5cf655,inset 0 0 25px #7c3aed55;transition:.3s}.random-portal.searching{animation:portalSpin .35s linear infinite,portalPulse .8s ease-in-out infinite}.random-portal.found{animation:portalFound .55s ease-out}.random-encounter .char-select{margin:8px 0 10px}.random-encounter .btn{width:100%}.balance-card{border-color:#f59e0b44;background:radial-gradient(circle at 90% 10%,#f59e0b1f,transparent 35%),linear-gradient(180deg,#111a2b,#0c1423)}.balance-card p{color:#cbd5e1}.section-title.compact{margin-top:18px;margin-bottom:10px}.section-title.compact h3{margin:0}.possible-bosses .boss-card{position:relative;overflow:hidden}.boss-chest-preview{margin-top:12px;padding:9px 10px;border-radius:11px;background:#f59e0b12;border:1px solid #f59e0b33;color:#fde68a;font-size:.88rem}.boss-loot-card{border-color:#f59e0b66;background:radial-gradient(circle at 50% 20%,#f59e0b35,transparent 35%),linear-gradient(180deg,#1f2937,#0f172a)}.boss-loot-boss{margin:8px 0;color:#c4b5fd;font-weight:800}.boss-loot-reward{margin:14px 0;padding:14px;border-radius:14px;background:#f59e0b17;border:1px solid #f59e0b44;color:#fde68a;font-size:1.35rem;font-weight:1000}.boss-loot-card .btn{width:100%;margin-top:8px}@keyframes portalSpin{to{transform:rotate(360deg)}}@keyframes portalPulse{50%{box-shadow:0 0 55px #a855f7aa,inset 0 0 35px #7c3aed99;transform:scale(1.06) rotate(180deg)}}@keyframes portalFound{0%{transform:scale(.6);filter:brightness(3)}70%{transform:scale(1.15)}100%{transform:scale(1)}}
@media(max-width:900px){.random-boss-layout{grid-template-columns:1fr}.random-encounter{grid-template-columns:160px 1fr}.random-portal{width:135px;height:135px;font-size:4.3rem}}
@media(max-width:620px){.random-encounter{grid-template-columns:1fr;text-align:center}.random-portal{width:125px;height:125px;font-size:4rem}.random-boss-layout{gap:10px}}
/* Admin V4: thêm cột encounter weight */
.admin-row.boss-row{grid-template-columns:55px 1.5fr 100px 100px 100px 115px 100px 100px 70px 1.2fr 60px 80px}.admin-scroll .admin-list{min-width:1280px}
/* V5: Boss chia đều theo tier + ghép nhân vật */
.fusion-guide{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;border-color:#a855f744;background:radial-gradient(circle at 20% 20%,#7c3aed25,transparent 38%),linear-gradient(180deg,#111a2b,#0c1423)}.fusion-guide>div{padding:11px 12px;border-radius:12px;background:#ffffff08;color:#cbd5e1}.fusion-history{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:10px}.fusion-history span{padding:7px 10px;border-radius:999px;background:#ffffff08;border:1px solid #ffffff10;font-size:.82rem;color:#d8b4fe}.char-card{position:relative;overflow:hidden}.char-badges{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.fusion-star{padding:5px 9px;border-radius:999px;background:linear-gradient(135deg,#7c3aed33,#f59e0b22);border:1px solid #c084fc66;color:#fde68a;font-size:.78rem;font-weight:1000;box-shadow:0 0 18px #a855f722}.fusion-require{display:flex;justify-content:space-between;gap:8px;margin:10px 0 7px;padding:7px 9px;border-radius:9px;background:#ffffff07;color:#cbd5e1;font-size:.78rem}.fusion-btn{width:100%;background:linear-gradient(135deg,#7c3aed,#d97706);position:relative;z-index:2}.fusion-btn.maxed{background:#334155;color:#fef3c7}.fusion-burst{position:absolute;inset:0;display:grid;place-items:center;font-size:6rem;opacity:0;pointer-events:none;z-index:5}.char-card.fusion-charging{animation:fusionCharge .16s infinite alternate;border-color:#c084fc;box-shadow:0 0 35px #a855f755}.char-card.fusion-charging .fusion-burst{opacity:.65;animation:fusionOrb 1s linear infinite}.char-card.fusion-success{animation:fusionSuccess .9s ease-out}.char-card.fusion-success .fusion-burst{opacity:1;animation:fusionExplode .9s ease-out both}.fusion-modal-card{border-color:#c084fc88;background:radial-gradient(circle at 50% 15%,#f59e0b33,transparent 28%),radial-gradient(circle at 50% 30%,#7c3aed44,transparent 48%),linear-gradient(180deg,#1f2340,#0f172a)}.fusion-modal-card .btn{width:100%;margin-top:10px}.fusion-orb{font-size:6rem;filter:drop-shadow(0 0 24px #f59e0baa);animation:fusionModalOrb 1.2s ease-in-out infinite alternate}.fusion-level-big{font-size:3.2rem;font-weight:1000;color:#fde68a;text-shadow:0 0 22px #f59e0b88;margin:8px 0}.fusion-modal-card p{color:#cbd5e1}@keyframes fusionCharge{from{transform:translateX(-2px) scale(1.005)}to{transform:translateX(2px) scale(1.015)}}@keyframes fusionOrb{to{transform:rotate(360deg) scale(1.25);filter:blur(1px)}}@keyframes fusionSuccess{0%{transform:scale(.94);filter:brightness(2.8)}45%{transform:scale(1.05)}100%{transform:scale(1);filter:brightness(1)}}@keyframes fusionExplode{0%{transform:scale(.15) rotate(0);filter:brightness(4)}55%{transform:scale(1.45) rotate(160deg);opacity:1}100%{transform:scale(2.4) rotate(320deg);opacity:0}}@keyframes fusionModalOrb{from{transform:scale(.92) rotate(-8deg)}to{transform:scale(1.08) rotate(8deg)}}
@media(max-width:900px){.fusion-guide{grid-template-columns:1fr 1fr}}@media(max-width:560px){.fusion-guide{grid-template-columns:1fr}}
/* V6: mở rương nhiều lần + kho bình năng lượng + box giao tranh */
.chest-open-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:10px}.ticket-row{margin-top:9px;align-items:center}.ticket-row small{color:var(--muted)}
.item-effect{margin:6px 0 10px;padding:8px 9px;border-radius:10px;background:#0ea5e914;border:1px solid #38bdf833;color:#bae6fd;font-size:.82rem;font-weight:800}.item-inventory{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.item-card{display:grid;grid-template-columns:82px 1fr;gap:14px;align-items:center}.item-card-icon{font-size:3.6rem;text-align:center}.item-card h3{margin-bottom:6px}.item-card p{color:var(--muted);margin-bottom:8px}.item-count{display:inline-block;padding:3px 8px;border-radius:999px;background:#f59e0b22;border:1px solid #f59e0b55;color:#fde68a;font-size:.8rem}.item-card .btn{width:100%}
.battle-modal-card{width:min(760px,100%);overflow:visible;background:radial-gradient(circle at 50% 30%,#7c3aed26,transparent 40%),linear-gradient(180deg,#151d33,#0c1423);border-color:#8b5cf666}.battle-arena{position:relative;display:grid;grid-template-columns:1fr 100px 1fr;gap:10px;align-items:center;min-height:230px;margin:14px 0;padding:18px;border-radius:22px;background:linear-gradient(180deg,#090f1c,#101827);border:1px solid #ffffff14;overflow:hidden}.battle-arena:before{content:"";position:absolute;inset:auto 10% 10px;height:22px;border-radius:50%;background:#0009;filter:blur(8px)}.battle-fighter{position:relative;z-index:2;display:grid;gap:5px;justify-items:center}.fighter-icon{font-size:6rem;filter:drop-shadow(0 14px 20px #0008);transition:.18s}.battle-fighter b{font-size:1.05rem}.battle-fighter small{color:var(--muted)}.battle-clash{position:relative;z-index:3;display:grid;place-items:center}.battle-clash strong{font-size:2rem;color:#f8fafc;text-shadow:0 0 15px #fff7}.clash-flash{font-size:3rem;opacity:.3}.battle-arena.fighting .hero-fighter .fighter-icon{animation:heroAttack .48s ease-in-out infinite alternate}.battle-arena.fighting .boss-fighter .fighter-icon{animation:bossAttack .52s ease-in-out infinite alternate-reverse}.battle-arena.fighting .clash-flash{animation:clashPulse .18s infinite}.battle-arena.victory .boss-fighter .fighter-icon{animation:bossDefeat .7s both}.battle-arena.danger .hero-fighter .fighter-icon{animation:heroHurt .55s both}.battle-status{padding:10px 12px;border-radius:12px;background:#ffffff08;color:#cbd5e1;font-weight:800}.battle-result{margin-top:12px;padding:14px;border-radius:16px;background:#02061799;border:1px solid #ffffff13;text-align:left}.battle-result h3{text-align:center;margin-bottom:12px}.battle-result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.battle-result-grid>div{padding:10px;border-radius:11px;background:#ffffff08}.battle-result-grid span{display:block;color:var(--muted);font-size:.78rem}.battle-result-grid b{display:block;margin-top:3px}.battle-warning{margin:12px 0 0;color:#fde68a;background:#78350f33;border:1px solid #f59e0b33;padding:10px;border-radius:11px}.battle-loot-inline{display:grid;grid-template-columns:70px 1fr;gap:12px;align-items:center;margin-top:12px;padding:12px;border-radius:14px;background:#f59e0b15;border:1px solid #f59e0b55}.battle-loot-inline p{margin:4px 0 0;color:#fde68a}.loot-inline-icon{font-size:3rem;text-align:center}.battle-ok{width:100%;margin-top:12px}.hidden{display:none!important}
.reward-modal-card{width:min(760px,100%)}.multi-reward-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:14px 0;max-height:430px;overflow:auto}.multi-reward-card{display:grid;gap:6px;justify-items:center;padding:10px 7px;border-radius:13px;background:#ffffff08;border:1px solid currentColor;min-width:0}.multi-reward-card b{font-size:.8rem;line-height:1.15}.multi-reward-card small{color:#cbd5e1;font-size:.72rem}.multi-reward-icon{font-size:2.2rem}
@keyframes heroAttack{from{transform:translateX(0) rotate(-4deg)}to{transform:translateX(42px) rotate(8deg) scale(1.08)}}@keyframes bossAttack{from{transform:translateX(0) rotate(3deg)}to{transform:translateX(-35px) rotate(-7deg) scale(1.06)}}@keyframes clashPulse{0%{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.45);filter:brightness(2)}100%{opacity:.3;transform:scale(.9)}}@keyframes bossDefeat{0%{transform:scale(1)}55%{transform:scale(1.2) rotate(10deg);filter:brightness(2)}100%{transform:translateY(35px) scale(.45) rotate(40deg);opacity:.25}}@keyframes heroHurt{30%{transform:translateX(-20px);filter:brightness(2)}60%{transform:translateX(10px)}100%{transform:none}}
@media(max-width:820px){.item-inventory{grid-template-columns:1fr}.multi-reward-grid{grid-template-columns:repeat(3,1fr)}.battle-result-grid{grid-template-columns:repeat(2,1fr)}.battle-arena{grid-template-columns:1fr 70px 1fr}.fighter-icon{font-size:4.5rem}}
@media(max-width:560px){.chest-open-options{grid-template-columns:1fr}.ticket-row{display:grid}.item-card{grid-template-columns:1fr;text-align:center}.multi-reward-grid{grid-template-columns:repeat(2,1fr)}.battle-modal-card{padding:18px}.battle-arena{grid-template-columns:1fr 50px 1fr;min-height:190px;padding:10px}.fighter-icon{font-size:3.7rem}.battle-fighter small{font-size:.7rem}.battle-result-grid{grid-template-columns:1fr 1fr}}

/* ==================== V8: SOL / UM WALLET ==================== */
.wallet-section{scroll-margin-top:90px}.wallet-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.wallet-balance-card,.wallet-action-card{display:flex;flex-direction:column;gap:10px}.wallet-big{display:flex;align-items:baseline;gap:8px;font-size:1.25rem}.wallet-big b{font-size:2.35rem;line-height:1}.wallet-um{font-size:1.05rem;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.05)}.wallet-action-card label{display:grid;gap:6px;font-size:.9rem}.wallet-action-card input{width:100%}.wallet-action-card hr{width:100%;border:0;border-top:1px solid rgba(255,255,255,.09);margin:8px 0}.exchange-preview{padding:10px 12px;border-radius:12px;background:rgba(120,92,255,.10);font-weight:800}.wallet-history-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.status-badge{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:.82rem;font-weight:800}.status-badge.pending{background:rgba(255,184,0,.15)}.status-badge.approved{background:rgba(48,209,88,.14)}.status-badge.rejected{background:rgba(255,69,58,.14)}.tx-short{font-size:.78rem;word-break:break-all}.wallet-notifications{margin-top:16px}.wallet-note{display:grid;grid-template-columns:minmax(150px,.8fr) 2fr auto;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.07)}.wallet-note:last-child{border-bottom:0}.wallet-note span{color:var(--muted,#aeb3c3)}.wallet-note small{white-space:nowrap}.wallet-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.wallet-admin-request{padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:14px;margin-bottom:10px}.wallet-admin-request form{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.wallet-admin-request input{min-width:180px;flex:1}
@media(max-width:1100px){.wallet-grid{grid-template-columns:1fr 1fr}}@media(max-width:720px){.wallet-grid,.wallet-history-grid,.wallet-admin-grid{grid-template-columns:1fr}.wallet-note{grid-template-columns:1fr}.wallet-big b{font-size:2rem}}
.admin-row.user-row{grid-template-columns:55px 1.2fr 100px 120px 120px 90px 80px 70px 60px 1.1fr 80px}.checkline{display:flex!important;align-items:center;gap:8px}.wallet-admin-request small{display:block;margin-top:6px;word-break:break-all}

/* ==================== V8: TRANG CHÍNH GỌN + TRUNG TÂM RIÊNG ==================== */
.quick-nav a.active{background:#7c3aed33;border-color:#8b5cf666;color:#fff}.home-hubs{margin-top:18px}.hub-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.hub-card{display:grid;grid-template-columns:96px 1fr;gap:18px;align-items:center;overflow:hidden;position:relative}.hub-card:before{content:"";position:absolute;inset:auto -80px -100px auto;width:230px;height:230px;border-radius:50%;background:#7c3aed1f;pointer-events:none}.wallet-hub:before{background:#8b5cf62a}.inventory-hub:before{background:#f59e0b20}.hub-icon{width:86px;height:86px;border-radius:24px;display:grid;place-items:center;font-size:3.2rem;background:#ffffff0a;border:1px solid #ffffff12}.hub-body h2{margin:4px 0 8px}.hub-body p{color:var(--muted);margin:0 0 12px}.hub-mini-stats{display:flex;gap:9px;flex-wrap:wrap;margin:10px 0 14px}.hub-mini-stats span{padding:8px 11px;border-radius:11px;background:#ffffff08;border:1px solid #ffffff0c}.shop-storage-cta,.storage-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px}.shop-storage-cta p,.storage-banner p{margin:5px 0 0}.compact-storage-link{margin-top:20px}
.compact-page{padding-bottom:50px}.page-hero{margin-top:22px;display:flex;align-items:center;justify-content:space-between;gap:24px}.page-hero h1{margin:4px 0 8px}.page-hero p{margin:0;color:var(--muted);max-width:700px}.wallet-hero-balances,.inventory-summary{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.wallet-hero-balances>div,.inventory-summary>div{min-width:120px;padding:12px 14px;border-radius:14px;background:#ffffff08;border:1px solid #ffffff10;display:grid;gap:4px}.wallet-hero-balances span,.inventory-summary span{font-size:.8rem;color:var(--muted)}.wallet-hero-balances b,.inventory-summary b{font-size:1.25rem}
.wallet-menu,.inventory-menu{position:sticky;top:110px;z-index:25;margin-top:16px;display:flex;gap:8px;overflow:auto;padding:10px}.wallet-menu-btn,.inventory-menu-btn{white-space:nowrap;border:1px solid #ffffff12;background:#ffffff08;color:var(--text);border-radius:12px;padding:10px 14px;font-weight:800;cursor:pointer}.wallet-menu-btn.active,.inventory-menu-btn.active{background:linear-gradient(135deg,#7c3aed,#4f46e5);border-color:#8b5cf6}.wallet-menu-btn i,.inventory-menu-btn i{font-style:normal;margin-left:5px;padding:2px 7px;border-radius:999px;background:#ffffff18}.wallet-tab-panel,.inventory-tab-panel{display:none;margin-top:16px}.wallet-tab-panel.active,.inventory-tab-panel.active{display:block;animation:tabFade .22s ease}@keyframes tabFade{from{opacity:.15;transform:translateY(8px)}to{opacity:1;transform:none}}
.wallet-overview-grid{display:grid;grid-template-columns:1.35fr repeat(4,1fr);gap:12px}.wallet-summary-card{display:flex;flex-direction:column;justify-content:center}.wallet-choice-card{color:var(--text);text-align:left;cursor:pointer;min-height:150px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:7px;transition:.2s}.wallet-choice-card:hover{transform:translateY(-3px);border-color:#8b5cf666}.wallet-choice-card>span{font-size:2rem}.wallet-choice-card b{font-size:1.02rem}.wallet-choice-card small{color:var(--muted);line-height:1.4}.single-action-wrap{max-width:700px;margin:0 auto}.wallet-focused{padding:24px}.wallet-focused h2{margin:5px 0 8px}.exchange-two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.history-stack{display:grid;gap:12px}.history-fold{padding:0;overflow:hidden}.history-fold>summary{list-style:none;cursor:pointer;padding:16px 18px;font-weight:900;display:flex;align-items:center;justify-content:space-between;gap:10px}.history-fold>summary::-webkit-details-marker{display:none}.history-fold>summary:after{content:"＋";color:#94a3b8;font-size:1.25rem}.history-fold[open]>summary:after{content:"−"}.history-fold .table-wrap{border:0;border-radius:0;border-top:1px solid #ffffff0d}.compact-notifications{margin:0;padding:0 18px 14px}.compact-notifications .wallet-note:first-child{border-top:1px solid #ffffff0d}.fusion-history-fold{margin:12px 0}.fusion-history-fold .fusion-history{margin:0;border:0;border-top:1px solid #ffffff0d;border-radius:0}
.inventory-toolbar{display:grid;grid-template-columns:1fr 220px;gap:10px;margin:12px 0}.dedicated-items{margin-top:4px}.dedicated-items .empty .btn{margin-left:12px}.inventory-page-hero .inventory-summary{max-width:520px}.inventory-tab-panel .fusion-guide{margin-bottom:10px}
@media(max-width:1100px){.wallet-overview-grid{grid-template-columns:1fr 1fr 1fr}.wallet-summary-card{grid-column:1/-1}.hub-grid{grid-template-columns:1fr}.page-hero{align-items:flex-start;flex-direction:column}.wallet-hero-balances,.inventory-summary{justify-content:flex-start}.wallet-menu,.inventory-menu{top:104px}}
@media(max-width:760px){.hub-card{grid-template-columns:64px 1fr}.hub-icon{width:60px;height:60px;font-size:2rem;border-radius:18px}.wallet-overview-grid,.exchange-two-col{grid-template-columns:1fr}.wallet-summary-card{grid-column:auto}.wallet-choice-card{min-height:110px}.shop-storage-cta,.storage-banner{align-items:flex-start;flex-direction:column}.shop-storage-cta .btn,.storage-banner .btn{width:100%}.inventory-toolbar{grid-template-columns:1fr}.wallet-menu,.inventory-menu{top:98px}.page-hero{margin-top:12px}.wallet-hero-balances>div,.inventory-summary>div{min-width:calc(50% - 5px)}}

/* V10 - chỉnh SOL trực tiếp từ Admin */
.admin-row.user-row{grid-template-columns:55px 1.1fr 100px 115px 130px 190px 90px 80px 65px 60px 1.1fr 80px}.admin-scroll .admin-list{min-width:1480px}.sol-admin-input{border-color:#8b5cf655!important;box-shadow:inset 0 0 0 1px #8b5cf622}.sol-admin-input:focus{border-color:#a78bfa!important;box-shadow:0 0 0 3px #7c3aed22}

/* ==================== V10: ĐÁNH BOSS x1 / x5 / x10 ==================== */
.battle-multi-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:10px}.battle-multi-actions .btn{min-height:48px}.battle-multi-actions .btn:nth-child(2){background:linear-gradient(135deg,#ea580c,#f59e0b)}.battle-multi-actions .btn:nth-child(3){background:linear-gradient(135deg,#b91c1c,#f97316);box-shadow:0 0 24px #f9731626}.battle-multi-note{display:block;margin-top:9px;color:#cbd5e1;line-height:1.45}.battle-result-grid{grid-template-columns:repeat(4,1fr)}
@media(max-width:820px){.battle-multi-actions{grid-template-columns:1fr}.battle-result-grid{grid-template-columns:repeat(2,1fr)}}

/* ==================== V11: CAPTCHA / GIỚI THIỆU / WORLD DROP ==================== */
.hp-wrap{position:absolute!important;left:-99999px!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;overflow:hidden!important}
.captcha-box{display:grid;grid-template-columns:1fr minmax(120px,.65fr);gap:12px;align-items:end;padding:14px;border:1px solid rgba(120,140,255,.2);border-radius:14px;background:rgba(255,255,255,.035)}
.captcha-box>div{display:flex;flex-direction:column;gap:5px}.captcha-box span{font-size:.8rem;color:#9fb8e8}.captcha-box b{font-size:1.15rem}
.signup-card{max-width:520px}.signup-card label{display:grid;gap:6px}.signup-card label>small{font-weight:400}
.active-damage-buff{margin-top:10px;padding:9px 11px;border:1px solid rgba(255,99,71,.42);background:rgba(255,76,76,.09);border-radius:10px;font-size:.86rem;font-weight:800;color:#ffb0a8}
.referral-hero{display:flex;justify-content:space-between;gap:20px;align-items:center}.referral-big-count{min-width:180px;text-align:center;padding:18px;border-radius:18px;background:rgba(121,80,242,.14);border:1px solid rgba(142,102,255,.25)}.referral-big-count span,.referral-big-count small{display:block;color:#9fb8e8}.referral-big-count b{display:block;font-size:3rem;line-height:1;color:#fff;margin:7px 0}
.referral-link-box{margin-top:18px}.copy-row{display:grid;grid-template-columns:1fr auto;gap:10px}.copy-row input{min-width:0}
.referral-milestones{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px}.referral-milestone{text-align:center}.referral-milestone.done{border-color:rgba(54,220,150,.45);box-shadow:0 0 0 1px rgba(54,220,150,.07) inset}.milestone-icon{font-size:1.8rem}.referral-milestone h3{margin:.35rem 0}.referral-milestone>b{display:block;font-size:1.1rem;color:#ffd469;margin-bottom:10px}.referral-rules{margin:20px 0}
.world-drop-history{margin-top:16px}.referral-hub .hub-icon{filter:drop-shadow(0 0 14px rgba(105,255,191,.25))}
@media(max-width:950px){.referral-milestones{grid-template-columns:repeat(2,minmax(0,1fr))}.referral-hero{align-items:stretch}.referral-big-count{min-width:145px}}
@media(max-width:620px){.captcha-box,.copy-row{grid-template-columns:1fr}.referral-hero{display:grid}.referral-milestones{grid-template-columns:1fr}.referral-big-count{min-width:0}.referral-big-count b{font-size:2.4rem}}

/* ==================== V12: GAME CHARACTER PICKER ==================== */
.v12-battle-layout{grid-template-columns:1fr!important}.v12-encounter{display:block!important;padding:22px}.v12-encounter-head{display:grid;grid-template-columns:170px 1fr;gap:22px;align-items:center;margin-bottom:18px}.v12-encounter-head .random-portal{width:145px;height:145px;font-size:4.6rem}.battle-picker-shell{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.72fr);gap:16px;align-items:start}.battle-picker-main{min-width:0}.picker-toolbar{display:grid;gap:10px;margin-bottom:12px}.picker-search-wrap{display:flex;align-items:center;gap:8px;padding:0 12px;border-radius:13px;background:#060b15;border:1px solid #26344c}.picker-search-wrap input{border:0;background:transparent;padding:11px 0}.picker-filters{display:flex;gap:7px;overflow:auto;padding-bottom:2px}.picker-filter{border:1px solid #ffffff16;background:#ffffff08;color:#cbd5e1;padding:7px 10px;border-radius:999px;font-size:.78rem;font-weight:900;cursor:pointer;white-space:nowrap}.picker-filter:hover,.picker-filter.active{background:#7c3aed2b;border-color:#8b5cf6;color:#fff}.picker-filter.common.active{border-color:#cbd5e1}.picker-filter.rare.active{border-color:#60a5fa}.picker-filter.epic.active{border-color:#c084fc}.picker-filter.legendary.active{border-color:#fbbf24}.picker-filter.mythic.active{border-color:#fb7185}.battle-character-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:520px;overflow:auto;padding:2px 4px 8px 2px;scrollbar-width:thin}.battle-character-card{position:relative;display:grid;grid-template-columns:62px 1fr;gap:10px;align-items:center;text-align:left;min-height:112px;padding:11px;border-radius:16px;background:linear-gradient(180deg,#101a2c,#0a1220);border:1px solid #ffffff14;color:#eef2ff;cursor:pointer;overflow:hidden;transition:.18s;box-shadow:0 8px 24px #0002}.battle-character-card:before{content:"";position:absolute;inset:0;border-left:3px solid currentColor;opacity:.85;pointer-events:none}.battle-character-card:hover{transform:translateY(-2px);border-color:#ffffff35;box-shadow:0 14px 32px #0005}.battle-character-card.selected{transform:translateY(-2px) scale(1.015);border-color:currentColor;box-shadow:0 0 0 2px currentColor,0 0 30px color-mix(in srgb,currentColor 28%,transparent),0 18px 38px #0006}.battle-char-avatar{width:62px;height:62px;display:grid;place-items:center;border-radius:15px;background:#ffffff0c;border:1px solid #ffffff12;font-size:2.55rem;overflow:hidden;filter:drop-shadow(0 9px 12px #0006)}.battle-char-avatar img,.selected-avatar img{width:100%;height:100%;object-fit:cover}.battle-char-copy{display:grid;gap:4px;min-width:0}.battle-char-top{display:flex;justify-content:space-between;align-items:center;gap:6px}.battle-char-top b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem}.battle-char-rarity{font-size:.7rem;font-weight:900}.battle-char-stats{display:flex;justify-content:space-between;gap:6px;font-size:.73rem;color:#dbeafe}.battle-card-energy{height:5px;border-radius:999px;background:#ffffff10;overflow:hidden}.battle-card-energy i{display:block;height:100%;background:linear-gradient(90deg,#06b6d4,#22c55e)}.battle-char-flags{display:flex;gap:4px;flex-wrap:wrap}.battle-char-flags em{font-size:.62rem;font-style:normal;padding:3px 6px;border-radius:999px;background:#ffffff0b;color:#cbd5e1}.battle-char-flags em.good{color:#86efac;background:#14532d55}.battle-char-flags em.warning{color:#fde68a;background:#78350f55}.battle-char-flags em.deadly,.battle-char-flags em.bad{color:#fecaca;background:#7f1d1d55}.battle-char-flags em.buff{color:#f0abfc;background:#701a7555}.battle-selected-mark{position:absolute;right:7px;top:7px;opacity:0;transform:translateY(-5px);padding:4px 7px;border-radius:999px;background:#22c55e;color:#052e16;font-size:.62rem;font-weight:1000;transition:.18s}.battle-character-card.selected .battle-selected-mark{opacity:1;transform:none}.picker-hidden{display:none!important}
.selected-character-panel{position:sticky;top:122px;padding:16px;border-radius:20px;background:radial-gradient(circle at 50% 0,#7c3aed28,transparent 42%),linear-gradient(180deg,#121c30,#09111f);border:1px solid #8b5cf644;box-shadow:0 20px 48px #0004}.selected-empty{min-height:280px;display:grid;place-items:center;align-content:center;text-align:center;color:#94a3b8;padding:22px}.selected-empty-icon{font-size:4.3rem;margin-bottom:8px;filter:drop-shadow(0 12px 20px #7c3aed66)}.selected-empty b{font-size:1.08rem;color:#e2e8f0}.selected-empty p{margin:7px 0 0}.selected-hero{display:grid;grid-template-columns:76px 1fr;gap:13px;align-items:center;margin-bottom:13px}.selected-avatar{width:76px;height:76px;display:grid;place-items:center;border-radius:18px;background:#ffffff0d;border:1px solid #ffffff1b;font-size:3.2rem;overflow:hidden}.selected-hero h3{margin:0 0 3px;font-size:1.2rem}.selected-rarity{font-size:.8rem;color:#c4b5fd;font-weight:900}.selected-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0}.selected-stat-grid>div{padding:9px;border-radius:11px;background:#ffffff08;border:1px solid #ffffff09}.selected-stat-grid span{display:block;font-size:.68rem;color:#94a3b8}.selected-stat-grid b{display:block;margin-top:3px}.selected-risk{margin:10px 0;padding:9px 10px;border-radius:11px;font-weight:900;font-size:.82rem;background:#ffffff09}.selected-risk.good{color:#86efac;border:1px solid #22c55e44;background:#14532d44}.selected-risk.warning{color:#fde68a;border:1px solid #f59e0b44;background:#78350f44}.selected-risk.deadly{color:#fecaca;border:1px solid #ef444455;background:#7f1d1d44}.selected-character-panel .picker-best-btn{width:100%;margin:4px 0 8px}.selected-character-panel .battle-multi-actions{grid-template-columns:1fr;gap:7px}.selected-character-panel .battle-multi-actions .btn{min-height:43px}.selected-character-panel .world-btn{width:100%;margin-top:8px}.v12-world-panel{display:block!important}.world-boss-head{display:grid;grid-template-columns:180px 1fr;gap:20px;align-items:center;margin-bottom:20px}.world-boss-head .world-visual{font-size:7rem}.world-picker-shell{border-top:1px solid #ffffff12;padding-top:18px}.world-selected-panel{border-color:#14b8a655;background:radial-gradient(circle at 50% 0,#14b8a622,transparent 42%),linear-gradient(180deg,#101d2b,#09111f)}
@media(max-width:1100px){.battle-character-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.battle-picker-shell{grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr)}}
@media(max-width:820px){.v12-encounter-head,.world-boss-head{grid-template-columns:1fr;text-align:center}.battle-picker-shell{grid-template-columns:1fr}.selected-character-panel{position:static}.battle-character-grid{max-height:none}.selected-empty{min-height:160px}.world-boss-head .world-visual{font-size:5.5rem}.v12-encounter-head .random-portal{width:125px;height:125px;margin:auto}.selected-character-panel .battle-multi-actions{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.battle-character-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.battle-character-card{grid-template-columns:1fr;justify-items:center;text-align:center;min-height:178px;padding:9px}.battle-char-avatar{width:68px;height:68px}.battle-char-copy{width:100%}.battle-char-top,.battle-char-stats{justify-content:center;gap:8px}.battle-char-top b{max-width:110px}.battle-char-flags{justify-content:center}.selected-character-panel .battle-multi-actions{grid-template-columns:1fr}.picker-filters{margin-inline:-2px}.picker-search-wrap{padding-inline:9px}}

/* ==================== V13: BATTLE HUB / CHỌN MẶT TRẬN ==================== */
.battle-mode-selector{margin-top:30px}.battle-mode-title{align-items:center}.battle-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.battle-mode-card{position:relative;display:grid;grid-template-columns:118px 1fr;grid-template-areas:"visual copy" "meta meta" "cta cta";gap:12px 18px;align-items:center;text-align:left;padding:20px;border-radius:24px;border:1px solid #ffffff18;background:linear-gradient(145deg,#111c31,#0a1220);color:var(--text);cursor:pointer;overflow:hidden;transition:.22s;box-shadow:0 18px 48px #0003}.battle-mode-card:before{content:"";position:absolute;inset:0;opacity:.5;pointer-events:none}.battle-mode-card.random-mode:before{background:radial-gradient(circle at 12% 18%,#f9731630,transparent 34%),radial-gradient(circle at 85% 0,#7c3aed25,transparent 32%)}.battle-mode-card.world-mode:before{background:radial-gradient(circle at 12% 18%,#14b8a638,transparent 34%),radial-gradient(circle at 90% 0,#2563eb25,transparent 34%)}.battle-mode-card>*{position:relative;z-index:1}.battle-mode-card:hover:not(:disabled){transform:translateY(-4px);border-color:#ffffff42;box-shadow:0 24px 58px #0006}.battle-mode-card.active{transform:translateY(-3px);box-shadow:0 0 0 2px #8b5cf6,0 20px 55px #0006}.battle-mode-card.world-mode.active{box-shadow:0 0 0 2px #14b8a6,0 20px 55px #0006}.battle-mode-card:disabled{opacity:.52;cursor:not-allowed;filter:saturate(.6)}.battle-mode-visual{grid-area:visual;width:112px;height:112px;display:grid;place-items:center;border-radius:24px;background:#ffffff0d;border:1px solid #ffffff16;font-size:4.7rem;filter:drop-shadow(0 13px 22px #0007)}.battle-mode-copy{grid-area:copy;display:block;min-width:0}.battle-mode-copy b{display:block;font-size:1.38rem;margin-bottom:7px}.battle-mode-copy small{display:block;color:#aab8cf;line-height:1.5}.battle-mode-meta{grid-area:meta;display:flex;gap:7px;flex-wrap:wrap}.battle-mode-meta em{font-style:normal;font-size:.76rem;font-weight:850;padding:6px 9px;border-radius:999px;background:#ffffff0b;border:1px solid #ffffff11;color:#cbd5e1}.battle-mode-hp{grid-area:meta;display:grid;grid-template-columns:1fr auto;gap:7px 12px;color:#cbd5e1;font-size:.82rem}.battle-mode-hp .mini-hp{grid-column:1/-1;height:7px;border-radius:999px;overflow:hidden;background:#ffffff0f}.battle-mode-hp .mini-hp i{display:block;height:100%;background:linear-gradient(90deg,#14b8a6,#3b82f6);border-radius:999px}.battle-mode-cta{grid-area:cta;display:flex;justify-content:center;align-items:center;min-height:44px;border-radius:13px;background:#ffffff0b;border:1px solid #ffffff16;font-weight:1000;letter-spacing:.04em}.random-mode .battle-mode-cta{background:linear-gradient(135deg,#c2410c,#7c3aed)}.world-mode .battle-mode-cta{background:linear-gradient(135deg,#0f766e,#2563eb)}.battle-mode-hint{margin-top:12px;padding:11px 14px;border-radius:13px;background:#ffffff07;border:1px solid #ffffff0e;color:#9fb0c8;font-size:.87rem}.battle-mode-detail.mode-hidden{display:none}.battle-mode-detail.mode-shown{display:block;animation:battleStageIn .3s ease both}@keyframes battleStageIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.battle-detail-head{display:grid;grid-template-columns:auto 74px 1fr;gap:14px;align-items:center;margin-bottom:13px;padding:13px 15px;border-radius:18px;background:linear-gradient(135deg,#111b2e,#0b1423);border:1px solid #ffffff12}.battle-detail-head .battle-mode-back{align-self:center}.battle-detail-icon{width:66px;height:66px;display:grid;place-items:center;border-radius:17px;background:#f973161b;border:1px solid #f9731644;font-size:2.65rem}.battle-detail-icon.world{background:#14b8a61b;border-color:#14b8a644}.battle-detail-head h2{margin:0 0 4px}.battle-detail-head p{margin:0;color:#94a3b8;font-size:.88rem}.battle-mode-detail#boss>.section-title,.battle-mode-detail#boss>.battle-rule{display:none}.battle-mode-detail#boss .balance-card{display:none}.battle-mode-detail#world .world-boss-head{display:none}.battle-mode-detail#world .world-picker-shell{border-top:0;padding-top:0}.battle-mode-detail#world .v12-world-panel{padding-top:18px}.battle-mode-detail .possible-bosses{opacity:.82}.battle-mode-detail .section-title.compact{margin-top:18px}
@media(max-width:850px){.battle-mode-grid{grid-template-columns:1fr}.battle-mode-card{grid-template-columns:92px 1fr}.battle-mode-visual{width:88px;height:88px;font-size:3.7rem}.battle-detail-head{grid-template-columns:1fr 62px minmax(0,1fr)}.battle-detail-head .battle-mode-back{grid-column:1/-1;justify-self:start}.battle-detail-icon{width:58px;height:58px;font-size:2.25rem}}
@media(max-width:560px){.battle-mode-card{grid-template-columns:72px 1fr;padding:15px;gap:9px 12px;border-radius:18px}.battle-mode-visual{width:70px;height:70px;border-radius:17px;font-size:3rem}.battle-mode-copy b{font-size:1.12rem}.battle-mode-copy small{font-size:.78rem}.battle-mode-meta em{font-size:.67rem}.battle-detail-head{grid-template-columns:54px 1fr;padding:12px}.battle-detail-head .battle-mode-back{grid-column:1/-1;width:100%}.battle-detail-icon{width:50px;height:50px;font-size:2rem}.battle-detail-head h2{font-size:1.25rem}}


/* ==================== V14: HP NHÂN VẬT ==================== */
.char-health{margin-top:9px}.char-health>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:.88rem}.healthbar{height:7px;border-radius:99px;background:#31131b;overflow:hidden;margin-top:5px;border:1px solid rgba(255,88,108,.22)}.healthbar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ef3340,#ff6677,#ff9b7a);box-shadow:0 0 12px rgba(255,70,90,.48)}
.health-btn{background:linear-gradient(135deg,#c62838,#ff4d64);color:#fff;border:1px solid rgba(255,150,160,.35)}
.battle-char-stats{flex-wrap:wrap}.battle-char-stats span:nth-child(2){color:#ff8290}.selected-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.battle-character-card[data-health="0"]{filter:saturate(.55);opacity:.7}.battle-character-card[data-health="0"]::after{content:'0 HP';position:absolute;inset:8px auto auto 8px;background:#8e1e2d;color:#fff;padding:3px 7px;border-radius:8px;font-size:.68rem;font-weight:800;z-index:3}
.battle-char-avatar img,.selected-avatar img,.char-icon img{object-fit:cover;animation:portraitFloat 2.7s ease-in-out infinite;transform-origin:center}.battle-char-avatar img{width:100%;height:100%;border-radius:12px}.selected-avatar img{width:100%;height:100%;border-radius:18px}.char-icon img{width:100%;height:100%;border-radius:18px}
@keyframes portraitFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.025)}}

.battle-card-health{height:5px;border-radius:99px;background:#35131c;overflow:hidden;display:block;margin:4px 0 2px}.battle-card-health i{display:block;height:100%;background:linear-gradient(90deg,#e73b50,#ff7789);border-radius:inherit}.fighter-icon img{width:100%;height:100%;object-fit:cover;border-radius:18px}

/* ==================== V15: 4 loại rương + icon nhân vật động ==================== */
.chest-v15-panel{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;align-items:start}
.chest-v15-copy{display:flex;flex-direction:column;gap:16px}
.chest-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.chest-type-card{display:flex;align-items:center;gap:14px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:linear-gradient(180deg,rgba(11,19,42,.95),rgba(7,16,36,.92));padding:16px 18px;color:#fff;text-align:left;cursor:pointer;transition:.2s transform,.2s border-color,.2s box-shadow}
.chest-type-card:hover,.chest-type-card.active{transform:translateY(-2px);border-color:#7d56ff;box-shadow:0 10px 28px rgba(98,67,255,.22)}
.chest-type-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;font-size:28px;background:linear-gradient(135deg,rgba(111,77,255,.28),rgba(255,158,31,.24));box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.chest-type-copy{display:flex;flex-direction:column;gap:4px;flex:1}
.chest-type-copy b{font-size:18px}
.chest-type-copy small{color:#a9b3d2;line-height:1.4}
.chest-type-copy em{font-style:normal;color:#ffd166;font-weight:700}
.chest-type-arrow{font-size:14px;color:#8ea2d9}
.selected-chest-panel{border:1px solid rgba(125,86,255,.28);border-radius:24px;padding:18px 20px;background:linear-gradient(180deg,rgba(16,23,50,.98),rgba(9,14,34,.95));display:flex;flex-direction:column;gap:14px}
.selected-chest-head{display:flex;justify-content:space-between;gap:20px;align-items:center}
.selected-chest-badge{min-width:150px;border-radius:20px;padding:14px 16px;background:linear-gradient(135deg,rgba(125,86,255,.18),rgba(255,136,0,.16));display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.selected-chest-icon{font-size:34px;line-height:1}
.selected-chest-badge b{font-size:20px;color:#ffd166}
.selected-chest-badge small{color:#aab6d6}
#selectedChestRates{flex-wrap:wrap}
#selectedChestRates span{min-width:unset}
.ticket-row.hidden,.hidden{display:none!important}

.char-icon,.battle-char-avatar,.selected-avatar,.fighter-icon{overflow:hidden}
.char-icon:not(:has(img)),.battle-char-avatar:not(:has(img)),.selected-avatar:not(:has(img)),.fighter-icon:not(:has(img)){font-size:44px;line-height:1;display:grid;place-items:center;text-shadow:0 0 20px rgba(255,255,255,.12);animation:heroBob 2.4s ease-in-out infinite,heroGlow 2.8s ease-in-out infinite}
.battle-char-avatar:not(:has(img)){font-size:36px}
.selected-avatar:not(:has(img)),.fighter-icon:not(:has(img)){font-size:52px}
.char-card.legendary .char-icon:not(:has(img)),.battle-character-card.legendary .battle-char-avatar:not(:has(img)),.selected-rarity.legendary+.selected-stat-grid ~ .selected-avatar{filter:drop-shadow(0 0 18px rgba(255,194,71,.28))}
.char-card.mythic .char-icon:not(:has(img)),.battle-character-card.mythic .battle-char-avatar:not(:has(img)){filter:drop-shadow(0 0 18px rgba(173,111,255,.36))}
@keyframes heroBob{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.04)}}
@keyframes heroGlow{0%,100%{opacity:.9}50%{opacity:1}}

@media (max-width: 980px){
  .chest-v15-panel{grid-template-columns:1fr}
  .chest-choice-grid{grid-template-columns:1fr}
  .selected-chest-head{flex-direction:column;align-items:flex-start}
  .selected-chest-badge{width:100%}
}

/* ==================== V15.2: ảnh rương thật + màu nổi theo độ hiếm ==================== */
.chest-visual{display:grid;place-items:center;min-height:240px}
.chest-stage-img{width:220px;height:220px;object-fit:contain;filter:drop-shadow(0 16px 28px rgba(0,0,0,.35));animation:chestFloat 2.4s ease-in-out infinite}
.chest-visual-placeholder{font-size:84px;line-height:1;filter:drop-shadow(0 12px 24px rgba(255,196,87,.18))}
.chest-type-icon{width:78px;height:78px;border-radius:18px;overflow:hidden;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.14),rgba(255,255,255,.04));display:grid;place-items:center}
.chest-type-icon img{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 10px 16px rgba(0,0,0,.28));animation:chestFloat 2.6s ease-in-out infinite}
.selected-chest-icon{width:96px;height:96px;display:grid;place-items:center;overflow:hidden}
.selected-chest-icon img{width:88px;height:88px;object-fit:contain;filter:drop-shadow(0 14px 20px rgba(0,0,0,.32));animation:chestFloat 2.2s ease-in-out infinite}
.chest-type-card.chest-bronze.active{border-color:#d08a3f;box-shadow:0 10px 28px rgba(208,138,63,.24)}
.chest-type-card.chest-silver.active{border-color:#b8d7ff;box-shadow:0 10px 28px rgba(184,215,255,.22)}
.chest-type-card.chest-gold.active{border-color:#ffd45a;box-shadow:0 10px 28px rgba(255,212,90,.24)}
.chest-type-card.chest-diamond.active{border-color:#8ed9ff;box-shadow:0 10px 28px rgba(142,217,255,.28)}
@keyframes chestFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

.char-card .char-icon,.battle-character-card .battle-char-avatar,.selected-filled [data-selected-avatar],.battle-char-side .fighter-icon{position:relative;overflow:hidden}
.char-card.common .char-icon,.battle-character-card.common .battle-char-avatar,.selected-panel.common [data-selected-avatar],.fighter-side.common .fighter-icon{background:radial-gradient(circle at 30% 30%,rgba(214,223,241,.28),rgba(94,111,143,.14));box-shadow:0 0 0 1px rgba(214,223,241,.16),0 0 20px rgba(214,223,241,.12)}
.char-card.rare .char-icon,.battle-character-card.rare .battle-char-avatar,.selected-panel.rare [data-selected-avatar],.fighter-side.rare .fighter-icon{background:radial-gradient(circle at 30% 30%,rgba(88,176,255,.34),rgba(52,88,201,.12));box-shadow:0 0 0 1px rgba(123,193,255,.26),0 0 24px rgba(88,176,255,.22)}
.char-card.epic .char-icon,.battle-character-card.epic .battle-char-avatar,.selected-panel.epic [data-selected-avatar],.fighter-side.epic .fighter-icon{background:radial-gradient(circle at 30% 30%,rgba(190,116,255,.32),rgba(92,48,191,.12));box-shadow:0 0 0 1px rgba(216,161,255,.26),0 0 24px rgba(190,116,255,.22)}
.char-card.legendary .char-icon,.battle-character-card.legendary .battle-char-avatar,.selected-panel.legendary [data-selected-avatar],.fighter-side.legendary .fighter-icon{background:radial-gradient(circle at 30% 30%,rgba(255,197,90,.34),rgba(194,99,0,.14));box-shadow:0 0 0 1px rgba(255,217,135,.28),0 0 24px rgba(255,186,69,.24)}
.char-card.mythic .char-icon,.battle-character-card.mythic .battle-char-avatar,.selected-panel.mythic [data-selected-avatar],.fighter-side.mythic .fighter-icon{background:radial-gradient(circle at 30% 30%,rgba(106,255,255,.32),rgba(102,76,255,.14));box-shadow:0 0 0 1px rgba(173,231,255,.26),0 0 28px rgba(118,175,255,.24)}
.char-card .char-icon img,.battle-character-card .battle-char-avatar img,.selected-filled [data-selected-avatar] img,.battle-char-side .fighter-icon img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 14px rgba(0,0,0,.24));animation:heroBob 2.6s ease-in-out infinite}
.char-card.common{border-color:rgba(214,223,241,.38)}
.char-card.rare{border-color:rgba(88,176,255,.55)}
.char-card.epic{border-color:rgba(190,116,255,.58)}
.char-card.legendary{border-color:rgba(255,197,90,.62)}
.char-card.mythic{border-color:rgba(131,224,255,.62)}
.battle-character-card.common.selected,.char-card.common:hover{box-shadow:0 16px 32px rgba(214,223,241,.12)}
.battle-character-card.rare.selected,.char-card.rare:hover{box-shadow:0 16px 32px rgba(88,176,255,.18)}
.battle-character-card.epic.selected,.char-card.epic:hover{box-shadow:0 16px 32px rgba(190,116,255,.2)}
.battle-character-card.legendary.selected,.char-card.legendary:hover{box-shadow:0 16px 32px rgba(255,186,69,.22)}
.battle-character-card.mythic.selected,.char-card.mythic:hover{box-shadow:0 16px 32px rgba(118,175,255,.24)}
.selected-character-panel.common [data-selected-avatar]{background:radial-gradient(circle at 30% 30%,rgba(214,223,241,.28),rgba(94,111,143,.14));box-shadow:0 0 0 1px rgba(214,223,241,.16),0 0 20px rgba(214,223,241,.12)}
.selected-character-panel.rare [data-selected-avatar]{background:radial-gradient(circle at 30% 30%,rgba(88,176,255,.34),rgba(52,88,201,.12));box-shadow:0 0 0 1px rgba(123,193,255,.26),0 0 24px rgba(88,176,255,.22)}
.selected-character-panel.epic [data-selected-avatar]{background:radial-gradient(circle at 30% 30%,rgba(190,116,255,.32),rgba(92,48,191,.12));box-shadow:0 0 0 1px rgba(216,161,255,.26),0 0 24px rgba(190,116,255,.22)}
.selected-character-panel.legendary [data-selected-avatar]{background:radial-gradient(circle at 30% 30%,rgba(255,197,90,.34),rgba(194,99,0,.14));box-shadow:0 0 0 1px rgba(255,217,135,.28),0 0 24px rgba(255,186,69,.24)}
.selected-character-panel.mythic [data-selected-avatar]{background:radial-gradient(circle at 30% 30%,rgba(106,255,255,.32),rgba(102,76,255,.14));box-shadow:0 0 0 1px rgba(173,231,255,.26),0 0 28px rgba(118,175,255,.24)}

/* ==================== V15.3: modal kết quả boss không tràn màn hình ==================== */
.modal{overflow-y:auto;align-items:start;padding:18px 14px calc(18px + env(safe-area-inset-bottom));}
.battle-modal-card{max-height:calc(100dvh - 36px);overflow-y:auto!important;overflow-x:hidden!important;margin:auto;scrollbar-gutter:stable;padding-bottom:18px;}
.battle-modal-card .battle-ok{position:sticky;bottom:0;z-index:12;width:100%;margin-top:16px;box-shadow:0 -10px 24px rgba(8,13,29,.9);}
.battle-modal-card::-webkit-scrollbar{width:8px}.battle-modal-card::-webkit-scrollbar-thumb{background:#46506b;border-radius:999px}.battle-modal-card::-webkit-scrollbar-track{background:transparent}
@media(max-height:760px){.battle-arena{min-height:170px}.fighter-icon{font-size:4.5rem}.battle-modal-card{padding:20px}.battle-result-grid{gap:8px}}
@media(max-width:640px){.modal{padding:8px}.battle-modal-card{max-height:calc(100dvh - 16px);border-radius:18px}.battle-arena{grid-template-columns:1fr 54px 1fr;padding:10px}.fighter-icon{font-size:3.8rem}}

/* ==================== V15.4: topbar gọn + hồ sơ cá nhân ==================== */
.compact-topbar{gap:14px;flex-wrap:wrap}
.brand-wrap{display:flex;align-items:center;min-width:max-content}
.compact-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto}
.balance-chip,.account-chip{display:flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.10);background:rgba(9,17,37,.78);border-radius:14px;padding:8px 11px;color:#fff;text-decoration:none;min-height:42px;transition:.18s ease}
.balance-chip:hover,.account-chip:hover{transform:translateY(-1px);border-color:rgba(127,102,255,.55);background:rgba(18,28,57,.92)}
.balance-chip b{font-size:15px}.balance-chip small{font-size:10px;color:#95a2c7;text-transform:uppercase}.balance-chip.sol{box-shadow:inset 0 0 0 1px rgba(155,98,255,.04)}.balance-chip.um{box-shadow:inset 0 0 0 1px rgba(255,192,72,.04)}
.account-chip>span{font-size:22px}.account-chip>div{display:flex;flex-direction:column;line-height:1.15}.account-chip small{font-size:10px;color:#94a1c1;margin-top:3px}.compact-btn{padding:9px 12px}
.compact-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px}
.compact-home-hubs{margin-top:12px}.compact-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.profile-page{max-width:1180px}.profile-grid{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;align-items:start}.profile-summary{position:sticky;top:88px;text-align:center}.profile-avatar{width:92px;height:92px;margin:0 auto 12px;border-radius:26px;display:grid;place-items:center;font-size:48px;background:linear-gradient(135deg,rgba(105,75,255,.26),rgba(37,200,255,.14));border:1px solid rgba(151,137,255,.32)}.profile-badges{display:flex;flex-direction:column;gap:8px;margin:14px 0}.profile-badges span{padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.045);word-break:break-word}.profile-badges .verified{color:#8effb0;background:rgba(38,186,97,.10)}.profile-badges .unverified{color:#ffc36d;background:rgba(255,154,50,.10)}.profile-forms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.profile-forms .panel{margin:0}.alert.success{border-color:rgba(61,213,122,.45);background:rgba(33,151,82,.12);color:#a7ffc4}.alert.warning{border-color:rgba(255,186,70,.45);background:rgba(181,110,21,.14);color:#ffd99c}.auth-sep{border:0;border-top:1px solid rgba(255,255,255,.10);margin:20px 0}.recovery-card{max-width:520px}
@media(max-width:900px){.compact-stats{grid-template-columns:1fr}.compact-hub-grid{grid-template-columns:1fr}.profile-grid{grid-template-columns:1fr}.profile-summary{position:static}.profile-forms{grid-template-columns:1fr}.compact-actions{width:100%;margin-left:0}.balance-chip,.account-chip{flex:1 1 auto}.brand-wrap{width:100%}}

/* ==================== V15.5: giao diện rương tối giản ==================== */
.chest-v15-compact{display:flex;flex-direction:column;gap:20px}
.chest-header-compact{display:flex;justify-content:space-between;gap:20px;align-items:flex-end}
.pity-compact{min-width:280px;max-width:360px;flex:1}
.chest-grid-minimal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.chest-card-minimal{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:22px 14px;border-radius:24px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(8,18,44,.96),rgba(7,14,32,.94));cursor:pointer;color:#fff;transition:transform .2s,border-color .2s,box-shadow .2s}
.chest-card-minimal:hover,.chest-card-minimal.active{transform:translateY(-3px);border-color:#7d56ff;box-shadow:0 16px 36px rgba(98,67,255,.18)}
.chest-card-minimal b{font-size:24px;line-height:1.2;text-align:center}
.chest-card-image{width:120px;height:120px;display:grid;place-items:center}
.chest-card-image img{width:110px;height:110px;object-fit:contain;filter:drop-shadow(0 14px 20px rgba(0,0,0,.28));animation:chestFloat 2.5s ease-in-out infinite}
.chest-info-modal-card{max-width:760px;width:min(92vw,760px);padding:28px;border-radius:28px;display:flex;flex-direction:column;gap:18px}
.chest-info-head{display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:center}
.chest-info-hero{width:150px;height:150px;border-radius:28px;display:grid;place-items:center;background:linear-gradient(180deg,rgba(27,36,78,.8),rgba(14,20,45,.86))}
.chest-info-hero img{width:132px;height:132px;object-fit:contain;filter:drop-shadow(0 14px 20px rgba(0,0,0,.3));animation:chestFloat 2.4s ease-in-out infinite}
.chest-info-head h2{font-size:38px;margin:0 0 8px}
.chest-info-head p{margin:0 0 10px;color:#c9d4f0;line-height:1.6}
.chest-info-price{display:inline-block;font-size:26px;color:#ffd166}
.chest-open-modal-options{margin-top:4px}
body.modal-open{overflow:hidden}
@media (max-width: 980px){
  .chest-grid-minimal{grid-template-columns:repeat(2,minmax(0,1fr))}
  .chest-header-compact{flex-direction:column;align-items:stretch}
}
@media (max-width: 640px){
  .chest-grid-minimal{grid-template-columns:1fr 1fr;gap:12px}
  .chest-card-image{width:92px;height:92px}
  .chest-card-image img{width:86px;height:86px}
  .chest-card-minimal b{font-size:19px}
  .chest-info-head{grid-template-columns:1fr;justify-items:center;text-align:center}
  .chest-info-hero{width:120px;height:120px}
  .chest-info-hero img{width:106px;height:106px}
  .chest-info-head h2{font-size:28px}
}

/* ==================== V15.7: dùng item nhanh trong sảnh Boss ==================== */
.battle-quick-items{margin:14px 0 16px;padding:14px;border-radius:18px;border:1px solid rgba(255,255,255,.09);background:linear-gradient(180deg,rgba(9,17,38,.92),rgba(8,13,29,.92));display:flex;flex-direction:column;gap:10px}
.quick-items-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.quick-items-head>div{display:flex;flex-direction:column;gap:2px}
.quick-items-head>b,.quick-items-head div>b{font-size:15px}
.quick-items-head a{font-size:12px;color:#8dbdff;text-decoration:none;white-space:nowrap}
.quick-item-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.quick-item-btn{position:relative;display:grid;grid-template-columns:38px 1fr auto;gap:8px;align-items:center;min-width:0;padding:9px 10px;border-radius:13px;border:1px solid rgba(255,255,255,.09);background:#101a31;color:#fff;text-align:left;cursor:pointer;transition:.18s transform,.18s border-color,.18s background}
.quick-item-btn:hover:not(:disabled){transform:translateY(-1px);border-color:#6e7cff;background:#15203a}
.quick-item-btn:disabled,.quick-item-btn.empty{opacity:.38;cursor:not-allowed}
.quick-item-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:21px;background:rgba(255,255,255,.06)}
.quick-item-copy{display:flex;flex-direction:column;min-width:0;gap:2px}
.quick-item-copy b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.quick-item-copy small{font-size:11px;color:#aebbd8}
.quick-item-btn em{font-style:normal;font-size:11px;font-weight:800;min-width:28px;text-align:center;border-radius:999px;padding:3px 6px;background:#222e4d;color:#fff}
.quick-item-btn.type-health{border-color:rgba(255,92,126,.18)}
.quick-item-btn.type-health .quick-item-icon{background:rgba(255,92,126,.12)}
.quick-item-btn.type-energy{border-color:rgba(67,224,199,.18)}
.quick-item-btn.type-energy .quick-item-icon{background:rgba(67,224,199,.12)}
.quick-item-btn.type-damage{border-color:rgba(255,174,65,.2)}
.quick-item-btn.type-damage .quick-item-icon{background:rgba(255,174,65,.13)}
.quick-item-empty{grid-column:1/-1;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.035);color:#91a0c0;font-size:12px;text-align:center}
.quick-item-hint{color:#7f8dac;line-height:1.45}
@media(max-width:760px){.quick-item-list{grid-template-columns:1fr}.quick-items-head{align-items:center}.battle-quick-items{padding:12px}}

/* ==================== V15.8: chọn tướng -> box thao tác ==================== */
.battle-picker-shell{grid-template-columns:1fr!important}
.picker-toolbar{margin-bottom:14px}
.picker-filters{padding:2px 0 5px}
.battle-character-grid{max-height:none}
.battle-action-modal-card{width:min(94vw,760px);max-height:min(90vh,860px);overflow:auto;padding:24px;border-radius:28px;background:linear-gradient(180deg,#111a2f,#09111f);border:1px solid #8b5cf655;box-shadow:0 32px 90px #000a}
.battle-action-title{padding-right:34px;margin-bottom:14px}
.battle-action-title h2{margin:4px 0 6px}
.battle-action-title p{margin:0;color:#9fb0d2}
.battle-action-panel{position:static!important;top:auto!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important}
.battle-action-panel .selected-empty{display:none!important}
.battle-action-panel .selected-filled{display:block!important}
.battle-action-panel .selected-hero{grid-template-columns:92px 1fr;gap:16px}
.battle-action-panel .selected-avatar{width:92px;height:92px}
.battle-action-panel .selected-stat-grid{grid-template-columns:repeat(3,1fr);gap:9px}
.battle-action-panel .battle-quick-items{margin-top:14px}
.battle-action-panel .quick-item-list{grid-template-columns:repeat(3,minmax(0,1fr))}
.battle-action-panel .picker-best-btn{display:none}
.battle-action-panel .battle-multi-actions{grid-template-columns:repeat(3,1fr)!important;gap:9px}
.battle-action-panel .world-btn{min-height:52px;font-size:1rem}
@media(max-width:700px){
  .battle-action-modal-card{width:96vw;padding:18px;max-height:92vh}
  .battle-action-panel .selected-stat-grid{grid-template-columns:1fr 1fr}
  .battle-action-panel .quick-item-list{grid-template-columns:1fr 1fr}
  .battle-action-panel .battle-multi-actions{grid-template-columns:1fr!important}
  .battle-action-panel .selected-hero{grid-template-columns:76px 1fr}
  .battle-action-panel .selected-avatar{width:76px;height:76px}
}
.battle-picker-shell > .selected-character-panel{display:none!important}

/* ==================== V15.9: Pity riêng từng rương ==================== */
.chest-card-pity{width:100%;display:flex;flex-direction:column;gap:6px;margin-top:2px}
.chest-card-pity small{display:flex;justify-content:space-between;gap:8px;color:#b9c5e5;font-size:12px;font-weight:700}
.chest-card-pity strong{color:#ffd166}
.chest-pity-track{display:block;width:100%;height:7px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.chest-pity-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#8f5cff,#ff58b5);box-shadow:0 0 12px rgba(143,92,255,.35)}
.chest-bronze .chest-pity-track i{background:linear-gradient(90deg,#a8632c,#e0a66d)}
.chest-silver .chest-pity-track i{background:linear-gradient(90deg,#7f9ebf,#e8f2ff)}
.chest-gold .chest-pity-track i{background:linear-gradient(90deg,#d89218,#ffe784)}
.chest-diamond .chest-pity-track i{background:linear-gradient(90deg,#7a73ff,#6ef4ff)}
.selected-chest-pity{padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:8px}
.selected-chest-pity small{color:#9fb0d4}

/* ==================== V15.13: GHẾ HỒI PHỤC ==================== */
.char-card.recovering,.battle-character-card.recovering{position:relative;overflow:hidden;filter:saturate(.82)}
.char-card.recovering::after,.battle-character-card.recovering::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 0 35%,rgba(105,230,255,.10) 48%,transparent 62%);animation:recoveryShine 2.8s linear infinite}
.recovery-seat-fx{position:absolute;top:12px;right:12px;z-index:4;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 10px;border-radius:14px;background:rgba(7,17,38,.88);border:1px solid rgba(105,230,255,.35);box-shadow:0 0 20px rgba(85,205,255,.16);pointer-events:none}
.recovery-seat-fx span{font-size:24px;animation:chairFloat 1.8s ease-in-out infinite}.recovery-seat-fx b{font-size:10px;letter-spacing:.08em;color:#89edff}.recovery-seat-fx small{font-size:9px;color:#b7c7e9}
.battle-character-card.recovering .battle-char-avatar{box-shadow:0 0 0 2px rgba(95,222,255,.28),0 0 28px rgba(95,222,255,.18)}
.battle-character-card.recovering .battle-char-avatar::after{content:"🪑";position:absolute;right:-2px;bottom:-4px;font-size:28px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.35));animation:chairFloat 1.8s ease-in-out infinite}
.recovery-chair-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.recovery-chair-card{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center;min-height:250px;position:relative;overflow:hidden}
.recovery-chair-card.vip{border-color:rgba(190,116,255,.42);box-shadow:0 0 28px rgba(173,106,255,.12)}
.recovery-chair-visual{height:160px;border-radius:24px;display:grid;place-items:center;position:relative;background:radial-gradient(circle at 50% 45%,rgba(99,222,255,.22),rgba(17,28,58,.78) 62%);overflow:hidden}
.recovery-chair-card.vip .recovery-chair-visual{background:radial-gradient(circle at 50% 45%,rgba(194,105,255,.28),rgba(35,18,68,.82) 62%)}
.recovery-chair-visual span{font-size:76px;position:relative;z-index:2;animation:chairFloat 2s ease-in-out infinite;filter:drop-shadow(0 10px 18px rgba(0,0,0,.3))}
.recovery-chair-visual i{position:absolute;width:110px;height:34px;border-radius:50%;background:rgba(83,221,255,.16);filter:blur(8px);bottom:22px;animation:recoveryPulse 1.8s ease-in-out infinite}
.recovery-chair-copy{display:flex;flex-direction:column;gap:10px}.recovery-chair-copy h3{margin:0;font-size:26px}.recovery-chair-copy p{margin:0;color:#b7c4df;line-height:1.55}
.chair-occupant{display:flex;align-items:center;gap:12px;padding:12px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.chair-char-avatar{width:62px;height:62px;border-radius:16px;display:grid;place-items:center;overflow:hidden;background:rgba(255,255,255,.05)}.chair-char-avatar img{width:100%;height:100%;object-fit:contain}.chair-occupant>div:last-child{display:flex;flex-direction:column;gap:4px}.chair-occupant span{color:#ff9da8}.chair-occupant small{color:#8ee8ff}
.chair-lock{padding:10px 12px;border-radius:12px;background:rgba(255,164,52,.10);border:1px solid rgba(255,164,52,.22);color:#ffd18a}.chair-ready{padding:10px 12px;border-radius:12px;background:rgba(55,220,145,.10);border:1px solid rgba(55,220,145,.22);color:#8af2bf}.chair-empty{color:#9db0d3;font-weight:700}
.recovery-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin-bottom:18px}.recovery-guide>div{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.035)}
@keyframes chairFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes recoveryPulse{0%,100%{transform:scale(.9);opacity:.45}50%{transform:scale(1.15);opacity:.9}}
@keyframes recoveryShine{0%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
@media(max-width:900px){.recovery-chair-grid{grid-template-columns:1fr}.recovery-chair-card{grid-template-columns:120px 1fr}.recovery-guide{grid-template-columns:1fr}}
@media(max-width:560px){.recovery-chair-card{grid-template-columns:1fr}.recovery-chair-visual{height:130px}}


/* ==================== V15.15: Shop riêng + ghế phân biệt rõ ==================== */
.shop-hub .hub-icon{background:linear-gradient(135deg,rgba(255,183,76,.26),rgba(255,118,27,.18));box-shadow:0 0 22px rgba(255,166,0,.16)}
.quick-nav a.active{border-color:rgba(142,102,255,.45);box-shadow:0 10px 22px rgba(107,73,255,.16);background:rgba(255,255,255,.07)}
.shop-storage-cta.compact{margin-top:16px;display:flex;flex-direction:column;gap:14px}
.recovery-seat-fx.normal{border-color:rgba(105,230,255,.35);box-shadow:0 0 20px rgba(85,205,255,.16);background:rgba(7,17,38,.88)}
.recovery-seat-fx.vip{border-color:rgba(221,129,255,.48);box-shadow:0 0 22px rgba(182,90,255,.22);background:linear-gradient(180deg,rgba(35,14,63,.92),rgba(15,13,40,.94))}
.recovery-seat-fx.vip span{filter:drop-shadow(0 0 10px rgba(217,132,255,.6))}
.recovery-seat-fx.normal span{filter:drop-shadow(0 0 8px rgba(107,227,255,.45))}
.recovery-seat-fx.vip b{color:#f1a8ff}.recovery-seat-fx.normal b{color:#89edff}
.char-card.recovering.recovery-vip,.battle-character-card.recovering.recovery-vip{box-shadow:0 0 0 1px rgba(201,131,255,.24) inset,0 0 32px rgba(184,88,255,.12)}
.char-card.recovering.recovery-normal,.battle-character-card.recovering.recovery-normal{box-shadow:0 0 0 1px rgba(115,223,255,.18) inset,0 0 28px rgba(84,208,255,.10)}
.battle-character-card.recovery-vip .battle-char-avatar{box-shadow:0 0 0 2px rgba(210,118,255,.35),0 0 28px rgba(196,97,255,.22)}
.battle-character-card.recovery-normal .battle-char-avatar{box-shadow:0 0 0 2px rgba(95,222,255,.28),0 0 28px rgba(95,222,255,.18)}
.battle-character-card.recovery-vip .battle-char-avatar::after{content:"🛋️";position:absolute;right:-4px;bottom:-6px;font-size:28px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.35));animation:chairFloat 1.8s ease-in-out infinite}
.battle-character-card.recovery-normal .battle-char-avatar::after{content:"🪑";position:absolute;right:-2px;bottom:-4px;font-size:28px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.35));animation:chairFloat 1.8s ease-in-out infinite}
.battle-char-flags em.vip{background:rgba(190,107,255,.14);border-color:rgba(190,107,255,.24);color:#f1a8ff}
.battle-char-flags em.normal{background:rgba(78,211,255,.12);border-color:rgba(78,211,255,.22);color:#9deeff}
.shop-card.normal-chair-item{border-color:rgba(90,218,255,.22);box-shadow:0 0 28px rgba(90,218,255,.08)}
.shop-card.vip-chair-item{border-color:rgba(190,107,255,.28);box-shadow:0 0 28px rgba(190,107,255,.10)}
.shop-card .item-effect.vip{background:rgba(190,107,255,.10);border:1px solid rgba(190,107,255,.22);color:#f0b2ff}
.shop-card .item-effect.normal{background:rgba(78,211,255,.08);border:1px solid rgba(78,211,255,.18);color:#a6eeff}


/* ==================== V15.16: THẺ VIP + GIỚI HẠN NĂNG LƯỢNG ==================== */
.vip-status-section{margin-bottom:18px}.vip-summary{display:flex;flex-direction:column;gap:16px;background:linear-gradient(135deg,rgba(100,65,210,.13),rgba(10,21,47,.92))}
.vip-summary-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.vip-summary-stats>div{padding:14px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:5px}.vip-summary-stats span{font-size:12px;color:#9db0d3}.vip-summary-stats b{font-size:22px;color:#ffd56a}
.active-boost-list{display:flex;flex-wrap:wrap;gap:10px}.active-boost-chip{display:flex;align-items:center;gap:10px;padding:10px 13px;border-radius:15px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04)}.active-boost-chip>span{font-size:25px}.active-boost-chip div{display:flex;flex-direction:column;gap:2px}.active-boost-chip small{color:#9db0d3}.active-boost-chip.vip{border-color:rgba(184,107,255,.32);box-shadow:0 0 20px rgba(166,88,255,.08)}.active-boost-chip.cap{border-color:rgba(63,216,255,.28);box-shadow:0 0 20px rgba(63,216,255,.07)}
.shop-card:has(.vip-card-effect){border-color:rgba(184,107,255,.27);box-shadow:0 0 24px rgba(155,76,255,.08)}.shop-card:has(.energy-cap-effect){border-color:rgba(66,218,255,.25);box-shadow:0 0 24px rgba(66,218,255,.07)}.vip-card-effect{background:linear-gradient(135deg,rgba(169,91,255,.12),rgba(255,188,75,.07));border:1px solid rgba(188,115,255,.2);color:#f0c7ff}.energy-cap-effect{background:rgba(58,206,255,.08);border:1px solid rgba(58,206,255,.17);color:#9beaff}
.vip-mini-stat strong{font-size:18px!important}.vip-mini-stat small{color:#b9c7e5}
@media(max-width:900px){.vip-summary-stats{grid-template-columns:1fr 1fr}}@media(max-width:560px){.vip-summary-stats{grid-template-columns:1fr}}

/* ==================== V15.18: World Boss chu kỳ + chỉ số rương gọn ==================== */
.chest-warrior-mini{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.025);border-radius:14px}
.chest-warrior-mini>.eyebrow{white-space:nowrap;font-size:10px}
.chest-warrior-mini>div{display:flex;flex-wrap:wrap;gap:6px}
.chest-warrior-mini small{padding:5px 7px;border-radius:9px;background:rgba(255,255,255,.045);font-size:11px;color:#c9d4ed}
.chest-warrior-mini small b{margin-right:4px}
.chest-warrior-mini .common b{color:#dce5f6}.chest-warrior-mini .rare b{color:#58a6ff}.chest-warrior-mini .epic b{color:#c468ff}.chest-warrior-mini .legendary b{color:#ffd046}.chest-warrior-mini .mythic b{color:#ff668b}
.world-schedule-box{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px;padding:10px 12px;border-radius:13px;background:rgba(111,83,255,.08);border:1px solid rgba(111,83,255,.18)}
.world-schedule-box span{color:#bcd0f3}
.world-rank-panel{margin:16px 0;padding:14px;border-radius:18px;background:rgba(5,12,30,.5);border:1px solid rgba(255,255,255,.08)}
.world-rank-head{display:flex;justify-content:space-between;gap:14px;align-items:end;margin-bottom:10px}
.world-rank-head>div{display:flex;flex-direction:column;gap:3px}
.world-rank-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.world-rank-list>div{display:grid;grid-template-columns:1fr auto;gap:2px 9px;padding:8px 10px;border-radius:11px;background:rgba(255,255,255,.035)}
.world-rank-list small{grid-column:1/-1;color:#aebcda;font-size:10px}.world-rank-list span{color:#ffd166;font-weight:700}
.world-reward-admin{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px 14px;border:1px solid rgba(255,255,255,.1);border-radius:14px}.world-reward-admin legend{padding:0 8px;color:#ffd166;font-weight:800}
@media(max-width:760px){.chest-warrior-mini{align-items:flex-start;flex-direction:column}.world-rank-list{grid-template-columns:1fr}.world-reward-admin{grid-template-columns:1fr}}

/* ==================== V2.1 TESTER: LANGUAGE SWITCHER ==================== */
.language-switcher{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.045);color:#e7ebff;white-space:nowrap;margin-left:8px}
.language-switcher span{font-size:14px}.language-switcher select{appearance:none;border:0!important;outline:0;background:transparent!important;color:#e7ebff!important;font-size:12px;font-weight:800;padding:0!important;min-width:0;cursor:pointer}.language-switcher option{background:#0c1426;color:#fff}
html[lang="ru"] body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}html[lang="zh-CN"] body{font-family:Inter,"Microsoft YaHei","PingFang SC",system-ui,sans-serif}html[lang="th"] body{font-family:Inter,"Leelawadee UI",Tahoma,system-ui,sans-serif}
@media(max-width:760px){.topbar .language-switcher{order:99;margin:4px 0 0}.language-switcher select{max-width:120px}}

.auth-card>.language-switcher{display:flex;width:max-content;margin:0 0 12px auto}


/* V2.5 recursive star merge */
.fusion-math-fold{margin:14px 0}.fusion-math-fold summary{cursor:pointer;font-weight:800}.fusion-math-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px}.fusion-math-grid span{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.025)}.fusion-math-grid b{color:#ffd46b}.fusion-math-grid small{line-height:1.35;color:#b9c5df}.fusion-require-v25{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center}.fusion-require-v25 small{grid-column:1/-1;color:#93a7ca}@media(max-width:900px){.fusion-math-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.fusion-math-grid{grid-template-columns:1fr}.fusion-require-v25{grid-template-columns:1fr}}

/* ==================== V2.6: Hòm thư ==================== */
.mail-top-link{position:relative;display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:8px 12px;border:1px solid rgba(255,255,255,.10);border-radius:14px;background:rgba(255,255,255,.035);color:#eef3ff;text-decoration:none;font-size:13px}
.mail-top-link:hover,.mail-top-link.active{border-color:rgba(157,105,255,.48);background:rgba(132,82,255,.10)}
.mail-top-link>span{font-size:20px}.mail-top-link>em{position:absolute;right:-7px;top:-8px;min-width:22px;height:22px;padding:0 5px;border-radius:999px;display:grid;place-items:center;background:#ff416c;color:white;font-size:11px;font-style:normal;font-weight:900;border:2px solid #0b1223;box-shadow:0 4px 12px rgba(255,65,108,.4)}
.nav-mail-count{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#ff416c;color:#fff;font-size:10px;margin-left:3px}
.mailbox-page{padding-bottom:70px}.mailbox-title{align-items:flex-end}.mailbox-title h1{margin:4px 0 4px}.mailbox-title p{margin:0;color:#9fb0d0}.mailbox-summary{display:flex;gap:10px;flex-wrap:wrap}.mailbox-summary span{padding:9px 13px;border:1px solid rgba(255,255,255,.09);border-radius:13px;background:rgba(255,255,255,.035);color:#aebddd}.mailbox-summary b{color:#fff;font-size:18px}
.mailbox-actions-top{display:flex;justify-content:flex-end;gap:10px;margin:14px 0}.mailbox-actions-top form{margin:0}
.mailbox-layout{display:grid;grid-template-columns:minmax(300px,390px) minmax(0,1fr);gap:16px;align-items:start}.mail-list-panel,.mail-detail-panel{padding:0;overflow:hidden}.mail-list-head{display:flex;justify-content:space-between;gap:10px;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.07)}.mail-list-head span{color:#8292b3;font-size:12px}.mail-list{max-height:720px;overflow:auto}.mail-list-item{position:relative;display:flex;gap:12px;padding:15px 16px;text-decoration:none;color:#dfe8ff;border-bottom:1px solid rgba(255,255,255,.055);transition:.18s}.mail-list-item:hover,.mail-list-item.selected{background:rgba(124,86,255,.10)}.mail-list-item.unread{background:linear-gradient(90deg,rgba(125,83,255,.13),rgba(14,22,43,.35))}.mail-list-icon{width:38px;height:38px;flex:0 0 38px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.055);font-size:19px}.mail-list-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.mail-list-copy b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mail-list-copy small{color:#8191b1}.mail-list-copy em{color:#ffc766;font-size:11px;font-style:normal}.mail-unread-dot{position:absolute;right:12px;top:16px;width:9px;height:9px;border-radius:50%;background:#ff416c;box-shadow:0 0 12px rgba(255,65,108,.75)}
.mail-detail-panel{min-height:410px;padding:22px}.mail-empty-detail{min-height:360px;display:grid;place-items:center;align-content:center;text-align:center;color:#8595b7}.mail-empty-detail>div{font-size:54px}.mail-empty-detail h2{color:#eef3ff;margin:10px 0 4px}.mail-empty-detail p{max-width:460px}.mail-detail-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.075)}.mail-detail-head h2{margin:4px 0 6px}.mail-detail-head small{color:#8595b7}.mail-read-badge{padding:7px 10px;border-radius:999px;background:rgba(44,198,121,.12);color:#66e2a5;border:1px solid rgba(44,198,121,.22);white-space:nowrap}.mail-body{padding:22px 2px;line-height:1.75;color:#cad5ee}.mail-attachments{border-top:1px solid rgba(255,255,255,.075);padding-top:18px}.mail-attachment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.mail-attachment{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:12px;border-radius:15px;border:1px solid rgba(255,199,89,.2);background:rgba(255,187,56,.06)}.mail-attachment>span{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.06);font-size:22px}.mail-attachment div{display:flex;flex-direction:column}.mail-attachment small{color:#93a4c4}.mail-attachment em{font-style:normal;color:#ffd36a;font-size:11px}.mail-attachment.claimed{opacity:.58;border-color:rgba(91,214,145,.16);background:rgba(48,180,113,.05)}.mail-attachment.claimed em{color:#63d99a}.mail-detail-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;flex-wrap:wrap}.mail-detail-actions form{margin:0}
@media(max-width:900px){.mailbox-layout{grid-template-columns:1fr}.mail-list{max-height:390px}.mail-attachment-grid{grid-template-columns:1fr}.mailbox-title{align-items:flex-start}.mailbox-summary{width:100%}}
@media(max-width:640px){.mail-top-link b{display:none}.mail-top-link{padding:8px 10px}.mailbox-actions-top{justify-content:stretch;flex-direction:column}.mailbox-actions-top form,.mailbox-actions-top button{width:100%}.mail-detail-head{flex-direction:column}.mail-detail-actions{flex-direction:column}.mail-detail-actions form,.mail-detail-actions button{width:100%}}


/* TESTER V1.0 admin player insight + leaderboard privacy */
.admin-row.user-row{grid-template-columns:55px 1.05fr 90px 105px 120px 170px 90px 125px 55px 55px 120px 170px 110px 75px}.admin-scroll .admin-list{min-width:1720px}.admin-ip-cell{display:flex;flex-direction:column;gap:2px;word-break:break-word}.admin-ip-cell b{color:#7dd3fc}.admin-ip-cell em{font-style:normal;font-size:.7rem;color:#7d8ca8}.admin-player-modal{width:min(980px,94vw);max-height:88vh;overflow:auto}.admin-player-summary{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 18px}.admin-player-summary span{padding:8px 11px;border-radius:12px;background:#ffffff08;border:1px solid #ffffff12}.admin-player-char-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-player-char{display:grid;grid-template-columns:84px 1fr;gap:13px;padding:14px;border:1px solid #ffffff12;border-radius:18px;background:#0e1728}.admin-player-char-avatar{width:84px;height:84px;border-radius:16px;display:grid;place-items:center;background:#ffffff08;font-size:38px;overflow:hidden}.admin-player-char-avatar img{width:100%;height:100%;object-fit:contain}.admin-player-char-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.admin-player-char-head b{font-size:1.04rem}.admin-player-char-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px;font-size:.85rem}.admin-player-char-stats span{padding:6px 8px;border-radius:10px;background:#ffffff06}.admin-player-char-stats em{font-style:normal;color:#7d8ca8;font-size:.75rem}.admin-player-buff,.admin-player-recovery{margin-top:7px;padding:6px 8px;border-radius:10px;background:#6d28d922;color:#d8b4fe;font-size:.82rem}.admin-player-recovery{background:#0891b222;color:#a5f3fc}@media(max-width:760px){.admin-player-char-grid{grid-template-columns:1fr}.admin-player-char{grid-template-columns:70px 1fr}.admin-player-char-avatar{width:70px;height:70px}.admin-player-char-stats{grid-template-columns:1fr}}

/* ===== TESTER V1.0 END-OF-TEST SOL REWARD ANNOUNCEMENT ===== */
.tester-reward-ticker{position:relative;overflow:hidden;border-top:1px solid rgba(255,205,74,.24);border-bottom:1px solid rgba(255,205,74,.28);background:linear-gradient(90deg,rgba(62,26,8,.96),rgba(98,52,6,.94),rgba(62,26,8,.96));color:#fff4c2;cursor:pointer;box-shadow:0 10px 28px rgba(0,0,0,.18);z-index:12}
.tester-reward-ticker::before,.tester-reward-ticker::after{content:"";position:absolute;top:0;bottom:0;width:74px;z-index:2;pointer-events:none}.tester-reward-ticker::before{left:0;background:linear-gradient(90deg,#321606,transparent)}.tester-reward-ticker::after{right:0;background:linear-gradient(270deg,#321606,transparent)}
.tester-reward-ticker-track{display:flex;width:max-content;min-width:100%;padding:10px 0;animation:testerRewardMarquee 34s linear infinite;will-change:transform}.tester-reward-ticker:hover .tester-reward-ticker-track{animation-play-state:paused}.tester-reward-ticker-track span{font-weight:900;font-size:14px;letter-spacing:.35px;white-space:nowrap;padding-left:100vw;text-shadow:0 2px 8px rgba(0,0,0,.45)}
@keyframes testerRewardMarquee{from{transform:translateX(0)}to{transform:translateX(-100%)}}
.tester-reward-modal{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:18px}.tester-reward-modal.hidden{display:none}.tester-reward-backdrop{position:absolute;inset:0;background:rgba(2,5,16,.82);backdrop-filter:blur(8px)}
.tester-reward-dialog{position:relative;width:min(720px,96vw);max-height:92vh;overflow:auto;border-radius:28px;padding:30px;background:radial-gradient(circle at 50% -10%,rgba(255,196,45,.19),transparent 36%),linear-gradient(180deg,#131b38 0%,#090f24 100%);border:1px solid rgba(255,211,82,.36);box-shadow:0 34px 110px rgba(0,0,0,.62),0 0 55px rgba(255,183,45,.10);color:#eef3ff;text-align:center}
.tester-reward-dialog::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 55px rgba(255,201,67,.055)}
.tester-reward-close{position:absolute;right:16px;top:14px;width:42px;height:42px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(255,255,255,.055);color:#fff;font-size:28px;cursor:pointer}.tester-reward-close:hover{background:rgba(255,255,255,.12)}
.tester-reward-crown{font-size:56px;filter:drop-shadow(0 0 22px rgba(255,199,65,.42));animation:testerRewardFloat 2.2s ease-in-out infinite}@keyframes testerRewardFloat{50%{transform:translateY(-5px) scale(1.035)}}
.tester-reward-kicker{display:block;margin-top:2px;color:#ffc94e;font-size:12px;font-weight:900;letter-spacing:1.8px}.tester-reward-dialog h2{margin:7px 0 8px;font-size:clamp(25px,4vw,38px);line-height:1.15;color:#fff}.tester-reward-lead{max-width:620px;margin:0 auto 18px;color:#cbd6f3;line-height:1.6}
.tester-rank-prize-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.tester-rank-prize{display:flex;flex-direction:column;gap:6px;padding:13px 8px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.085)}.tester-rank-prize b{font-size:13px;color:#dbe5ff}.tester-rank-prize strong{font-size:20px;color:#ffd35a}.tester-rank-prize.champion{background:linear-gradient(180deg,rgba(255,190,47,.17),rgba(255,138,32,.055));border-color:rgba(255,205,74,.36)}
.tester-reward-boards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.tester-reward-boards>div{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;text-align:left;padding:13px 16px;border-radius:17px;background:rgba(92,101,255,.075);border:1px solid rgba(125,135,255,.16)}.tester-reward-boards span{grid-row:1/3;font-size:26px}.tester-reward-boards b{font-size:15px}.tester-reward-boards small{color:#9fb0d7}
.tester-reward-important{padding:14px 16px;border-radius:17px;background:rgba(255,85,104,.075);border:1px solid rgba(255,107,124,.17);text-align:left}.tester-reward-important b{color:#ffb15a}.tester-reward-important p{margin:6px 0 0;line-height:1.55;color:#dbe3f6}.tester-reward-example{margin:13px 0;color:#b9c6e5;font-size:13px}.tester-reward-ok{width:100%;margin-top:2px;min-height:48px;font-weight:900}.tester-reward-modal-open{overflow:hidden}
@media(max-width:760px){.tester-rank-prize-list{grid-template-columns:1fr 1fr}.tester-rank-prize.champion{grid-column:1/-1}.tester-reward-dialog{padding:25px 18px}.tester-reward-boards{grid-template-columns:1fr}.tester-reward-ticker-track{animation-duration:28s}.tester-reward-ticker-track span{font-size:13px}}

/* ===== GAMEUM TESTER V1.0: ADMIN ANNOUNCEMENTS + GIFT CODE MAIL ===== */
.game-announcement-ticker{position:relative;overflow:hidden;border-top:1px solid rgba(255,205,74,.24);border-bottom:1px solid rgba(255,205,74,.28);background:linear-gradient(90deg,rgba(62,26,8,.96),rgba(98,52,6,.94),rgba(62,26,8,.96));color:#fff4c2;cursor:pointer;box-shadow:0 10px 28px rgba(0,0,0,.18);z-index:12}
.game-announcement-ticker::before,.game-announcement-ticker::after{content:"";position:absolute;top:0;bottom:0;width:74px;z-index:2;pointer-events:none}.game-announcement-ticker::before{left:0;background:linear-gradient(90deg,#321606,transparent)}.game-announcement-ticker::after{right:0;background:linear-gradient(270deg,#321606,transparent)}
.game-announcement-ticker-track{display:flex;width:max-content;min-width:100%;padding:10px 0;animation:gameAnnouncementMarquee 36s linear infinite;will-change:transform}.game-announcement-ticker:hover .game-announcement-ticker-track{animation-play-state:paused}.game-announcement-ticker-track span{font-weight:900;font-size:14px;letter-spacing:.35px;white-space:nowrap;padding-left:100vw;text-shadow:0 2px 8px rgba(0,0,0,.45)}
@keyframes gameAnnouncementMarquee{from{transform:translateX(0)}to{transform:translateX(-100%)}}
.game-announcement-modal{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:18px}.game-announcement-modal.hidden{display:none}.game-announcement-backdrop{position:absolute;inset:0;background:rgba(2,5,16,.84);backdrop-filter:blur(8px)}
.game-announcement-dialog{position:relative;width:min(720px,96vw);max-height:92vh;overflow:auto;border-radius:28px;padding:30px;background:radial-gradient(circle at 50% -10%,rgba(255,196,45,.18),transparent 36%),linear-gradient(180deg,#131b38 0%,#090f24 100%);border:1px solid rgba(255,211,82,.36);box-shadow:0 34px 110px rgba(0,0,0,.62),0 0 55px rgba(255,183,45,.10);color:#eef3ff;text-align:center}
.game-announcement-close{position:absolute;right:16px;top:14px;width:42px;height:42px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(255,255,255,.055);color:#fff;font-size:28px;cursor:pointer}.game-announcement-close:hover{background:rgba(255,255,255,.12)}
.game-announcement-icon{font-size:54px;filter:drop-shadow(0 0 22px rgba(255,199,65,.4));animation:gameAnnFloat 2.2s ease-in-out infinite}@keyframes gameAnnFloat{50%{transform:translateY(-5px) scale(1.035)}}
.game-announcement-kicker{display:block;margin-top:2px;color:#ffc94e;font-size:12px;font-weight:900;letter-spacing:1.8px}.game-announcement-dialog h2{margin:7px 0 14px;font-size:clamp(25px,4vw,38px);line-height:1.15;color:#fff}.game-announcement-body{padding:18px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);text-align:left;white-space:normal;line-height:1.72;color:#dce5f8}.game-announcement-ok{width:100%;margin-top:16px;min-height:48px;font-weight:900}.game-announcement-modal-open{overflow:hidden}

.announcement-admin-form textarea{width:100%;resize:vertical}.check-label{display:flex!important;align-items:center;gap:9px;min-height:44px}.check-label input[type="checkbox"]{width:auto!important;min-width:18px;height:18px}.admin-form-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.admin-inline-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.admin-inline-actions form{margin:0}.sub-title{margin-top:24px}
.gift-code-admin-form{display:grid;gap:16px}.gift-code-main-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.gift-code-main-grid label{display:flex;flex-direction:column;gap:6px}.gift-code-main-grid label small{color:var(--muted,#93a3c0);font-weight:400}.gift-item-builder{padding:14px;border-radius:16px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.08)}.gift-item-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.gift-item-head>div{display:flex;flex-direction:column;gap:3px}.gift-item-head small{color:var(--muted,#93a3c0)}#giftItemRows{display:grid;gap:8px}.gift-item-row{display:grid;grid-template-columns:minmax(220px,1fr) 110px 48px;gap:8px;align-items:center}.gift-item-row select,.gift-item-row input{width:100%}
@media(max-width:980px){.gift-code-main-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.game-announcement-dialog{padding:24px 16px}.game-announcement-ticker-track{animation-duration:29s}.game-announcement-ticker-track span{font-size:13px}.gift-code-main-grid{grid-template-columns:1fr}.gift-item-head{align-items:flex-start;flex-direction:column}.gift-item-row{grid-template-columns:1fr 90px 44px}.admin-form-actions .btn{flex:1 1 180px}}

/* ===== TESTER V1.0 hotfix: Admin user table UX + announcement close ===== */
.user-admin-scroll{
  position:relative;
  overflow-x:auto;
  overflow-y:visible;
  cursor:grab;
  overscroll-behavior-x:contain;
  scrollbar-gutter:stable;
  -webkit-overflow-scrolling:touch;
}
.user-admin-scroll.dragging{cursor:grabbing;user-select:none}
.admin-scroll-hint{
  margin:8px 0 9px;
  padding:8px 11px;
  border:1px solid #ffffff12;
  border-radius:11px;
  background:#ffffff07;
  color:#9fb0ca;
  font-size:.82rem;
}
.admin-row.user-row .admin-user-save,
.admin-row.user-row .admin-save-sticky-head{
  position:sticky;
  right:7px;
  z-index:8;
}
.admin-row.user-row .admin-user-save{
  min-width:78px;
  box-shadow:-14px 0 20px #0e1728,0 7px 22px #0005;
}
.admin-row.user-row .admin-save-sticky-head{
  display:flex;
  align-items:center;
  justify-content:center;
  align-self:stretch;
  padding:7px 5px;
  border-radius:9px;
  background:#182238;
  box-shadow:-14px 0 20px #0e1728;
}

.game-announcement-backdrop{z-index:1;pointer-events:auto}
.game-announcement-dialog{z-index:2;pointer-events:auto;isolation:isolate}
.game-announcement-close{
  z-index:20;
  pointer-events:auto!important;
  touch-action:manipulation;
  display:grid;
  place-items:center;
  line-height:1;
}
.game-announcement-ok{position:relative;z-index:3;touch-action:manipulation}

@media(max-width:760px){
  .admin-scroll-hint{font-size:.76rem}
  .admin-row.user-row .admin-user-save{min-width:72px}
}
.admin-scroll-top{
  position:sticky;
  top:64px;
  z-index:24;
  height:16px;
  overflow-x:auto;
  overflow-y:hidden;
  margin:0 0 5px;
  border-radius:999px;
  background:#0b1220e8;
  box-shadow:0 5px 16px #0004;
  scrollbar-color:#64748b #111827;
}
.admin-scroll-top>div{height:1px;min-width:100%}
@media(max-width:760px){.admin-scroll-top{top:59px}}

/* TESTER V1.0: mở rương bằng nhiều vé */
.ticket-row-quantity{display:grid;grid-template-columns:minmax(125px,160px) 1fr;gap:9px;align-items:end;width:100%}.ticket-row-quantity small{grid-column:1/-1}.ticket-quantity-control{display:grid;gap:5px;text-align:left}.ticket-quantity-control label{font-size:.76rem;font-weight:900;color:#fbbf24}.ticket-quantity-control input{min-height:44px;text-align:center;font-weight:1000;border-color:#f59e0b66}.ticket-row-quantity #openTicketBtn{min-height:44px;width:100%}
@media(max-width:560px){.ticket-row-quantity{grid-template-columns:1fr}.ticket-row-quantity small{grid-column:auto}}
