/* The fight and its controls share one frame. All motion is event-driven. */
body[data-combat-console=true] .adv{grid-template-columns:minmax(0,1fr) 370px;gap:12px}
body[data-mode=adv][data-v=stage][data-combat-console=true] .adv .loadout-panel[data-view]{grid-row:1 / span 2;align-self:start;width:100%;min-width:0}
body[data-combat-console=true] .loadout-panel>.pbar{display:none}
body[data-combat-console=true] .loadout-panel>.pbody{padding:0}
body[data-combat-console=true] .stage{border-top:2px solid var(--accent);min-width:0}
body[data-combat-console=true] #loot-panel{align-self:start;margin-top:0;min-width:0}
body[data-combat-console=true] .stage>.pbar{min-height:29px;font-size:9px}
.combat-production .stghead{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:5px 3px 15px;margin:0}
.combat-production .stghead small{color:var(--teal);font-size:9px;letter-spacing:.12em}
.combat-production .stghead h2{font-size:19px;line-height:1.3;letter-spacing:.04em;color:var(--text);margin:7px 0 0}
.combat-production .stghead>.hb{font-size:10px;min-height:32px;padding:6px 14px;flex-shrink:0}
.combat-production .arena.fight{min-height:290px;border-color:var(--edge);background-image:radial-gradient(ellipse at 75% 65%,#99713b1c,transparent 55%),linear-gradient(180deg,#111d24db,#28342b40 65%,#25241ed9),repeating-linear-gradient(105deg,transparent 0 64px,#d5c59009 65px 67px,transparent 68px 115px);box-shadow:inset 0 0 60px #080d1260,inset 0 1px #ffffff07;padding:24px 20px 25px}
.combat-production .arena.scene-crypt{background-image:radial-gradient(ellipse at 70% 65%,#759daf19,transparent 60%),linear-gradient(#101920a0,#151c20b0),repeating-linear-gradient(0deg,transparent 0 36px,#070d1180 37px 40px),repeating-linear-gradient(90deg,#657b8810 0 65px,#080d1155 66px 68px)}
.combat-production .arena.scene-wild{background-image:radial-gradient(ellipse at 70% 70%,#b56b3420,transparent 60%),linear-gradient(160deg,#151d26d9,#49352245),repeating-linear-gradient(35deg,transparent 0 55px,#7e665211 56px 80px)}
.combat-production .fname{font-size:12px;letter-spacing:.06em;line-height:1.4}
.combat-production .flv{color:var(--dim);font-size:10px}
.combat-production .hp{height:18px;border:2px solid #090e0b;box-shadow:0 1px #b2bb8240}
.combat-production .hp>span{font-variant-numeric:tabular-nums}
.combat-production .swing{height:4px;margin-top:2px;background:#090f0c;border:0}
.combat-production .vs{font-size:20px;opacity:.75}
.combat-production .xpline2{margin:13px 0 0;padding:0 2px 11px;border-bottom:1px solid var(--cell)}
.combat-production #h-sk{margin:0 0 8px;font-size:10px;line-height:1.5}
.combat-production .hud{margin-top:10px}
.combat-production .hud>span{padding:10px;font-size:9px;letter-spacing:.07em}
.combat-production .hud b{font-size:17px;letter-spacing:0;color:var(--teal);font-variant-numeric:tabular-nums}
.combat-production .hud #h-sup{display:none}
.cc-vitals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--cell);border-top:0;background:#141c18}
.cc-vitals>span,.cc-vitals>button{display:flex;justify-content:center;align-items:center;gap:5px;min-height:40px;border:0;border-right:1px solid var(--cell);background:transparent;color:var(--text);font:inherit;font-size:13px;margin:0;padding:4px}
.cc-vitals>button:last-child{border-right:0}.cc-vitals>button{cursor:pointer}.cc-vitals>button:hover{background:#ffffff08}
.cc-vitals .ic,.cc-vitals img{width:18px;height:18px;object-fit:contain;margin-right:3px}
.cc-vitals small{font-size:10px;color:var(--dim)}.cc-vitals.danger>span{color:#f17e71;background:#bc353517}
.cc-buffs{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.cc-buffs:empty{display:none}.cc-buffs>span{display:flex;align-items:center;gap:5px;font-size:9px;color:var(--dim);background:#76b7a509;border:1px solid #76b7a522;padding:5px 7px}.cc-buffs img{width:15px;height:15px;object-fit:contain}.cc-buffs b{color:var(--teal)}
.cc-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:#131b18;border-bottom:1px solid var(--edge)}
.cc-tabs button{appearance:none;border:0;border-right:1px solid #ffffff06;border-bottom:2px solid transparent;background:transparent;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;color:var(--dim);font:inherit;font-size:10px;min-height:69px;cursor:pointer;padding:10px 1px 8px}
.cc-tabs button:hover{background:#ffffff06;color:var(--text)}
.cc-tabs button[aria-selected=true]{background:linear-gradient(#cea95509,#cea95519);color:var(--accent);border-bottom-color:var(--accent);box-shadow:inset 0 1px #d6ac5430}
.cc-tabs .ic,.cc-tabs img{width:22px;height:22px;object-fit:contain;image-rendering:pixelated}
.cc-panel{padding:16px;min-width:0;background:linear-gradient(120deg,#ffffff02,transparent 65%)}
.cc-panel .hb{font-size:10px;min-height:34px}
.cc-weapon{display:flex;gap:15px;align-items:center;padding:3px 0 17px;margin-bottom:15px;border-bottom:1px solid var(--cell)}
.cc-weapon>.ic,.cc-weapon>img{width:46px;height:46px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 3px 2px #0006)}
.cc-weapon h3{margin:0 0 8px;font-size:15px;color:var(--accent);line-height:1.4}.cc-weapon small{font-size:10px;color:var(--dim)}
.cc-styles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-bottom:10px}
.cc-styles .hb{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 3px;min-width:0}
.cc-styles img{width:18px;height:18px;object-fit:contain}
.cc-training{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.cc-training .hb{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-height:85px;padding:10px 2px;font-size:9px}
.cc-training .hb img{width:25px;height:25px;object-fit:contain}.cc-training small{display:block;margin-top:7px;font-size:9px;opacity:.7;text-transform:none}
.cc-training .hb.on{background:#3a3c25;color:#ead38c;border-color:#95824e;box-shadow:inset 0 1px #d3b46030}
.cc-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:17px 0;border-block:1px solid var(--cell);background:#111b1740}
.cc-metrics>span{display:flex;flex-direction:column;gap:9px;padding:12px 4px;text-align:center;font-size:8px;letter-spacing:.06em;color:var(--dim);border-right:1px solid var(--cell)}.cc-metrics>span:last-child{border-right:0}
.cc-metrics b{font-size:19px;color:var(--teal);letter-spacing:0;font-variant-numeric:tabular-nums}
.cc-spec-row{display:flex;gap:8px;align-items:center}
.cc-spec{position:relative;flex:1;min-width:0;min-height:34px;padding:0;overflow:hidden;border:2px solid #10170f;box-shadow:0 0 0 1px #77714c,inset 0 2px 4px #0008;background:#20291a;color:#f3e3b3;cursor:pointer}
.cc-spec i{position:absolute;inset:0 auto 0 0;background:linear-gradient(#647c31,#384e21);box-shadow:inset 0 2px #afbd7138;transition:width .25s}
.cc-spec:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(10% - 2px),#11190fc7 calc(10% - 2px) 10%);pointer-events:none}
.cc-spec span{position:relative;z-index:1;display:block;font:inherit;font-size:10px;letter-spacing:.03em;text-shadow:1px 1px #000;padding:7px 2px;white-space:nowrap}
.cc-spec[aria-pressed=true]{box-shadow:0 0 0 1px #f3d987,0 0 15px #deb95840}.cc-spec[aria-pressed=true] i{background:linear-gradient(#9c993f,#697035)}
.cc-spec:disabled{filter:grayscale(.8);opacity:.45;cursor:default}.cc-special label{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:8px;color:var(--dim)}
.cc-special input{accent-color:var(--teal);margin:0;width:16px;height:16px}.cc-special>small{display:block;color:var(--dim);font-size:9px;margin-top:9px}
.cc-recoil{display:flex;align-items:center;gap:6px;margin-top:16px;color:var(--dim);font-size:10px}.cc-recoil .ic{width:24px;height:24px;object-fit:contain}.cc-recoil b{margin-left:auto;color:var(--teal)}
.cc-details{margin-top:17px;padding-top:12px;border-top:1px solid var(--cell);font-size:10px;color:var(--dim)}.cc-details summary{cursor:pointer;padding:4px 0}.cc-bonuses{display:grid;gap:10px;margin:13px 0;font-size:10px}.cc-bonuses>span{display:flex;justify-content:space-between;gap:15px;color:var(--dim)}.cc-bonuses b{color:var(--text)}
.cc-error,.cc-notice{font-size:10px;color:#f0b37b;line-height:1.5}.cc-notice:empty{display:none}.cc-notice:not(:empty){padding:10px 16px;border-top:1px solid #a6763b50;background:#a6661510}
.cc-paperdoll{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:'cape head . ' '. neck .' 'weapon body shield' 'hands legs ring' '. feet .';gap:5px;margin:18px auto;max-width:260px}
.cc-gear-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:#131b17;border:1px solid var(--cell);padding:7px;min-height:60px;color:var(--dim);cursor:pointer}
.cc-gear-slot .ic{width:32px;height:32px;object-fit:contain;image-rendering:pixelated}.cc-gear-slot small{font-size:8px;text-transform:uppercase}.cc-gear-slot.vacant img{opacity:.2;filter:grayscale(1)}.cc-gear-slot:hover{border-color:var(--accent);background:#cfaa5310}
.cc-loadouts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.cc-loadouts .hb{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:8px}.cc-loadouts small{color:var(--dim);font-size:9px}.cc-actions{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid var(--cell);padding-top:12px}
.cc-panel .supply-section:first-child{margin-top:0}.cc-panel .supply-slot{min-width:0}.cc-panel .prayer-panel{border-top:0;padding-top:0;margin-top:0}
.cc-panel .sub{display:flex;justify-content:space-between;gap:8px;padding:0 0 8px;margin-top:17px;font-size:9px;letter-spacing:.08em}.cc-panel .sub:first-child{margin-top:0}.cc-panel .sub>span{font-weight:normal;color:var(--dim);font-size:8px;letter-spacing:0}.cc-panel .retreat-options{margin-top:17px;padding-top:12px;border-top:1px solid var(--cell)}
.cc-books{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.cc-books .hb{padding:8px 2px}
.cc-spell-status{font-size:10px;line-height:1.5;color:var(--dim);padding:12px 0;border-bottom:1px solid var(--cell)}
.cc-spells{max-height:465px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--edge) #151c18;overscroll-behavior:contain;padding-right:3px}
.cc-spell{padding:13px 0;border-bottom:1px solid var(--cell)}.cc-spell.locked{opacity:.35;filter:grayscale(1)}.cc-spell-title{display:flex;align-items:center;gap:10px}.cc-spell-title>.ic{width:27px;height:27px;object-fit:contain}.cc-spell-title b{font-size:11px;color:var(--text)}.cc-spell-title small{display:block;font-size:9px;color:var(--dim);margin-top:5px}
.cc-runes{display:flex;align-items:center;gap:7px;margin:10px 0;font-size:10px;color:var(--dim)}.cc-runes>span{display:flex;align-items:center;gap:3px}.cc-runes .ic{width:19px;height:19px;object-fit:contain}.cc-runes>small{margin-left:auto;font-size:9px;white-space:nowrap}.cc-spell-actions{display:grid;grid-template-columns:minmax(0,1fr) 62px;gap:7px}.cc-spell-actions button{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cc-spell-link{width:100%;display:flex;align-items:center;gap:10px;text-align:left;padding:10px}.cc-spell-link img{width:23px;height:23px}.cc-spell-link span{margin-left:auto}
.cc-impact-label{position:absolute;left:50%;top:29%;transform:translateX(-50%);opacity:0;pointer-events:none;z-index:6;font-size:15px;font-weight:bold;letter-spacing:.12em;color:#f0d183;text-shadow:0 2px #000,0 0 20px #d9ab7160;white-space:nowrap}
.cc-impact-label[data-kind=magic]{color:#96cdda}.cc-impact-label[data-kind=recoil]{color:#a1cbe8}.cc-impact-label[data-kind=dodge]{color:var(--teal)}.cc-impact-label.play{animation:cc-impact 1.2s ease-out both}
.cc-pending{position:absolute;left:0;right:0;bottom:5px;text-align:center;font-size:8px;color:var(--teal);letter-spacing:.08em}
.cc-special-flash{animation:cc-arena-flash .45s ease-out}
.cc-strike{position:absolute;pointer-events:none;z-index:4;left:68%;top:48%;width:55px;height:2px;background:#ffddaa;box-shadow:0 0 7px #f8c78a;transform:rotate(-55deg);animation:cc-slash .3s ease-out both}.cc-strike-magic{left:25%;top:57%;width:10px;height:10px;border-radius:50%;background:#cbefff;box-shadow:0 0 10px 4px #78aac780;animation:cc-projectile .35s ease-in both}.cc-strike-ranged{left:25%;top:58%;width:22px;height:2px;background:#dbe6b9;animation:cc-projectile .24s linear both}
@keyframes cc-slash{0%{opacity:0;transform:rotate(-55deg) scaleX(.1)}30%{opacity:.9;transform:rotate(-55deg) scaleX(1.2)}100%{opacity:0;transform:rotate(-55deg) scaleX(.8)}}
@keyframes cc-projectile{0%{left:25%;opacity:0;transform:scale(.6)}20%{opacity:1}85%{opacity:1}100%{left:74%;opacity:0;transform:scale(1)}}
@keyframes cc-impact{0%{opacity:0;transform:translate(-50%,8px) scale(.85)}15%{opacity:1;transform:translate(-50%,0) scale(1.07)}35%{transform:translate(-50%,0) scale(1)}75%{opacity:1}100%{opacity:0;transform:translate(-50%,-12px)}}
@keyframes cc-arena-flash{0%{box-shadow:inset 0 0 100px #e2bb4855}100%{box-shadow:inset 0 0 60px #080d1260}}
@media(min-width:1001px){body[data-combat-console=true] .adv{grid-template-rows:auto auto;row-gap:12px}body[data-combat-console=true] .stage{align-self:start}body[data-combat-console=true] #loot-panel{grid-row:2}body[data-combat-console=true] .loadout-panel{position:sticky;top:12px}}
@media(max-width:1000px){body[data-combat-console=true] .adv{display:flex;flex-direction:column;gap:12px}body[data-combat-console=true] .adv>.acol{display:contents}body[data-combat-console=true] .stage{order:0;width:100%}body[data-combat-console=true] .loadout-panel{order:1;width:100%;position:static}body[data-combat-console=true] #loot-panel{order:2;width:100%}.cc-panel{padding:14px}.cc-tabs button{min-height:60px}.cc-training .hb{min-height:76px}.cc-spells{max-height:400px}}
@media(max-width:480px){.combat-production .arena.fight{min-height:245px;padding:18px 8px 24px}.combat-production .arena.fight .avatar{height:115px}.combat-production .arena.fight .avatar img{max-width:105px;max-height:108px}.combat-production .arena.fight .avatar .ic.hero{width:62px;height:62px}.combat-production .fname{font-size:9px;letter-spacing:0}.combat-production .flv{font-size:8px}.combat-production .stghead h2{font-size:15px}.combat-production .stghead small{font-size:8px}.combat-production .vs{font-size:15px}.combat-production .hud>span{padding:8px 5px;font-size:8px}.combat-production .hud b{font-size:13px}.cc-impact-label{font-size:11px}.cc-vitals>span,.cc-vitals>button{font-size:12px}.cc-vitals small{font-size:9px}.cc-tabs button{font-size:9px}.cc-panel{padding:12px}.cc-training .hb{font-size:8px}.cc-training small{font-size:8px}}
@media(prefers-reduced-motion:reduce){.cc-impact-label.play{animation:none;opacity:1}.cc-special-flash{animation:none}.cc-spec i{transition:none}.combat-production .vs,.combat-production .bar3 i{animation:none}}
