/* G40-G49 premium asset, story, summon, UI, motion and production polish */
:root{--g49-gold:#e7bd69;--g49-gold2:#fff0b6;--g49-purple:#8d3cff;--g49-ink:#090611;--g49-panel:rgba(12,7,20,.82);--g49-red:#d9413e;--g49-blue:#58b8ff}
.game-concept-app{background:#050308;overflow:hidden}.game-concept-app:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 35%,rgba(148,67,255,.22),transparent 32%),radial-gradient(circle at 18% 80%,rgba(218,143,62,.14),transparent 30%),linear-gradient(180deg,rgba(2,2,6,.1),rgba(0,0,0,.72));z-index:0}.game-shell,.game-hero-head{position:relative;z-index:1}.game-hero-head{border-image:linear-gradient(90deg,rgba(231,189,105,.4),rgba(141,60,255,.48),rgba(231,189,105,.4)) 1;background:linear-gradient(135deg,rgba(24,10,35,.88),rgba(71,13,61,.48));box-shadow:0 18px 50px rgba(0,0,0,.35),inset 0 0 42px rgba(231,189,105,.08)}
.game-title-mark{box-shadow:0 0 32px rgba(231,189,105,.35);border:1px solid rgba(231,189,105,.55)}
.game-nav button,.game-top-icons button,.game-top-icons a{position:relative;overflow:hidden}.game-nav button:after,.game-top-icons button:after,.game-top-icons a:after{content:"";position:absolute;inset:-40%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.2),transparent);transform:translateX(-140%) rotate(12deg);transition:.55s}.game-nav button:hover:after,.game-top-icons button:hover:after,.game-top-icons a:hover:after{transform:translateX(140%) rotate(12deg)}
.game-nav button span{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:radial-gradient(circle,var(--g49-gold2),#9b5e15 68%,#1b1024 70%);box-shadow:0 0 16px rgba(231,189,105,.38);color:#160914;text-shadow:none}.game-nav button.is-active span{box-shadow:0 0 24px rgba(255,226,140,.72),0 0 20px rgba(141,60,255,.45)}
.concept-stage{background-image:var(--premium-dong-phu,none);background-size:cover;background-position:center;border:1px solid rgba(231,189,105,.23);box-shadow:inset 0 0 110px rgba(0,0,0,.75),0 24px 70px rgba(0,0,0,.38)}.concept-stage:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 32%,rgba(255,204,116,.18),transparent 34%),radial-gradient(circle at 50% 42%,rgba(138,57,255,.23),transparent 45%),rgba(7,3,13,.3);pointer-events:none}.concept-hero-character,.concept-left-card,.concept-right-card,.concept-action-grid{position:relative;z-index:1}.concept-hero-figure img,.character-rpg-figure img,.fighter-portrait img{filter:drop-shadow(0 0 24px rgba(231,189,105,.28)) drop-shadow(0 0 55px rgba(141,60,255,.25));animation:g49HeroFloat 5.8s ease-in-out infinite;object-fit:contain}.concept-magic-ring:before,.hero-aura:before{content:"";position:absolute;inset:-35px;border-radius:50%;background:url('/assets/img/game/premium/effects/breakthrough.png') center/contain no-repeat;opacity:.45;mix-blend-mode:screen;animation:g49Spin 18s linear infinite}.concept-magic-ring:after{content:"";position:absolute;inset:20px;border:1px solid rgba(231,189,105,.32);border-radius:50%;box-shadow:0 0 55px rgba(231,189,105,.2),inset 0 0 40px rgba(141,60,255,.24);animation:g49SpinReverse 28s linear infinite}
.concept-cultivate-button,.concept-breakthrough-button,.game-primary{box-shadow:0 0 24px rgba(141,60,255,.45),inset 0 0 22px rgba(255,255,255,.12);border:1px solid rgba(255,226,154,.58)}.concept-breakthrough-button{background:linear-gradient(120deg,#7a130c,#f4b04c,#7a130c);color:#fff6ce;animation:g49PulseGold 2.2s ease-in-out infinite}.concept-cultivate-button{background:linear-gradient(120deg,#511381,#a536d6,#f1be6d);color:#fff6d0}
.rarity-mythic,.rarity-legend,.rarity-epic,.shop-card,.item-card,.beast-card,.skill-node,.quest-card{position:relative}.rarity-mythic:before,.rarity-legend:before,.rarity-epic:before,.shop-card:before,.item-card:before,.beast-card:before,.skill-node:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(120deg,transparent,rgba(255,255,255,.09),transparent);opacity:0;transition:.25s}.shop-card:hover:before,.item-card:hover:before,.beast-card:hover:before,.skill-node:hover:before{opacity:1}.shop-card:hover,.item-card:hover,.beast-card:hover,.skill-node:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(0,0,0,.42),0 0 28px rgba(141,60,255,.18)}
.game-panel--story-premium,.game-panel--summon-premium{min-height:680px}.story-layout{display:grid;grid-template-columns:310px 1fr;gap:18px;height:100%;min-height:650px}.story-chapter-list{padding:16px;border:1px solid rgba(231,189,105,.22);border-radius:24px;background:rgba(9,5,16,.78);overflow:auto}.story-chapter-card{display:block;width:100%;text-align:left;margin-bottom:12px;padding:14px;border-radius:18px;border:1px solid rgba(231,189,105,.22);background:linear-gradient(135deg,rgba(40,17,52,.85),rgba(9,4,16,.8));color:#fff1c0;cursor:pointer}.story-chapter-card.is-active{border-color:rgba(255,226,154,.72);box-shadow:0 0 22px rgba(231,189,105,.22)}.story-chapter-card small{display:block;color:#c6a9e8}.story-stage{position:relative;min-height:650px;border-radius:30px;overflow:hidden;border:1px solid rgba(231,189,105,.26);background:#090512}.story-stage .story-cinematic-bg,.story-stage [data-story-bg]{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(1.15) contrast(1.05);opacity:.76}.story-stage:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 28%,rgba(255,212,125,.17),transparent 32%),linear-gradient(180deg,rgba(4,3,10,.08),rgba(4,3,10,.86));z-index:1}.story-npc{position:absolute;left:8%;bottom:8%;width:min(44%,420px);height:78%;z-index:2;display:flex;align-items:flex-end;justify-content:center}.story-npc img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 0 35px rgba(231,189,105,.25));animation:g49HeroFloat 6.3s ease-in-out infinite}.story-dialogue-box{position:absolute;left:5%;right:5%;bottom:28px;z-index:3;padding:22px 24px;border-radius:24px;border:1px solid rgba(255,220,147,.42);background:linear-gradient(135deg,rgba(11,6,18,.92),rgba(34,14,43,.86));box-shadow:0 20px 50px rgba(0,0,0,.55)}.story-dialogue-box h2{margin:4px 0 8px;color:#ffe9a7;font-size:clamp(24px,3vw,44px)}.story-dialogue-box p{font-size:18px;line-height:1.65;color:#efe0ff}.story-dialogue-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}.story-dialogue-actions button{border:1px solid rgba(231,189,105,.36);background:rgba(44,18,58,.8);color:#ffe9b0;border-radius:14px;padding:10px 16px;font-weight:800}
.summon-banner-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.summon-banner-card{position:relative;overflow:hidden;min-height:420px;border-radius:26px;border:1px solid rgba(231,189,105,.28);background:#080511;padding:22px;display:flex;flex-direction:column;justify-content:flex-end}.summon-banner-card:before{content:"";position:absolute;inset:0;background:var(--banner-bg) center/cover no-repeat;opacity:.55;transition:.35s}.summon-banner-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(5,2,10,.93))}.summon-banner-card>*{position:relative;z-index:2}.summon-banner-card h3{font-size:28px;color:#ffe9a7}.summon-actions{display:flex;gap:10px;flex-wrap:wrap}.summon-actions button{border:1px solid rgba(231,189,105,.55);border-radius:14px;padding:11px 14px;font-weight:900;color:#fff2c5;background:linear-gradient(135deg,#591e82,#b03fd2)}.summon-banner-card:hover:before{transform:scale(1.07);opacity:.72}.g49-cinematic-overlay{position:fixed;inset:0;z-index:1000;display:none;place-items:center;background:radial-gradient(circle at center,rgba(157,80,255,.28),rgba(0,0,0,.84));pointer-events:none}.g49-cinematic-overlay.is-show{display:grid;animation:g49Fade .35s ease}.g49-cinematic-card{min-width:min(760px,92vw);border:1px solid rgba(231,189,105,.58);border-radius:28px;padding:34px;text-align:center;background:rgba(13,6,22,.92);box-shadow:0 0 80px rgba(141,60,255,.32),inset 0 0 40px rgba(231,189,105,.1)}.g49-cinematic-card h2{font-size:clamp(28px,4.4vw,58px);color:#ffe8a7}.g49-cinematic-card p{color:#eadcf8;font-size:18px}.g49-floating-reward{position:fixed;z-index:1002;left:50%;top:42%;transform:translate(-50%,-50%);padding:14px 22px;border-radius:18px;background:rgba(12,5,20,.92);border:1px solid rgba(231,189,105,.55);color:#fff2bd;box-shadow:0 0 38px rgba(231,189,105,.25);animation:g49Reward 1.3s ease forwards;pointer-events:none}
.admin-game .admin-panel,.page-admin-game .admin-panel{border-image:linear-gradient(90deg,rgba(231,189,105,.45),rgba(141,60,255,.42)) 1}
@keyframes g49HeroFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes g49Spin{to{transform:rotate(360deg)}}@keyframes g49SpinReverse{to{transform:rotate(-360deg)}}@keyframes g49PulseGold{0%,100%{filter:brightness(1);box-shadow:0 0 20px rgba(231,189,105,.35)}50%{filter:brightness(1.18);box-shadow:0 0 42px rgba(255,223,128,.75)}}@keyframes g49Fade{from{opacity:0}to{opacity:1}}@keyframes g49Reward{0%{opacity:0;transform:translate(-50%,-20%) scale(.75)}20%{opacity:1}100%{opacity:0;transform:translate(-50%,-160%) scale(1.08)}}
@media(max-width:980px){.story-layout{grid-template-columns:1fr;min-height:auto}.story-chapter-list{display:flex;overflow:auto;gap:10px}.story-chapter-card{min-width:240px}.story-stage{min-height:620px}.story-npc{left:50%;transform:translateX(-50%);width:72%;opacity:.82}.summon-banner-list{grid-template-columns:1fr}.summon-banner-card{min-height:330px}}@media(max-width:640px){.story-dialogue-box{left:12px;right:12px;bottom:14px;padding:16px}.story-dialogue-box p{font-size:15px}.story-stage{min-height:560px}.story-npc{width:95%;height:64%}.game-nav button span{width:26px;height:26px}.concept-hero-figure img{max-height:52vh}}
