body.ui-v21 #gameApp #primeBossLayer.boss25-layer{position:absolute;inset:0;z-index:120;background:#102e3b;overflow:hidden;direction:rtl;container-type:size;color:#fff0c3;font-family:'Fredoka Game'}
.b25-backdrop{position:absolute;inset:0;background:url('./assets/v25/arena-clean.webp') center/cover;filter:brightness(.75)}
.b25-camera{position:absolute;inset:9% 0 8%;transition:transform .8s;perspective:900px}.boss25-layer[data-form='2'] .b25-camera{transform:scale(.92) rotateZ(-5deg) rotateX(12deg)}
.b25-floor-grid{position:absolute;inset:58% 0 0;background:repeating-linear-gradient(0deg,transparent 0 30px,#96e1dc33 31px 32px),repeating-linear-gradient(90deg,transparent 0 80px,#96e1dc22 81px 82px);opacity:0}.boss25-layer[data-form='2'] .b25-floor-grid{opacity:1}
.b25-monster{position:absolute;right:15%;bottom:3%;width:47%;height:95%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 10px 8px #071d2daa);animation:b25-breathe 1.9s ease-in-out infinite alternate;transition:opacity .3s}
.b25-hero{position:absolute;left:9%;bottom:0;width:21%;height:59%;z-index:6;transform-origin:bottom;transition:transform .12s;filter:drop-shadow(0 7px 5px #081c2c88)}
.b25-hero>i{position:absolute;inset:0;background:url('./assets/v25/david-guard.webp') bottom/contain no-repeat;display:block}
.b25-hero[data-pose='jump']{animation:b25-jump .65s ease-out}.b25-hero[data-pose='jump']>i{background-image:url('./assets/v25/david-jump.webp')}
.b25-hero[data-pose='dodge']{animation:b25-dodge .65s ease-out}.b25-hero[data-pose='dodge']>i{background-image:url('./assets/v25/david-dodge.webp')}
.b25-hero[data-pose='parry']{filter:drop-shadow(0 0 15px #ffe77e)}.b25-hero[data-pose='strike']{animation:b25-strike .5s ease-in-out}.b25-hero[data-pose='hurt']{animation:b25-hurt .7s ease-in-out}.b25-hero[data-pose='hurt']>i{background-image:url('./assets/v25/david-hurt.webp')}
.b25-wave,.b25-root,.b25-orb,.b25-counter-bolt,.b25-damage-flash,.b25-potato-burst{display:none;position:absolute;pointer-events:none}
.b25-wave{bottom:3%;right:29%;width:25%;height:8%;border:7px solid #f3d184;border-radius:50%;box-shadow:0 0 18px #ffda73;background:#f1c76766;z-index:5}
[data-phase='attack'][data-move='jump'] .b25-wave,[data-phase='defended'][data-move='jump'] .b25-wave{display:block;animation:b25-wave 1.2s linear infinite}
.b25-root{right:32%;bottom:26%;width:35%;height:7%;border:5px solid #5b3b25;background:repeating-linear-gradient(25deg,#a77539 0 10px,#7a542e 11px 14px);border-radius:50% 7px 7px 50%;transform-origin:right;z-index:5}
[data-phase='attack'][data-move='dodge'] .b25-root,[data-phase='defended'][data-move='dodge'] .b25-root{display:block;animation:b25-root 1.1s ease-in infinite}
.b25-orb{right:35%;bottom:32%;width:6cqw;height:6cqw;display:none;place-items:center;border:3px solid #f6d684;border-radius:50%;color:#613a20;font-size:4cqw;background:radial-gradient(circle,#fff5bf,#dfa94d);box-shadow:0 0 25px #ffdf75;z-index:5}
[data-phase='attack'][data-move='parry'] .b25-orb{display:grid;animation:b25-orb 1.2s ease-in infinite}[data-phase='defended'][data-move='parry'] .b25-orb{display:grid;animation:b25-reflect .6s linear forwards}
.b25-weak-core{position:absolute;left:61%;top:46%;width:6cqw;height:6cqw;border-radius:50%;border:4px solid #9df3ec;box-shadow:0 0 12px #faffce,inset 0 0 30px #71f0e3;opacity:0;z-index:7}
[data-phase='counter'] .b25-weak-core{opacity:1;animation:b25-core .4s infinite alternate}
.b25-counter-bolt{left:20%;top:51%;width:50%;height:3%;background:#fff6b1;box-shadow:0 0 25px #ffda6b;transform:rotate(-12deg);z-index:8;clip-path:polygon(0 50%,30% 0,48% 45%,72% 4%,100% 55%,70% 100%,49% 65%,25% 100%)}
[data-phase='hit'] .b25-counter-bolt,[data-phase='ko'] .b25-counter-bolt{display:block;animation:b25-beam .7s ease-out}
[data-phase='hit'] .b25-monster{animation:b25-hit .75s ease-out}[data-phase='hurt'] .b25-damage-flash{display:block;inset:0;border:15px solid #f07156;box-shadow:inset 0 0 60px #d65542aa;animation:b25-flash .7s ease-out;z-index:9}
[data-phase='evolve'] .b25-monster{animation:b25-evolve 2.8s ease-out;filter:drop-shadow(0 0 30px var(--boss-accent))}
[data-phase='finisher'] .b25-monster{filter:grayscale(.6) drop-shadow(0 0 8px #ffdc81);animation:b25-stunned .2s infinite alternate}
[data-phase='ko'] .b25-monster{animation:b25-ko 2.6s ease-out forwards}[data-phase='ko'] .b25-potato-burst{display:block;inset:20% 10% 0 30%;font-size:8cqw;color:#ffd36b;word-spacing:2cqw;animation:b25-burst 2s ease-out forwards;z-index:10}
.b25-header{position:absolute;inset:2% 2% auto;display:flex;justify-content:space-between;align-items:flex-start;z-index:20;pointer-events:none}.b25-header>*{pointer-events:auto}.b25-boss-label,.b25-david-label{background:#17394be8;border:3px solid #102732;border-bottom-width:6px;border-radius:17px 9px 17px 9px;padding:1cqh 1.3cqw;box-shadow:inset 0 2px #9dded333}
.b25-boss-label h1{font:600 2.3cqw/.95 'Fredoka Game';margin:.7cqh 0;color:var(--boss-accent)}.b25-boss-label>small,.b25-boss-label>span{font-size:.8cqw;display:block;color:#c7dfde}.b25-boss-label [data-b25-boss-hp]{display:flex;gap:.35cqw;margin-top:1cqh}.b25-boss-label [data-b25-boss-hp]>i{width:2.2cqw;height:2.5cqh;background:#ebc06a;border:2px solid #66452a;border-radius:55% 45% 40% 60%;box-shadow:inset -3px -3px #ba893b}.b25-boss-label i.spent{opacity:.2;filter:grayscale(1)}
.b25-david-label{display:flex;align-items:center;gap:.8cqw;direction:ltr}.b25-david-label img{width:4cqw;border-radius:50%;border:2px solid #e2bc6a}.b25-david-label b{color:#ff987b;font-size:2cqw;letter-spacing:.3cqw}
body.ui-v21 #gameApp #primeBossLayer.boss25-layer button{font-family:'Fredoka Game'!important;cursor:pointer;border:3px solid #3f3023;border-bottom-width:6px;border-radius:19px 10px 19px 10px;background:linear-gradient(#fff0b8,#edc16b);color:#3f3023;padding:1cqh 1.4cqw;box-shadow:0 5px #091f2d66;transition:filter .12s,translate .12s;touch-action:manipulation}
body.ui-v21 #gameApp #primeBossLayer.boss25-layer button:disabled{opacity:.55;cursor:default;filter:grayscale(.6)}body.ui-v21 #gameApp #primeBossLayer.boss25-layer button:active{translate:0 3px}
.b25-header>button{min-width:38px;min-height:38px;font-size:1.4cqw}
.b25-callout{position:absolute;top:19%;left:24%;right:24%;text-align:center;z-index:20;pointer-events:none}.b25-callout h2{font:600 2.5cqw/1.1 'Fredoka Game';color:#ffe69e;margin:0;text-shadow:2px 3px #102a37,-1px -1px #102a37}.b25-callout p{font:500 1.05cqw/1.4 'Rubik Game';margin:.8cqh 0;color:#fff2d1;text-shadow:1px 2px #102a37}.b25-callout>b{display:inline-block;font:600 1.5cqw 'Rubik Game';border-bottom:4px solid #edc16b;min-width:3cqw}
.b25-callout>b:empty{display:none}.b25-defenses,.b25-tools,.b25-eyes{position:absolute;bottom:3%;left:30%;right:26%;display:flex;gap:1cqw;direction:ltr;z-index:25}.b25-defenses>button,.b25-tools>button,.b25-eyes>button{flex:1;min-height:11cqh;display:flex;flex-direction:column;align-items:center;justify-content:center}.b25-defenses i,.b25-tools i,.b25-eyes i{font-style:normal;font-size:2.8cqw;line-height:1}.b25-defenses b,.b25-tools b,.b25-eyes b{font-size:1.2cqw;margin-top:.8cqh}.b25-tools small,.b25-eyes small{font:500 .8cqw 'Rubik Game'}
body.ui-v21 #gameApp #primeBossLayer .b25-strike,body.ui-v21 #gameApp #primeBossLayer .b25-finish{position:absolute!important;top:auto!important;bottom:4%!important;left:32%!important;right:27%!important;width:auto!important;min-height:10cqh;font-size:2cqw;z-index:26}
body.ui-v21 #gameApp #primeBossLayer .b25-skip{position:absolute!important;left:3%;top:13%;z-index:32;font-size:1.1cqw}
.b25-combo{position:absolute;bottom:16%;left:32%;right:27%;z-index:25;text-align:center;font-size:1.8cqw;color:#a5f5d5;text-shadow:1px 2px #102a37}
.b25-eyes>button{position:relative}.b25-eyes>button>span{width:65%;height:1.4cqh;border-radius:50%;background:transparent;margin:1cqh 0}.b25-eyes>button.has-real-shadow>span{background:#243b43aa;box-shadow:0 0 4px #243b4399}.b25-eyes i{color:#75aeca}
.b25-paused{display:none;position:absolute;inset:0;z-index:50;background:#092331e8;backdrop-filter:blur(5px);align-items:center;justify-content:center;gap:2cqh;flex-direction:column}.is-paused .b25-paused{display:flex}.b25-paused h2{font-size:3cqw}.b25-paused button{font-size:1.6cqw}
.b25-intro{position:absolute;inset:0;z-index:30;background:#102e3b}.b25-intro video{width:100%;height:100%;object-fit:cover}.b25-intro>i{position:absolute;inset:0;border-top:9cqh solid #07131a;border-bottom:9cqh solid #07131a;pointer-events:none}.b25-intro>b{position:absolute;bottom:13%;left:0;right:0;text-align:center;font:600 4cqw 'Fredoka Game';text-shadow:3px 4px #16323f;color:#ffe6a0}
[data-phase='won'] .b25-callout,[data-phase='lost'] .b25-callout{top:31%;left:15%;right:15%;padding:3cqh;background:#102d3be8;border:3px solid #d6b16b;border-radius:30px 10px 30px 10px;box-shadow:0 0 0 100vmax #071e2a88}
[data-phase='won'] .b25-callout h2,[data-phase='lost'] .b25-callout h2{font-size:4cqw}.boss25-layer[data-phase='won'] .b25-monster{opacity:.25;transform:rotate(80deg) scale(.65)}
@keyframes b25-breathe{to{translate:0 -.7%}}@keyframes b25-jump{0%,100%{transform:translateY(0)}40%,70%{transform:translateY(-48%)}}@keyframes b25-dodge{45%,80%{transform:translateX(-40%) scale(.85)}}@keyframes b25-strike{50%{transform:translateX(25%) rotate(-10deg)}}@keyframes b25-hurt{20%,60%{transform:translateX(-16%);filter:brightness(1.9) sepia(.7)}40%,80%{transform:translateX(6%)}}@keyframes b25-wave{from{transform:translateX(0) scale(.4)}to{transform:translateX(-210%) scale(1.4)}}@keyframes b25-root{from{transform:scaleX(.3)}to{transform:scaleX(1.5)}}@keyframes b25-orb{to{transform:translateX(-650%)}}@keyframes b25-reflect{from{transform:translateX(-400%)}to{transform:translateX(50%)}}@keyframes b25-core{to{scale:1.2;filter:brightness(1.3)}}@keyframes b25-beam{0%{opacity:0;scale:.1 1}30%{opacity:1;scale:1 1}100%{opacity:0}}@keyframes b25-hit{20%,50%{transform:translateX(6%) rotate(5deg);filter:brightness(1.6)}}@keyframes b25-flash{to{opacity:0}}@keyframes b25-evolve{15%,35%,55%{filter:brightness(4);transform:scale(.8)}75%,100%{filter:brightness(1);transform:scale(1.1)}}@keyframes b25-stunned{to{rotate:2deg}}@keyframes b25-ko{40%{filter:brightness(3);transform:rotate(8deg)}100%{transform:rotate(85deg) translateY(70%) scale(.4);opacity:0}}@keyframes b25-burst{to{transform:scale(2);opacity:0}}
@media(prefers-reduced-motion:reduce){.b25-monster,.b25-hero,.b25-wave,.b25-root,.b25-orb,.b25-weak-core{animation-duration:.01s!important;animation-iteration-count:1!important}.b25-camera{transition:none}}
@container(max-height:370px){.b25-callout h2{font-size:18px}.b25-callout p{font-size:10px}.b25-defenses b,.b25-tools b,.b25-eyes b{font-size:12px}.b25-boss-label small,.b25-boss-label>span{font-size:8px}.b25-boss-label h1{font-size:18px}.b25-defenses>button,.b25-tools>button,.b25-eyes>button{min-height:44px}}

/* Final-form hazards and chosen equipment show the cause of damage. */
.b25-puzzle-projectile{display:none;position:absolute;right:36%;bottom:30%;font:600 5cqw 'Rubik Game';color:#ffd79a;text-shadow:0 0 20px #f29243;z-index:8}
[data-phase='puzzle'] .b25-puzzle-projectile{display:block;animation:b25-orb 3s linear infinite}
.b25-tool-beam{display:none;position:absolute;left:49%;top:16%;width:17%;height:50%;border-left:1.4cqw solid #9af5ff;filter:drop-shadow(0 0 8px #8ae6fa);transform:rotate(-16deg);z-index:9}
[data-form='2'][data-phase='hit'] .b25-counter-bolt{display:none}[data-form='2'][data-phase='hit'] .b25-tool-beam{display:block;animation:b25-beam .8s ease-out}
[data-tool='heater'] .b25-tool-beam{border-color:#ffb265;filter:drop-shadow(0 0 8px #fd8a43)}[data-tool='magnet'] .b25-tool-beam{left:22%;width:40%;border-color:#96e9db;transform:rotate(-45deg)}[data-tool='ramp'] .b25-tool-beam{left:61%;top:40%;height:35%;transform:rotate(45deg);border-color:#ffe9a0}

.b25-monster-holder{position:absolute;right:8%;bottom:0;width:55%;height:105%;pointer-events:none}.b25-monster-holder>.b25-monster{inset:0;right:auto;bottom:auto;width:100%;height:100%;object-position:center bottom}.b25-monster-holder>.b25-weak-core{left:50%;top:58%;transform:translate(-50%,-50%)}.b25-hero{width:16%;height:42%;left:8%}

.boss25-layer[data-form='1'] .b25-monster-holder>.b25-weak-core{top:67%}
[data-phase='attack'] .b25-wave,[data-phase='attack'] .b25-root,[data-phase='attack'] .b25-orb{animation-duration:var(--attack-window,2s);animation-iteration-count:1;animation-fill-mode:forwards}
[data-phase='defended'] .b25-wave,[data-phase='defended'] .b25-root{animation-duration:.65s;animation-iteration-count:1;animation-fill-mode:forwards}
[data-phase='hurt'][data-move='parry'] .b25-orb{display:grid;animation:b25-orb .35s ease-in forwards}[data-phase='hurt'][data-move='jump'] .b25-wave{display:block;animation:b25-wave .35s ease-in forwards}[data-phase='hurt'][data-move='dodge'] .b25-root{display:block;animation:b25-root .35s ease-in forwards}
