:root{--navy:#061b43;--blue:#1478ff;--cyan:#15c9ff;--ink:#10203b;--muted:#6d7890;--line:#dce4f1;--bg:#f3f6fb;--white:#fff;--danger:#d94141;--shadow:0 14px 42px rgba(12,37,81,.12);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:linear-gradient(180deg,#edf4ff,#f7f9fc 500px);min-height:100vh}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
.action-locked,.action-locked:hover,[aria-disabled="true"]{pointer-events:none!important;opacity:.58!important;cursor:wait!important;filter:saturate(.65)}
.hidden{display:none!important}
.app-shell{width:min(1180px,100%);margin:auto;min-height:100vh;background:#fff;box-shadow:0 0 80px rgba(9,31,70,.1);padding-bottom:86px}
.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(220,228,241,.85);z-index:30}
.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--navy)}
.brand-mark,.mini-avatar,.avatar-button{display:grid;place-items:center;background:linear-gradient(145deg,var(--blue),var(--cyan));color:#fff;font-weight:900}
.brand-mark{width:42px;height:42px;border-radius:14px;font-size:22px}
.brand-copy{display:grid}.brand-copy b{font-size:20px;line-height:1}.brand-copy small{font-size:10px;letter-spacing:1.4px;margin-top:4px}
.top-actions{display:flex;align-items:center;gap:10px}
.icon-button,.auth-button,.avatar-button{border:0;border-radius:13px;min-height:42px}
.icon-button{width:42px;background:#edf3ff;color:var(--blue);font-size:24px}
.auth-button{background:var(--navy);color:#fff;padding:8px 15px}.auth-button span,.auth-button small{display:block}.auth-button small{opacity:.66;font-size:10px}
.avatar-button{width:42px;height:42px;min-height:42px;flex:0 0 42px;overflow:hidden;position:relative;border-radius:50%;padding:0;box-shadow:0 0 0 2px #e7f0ff}.avatar-button img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}.avatar-button.has-image span{display:none}
.account-menu{position:fixed;top:66px;right:max(16px,calc((100vw - 1130px)/2));width:270px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);z-index:50;padding:10px}
.account-menu-head{display:flex;align-items:center;gap:10px;padding:8px 8px 12px;border-bottom:1px solid var(--line);margin-bottom:6px}.account-menu-head div{display:grid}.account-menu-head small{color:var(--muted);margin-top:3px}
.mini-avatar{width:38px;height:38px;border-radius:50%;overflow:hidden;flex:none}.mini-avatar img{width:100%;height:100%;object-fit:cover}
.account-menu>button{width:100%;border:0;background:transparent;text-align:left;padding:11px;border-radius:10px;color:var(--ink)}.account-menu>button:hover{background:#f1f5fb}.account-menu .danger{color:var(--danger)}
.search-bar{position:sticky;top:72px;z-index:25;display:flex;padding:10px 22px;background:#fff;border-bottom:1px solid var(--line);gap:8px}.search-bar input{flex:1}.search-bar button{border:0;background:#edf3ff;color:var(--blue);border-radius:11px;padding:0 14px}
main{min-height:70vh}.page{display:none;padding:24px}.page.active{display:block}
.boi-hero{min-height:390px;border-radius:28px;padding:50px;overflow:hidden;position:relative;background:radial-gradient(circle at 80% 10%,#1a7fff 0,transparent 35%),linear-gradient(135deg,#031332,#092967);color:#fff;display:flex;align-items:center}
.hero-glow{position:absolute;width:300px;height:300px;border-radius:50%;background:#14ccff44;filter:blur(50px);right:-80px;bottom:-100px}
.hero-copy{position:relative;z-index:2;max-width:650px}.hero-logo{display:flex;align-items:flex-end;gap:10px}.hero-logo strong{font-size:58px;line-height:.9}.hero-logo span{color:var(--cyan);font-weight:900;letter-spacing:3px}
.hero-copy h1{font-size:clamp(28px,5vw,52px);line-height:1.03;margin:20px 0}.hero-copy p{font-size:17px;line-height:1.65;color:#d9e7ff}
.hero-badges{display:flex;flex-wrap:wrap;gap:8px}.hero-badges span{background:#ffffff14;border:1px solid #ffffff22;padding:8px 12px;border-radius:999px;font-size:13px}
.hero-button,.primary,.form-submit{border:0;background:linear-gradient(135deg,var(--blue),#0bbde7);color:#fff;font-weight:800;border-radius:13px;padding:13px 18px}.hero-button{margin-top:22px}
.hero-device{margin-left:auto;position:relative;width:180px;height:250px;border:7px solid #87baff;border-radius:30px;transform:rotate(7deg);background:#071a3a;box-shadow:0 25px 60px #0005}.device-screen{height:100%;display:grid;place-items:center}.device-screen span{font-size:38px;font-weight:900}.device-screen i{position:absolute;width:22px;height:22px;border:2px solid #1dd4ff;border-radius:50%}.device-screen i:nth-child(1){top:40px;left:30px}.device-screen i:nth-child(2){right:30px;top:90px}.device-screen i:nth-child(3){bottom:38px;left:55px}.cursor-shape{position:absolute;right:-25px;bottom:40px;font-size:35px;color:#fff}
.feed-head,.section-heading,.gift-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px}.feed-head{padding:32px 5px 14px}.feed-head h2,.section-heading h2{margin:3px 0}.section-kicker,.section-heading small{font-size:11px;font-weight:900;letter-spacing:1.5px;color:var(--blue)}
.primary.small{padding:10px 14px}.quick-composer{display:flex;align-items:center;gap:10px;padding:12px;background:#f5f8fc;border:1px solid var(--line);border-radius:16px}.quick-composer button{border:0;background:#fff;border-radius:999px;padding:11px 16px;color:var(--muted)}.quick-composer button:nth-child(2){flex:1;text-align:left}
.feed{display:grid;gap:14px;margin-top:14px}.post{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.post-head{display:flex;align-items:center;gap:10px;padding:15px}.post-avatar,.comment-avatar{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#e5efff;color:var(--blue);font-weight:900;overflow:hidden}.post-avatar img,.comment-avatar img{width:100%;height:100%;object-fit:cover}.post-author{display:grid}.post-author small{color:var(--muted);margin-top:2px}.post-text{padding:0 15px;line-height:1.6}.feeling{color:var(--blue);font-size:13px;font-weight:700}.post-media img,.post-media video{width:100%;max-height:600px;object-fit:cover;background:#08172e}.post-stats,.post-actions{display:flex;justify-content:space-between;padding:11px 15px;color:var(--muted);font-size:13px}.post-actions{border-top:1px solid var(--line);padding:5px}.post-actions button{flex:1;border:0;background:#fff;padding:10px;border-radius:8px}.post-actions button:hover,.post-actions .liked{background:#edf4ff;color:var(--blue)}
.verified-badge{display:inline-grid!important;place-items:center;width:17px;height:17px;margin-left:5px;border-radius:50%;background:#1689ff;color:#fff;font-size:11px;font-weight:1000;line-height:1;vertical-align:1px;box-shadow:0 0 0 2px #eaf4ff}
.post-menu-wrap{margin-left:auto;position:relative}.post-more{border:0;background:#f1f4f8;border-radius:9px;padding:6px 9px}.post-menu{position:absolute;right:0;background:#fff;box-shadow:var(--shadow);border:1px solid var(--line);padding:5px;border-radius:10px}.post-menu button{border:0;background:transparent;color:var(--danger);padding:7px 16px}
.page-title-card{border-radius:25px;padding:32px;color:#fff;background:linear-gradient(135deg,#09265c,#126be3)}.page-title-card h1{font-size:clamp(28px,5vw,45px);margin:8px 0}.page-title-card p{max-width:750px;color:#e5efff}.cards-title{padding:21px 26px;background:linear-gradient(135deg,#20135d,#744ed1)}.cards-title h1{margin:4px 0;font-size:clamp(27px,4vw,38px)}.cards-title p{margin:6px 0 10px}.cards-title .wallet{display:inline-flex;align-items:center;gap:4px;padding:7px 12px}.gift-title{background:linear-gradient(135deg,#10394f,#03a6a6)}
.stage-leaderboard{position:relative;min-height:338px;border-radius:25px;overflow:hidden;color:#fff;background:#150704 url("hinhanh/xep-hang/nen-lau-dai-dung-nham.png") center 56%/cover no-repeat;box-shadow:inset 0 0 70px #050000,0 18px 42px #3b080830}.stage-leaderboard:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080303f2 0,#170706dd 48%,#1605024a 72%,#030000a6 100%);pointer-events:none}.leaderboard-copy{position:relative;z-index:5;width:min(66%,680px);padding:18px 30px 14px}.leaderboard-copy h1{margin:4px 0;font-size:clamp(25px,4.2vw,42px);font-family:Georgia,serif;color:#f5d895;text-shadow:0 3px 9px #000}.leaderboard-copy>p{margin:0 0 7px;color:#f1c8b8}.leaderboard-list{display:grid;gap:5px}.leaderboard-row{display:grid;grid-template-columns:76px minmax(100px,1fr) auto;align-items:center;gap:10px;min-height:72px;padding:1px 12px 1px 3px;border:1px solid #c7785859;border-radius:12px;background:linear-gradient(90deg,#140503e6,#4b130db8);backdrop-filter:blur(5px)}.rank-badge{display:block;width:70px;height:70px;object-fit:contain;filter:drop-shadow(0 3px 8px #0008)}.leaderboard-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:900}.leaderboard-row strong{color:#ffe1ce;font-size:12px}.leaderboard-row.rank-1{border-color:#ffd76c99;box-shadow:inset 0 0 20px #ffba2225}.leaderboard-warrior-wrap{position:absolute;z-index:3;right:-2%;bottom:-4%;width:48%;height:116%;transform-origin:50% 88%;animation:leaderWarriorIdle 3.2s ease-in-out infinite}.leaderboard-warrior{width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 16px 22px #000)}.leaderboard-sword{position:absolute;right:9%;top:46%;width:42%;height:47%;object-fit:contain;transform:rotate(-35deg);filter:brightness(1.25) drop-shadow(0 0 10px #ff9d68)}.leaderboard-smoke{position:absolute;z-index:2;width:52%;height:55%;border-radius:50%;background:radial-gradient(circle,#ffb09455 0,#a7341c29 38%,transparent 70%);filter:blur(22px);animation:leaderSmoke 7s ease-in-out infinite}.smoke-one{right:-5%;bottom:-18%}.smoke-two{right:16%;top:-30%;animation-delay:-3.5s;opacity:.55}@keyframes leaderWarriorIdle{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-7px) scale(1.012)}}@keyframes leaderSmoke{0%,100%{transform:translate(-5%,8%) scale(.9);opacity:.35}50%{transform:translate(12%,-8%) scale(1.16);opacity:.8}}
.wallet{display:inline-block;padding:9px 14px;border-radius:999px;background:#ffffff1b;border:1px solid #ffffff38}.content-section{margin-top:24px}.section-heading>span{color:var(--muted);font-size:13px}
.release-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,1fr);overflow:auto;gap:13px;padding:4px 2px 12px}.release-card{border-radius:18px;border:1px solid var(--line);overflow:hidden;background:#fff;cursor:pointer}.release-art{position:relative;height:150px;background:#101725;color:#fff;overflow:hidden}.release-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.release-state{position:absolute;z-index:2;top:12px;left:12px;font-size:11px;background:#061225b8;border:1px solid #ffffff55;backdrop-filter:blur(5px);border-radius:99px;padding:6px 9px}.release-body{padding:14px}.release-body h3{margin:0 0 8px}.release-body time{color:var(--blue);font-weight:800}.release-body p{color:var(--muted);font-size:13px}.form-row small{color:var(--muted);font-size:11px}.form-image-preview{display:block;margin-top:8px;border:1px solid var(--line);object-fit:cover}.form-image-preview.avatar{width:90px;height:90px;border-radius:14px}.form-image-preview.cover{width:100%;height:105px;border-radius:12px}
.page-search{display:flex;width:100%;border:1px solid var(--line);border-radius:15px;background:#fff;padding:5px}.page-search input{border:0;outline:0;flex:1;padding:10px;min-width:0}.page-search button{width:44px;border:0;border-radius:11px;background:var(--blue);color:#fff;font-size:21px}.search-message{min-height:22px;color:var(--muted);padding:8px 3px;font-size:13px}
.game-list{display:grid;gap:12px}.game-row{display:grid;grid-template-columns:112px minmax(0,1fr) auto;column-gap:18px;row-gap:7px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:11px;background:#fff;cursor:pointer}.game-row:hover{border-color:#92baff;box-shadow:0 8px 25px #0c255115}.game-avatar{width:112px;height:96px;border-radius:14px;object-fit:cover;object-position:center;background:linear-gradient(145deg,var(--game-color,#176fe8),#07162e);display:grid;place-items:center;color:#fff;font-size:25px;font-weight:900}.game-row>div{min-width:0;padding-left:2px}.game-row h3{margin:0 0 5px}.game-row p{margin:4px 0;color:var(--muted)}.game-date{font-weight:800;color:var(--blue);white-space:nowrap}
.summon-panel{display:flex;justify-content:space-between;gap:20px;align-items:center;background:#f8f5ff;border:1px solid #ddd2ff;border-radius:18px;padding:17px;margin-top:20px}.summon-panel p{margin:6px 0}.summon-panel em{color:var(--muted);font-size:12px}.summon-actions{display:flex;gap:8px}.summon-actions button{border:0;border-radius:12px;padding:11px;background:#5a38be;color:#fff}.summon-actions b{display:block;font-size:11px;margin-top:4px}
.rarity-tabs{display:flex;gap:7px;margin:18px 0}.rarity-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px}.rarity-tabs .active{background:#281568;color:#fff;border-color:#281568}
.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.collect-card{display:grid;grid-template-columns:130px 1fr;border:1px solid var(--line);border-radius:17px;overflow:hidden;background:#fff;min-height:150px}.card-art{position:relative;display:grid;place-items:center;background:linear-gradient(140deg,#173867,#07172f);color:#fff}.collect-card.super .card-art{background:linear-gradient(140deg,#fdba3b,#7f3bdb)}.collect-card.rare .card-art{background:linear-gradient(140deg,#3c8cff,#4930ae)}.weapon-symbol{font-size:45px}.owned-badge{position:absolute;bottom:7px;background:#0007;padding:4px 7px;border-radius:999px;font-size:10px}.card-info{padding:13px}.card-info h3{margin:0 0 9px}.card-value{font-weight:900;color:#e79600}.card-owner-count,.rank-list{font-size:12px;color:var(--muted);margin-top:6px}.rank-list{display:grid;gap:3px}
.gift-toolbar{margin:10px 0 0;padding:7px 4px;background:#fff;color:var(--navy)}.gift-toolbar b{font-size:20px}.gift-list{display:grid;gap:10px;margin-top:10px}.gift-group{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}.gift-group-head{display:flex;align-items:center;gap:9px;width:100%;border:0;background:#fff;padding:10px 12px;text-align:left}.gift-game-mark{width:38px;height:38px;border-radius:11px;background:var(--game-color);color:#fff;display:grid;place-items:center;font-weight:900}.gift-game-copy{display:grid;flex:1}.gift-game-copy small{color:var(--muted);font-size:11px}.gift-codes{display:none;border-top:1px solid var(--line)}.gift-group.open .gift-codes{display:block}.gift-row{padding:8px 11px;border-bottom:1px solid #edf1f7}.gift-row:last-child{border:0}.code-text,.code-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.code-text code{font-size:15px;font-weight:900;overflow-wrap:anywhere}.code-buttons{display:flex;align-items:center;gap:6px}.code-buttons button{border:0;border-radius:8px;padding:6px 9px;background:#edf4ff;color:var(--blue);font-weight:800}.code-buttons .code-delete{width:29px;height:29px;padding:0;border-radius:50%;background:#fff0f0;color:#c72626;font-size:20px;line-height:1}.code-meta{margin-top:4px;justify-content:flex-start}.code-meta p{margin:0;color:var(--muted);font-size:12px}.status-pill{background:#d9f7e9;color:#087549;padding:3px 7px;border-radius:99px;font-size:10px;white-space:nowrap}.status-pill.expired{background:#f7e3e3;color:#a22}.suggest-wrap{position:relative}.suggestions{position:absolute;left:0;right:0;top:58px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);z-index:32;padding:6px}.suggestions button{width:100%;border:0;background:#fff;text-align:left;padding:10px;border-radius:9px}.suggestions button:hover{background:#edf4ff}
.gift-code-entry{display:none;margin:-2px 12px 6px auto;border:1px solid #bde8ca;border-radius:8px;padding:5px 9px;background:#f0fff4;color:#159447;font-size:12px;font-weight:900}.gift-group.open .gift-code-entry{display:block}.gift-code-fields{margin:0 0 16px;padding:14px;border:1px solid var(--line);border-radius:15px}.gift-code-fields legend{padding:0 7px;font-weight:900;color:#12284b}
.modal-layer{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px}.modal-backdrop{position:absolute;inset:0;background:#02102bcc;backdrop-filter:blur(5px)}.modal{position:relative;background:#fff;border-radius:22px;width:min(620px,100%);max-height:92vh;overflow:auto;padding:25px;box-shadow:0 30px 90px #0007}.modal.wide{width:min(920px,100%)}.modal-close{position:absolute;right:13px;top:13px;border:0;background:#edf1f7;border-radius:50%;width:34px;height:34px;font-size:20px}.modal h2{margin-top:0;padding-right:30px}.subtitle{color:var(--muted);line-height:1.5}.form-row{display:grid;gap:6px;margin:13px 0}.form-row label{font-weight:800;font-size:13px}.form-row input,.form-row textarea,.form-row select,.search-bar input{width:100%;border:1px solid var(--line);border-radius:11px;padding:11px;background:#fff}.form-row textarea{min-height:120px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.secondary{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:12px;padding:12px 17px}.form-note{color:var(--muted);font-size:12px;line-height:1.5}.media-preview{border:1px dashed #aebbd0;min-height:90px;border-radius:12px;padding:9px;display:flex;gap:7px;overflow:auto;color:var(--muted);align-items:center}.media-preview img,.media-preview video{width:110px;height:82px;object-fit:cover;border-radius:9px}.profile-head{display:flex;gap:14px;align-items:center}.profile-avatar{width:65px;height:65px;border-radius:50%;overflow:hidden;background:#e8f1ff;display:grid;place-items:center;font-weight:900}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0}.profile-stats article{background:#f2f6fb;border-radius:12px;padding:12px;text-align:center}.profile-stats b,.profile-stats small{display:block}.profile-stats small{color:var(--muted);margin-top:4px}.status-box{padding:14px;border-radius:13px;background:#e8f5ff;color:#135d9c}.status-box.warning{background:#fff2dc;color:#92520c}.status-box.loading{background:#eff5ff;color:#40668e;text-align:center}.comment-list{display:grid;gap:10px}.comment-item{display:flex;gap:10px;background:#f6f8fc;padding:10px;border-radius:12px}.comment-item div{flex:1;min-width:0}.comment-item b,.comment-item small{display:block}.comment-item small{color:var(--muted)}.comment-item p{margin-bottom:8px}.comment-image{display:block;width:min(100%,520px);max-height:430px;object-fit:cover;border-radius:13px;margin-top:8px;background:#08172e}.comment-media-row{display:flex;align-items:center;gap:10px;margin:8px 0 13px}.comment-image-button{display:inline-flex;align-items:center;gap:6px;padding:9px 13px;border:1px solid var(--line);border-radius:999px;color:var(--blue);font-weight:800;cursor:pointer}.comment-image-button input{display:none}.comment-image-preview img{width:78px;height:58px;object-fit:cover;border-radius:9px}.comment-compose{display:flex;gap:10px}.comment-compose textarea{flex:1}
.game-detail-head{display:grid;grid-template-columns:110px 1fr;gap:15px;align-items:center}.game-detail-head .game-avatar{width:110px;height:95px}.game-gallery{position:relative;margin:16px 0;border-radius:16px;overflow:hidden;background:#07172e}.game-gallery img{width:100%;height:min(55vw,480px);object-fit:cover;display:none}.game-gallery img.active{display:block}.gallery-controls{position:absolute;inset:0;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.gallery-controls button{pointer-events:auto;border:0;background:#0007;color:#fff;width:40px;height:50px;font-size:22px}.download-links{display:flex;flex-wrap:wrap;gap:8px}.download-links a{background:var(--blue);color:#fff;text-decoration:none;border-radius:11px;padding:10px 13px;font-weight:800}
.auto-products{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.auto-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}.auto-card-art{height:115px;display:grid;place-items:center;color:#fff;font-size:40px;background:linear-gradient(145deg,#1478ff,#072152)}.auto-card:nth-child(2) .auto-card-art{background:linear-gradient(145deg,#7248d8,#25145d)}.auto-card:nth-child(3) .auto-card-art{background:linear-gradient(145deg,#05a4a7,#083d50)}.auto-card-body{padding:12px}.auto-card h3{font-size:14px;margin:0 0 8px}.auto-card button{width:100%;border:0;background:#edf4ff;color:var(--blue);padding:9px;border-radius:9px}.video-list{display:grid;gap:10px}.video-item{border:1px solid var(--line);border-radius:13px;padding:12px}.video-item a{color:var(--blue);font-weight:800}
.reveal-layer{position:fixed;inset:0;z-index:150;background:#020918ed;display:grid;place-items:center;color:#fff;padding:20px}.reveal-card{text-align:center}.reveal-card .collect-card{width:min(360px,85vw);display:block;border:0;background:transparent}.reveal-card .card-art{height:280px;border-radius:24px;box-shadow:0 0 60px #2b91ff77}.reveal-layer.super .card-art{animation:superPulse 1s infinite alternate;box-shadow:0 0 90px #ffd850}.reveal-layer.rare .card-art{animation:rarePulse .9s infinite alternate}.rarity-hint{font-size:20px;font-weight:900;letter-spacing:2px;animation:hintPop .8s infinite alternate}.reveal-card button{border:0;border-radius:12px;background:#fff;color:#11264d;padding:11px 18px;font-weight:900}
.gacha-running{overflow:hidden!important}.gacha-cinematic{position:fixed;z-index:500;inset:0;background:#000;overflow:hidden;opacity:1;transition:opacity .28s;touch-action:none;user-select:none;cursor:wait}.gacha-cinematic.leaving{opacity:0}.gacha-video{position:absolute;z-index:1;inset:0;width:100%;height:100%;object-fit:contain;background:#000;pointer-events:none}.gacha-video-flash{position:absolute;z-index:3;inset:0;background:#fff;opacity:0;pointer-events:none}.gacha-video-flash.active{animation:gachaVideoFlash .24s linear both}.reveal-layer.gacha-peak-reveal{z-index:520;background:transparent;pointer-events:none}.reveal-layer.gacha-peak-reveal .reveal-glow{display:none}.reveal-layer.gacha-peak-reveal .gacha-pop-card{animation:gachaCardPop .42s cubic-bezier(.2,.85,.28,1.25) both}.reveal-layer.gacha-peak-reveal .weapon-card-visual{width:min(350px,76vw);margin:0;filter:drop-shadow(0 0 42px #fff)}@keyframes gachaVideoFlash{0%{opacity:0}50%{opacity:1}100%{opacity:0}}@keyframes gachaCardPop{0%{transform:scale(.7);opacity:0}58%{transform:scale(1.1);opacity:1}100%{transform:scale(1);opacity:1}}
.ultimate-cinematic{position:fixed;z-index:700;inset:0;overflow:hidden;background:#000;touch-action:none;user-select:none;cursor:wait}.ultimate-video-slot,.ultimate-video{position:absolute;inset:0;width:100%;height:100%}.ultimate-video-slot{z-index:1}.ultimate-video{object-fit:contain;background:#000;pointer-events:none}.ultimate-flash{position:absolute;z-index:5;inset:0;background:#fff;opacity:0;pointer-events:none}.ultimate-cinematic.impact .ultimate-flash{animation:ultimateBattleFlash .85s ease-out both}@keyframes ultimateBattleFlash{0%{opacity:0}9%{opacity:1}28%{opacity:.96}100%{opacity:0}}
.gold-reward-card{position:relative;width:min(310px,78vw);margin:12px auto;filter:drop-shadow(0 0 30px #ffc02f)}.gold-reward-card img{display:block;width:100%;height:auto;max-height:58vh;object-fit:contain}
.weapon-card-visual{position:relative;aspect-ratio:2/3;min-height:235px;background:#02040a;overflow:hidden;color:#fff}.weapon-image{position:absolute;inset:7%;background-repeat:no-repeat;border-radius:8%;filter:saturate(1.12) contrast(1.04)}.rarity-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;mix-blend-mode:screen;pointer-events:none}.rarity-code{position:absolute;top:5.5%;left:0;right:0;text-align:center;font-family:Georgia,serif;font-size:23px;font-weight:900;text-shadow:0 0 9px #fff}.rarity-stars{position:absolute;top:14%;left:0;right:0;text-align:center;font-size:10px;letter-spacing:1px;color:#eee5ff;text-shadow:0 0 7px #bf8cff}.weapon-card-name{position:absolute;left:10%;right:10%;bottom:8%;font-family:Georgia,serif;text-align:center;font-weight:900;font-size:12px;text-shadow:0 2px 5px #000,0 0 4px #000}.weapon-card-visual.rare .rarity-stars{color:#ffd65a}.weapon-card-visual.common .rarity-stars{color:#e4e8ec}.weapon-card-visual.compact{width:58px;min-height:87px;border-radius:6px}.weapon-card-visual.compact .rarity-code{font-size:9px}.weapon-card-visual.compact .rarity-stars{font-size:4px}.weapon-card-visual.compact .weapon-card-name{display:none}.collect-card{grid-template-columns:150px 1fr}.collect-card>.weapon-card-visual{min-height:215px}.reveal-card>.weapon-card-visual{width:min(310px,78vw);margin:12px auto;filter:drop-shadow(0 0 30px #765bff)}.reveal-layer.rare .weapon-card-visual{filter:drop-shadow(0 0 30px #ffb300)}.owned-badge{z-index:5}
.inventory-layout{display:grid;grid-template-columns:minmax(320px,.9fr) 1.1fr;gap:18px}.character-panel,.bag-panel{border:1px solid var(--line);border-radius:18px;background:#f8faff;padding:14px}.character-stage{position:relative;min-height:390px;border-radius:18px;overflow:hidden;background:radial-gradient(circle at 50% 34%,#4b73bd 0,#152a51 42%,#071329 100%)}.character-stage:after{content:"";position:absolute;left:16%;right:16%;bottom:7%;height:12%;background:#061026;border-radius:50%;filter:blur(8px)}.character-name{position:absolute;z-index:2;top:14px;left:0;right:0;text-align:center;color:#fff;font-weight:900}.character-model{position:absolute;z-index:1;left:50%;top:48%;width:105px;height:220px;transform:translate(-50%,-50%)}.character-head{position:absolute;left:35px;top:0;width:38px;height:42px;border-radius:50%;background:#edbd94}.character-body{position:absolute;left:23px;top:38px;width:62px;height:100px;border-radius:25px 25px 15px 15px;background:linear-gradient(90deg,#132b50,#2b65ad,#132b50)}.character-arm,.character-leg{position:absolute;background:#193d70;border-radius:20px}.character-arm{top:48px;width:25px;height:95px}.character-arm.left{left:5px;transform:rotate(10deg)}.character-arm.right{right:5px;transform:rotate(-10deg)}.character-leg{top:130px;width:29px;height:92px}.character-leg.left{left:23px}.character-leg.right{right:20px}.held-weapon{position:absolute;right:-5px;top:83px;font-size:57px;transform:rotate(-35deg)}.character-slots{position:absolute;z-index:4;inset:50px 10px 20px;display:grid;grid-template-columns:80px 1fr 80px;grid-template-rows:1fr 1fr}.equip-slot{position:relative;width:78px;min-height:91px;border:1px solid #769bd6;background:#0d244dcc;color:#fff;border-radius:13px;padding:5px;display:grid;place-items:center}.equip-slot:nth-child(1){grid-column:1;grid-row:1}.equip-slot:nth-child(2){grid-column:3;grid-row:1}.equip-slot:nth-child(3){grid-column:1;grid-row:2}.equip-slot:nth-child(4){grid-column:3;grid-row:2}.equip-slot small{font-size:9px;color:#b9c8e4}.equip-slot>span{font-size:28px}.equip-slot>b{font-size:8px;max-width:68px}.level-row,.bag-head{display:flex;justify-content:space-between;align-items:center;margin:12px 0}.total-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px}.total-stats div{display:flex;justify-content:space-between;background:#fff;border-radius:9px;padding:8px;font-size:12px}.battle-launch{position:relative;margin:16px auto 0;width:150px;height:150px;border:0;border-radius:50%;padding:0;background:#080706;overflow:hidden;box-shadow:0 0 0 3px #6f4d18,0 0 28px #ffad17a8;animation:battleBadgePulse 1.8s ease-in-out infinite}.battle-launch img{display:block;width:100%;height:100%;object-fit:cover}.battle-launch-shine{position:absolute;inset:-40%;background:linear-gradient(115deg,transparent 42%,#fff9 50%,transparent 58%);transform:translateX(-70%) rotate(10deg);animation:battleBadgeShine 2.6s ease-in-out infinite;pointer-events:none}.battle-launch:active{transform:scale(.94)}.gear-detail{min-height:58px;padding:11px;border-radius:12px;background:#eaf2ff;margin-bottom:12px}.gear-detail p{margin:5px 0 0;font-size:12px;color:var(--muted)}.bag-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;max-height:580px;overflow:auto}.bag-item{position:relative;min-height:125px;border:1px solid var(--line);background:#fff;border-radius:13px;padding:7px;display:grid;place-items:center}.bag-item.equipped{border:2px solid #1387ff;background:#eef7ff}.bag-item>i{position:absolute;right:5px;top:5px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#168cff;color:#fff;font-style:normal;font-weight:900}.bag-item>b{font-size:10px}.gear-icon{font-size:38px}
@keyframes battleBadgePulse{0%,100%{filter:brightness(.95);box-shadow:0 0 0 3px #6f4d18,0 0 20px #ffad1766}50%{filter:brightness(1.13);box-shadow:0 0 0 3px #b9822b,0 0 38px #ffad17c7}}@keyframes battleBadgeShine{0%,35%{transform:translateX(-75%) rotate(10deg)}70%,100%{transform:translateX(75%) rotate(10deg)}}
.inventory-shell{overflow:hidden;border:1px solid #665231;border-radius:16px;background:#0b0b0b;box-shadow:0 18px 50px #0008}.inventory-shell .inventory-layout{gap:1px;background:#493d2a}.inventory-shell .character-panel,.inventory-shell .bag-panel{border:0;border-radius:0;background:linear-gradient(145deg,#151514,#080808);color:#eee}.inventory-shell .character-stage{min-height:520px;background:#07090c url("hinhanh/nhan-vat/nhan-vat-nam-mac-dinh-3d.png") center 42%/cover no-repeat;border:1px solid #5d4d34;border-radius:4px;box-shadow:inset 0 0 65px #000}.inventory-shell .character-stage:after{background:#0007}.character-3d{position:absolute;inset:0;animation:characterIdle 3.2s ease-in-out infinite;pointer-events:none}.inventory-shell .character-name{font-family:Georgia,serif;color:#f1d49a;text-shadow:0 2px 6px #000}.inventory-shell .equip-slot{border:1px solid #6b5739;background:#090909d9;box-shadow:inset 0 0 0 2px #19150f;color:#f6dfae}.inventory-shell .equip-slot.filled{border-color:#8d5ad1;box-shadow:inset 0 0 0 2px #2d1743,0 0 12px #7642c455}.inventory-shell .level-row{padding:8px 10px;border:1px solid #54442e;background:#0b0a08}.inventory-shell .level-row b,.inventory-shell .bag-head b{color:#f0c86e}.inventory-shell .total-stats div{border:1px solid #443820;background:#0c0b09;color:#d8c49d}.inventory-shell .bag-head{padding:10px 12px;border-bottom:1px solid #55452d}.inventory-shell .bag-head h3{font-family:Georgia,serif;color:#f0d39a;font-size:24px}.inventory-shell .gear-detail{border:1px solid #4b3d28;background:#0d0c0a;color:#eee}.inventory-shell .gear-detail p{color:#bdb19d}.inventory-shell .bag-grid{grid-template-columns:repeat(4,1fr);padding:8px;max-height:650px}.inventory-shell .bag-item{min-height:130px;border:1px solid #4b402e;border-radius:3px;background:radial-gradient(circle at 50% 35%,#26231d,#080808 72%);color:#e4d4b5;box-shadow:inset 0 0 0 2px #12100c}.inventory-shell .bag-item.equipped{border-color:#9b6bcd;background:radial-gradient(circle at 50% 35%,#30213c,#09070c 72%)}.inventory-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #6a5533;background:#090806}.inventory-tabs button{display:grid;place-items:center;gap:4px;min-height:76px;border:0;border-right:1px solid #4c3c26;background:linear-gradient(#19150f,#080706);color:#aa9b80}.inventory-tabs button:last-child{border-right:0}.inventory-tabs button span{font-size:26px}.inventory-tabs button b{font-family:Georgia,serif}.inventory-tabs button.active{color:#f5d58c;background:radial-gradient(circle at 50% 30%,#604317,#151009 72%);box-shadow:inset 0 0 14px #d99a2844}@keyframes characterIdle{0%,100%{transform:scale(1) translateY(0)}50%{transform:scale(1.004) translateY(-2px)}}
.battle-screen{position:relative;min-height:620px;border-radius:20px;overflow:hidden;color:#fff;background:linear-gradient(#101f3d 0 45%,#4c342b 46%,#15131a 100%);padding:20px}.floor-label{text-align:center;font-size:20px;font-weight:900;letter-spacing:3px}.boss-panel{position:absolute;right:8%;top:65px;width:48%;text-align:center}.dragon{font-size:150px;filter:drop-shadow(0 10px 20px #000);transform:scaleX(-1)}.hero-battle{position:absolute;left:7%;bottom:110px;width:42%;text-align:center}.hero-back{font-size:100px;filter:drop-shadow(0 8px 10px #000)}.hp-bar{position:relative;height:24px;border:2px solid #fff8;background:#270b13;border-radius:999px;overflow:hidden}.hp-bar i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#13a34a,#5fff88);transition:width .35s}.hp-bar.boss i{background:linear-gradient(90deg,#c5142d,#ff5b45)}.hp-bar span{position:relative;z-index:2;font-size:11px;font-weight:900;line-height:20px}.battle-message{position:absolute;left:5%;right:5%;top:50%;text-align:center;padding:10px;background:#0009;border-radius:12px}.battle-actions{position:absolute;left:5%;right:5%;bottom:20px;display:flex;gap:10px}.battle-actions button{flex:1;border:0;border-radius:13px;padding:15px;background:linear-gradient(135deg,#0d8eff,#633ad7);color:#fff;font-weight:900}.battle-actions button:disabled{opacity:.45}
.battle-screen.battle-3d{min-height:620px;padding:0;background:#2b221b url("hinhanh/chien-dau/chien-truong-trong-3d.png") center bottom/cover no-repeat;border:1px solid #62523b;box-shadow:inset 0 0 45px #0008}.battle-shade{position:absolute;z-index:1;inset:0;background:linear-gradient(#0008 0,#0000 35%,#0000 72%,#0003 100%);pointer-events:none}.battle-actors{position:absolute;z-index:1;inset:0;overflow:hidden;pointer-events:none}.player-actor{position:absolute;left:4%;bottom:9%;width:min(32vw,370px);transform-origin:50% 88%;animation:playerBreath 2.4s ease-in-out infinite}.player-actor>img:first-child,.boss-actor>img{display:block;width:100%;height:auto;filter:drop-shadow(0 12px 16px #000)}.boss-actor{position:absolute;right:2%;bottom:17%;width:min(58vw,760px);transform-origin:54% 78%;animation:dragonBreath 3.1s ease-in-out infinite}.held-battle-weapon{position:absolute;z-index:3;right:-4%;top:38%;width:38%;height:54%;object-fit:contain;filter:brightness(1.18) contrast(1.1) drop-shadow(0 0 8px #9fd3ff);transform-origin:42% 23%;transform:rotate(-34deg)}.held-battle-weapon.weapon-spear,.held-battle-weapon.weapon-staff,.held-battle-weapon.weapon-scythe{right:-8%;top:30%;width:42%;height:64%}.held-battle-weapon.weapon-bow{right:-10%;top:36%;width:42%;height:55%;transform:rotate(-24deg)}.held-battle-weapon.weapon-dual{right:-9%;top:39%;width:44%;height:52%}.held-battle-weapon.weapon-shield{right:-10%;top:49%;width:38%;height:39%;transform:rotate(-16deg)}.held-battle-weapon.weapon-hammer{right:-8%;top:35%;width:44%;height:57%}.held-battle-weapon.weapon-fan{right:-8%;top:48%;width:39%;height:38%;transform:rotate(-18deg)}.held-battle-weapon.weapon-gun{right:-9%;top:49%;width:39%;height:35%;transform:rotate(-18deg)}.player-actor.attacking{animation:playerAttack .62s cubic-bezier(.2,.7,.3,1) 1}.player-actor.attacking .held-battle-weapon{animation:weaponSlash .62s cubic-bezier(.2,.7,.3,1) 1}.player-actor.using-skill{animation:playerSkill .7s ease-in-out 1}.boss-actor.attacking{animation:dragonAttack .78s cubic-bezier(.2,.65,.2,1) 1}.boss-actor.taking-hit{animation:bossHit .3s ease-out 1}.player-actor.taking-hit{animation:playerHit .3s ease-out 1}.battle-3d .floor-label{position:absolute;z-index:2;top:14px;left:14px;padding:8px 14px;border:1px solid #a88a58;background:#080808c9;border-radius:999px;color:#f4d28c;font-family:Georgia,serif;font-size:14px}.battle-3d .boss-panel{z-index:2;top:18px;left:28%;right:12%;width:auto}.boss-name{display:flex;justify-content:center;gap:10px;align-items:baseline;text-shadow:0 2px 5px #000}.boss-name b{font-family:Georgia,serif;color:#f6d89a;font-size:20px}.boss-name small{color:#ddd}.battle-3d .hp-bar{height:25px;border:2px solid #b99c70;background:#25040a;box-shadow:0 2px 8px #000}.battle-3d .hero-battle{z-index:2;left:3%;bottom:92px;width:31%;text-align:left;padding:10px;background:linear-gradient(90deg,#050505db,#05050522);border-radius:14px}.player-copy{display:flex;justify-content:space-between;align-items:end;margin-bottom:4px}.player-copy b{color:#f3d798;font-family:Georgia,serif}.player-copy small{font-size:10px;color:#ddd}.battle-weapon{font-size:10px;margin-top:5px;color:#f1c66c}.battle-weapon.empty{color:#bbb}.battle-3d .battle-message{z-index:2;left:34%;right:26%;top:auto;bottom:104px;padding:9px;font-size:12px;border:1px solid #806c4f;background:#050505c9}.battle-3d .battle-actions{z-index:2;left:auto;right:3%;bottom:20px;width:47%;gap:12px}.battle-3d .battle-actions button{min-height:65px;border:1px solid #bd9c5c;border-radius:9px;background:radial-gradient(circle at 50% 30%,#633813,#160d08 75%);box-shadow:inset 0 0 0 3px #080706,0 4px 14px #000}.battle-3d .battle-actions button:first-child{box-shadow:inset 0 0 0 3px #080706,0 0 18px #f5a50099}.battle-3d .battle-actions button span,.battle-3d .battle-actions button b{display:block}.battle-3d .battle-actions button span{font-size:25px;color:#ffd66d}.battle-3d .battle-actions button b{margin-top:4px;font-family:Georgia,serif}
.battle-mode{overflow:hidden!important;background:#2b221b}.battle-mode .modal-layer{padding:0;background:#2b221b}.battle-mode .modal-backdrop{display:none}.battle-mode .modal{width:100vw;height:100vh;max-height:none;padding:0;border-radius:0;background:#2b221b;box-shadow:none}.battle-mode .modal-close{z-index:20;top:max(8px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));width:auto;height:36px;padding:0 14px;border-radius:9px;background:#050505c9;border:1px solid #a98b59;color:#f2d192;font-size:13px;font-weight:900}.battle-mode .battle-screen.battle-3d{width:100vw;height:100vh;min-height:0;border:0;border-radius:0;background-position:center bottom}.battle-mode .battle-3d .floor-label{top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left))}.battle-mode .battle-3d .boss-panel{top:max(14px,env(safe-area-inset-top))}.battle-mode .battle-3d .battle-actions{right:max(3%,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom))}.battle-mode .battle-3d .hero-battle{left:max(3%,env(safe-area-inset-left));bottom:max(90px,calc(env(safe-area-inset-bottom) + 72px))}
.battle-sound{position:absolute;z-index:19;top:58px;right:14px;width:42px;height:42px;border:1px solid #a98b59;border-radius:50%;background:#050505c9;color:#f6d78e;font-size:20px;display:grid;place-items:center}.battle-mode .battle-sound{top:max(56px,calc(env(safe-area-inset-top) + 48px));right:max(10px,env(safe-area-inset-right))}
.battle-danger-warning{position:absolute;z-index:17;left:50%;top:31%;width:min(460px,78vw);transform:translateX(-50%);display:grid;place-items:center;gap:3px;padding:11px 15px;border:2px solid #ffcc3d;border-radius:12px;background:linear-gradient(135deg,#240000f2,#7d0909ed,#260000f2);box-shadow:0 0 0 3px #420000aa,0 0 28px #ff2400a8,inset 0 0 20px #ff6a0033;color:#fff;text-align:center;pointer-events:none;animation:dangerWarningPulse .72s ease-in-out infinite alternate}.battle-danger-warning b{font:900 clamp(18px,3.6vw,32px) Georgia,serif;letter-spacing:1px;color:#ffe76f;text-shadow:0 0 8px #fff,0 0 18px #ff2b00,0 3px 5px #000}.battle-danger-warning strong{font-size:clamp(13px,2.2vw,18px)}@keyframes dangerWarningPulse{from{filter:brightness(.92);transform:translateX(-50%) scale(.97)}to{filter:brightness(1.25);transform:translateX(-50%) scale(1.02)}}
.battle-outcome{position:absolute;z-index:18;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#020204b8;backdrop-filter:blur(2px);animation:battleOutcomeIn .45s ease-out}.battle-outcome img{display:block;width:min(78vw,980px);max-height:46vh;object-fit:contain;filter:drop-shadow(0 8px 28px #000)}.battle-outcome button{border:1px solid #d7ad5a;border-radius:10px;padding:13px 28px;background:linear-gradient(#684417,#241306);box-shadow:inset 0 0 0 2px #100804,0 0 24px #f2a51c88;color:#ffe5a6;font-family:Georgia,serif;font-size:17px;font-weight:900}.battle-outcome b{font:900 24px Georgia,serif;color:#f7d386;text-shadow:0 2px 8px #000}.battle-outcome small{color:#ddd}.chest-drop #battleChest{width:min(70vw,420px);height:auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;animation:chestDrop .75s cubic-bezier(.2,.8,.3,1),chestGlow 1.3s ease-in-out .75s infinite}.chest-drop #battleChest img{width:100%;max-height:40vh;object-fit:contain}.reward-result>.battle-open-chest{width:min(68vw,400px);max-height:30vh;animation:chestOpen .5s ease-out;filter:drop-shadow(0 0 24px #ffac28)}.reward-result>span{font-size:76px;filter:drop-shadow(0 0 20px #ffb000)}.defeat{background:#090101c9}.battle-outcome.defeat img{filter:drop-shadow(0 8px 28px #000) saturate(.88)}@keyframes battleOutcomeIn{from{opacity:0;transform:scale(1.08)}to{opacity:1;transform:none}}@keyframes chestDrop{from{transform:translateY(-75vh) rotate(-18deg)}70%{transform:translateY(16px) rotate(5deg)}to{transform:none}}@keyframes chestGlow{50%{transform:scale(1.04);filter:drop-shadow(0 0 35px #ffc23e)}}@keyframes chestOpen{from{opacity:.35;transform:scale(.88)}to{opacity:1;transform:none}}
@keyframes playerBreath{50%{transform:translateY(-3px) scale(1.008)}}@keyframes dragonBreath{50%{transform:translateY(-5px) scale(1.014)}}@keyframes playerAttack{0%{transform:none}35%{transform:translate(-4%,2%) rotate(-5deg)}72%{transform:translate(24%,-7%) rotate(10deg)}100%{transform:none}}@keyframes weaponSlash{0%{transform:rotate(-34deg)}35%{transform:rotate(-62deg)}72%{transform:rotate(42deg) scale(1.08)}100%{transform:rotate(-34deg)}}@keyframes playerSkill{50%{transform:translateY(-5%) scale(1.07);filter:drop-shadow(0 0 22px #9d73ff)}}@keyframes dragonAttack{0%{transform:none}38%{transform:translate(5%,-2%) rotate(2deg)}75%{transform:translate(-13%,9%) scale(1.07)}100%{transform:none}}@keyframes bossHit{35%{transform:translate(5%,-1%);filter:brightness(2) saturate(.4)}}@keyframes playerHit{35%{transform:translate(-7%,2%);filter:brightness(1.9) sepia(1)}}@media (orientation:portrait) and (max-width:900px){.battle-mode .battle-screen.battle-3d{background-position:49% center}.battle-mode .boss-actor{width:95vw;max-width:none;right:-18%;bottom:43%}.battle-mode .player-actor{width:54vw;max-width:none;left:-4%;bottom:18%}.battle-mode .battle-3d .boss-panel{top:9%;left:15%;right:6%}.battle-mode .battle-3d .hero-battle{left:3%;bottom:13%;width:56%}.battle-mode .battle-3d .battle-message{left:5%;right:5%;bottom:24%;font-size:11px}.battle-mode .battle-3d .battle-actions{left:5%;right:5%;bottom:3%;width:auto}.battle-mode .battle-sound{top:4%;right:3%}}

.element-kill{position:absolute;z-index:18;inset:0;overflow:hidden;pointer-events:none}.element-kill-shot{position:absolute;left:var(--tx);top:var(--ty);width:var(--size);height:auto;filter:drop-shadow(0 0 12px #fff8);opacity:0;animation:elementKillFall var(--duration) cubic-bezier(.12,.72,.34,1) var(--delay) both}.element-kill-giant{position:absolute;z-index:2;left:58%;top:17%;width:min(43vw,490px);height:auto;opacity:0;filter:drop-shadow(0 0 28px #fff);animation:elementKillGiant 1.05s cubic-bezier(.12,.72,.2,1) 1s both}.element-kill-title{position:absolute;z-index:4;left:50%;top:15%;transform:translateX(-50%);font:900 clamp(24px,5vw,58px) Georgia,serif;color:#fff;text-shadow:0 0 8px #fff,0 0 22px #ff5a00,0 4px 4px #000;animation:elementKillTitle 1.8s ease both}.element-kill-water .element-kill-title{text-shadow:0 0 8px #fff,0 0 24px #27aaff,0 4px 4px #000}.element-kill-rock .element-kill-title{text-shadow:0 0 8px #fff,0 0 24px #ff2400,0 4px 4px #000}.player-actor.element-kill-casting{animation:ultimateRaiseCharge 2.95s ease-in-out both!important}.player-actor.element-kill-casting .held-battle-weapon{opacity:0}.boss-actor.kill-hit{animation:elementKillBossHit .26s ease-out both!important}.battle-screen.element-kill-running{animation:elementKillCamera .13s linear infinite}.damage-pop.element-kill-damage.giant b{display:block;color:#fff4ad;font-size:18px;text-shadow:0 0 12px #ff3b00}.damage-pop.element-kill-damage.giant span{font-size:38px;color:#fff}
.boss-actor.impact-flash,.player-actor.impact-flash{animation:impactFlashShake .31s ease-out both!important}
.player-body-sprite{opacity:1!important;visibility:visible!important;backface-visibility:hidden;transform:translateZ(0);will-change:transform,filter}
@keyframes elementKillFall{0%{opacity:0;transform:translate(-58vw,-45vh) rotate(var(--rot)) scale(.55)}12%{opacity:1}88%{opacity:1}100%{opacity:0;transform:translate(0,0) rotate(var(--rot)) scale(1.1)}}@keyframes elementKillGiant{0%{opacity:0;transform:translate(-78vw,-62vh) rotate(-18deg) scale(.45)}12%{opacity:1}100%{opacity:1;transform:translate(0,0) rotate(0) scale(1)}}@keyframes elementKillTitle{0%{opacity:0;transform:translate(-50%,-25px) scale(.65)}18%,70%{opacity:1;transform:translate(-50%,0) scale(1)}100%{opacity:0;transform:translate(-50%,-15px) scale(1.1)}}@keyframes elementKillBossHit{35%{transform:translate(5%,-2%) rotate(1deg);filter:brightness(2.7) saturate(.25)}70%{transform:translate(-3%,1%);filter:brightness(1.7)}}@keyframes elementKillCamera{0%,100%{transform:translate(0)}25%{transform:translate(3px,-2px)}50%{transform:translate(-3px,2px)}75%{transform:translate(2px,3px)}}@keyframes impactFlashShake{0%,100%{filter:brightness(1);transform:translate(0)}28%{filter:brightness(2.8) saturate(.25);transform:translate(5px,-2px)}55%{filter:brightness(1.55);transform:translate(-4px,2px)}78%{transform:translate(2px,-1px)}}
.damage-pop{position:absolute;z-index:8;left:50%;top:34%;display:flex;flex-direction:column;align-items:center;pointer-events:none;transform:translate(-50%,-50%);animation:damageFloat .82s cubic-bezier(.15,.75,.25,1) forwards}.damage-pop span{font:900 clamp(24px,5vw,58px) Georgia,serif;color:#a90000;-webkit-text-stroke:1px #ffd1b0;text-shadow:0 2px 0 #2d0000,0 0 7px #ff2800,0 4px 12px #000}.damage-pop.critical{top:28%;animation:criticalDamage 1.05s cubic-bezier(.12,.82,.25,1) forwards}.damage-pop.critical b{white-space:nowrap;font:900 clamp(16px,3.4vw,40px) Georgia,serif;letter-spacing:2px;color:#ffd43b;-webkit-text-stroke:1px #741500;text-shadow:0 0 8px #fff0a3,0 0 18px #ff6a00,0 3px 6px #3b0000}.damage-pop.critical span{font-size:clamp(36px,7vw,78px);color:#ff3a16;-webkit-text-stroke:2px #ffe26e;text-shadow:0 0 8px #fff,0 0 22px #ff8a00,0 5px 10px #410000}.damage-pop.critical:before,.damage-pop.critical:after{content:"✦";position:absolute;top:35%;color:#ffd43b;font-size:26px;text-shadow:0 0 12px #ff6a00;animation:critSpark .8s ease-out forwards}.damage-pop.critical:before{left:-30px}.damage-pop.critical:after{right:-30px}.battle-screen.hit-shake{animation:hitShake .25s linear}.battle-screen.critical-shake{animation:criticalShake .42s linear}@keyframes damageFloat{0%{opacity:0;transform:translate(-50%,10%) scale(.55)}25%{opacity:1;transform:translate(-50%,-20%) scale(1.15)}100%{opacity:0;transform:translate(-50%,-145%) scale(.92)}}@keyframes criticalDamage{0%{opacity:0;transform:translate(-50%,15%) scale(.35) rotate(-5deg)}22%{opacity:1;transform:translate(-50%,-18%) scale(1.35) rotate(2deg)}48%{transform:translate(-50%,-35%) scale(.98)}100%{opacity:0;transform:translate(-50%,-150%) scale(1.08)}}@keyframes critSpark{to{opacity:0;transform:translateY(-45px) scale(1.6) rotate(70deg)}}@keyframes hitShake{25%{transform:translateX(-3px)}50%{transform:translateX(3px)}75%{transform:translateX(-2px)}}@keyframes criticalShake{15%{transform:translate(-7px,2px)}30%{transform:translate(7px,-2px)}48%{transform:translate(-5px,1px)}66%{transform:translate(4px,-1px)}82%{transform:translate(-2px)}}
@keyframes superPulse{to{transform:scale(1.035) rotate(.6deg);filter:saturate(1.3)}}@keyframes rarePulse{to{transform:scale(1.025);box-shadow:0 0 75px #766cff}}@keyframes hintPop{to{transform:scale(1.08);text-shadow:0 0 20px currentColor}}
.toast{position:fixed;left:50%;bottom:95px;transform:translate(-50%,30px);opacity:0;background:#071a3c;color:#fff;padding:12px 17px;border-radius:12px;z-index:200;transition:.2s;max-width:min(90vw,700px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}
.bottom-nav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(1180px,100%);height:72px;background:rgba(255,255,255,.96);backdrop-filter:blur(18px);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);z-index:40;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{border:0;background:transparent;color:var(--muted);display:grid;place-items:center;align-content:center;gap:3px}.bottom-nav button span{font-size:20px}.bottom-nav button small{font-size:11px}.bottom-nav .active{color:var(--blue);background:linear-gradient(180deg,#eaf3ff,transparent)}
@media(max-width:760px){
  .topbar{height:62px;padding:0 12px}.brand-mark{width:36px;height:36px}.brand-copy b{font-size:17px}.search-bar{top:62px;padding:8px 12px}.page{padding:12px}.boi-hero{padding:28px 20px;min-height:410px}.hero-device{position:absolute;opacity:.25;right:15px}.hero-copy h1{font-size:34px}.page-title-card{padding:23px 19px}.stage-leaderboard{min-height:390px;background-position:center 55%}.leaderboard-copy{width:100%;padding:15px 13px 92px}.leaderboard-copy h1{font-size:25px}.leaderboard-row{grid-template-columns:68px minmax(80px,1fr);min-height:68px;padding:2px 8px 2px 2px}.rank-badge{width:64px;height:64px}.leaderboard-row strong{grid-column:2}.leaderboard-warrior-wrap{right:-8%;bottom:-5%;width:68%;height:68%;opacity:.88}.leaderboard-smoke{width:90%}.game-row{grid-template-columns:96px minmax(0,1fr);column-gap:14px;padding:10px}.game-avatar{width:96px;height:92px}.game-date{grid-column:2;margin-left:2px}.summon-panel{display:block}.summon-actions{margin-top:14px}.summon-actions button{flex:1}.card-grid{grid-template-columns:1fr}.collect-card{grid-template-columns:145px 1fr;min-height:215px}.form-grid{grid-template-columns:1fr}.auto-products{grid-template-columns:1fr}.auto-card{display:grid;grid-template-columns:110px 1fr}.auto-card-art{height:100%}.profile-stats{grid-template-columns:1fr}.modal{padding:20px}.game-detail-head{grid-template-columns:85px 1fr}.game-detail-head .game-avatar{width:85px;height:78px}.inventory-layout{grid-template-columns:1fr}.inventory-shell .character-stage{min-height:470px}.inventory-shell .bag-grid{grid-template-columns:repeat(3,1fr);max-height:430px}.inventory-shell .bag-item{min-height:112px}.battle-screen.battle-3d{min-height:500px;background-position:55% center}.battle-3d .floor-label{top:8px;left:8px;font-size:10px;padding:6px 9px}.battle-3d .boss-panel{top:10px;left:25%;right:3%}.boss-name{display:block}.boss-name b{font-size:14px}.boss-name small{display:none}.battle-3d .hero-battle{left:2%;bottom:88px;width:47%;padding:7px}.player-copy small{display:none}.battle-3d .battle-message{left:3%;right:3%;bottom:74px;font-size:10px}.battle-3d .battle-actions{left:3%;right:3%;bottom:8px;width:auto}.battle-3d .battle-actions button{min-height:57px;padding:7px}.battle-3d .battle-actions button span{font-size:19px}
}
@media(min-width:761px){.bottom-nav{max-width:700px;border:1px solid var(--line);border-bottom:0;border-radius:18px 18px 0 0}}
.leaderboard-title-image{display:block;width:min(310px,82%);height:72px;margin:0 0 -6px;object-fit:contain;object-position:left center;filter:drop-shadow(0 5px 10px #000)}
.leaderboard-copy{padding-top:8px}
.leaderboard-copy>.leaderboard-title-image+p{margin:0 0 5px;color:#f1c8b8;font-size:12px}
@media(max-width:760px){.leaderboard-title-image{width:min(270px,80%);height:64px;margin-bottom:-7px}.leaderboard-copy{padding-top:5px}}
.game-row p b,.game-date span{color:var(--ink);font-weight:800}
.modal.game-detail-modal{width:min(920px,100%);height:min(88vh,820px);max-height:none;padding:0;overflow:hidden}.game-detail-modal #modalContent,.game-detail-shell{height:100%;min-height:0}.game-detail-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#fff}.game-detail-modal .modal-close{z-index:8;position:absolute}.game-detail-head{position:relative;z-index:3;padding:20px 58px 15px 20px;border-bottom:1px solid var(--line);background:#fff;box-shadow:0 5px 18px #102a5412}.game-detail-head h2{margin:0 0 5px;padding:0}.game-detail-head p{margin:6px 0 0;color:var(--muted);line-height:1.4}.game-detail-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:18px 20px 24px}.game-detail-scroll>h3{margin-top:0}.game-detail-scroll>p{line-height:1.65;white-space:pre-wrap}.game-detail-download{position:relative;z-index:3;padding:11px 16px;border-top:1px solid var(--line);background:#fff;box-shadow:0 -5px 18px #102a5412}.game-detail-download .download-links{margin:0;flex-wrap:nowrap}.game-detail-download .download-links a{flex:1;text-align:center;white-space:nowrap}
@media(max-width:760px){.modal-layer.game-detail-layer{padding:0}.modal.game-detail-modal{width:100vw;height:100dvh;max-height:none;border-radius:0}.game-detail-modal .modal-close{top:max(10px,env(safe-area-inset-top));right:10px}.game-detail-head{grid-template-columns:82px minmax(0,1fr);gap:12px;padding:max(14px,env(safe-area-inset-top)) 52px 12px 13px}.game-detail-head .game-avatar{width:82px;height:76px}.game-detail-head h2{font-size:21px}.game-detail-head p{font-size:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.game-detail-scroll{padding:14px 0 20px}.game-detail-scroll>h3,.game-detail-scroll>p{margin-left:14px;margin-right:14px}.game-detail-scroll .game-gallery{border-radius:0}.game-detail-download{padding:9px 10px max(9px,env(safe-area-inset-bottom))}.game-detail-download .download-links{gap:6px}.game-detail-download .download-links a{padding:10px 7px;font-size:12px}}
.modal.comment-modal{width:min(760px,100%);height:min(88vh,820px);max-height:none;padding:0;overflow:hidden}.comment-modal>.modal-close{display:none}.comment-modal #modalContent,.comment-shell{height:100%;min-height:0}.comment-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#fff}.comment-head{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:13px 14px 13px 20px;border-bottom:1px solid var(--line);background:#fff;box-shadow:0 4px 16px #102a5410}.comment-head h2{margin:0;padding:0}.comment-close{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border:0;border-radius:50%;background:#edf1f7;color:#17243a;font-size:25px;line-height:1;cursor:pointer}.comment-close:active{transform:scale(.94);background:#dce6f3}.comment-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:16px 18px 32px}.comment-footer{position:relative;z-index:3;padding:10px 14px 12px;border-top:1px solid var(--line);background:#fff;box-shadow:0 -5px 18px #102a5412}.comment-footer form{margin:0}.comment-compose-row{display:flex;align-items:flex-end;gap:8px}.comment-compose-row textarea{flex:1;min-height:44px;max-height:100px;resize:none;border:1px solid var(--line);border-radius:22px;padding:11px 14px;font:inherit}.comment-compose-row .form-submit{width:auto;min-width:70px;margin:0;padding:12px 15px}.comment-footer .comment-media-row{margin:7px 0 0}.comment-footer .comment-image-button{padding:6px 11px;font-size:12px}.comment-footer .comment-image-preview img{width:58px;height:42px}
@media(max-width:760px){.modal-layer.comment-layer{padding:0;place-items:end center}.modal.comment-modal{width:100vw;height:92dvh;max-height:none;border-radius:20px 20px 0 0}.comment-modal .modal-close{top:10px;right:10px}.comment-head{padding:17px 52px 12px 16px}.comment-scroll{padding:13px 12px 38px}.comment-footer{padding:9px 10px max(9px,env(safe-area-inset-bottom))}.comment-item{padding:9px}.comment-compose-row textarea{min-height:43px}}
.leaderboard-list{gap:3px}.leaderboard-row{position:relative;isolation:isolate;grid-template-columns:62px minmax(0,1fr);grid-template-rows:auto auto;column-gap:8px;row-gap:0;min-height:58px;padding:2px 10px 2px 2px;overflow:hidden}.rank-badge{grid-column:1;grid-row:1/3;width:56px;height:56px}.leaderboard-row span{grid-column:2;grid-row:1;align-self:end;line-height:1.15}.leaderboard-row strong{grid-column:2;grid-row:2;align-self:start;margin-top:2px;line-height:1.1}.leaderboard-row.rank-1>*{position:relative;z-index:2}.leaderboard-row.rank-1:before{content:"";position:absolute;z-index:1;inset:-45%;pointer-events:none;background:conic-gradient(from 0deg,transparent 0 80%,#fff4a8 84%,#ffd43b 88%,#fff 90%,#ffb300 92%,transparent 96%);animation:topOneBorderLed 30s linear infinite;opacity:0}.leaderboard-row.rank-1:after{content:"";position:absolute;z-index:1;inset:2px;border-radius:10px;background:linear-gradient(90deg,#140503,#4b130d);pointer-events:none}@keyframes topOneBorderLed{0%{transform:rotate(0);opacity:0}1%{opacity:1}9%{transform:rotate(360deg);opacity:1}10%,100%{transform:rotate(360deg);opacity:0}}
@media(max-width:760px){.leaderboard-list{gap:2px}.leaderboard-row{grid-template-columns:56px minmax(0,1fr);min-height:53px;padding:1px 7px 1px 1px}.rank-badge{width:52px;height:52px}.leaderboard-row strong{font-size:11px;margin-top:1px}}
.form-row input[readonly]{background:#f1f4f8;color:#526078;cursor:not-allowed;font-weight:800}
.gift-code-label{color:#111}.gift-game-name{color:var(--blue)}
.cards-title{position:relative;isolation:isolate;overflow:hidden;min-height:190px;background-image:linear-gradient(90deg,#090705f2 0%,#120d09d9 46%,#100b0770 75%,#05040399 100%),url("hinhanh/giao-dien/nen-the-vu-khi.png");background-position:center,center bottom;background-size:cover,cover;background-repeat:no-repeat;box-shadow:inset 0 0 48px #000b,0 16px 38px #0b07052b}.cards-title>*:not(.cards-title-art){position:relative;z-index:2}.cards-title-art{position:absolute;z-index:1;right:-3%;bottom:-13%;width:min(49%,470px);height:112%;object-fit:contain;object-position:right bottom;pointer-events:none;filter:drop-shadow(0 10px 15px #000b)}.cards-title p{max-width:62%;color:#f5e8d2;text-shadow:0 2px 7px #000}.cards-title .wallet{background:#130d09b8;border:1px solid #d5a85173;color:#ffe4a8;backdrop-filter:blur(4px)}
@media(max-width:760px){.cards-title{min-height:220px;background-position:center,center bottom}.cards-title-art{right:-16%;bottom:-8%;width:72%;height:92%;opacity:.88}.cards-title p{max-width:74%;font-size:13px;line-height:1.45}.cards-title h1,.cards-title .section-kicker,.cards-title .wallet{text-shadow:0 2px 8px #000}}
.leaderboard-battle-launch{position:absolute;z-index:8;right:32%;bottom:18px;width:112px;height:112px;border:0;border-radius:50%;padding:0;background:#080706;overflow:hidden;box-shadow:0 0 0 3px #8b6227,0 0 25px #ffc039a8;animation:battleBadgePulse 1.8s ease-in-out infinite;cursor:pointer}.leaderboard-battle-launch img{display:block;width:100%;height:100%;object-fit:cover}.leaderboard-battle-launch:active{transform:scale(.94)}
@media(max-width:760px){.leaderboard-battle-launch{right:5px;bottom:76px;width:92px;height:92px;box-shadow:0 0 0 2px #8b6227,0 0 20px #ffc039a8}}
.modal-layer.inventory-layer{padding:0;background:#000}.inventory-layer .modal-backdrop{display:none}.modal.inventory-scene-modal{width:100vw;height:100dvh;max-height:none;padding:0;border-radius:0;overflow:hidden;background:#080604;box-shadow:none}.inventory-scene-modal #modalContent{width:100%;height:100%}.inventory-scene-modal>.modal-close{z-index:90;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));width:42px;height:42px;border:1px solid #b98842;background:#100b07d9;color:#f6d79a}.forge-scene{position:relative;width:100%;height:100%;overflow:hidden;background:#090704}.forge-room{position:absolute;inset:-3%;background:url("hinhanh/giao-dien/nen-phong-ren.png") center center/cover no-repeat;filter:brightness(.86);transition:transform .9s ease,filter .9s ease}.forge-room:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 58% 47%,transparent 0 28%,#0003 62%,#000a 100%)}.forge-smith-trigger{position:absolute;z-index:3;left:56%;bottom:-2%;width:min(43vw,510px);height:88%;padding:0;border:0;background:transparent;transform:translateX(-50%);transform-origin:50% 80%;transition:transform .9s ease,filter .9s ease;cursor:pointer;filter:drop-shadow(0 14px 20px #000)}.forge-smith-trigger img{width:100%;height:100%;object-fit:contain;object-position:center bottom}.forge-smith-trigger:after{content:"";position:absolute;inset:12% 4% 3%;border-radius:48%;box-shadow:0 0 45px #ffb33a00;transition:box-shadow .3s}.forge-smith-trigger:hover:after{box-shadow:0 0 45px #ffb33a35}.forge-enter-hint{position:absolute;z-index:5;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translateX(-50%);padding:10px 18px;border:1px solid #ae8143;border-radius:999px;background:#080604cf;color:#f3d397;font:800 14px Georgia,serif;letter-spacing:.5px;box-shadow:0 4px 18px #000;animation:forgeHintPulse 1.8s ease-in-out infinite}.forge-scene.zooming .forge-room{transform:scale(1.09);filter:brightness(1)}.forge-scene.zooming .forge-smith-trigger{transform:translateX(-50%) scale(1.1)}.forge-workshop{position:absolute;z-index:8;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s ease}.forge-scene.workshop-open .forge-room{transform:scale(1.1);filter:brightness(.68)}.forge-scene.workshop-open .forge-smith-trigger,.forge-scene.workshop-open .forge-enter-hint{opacity:0;visibility:hidden}.forge-scene.workshop-open .forge-workshop{opacity:1;visibility:visible;pointer-events:auto}.forge-back{position:absolute;z-index:20;top:max(15px,env(safe-area-inset-top));left:max(15px,env(safe-area-inset-left));border:1px solid #c3924c;border-radius:11px;padding:10px 14px;background:#100b07e8;color:#f5d89e;font-weight:900;box-shadow:0 5px 18px #000}.forge-smith-closeup{position:absolute;z-index:4;left:-2%;bottom:-5%;width:min(48vw,610px);height:96%;object-fit:contain;object-position:left bottom;filter:drop-shadow(0 15px 22px #000)}.forge-chest{position:absolute;z-index:9;top:1%;right:2%;width:min(61vw,650px);height:98%;filter:drop-shadow(0 18px 35px #000)}.forge-chest-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}.forge-chest-close{position:absolute;z-index:15;top:6.6%;right:6.4%;width:9%;aspect-ratio:1;border:0;background:transparent;color:transparent;cursor:pointer}.forge-chest-content{position:absolute;z-index:12;left:10.5%;right:10.5%;top:20.5%;bottom:8.5%;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:6px;color:#ead8b6;overflow:hidden}.forge-stats{display:flex;align-items:center;gap:8px;padding:7px 8px;border:1px solid #55442b;background:#080706e8;font-size:11px}.forge-stats b{color:#f4cb76}.forge-chest-content .gear-detail{min-height:48px;margin:0;padding:7px 9px;border:1px solid #55442b;background:#090806e8;color:#ead8b6}.forge-chest-content .gear-detail p{margin:3px 0 0;color:#b9a98e;font-size:10px}.forge-chest-content .bag-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;max-height:none;padding:0;overflow-y:auto}.forge-chest-content .bag-item{min-height:92px;padding:4px;border:1px solid #5a482c;border-radius:2px;background:radial-gradient(circle at 50% 30%,#27231b,#080706 74%);color:#ead8b6}.forge-chest-content .bag-item.equipped{border-color:#9e67d7;box-shadow:inset 0 0 12px #7542aa99}.forge-chest-content .bag-item>b{font-size:8px}.forge-chest-content .weapon-card-visual.compact{width:45px;min-height:68px}.forge-empty{grid-column:1/-1;padding:20px;text-align:center}.forge-white-flash{position:absolute;z-index:80;inset:0;background:#fff;opacity:0;pointer-events:none}.forge-scene.flashing .forge-white-flash{animation:forgeWhiteFlash 2s ease-in-out both}.forge-scene.transitioning{pointer-events:none}@keyframes forgeWhiteFlash{0%{opacity:0}38%,55%{opacity:1}100%{opacity:0}}@keyframes forgeHintPulse{50%{transform:translateX(-50%) scale(1.04);box-shadow:0 0 25px #eaa93d55}}
@media(max-width:760px){.forge-room{background-position:center center}.forge-smith-trigger{left:59%;bottom:-1%;width:82vw;height:83%}.forge-enter-hint{bottom:max(18px,env(safe-area-inset-bottom));font-size:12px}.forge-smith-closeup{left:-23%;bottom:-3%;width:75vw;height:91%;opacity:.92}.forge-chest{top:2%;right:-4%;width:76vw;height:96%}.forge-back{top:max(10px,env(safe-area-inset-top));left:9px;padding:8px 10px;font-size:12px}.forge-chest-content{left:11%;right:11%;top:20.5%;bottom:8.7%}.forge-stats{gap:5px;padding:5px 6px;font-size:9px;overflow-x:auto}.forge-chest-content .bag-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.forge-chest-content .bag-item{min-height:80px}.forge-chest-content .weapon-card-visual.compact{width:38px;min-height:57px}.inventory-scene-modal>.modal-close{width:38px;height:38px}}
.forge-chest-content{grid-template-rows:auto auto auto minmax(0,1fr)}.forge-equipped{padding:6px;border:1px solid #675231;background:#090806e8}.forge-equipped>strong{display:block;margin-bottom:4px;color:#f2c873;font:800 10px Georgia,serif;letter-spacing:1px}.forge-equipped>div{display:flex;align-items:center;gap:4px;min-height:48px}.forge-equipped-item{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;width:25%;min-width:0;height:58px;padding:3px;border:1px solid #8e6740;background:#15110c;color:#e9d6b4;text-align:left}.forge-equipped-item>.weapon-card-visual{grid-row:1/3;width:38px;min-height:52px}.forge-equipped-item>span{grid-row:1/3;display:grid;place-items:center;font-size:25px}.forge-equipped-item small,.forge-equipped-item b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7px}.forge-equipped-item i{position:absolute;right:2px;top:2px;width:14px;height:14px;border-radius:50%;display:grid;place-items:center;background:#6f3ea4;color:#fff;font:900 8px sans-serif}
@media(max-width:760px){.forge-equipped{padding:4px}.forge-equipped>div{min-height:42px}.forge-equipped-item{grid-template-columns:34px minmax(0,1fr);height:48px}.forge-equipped-item>.weapon-card-visual{width:31px;min-height:42px}.forge-equipped-item>span{font-size:20px}}
.forge-materials{display:flex;justify-content:space-around;gap:5px;padding:6px;border:1px solid #59472c;background:#090806e8;color:#f0d29a;font-size:10px}.forge-equipped{overflow-y:auto}.forge-equipped>div{flex-wrap:wrap;align-content:flex-start}.forge-equipped-item{cursor:pointer}.forge-equipped-item i{width:auto;min-width:18px;padding:0 3px;border-radius:8px;background:#8b5a20;color:#ffe6a8}.forge-enhance-panel{align-self:stretch;overflow:auto;padding:8px;border:1px solid #785a31;background:linear-gradient(145deg,#17110aeF,#070605f5);box-shadow:inset 0 0 22px #000;color:#ead8b6}.forge-enhance-card{display:grid;grid-template-columns:58px minmax(0,1fr);gap:8px;align-items:center}.forge-enhance-card>.weapon-card-visual{width:54px;min-height:78px}.forge-enhance-card>.gear-icon{display:grid;place-items:center;font-size:40px}.forge-enhance-card h3{margin:0 0 4px;font:800 13px Georgia,serif;color:#f2d394}.forge-enhance-card h3 em{color:#ffbc43;font-style:normal}.forge-enhance-card p,.forge-enhance-card small{display:block;margin:3px 0;color:#bfb09a;font-size:9px}.forge-enhance-actions{display:flex;gap:7px;margin-top:8px}.forge-enhance-actions button{flex:1;border:1px solid #8c6939;border-radius:7px;padding:9px;background:#19120b;color:#e6d2ad;font-weight:900}.forge-enhance-actions button:last-child{background:linear-gradient(#8b5d1d,#3b210b);color:#ffe5a5;box-shadow:0 0 14px #ffae2644}.forge-enhance-actions button:disabled{opacity:.45}
@media(max-width:760px){.forge-materials{padding:4px;font-size:8px}.forge-enhance-card{grid-template-columns:46px minmax(0,1fr)}.forge-enhance-card>.weapon-card-visual{width:43px;min-height:64px}.forge-enhance-card h3{font-size:11px}.forge-enhance-actions button{padding:7px;font-size:10px}}
.forge-materials span{display:flex;align-items:center;justify-content:center;gap:3px}.forge-materials img{width:22px;height:22px;object-fit:contain}.blue-stone{filter:hue-rotate(-62deg) saturate(1.28) brightness(1.08)}.battle-reward-items{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.battle-reward-items>div{display:grid;place-items:center;min-width:105px;padding:10px;border:1px solid #ad8142;border-radius:12px;background:#090704d9;box-shadow:inset 0 0 18px #000}.battle-reward-items img{width:76px;height:76px;object-fit:contain;filter:drop-shadow(0 0 13px #ffbb3c77)}.battle-reward-items img.blue-stone{filter:hue-rotate(-62deg) saturate(1.28) brightness(1.08) drop-shadow(0 0 13px #42a5ff99)}.battle-reward-items b{font-size:13px;color:#f5d493}
@media(max-width:760px){.forge-materials img{width:17px;height:17px}.battle-reward-items{gap:7px}.battle-reward-items>div{min-width:83px;padding:7px}.battle-reward-items img{width:56px;height:56px}.battle-reward-items b{font-size:10px}}

/* Sảnh hành trang: nhân vật bên trái, thợ rèn ở giữa và bảng trang bị bên phải */
.forge-character-trigger{position:absolute;z-index:4;left:-2%;bottom:0;width:min(42vw,510px);height:59%;padding:0;border:0;background:transparent;cursor:pointer;filter:drop-shadow(0 14px 22px #000);transform-origin:20% 85%;transition:transform .9s ease,filter .9s ease,opacity .35s}
.forge-character-trigger img{display:block;width:100%;height:100%;object-fit:contain;object-position:left bottom}
.forge-character-trigger:after{content:"";position:absolute;inset:10% 7% 3%;border-radius:45%;box-shadow:0 0 42px #d2943500;transition:box-shadow .3s}
.forge-character-trigger:hover:after{box-shadow:0 0 42px #d2943533}
.character-enter-hint{position:absolute;z-index:6;left:14%;bottom:max(22px,env(safe-area-inset-bottom));transform:translateX(-50%);padding:8px 13px;border:1px solid #806337;border-radius:999px;background:#080604d9;color:#e6c98e;font:800 12px Georgia,serif;box-shadow:0 4px 18px #000;animation:forgeHintPulse 1.8s ease-in-out infinite}
.forge-scene.character-zooming .forge-room{transform:translateX(3%) scale(1.055);filter:brightness(.96)}
.forge-scene.character-zooming .forge-character-trigger{transform:scale(1.07) translate(2%,-1%)}
.character-workshop{position:absolute;z-index:10;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s ease}
.forge-scene.character-open .forge-room{transform:translateX(3%) scale(1.06);filter:brightness(.67)}
.forge-scene.character-open.character-returning .forge-room{transform:translateX(0) scale(1);filter:brightness(.86)}
.forge-scene.character-open .forge-smith-trigger,.forge-scene.character-open .forge-enter-hint,.forge-scene.character-open .forge-character-trigger,.forge-scene.character-open .character-enter-hint{opacity:0;visibility:hidden}
.forge-scene.character-open .character-workshop{opacity:1;visibility:visible;pointer-events:auto}
.forge-scene.workshop-open .forge-character-trigger,.forge-scene.workshop-open .character-enter-hint{opacity:0;visibility:hidden}
.character-closeup{position:absolute;z-index:5;left:-4%;bottom:-2%;width:min(54vw,690px);height:78%;object-fit:contain;object-position:left bottom;filter:drop-shadow(0 18px 26px #000);animation:characterDetailIn .55s ease-out}
.character-inventory{position:absolute;z-index:12;top:.5%;right:.8%;width:min(68vw,750px);height:99%;filter:drop-shadow(0 18px 38px #000)}
.character-inventory-frame{position:absolute;z-index:15;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}
.character-inventory-close{position:absolute;z-index:18;right:5.2%;top:4.4%;display:grid;place-items:center;width:9%;aspect-ratio:1;border:1px solid #bc873c;background:#120b06e8;color:#f0c477;font:900 24px Georgia,serif;cursor:pointer}
.character-inventory-content{position:absolute;z-index:8;left:7%;right:7%;top:6.5%;bottom:6%;display:grid;grid-template-rows:auto minmax(0,1fr) minmax(0,1fr) auto;gap:7px;color:#e9d5af;overflow:hidden}
.character-inventory-content header{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border:1px solid #654824;background:#090706e8;color:#f2cb7f;font-family:Georgia,serif}
.character-inventory-content header strong{letter-spacing:1.5px}.character-inventory-content header span{font-weight:900}
.character-total-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}
.character-total-stats span{padding:6px 3px;border:1px solid #493a28;background:#090806e8;text-align:center;font-size:10px;white-space:nowrap}
.character-equipment-grid{min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:7px;overflow:auto}
.character-gear-slot{position:relative;min-height:0;padding:0;border:1px solid #54442e;background:#080706;overflow:hidden;color:#ead4ad;box-shadow:inset 0 0 20px #000;cursor:pointer}
.character-gear-slot>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.82;transition:transform .25s,opacity .25s}
.character-gear-slot:hover>img{transform:scale(1.035);opacity:1}
.character-gear-slot>span,.character-gear-slot>b,.character-gear-slot>small,.character-gear-slot>i{position:absolute;z-index:2;text-shadow:0 2px 5px #000}
.character-gear-slot>span{left:7px;top:6px;color:#e5bd76;font:800 10px Georgia,serif;text-transform:uppercase}
.character-gear-slot>b{left:7px;right:26px;bottom:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;text-align:left}
.character-gear-slot>small{left:7px;bottom:7px;color:#8f8679;font-size:9px}
.character-gear-slot>i{right:6px;top:5px;min-width:19px;padding:3px;border-radius:5px;background:#a16b20;color:#fff0bf;font:900 8px sans-serif}
.character-gear-slot.equipped{border-color:#bb853c;box-shadow:inset 0 0 19px #d68b2426,0 0 9px #d495383d}
.character-gold{display:flex;align-items:center;justify-content:center;gap:7px;padding:7px;border:1px solid #59401e;background:#090706e8;color:#f5cf77}
.character-gold img{width:28px;height:28px;object-fit:contain}
.character-bag{min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:5px;padding:6px;border:1px solid #684b28;background:#080706e8;overflow:hidden}
.character-bag-title{display:flex;align-items:center;justify-content:space-between;color:#f0c878;font:800 10px Georgia,serif;letter-spacing:.5px}.character-bag-title small{color:#bba77f}
.character-gear-detail{min-height:44px;padding:6px 8px;border:1px solid #4e3d27;background:#110d08;color:#ead6b3;font-size:9px;overflow:auto}.character-gear-detail p{margin:3px 0;color:#bcae95}.character-gear-detail .gear-action-menu{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.character-gear-detail .gear-action-menu button{flex:1;min-width:80px;padding:6px;border:1px solid #9a7139;border-radius:5px;background:linear-gradient(#332313,#160e08);color:#f6d89d;font-size:8px;font-weight:900}
.character-bag-grid{min-height:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;overflow-y:auto}.character-bag-item{position:relative;min-height:82px;padding:3px;border:1px solid #55442d;background:radial-gradient(circle at 50% 30%,#29241d,#090806 72%);color:#e7d2ab;overflow:hidden}.character-bag-item>img{display:block;width:100%;height:54px;object-fit:contain}.character-bag-item>.weapon-card-visual{width:100%;min-height:54px;transform:scale(.74);transform-origin:center}.character-bag-item>b,.character-bag-item>small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7px}.character-bag-item>small{color:#a99b84}.character-bag-item>i{position:absolute;right:2px;top:2px;padding:2px 4px;border-radius:5px;background:#93611e;color:#ffe3a2;font:900 6px sans-serif}.character-bag-item.equipped{border-color:#c18a3f;box-shadow:inset 0 0 11px #e69b2d44}.character-bag-empty{grid-column:1/-1;padding:18px;text-align:center;color:#9b8d76}
.forge-equipped-item>img{grid-row:1/3;width:38px;height:52px;object-fit:cover}
@keyframes characterDetailIn{from{transform:translateX(-4%) scale(.94);opacity:.35}to{transform:none;opacity:1}}

@media(max-width:760px){
  .forge-character-trigger{left:-8%;bottom:3%;width:60vw;height:47%}
  .character-enter-hint{left:18%;bottom:max(17px,env(safe-area-inset-bottom));padding:6px 9px;font-size:9px}
  .character-closeup{left:-31%;bottom:2%;width:92vw;height:68%;opacity:.96}
  .character-inventory{top:1%;right:-2%;width:84vw;height:98%}
  .character-inventory-close{right:5%;top:4.5%;font-size:17px}
  .character-inventory-content{left:7%;right:7%;top:6%;bottom:6.5%;gap:4px}
  .character-inventory-content header{padding:5px 7px;font-size:11px}
  .character-total-stats{grid-template-columns:repeat(3,1fr);gap:3px}
  .character-total-stats span{padding:4px 2px;font-size:8px}
  .character-equipment-grid{gap:4px}
  .character-inventory-content{grid-template-rows:auto minmax(0,1fr) minmax(0,1fr) auto}
  .character-bag{padding:4px}.character-bag-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.character-bag-item{min-height:70px}.character-bag-item>img{height:44px}.character-gear-detail{min-height:38px;padding:4px 6px}
  .character-gear-slot>span{left:4px;top:4px;font-size:8px}
  .character-gear-slot>b,.character-gear-slot>small{left:4px;bottom:4px;font-size:7px}
  .character-gear-slot>i{right:3px;top:3px;font-size:7px}
  .character-gold{padding:4px;font-size:10px}.character-gold img{width:20px;height:20px}
  .forge-equipped-item>img{width:31px;height:42px}
}

/* Cụm rương và kho chứa toàn bộ trang bị */
.warehouse-trigger{position:absolute;z-index:4;right:-3%;bottom:0;width:min(38vw,470px);height:43%;padding:0;border:0;background:transparent;cursor:pointer;filter:drop-shadow(0 15px 22px #000);transform-origin:86% 84%;transition:transform .9s ease,opacity .35s}
.warehouse-trigger img{display:block;width:100%;height:100%;object-fit:contain;object-position:right bottom}
.warehouse-trigger:after{content:"";position:absolute;inset:8% 4% 4%;border-radius:42%;box-shadow:0 0 42px #e0a53e00;transition:box-shadow .3s}
.warehouse-trigger:hover:after{box-shadow:0 0 42px #e0a53e3d}
.warehouse-enter-hint{position:absolute;z-index:6;right:7%;bottom:max(22px,env(safe-area-inset-bottom));padding:8px 13px;border:1px solid #806337;border-radius:999px;background:#080604d9;color:#e6c98e;font:800 12px Georgia,serif;box-shadow:0 4px 18px #000;animation:warehouseHintPulse 1.8s ease-in-out infinite}
.forge-scene.warehouse-zooming .forge-room{transform:translateX(-3%) scale(1.055);filter:brightness(.96)}
.forge-scene.warehouse-zooming .warehouse-trigger{transform:scale(1.07) translate(-2%,-1%)}
.warehouse-workshop{position:absolute;z-index:11;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s ease}
.forge-scene.warehouse-open .forge-room{transform:translateX(-3%) scale(1.06);filter:brightness(.65)}
.forge-scene.warehouse-open.warehouse-returning .forge-room{transform:translateX(0) scale(1);filter:brightness(.86)}
.forge-scene.warehouse-open .forge-smith-trigger,.forge-scene.warehouse-open .forge-enter-hint,.forge-scene.warehouse-open .forge-character-trigger,.forge-scene.warehouse-open .character-enter-hint,.forge-scene.warehouse-open .warehouse-trigger,.forge-scene.warehouse-open .warehouse-enter-hint{opacity:0;visibility:hidden}
.forge-scene.warehouse-open .warehouse-workshop{opacity:1;visibility:visible;pointer-events:auto}
.forge-scene.character-open .warehouse-trigger,.forge-scene.character-open .warehouse-enter-hint,.forge-scene.workshop-open .warehouse-trigger,.forge-scene.workshop-open .warehouse-enter-hint{opacity:0;visibility:hidden}
.warehouse-panel{position:absolute;z-index:13;top:1%;right:2%;width:min(61vw,650px);height:98%;filter:drop-shadow(0 18px 38px #000);animation:warehousePanelIn .55s ease-out}
.warehouse-frame{position:absolute;z-index:15;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}
.warehouse-close{position:absolute;z-index:20;right:5.8%;top:4.2%;width:9%;aspect-ratio:1;border:0;background:transparent;color:transparent;cursor:pointer}
.warehouse-content{position:absolute;z-index:16;left:10%;right:10%;top:21%;bottom:7.5%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:6px;color:#e8d4ae;overflow:hidden}
.warehouse-detail{min-height:45px;padding:7px 9px;border:1px solid #56442d;background:#080706e8}
.warehouse-detail b{color:#f0c875;font:800 11px Georgia,serif}.warehouse-detail p{margin:3px 0 0;color:#aa9c86;font-size:9px}
.warehouse-grid{min-height:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-content:start;gap:4px;padding:2px;overflow-y:auto;overscroll-behavior:contain}
.warehouse-item{position:relative;min-height:103px;padding:3px;border:1px solid #50402b;background:radial-gradient(circle at 50% 30%,#211c16,#070605 74%);color:#dfc8a0;overflow:hidden;cursor:pointer}
.warehouse-item>img{display:block;width:100%;height:72px;object-fit:cover}.warehouse-item>.weapon-card-visual{width:100%;min-height:72px;height:72px}
.warehouse-item>b,.warehouse-item>small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.warehouse-item>b{margin-top:3px;font-size:8px}.warehouse-item>small{color:#948873;font-size:7px}
.warehouse-item>i{position:absolute;z-index:3;right:3px;top:3px;display:grid;place-items:center;min-width:18px;height:18px;border-radius:50%;background:#9a6724;color:#fff0be;font:900 9px sans-serif}
.warehouse-item.equipped{border-color:#c08b42;box-shadow:inset 0 0 16px #d38a263d,0 0 7px #dca64f55}
.warehouse-content footer{display:flex;align-items:center;justify-content:space-between;padding:5px 10px;border:1px solid #52402a;background:#080706e8;font-size:10px}
.warehouse-content footer span{display:flex;align-items:center;gap:5px}.warehouse-content footer img{width:22px;height:22px;object-fit:contain}
@keyframes warehousePanelIn{from{transform:translateX(5%) scale(.94);opacity:.3}to{transform:none;opacity:1}}@keyframes warehouseHintPulse{50%{transform:scale(1.04);box-shadow:0 0 24px #e0a53e55}}

@media(max-width:760px){
  .warehouse-trigger{right:-10%;bottom:3%;width:56vw;height:38%}
  .warehouse-enter-hint{right:4%;bottom:max(17px,env(safe-area-inset-bottom));padding:6px 9px;font-size:9px}
  .warehouse-panel{top:1%;right:-3%;width:78vw;height:98%}
  .warehouse-content{left:10%;right:10%;top:21%;bottom:7.5%;gap:4px}
  .warehouse-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}
  .warehouse-item{min-height:88px}.warehouse-item>img{height:59px}.warehouse-item>.weapon-card-visual{height:59px;min-height:59px}
  .warehouse-item>b{font-size:7px}.warehouse-item>small{font-size:6px}
  .warehouse-detail{min-height:39px;padding:5px 7px}.warehouse-detail b{font-size:9px}.warehouse-detail p{font-size:7px}
  .warehouse-content footer{padding:3px 7px;font-size:8px}.warehouse-content footer img{width:17px;height:17px}
}

/* Khung máu boss 3D */
.boss-hp-frame{position:relative;width:100%;aspect-ratio:1922/818;margin-top:-2px;filter:drop-shadow(0 6px 9px #000)}
.boss-frame-art{position:absolute;z-index:4;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}
.boss-portrait{position:absolute;z-index:1;left:4.8%;top:24%;width:20.5%;height:54%;border-radius:50%;overflow:hidden;background:#130705;box-shadow:inset 0 0 18px #000}
.boss-portrait img{width:100%;height:100%;object-fit:cover;object-position:65% 45%;transform:scale(1.5);filter:contrast(1.1) saturate(1.1)}
.battle-3d .hp-bar.boss-framed{position:absolute;z-index:2;left:27.1%;right:5.2%;top:38.1%;width:auto;height:27%;margin:0;border:0;border-radius:999px;background:#210207;box-shadow:inset 0 0 10px #000;overflow:hidden}
.battle-3d .hp-bar.boss-framed i{border-radius:999px;background:linear-gradient(90deg,#76101c,#d51b2e 60%,#ff4b43);box-shadow:inset 0 2px 4px #ff918466,0 0 12px #e3192f}
.battle-3d .hp-bar.boss-framed span{z-index:3;font-size:clamp(9px,1.15vw,15px);text-shadow:0 2px 4px #000}
.battle-3d .boss-panel{top:8px;left:24%;right:4%}
.battle-3d .boss-name{position:absolute;z-index:6;left:25%;right:11%;top:15%;pointer-events:none}
.battle-3d .boss-name b{font-size:clamp(12px,1.45vw,20px)}.battle-3d .boss-name small{font-size:clamp(8px,.9vw,12px)}
@media(max-width:760px){.battle-3d .boss-panel{top:5px;left:21%;right:1%}.battle-3d .boss-name{top:11%;left:23%;right:9%}.battle-3d .boss-name b{font-size:11px}.battle-3d .boss-name small{display:none}.battle-3d .hp-bar.boss-framed span{font-size:8px}}

/* Lệnh chiến đấu và hệ thống SP */
.battle-3d .battle-actions{right:2%;bottom:10px;width:56%;gap:5px;align-items:end}
.battle-3d .battle-actions .battle-command{position:relative;min-height:0;height:116px;padding:0;border:0;background:transparent;box-shadow:none;overflow:visible}
.battle-3d .battle-actions .battle-command:first-child{box-shadow:none}
.battle-command>img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 8px #000);transition:transform .18s,filter .18s}
.battle-command:hover>img{transform:translateY(-3px) scale(1.035);filter:drop-shadow(0 8px 13px #f06b226e)}
.battle-command:active>img{transform:scale(.94)}
.battle-command>small{position:absolute;z-index:2;left:10%;right:10%;bottom:2px;padding:2px 3px;border-radius:8px;background:#090503d4;color:#ffd899;font-size:8px;line-height:1.2}
.battle-command:disabled{opacity:.36;filter:grayscale(.65)}
.rage-bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:5px;margin-top:5px;padding:4px 6px;border:1px solid #72522d;border-radius:8px;background:#0b0705d9;color:#f1c470;font-size:9px}
.rage-bar>span{display:grid;grid-template-columns:repeat(5,1fr);gap:3px}.rage-bar i{height:7px;border:1px solid #6d3e25;border-radius:999px;background:#25100c}.rage-bar i.active{background:linear-gradient(90deg,#ff5a16,#ffc735);box-shadow:0 0 8px #ff6a18}
.hero-effects{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px}.hero-effects span{padding:3px 6px;border:1px solid #a77d3e;border-radius:999px;background:#0b0806df;color:#f3d28f;font-size:8px}
.boss-effects{position:absolute;z-index:8;left:28%;bottom:-12px;display:flex;align-items:center}
.boss-effects img{width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 3px 7px #000)}
.boss-effects b{display:grid;place-items:center;width:17px;height:17px;margin-left:-10px;border-radius:50%;background:#a41118;color:#fff;font-size:9px;box-shadow:0 2px 5px #000}
.battle-skill-choices{position:absolute;z-index:17;right:3%;bottom:134px;width:min(48%,430px);display:grid;gap:7px;padding:10px;border:1px solid #b77d35;border-radius:13px;background:linear-gradient(145deg,#1b0d07f5,#080403f7);box-shadow:0 13px 34px #000,inset 0 0 22px #9b3d172e;animation:battleOutcomeIn .25s ease-out}
.battle-skill-choices button{display:grid;gap:3px;padding:10px 12px;border:1px solid #744622;border-radius:9px;background:#210d07;color:#f3ce88;text-align:left}.battle-skill-choices button b{font:900 13px Georgia,serif}.battle-skill-choices button small{color:#c6ae8c;font-size:9px}.battle-skill-choices button:disabled{opacity:.4}.battle-skill-choices #battleSkillCancel{place-items:center;background:#0c0907;color:#aaa;text-align:center}
@media(max-width:760px){
  .battle-3d .battle-actions{left:1%;right:1%;bottom:4px;width:auto;gap:1px}
  .battle-3d .battle-actions .battle-command{height:82px;padding:0}
  .battle-command>small{left:7%;right:7%;bottom:0;font-size:6px}
  .battle-3d .hero-battle{bottom:83px;width:48%}
  .rage-bar{gap:3px;padding:3px 4px;font-size:7px}.rage-bar i{height:5px}.hero-effects span{font-size:6px;padding:2px 4px}
  .boss-effects{left:28%;bottom:-8px}.boss-effects img{width:29px;height:29px}.boss-effects b{width:13px;height:13px;font-size:7px}
  .battle-skill-choices{left:4%;right:4%;bottom:88px;width:auto;padding:7px}.battle-skill-choices button{padding:8px}.battle-skill-choices button b{font-size:11px}.battle-skill-choices button small{font-size:8px}
}

@media(max-width:760px){
  .stage-leaderboard{min-height:330px;background-position:center 52%}
  .leaderboard-copy{padding:5px 13px 12px}
  .leaderboard-battle-launch{right:6px;bottom:20px;width:84px;height:84px}
  .leaderboard-warrior-wrap{right:-7%;bottom:3%;width:66%;height:70%}
  .battle-mode .battle-screen.battle-3d{background-position:49% bottom}
}

/* V7.7: khóa thu phóng trên toàn bộ ứng dụng */
html,body{touch-action:pan-x pan-y;-ms-touch-action:pan-x pan-y}

/* Trạng thái tài khoản và nhóm Công cụ */
.account-menu-head small.active{color:#159447;font-weight:900}
.account-tools{margin:0 5px 6px 27px;padding:4px;border-left:2px solid #d9e5f4}
.account-tools button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;border-radius:9px;padding:9px 10px;background:#f2f6fb;color:var(--ink);text-align:left}
.account-tools button small{color:var(--muted);font-size:10px}

/* Hình nút Gift Code và biểu tượng thanh điều hướng */
.gift-code-entry{width:min(255px,58%);height:auto;margin:0 12px 11px auto;padding:0;border:0;border-radius:12px;background:transparent;overflow:hidden}
.gift-code-entry img{display:block;width:100%;height:auto;object-fit:contain}
.bottom-nav .gift-nav-icon{display:block;width:34px;height:27px;font-size:0}
.bottom-nav .gift-nav-icon img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 3px #0b31522e)}

/* Túi đồ nổi trong Kho thẻ */
.cards-bag-launch{position:fixed;z-index:38;right:max(14px,calc((100vw - 1140px)/2));bottom:88px;width:118px;height:118px;padding:0;border:0;background:transparent;filter:drop-shadow(0 8px 13px #0007);animation:cardsBagFloat 2.4s ease-in-out infinite;cursor:pointer}
.cards-bag-launch img{display:block;width:100%;height:100%;object-fit:contain}
.cards-bag-launch b{position:absolute;left:18%;right:18%;bottom:7%;padding:3px 5px;border:1px solid #d69b4f;border-radius:999px;background:#180b05dc;color:#ffe0a0;font:900 11px Georgia,serif;text-shadow:0 2px 4px #000;box-shadow:0 0 11px #ff792d73}
.cards-bag-launch:before{content:"";position:absolute;inset:24% 27% 35%;border-radius:50%;box-shadow:0 0 24px #ff5014;opacity:.42;animation:cardsBagEyes 1.35s ease-in-out infinite}
.cards-bag-launch:active{transform:scale(.94)}
.cards-mission-launch{position:fixed;z-index:37;right:max(18px,calc((100vw - 1132px)/2));bottom:202px;width:112px;height:112px;padding:0;border:0;background:transparent;filter:drop-shadow(0 8px 15px #00152ec2);animation:cardsMissionFloat 2.8s ease-in-out infinite;cursor:pointer}
.cards-mission-launch img{display:block;width:100%;height:100%;object-fit:contain}.cards-mission-launch:before{content:"";position:absolute;inset:22%;border-radius:50%;box-shadow:0 0 28px #238fffaa;animation:cardsMissionGlow 1.8s ease-in-out infinite}.cards-mission-launch:active{transform:scale(.94)}
@keyframes cardsMissionFloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-9px) rotate(1deg)}}@keyframes cardsMissionGlow{50%{box-shadow:0 0 38px #58b7ff;opacity:.72}}
.modal-layer.mission-layer{padding:8px;background:#02071199}.mission-layer .modal-backdrop{background:#010817dc;backdrop-filter:blur(7px)}
.modal.mission-modal{width:min(610px,96vw);height:min(88dvh,860px);max-height:none;padding:0;overflow:visible;border-radius:0;background:transparent;box-shadow:none}.mission-modal>.modal-close{z-index:8;right:8%;top:6%;width:39px;height:39px;border:1px solid #d4a74f;background:#071322e8;color:#f8dc8d;box-shadow:0 0 15px #238fff;font-weight:900}.mission-modal #modalContent,.mission-board{width:100%;height:100%}.mission-board{position:relative;animation:missionBoardIn .35s ease-out}.mission-board-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;filter:drop-shadow(0 18px 38px #000)}.mission-board-content{position:absolute;z-index:2;left:15%;right:15%;top:16%;bottom:15%;display:flex;flex-direction:column;align-items:center;color:#e8f3ff;text-align:center;overflow:auto}.mission-board-content>span{color:#64baff;font:900 12px Georgia,serif;letter-spacing:4px}.mission-board-content h2{margin:8px 0 22px;padding:0;color:#ffe097;font:900 clamp(22px,4vw,34px) Georgia,serif;text-shadow:0 2px 7px #000,0 0 14px #2e83ff}.mission-updating{width:100%;margin:auto;padding:32px 15px;border:1px solid #28598b;border-radius:13px;background:#06111fd9;box-shadow:inset 0 0 28px #0008}.mission-updating i{display:block;width:35px;height:35px;margin:0 auto 13px;border:3px solid #2b5d8e;border-top-color:#60c4ff;border-radius:50%;animation:missionSpin 1s linear infinite}.mission-updating b,.mission-updating small{display:block}.mission-updating b{font-size:18px;color:#f5d991}.mission-updating small{margin-top:7px;color:#91a8bf;font-size:11px}@keyframes missionSpin{to{transform:rotate(360deg)}}@keyframes missionBoardIn{from{transform:translateY(18px) scale(.95);opacity:0}to{transform:none;opacity:1}}
@keyframes cardsBagFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-7px) scale(1.035)}}@keyframes cardsBagEyes{50%{opacity:.9;box-shadow:0 0 34px #ff2b00}}

/* Lớp bảo vệ tương tác nằm trên video, hiệu ứng lóe vẫn nằm trước hình video */
.cinematic-shield{position:absolute;z-index:10;inset:0;background:transparent;touch-action:none;user-select:none;cursor:wait}
.gacha-video-flash{z-index:7}.ultimate-flash{z-index:9}

/* Sảnh hành trang: nhân vật gần hơn, thợ rèn nhỏ và đứng xa hơn */
.forge-character-trigger{bottom:8%;height:55%}
.forge-smith-trigger{left:58%;bottom:18%;width:min(30vw,360px);height:62%}
.forge-enter-hint{left:58%;bottom:max(18%,calc(env(safe-area-inset-bottom) + 12px))}
.character-enter-hint{bottom:max(8%,calc(env(safe-area-inset-bottom) + 10px))}

/* Chỉ số nhân vật đặt trên vách trái */
.character-stat-wall{position:absolute;z-index:11;left:3%;top:17%;width:27%;display:grid;gap:5px;padding:12px;border:1px solid #8d6737;border-radius:12px;background:linear-gradient(145deg,#0d0906e8,#211407d9);color:#e6c890;box-shadow:inset 0 0 22px #000,0 8px 24px #0008;font-size:11px}
.character-stat-wall strong{color:#f3cd78;font:900 13px Georgia,serif;letter-spacing:.8px}
.character-stat-wall p{margin:0;color:#f0dcba}.character-stat-wall span{padding-top:4px;border-top:1px solid #5d4528}
.character-inventory-content{grid-template-rows:auto minmax(0,1fr) auto}

/* Khung ô là nền, hình trang bị thật nổi lên phía trên */
.character-gear-slot>img.slot-frame{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;opacity:.82}
.character-gear-slot>img.equipped-gear-art{position:absolute;z-index:1;inset:14%;width:72%;height:72%;object-fit:contain;opacity:1;filter:brightness(1.12) drop-shadow(0 0 8px #ffcf74);pointer-events:none}
.character-gear-slot:hover>img.slot-frame{transform:scale(1.035);opacity:1}
.character-gear-slot:hover>img.equipped-gear-art{transform:scale(1.06)}
.forge-equipped-item>img.forge-slot-frame{grid-row:1/3;width:38px;height:52px;object-fit:cover}
.forge-equipped-item>img.forge-equipped-art{position:absolute;z-index:2;left:4px;top:5px;width:34px;height:43px;object-fit:contain;filter:drop-shadow(0 0 5px #ffc86c);pointer-events:none}

/* Đếm đợt Boss và căn lại tên Hắc Long */
.round-label{position:absolute;z-index:7;top:14px;right:14px;padding:8px 14px;border:1px solid #a88a58;border-radius:999px;background:#080808c9;color:#f4d28c;font:900 14px Georgia,serif;letter-spacing:1px}
.battle-screen.battle-3d{background-color:#21150e;background-size:cover;background-position:center center}
.battle-3d .boss-name{top:10%;left:22%;right:14%}

@media(max-width:760px){
  .cards-bag-launch{right:7px;bottom:82px;width:92px;height:92px}.cards-bag-launch b{font-size:9px}
  .cards-mission-launch{right:10px;bottom:170px;width:88px;height:88px}
  .modal.mission-modal{width:98vw;height:86dvh}.mission-modal>.modal-close{right:7%;top:5%;width:32px;height:32px}.mission-board-content{left:14%;right:14%;top:15%;bottom:14%}.mission-board-content h2{margin-bottom:14px}.mission-updating{padding:24px 8px}
  .gift-code-entry{width:min(235px,68%)}
  .stage-leaderboard{min-height:258px;background-position:center 48%}
  .leaderboard-copy{width:calc(100% - 82px);padding:4px 3px 8px 9px}
  .leaderboard-title-image{width:min(230px,100%);height:51px;margin-bottom:-5px}
  .leaderboard-copy>.leaderboard-title-image+p{font-size:10px;margin-bottom:3px}
  .leaderboard-row{grid-template-columns:48px minmax(0,1fr);min-height:48px;padding:1px 5px 1px 1px}
  .rank-badge{width:47px;height:47px}.leaderboard-row span{font-size:12px}.leaderboard-row strong{font-size:9px}
  .leaderboard-battle-launch{right:4px;top:105px;bottom:auto;width:78px;height:78px}
  .leaderboard-warrior-wrap{right:-8%;bottom:12%;width:57%;height:63%}
  #page-schedule>.content-section{margin-top:14px}
  .forge-character-trigger{left:-8%;bottom:12%;width:58vw;height:43%}
  .forge-smith-trigger{left:59%;bottom:25%;width:51vw;height:55%}
  .forge-enter-hint{left:59%;bottom:max(24%,calc(env(safe-area-inset-bottom) + 10px));font-size:10px}
  .character-enter-hint{bottom:max(11%,calc(env(safe-area-inset-bottom) + 8px))}
  .character-stat-wall{left:2%;top:17%;width:22%;gap:3px;padding:7px 5px;font-size:7px}
  .character-stat-wall strong{font-size:8px}.character-stat-wall p{font-size:7px}.character-stat-wall span{padding-top:2px}
  .character-inventory{right:-2%;width:75vw}
  .character-inventory-content{grid-template-rows:auto minmax(0,1fr) auto}
  .character-gear-slot>img.equipped-gear-art{inset:16%;width:68%;height:68%}
  .round-label{top:max(48px,calc(env(safe-area-inset-top) + 44px));right:7px;padding:5px 8px;font-size:9px}
  .battle-3d .boss-name{top:7%;left:20%;right:12%}
}

/* Bản 1.1: nền chiến đấu đầy đủ, không còn dải đen ở nửa dưới */
.battle-screen.battle-3d,
.battle-mode .battle-screen.battle-3d{
  background-color:#17120f;
  background-image:url("hinhanh/chien-dau/chien-truong-trong-3d-v11.png");
  background-size:cover;
  background-repeat:no-repeat;
  background-position:center center;
}

/* Căn chính giữa số máu trên cả hai thanh */
.hp-bar span,
.battle-3d .hp-bar.boss-framed span{
  position:absolute;
  z-index:4;
  inset:0;
  display:grid;
  place-items:center;
  padding:0;
  font-size:clamp(12px,1.35vw,17px);
  line-height:1;
  text-align:center;
  white-space:nowrap;
  pointer-events:none;
}
.battle-3d .hero-battle>.hp-bar span{font-size:clamp(13px,1.45vw,18px)}
@media(max-width:760px){
  .battle-3d .hp-bar.boss-framed span{font-size:11px}
  .battle-3d .hero-battle>.hp-bar span{font-size:12px}
}

/* Sát thương hiện lâu hơn; KILL gồm sáu nhịp và rung đúng hai giây */
.damage-pop{animation-duration:1.15s}
.damage-pop.critical{animation-duration:1.35s}
.damage-pop.ultimate-hit{z-index:20;animation-name:ultimateDamageFloat;animation-duration:1.2s}
.damage-pop.ultimate-hit span{font-size:clamp(20px,4vw,46px);color:#ff2514;-webkit-text-stroke:1px #ffe071;text-shadow:0 0 8px #fff,0 0 18px #ff4b00,0 4px 9px #280000}
.player-actor.ultimate-casting{animation:ultimateRaiseCharge 3s ease-in-out both;filter:drop-shadow(0 0 16px #ffe374)}
.player-actor.ultimate-casting .held-battle-weapon{opacity:0}
.ultimate-effect-shield{position:absolute;z-index:60;inset:0;background:transparent;touch-action:none;user-select:none;cursor:wait}
.battle-screen.ultimate-shaking{animation:ultimateScreenShake .12s linear infinite}
@keyframes ultimateRaiseCharge{0%{transform:translateY(0);filter:drop-shadow(0 0 0 transparent)}34%,100%{transform:translateY(-2%);filter:drop-shadow(0 0 22px #ffe374)}}
@keyframes ultimateDamageFloat{0%{opacity:0;transform:translate(-50%,12%) scale(.55)}18%{opacity:1;transform:translate(-50%,-7%) scale(1.18)}68%{opacity:1;transform:translate(-50%,-48%) scale(.98)}100%{opacity:0;transform:translate(-50%,-105%) scale(.88)}}
@keyframes ultimateScreenShake{0%,100%{transform:translate(0,0)}25%{transform:translate(-5px,3px)}50%{transform:translate(5px,-3px)}75%{transform:translate(-3px,-2px)}}

/* Gacha 1.1: hoạt ảnh WebP nội tuyến, âm thanh tách riêng và lớp khóa trên cùng */
.gacha-animation-cinematic{background:#000;transition:opacity .48s ease}
.gacha-animation{position:absolute;z-index:1;inset:0;width:100%;height:100%;object-fit:contain;background:#000;pointer-events:none}
.gacha-ring-glow,.gacha-center-light,.gacha-screen-flash{position:absolute;inset:0;pointer-events:none}
.gacha-ring-glow{z-index:3;margin:auto;width:9vmin;height:9vmin;border-radius:50%;opacity:0;background:radial-gradient(circle,#fff 0 5%,#fff4b4 10%,#ffd74399 25%,transparent 68%);filter:blur(3px)}
.gacha-animation-cinematic.epic .gacha-ring-glow{background:radial-gradient(circle,#fff 0 5%,#f3dfff 12%,#8a39ff99 29%,transparent 69%)}
.gacha-center-light{z-index:4;opacity:0;background:radial-gradient(circle at center,#fff 0,#fffbe8cc 3%,#ffd76f73 13%,transparent 35%)}
.gacha-animation-cinematic.epic .gacha-center-light{background:radial-gradient(circle at center,#fff 0,#f5e8ffcc 3%,#8f4dff73 13%,transparent 35%)}
.gacha-animation-cinematic.center-charging .gacha-ring-glow{animation:gachaRingGrow 2.18s cubic-bezier(.15,.68,.2,1) both}
.gacha-animation-cinematic.center-charging .gacha-center-light{animation:gachaCenterCharge 2.18s ease-in both}
.gacha-screen-flash{z-index:8;background:#fff;opacity:0}
.gacha-animation-cinematic.at-peak .gacha-screen-flash{animation:gachaFullFlash .85s ease-out both}
.gacha-animation-cinematic .cinematic-shield{z-index:50}
@keyframes gachaRingGrow{0%{opacity:.12;transform:scale(.6)}45%{opacity:.72;transform:scale(3.2)}100%{opacity:1;transform:scale(7.4)}}
@keyframes gachaCenterCharge{0%{opacity:.08;transform:scale(.35)}58%{opacity:.55;transform:scale(1.3)}100%{opacity:1;transform:scale(2.8)}}
@keyframes gachaFullFlash{0%{opacity:0}18%{opacity:1}48%{opacity:.96}100%{opacity:0}}

/* Thẻ xuất hiện từ tâm, lớp lóa trắng rút dần rồi mới cho phép thao tác */
.reveal-layer{overflow:hidden}
.reveal-layer.reveal-entering{pointer-events:auto;cursor:wait}
.reveal-layer.reveal-entering:before{content:"";position:absolute;z-index:30;inset:0;background:#fff;pointer-events:none;animation:revealGlareFade .85s ease-out both}
.reveal-layer.reveal-entering .gacha-pop-card{animation:revealCardFromCenter .85s cubic-bezier(.16,.82,.23,1.1) both}
.reveal-layer .gacha-pop-card{position:relative;z-index:4}
@keyframes revealGlareFade{0%{opacity:1}34%{opacity:.94}100%{opacity:0}}
@keyframes revealCardFromCenter{0%{opacity:0;transform:scale(.16)}34%{opacity:.25;transform:scale(.62)}72%{opacity:1;transform:scale(1.07)}100%{opacity:1;transform:scale(1)}}

/* Lịch game mobile: tiêu đề giữa, hàng xếp hạng đủ rộng và nút Vượt ải đè viền phải */
@media(max-width:760px){
  .stage-leaderboard{min-height:292px}
  .leaderboard-copy{width:100%;padding:7px 10px 12px}
  .leaderboard-title-image{width:min(300px,88%);height:68px;margin:0 auto -2px;object-position:center}
  .leaderboard-copy>.leaderboard-title-image+p{margin:0 0 6px;font-size:10px}
  .leaderboard-list{gap:3px}
  .leaderboard-row{grid-template-columns:52px minmax(0,1fr);min-height:52px;padding:1px 7px 1px 1px}
  .rank-badge{width:51px;height:51px}
  .leaderboard-row span{font-size:13px;padding-right:64px}
  .leaderboard-row strong{font-size:9px;padding-right:64px}
  .leaderboard-battle-launch{z-index:12;right:-1px;top:128px;bottom:auto;width:94px;height:94px}
  .leaderboard-warrior-wrap{right:-9%;bottom:2%;width:58%;height:58%;opacity:.72}
  #page-schedule>.content-section{margin-top:12px}
}

/* Bản 1.2: nền và bố cục Túi đồ */
.forge-room{
  inset:0;
  background-image:url("hinhanh/giao-dien/nen-phong-ren-v12.png");
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
  filter:brightness(.92);
}
.forge-room:after{background:radial-gradient(circle at 55% 48%,transparent 0 42%,#0002 76%,#0006 100%)}
.forge-character-trigger{left:-1%;bottom:5%;width:min(43vw,520px);height:49%}
.forge-character-trigger img{object-position:left bottom}
.character-closeup{left:-3%;bottom:3%;width:min(55vw,700px);height:72%;object-position:left bottom}
.forge-smith-trigger{left:59%;bottom:35%;width:min(24vw,292px);height:48%}
.forge-enter-hint{left:59%;bottom:max(29%,calc(env(safe-area-inset-bottom) + 12px))}

@media(max-width:760px){
  .forge-room{background-position:center center;background-size:auto 100%}
  .forge-character-trigger{left:-8%;bottom:8%;width:58vw;height:38%}
  .character-enter-hint{left:18%;bottom:max(7%,calc(env(safe-area-inset-bottom) + 8px))}
  .character-closeup{left:-27%;bottom:6%;width:92vw;height:55%;opacity:.98}
  .forge-smith-trigger{left:59%;bottom:37%;width:38vw;height:44%}
  .forge-enter-hint{left:59%;bottom:max(30%,calc(env(safe-area-inset-bottom) + 10px));font-size:9px}
}

/* Vũ khí nằm sau nhân vật và neo cán vào đúng tay theo ba nhóm */
.player-actor>.player-body-sprite{
  position:relative;
  z-index:2;
  display:block;
  width:100%;
  height:auto;
  filter:drop-shadow(0 12px 16px #000);
}
.player-actor>.held-battle-weapon{
  position:absolute;
  z-index:1;
  display:block;
  margin:0;
  object-fit:contain;
  pointer-events:none;
  filter:brightness(1.16) contrast(1.08) drop-shadow(0 0 8px #9fd3ff);
  animation:none;
}
.held-battle-weapon.weapon-grip-1{
  right:21%;
  bottom:48%;
  width:55%;
  height:72%;
  transform-origin:100% 100%;
  transform:rotate(180deg);
}
.held-battle-weapon.weapon-grip-2{
  left:54%;
  top:52%;
  width:50%;
  height:68%;
  transform-origin:50% 0;
  transform:rotate(-45deg);
}
.held-battle-weapon.weapon-grip-3{
  right:21%;
  top:52%;
  width:52%;
  height:64%;
  transform-origin:100% 0;
  transform:rotate(-90deg);
}
.player-actor.attacking{animation:playerAttackV12 .76s cubic-bezier(.18,.72,.25,1) both}
.player-actor.attacking .held-battle-weapon{animation:none}
.player-actor.attacking .weapon-grip-1{right:4%;bottom:69%;transform:rotate(135deg)}
.player-actor.attacking .weapon-grip-2{left:70%;top:31%;transform:rotate(-90deg)}
.player-actor.attacking .weapon-grip-3{right:4%;top:31%;transform:rotate(-135deg)}
@keyframes playerAttackV12{
  0%{transform:translate(0,0) scale(1)}
  22%{transform:translate(6%,-2%) scale(1.01)}
  58%{transform:translate(34%,-7%) scale(1.05)}
  76%{transform:translate(30%,-5%) scale(1.03)}
  100%{transform:translate(0,0) scale(1)}
}

/* Boss giơ vuốt rồi đổi về tư thế quào xuống ở giữa đòn đánh */
.boss-actor>.boss-body-sprite{display:block;width:100%;height:auto;filter:drop-shadow(0 12px 16px #000)}
.boss-actor.attacking{animation:dragonClawV12 .86s cubic-bezier(.2,.65,.2,1) both}
.boss-actor.claw-down>.boss-body-sprite{filter:brightness(1.22) drop-shadow(0 12px 16px #000)}
@keyframes dragonClawV12{
  0%{transform:translate(0,0) scale(1)}
  38%{transform:translate(3%,-5%) rotate(1deg) scale(1.02)}
  58%{transform:translate(-12%,9%) rotate(-4deg) scale(1.07)}
  82%{transform:translate(-15%,11%) rotate(-3deg) scale(1.06)}
  100%{transform:translate(0,0) scale(1)}
}

/* Dịch nhẹ số máu Boss sang trái để đúng tâm nhìn của khung */
.battle-3d .hp-bar.boss-framed span{transform:translateX(-8px)}
@media(max-width:760px){.battle-3d .hp-bar.boss-framed span{transform:translateX(-5px)}}

/* Gacha 1.2: tâm lóe thấp hơn và chỉ có một lần chuyển sáng sang thẻ */
.gacha-ring-glow{top:10vh;bottom:-10vh}
.gacha-center-light{background:radial-gradient(circle at 50% 58%,#fff 0,#fffbe8cc 3%,#ffd76f73 13%,transparent 35%)}
.gacha-animation-cinematic.epic .gacha-center-light{background:radial-gradient(circle at 50% 58%,#fff 0,#f5e8ffcc 3%,#8f4dff73 13%,transparent 35%)}
.gacha-animation-cinematic.at-peak .gacha-screen-flash{animation:gachaFullFlashHold .34s ease-out both}
.gacha-white-handoff{position:fixed;z-index:540;inset:0;background:#fff;opacity:1;transition:opacity .92s ease-out;touch-action:none;user-select:none;cursor:wait}
.gacha-white-handoff.revealing{opacity:0}
.reveal-layer.reveal-entering:before{display:none}
@keyframes gachaFullFlashHold{0%{opacity:0}65%,100%{opacity:1}}

/* Bản 1.3: ảnh vũ khí rời, nền trong suốt và hiệu ứng nguyên tố tách riêng */
.weapon-card-visual.v13{isolation:isolate;background:radial-gradient(circle at 50% 44%,#172033 0,#06080f 62%,#020307 100%)}
.weapon-card-visual.v13 .weapon-image-v13{
  position:absolute;z-index:2;inset:12% 8% 13%;width:84%;height:75%;object-fit:contain;
  filter:drop-shadow(0 5px 5px #000b) saturate(1.08);pointer-events:none
}
.weapon-card-visual.v13 .rarity-frame{z-index:4}
.weapon-card-visual.v13 .rarity-code,.weapon-card-visual.v13 .rarity-stars,.weapon-card-visual.v13 .weapon-card-name,.weapon-card-visual.v13 .owned-badge{z-index:6}
.weapon-element-label{position:absolute;z-index:6;right:7%;top:6%;padding:2px 5px;border:1px solid currentColor;border-radius:999px;background:#03060bcf;font-size:7px;font-weight:900;text-transform:uppercase}
.element-fire{--element-color:#ff572f;--element-soft:#ffb04a;--element-rgb:255,75,32}
.element-water{--element-color:#4acbff;--element-soft:#d9f8ff;--element-rgb:46,174,255}
.element-grass{--element-color:#58e36d;--element-soft:#eefff0;--element-rgb:70,211,83}
.weapon-card-visual.v13 .weapon-element-label,.battle-weapon.element-fire{color:#ff8b62}
.weapon-card-visual.v13.element-water .weapon-element-label,.battle-weapon.element-water{color:#7edcff}
.weapon-card-visual.v13.element-grass .weapon-element-label,.battle-weapon.element-grass{color:#7beb87}
.weapon-element-effect{position:absolute;z-index:1;inset:15% 10% 16%;pointer-events:none;opacity:.95;filter:blur(.2px)}
.weapon-element-effect:before{
  content:"";position:absolute;inset:4% 10%;border-radius:45%;
  background:
    radial-gradient(ellipse at 42% 74%,rgba(var(--element-rgb),.42),transparent 39%),
    radial-gradient(ellipse at 60% 44%,rgba(var(--element-rgb),.30),transparent 35%),
    radial-gradient(ellipse at 48% 20%,rgba(var(--element-rgb),.22),transparent 30%);
  filter:blur(12px);animation:weaponSmoke 3.2s ease-in-out infinite alternate
}
.weapon-element-effect:after{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(circle at 34% 26%,var(--element-soft) 0 1px,transparent 2.4px),
    radial-gradient(circle at 67% 39%,var(--element-color) 0 1.2px,transparent 3px),
    radial-gradient(circle at 39% 61%,var(--element-soft) 0 1px,transparent 2.6px),
    radial-gradient(circle at 62% 78%,var(--element-color) 0 1.3px,transparent 3.2px);
  filter:drop-shadow(0 0 4px var(--element-color));animation:weaponSparkle 1.75s ease-in-out infinite
}
.weapon-element-effect i{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--element-soft);box-shadow:0 0 8px 2px var(--element-color);animation:weaponMote 2.4s ease-in-out infinite}
.weapon-element-effect i:nth-child(1){left:25%;top:68%;animation-delay:-.4s}.weapon-element-effect i:nth-child(2){right:21%;top:43%;animation-delay:-1.1s}.weapon-element-effect i:nth-child(3){left:45%;top:17%;animation-delay:-1.7s}
.weapon-card-visual.rare .weapon-element-effect{opacity:.6;transform:scale(.94)}
.weapon-card-visual.rare .weapon-element-effect:before{filter:blur(10px)}
.weapon-card-visual.common .weapon-element-effect{opacity:.27;inset:24% 22% 21%;transform:scale(.84)}
.weapon-card-visual.common .weapon-element-effect:before{filter:blur(7px)}
.weapon-card-visual.common .weapon-element-effect:after,.weapon-card-visual.common .weapon-element-effect i{display:none}
.weapon-card-visual.compact .weapon-element-label{display:none}
.weapon-card-visual.compact .weapon-image-v13{inset:13% 7% 10%;width:86%;height:77%}
@keyframes weaponSmoke{0%{transform:translate(-3%,4%) scale(.9);opacity:.55}55%{transform:translate(4%,-2%) scale(1.08);opacity:.92}100%{transform:translate(-1%,-6%) scale(1);opacity:.66}}
@keyframes weaponSparkle{0%,100%{opacity:.3;transform:scale(.92)}48%{opacity:1;transform:scale(1.05)}}
@keyframes weaponMote{0%,100%{opacity:0;transform:translateY(12px) scale(.5)}35%{opacity:1}70%{opacity:.55;transform:translateY(-16px) scale(1.15)}}

/* Khói nguyên tố nhẹ quanh vũ khí đang cầm, không ghép vào ảnh gốc */
.player-actor>.held-weapon-effect{position:absolute;z-index:0;right:8%;top:36%;width:54%;height:60%;border-radius:45%;pointer-events:none;background:radial-gradient(ellipse,rgba(var(--element-rgb),.38),transparent 67%);filter:blur(12px);animation:heldWeaponSmoke 2.6s ease-in-out infinite alternate}
.player-actor.element-fire>.held-weapon-effect{--element-rgb:255,75,32}.player-actor.element-water>.held-weapon-effect{--element-rgb:46,174,255}.player-actor.element-grass>.held-weapon-effect{--element-rgb:70,211,83}
.player-actor.element-none>.held-weapon-effect{display:none}
@keyframes heldWeaponSmoke{0%{opacity:.35;transform:translate(-5%,5%) scale(.88)}100%{opacity:.8;transform:translate(5%,-6%) scale(1.1)}}
.battle-weapon[class*="element-"]{text-shadow:0 0 7px currentColor}

/* Chiến trường thay đổi theo hệ Boss của từng chương */
.battle-screen.battle-3d.battle-element-fire,
.battle-mode .battle-screen.battle-3d.battle-element-fire{
  background-image:url("hinhanh/chien-dau/chien-truong-lua-3d.png");
  background-position:center center
}
.battle-screen.battle-3d.battle-element-water,
.battle-mode .battle-screen.battle-3d.battle-element-water{
  background-image:url("hinhanh/chien-dau/chien-truong-bang-tuyet-3d.png");
  background-position:center center
}
.battle-screen.battle-3d.battle-element-grass,
.battle-mode .battle-screen.battle-3d.battle-element-grass{
  background-image:url("hinhanh/chien-dau/chien-truong-rung-co-3d.png");
  background-position:center center
}

/* Bản 1.4: các thanh công cụ ghim khi cuộn */
.schedule-sticky-tools,.gift-sticky-tools{
  position:sticky;top:72px;z-index:24;margin-top:24px;padding:10px 0 8px;
  background:#fff;box-shadow:0 8px 12px #fff
}
.schedule-sticky-tools .search-message,.gift-sticky-tools .search-message{min-height:20px;padding:5px 3px}
.schedule-sticky-tools .section-heading h2{margin:3px 0 0}
.schedule-list-section{margin-top:9px}
.gift-sticky-tools+.gift-list{margin-top:9px}
.rarity-tabs{
  position:sticky;top:72px;z-index:24;padding:8px 0;margin:10px 0;
  background:#fff;box-shadow:0 7px 12px #fff
}

/* Gift Code gọn: nút thêm chỉ xuất hiện khi nhóm được mở */
.gift-code-entry,.gift-group.open .gift-code-entry{
  width:auto;height:auto;padding:5px 9px;border:1px solid #bde8ca;border-radius:8px;
  background:#f0fff4;color:#159447;font-size:12px;font-weight:900;overflow:visible
}
.gift-code-entry{display:none;margin:-2px 12px 6px auto}
.gift-group.open .gift-code-entry{display:block}
.gift-code-entry img{display:none}

/* Hành trang: hình mặc định gọn, đồ đang mặc có nền tối bên trong viền */
.character-gear-slot>img.slot-frame{inset:7%;width:86%;height:86%;object-fit:contain;opacity:.72}
.character-gear-slot.equipped:before{
  content:"";position:absolute;z-index:1;inset:3px;background:#020202f2;
  box-shadow:inset 0 0 15px #000;pointer-events:none
}
.character-gear-slot>img.equipped-gear-art{
  z-index:2;inset:15%;width:70%;height:70%;object-fit:contain
}
.character-gear-slot>span,.character-gear-slot>b,.character-gear-slot>small,.character-gear-slot>i{z-index:3}
.warehouse-detail{position:relative}
.gear-action-menu{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.gear-action-menu button{border:1px solid #6e5430;border-radius:7px;padding:5px 8px;background:#211407;color:#f1d399;font-size:9px;font-weight:800}
.gear-action-menu button[data-gear-salvage]{color:#7edcff}.gear-action-menu button[data-gear-sell]{color:#7beb87}
.gear-action-menu button[data-gear-menu-close]{margin-left:auto;color:#c8bca8}

/* Vũ khí áp sát lòng bàn tay ở cả tư thế đứng và tấn công */
.held-battle-weapon.weapon-grip-1{right:27%;bottom:53%}
.held-battle-weapon.weapon-grip-2{left:48%;top:47%}
.held-battle-weapon.weapon-grip-3{right:27%;top:47%}
.player-actor.attacking .weapon-grip-1{right:10%;bottom:72%}
.player-actor.attacking .weapon-grip-2{left:65%;top:27%}
.player-actor.attacking .weapon-grip-3{right:10%;top:27%}

/* Đao: giữ cán đúng vị trí bàn tay khi đứng và khi lao tới Boss */
.player-actor>.held-battle-weapon.weapon-dao.weapon-grip-2{
  left:28%;top:32%;right:auto;bottom:auto
}
.player-actor.attacking>.held-battle-weapon.weapon-dao.weapon-grip-2{
  left:28%;top:32%;right:auto;bottom:auto;transform:rotate(-90deg)
}

/* Kiếm và búa: giữ cán đúng vị trí bàn tay khi đứng và khi lao tới Boss */
.player-actor>.held-battle-weapon.weapon-sword.weapon-grip-2,
.player-actor>.held-battle-weapon.weapon-hammer.weapon-grip-2{
  left:27%;top:35%;right:auto;bottom:auto
}
.player-actor.attacking>.held-battle-weapon.weapon-sword.weapon-grip-2,
.player-actor.attacking>.held-battle-weapon.weapon-hammer.weapon-grip-2{
  left:27%;top:32%;right:auto;bottom:auto;transform:rotate(-90deg)
}

@media(max-width:760px){
  .schedule-sticky-tools,.gift-sticky-tools{top:62px;margin-top:12px;padding:8px 0 7px}
  .rarity-tabs{top:62px}
  .schedule-sticky-tools .section-heading h2{margin-bottom:2px}
  .character-stat-wall{left:2%;top:16%;width:26%;gap:4px;padding:8px 6px;font-size:8.5px}
  .character-stat-wall strong{font-size:9.5px}.character-stat-wall p{font-size:8.5px}.character-stat-wall span{padding-top:3px}
  .character-gear-slot>img.slot-frame{inset:9%;width:82%;height:82%}
  .character-gear-slot>img.equipped-gear-art{inset:17%;width:66%;height:66%}
  .forge-enter-hint{left:59%;bottom:max(35%,calc(env(safe-area-inset-bottom) + 10px));font-size:9px}
}

/* Căn sáu ô trang bị sát vào giữa khung hành trang */
.character-gear-slot:nth-child(1),
.character-gear-slot:nth-child(3),
.character-gear-slot:nth-child(5){
  transform:translateX(6px)
}
.character-gear-slot:nth-child(2),
.character-gear-slot:nth-child(4),
.character-gear-slot:nth-child(6){
  transform:translateX(-6px)
}

/* Phóng lớn hình trang bị thật đang mặc */
.character-gear-slot>img.equipped-gear-art{
  inset:3%;
  width:94%;
  height:94%
}

/* Riêng hình vũ khí đang mặc hiển thị lớn hơn */
.character-gear-slot:nth-child(4)>img.equipped-gear-art{
  inset:3%;
  width:94%;
  height:94%
}

/* Bản 1.5: hào quang và điện tích theo phẩm chất trang bị */
.weapon-card-visual.v13:before,.weapon-card-visual.v13:after{content:"";position:absolute;z-index:3;inset:10%;border-radius:22%;pointer-events:none}
.weapon-card-visual.v13.super:before{box-shadow:inset 0 0 24px rgba(var(--element-rgb),.72),0 0 22px rgba(var(--element-rgb),.65);animation:rareHeat 1.35s ease-in-out infinite}
.weapon-card-visual.v13.rare:before{box-shadow:inset 0 0 16px rgba(var(--element-rgb),.48),0 0 13px rgba(var(--element-rgb),.42);animation:rareHeat 1.8s ease-in-out infinite}
.weapon-card-visual.v13.super:after,.weapon-card-visual.v13.rare:after{display:none}
.weapon-card-visual.v13.common{--element-color:#8fdcff;--element-soft:#dff8ff;--element-rgb:100,200,255}
.weapon-card-visual.v13.common:before{inset:20%;box-shadow:inset 0 0 15px #8fdcff55,0 0 14px #8fdcff4d;animation:commonAura 2.4s ease-in-out infinite}
.weapon-card-visual.v13.common:after{display:none}
@keyframes rareHeat{50%{opacity:.48;transform:scale(1.055);filter:blur(2px)}}@keyframes commonAura{50%{opacity:.45;transform:scale(1.07)}}

/* Trang chủ 2.0: ba cảnh game bo góc, không viền; logo BOI AUTO nổi 3D */
.boi-hero{
  min-height:clamp(390px,48vw,590px);padding:clamp(28px,5vw,66px);align-items:flex-start;
  isolation:isolate;border:0;border-radius:28px;background:#020812;box-shadow:0 24px 55px #0013284d
}
.hero-scenes,.hero-scenes img,.hero-cinematic-shade{position:absolute;inset:0;border-radius:inherit}
.hero-scenes{z-index:-3;overflow:hidden;background:#020812}
.hero-scenes img{
  width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);
  animation:boiHeroScene 18s ease-in-out infinite
}
.hero-scenes img:nth-child(2){animation-delay:6s}.hero-scenes img:nth-child(3){animation-delay:12s}
.hero-cinematic-shade{
  z-index:-2;background:linear-gradient(90deg,#020713f2 0%,#03101dcb 32%,#06101c4d 62%,#0001 100%)
}
.boi-hero .hero-copy{max-width:min(550px,58%);animation:boiHeroFloat 3.5s ease-in-out infinite}
.boi-hero .hero-logo{display:block;width:max-content;perspective:700px;margin:0 0 20px}
.boi-hero .hero-logo img{
  display:block;width:clamp(190px,29vw,390px);height:auto;
  filter:drop-shadow(0 18px 18px #0009) drop-shadow(0 0 13px #65b9ff73);
  transform:perspective(700px) rotateX(3deg) rotateY(-6deg);transform-origin:left center
}
.boi-hero .hero-logo strong{
  position:relative;display:inline-block;font:1000 clamp(68px,9vw,126px)/.72 Arial Black,Impact,sans-serif;
  letter-spacing:-8px;color:#f8fbff;-webkit-text-stroke:2px #0b2854;
  text-shadow:1px 1px 0 #a9d9ff,2px 2px 0 #4c93d3,4px 4px 0 #1e5795,7px 7px 0 #0a2855,11px 13px 15px #000b,0 0 18px #65b9ff8c;
  transform:rotateX(4deg) rotateY(-7deg);transform-origin:left center
}
.boi-hero .hero-logo strong:before{
  content:attr(data-text);position:absolute;inset:0;color:transparent;-webkit-text-stroke:1px #fff;
  transform:translate(-2px,-3px);filter:drop-shadow(0 0 5px #fff)
}
.boi-hero .hero-logo span{
  display:block;margin:14px 0 0 5px;color:#ffb52c;font:900 clamp(22px,3vw,38px)/1 Arial Black,Arial,sans-serif;
  letter-spacing:12px;text-shadow:2px 2px 0 #873d00,4px 5px 8px #000,0 0 13px #ff8a00
}
.boi-hero .hero-copy h1{margin:8px 0 10px;font-size:clamp(19px,2.5vw,34px);letter-spacing:.4px;text-shadow:0 3px 12px #000}
.boi-hero .hero-copy p{margin:0;color:#edf7ff;font-size:clamp(13px,1.5vw,17px);line-height:1.55;text-shadow:0 2px 9px #000}
.boi-hero .hero-badges span{background:#020b16b8;border-color:#ffffff30;backdrop-filter:blur(5px)}
.boi-hero .hero-button{box-shadow:0 7px 22px #007bc46b}
@keyframes boiHeroScene{
  0%{opacity:0;transform:scale(1.08) translateX(1.5%)}6%,29%{opacity:1}33%,100%{opacity:0}
  18%{transform:scale(1.015) translateX(0)}
}
@keyframes boiHeroFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@media(max-width:760px){
  .boi-hero{min-height:480px;padding:28px 20px;background:#020812}
  .boi-hero .hero-copy{max-width:92%}.hero-cinematic-shade{background:linear-gradient(90deg,#020713ed 0%,#03101dc4 62%,#0002)}
  .boi-hero .hero-logo img{width:min(250px,70vw)}.boi-hero .hero-logo span{font-size:22px;letter-spacing:8px}
  .boi-hero .hero-copy h1{font-size:22px}.hero-scenes img{object-position:58% center}
}

/* Chúc phúc, trạng thái nguyên tố và cộng hưởng tối thượng */
.boss-effects{gap:5px}.boss-effects .armor-break,.blessing-status{position:relative;display:grid;place-items:center;width:36px;height:36px;border:1px solid #d6b36b;border-radius:50%;background:#090706e8;box-shadow:0 0 10px #000}
.boss-effects .armor-break img{width:34px;height:34px}.boss-effects .armor-break b,.blessing-status b{position:absolute;right:-3px;bottom:-3px;display:grid;place-items:center;width:16px;height:16px;margin:0;border-radius:50%;background:#a41118;color:#fff;font-size:8px}
.blessing-status{font-size:20px}.blessing-fire{box-shadow:0 0 13px #ff542b}.blessing-water{box-shadow:0 0 13px #62dfff}.blessing-grass{box-shadow:0 0 13px #9fd268}
.hero-effects .attack-buff{border-color:#65e885;color:#8cffaa;box-shadow:0 0 9px #34db714d}
.blessing-rain{position:absolute;z-index:18;inset:0;overflow:hidden;pointer-events:none}.blessing-rain i{position:absolute;left:var(--sx);top:var(--sy);width:clamp(42px,8vw,94px);aspect-ratio:1;background:center/contain no-repeat;opacity:0;animation:blessingFall var(--duration) cubic-bezier(.24,.05,.7,.45) var(--delay) both;filter:drop-shadow(0 0 10px currentColor)}
.blessing-fire i{color:#ff5b17;background-image:url("hinhanh/chien-dau/chuc-phuc-lua.png")}
.blessing-water i{color:#73ddff;background-image:url("hinhanh/chien-dau/chuc-phuc-bang.png")}
.blessing-grass i{color:#ff9b35;background-image:url("hinhanh/chien-dau/chuc-phuc-da.png")}
.battle-screen.blessing-shaking{animation:blessingShake .12s linear infinite}
@keyframes blessingFall{0%{left:var(--sx);top:var(--sy);transform:rotate(0) scale(.58);opacity:0}12%{opacity:1}96%{left:var(--tx);top:var(--ty);transform:rotate(var(--rot)) scale(1.05);opacity:1}100%{left:var(--tx);top:var(--ty);transform:rotate(var(--rot)) scale(.9);opacity:0}}@keyframes blessingShake{25%{transform:translate(-3px,2px)}50%{transform:translate(3px,-2px)}75%{transform:translate(-2px,-1px)}}
.damage-pop.blessing-hit span{font-size:clamp(16px,3vw,30px);color:#fff0b0}
.damage-pop.standard-hit span{
  text-shadow:0 4px 10px #000,0 0 9px #ff3c00;
}

/* BOI update: moderation, mail, admin game tools and Super weapon showcase */
.menu-badge{margin-left:auto;min-width:21px;height:21px;padding:0 6px;border-radius:999px;background:#e32636;color:#fff;display:inline-grid;place-items:center;font-size:12px}
.game-date-wrap{display:grid;gap:8px;justify-items:end}.game-admin-actions{display:flex;gap:6px}.game-admin-actions button{padding:7px 10px;border-radius:8px;border:1px solid #5476a7;background:#15345f;color:#fff}.game-admin-actions .danger{background:#761f2b;border-color:#c84c5c}
.mail-list{display:grid;gap:10px}.mail-item{padding:13px;border:1px solid #c8d4e7;border-radius:12px;background:#f7f9fd;color:#17233a}.mail-item.unread{border-color:#d9a62d;background:#fff9e8}.mail-item>div{display:flex;justify-content:space-between;gap:12px}.mail-item p{margin:8px 0 0}
.moderation-preview{display:block;width:100%;padding:0;border:0;background:none;text-align:left;color:inherit}.moderation-detail header{display:flex;align-items:center;justify-content:space-between}.moderation-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.moderation-gallery img,.moderation-detail video,.game-video video,.video-item video{width:100%;border-radius:10px}.video-item{margin:12px 0;padding:12px;border:1px solid #cad5e8;border-radius:12px}

.super-detail-layer{padding:12px;background:#020611d9}.super-detail-modal{position:relative;width:min(1180px,calc(100vw - 24px));height:min(760px,calc(100vh - 24px));max-height:none;padding:0!important;overflow:hidden;border-radius:22px;background:#101827;box-shadow:0 20px 70px #000b}.super-detail-modal>.modal-close{z-index:30;top:12px;right:12px;background:#07101fd9;color:#fff;border:1px solid #ffffff66}.super-detail-modal #modalContent{height:100%}
.super-weapon-modal{position:relative;width:100%;height:100%;overflow:hidden;border-radius:inherit;color:#fff}.super-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.super-floating-castles{position:absolute;inset:5% 2% 7% 32%;animation:castleMainFloat 5.8s ease-in-out infinite}.super-floating-castles img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 16px 20px #0008)}.super-copy{position:absolute;z-index:5;left:4%;top:8%;width:38%;padding:20px;border-radius:16px;background:linear-gradient(90deg,#07101ee8,#07101e72);backdrop-filter:blur(4px)}.super-copy small{color:#ffd994}.super-copy h2{font:800 clamp(30px,4vw,58px) Georgia,serif;color:#fff5d4;text-shadow:0 0 14px #ff8a32}.super-stats{display:grid;gap:10px}.super-stats p{display:flex;justify-content:space-between;margin:0;padding:11px;border-bottom:1px solid #ffffff26}.super-stats span{color:#ffd269;font-weight:800}
.super-weapon-stage{position:absolute;z-index:8;right:8%;top:6%;width:48%;height:82%;display:grid;place-items:center;animation:weaponFloat 4.6s ease-in-out infinite}.super-weapon-image{position:absolute;z-index:2;max-width:72%;max-height:88%;object-fit:contain;filter:drop-shadow(0 0 12px #fff8) drop-shadow(0 14px 22px #000a);transform:rotate(10deg);animation:weaponTilt 5s ease-in-out infinite}.super-aura{position:absolute;z-index:1;max-width:84%;max-height:96%;object-fit:contain;opacity:.48;mix-blend-mode:screen;animation:auraLoop 5s linear infinite}.super-pedestal{position:absolute;z-index:4;right:14%;bottom:8%;width:36%;height:10%;border-radius:50%;background:radial-gradient(ellipse,#fff7b5 0 5%,#ff982d 12%,#592400 38%,transparent 70%);filter:blur(1px);opacity:.75}
.super-weapon-modal.element-water .super-floating-castles{filter:hue-rotate(145deg) saturate(.9)}.super-weapon-modal.element-grass .super-floating-castles{filter:hue-rotate(70deg) saturate(.85)}.super-weapon-modal.element-water .super-aura{filter:hue-rotate(150deg)}.super-weapon-modal.element-grass .super-aura{filter:hue-rotate(72deg)}.super-weapon-modal.type-hammer .super-weapon-image{max-width:86%;transform:rotate(-8deg)}.super-weapon-modal.type-hammer .super-aura{width:86%;height:72%;transform:scaleX(1.2) rotate(90deg)}.super-weapon-modal.type-dao .super-weapon-image{max-width:70%;transform:rotate(15deg)}.super-weapon-modal.type-dao .super-aura{width:70%;height:94%;transform:skewY(-8deg) rotate(8deg)}
@keyframes castleMainFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-13px)}}@keyframes weaponFloat{0%,100%{transform:translateY(6px)}50%{transform:translateY(-12px)}}@keyframes weaponTilt{0%,100%{rotate:-2deg}50%{rotate:3deg}}@keyframes auraLoop{0%{transform:rotate(0) scale(.96);opacity:.32}50%{transform:rotate(180deg) scale(1.04);opacity:.58}100%{transform:rotate(360deg) scale(.96);opacity:.32}}

.damage-pop.standard-hit{animation:damageSingle .65s ease-out forwards!important}.damage-pop.standard-hit span{text-shadow:0 2px 5px #000,0 0 5px #ff5a22!important}
@keyframes damageSingle{0%{opacity:0;transform:translate(-50%,0) scale(.9)}18%{opacity:1;transform:translate(-50%,-8px) scale(1)}72%{opacity:1;transform:translate(-50%,-22px) scale(1)}100%{opacity:0;transform:translate(-50%,-36px) scale(.98)}}
.boss-actor.normal-monster{right:10%;bottom:6%;width:min(30vw,400px)}
@media (orientation:portrait) and (max-width:900px){
  .battle-mode .boss-actor.normal-monster{right:5%;bottom:30%;width:52vw;max-width:none}
}
@media(max-width:700px){.super-detail-layer{padding:10px}.super-detail-modal{width:calc(100vw - 20px);height:calc(100vh - 30px);border-radius:18px}.super-copy{left:4%;top:5%;width:48%;padding:12px}.super-copy h2{font-size:25px}.super-copy small{font-size:9px}.super-stats p{display:grid;padding:7px;font-size:11px}.super-weapon-stage{right:-2%;top:13%;width:62%;height:70%}.super-floating-castles{inset:19% -20% 14% 18%;opacity:.58}.super-pedestal{right:5%;bottom:14%;width:52%}.moderation-gallery{grid-template-columns:repeat(2,1fr)}.game-date-wrap{justify-items:start}.game-admin-actions{flex-wrap:wrap}}
@media (orientation:portrait) and (max-width:900px){
  .battle-mode .player-copy{display:flex;align-items:center;justify-content:space-between;gap:8px}
  .battle-mode .player-copy small{display:block!important;margin-left:auto;color:#36a5ff;font-size:11px;font-weight:900;white-space:nowrap}
  .super-copy h2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:clamp(20px,7vw,30px);line-height:1.06;word-break:normal}
}
.damage-pop.dangerous-hit,.damage-pop.element-kill-damage.giant{
  z-index:35;min-width:max-content;padding:10px 18px;border:4px double #ffe16b;border-radius:10px;
  background:#240500e8;box-shadow:inset 0 0 18px #ff8a0038,0 0 22px #fff,0 0 48px #ff7a00;
  animation:criticalDamage 1.55s cubic-bezier(.12,.82,.25,1) forwards
}
.damage-pop.dangerous-hit b,.damage-pop.element-kill-damage.giant b{
  display:block;white-space:nowrap;color:#fff4ad;font:900 clamp(17px,3.2vw,38px) Georgia,serif;
  letter-spacing:2px;-webkit-text-stroke:1px #741500;text-shadow:0 0 8px #fff0a3,0 0 18px #ff6a00,0 3px 6px #3b0000
}
.damage-pop.dangerous-hit span,.damage-pop.element-kill-damage.giant span{
  font-size:clamp(42px,8vw,86px);color:#ff3a16;-webkit-text-stroke:2px #ffe26e;
  text-shadow:0 0 8px #fff,0 0 22px #ff8a00,0 5px 10px #410000
}
.element-reaction-pop{
  --reaction-main:#ffd45e;--reaction-light:#fff6bd;--reaction-dark:#7a2100;
  position:absolute;z-index:32;left:50%;top:18%;display:grid;place-items:center;
  min-width:max-content;padding:9px 17px;border:2px solid var(--reaction-light);border-radius:9px;
  background:linear-gradient(135deg,#100706e8,var(--reaction-dark));
  box-shadow:inset 0 0 12px #fff4,0 0 12px var(--reaction-main),0 0 30px var(--reaction-main);
  pointer-events:none;transform:translate(-50%,-50%);animation:elementReactionBurst 1.35s cubic-bezier(.12,.82,.22,1) forwards
}
.element-reaction-pop b{
  white-space:nowrap;color:var(--reaction-light);font:900 clamp(15px,3.1vw,38px) Georgia,serif;
  letter-spacing:2px;-webkit-text-stroke:1px var(--reaction-dark);
  text-shadow:0 0 5px #fff,0 0 13px var(--reaction-main),0 3px 5px #000
}
.element-reaction-pop i{position:absolute;width:13px;height:13px;background:var(--reaction-light);clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);filter:drop-shadow(0 0 6px var(--reaction-main));animation:reactionSpark 1s ease-out forwards}
.element-reaction-pop i:nth-of-type(1){left:-20px;top:12%}.element-reaction-pop i:nth-of-type(2){right:-20px;bottom:8%;animation-delay:.12s}
.reaction-burning{--reaction-main:#ff5a20;--reaction-light:#fff09b;--reaction-dark:#8c1600}
.reaction-wildfire{--reaction-main:#9dff3f;--reaction-light:#fff19d;--reaction-dark:#245b0a}
.reaction-magma{--reaction-main:#ff7a18;--reaction-light:#fff0b0;--reaction-dark:#5e0714}
.reaction-collapse{--reaction-main:#63dfff;--reaction-light:#eaffff;--reaction-dark:#174563}
@keyframes elementReactionBurst{0%{opacity:0;transform:translate(-50%,15%) scale(.25) rotate(-5deg)}22%{opacity:1;transform:translate(-50%,-16%) scale(1.28) rotate(2deg)}52%{transform:translate(-50%,-32%) scale(.98)}100%{opacity:0;transform:translate(-50%,-145%) scale(1.08)}}@keyframes reactionSpark{to{opacity:0;transform:translateY(-42px) scale(2) rotate(100deg)}}
.dual-ultimate-cinematic{position:absolute;z-index:17;inset:0;overflow:hidden;pointer-events:none;background:radial-gradient(circle at 68% 43%,#dff7ff26,transparent 26%)}.dual-ultimate-running .battle-actors{animation:dualCamera 3.45s ease-in-out both}.player-actor.dual-ultimate-player{animation:dualPlayer 3.45s cubic-bezier(.2,.7,.22,1) both!important}
.dual-light-sword{position:absolute;z-index:22;left:67%;top:-69%;width:clamp(170px,27%,360px);height:78%;opacity:0;transform:translateX(-50%) scale(.72);transform-origin:50% 100%;animation:dualSwordFall 3.45s cubic-bezier(.18,.72,.18,1) both}
.dual-light-sword img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 8px #fff) drop-shadow(0 0 18px #72cfff) drop-shadow(0 0 34px #ffdc71)}
.dual-impact-column{position:absolute;z-index:21;left:67%;top:-10%;width:24%;height:72%;opacity:0;transform:translateX(-50%) scaleX(.08);transform-origin:50% 100%;border-radius:45% 45% 18% 18%;background:linear-gradient(90deg,transparent,#7acfff55 18%,#fff 43% 57%,#ffe99d99 78%,transparent);filter:blur(2px) drop-shadow(0 0 24px #fff) drop-shadow(0 0 52px #72cfff);animation:dualLightColumn 3.45s ease-out both}
.dual-impact-column:after{content:"";position:absolute;left:50%;bottom:-8%;width:165%;aspect-ratio:1;border-radius:50%;transform:translateX(-50%);background:radial-gradient(circle,#fff 0 12%,#fff7bbd9 25%,#75cfff73 45%,transparent 70%);filter:blur(3px)}
.dual-white-flash{position:absolute;z-index:25;inset:-25%;border-radius:50%;background:radial-gradient(circle at 63% 48%,#fff 0 15%,#fffde7 34%,#fff 55%,transparent 72%);opacity:0;transform:scale(.05);animation:dualWhiteExpansion 3.45s ease-out both}.damage-pop.dual-ultimate-damage{z-index:30;top:28%;padding:10px 18px;border:4px double #ffe16b;background:#240500d9;box-shadow:0 0 24px #fff,0 0 52px #ffb000}
@keyframes dualCamera{0%{transform:none}25%{transform:scale(.78);transform-origin:50% 50%}56%{transform:scale(.82)}68%{transform:scale(1.12);transform-origin:68% 44%}100%{transform:none}}@keyframes dualPlayer{0%{transform:none}25%{transform:translateX(-10%) scale(.78)}43%{transform:translate(15%,-3%) scale(.9)}59%{transform:translate(48%,-24%) rotate(-10deg) scale(1.12)}100%{transform:none}}@keyframes dualSwordFall{0%,24%{top:-69%;opacity:0;transform:translateX(-50%) scale(.62)}34%{opacity:1}58%{top:-10%;opacity:1;transform:translateX(-50%) scale(1)}73%{top:-8%;opacity:1;transform:translateX(-50%) scale(1.04)}88%,100%{top:-7%;opacity:0;transform:translateX(-50%) scale(1.18)}}@keyframes dualLightColumn{0%,55%{opacity:0;transform:translateX(-50%) scaleX(.05)}60%{opacity:1;transform:translateX(-50%) scaleX(.35)}75%{opacity:1;transform:translateX(-50%) scaleX(1)}90%,100%{opacity:0;transform:translateX(-50%) scaleX(2.8)}}@keyframes dualWhiteExpansion{0%,60%{opacity:0;transform:scale(.05)}69%{opacity:.88;transform:scale(.28)}84%{opacity:1;transform:scale(2.6)}96%{opacity:1;transform:scale(3.4)}100%{opacity:0;transform:scale(3.7)}}

@media(max-width:760px){
  .boss-effects .armor-break,.blessing-status{width:28px;height:28px}.boss-effects .armor-break img{width:26px;height:26px}.blessing-status{font-size:15px}
  .dual-light-sword{left:67%;top:-64%;width:32%;height:75%}
  .dual-impact-column{left:67%;width:29%}
}

.forge-enhance-card .enhance-rate{
  display:block;margin:5px 0 2px;color:#ffd267;font-size:10px;
  text-shadow:0 0 8px #ff9b2855
}

/* Hai bộ trang bị rơi từ boss */
.warehouse-item.boss-set{
  border-color:#9c7844;
  background:radial-gradient(circle at 50% 35%,#302414 0,#0b0805 72%);
  box-shadow:inset 0 0 18px #000,0 0 8px #b77b2f35
}
.warehouse-item.boss-set.set1{
  border-color:#aa503d;
  background:radial-gradient(circle at 50% 35%,#451613 0,#100605 72%)
}
.warehouse-item.boss-set.set2{
  border-color:#568cb9;
  background:radial-gradient(circle at 50% 35%,#102d48 0,#040b12 72%)
}
.warehouse-item.boss-set>img{
  padding:2px;
  object-fit:contain;
  filter:drop-shadow(0 0 8px #ffc35b75)
}
.warehouse-item.boss-set.set2>img{filter:drop-shadow(0 0 8px #6bc9ff8c)}
.warehouse-item.boss-set>small{color:#d9bd87}

.active-set-bonuses{
  display:grid;
  gap:3px;
  margin-top:3px;
  padding-top:5px;
  border-top:1px solid #72532d
}
.active-set-bonuses small{
  color:#8ff0a7;
  font-size:9px;
  line-height:1.25
}

.battle-reward-items>.boss-gear-reward{
  grid-template-columns:70px minmax(110px,1fr);
  place-items:center start;
  max-width:250px;
  text-align:left
}
.battle-reward-items>.boss-gear-reward.set1{border-color:#bd5945;background:linear-gradient(135deg,#260a08e8,#080504e8)}
.battle-reward-items>.boss-gear-reward.set2{border-color:#5e9bc9;background:linear-gradient(135deg,#071b2de8,#040708e8)}
.boss-gear-reward>img{width:68px;height:68px}
.boss-gear-reward>span,.boss-gear-reward small{display:block}
.boss-gear-reward small{margin-top:4px;color:#cabda7;font-size:9px;line-height:1.3}

@media(max-width:760px){
  .active-set-bonuses small{font-size:6.5px}
  .battle-reward-items>.boss-gear-reward{
    grid-template-columns:46px minmax(82px,1fr);
    max-width:165px
  }
  .boss-gear-reward>img{width:44px;height:44px}
  .boss-gear-reward small{font-size:7px}
}

/* Kho đồ hai tầng: túi nhân vật và rương dự trữ */
.forge-storage-hunter{
  position:absolute;z-index:3;right:5%;bottom:2%;width:min(24vw,270px);height:68%;
  object-fit:contain;object-position:right bottom;filter:drop-shadow(0 12px 22px #000);
  pointer-events:none;transition:opacity .35s,transform .9s
}
.forge-scene.warehouse-open .forge-storage-hunter{opacity:0;visibility:hidden}
.storage-hunter-closeup{
  position:absolute;z-index:12;left:-1%;bottom:-2%;width:34%;height:96%;object-fit:contain;
  object-position:left bottom;transform:scaleX(-1);filter:drop-shadow(10px 12px 24px #000);pointer-events:none
}
.dual-storage-stack{
  position:absolute;z-index:14;top:4%;right:2%;bottom:3%;width:66%;
  display:grid;grid-template-rows:minmax(0,1fr) minmax(0,1fr) auto;gap:7px;
  animation:warehousePanelIn .5s ease-out
}
.dual-storage-panel{
  min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);padding:8px;
  border:2px solid #9b713b;border-radius:15px;
  background:linear-gradient(145deg,#1b130ce8,#070605f2);
  box-shadow:inset 0 0 0 2px #070503,inset 0 0 22px #000,0 10px 24px #0009;color:#e9d3aa;overflow:hidden
}
.dual-storage-panel.chest{border-color:#657889;background:linear-gradient(145deg,#13191eea,#050708f2)}
.dual-storage-panel>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:1px 4px 6px}
.dual-storage-panel>header div{min-width:0}.dual-storage-panel>header small,.dual-storage-panel>header strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dual-storage-panel>header small{color:#b99761;font-size:8px;letter-spacing:1px}.dual-storage-panel>header strong{color:#ffe0a0;font:900 13px Georgia,serif}
.dual-storage-panel>header>b{padding:4px 8px;border:1px solid #6d512e;border-radius:999px;background:#050403;color:#e8c47f;font-size:9px}
.dual-storage-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;margin-bottom:6px}
.dual-storage-tabs button{min-width:0;padding:5px 2px;border:1px solid #55422c;border-radius:7px;background:#0a0806;color:#b8aa92;font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dual-storage-tabs button i{display:inline-grid;place-items:center;width:14px;height:14px;margin-right:2px;border-radius:50%;background:#292017;color:#dfbd7a;font-style:normal;font-size:7px}
.dual-storage-tabs button.active{border-color:#d4a452;background:linear-gradient(#5e3b13,#1a1007);color:#ffe5ae;box-shadow:0 0 9px #d996344d}
.dual-storage-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-content:start;gap:4px;min-height:0;padding:1px;overflow-y:auto;overscroll-behavior:contain}
.dual-storage-grid>p{grid-column:1/-1;margin:auto;color:#887b67;font-size:9px}
.storage-item{position:relative;min-width:0;min-height:72px;padding:3px;border:1px solid #4c402f;background:radial-gradient(circle at 50% 28%,#2b2116,#070605 75%);color:#dbc292;overflow:hidden}
.storage-item>img,.storage-item>.weapon-card-visual{display:block;width:100%;height:47px;min-height:47px;object-fit:contain}
.storage-item>b,.storage-item>small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.storage-item>b{font-size:7px}.storage-item>small{color:#8f8370;font-size:6px}
.storage-item>i,.storage-item>em{position:absolute;z-index:5;display:grid;place-items:center;min-width:17px;height:17px;border-radius:50%;font:900 7px sans-serif}
.storage-item>i{right:2px;top:2px;background:#7e5520;color:#fff0bc}.storage-item>em{left:2px;top:2px;background:#187940;color:#d8ffe4;font-style:normal}
.storage-item.equipped{border-color:#54b875}.storage-item.boss-set.set1{border-color:#a74738}.storage-item.boss-set.set2{border-color:#498dbb}
.storage-wallet{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:6px 8px;border:1px solid #876435;border-radius:11px;background:#070504eb;box-shadow:inset 0 0 14px #000}
.storage-wallet span{display:flex;align-items:center;justify-content:center;gap:4px;min-width:0;color:#e6c585;font-size:9px}.storage-wallet img{width:24px;height:24px;object-fit:contain}
.storage-action{position:absolute;z-index:30;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;gap:7px;width:min(250px,58vw);padding:13px;border:1px solid #bb8d4b;border-radius:12px;background:#090705f5;box-shadow:0 12px 35px #000;color:#ead3aa}
.storage-action.hidden{display:none}.storage-action>b,.storage-action>small{display:block}.storage-action>small{color:#a99c88;font-size:9px}.storage-action button{padding:8px;border:1px solid #76552d;border-radius:8px;background:#241507;color:#f1d59d;font-weight:800}

@media(max-width:760px){
  .forge-storage-hunter{right:1%;bottom:9%;width:31vw;height:56%}
  .storage-hunter-closeup{left:-8%;bottom:-1%;width:43%;height:91%}
  .dual-storage-stack{top:5%;right:1%;bottom:2%;width:72%;gap:4px}
  .dual-storage-panel{padding:5px;border-width:1px;border-radius:10px}
  .dual-storage-panel>header{padding-bottom:3px}.dual-storage-panel>header small{font-size:6px}.dual-storage-panel>header strong{font-size:9px}.dual-storage-panel>header>b{padding:2px 5px;font-size:6px}
  .dual-storage-tabs{gap:2px;margin-bottom:3px}.dual-storage-tabs button{padding:3px 1px;font-size:5.5px}.dual-storage-tabs button i{width:10px;height:10px;font-size:5px}
  .dual-storage-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:2px}
  .storage-item{min-height:54px;padding:2px}.storage-item>img,.storage-item>.weapon-card-visual{height:34px;min-height:34px}.storage-item>b{font-size:5.5px}.storage-item>small{font-size:5px}
  .storage-item>i,.storage-item>em{min-width:13px;height:13px;font-size:5px}
  .storage-wallet{gap:2px;padding:3px}.storage-wallet span{gap:2px;font-size:6px}.storage-wallet img{width:17px;height:17px}
}

/* Boi coin trong điều hướng và khoảng cách hai khung ở trang Bộ sưu tập */
.cards-leaderboard{margin-top:-12px}
.cards-title{margin-top:28px}
.cards-balances{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:max-content}
.cards-title .cards-balances .wallet{display:inline-flex;margin:0;align-items:center;gap:4px}
.boi-coin-balance img{width:24px;height:24px;object-fit:contain;margin-left:2px;filter:drop-shadow(0 0 5px #78bfff)}
.bottom-nav .coin-nav-icon{display:block;width:31px;height:29px;font-size:0}
.bottom-nav .coin-nav-icon img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 4px #2a65a066)}

@media(max-width:760px){
  .cards-leaderboard{margin-top:-6px}
  .cards-title{margin-top:22px}
  .boi-coin-balance img{width:21px;height:21px}
  .bottom-nav .coin-nav-icon{width:29px;height:27px}
}

.daily-mission-list{display:grid;gap:7px;width:100%;min-height:0;overflow-y:auto}
.daily-mission-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:9px 10px;border:1px solid #31577d;border-radius:10px;background:#071423e8;text-align:left}
.daily-mission-row>div{min-width:0}.daily-mission-row b,.daily-mission-row small{display:block}.daily-mission-row b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.daily-mission-row small{margin-top:2px;color:#83a2bf;font-size:8px}
.daily-mission-row>span{display:flex;align-items:center;gap:3px;color:#f4d487;font-size:10px;white-space:nowrap}.daily-mission-row>span img{width:19px;height:19px;object-fit:contain}
.daily-mission-row>button{padding:7px 10px;border:1px solid #d2a14c;border-radius:7px;background:linear-gradient(#81551b,#382008);color:#ffe6a9;font-size:9px;font-weight:900}.daily-mission-row>button:disabled{border-color:#3f5265;background:#182431;color:#6f8294;opacity:.75}.daily-mission-row.complete{border-color:#3e8b72;box-shadow:inset 0 0 12px #29bc7840}.daily-mission-row.claimed{opacity:.72}
.mission-board-content>footer{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;margin-top:8px;padding:7px;border-top:1px solid #31577d;color:#bbcee0;font-size:10px}.mission-board-content>footer b{color:#ffe19a;font-size:13px}.mission-board-content>footer img{width:22px;height:22px;object-fit:contain}

@media(max-width:760px){
  .daily-mission-list{gap:4px}
  .daily-mission-row{gap:4px;padding:6px}
  .daily-mission-row b{font-size:8px}.daily-mission-row>span{font-size:7px}.daily-mission-row>span img{width:14px;height:14px}.daily-mission-row>button{padding:5px 6px;font-size:7px}
}

/* Chia đúng khung hành trang: nửa trên trang bị, nửa dưới túi có thanh cuộn */
.character-inventory-content{
  grid-template-rows:auto minmax(0,50%) minmax(0,1fr) auto!important
}
.character-equipment-grid{
  min-height:0!important;
  height:100%;
  overflow:hidden
}
.character-gear-slot{
  min-height:74px
}
.character-bag{
  min-height:0;
  overflow:hidden
}
.character-bag-grid{
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch
}

@media(max-width:760px){
  .character-inventory-content{
    grid-template-rows:auto minmax(0,50%) minmax(0,1fr) auto!important
  }
  .character-gear-slot{min-height:60px}
}

/* Hồ sơ Boi coin */
.profile-boi-panel{display:flex;align-items:center;gap:16px;margin:16px 0;padding:14px;border:1px solid #4d86b8;border-radius:16px;background:linear-gradient(135deg,#071828,#102d47);box-shadow:inset 0 0 24px #2d9cff24}
.profile-boi-panel p{margin:5px 0;color:#cce4f7}.profile-boi-panel b{color:#fff1a8}
.profile-boi-coin{width:92px;height:92px;padding:0;border:0;background:transparent;filter:drop-shadow(0 0 12px #8ad6ff);animation:boiCoinGlow 1.8s ease-in-out infinite}
.profile-boi-coin img{width:100%;height:100%;object-fit:contain}.boi-terms{position:relative;padding:8px}.boi-terms p{line-height:1.65;color:#c9dceb}.boi-terms button{padding:9px 18px;border:1px solid #d2a14c;border-radius:8px;background:#52330e;color:#ffe5a3}
@keyframes boiCoinGlow{50%{transform:scale(1.06);filter:drop-shadow(0 0 22px #fff)}}

/* Thợ rèn: hai khung độc lập, không dùng ảnh nền kho cũ */
.forge-redesign .forge-smith-closeup{left:1%;width:32%}.forge-redesign-stack{position:absolute;z-index:5;right:5%;top:7%;width:60%;height:86%;display:grid;grid-template-rows:43% 1fr;gap:12px}
.forge-redesign-panel{min-height:0;padding:12px;border:2px solid #b78a3e;border-radius:18px;background:linear-gradient(145deg,#071522f2,#102a42f2);box-shadow:inset 0 0 28px #309cff22,0 8px 30px #000a;color:#e8f5ff}
.forge-top h2{text-align:center;margin:0 0 8px;color:#ffe6a2}.forge-selected-slot{height:calc(100% - 80px);display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;text-align:center}.forge-selected-slot>img{width:78px;height:78px;object-fit:contain}.forge-selected-slot b,.forge-selected-slot small,.forge-selected-slot em{display:block;width:100%}.forge-selected-slot em{color:#ffd477;font-style:normal}
.forge-main-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.forge-main-actions button,.forge-redesign-tabs button,.forge-item-info button{padding:8px;border:1px solid #d2a14c;border-radius:8px;background:#4b2e0c;color:#ffe3a0;font-weight:800}.forge-main-actions button:disabled{opacity:.4}
.forge-redesign-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.forge-redesign-tabs button.active{background:#156094;color:white}.forge-item-info{min-height:38px;margin:8px 0;padding:7px;border:1px solid #315a7a;border-radius:8px;font-size:10px}.forge-item-info b,.forge-item-info small{margin-right:8px}
.forge-redesign-list{height:calc(100% - 86px);overflow-y:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.forge-list-item,.forge-redesign-list>article{position:relative;min-height:118px;padding:6px;border:1px solid #35688d;border-radius:10px;background:#091a2b;color:white;text-align:center}.forge-list-item>img,.forge-redesign-list>article img{width:58px;height:58px;object-fit:contain}.forge-list-item b,.forge-list-item small,.forge-redesign-list>article b,.forge-redesign-list>article span{display:block;font-size:9px}.forge-list-item small{color:#91aec4}
@media(max-width:760px){.forge-redesign-stack{right:2%;width:68%;top:5%;height:90%}.forge-redesign .forge-smith-closeup{width:35%;left:-5%}.forge-redesign-list{grid-template-columns:repeat(2,minmax(0,1fr))}.forge-redesign-panel{padding:7px}.forge-selected-slot{height:calc(100% - 72px)}}

/* Bổ sung bố cục: KILL từ ngoài góc trái, nhiệm vụ gọn và Thợ rèn màu kho rương */
.element-kill-shot{left:0;top:0}
.element-kill-giant{left:0;top:0;animation-duration:.78s}
@keyframes elementKillFall{
  0%{opacity:0;transform:translate(var(--sx),var(--sy)) rotate(var(--rot)) scale(.55)}
  12%{opacity:1}
  96%{opacity:1}
  100%{opacity:0;transform:translate(var(--tx),var(--ty)) rotate(var(--rot)) scale(1.1)}
}
@keyframes elementKillGiant{
  0%{opacity:0;transform:translate(-55vw,-55vh) translate(-50%,-50%) rotate(-18deg) scale(.45)}
  12%{opacity:1}
  96%{opacity:1;transform:translate(var(--hit-x),var(--hit-y)) translate(-50%,-50%) rotate(0) scale(1)}
  100%{opacity:0;transform:translate(var(--hit-x),var(--hit-y)) translate(-50%,-50%) rotate(0) scale(.92)}
}
.mission-board-content{overflow:hidden}
.daily-mission-list{gap:4px;padding:0 3px}
.daily-mission-row{gap:6px;padding:7px 7px 7px 14px}
.daily-mission-row>button{min-width:58px;margin-left:-3px;padding:7px 6px}
.character-bag-title{min-height:42px;padding:10px 13px}
.forge-redesign-panel{background:linear-gradient(145deg,#24180df5,#4a311af2);box-shadow:inset 0 0 28px #d49b3a20,0 8px 30px #000a;color:#fff0cf}
.forge-selected-slot{display:grid;grid-template-columns:minmax(92px,35%) 1fr;grid-template-rows:auto auto auto;align-items:center;justify-content:center;gap:5px 12px;flex-wrap:nowrap;text-align:left}
.forge-selected-slot>span{grid-column:1/-1;text-align:center}
.forge-selected-slot>.weapon-card-visual,.forge-selected-slot>img{grid-column:1;grid-row:1/4;width:88px;height:88px;min-height:88px;justify-self:center;object-fit:contain}
.forge-selected-slot>b,.forge-selected-slot>small,.forge-selected-slot>em{grid-column:2;width:auto;margin:0}
.forge-selected-slot>b{font-size:14px;color:#ffe5a1}.forge-selected-slot>small{color:#eed9b7}
.forge-redesign-tabs button.active{background:#75501f;color:#fff1bd}
.forge-item-info{border-color:#9b7139;background:#1b120ad9}
.forge-bottom{overflow:hidden}
.forge-redesign-list{height:calc(100% - 86px);min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;border:1px solid #9b7139;border-radius:11px;background:#160e08;box-shadow:inset 0 0 16px #000}
.forge-list-item,.forge-redesign-list>article{min-height:82px;display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;border-color:#956b35;background:#2a1a0d;color:#fff2d2;text-align:left;overflow:hidden}
.forge-list-item>.weapon-card-visual,.forge-list-item>img,.forge-redesign-list>article img{grid-row:1/3;width:58px;height:66px;min-height:58px;object-fit:contain}
.forge-list-item b,.forge-list-item small,.forge-redesign-list>article b,.forge-redesign-list>article span{min-width:0;overflow-wrap:anywhere}.forge-list-item small{color:#d6b98f}
@media(max-width:760px){.forge-redesign-list{grid-template-columns:1fr}.forge-selected-slot{grid-template-columns:76px 1fr}.forge-selected-slot>.weapon-card-visual,.forge-selected-slot>img{width:70px;height:70px;min-height:70px}}

/* Thợ rèn đồng bộ phong cách Rương chứa đồ */
.forge-redesign-stack{
  right:4%;
  top:6%;
  width:64%;
  height:88%;
  grid-template-rows:42% minmax(0,1fr);
  gap:8px
}
.forge-redesign-panel{
  padding:10px 12px;
  border-width:1px;
  border-color:#b98232;
  border-radius:15px;
  background:
    radial-gradient(circle at 22% 0,#76501c25,transparent 42%),
    linear-gradient(145deg,#140d08f2,#090805f6);
  box-shadow:inset 0 0 24px #a8661715,0 7px 22px #000b
}
.forge-bottom{
  border-color:#718ba4;
  background:
    radial-gradient(circle at 80% 0,#123b5526,transparent 46%),
    linear-gradient(145deg,#071016f2,#070a0df7);
  box-shadow:inset 0 0 25px #306b8f16,0 7px 22px #000b
}
.forge-panel-heading{display:flex;align-items:flex-end;justify-content:space-between;min-height:36px;margin:0 2px 7px;text-align:left}
.forge-panel-heading small{display:block;color:#bba582;font:500 8px Georgia,serif;letter-spacing:2px}
.forge-panel-heading h2{margin:2px 0 0!important;color:#f4d488;font:900 18px Georgia,serif;letter-spacing:.5px;text-align:left}
.forge-bag-heading>div{display:grid}.forge-bag-heading strong{color:#f0d597;font:900 15px Georgia,serif}
.forge-bag-heading>b{padding:3px 8px;border:1px solid #9a6b29;border-radius:99px;color:#d9c28f;font-size:8px}
.forge-selected-slot{height:calc(100% - 82px);padding:4px 10px;border:1px solid #58401f;border-radius:10px;background:#07060480}
.forge-selected-slot>span{color:#a99980;font-size:11px}
.forge-main-actions{gap:7px}
.forge-main-actions button,.forge-redesign-tabs button,.forge-item-info button{
  min-height:30px;
  padding:5px 8px;
  border-width:1px;
  border-color:#76572d;
  border-radius:9px;
  background:#17110bd9;
  color:#d8c49c;
  font-size:9px
}
.forge-main-actions button:not(:disabled){border-color:#b98232;color:#f0d395;box-shadow:inset 0 0 10px #9d64162b}
.forge-redesign-tabs{gap:4px;margin-bottom:5px}
.forge-redesign-tabs button{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:27px;padding:4px 5px;font-size:8px}
.forge-redesign-tabs button i{display:grid;place-items:center;width:14px;height:14px;border-radius:50%;background:#3c2d1c;color:#cdb37e;font:700 7px Georgia,serif}
.forge-redesign-tabs button.active{border-color:#d49a38;background:#211608;color:#f7d88d;box-shadow:0 0 8px #d6932740}
.forge-item-info{min-height:30px;margin:4px 0 6px;padding:5px 8px;border-color:#57442e;background:#090806b8;color:#baac94;font-size:8px}
.forge-redesign-list{
  height:calc(100% - 106px);
  padding:4px;
  gap:3px;
  border-color:#44596b;
  border-radius:8px;
  background:#050708cf;
  box-shadow:inset 0 0 18px #000
}
.forge-list-item,.forge-redesign-list>article{
  min-height:66px;
  grid-template-columns:49px minmax(0,1fr);
  padding:4px;
  border-color:#564324;
  border-radius:5px;
  background:linear-gradient(145deg,#18120b,#0b0a08);
  color:#dec99d
}
.forge-list-item>.weapon-card-visual,.forge-list-item>img,.forge-redesign-list>article img{
  width:44px;
  height:52px;
  min-height:44px
}
.forge-list-item b,.forge-list-item small,.forge-redesign-list>article b,.forge-redesign-list>article span{font-size:7px}
.forge-list-item small{color:#8f9ca5}
@media(max-width:760px){
  .forge-redesign-stack{right:2%;top:5%;width:70%;height:90%;grid-template-rows:41% minmax(0,1fr)}
  .forge-redesign-panel{padding:7px}
  .forge-panel-heading{min-height:29px;margin-bottom:4px}
  .forge-panel-heading h2{font-size:14px}
  .forge-panel-heading small{font-size:6px}
  .forge-bag-heading strong{font-size:11px}
  .forge-selected-slot{height:calc(100% - 68px);padding:3px 6px}
  .forge-main-actions button{min-height:26px;font-size:7px}
  .forge-redesign-tabs button{min-height:24px;font-size:6.5px}
  .forge-item-info{min-height:26px;font-size:6.5px}
  .forge-redesign-list{height:calc(100% - 88px)}
  .forge-list-item,.forge-redesign-list>article{min-height:58px}
}

/* Bộ chọn tối đa ba tầng Boss thấp hơn tầng cao nhất */
.battle-3d .floor-label{display:flex;align-items:center;gap:6px;cursor:pointer}
.battle-3d .floor-label small{font-size:10px;color:#d1aa65}
.battle-3d .floor-label:disabled{cursor:default;opacity:.62}
.battle-floor-menu{position:absolute;z-index:25;top:58px;left:14px;width:min(210px,48vw);padding:9px;border:1px solid #a88a58;border-radius:12px;background:#080808f2;box-shadow:0 10px 30px #000c;color:#f2d192}
.battle-floor-menu>strong{display:block;margin:0 0 7px;font:900 12px Georgia,serif;letter-spacing:.5px}
.battle-floor-menu>small{display:block;padding:8px;color:#a99d89;font-size:9px}
.battle-floor-menu button{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:5px;padding:8px 9px;border:1px solid #5c4b32;border-radius:8px;background:#17110b;color:#f0d49a;font-size:10px;font-weight:900}
.battle-floor-menu button small{color:#9d8b70;font-size:7px;font-weight:500}
.battle-floor-menu button:hover,.battle-floor-menu button:active{border-color:#d5a34c;background:#2b1d0c}
.battle-floor-menu [data-battle-floor-close]{justify-content:center;margin-top:8px;color:#b8aa91}
@media(max-width:760px){.battle-floor-menu{top:42px;left:8px;width:min(185px,58vw);padding:7px}.battle-floor-menu button{padding:7px;font-size:9px}}
