.node-button:disabled{cursor:not-allowed;opacity:.55}.practice-card button:disabled{cursor:not-allowed;opacity:.5}.round-goal{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:13px;line-height:1.6;color:var(--muted);margin:-8px 0 20px}.round-goal>span{font-weight:700}.round-score{font:700 28px var(--round);margin:18px 0;color:var(--green)}.result-eyebrow{justify-content:center}.player-hearts{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:25px;color:#b95857}.player-hearts .empty{color:#9c9a90}.player-hearts strong{font:700 12px var(--body);width:100%;color:var(--ink)}.boss-finale-label{display:inline-block;color:var(--green);font-weight:700;font-size:12px}.welcome-details .guest-save-note{font-size:11px;line-height:1.5;margin-top:12px;max-width:420px;color:var(--muted)}.style-picker>div{grid-template-columns:repeat(3,1fr)}
.action-dragon{width:100%;height:100%;overflow:visible}.action-mouth-open{opacity:0}.is-breathing .action-mouth-open{opacity:1}.is-breathing .action-mouth-closed{opacity:0}.action-dragon .near-wing,.action-dragon .far-wing{transform-box:view-box;transform-origin:112px 130px}.dragon-airborne .near-wing{animation:wing-flap .58s ease-in-out infinite alternate}.dragon-airborne .far-wing{animation:far-wing-flap .58s ease-in-out infinite alternate}.action-tail{transform-origin:90px 140px;animation:air-tail 1.5s ease-in-out infinite alternate}.dragon-grounded .near-wing{transform:rotate(-20deg) scaleY(.65);transform-origin:112px 130px}.dragon-grounded .far-wing{transform:rotate(12deg) scaleY(.55)}.dragon-grounded .action-body{animation:side-breathe 2.5s ease-in-out infinite}.is-breathing .action-head{transform-origin:165px 123px;animation:breath-head 1s ease-out both}.is-breathing .dragon-grounded .action-body{animation:breath-recoil 1.1s ease-out both}
.flying-dragon{width:115px;height:96px;transform:translate(-50%,-50%) rotate(var(--flight-tilt,0deg));transition:transform .15s ease-out}.flying-dragon .action-dragon{animation:flight-bob 1.5s ease-in-out infinite alternate}.flight-controls{flex-wrap:wrap;gap:10px}.flight-controls>span{flex:1;min-width:115px;line-height:1.5}.flight-fire-button{min-height:44px;padding:10px 17px;touch-action:manipulation}.direction-pad{flex-shrink:0}.direction-pad button{touch-action:none;-webkit-user-select:none;user-select:none}.sky-target{position:absolute;left:82%;transform:translate(-50%,-50%);width:48px;height:48px;border:3px solid #deb45a;background:#fff3ca;border-radius:50%;box-shadow:0 0 0 5px #ffffff65;color:#a47423;font:700 25px var(--round);z-index:3;touch-action:manipulation}.sky-target.target-popped{opacity:.3;transform:translate(-50%,-50%) scale(.65);transition:transform .3s,opacity .3s}.sky-fireball{position:absolute;z-index:5;pointer-events:none;width:24px;height:18px;border-radius:45% 65% 65% 45%;background:#fff0a0;box-shadow:-7px 0 0 3px #ffbd43,-17px 0 0 0 #ed7844,-26px 0 0 -4px #df5d47;animation:sky-shot .43s ease-in forwards}
.battle-dragon{width:43%;max-width:190px;bottom:2px;left:0}.battle-boss{width:32%;max-width:140px;right:2%;bottom:1px}.fire-breath{position:absolute;z-index:4;left:35.5%;bottom:52px;width:38%;height:38px;transform-origin:left center;pointer-events:none;animation:breath-stream 1.05s ease-out both}.fire-breath:before,.fire-breath i,.fire-breath b{content:'';position:absolute;inset:0;clip-path:polygon(0 40%,24% 20%,40% 32%,63% 4%,100% 20%,90% 45%,100% 70%,71% 100%,48% 77%,24% 67%,0 60%);background:#ef7b40}.fire-breath i{inset:7px 2px 7px 0;background:#ffbd49}.fire-breath b{inset:14px 10px 13px 0;background:#fff1b0}.fire-breath span{position:absolute;right:-10px;top:2px;font-size:36px;color:#ffdb6a;animation:flame-spark .25s 3 alternate}.battle-arena.just-hit .battle-boss{animation:boss-wiggle .32s .5s 2}.dragon-took-hit .battle-dragon{animation:ouch-shake .35s}.dragon-took-hit:before{content:'−1 ♥';position:absolute;left:10%;top:30%;color:#ab4646;font:700 23px var(--round);z-index:5;animation:hit-pop .5s both}.game-card-art>.action-dragon{position:absolute;height:120px;width:145px;left:0;bottom:4px}.sky-art>.action-dragon{bottom:20px;left:0}.battle-art>.action-dragon{width:130px}
#main{view-transition-name:math-page}::view-transition-old(root),::view-transition-new(root){animation:none}::view-transition-old(math-page){animation:page-out .14s ease-in both}::view-transition-new(math-page){animation:page-in .26s .10s ease-out both}::view-transition-group(math-page){animation-duration:.36s}
@keyframes wing-flap{from{transform:rotate(-16deg) scaleY(1)}to{transform:rotate(30deg) scaleY(.38)}}@keyframes far-wing-flap{from{transform:rotate(12deg) scaleY(.65)}to{transform:rotate(-24deg) scaleY(1)}}@keyframes air-tail{to{transform:rotate(6deg)}}@keyframes side-breathe{50%{transform:translateY(-2px)}}@keyframes breath-head{0%,100%{transform:rotate(0)}25%,75%{transform:rotate(-8deg)}}@keyframes breath-recoil{25%{transform:translateX(-5px)}70%{transform:translateX(2px)}}@keyframes breath-stream{0%,12%{opacity:0;transform:scaleX(.1)}25%{opacity:1;transform:scaleX(.5)}45%,75%{opacity:1;transform:scaleX(1)}100%{opacity:0;transform:scaleX(1.08)}}@keyframes flame-spark{to{transform:scale(1.2) rotate(30deg)}}@keyframes sky-shot{to{transform:translateX(var(--shot-distance)) scale(.8)}}@keyframes ouch-shake{25%,75%{transform:translateX(-5px)}50%{transform:translateX(3px)}}@keyframes page-out{to{opacity:0;transform:translateY(-3px)}}@keyframes page-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:650px){.style-picker>div{grid-template-columns:1fr}.welcome-details .guest-save-note{order:2;margin-top:8px}.welcome-reassurance{order:3}.flight-controls .direction-pad{width:100%;justify-content:center}.round-goal{font-size:12px}.fire-breath{bottom:49px}.battle-dragon{width:43%}}
@media(prefers-reduced-motion:reduce){.action-dragon *,.fire-breath,.fire-breath span,.sky-fireball,.flying-dragon,.dragon-took-hit .battle-dragon{animation:none!important}.fire-breath{opacity:1}.sky-fireball{transform:translateX(var(--shot-distance))}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}.sky-target,.flying-dragon{transition:none}}
.boss-panel{display:block!important}.boss-panel .buddy-note{display:flex!important;padding:13px 20px}.boss-panel .battle-arena{height:205px}.boss-panel header{padding:20px}.boss-panel header>p{max-width:none}.boss-panel .player-hearts{width:100%}.boss-panel .player-hearts strong{width:auto;margin-left:auto}.boss-panel .battle-dragon{height:auto}.boss-panel .battle-dragon>.action-dragon{display:block;aspect-ratio:1.2}.boss-panel .battle-boss{bottom:0}
.is-breathing .action-mouth-open{animation:mouth-open 1.1s both}.is-breathing .action-mouth-closed{animation:mouth-close 1.1s both}.is-breathing .dragon-airborne .action-mouth-open,.is-breathing .dragon-airborne .action-mouth-closed{animation-duration:.43s}@keyframes mouth-open{0%,100%{opacity:0}15%,85%{opacity:1}}@keyframes mouth-close{0%,100%{opacity:1}15%,85%{opacity:0}}@media(prefers-reduced-motion:reduce){.is-breathing .action-mouth-open{opacity:1}.is-breathing .action-mouth-closed{opacity:0}}
.toast{opacity:0;visibility:hidden;pointer-events:none;transition:transform .25s,opacity .25s,visibility .25s}.toast.visible{opacity:1;visibility:visible}.direction-pad{gap:20px}.direction-pair{display:flex;gap:7px;touch-action:none}
.flight-destination{position:absolute;width:26px;height:26px;border:2px dashed #538699;border-radius:50%;transform:translate(-50%,-50%);background:#ffffff60;pointer-events:none;z-index:1}
