.app{min-height:100vh;padding:1.5rem;display:flex;justify-content:center}.classroom{position:relative;background-color:#fff;color:#222;width:100%;max-width:920px;padding:2rem 2.5rem;border-radius:4px}.graffiti-tag{position:absolute;top:.75rem;left:1rem;width:200px;height:auto;pointer-events:none;overflow:visible}.teacher-zone{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-bottom:2.5rem}.teacher-desk-wrap{position:relative;display:inline-flex;align-items:flex-end;padding-top:70px;padding-right:.5rem}.teacher-figure{position:absolute;top:-14px;left:50%;transform:translate(-50%);width:84px;height:auto;border-radius:6px;z-index:1}.teacher-desk{background:linear-gradient(180deg,#f4e1b3,#c9a861);border:1px solid #80591f;padding:.6rem 2rem;font-family:Times New Roman,serif;font-weight:700;font-style:italic;font-size:1.15rem;color:#2a1a05;box-shadow:1px 1px #6b4413;position:relative;z-index:2}.bench-rows{display:flex;flex-direction:column;gap:1.25rem}.bench-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem}.bench-row-solo>.bench-svg{grid-column:1}.bench-svg{width:100%;height:auto;display:block;overflow:visible}.captain-hat,.princess-crown,.artist-beret,.dj-headphones,.surgeon-cap,.party-hat{animation:captain-hat-drop .7s ease-in both}.princess-wand{animation:prize-pop .35s ease-out 1.3s both,princess-wand-wave .7s ease-in-out 1.65s infinite alternate}@keyframes princess-wand-wave{0%{transform:rotate(-14deg)}to{transform:rotate(16deg)}}.princess-frog{animation:prize-pop .35s ease-out .9s both,princess-frog-hop .9s ease-in-out 1.25s infinite}@keyframes princess-frog-hop{0%,45%,to{transform:translateY(0) scale(1)}8%{transform:translateY(0) scale(1.15,.8)}25%{transform:translateY(-9px) scale(.92,1.12)}40%{transform:translateY(0) scale(1.12,.85)}}@keyframes captain-hat-drop{0%{transform:translateY(-46px) rotate(-30deg);opacity:0}20%{opacity:1}60%{transform:translate(0) rotate(4deg)}78%{transform:translateY(-4px) rotate(-9deg)}to{transform:translate(0) rotate(-5deg)}}.rum-bottle{animation:rum-bottle-land .9s ease-out .5s both}@keyframes rum-bottle-land{0%{transform:translateY(-34px);opacity:0}40%{transform:translate(0) rotate(0);opacity:1}55%{transform:rotate(-11deg)}72%{transform:rotate(7deg)}88%{transform:rotate(-3deg)}to{transform:rotate(0);opacity:1}}.bench-leg{animation:bench-leg-swing .8s ease-in-out infinite}@keyframes bench-leg-swing{0%,to{transform:rotate(calc(var(--leg-swing, 16deg) * -1))}50%{transform:rotate(var(--leg-swing, 16deg))}}@media (prefers-reduced-motion: reduce){.bench-leg{animation:none}}.paper-ball{position:absolute;z-index:10;width:9px;height:8px;margin:-4px 0 0 -4px;background:#fbfaf3;border:1px solid #8f8f86;border-radius:45% 55% 50% 40%/55% 40% 60% 45%;box-shadow:inset -1px -1px #d6d4c6;pointer-events:none;animation:paper-throw .75s linear forwards}.flying-heart{position:absolute;z-index:10;margin:-9px 0 0 -8px;font-size:18px;line-height:1;color:#e6293a;text-shadow:0 0 2px #fff,0 0 2px #fff;pointer-events:none;animation:heart-fly 1.4s linear forwards}@keyframes heart-fly{0%{transform:translate(0) scale(.3);opacity:0;animation-timing-function:ease-out}12%{opacity:1}45%{transform:translate(calc(var(--dx) * .5 + var(--arc)),calc(var(--dy) * .5 - 24px)) scale(1);animation-timing-function:ease-in}82%{transform:translate(var(--dx),var(--dy)) scale(.9);opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(2.2);opacity:0}}.lovestruck{animation:prize-pop .35s ease-out both,lovestruck-throb .6s ease-in-out .35s infinite alternate}@keyframes lovestruck-throb{0%{transform:scale(.9) rotate(-8deg)}to{transform:scale(1.15) rotate(8deg)}}.flying-heart--spark{color:#ffc107;text-shadow:0 0 2px #b8860b,0 0 6px #ffeb3b}.classroom--party .bench-svg{animation:party-bounce .42s ease-in-out infinite alternate}.classroom--party .bench-svg:nth-child(2){animation-delay:-.14s}.classroom--party .bench-svg:nth-child(3){animation-delay:-.28s}.classroom--party .bench-row:nth-child(2n) .bench-svg{animation-direction:alternate-reverse}@keyframes party-bounce{0%{transform:translateY(3px) rotate(-.8deg)}to{transform:translateY(-5px) rotate(.8deg)}}.confetti{position:absolute;top:0;z-index:9;width:7px;height:11px;pointer-events:none;animation:confetti-fall 4s linear infinite}@keyframes confetti-fall{0%{top:0;transform:rotate(0) scaleX(1);opacity:0}6%{opacity:1}50%{transform:rotate(270deg) scaleX(.3)}94%{opacity:1}to{top:calc(100% - 14px);transform:rotate(540deg) scaleX(1);opacity:0}}.classroom{transition:background-color .6s ease}.classroom--metal{background-color:#140d10;animation:metal-glow 2.4s ease-in-out infinite alternate}@keyframes metal-glow{0%{background-color:#140d10}to{background-color:#3a0f14}}.classroom--metal .bench-svg{transform-origin:50% 100%;animation:metal-headbang .3s ease-in infinite alternate}.classroom--metal .bench-svg:nth-child(2){animation-delay:-.1s}.classroom--metal .bench-svg:nth-child(3){animation-delay:-.2s}@keyframes metal-headbang{0%{transform:translateY(-3px) rotate(-1.6deg)}to{transform:translateY(3px) rotate(1.6deg)}}.classroom--metal .teacher-figure{transform-origin:50% 100%;animation:metal-teacher-headbang .3s ease-in infinite alternate}@keyframes metal-teacher-headbang{0%{transform:translate(-50%) rotate(-7deg)}to{transform:translate(-50%) translateY(5px) rotate(7deg)}}.metal-banner{position:absolute;top:1rem;right:1.25rem;z-index:9;font-family:Bangers,Impact,Arial Black,sans-serif;font-size:1.7rem;letter-spacing:.06em;color:#e6293a;text-shadow:2px 2px 0 #000,0 0 10px #ff2a2a;transform:rotate(5deg);pointer-events:none;animation:metal-banner-flicker 1.7s linear infinite}@keyframes metal-banner-flicker{0%,18%,22%,62%,66%,to{opacity:1}20%,64%{opacity:.45}}.metal-bat{position:absolute;left:0;z-index:9;font-size:20px;line-height:1;pointer-events:none;animation:metal-bat-cross 5s linear infinite}.metal-bat--reverse{animation-direction:reverse}@keyframes metal-bat-cross{0%{left:0;transform:translateY(0);opacity:0}8%{opacity:1}25%{transform:translateY(-16px)}50%{transform:translateY(8px)}75%{transform:translateY(-12px)}92%{opacity:1}to{left:calc(100% - 26px);transform:translateY(0);opacity:0}}.metal-bat-flap{display:inline-block;animation:metal-bat-flap .18s ease-in-out infinite alternate}@keyframes metal-bat-flap{0%{transform:scaleY(1)}to{transform:scaleY(.55)}}.metal-bolt{position:absolute;z-index:8;font-size:26px;line-height:1;opacity:0;pointer-events:none;animation:metal-bolt 3.3s linear infinite}@keyframes metal-bolt{0%,82%,88%,to{opacity:0;transform:scale(.8)}85%,92%{opacity:1;transform:scale(1.15)}}.party-pop{animation:prize-pop .35s ease-out .5s both}.party-glint{animation:party-glint .6s ease-in-out infinite alternate}@keyframes party-glint{0%{opacity:.15}to{opacity:1}}@keyframes paper-throw{0%{transform:translate(0) rotate(0) scale(.6);animation-timing-function:ease-out}35%{transform:translate(calc(var(--dx) * .5 + var(--arc)),calc(var(--dy) * .55)) rotate(calc(var(--spin) * .5)) scale(1.15)}70%{transform:translate(var(--dx),var(--dy)) rotate(var(--spin)) scale(1);opacity:1;animation-timing-function:ease-in}to{transform:translate(calc(var(--dx) + var(--bounce)),calc(var(--dy) + 26px)) rotate(calc(var(--spin) * 1.3)) scale(.9);opacity:0}}.speech-bubble{position:absolute;z-index:20;transform:translate(-50%,calc(-100% - 6px));transform-origin:50% 100%;padding:.45rem .8rem;background:#fff;border:2px solid #1a1a1a;border-radius:16px;box-shadow:3px 3px #00000040;font-family:Comic Sans MS,Chalkboard SE,Comic Neue,cursive;font-size:.95rem;font-weight:700;color:#1a1a1a;white-space:nowrap;pointer-events:none;animation:speech-bubble-pop .25s ease-out}.speech-bubble-line{display:block}.speech-bubble--song{font-style:italic;text-align:center;white-space:normal;width:max-content;max-width:min(280px,70vw)}.speech-bubble--song .speech-bubble-line{animation:lyric-in .6s ease-out both}@keyframes lyric-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.guitar-scene{animation:guitar-scene-fade 7.4s linear forwards}@keyframes guitar-scene-fade{0%{opacity:0}4%,93%{opacity:1}to{opacity:0}}.guitar-rock{animation:guitar-rock .9s ease-in-out infinite alternate}@keyframes guitar-rock{0%{transform:rotate(-4deg)}to{transform:rotate(4deg)}}.guitar-strum{animation:guitar-strum .3s ease-in-out infinite alternate}@keyframes guitar-strum{0%{transform:translateY(-5px)}to{transform:translateY(5px)}}.guitar-strings{animation:guitar-strings .08s linear infinite alternate}@keyframes guitar-strings{0%{transform:translateY(-.25px)}to{transform:translateY(.25px)}}.guitar-note{opacity:0;animation:guitar-note-float 2.1s ease-out infinite}@keyframes guitar-note-float{0%{transform:translateY(8px) rotate(-10deg) scale(.6);opacity:0}25%{opacity:1}to{transform:translate(10px,-34px) rotate(14deg) scale(1.15);opacity:0}}.speech-bubble:before,.speech-bubble:after{content:"";position:absolute;left:50%;border-style:solid;border-color:transparent}.speech-bubble:before{bottom:-12px;margin-left:-9px;border-width:12px 9px 0;border-top-color:#1a1a1a}.speech-bubble:after{bottom:-8px;margin-left:-7px;border-width:9px 7px 0;border-top-color:#fff}@keyframes speech-bubble-pop{0%{transform:translate(-50%,calc(-100% - 6px)) scale(.3);opacity:0}70%{transform:translate(-50%,calc(-100% - 6px)) scale(1.08);opacity:1}to{transform:translate(-50%,calc(-100% - 6px)) scale(1)}}.punk-mohawk{animation:punk-mohawk-sprout .45s ease-out both,punk-mohawk-sway .5s ease-in-out .45s infinite alternate}@keyframes punk-mohawk-sprout{0%{transform:scale(.6,0)}70%{transform:scaleY(1.25)}to{transform:scale(1)}}@keyframes punk-mohawk-sway{0%{transform:skew(-7deg)}to{transform:skew(7deg)}}.punk-horn{animation:punk-horn-pop .35s ease-out .3s both}@keyframes punk-horn-pop{0%{transform:scale(0)}70%{transform:scale(1.3)}to{transform:scale(1)}}.punk-pentagram circle,.punk-pentagram path{stroke-dasharray:1;stroke-dashoffset:1;animation:punk-pentagram-draw 1.1s ease-in-out .2s forwards}.punk-pentagram path{animation-delay:.9s}.punk-pentagram{animation:punk-pentagram-glow 1.2s ease-in-out 2s infinite alternate}@keyframes punk-pentagram-draw{to{stroke-dashoffset:0}}@keyframes punk-pentagram-glow{0%{filter:drop-shadow(0 0 0 #ff2a2a)}to{filter:drop-shadow(0 0 3px #ff2a2a) drop-shadow(0 0 6px #ff7a00)}}.punk-hand{animation:punk-hand-pop .4s ease-out both,punk-hand-bang .32s ease-in-out infinite alternate}@keyframes punk-hand-pop{0%{opacity:0;scale:0}to{opacity:1;scale:1}}@keyframes punk-hand-bang{0%{transform:translateY(0) rotate(-10deg)}to{transform:translateY(-7px) rotate(10deg)}}.punk-bat{animation:punk-bat-fly 3.2s ease-in-out .8s infinite alternate both}@keyframes punk-bat-fly{0%{transform:translate(112px,-30px);opacity:0}10%{opacity:1}25%{transform:translate(135px,-6px)}50%{transform:translate(160px,-20px)}75%{transform:translate(188px,-4px)}to{transform:translate(212px,-18px);opacity:1}}.punk-bat-wings{animation:punk-bat-flap .16s ease-in-out infinite alternate}@keyframes punk-bat-flap{0%{transform:scale(1)}to{transform:scale(.8,-.7)}}.crucifix{animation:crucifix-draw .35s ease-out both,crucifix-thrust .28s ease-in-out .35s infinite alternate}@keyframes crucifix-draw{0%{opacity:0;translate:-22px 22px;scale:.4}to{opacity:1;translate:0 0;scale:1}}@keyframes crucifix-thrust{0%{transform:translate(-2px,1px) rotate(-3deg)}to{transform:translate(6px,-2px) rotate(4deg)}}.crucifix-glow{filter:blur(3px);animation:crucifix-glow .9s ease-in-out infinite alternate}@keyframes crucifix-glow{0%{opacity:.35;transform:scale(.8)}to{opacity:.85;transform:scale(1.2)}}.crucifix-rays{animation:crucifix-rays 6s linear infinite}@keyframes crucifix-rays{to{transform:rotate(360deg)}}.football-scene{animation:football-scene-fade 4.2s linear forwards}@keyframes football-scene-fade{0%,92%{opacity:1}to{opacity:0}}.football-ball-x{animation:football-ball-x 4s linear both}@keyframes football-ball-x{0%{transform:translate(14px)}31%,58%{transform:translate(65px)}70%{transform:translate(var(--shot-x-hit, 20px))}76%,to{transform:translate(var(--shot-x-rest, 16px))}}.football-ball-y{animation:football-ball-y 4s both}@keyframes football-ball-y{0%{transform:translateY(60px);opacity:0;animation-timing-function:ease-in}4%{opacity:1}9%{transform:translateY(115px);animation-timing-function:ease-out}15%{transform:translateY(99px);animation-timing-function:ease-in}21%{transform:translateY(115px);animation-timing-function:ease-out}26%{transform:translateY(105px);animation-timing-function:ease-in}31%{transform:translateY(110px);animation-timing-function:ease-out}38%{transform:translateY(98px);animation-timing-function:ease-in}45%{transform:translateY(110px);animation-timing-function:ease-out}51%{transform:translateY(98px);animation-timing-function:ease-in}58%{transform:translateY(110px);animation-timing-function:linear}70%{transform:translateY(calc(var(--goal-dy, 0px) + 107px));animation-timing-function:ease-in}78%,to{transform:translateY(calc(var(--goal-dy, 0px) + 115px));opacity:1}}.football-ball-spin{animation:football-ball-spin 4s linear both}@keyframes football-ball-spin{0%{transform:rotate(0)}58%{transform:rotate(540deg)}70%{transform:rotate(1980deg)}78%,to{transform:rotate(2010deg)}}.football-goal{animation:football-goal-pop .35s ease-out both}@keyframes football-goal-pop{0%{transform:scale(0)}75%{transform:scale(1.12)}to{transform:scale(1)}}.football-net{animation:football-net-bulge 4s ease-out both}@keyframes football-net-bulge{0%,69%,86%,to{transform:scale(1)}73%{transform:scaleX(1.35)}79%{transform:scaleX(.92)}}.football-gol{opacity:0;animation:football-gol 4s linear both}@keyframes football-gol{0%,70%{opacity:0;transform:scale(.2)}75%{opacity:1;transform:scale(1.25) rotate(-4deg)}80%{transform:scale(1) rotate(4deg)}85%{transform:scale(1.1) rotate(-4deg)}90%,to{opacity:1;transform:scale(1) rotate(0)}}.book-fall{animation:book-fall .5s ease-in both}@keyframes book-fall{0%{transform:translateY(-150px) rotate(-14deg);opacity:0}12%{opacity:1}68%{transform:translateY(0) rotate(0);animation-timing-function:ease-out}82%{transform:translateY(-3px) rotate(1.5deg);animation-timing-function:ease-in}to{transform:translateY(0) rotate(0);opacity:1}}.genius-halo{animation:prize-pop .4s ease-out .2s both,genius-halo-hover 1.4s ease-in-out .6s infinite alternate}@keyframes genius-halo-hover{0%{transform:translateY(1.5px);filter:drop-shadow(0 0 1px #ffd54f)}to{transform:translateY(-1.5px);filter:drop-shadow(0 0 4px #ffc107)}}.homework{animation:prize-pop .35s ease-out .5s both}.homework-line{fill:none;stroke-dasharray:1;stroke-dashoffset:1;animation:homework-line 4s linear infinite}@keyframes homework-line{0%{stroke-dashoffset:1;opacity:1}11%{stroke-dashoffset:0}90%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}.homework-pencil-y{animation:homework-pencil-y 4s linear .9s infinite both}@keyframes homework-pencil-y{0%{transform:translateY(-18px)}56%{transform:translateY(-4px)}64%,92%{transform:translate(13px,-24px)}to{transform:translateY(-18px)}}.homework-pencil-x{animation:homework-pencil-x .45s linear .9s infinite both}@keyframes homework-pencil-x{0%{transform:translate(-6.5px)}to{transform:translate(6.5px)}}.homework-grade{opacity:0;animation:homework-grade 4s ease-out .9s infinite}@keyframes homework-grade{0%,62%{opacity:0;scale:2.4}69%,94%{opacity:1;scale:1}to{opacity:0;scale:1}}.caricature-pad{animation:prize-pop .35s ease-out .5s both}.caricature-drawing{animation:caricature-wipe 5s linear infinite}@keyframes caricature-wipe{0%,92%{opacity:1}98%,to{opacity:0}}.caricature-pencil{animation:caricature-pencil 5s linear infinite}@keyframes caricature-pencil{0%,6%{transform:translate(15px,-34px)}10%{transform:translate(-7px,-14px)}14%{transform:translate(8px,-17px)}18%{transform:translate(-7px,-14px)}20%{transform:translate(-11px,-16px)}28%{transform:translate(11px,-16px)}30%{transform:translateY(-17px)}38%{transform:translateY(-11px)}40%{transform:translate(-6px,-18px)}48%{transform:translate(5.5px,-18.5px)}50%{transform:translate(-4px,-8px)}58%{transform:translate(5px,-9px)}60%{transform:translate(-2px,-25px)}68%{transform:translate(3.5px,-28.5px)}74%,to{transform:translate(15px,-34px)}}.caricature-laugh{opacity:0;animation:caricature-laugh 5s linear infinite}@keyframes caricature-laugh{0%,70%{opacity:0;transform:scale(.3)}74%{opacity:1;transform:scale(1.25) rotate(-6deg)}79%{transform:scale(1) rotate(6deg)}84%{transform:scale(1.1) rotate(-6deg)}90%{opacity:1;transform:scale(1) rotate(0)}96%,to{opacity:0;transform:scale(1)}}.dj-decks{animation:prize-pop .35s ease-out .5s both}.dj-record{animation:dj-record-spin 1.1s linear infinite}@keyframes dj-record-spin{to{transform:rotate(360deg)}}.dj-record--scratch,.dj-hand{animation:dj-scratch .26s ease-in-out infinite alternate}@keyframes dj-scratch{0%{transform:rotate(-38deg)}to{transform:rotate(34deg)}}.dj-fader{animation:dj-fader .5s ease-in-out infinite alternate}@keyframes dj-fader{0%{transform:translateY(-2px)}to{transform:translateY(3px)}}.dj-crossfader{animation:dj-crossfader .52s ease-in-out infinite alternate}@keyframes dj-crossfader{0%{transform:translate(-5px)}to{transform:translate(5px)}}.dj-eq-bar{animation:dj-eq-bar .4s ease-in-out infinite alternate}@keyframes dj-eq-bar{0%{transform:scaleY(.15)}to{transform:scaleY(1)}}.snow-apple{animation:prize-pop .35s ease-out .5s both}.snow-flake{animation:snow-fall 3s linear infinite}@keyframes snow-fall{0%{transform:translateY(-14px) rotate(0);opacity:0}12%,80%{opacity:1}to{transform:translate(7px,54px) rotate(200deg);opacity:0}}.snow-bird{animation:prize-pop .35s ease-out .9s both,snow-bird-flutter .9s ease-in-out 1.25s infinite alternate}@keyframes snow-bird-flutter{0%{transform:translateY(2px) rotate(-8deg)}to{transform:translate(2px,-4px) rotate(8deg)}}.snow-dwarf{animation:prize-pop .3s ease-out both,snow-dwarf-march .36s ease-in-out infinite alternate}@keyframes snow-dwarf-march{0%{transform:translateY(0) rotate(-7deg)}to{transform:translateY(-3px) rotate(7deg)}}.snow-heigh-ho{opacity:0;animation:snow-heigh-ho 3s ease-in-out 1.6s infinite}@keyframes snow-heigh-ho{0%,to{opacity:0;transform:translateY(4px) scale(.7)}20%,70%{opacity:1;transform:translateY(0) scale(1)}}.surgeon-pop{animation:prize-pop .35s ease-out .4s both}.surgeon-mask{animation:surgeon-mask-on .4s ease-out .6s both}@keyframes surgeon-mask-on{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.surgeon-scalpel{animation:surgeon-scalpel 5s linear infinite}@keyframes surgeon-scalpel{0%,20%{transform:translateY(-34px) rotate(8deg);opacity:0}26%{transform:translateY(-19px) rotate(8deg);opacity:1}32%{transform:translate(1px,-14px) rotate(8deg)}38%{transform:translate(-1px,-9px) rotate(8deg)}45%,54%{transform:translateY(-4px) rotate(8deg);opacity:1}66%{transform:translate(9px,-30px) rotate(25deg);opacity:1}74%,to{transform:translate(9px,-30px) rotate(25deg);opacity:0}}.surgeon-ha{--fall: -1;animation:surgeon-ha 5s ease-in infinite}.surgeon-ha--right{--fall: 1}@keyframes surgeon-ha{0%,45%{transform:translate(0) rotate(0);opacity:1}62%{transform:translate(calc(var(--fall) * 6px),1px) rotate(calc(var(--fall) * 22deg));opacity:1}76%{transform:translate(calc(var(--fall) * 9px),4px) rotate(calc(var(--fall) * 38deg));opacity:0}90%{transform:translateY(-8px) rotate(0);opacity:0}96%,to{transform:translate(0) rotate(0);opacity:1}}.surgeon-beat{stroke-dasharray:.3 .7;animation:surgeon-beat 1.1s linear infinite}@keyframes surgeon-beat{0%{stroke-dashoffset:1.3}to{stroke-dashoffset:.3}}.surgeon-alive{animation:surgeon-alive 5s step-end infinite}@keyframes surgeon-alive{0%,90%{opacity:1}47%{opacity:0}}.surgeon-flatline{animation:surgeon-flatline 5s step-end infinite}@keyframes surgeon-flatline{0%,90%{opacity:0}47%{opacity:1}}.surgeon-verdict{opacity:0;animation:surgeon-verdict 5s ease-out infinite}@keyframes surgeon-verdict{0%,58%,90%,to{opacity:0}64%,85%{opacity:1}}.sporty-pop{animation:prize-pop .35s ease-out .2s both}.sporty-pump{animation:prize-pop .35s ease-out both,sporty-pump .6s ease-in-out infinite alternate}@keyframes sporty-pump{0%{transform:translateY(12px)}to{transform:translateY(-12px)}}.sporty-sweat{opacity:0;animation:sporty-sweat 1.1s ease-out infinite}@keyframes sporty-sweat{0%{transform:translate(0) scale(.5);opacity:0}20%{opacity:1}to{transform:translate(calc(var(--sweat-dir, 1) * 10px),9px) scale(1.1);opacity:0}}.sporty-wave{animation:prize-pop .35s ease-out .9s both,sporty-wave .35s ease-in-out 1.25s infinite alternate}@keyframes sporty-wave{0%{transform:rotate(-22deg)}to{transform:rotate(22deg)}}.sporty-dust{opacity:0;animation:sporty-dust .6s ease-out infinite}@keyframes sporty-dust{0%{transform:translate(8px) scale(.3);opacity:.7}to{transform:translate(-14px,-5px) scale(1.5);opacity:0}}.sporty-speed{animation:sporty-speed .25s linear infinite alternate}@keyframes sporty-speed{0%{opacity:.15;transform:translate(4px)}to{opacity:.9;transform:translate(-3px)}}.cloud-drift{animation:cloud-drift-in 1.2s ease-out both,cloud-bob 2.4s ease-in-out infinite alternate}@keyframes cloud-drift-in{0%{translate:var(--cloud-from, -130px) 0;opacity:0}25%{opacity:1}to{translate:0 0;opacity:1}}@keyframes cloud-bob{0%{transform:translate(-3px,1px)}to{transform:translate(3px,-1.5px)}}.head-bonk{animation:head-bonk 1.3s linear both}@keyframes head-bonk{0%{transform:translateY(-90px) rotate(0);opacity:1;animation-timing-function:ease-in}40%{transform:translate(0) rotate(40deg);animation-timing-function:ease-out}58%{transform:translate(calc(var(--bonk-dir, 1) * 9px),-13px) rotate(140deg);opacity:1;animation-timing-function:ease-in}to{transform:translate(calc(var(--bonk-dir, 1) * 26px),46px) rotate(380deg);opacity:0}}.orbit-on{animation:orbit-on .5s ease-out .55s both}@keyframes orbit-on{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}.formula-float{opacity:0;animation:formula-float 3s ease-out infinite}@keyframes formula-float{0%{transform:translateY(8px) scale(.6);opacity:0}20%,65%{opacity:1}to{transform:translateY(-24px) scale(1.1);opacity:0}}.prize-medal{animation:prize-pop .35s ease-out both,prize-medal-swing .8s ease-in-out infinite alternate}@keyframes prize-pop{0%{opacity:0;scale:0}70%{opacity:1;scale:1.25}to{opacity:1;scale:1}}@keyframes prize-medal-swing{0%{transform:rotate(-14deg)}to{transform:rotate(14deg)}}.prize-trophy{animation:prize-pop .4s ease-out 2s both}.prize-sparkle{animation:prize-sparkle .9s ease-in-out 2.1s infinite alternate both}@keyframes prize-sparkle{0%{opacity:0}to{opacity:1}}.hoops-scene{animation:hoops-scene-fade 4.2s linear forwards}@keyframes hoops-scene-fade{0%,92%{opacity:1}to{opacity:0}}.hoops-ball-x{animation:hoops-ball-x 4s linear both}@keyframes hoops-ball-x{0%,48%{transform:translate(57px)}72%,to{transform:translate(204px)}}.hoops-ball-y{animation:hoops-ball-y 4s both}@keyframes hoops-ball-y{0%{transform:translateY(-60px);opacity:0;animation-timing-function:ease-in}5%{opacity:1}12%{transform:translateY(-1px);animation-timing-function:ease-out}22%{transform:translateY(-28px);animation-timing-function:ease-in}32%{transform:translateY(-1px);animation-timing-function:ease-out}40%{transform:translateY(-21px);animation-timing-function:ease-in}48%{transform:translateY(-1px);animation-timing-function:ease-out}61%{transform:translateY(-44px);animation-timing-function:ease-in}72%{transform:translateY(6px);animation-timing-function:linear}80%{transform:translateY(22px);opacity:1;animation-timing-function:ease-in}to{transform:translateY(80px);opacity:0}}.hoops-ball-squash{animation:hoops-ball-squash 4s linear both}@keyframes hoops-ball-squash{0%,9%,15%,29%,35%,45%,51%,to{transform:scale(1)}12%,32%,48%{transform:scale(1.3,.68)}}.hoops-ball-spin{animation:hoops-ball-spin .9s linear infinite}@keyframes hoops-ball-spin{to{transform:rotate(360deg)}}.hoops-hoop{animation:hoops-hoop-pop .35s ease-out both}@keyframes hoops-hoop-pop{0%{transform:scale(0)}75%{transform:scale(1.15)}to{transform:scale(1)}}.hoops-net{animation:hoops-net-swish 4s ease-in-out both}@keyframes hoops-net-swish{0%,72%,90%,to{transform:scale(1)}78%{transform:scale(.85,1.45)}84%{transform:scale(1.08,.9)}}.hoops-boing{opacity:0;animation:hoops-boing 4s linear both}@keyframes hoops-boing{0%,11%,20%,31%,40%,47%,57%,to{opacity:0;transform:scale(.4)}13%,18%,33%,38%,49%,55%{opacity:1;transform:scale(1)}}.hoops-swish{opacity:0;animation:hoops-swish 4s linear both}@keyframes hoops-swish{0%,72%,to{opacity:0;transform:scale(.4)}76%,92%{opacity:1;transform:scale(1)}}.fire-paper{fill:#fbfaf3;stroke:#8f8f86;stroke-width:.5;animation:fire-char 3.6s ease-in 1.1s forwards}@keyframes fire-char{30%{fill:#c98f4a;stroke:#7a4a1c}to{fill:#1c1612;stroke:#0d0a08}}.fire-match{opacity:0;animation:fire-match-strike 1.7s ease-in-out forwards}@keyframes fire-match-strike{0%{transform:translate(-26px,-14px);opacity:0}12%{opacity:1}45%,60%{transform:translate(0);opacity:1}to{transform:translate(-26px,-14px);opacity:0}}.fire-flames{transform:scale(0);animation:fire-burn 6s ease-in-out forwards}@keyframes fire-burn{0%,15%{transform:scale(0)}35%,82%{transform:scale(1)}to{transform:scale(0)}}.fire-flame{animation:fire-flicker .34s ease-in-out infinite alternate}.fire-flame--mid{animation-duration:.27s;animation-delay:-.1s}.fire-flame--core{animation-duration:.21s;animation-delay:-.05s}@keyframes fire-flicker{0%{transform:scale(1) skew(0)}50%{transform:scale(.93,1.12) skew(-5deg)}to{transform:scale(1.06,.92) skew(5deg)}}.fire-smoke{opacity:0;animation:fire-smoke-rise 1.7s ease-out 3}@keyframes fire-smoke-rise{0%{transform:translateY(6px) scale(.5);opacity:0}30%{opacity:.45}to{transform:translate(4px,-22px) scale(1.9);opacity:0}}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.avatar-popup{position:fixed;z-index:50;transform:translate(-50%,calc(-100% - 14px));pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.75rem;background:#fff;border:1px solid #d0d0d0;border-radius:8px;box-shadow:0 6px 20px #00000038}.avatar-popup--below{transform:translate(-50%,14px)}.avatar-popup-figure{width:140px;height:auto;max-height:180px;object-fit:contain;display:block}.avatar-popup-name{font-family:Georgia,serif;font-size:.95rem;color:#222}.alti-ani{margin-top:2.5rem}.alti-ani-banner{background-color:#5dbb6a;border:2px solid #ffd54f;color:#fff;padding:.75rem 1.5rem;text-align:center;font-family:Georgia,serif;font-size:1.6rem;letter-spacing:.03em}.alti-ani-row{display:flex;gap:1.5rem;align-items:center;padding:1.25rem .5rem 0}.alti-student{width:80px;height:auto}.alti-pair{width:160px;height:auto}@media (max-width: 700px){.bench-row{grid-template-columns:1fr}.bench-row-solo>.bench-svg{grid-column:1}}:root{font-family:Georgia,Times New Roman,serif;line-height:1.4;color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-height:100vh;background-color:#000;color:#111}
