/* ASHBOUND // REQUIEM V3 — atmospheric combat direction, local only. */
:root{--bg:#07080e;--panel:#11131b;--gold:#d4ae80;--muted:#a39b9f;--red:#d96360;--violet:#9b80c5}
body{background:radial-gradient(ellipse 60% 27% at 50% 0%,#3e22252b,transparent 78%),#06080c;color:#eee7df}
.app{max-width:790px}
.topbar{height:84px;position:relative}
.brand h1{font:700 clamp(18px,4vw,23px)/1.05 Georgia,'Times New Roman',serif;letter-spacing:2px;text-shadow:0 2px 12px #e0a36c21}
.eyebrow{letter-spacing:2.6px;color:#bc9a7f}
.brand-icon{background:linear-gradient(146deg,#453424,#141419 62%);border-color:#937356;box-shadow:inset 0 1px #e2c69e30,0 0 25px #d1833a11}
.summary-stat{border-color:#66585280;background:linear-gradient(135deg,#191b24,#10131b);box-shadow:inset 0 1px #e7dbce0b,0 9px 18px #0005}
.summary-stat strong{color:#f3e7d7}
.arena,.arena.zone-1,.arena.zone-2,.arena.zone-3,.arena.zone-4{height:610px;border:1px solid #886e548f;box-shadow:0 0 0 1px #bd90652b,0 24px 54px #000a,inset 0 0 45px #02030899;overflow:hidden}
.arena.zone-1{background-image:linear-gradient(180deg,#060711e3 0%,#0809115a 23%,#070a1602 52%,#030509be 100%),url('world_eclipse.webp')}
.arena.zone-2{background-image:linear-gradient(180deg,#070713d6 0%,#0b091144 23%,#0e0b1a13 54%,#02050ac7 100%),url('world_void.webp')}
.arena.zone-3{background-image:linear-gradient(180deg,#070810c6 0%,#15080b42 24%,#160b120e 55%,#030507ba 100%),url('world_ember.webp')}
.arena.zone-4{background-image:linear-gradient(180deg,#07111ac0 0%,#0b132146 29%,#040b1421 51%,#04080ed2 100%),url('world_frost.webp')}
.arena{background-size:cover;background-position:50% 50%}
.arena::before{z-index:1;background:linear-gradient(180deg,#06071060 0%,transparent 20%,transparent 73%,#040509cc 95%),radial-gradient(ellipse at 50% 52%,transparent 26%,#0203079f 100%)}
.arena::after{z-index:20;box-shadow:inset 0 0 1px 1px #d0a97f32,inset 0 0 45px #0006,inset 0 -29px 45px #030406a6;pointer-events:none}
#arena3d,.arena-3d-active #arena3d{filter:drop-shadow(0 12px 9px #010207e8) saturate(.97) contrast(1.09);pointer-events:auto;touch-action:pan-y}
#ashFX{position:absolute;inset:0;width:100%;height:100%;z-index:8;pointer-events:none}
.ash-storm{position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(ellipse 62% 12% at 26% 77%,#b76a6935,transparent 87%),radial-gradient(ellipse 56% 10% at 71% 77%,#d6804427,transparent 90%),linear-gradient(90deg,#03050c24,transparent 22%,transparent 75%,#08040930);mix-blend-mode:screen}
.arena-top{top:17px;left:20px;right:20px;z-index:15}
.location-eyebrow{font-size:9px;color:#cbb29c;letter-spacing:2.8px}
.arena h2{font-size:clamp(21px,4.1vw,29px);line-height:1.06;max-width:min(310px,53vw);letter-spacing:.5px;margin-top:5px;text-shadow:0 3px 8px #000,0 0 19px #000}
.stage-pill{letter-spacing:1.5px;border-color:#b2997755;background:#0b1015e8;color:#f1d1a5;font-size:10px}
.scene-mode,.camera-mode,.quality-mode{top:124px;height:34px;border-radius:5px;letter-spacing:.95px;font-size:9px;box-shadow:inset 0 1px #f5e1ce1b,0 6px 21px #0009;backdrop-filter:blur(16px)}
.scene-mode{left:20px;width:130px;border-color:#987a53;color:#efc99c;background:#261d1bdf}
.camera-mode{left:calc(50% - 52px);width:104px;border-color:#656079;color:#e1d4fa;background:#191a2bdc}
.quality-mode{right:20px;width:108px;border-color:#547d80;color:#bce5df;background:#142529dc}
.scene-mode:focus-visible,.camera-mode:focus-visible,.quality-mode:focus-visible{outline:2px solid #d6b080;outline-offset:2px}
.arena .battle-scene{inset:171px 13px 39px;z-index:14}
.combatant-name,.arena-3d-active .combatant-name{font-size:10px;letter-spacing:1px;background:linear-gradient(90deg,transparent,#080a12df 18%,#0a0d15ef 50%,#080a12df 82%,transparent);bottom:88px;padding:8px 0}
.combatant-name small{color:#c7b4b0;font-size:8px}
.health-track{height:11px;border-radius:3px;border:1px solid #b5b5b655;background:#05070be0;overflow:hidden}
.hero-health{background:linear-gradient(90deg,#34756b,#8fe0ab);box-shadow:0 0 10px #53d0af55}
.enemy-health{background:linear-gradient(90deg,#8c2434,#ec6c70);box-shadow:0 0 10px #ff4f6577}
.health-number{font-variant-numeric:tabular-nums;font-size:11px;color:#f0e3d1}
.combat-feed{font-size:11px;letter-spacing:.2px;background:linear-gradient(90deg,#080910f9,#21202cf6,#080910f9);border-top:1px solid #98715b67;color:#f3d3b2}
#rigStatus{bottom:49px;left:12px;padding:6px 9px;font-size:8px;letter-spacing:1.0px;z-index:18;background:#0a111ada;border:1px solid #607e7488;color:#a3cbbc}
.boss-warning{top:181px}
.game-motto{letter-spacing:3px;color:#bc99848c;margin-top:12px}
.progress-card,.daily-card,.world-banner,.stats-card{background:linear-gradient(155deg,#181922,#10131d);border-color:#6b5d5b77}
.progress-fill{background:linear-gradient(90deg,#913e39,#d6a176)}
.navtabs,.quickdock{background:#090d14e9;backdrop-filter:blur(14px);border-color:#6b5f6080;box-shadow:0 16px 40px #000c}
.quickdock button{min-height:57px;letter-spacing:.5px}
.quickdock button:first-child{background:linear-gradient(140deg,#5c3530,#302326)}
.skill-button{background:linear-gradient(130deg,#804b3b,#542e2d);border-color:#c99b77}
/* An impact is camera movement and momentum, not a flashing fullscreen overlay. */
@keyframes ashShock{0%,100%{transform:translate3d(0,0,0)}16%{transform:translate3d(-3px,1px,0)}36%{transform:translate3d(3px,-2px,0)}57%{transform:translate3d(-1px,2px,0)}79%{transform:translate3d(1px,0,0)}}
@keyframes ashUltimate{0%,100%{filter:brightness(1)}18%{filter:brightness(1.32)}36%{filter:brightness(1.06)}55%{filter:brightness(1.23)}78%{filter:brightness(1.04)}}
.ash-impact #arena3d{animation:ashShock .28s ease-out}
.ash-ultimate #arena3d{animation:ashShock .43s ease-out}
.ash-ultimate .ash-storm{animation:ashUltimate .63s ease-out}
@media (min-width:600px){.arena,.arena.zone-1,.arena.zone-2,.arena.zone-3,.arena.zone-4{height:650px}.arena h2{font-size:29px}.scene-mode,.camera-mode,.quality-mode{top:123px}.arena .battle-scene{inset:166px 17px 39px}}
@media (max-width:420px){.app{padding-left:8px;padding-right:8px}.arena,.arena.zone-1,.arena.zone-2,.arena.zone-3,.arena.zone-4{height:550px}.arena-top{left:13px;right:13px;top:14px}.arena h2{max-width:198px;font-size:21px}.scene-mode,.camera-mode,.quality-mode{top:114px;height:29px;font-size:8px;letter-spacing:.35px}.scene-mode{left:9px;width:104px}.camera-mode{width:82px;left:calc(50% - 41px)}.quality-mode{right:9px;width:87px}.arena .battle-scene{inset:150px 6px 39px}.combatant-name{bottom:80px;font-size:9px}}
@media (max-width:340px){.arena,.arena.zone-1,.arena.zone-2,.arena.zone-3,.arena.zone-4{height:510px}.arena h2{font-size:19px;max-width:180px}.stage-pill{padding:8px 6px;font-size:9px}}
@media (prefers-reduced-motion:reduce){.ash-impact #arena3d,.ash-ultimate #arena3d,.ash-ultimate .ash-storm{animation:none}}
