
/* Visual pack 0.2.1: art scenes, VFX and future chat */
.hero-scene.visual-ready{isolation:isolate;min-height:clamp(230px,28vw,370px);background:radial-gradient(circle at center,#1b3044,#0a101d 80%);overflow:hidden}
.hero-scene.visual-ready:before,.hero-scene.visual-ready:after{display:none}
.hero-scene.visual-ready .hero-art{display:none}
.hero-scene.visual-ready .scene-visual{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;z-index:0;overflow:hidden}
.hero-scene.visual-ready .scene-visual img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;filter:drop-shadow(0 15px 24px rgba(0,0,0,.35))}
.hero-scene.visual-ready .scene-visual.scenic img{object-fit:cover;object-position:center 46%;filter:none}
.hero-scene.visual-ready .scene-visual.scenic:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,14,25,.74),rgba(8,14,25,.05) 70%);pointer-events:none}
.hero-scene.visual-ready .scene-visual.character img{width:100%;height:98%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0px 7px 15px #0009)}
.hero-scene.visual-ready .scene-visual.monster img{width:100%;height:95%;object-fit:contain;object-position:center center;filter:drop-shadow(0px 6px 16px #0009)}
.hero-scene.visual-ready .scene-visual.monster{background:radial-gradient(ellipse at center,#366a8390,transparent 62%),linear-gradient(145deg,#0a1b2b,#122133)}
.hero-scene.visual-ready .scene-visual.portal-asset img{width:100%;height:96%;object-fit:contain;filter:drop-shadow(0 0 22px #3060ac6e)}
.hero-scene.visual-ready .hero-caption{z-index:2;bottom:0;left:0;right:0;text-align:center;padding:18px 8px;background:linear-gradient(transparent,#08111de0);text-shadow:0 2px 5px #000;letter-spacing:1.3px;color:#f4e9d7}
.hero-scene.visual-ready .scene-visual.award img{object-fit:contain;width:100%;height:100%}
.scene-vfx{position:absolute;z-index:10;inset:0;pointer-events:none;display:flex;align-items:center;justify-content:center;overflow:hidden}
.scene-vfx img{width:min(70%,350px);height:auto;filter:drop-shadow(0 0 12px #6fd6ffbb);animation:vfx-pop .16s ease-out both;opacity:.96}
.scene-vfx.defense img{width:min(77%,380px)}
@keyframes vfx-pop{from{opacity:.15;transform:translateY(13px) scale(.72)}to{opacity:1;transform:translateY(0) scale(1.08)}}
.chat-launch{position:fixed;right:22px;bottom:22px;z-index:40;border:1px solid #5d84ad;background:linear-gradient(130deg,#17426a,#10283f);box-shadow:0 8px 32px #0009;color:#e9f6ff;border-radius:100px;padding:12px 18px;display:flex;align-items:center;gap:10px;font:700 12px Manrope,system-ui,sans-serif;cursor:pointer}
.chat-launch:hover{background:#24577b}.chat-launch small{background:#3f5367;border-radius:10px;padding:2px 6px;font-size:9px;color:#d2e9ff}
.chat-modal{width:min(510px,96vw);max-height:min(660px,89dvh);margin:auto;position:fixed;inset:0;padding:0;border-radius:16px;border:1px solid #4f91be;box-shadow:0 25px 100px #000e;background:#101c2d;color:#edf5ff}
.chat-modal::backdrop{background:#000b}.chat-header{padding:16px 18px;background:linear-gradient(110deg,#172c46,#183852);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #39536d}
.chat-header h3{font-family:Manrope,system-ui;font-size:15px;margin:0}.chat-header p{font-size:10px;color:#a1c0d8;margin:4px 0 0}.chat-close{background:#294661;border:1px solid #547b96;color:#fff;border-radius:7px;font-size:21px;width:34px;height:34px;cursor:pointer}
.chat-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:11px}
.chat-tabs button{font:700 10px Manrope,system-ui;color:#b7cbe0;background:#192b3d;padding:10px 4px;border:1px solid #304f6c;border-radius:7px;cursor:pointer}
.chat-tabs button.active{background:#285b7c;color:white;border-color:#56a9d2}
.chat-main{padding:18px;min-height:185px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center;background:radial-gradient(circle at center top,#24436380,#101a29 70%)}
.chat-main .chat-placeholder-icon{font-size:42px;color:#8cdbfa}.chat-main strong{font-size:14px}.chat-main p{font-size:11px;max-width:345px;line-height:1.7;color:#b5cadc;margin:0}
.chat-compose{display:flex;gap:8px;padding:12px;background:#132639;border-top:1px solid #30465a}.chat-compose input{min-width:0;flex:1;border:1px solid #48617a;background:#1b3147;color:#c1d4e8;border-radius:7px;padding:12px;font-size:12px}.chat-compose button{background:#2c526a;border:1px solid #436e8b;color:#bbd6e7;border-radius:7px;padding:11px;font-size:11px}
.chat-concept-toggle{border:0;background:transparent;color:#8acef2;font-size:11px;padding:0 15px 15px;text-decoration:underline;cursor:pointer}
.chat-concept{max-height:290px;width:100%;object-fit:contain;display:none;padding:6px 12px 15px}
.chat-concept.visible{display:block}.chat-concept-note{padding:0 13px 10px;color:#a9bed0;font-size:10px;display:none;text-align:center}.chat-concept-note.visible{display:block}
@media(max-width:700px){.hero-scene.visual-ready{min-height:215px}.hero-scene.visual-ready .hero-caption{font-size:9px;padding:17px 5px 9px}.chat-launch{right:12px;bottom:12px;padding:12px 14px}.chat-modal{max-height:95dvh;width:calc(100vw - 16px)}.chat-tabs{gap:3px}.chat-tabs button{font-size:9px}.chat-concept{max-height:220px}.footer{padding-bottom:60px}}
@media(prefers-reduced-motion: reduce){.scene-vfx img{animation:none}.hero-scene.slime .hero-art,.hero-scene.portal .hero-art{animation:none}}
