:root{--ink:#1b1035;--paper:#fff8e7;--pop:#ff4f8b;--pop2:#ffd23f;--pop3:#3ddc97;--pop4:#4cc9f0;--shadow:6px 6px 0 var(--ink)}*{box-sizing:border-box}body{color:var(--ink);background:linear-gradient(120deg,#ffd7ef,#d8f3ff,#fff3c4,#d9ffe4) 0 0/400% 400%;margin:0;padding:0;font-family:Comic Sans MS,Chalkboard SE,Segoe Print,cursive,sans-serif;animation:22s infinite sky;overflow-x:hidden}@keyframes sky{0%,to{background-position:0%}50%{background-position:100%}}body:before,body:after{content:"🪶";opacity:.35;pointer-events:none;font-size:46px;animation:26s linear infinite fly;position:fixed;top:15%;left:-10%}body:after{content:"🪶";font-size:62px;animation-duration:38s;animation-delay:-12s;top:62%}@keyframes fly{0%{transform:translate(0)translateY(0)rotate(-4deg)}50%{transform:translate(60vw)translateY(-40px)rotate(4deg)}to{transform:translate(125vw)translateY(20px)rotate(-4deg)}}.app{grid-template-columns:1.6fr 1fr;gap:24px;max-width:1200px;margin:0 auto;padding:28px 20px 60px;display:grid;position:relative}@media (width<=860px){.app{grid-template-columns:1fr}}.title{text-align:center;letter-spacing:1px;color:var(--ink);text-shadow:3px 3px 0 var(--pop);margin:0;font-size:clamp(28px,5vw,52px);animation:4s ease-in-out infinite wobble}@keyframes wobble{0%,to{transform:rotate(-1.5deg)scale(1)}50%{transform:rotate(1.5deg)scale(1.02)}}.subtitle{text-align:center;opacity:.75;margin:6px 0 22px;font-size:17px}.card{background:var(--paper);border:4px solid var(--ink);box-shadow:var(--shadow);border-radius:18px;margin-bottom:22px;padding:18px}.card:hover{transform:rotate(-.3deg)}.card{transition:transform .2s}.card h3{text-transform:uppercase;letter-spacing:1px;margin:0 0 12px;font-size:20px}.counter{text-align:center}.counter-label{text-transform:uppercase;letter-spacing:3px;opacity:.7;margin:0;font-size:16px}.counter-number{color:var(--ink);text-shadow:5px 5px 0 var(--pop3);margin:6px 0 14px;font-size:clamp(70px,16vw,140px);line-height:1;animation:.45s cubic-bezier(.3,1.6,.5,1) pop;display:inline-block}@keyframes pop{0%{transform:scale(.4)rotate(-12deg)}60%{transform:scale(1.25)rotate(6deg)}to{transform:scale(1)rotate(0)}}.big-button{color:#fff;background:var(--pop);border:5px solid var(--ink);box-shadow:0 10px 0 var(--ink);cursor:pointer;border-radius:22px;padding:22px 34px;font-family:inherit;font-size:clamp(20px,3.4vw,34px);font-weight:700;animation:1.8s ease-in-out infinite breathe}.big-button:hover{background:var(--pop2);color:var(--ink);animation:.35s linear infinite shake}.big-button:active{box-shadow:0 0 0 var(--ink);transform:translateY(10px)}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes shake{0%,to{transform:rotate(-2deg)scale(1.05)}50%{transform:rotate(2deg)scale(1.05)}}button{background:var(--pop4);color:var(--ink);border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);cursor:pointer;border-radius:12px;padding:8px 14px;font-family:inherit;font-size:16px;font-weight:700;transition:transform .12s,background .2s}button:hover{background:var(--pop2);transform:translate(-1px,-2px)rotate(-2deg)}button:active{box-shadow:0 0 0 var(--ink);transform:translate(3px,3px)}button:disabled{color:#999;cursor:not-allowed;background:#ddd;border-color:#aaa;transform:none;box-shadow:3px 3px #aaa}.end-button{background:var(--pop3);margin-top:16px;padding:12px 20px;font-size:16px}.undo-button{background:#ffb3c6;padding:4px 9px;font-size:14px}table{border-collapse:collapse;width:100%;font-size:16px}th{background:var(--ink);color:var(--paper);text-align:left;text-transform:uppercase;letter-spacing:1px;padding:8px;font-size:14px}td{border-bottom:2px dashed #1b103540;padding:7px 8px}tbody tr{animation:.35s both slide-in}tbody tr:hover{background:#ffd23f59}@keyframes slide-in{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}.num{text-align:center;font-weight:700}input[type=number]{border:3px solid var(--ink);background:#fff;border-radius:10px;width:90px;margin-right:6px;padding:6px 8px;font-family:inherit;font-size:17px}input[type=number]:focus{background:var(--pop2);outline:none;animation:.4s jiggle}@keyframes jiggle{0%,to{transform:rotate(0)}30%{transform:rotate(-3deg)}70%{transform:rotate(3deg)}}.locked{color:var(--pop);font-size:17px;font-weight:700;animation:.5s cubic-bezier(.2,1.7,.4,1) stamp;display:inline-block}@keyframes stamp{0%{opacity:0;transform:scale(2.4)rotate(-18deg)}to{opacity:1;transform:scale(1)rotate(-4deg)}}.champion{text-align:center;border:5px dashed var(--ink);background:linear-gradient(90deg, var(--pop2), var(--pop3), var(--pop4), var(--pop2));background-size:300% 100%;border-radius:20px;margin:20px 0;padding:18px;animation:3s linear infinite rainbow,.6s cubic-bezier(.2,1.6,.4,1) drop;position:relative;overflow:hidden}@keyframes rainbow{to{background-position:300% 0}}@keyframes drop{0%{opacity:0;transform:translateY(-40px)scale(.8)}to{opacity:1;transform:translateY(0)scale(1)}}.champion h2{margin:0 0 8px;font-size:22px}.champion-name{color:#fff;text-shadow:3px 3px 0 var(--ink);margin:4px 0 12px;font-size:clamp(24px,4vw,40px);animation:.9s ease-in-out infinite bounce}@keyframes bounce{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-9px)rotate(1deg)}}.confetti{opacity:.9;width:10px;height:16px;animation:2.4s linear infinite fall;position:absolute;top:-20px}@keyframes fall{0%{transform:translateY(-20px)rotate(0)}to{transform:translateY(240px)rotate(540deg)}}.empty{opacity:.8;font-size:15px;font-style:italic}.loading{text-align:center;margin-top:20vh;font-size:26px;animation:1.2s ease-in-out infinite breathe}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1b10358c;justify-content:center;align-items:center;padding:20px;animation:.2s both fade-in;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{text-align:center;background:var(--paper);border:5px solid var(--ink);width:min(420px,100%);box-shadow:10px 10px 0 var(--ink);border-radius:24px;padding:26px 24px 20px;animation:.4s cubic-bezier(.2,1.6,.4,1) both modal-in}@keyframes modal-in{0%{opacity:0;transform:translateY(-60px)scale(.7)rotate(-6deg)}to{opacity:1;transform:translateY(0)scale(1)rotate(-1deg)}}.modal-emoji{font-size:54px;line-height:1;animation:1s ease-in-out infinite bounce}.modal h2{color:var(--pop);text-shadow:2px 2px 0 var(--pop2);margin:10px 0 6px;font-size:24px}.modal p{opacity:.8;margin:0 0 18px;font-size:16px}.modal-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.modal-confirm{background:var(--pop3);padding:11px 18px;font-size:16px}.modal-cancel{background:#ffb3c6;padding:11px 18px;font-size:16px}.modal-field{flex-direction:column;align-items:center;gap:7px;margin:0 0 18px;display:flex}.modal-input{text-align:center;width:100%;color:var(--ink);border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);background:#fff;border-radius:12px;padding:10px 12px;font-family:inherit;font-size:16px;font-weight:700}.modal-input::placeholder{color:#9a92ad;font-weight:400}.modal-input:focus{background:var(--pop2);outline:none;animation:.4s jiggle}.modal-error{color:#8c1c3a;font-size:15px;font-weight:700;animation:.4s jiggle}.cutscene{z-index:100;cursor:pointer;background:radial-gradient(circle at 60% 40%,#1a1140 0%,#0b0718 70%);animation:.25s both fade-in;position:fixed;inset:0;overflow:hidden}.scene{perspective:900px;position:absolute;inset:0}.scene:after{content:"";background:repeating-linear-gradient(90deg,#2f2560 0 40px,#1b1140 40px 80px);height:5px;position:absolute;bottom:22vh;left:0;right:0}.wall{z-index:6;background:linear-gradient(#241a52,#150e33);border-right:6px solid #0b0718;width:14vw;height:500px;position:absolute;bottom:22vh;left:0}.doorframe{z-index:3;background:#070512;border:10px solid #3a2c78;border-bottom:none;border-radius:6px 6px 0 0;width:190px;height:420px;position:absolute;bottom:22vh;left:14vw;box-shadow:inset 0 0 40px #000000e6}.door-panel{z-index:7;transform-origin:0;background:linear-gradient(90deg,#6b4d2a,#8d6636 60%,#5c421f);border:6px solid #3d2b14;border-radius:4px;width:190px;height:420px;animation:6.4s ease-in-out forwards door-open;position:absolute;bottom:0;left:-10px}.knob{background:#ffd23f;border-radius:50%;width:14px;height:14px;position:absolute;top:50%;right:12px;box-shadow:0 0 8px #ffd23f}@keyframes door-open{0%{transform:rotateY(0)}10%{transform:rotateY(-76deg)}60%{transform:rotateY(-82deg)}to{transform:rotateY(-88deg)}}.person{z-index:5;transform-origin:50% 100%;width:120px;height:320px;animation:6.4s ease-in-out forwards enter-room;position:absolute;bottom:22vh;left:2vw;transform:scale(1.25)}@keyframes enter-room{0%{left:0}10%{left:0}26%{left:6vw}50%{left:6vw}64%{left:13vw}to{left:44vw}}.person-lean{transform-origin:50% 100%;width:120px;animation:6.4s ease-in-out forwards lean-in;position:absolute;bottom:118px;left:0}@keyframes lean-in{0%,10%{transform:rotate(0)}26%{transform:rotate(24deg)}50%{transform:rotate(22deg)}64%{transform:rotate(10deg)}to{transform:rotate(0)}}.person-head{transform-origin:50% 100%;background:#f3c9a0;border:3px solid #1b1035;border-radius:26px 26px 22px 22px;width:54px;height:62px;animation:6.4s ease-in-out forwards look-around;position:absolute;bottom:108px;left:34px}@keyframes look-around{0%,26%{transform:translate(0)rotate(0)}33%,40%{transform:translate(-10px)rotate(-16deg)}46%,50%{transform:translate(10px)rotate(14deg)}54%{transform:translate(-7px)rotate(-11deg)}60%,to{transform:translate(0)rotate(0)}}.hair{background:#2a2020;border:3px solid #1b1035;border-radius:24px 24px 8px 8px;width:56px;height:22px;position:absolute;top:-8px;left:-4px}.ear{background:#f3c9a0;border:3px solid #1b1035;border-radius:50%;width:12px;height:16px;position:absolute;top:26px}.ear-left{left:-10px}.ear-right{right:-10px}.face{position:absolute;inset:0}.brow{background:#2a2020;border-radius:2px;width:15px;height:4px;position:absolute;top:18px}.brow-left{left:8px;transform:rotate(-14deg)}.brow-right{right:8px;transform:rotate(14deg)}.eye{background:#fff;border:2px solid #1b1035;border-radius:50%;width:15px;height:12px;position:absolute;top:26px}.eye-left{left:7px}.eye-right{right:7px}.pupil{background:#1b1035;border-radius:50%;width:6px;height:6px;animation:6.4s ease-in-out infinite dart-eyes;position:absolute;top:2px;left:4px}@keyframes dart-eyes{0%,24%{transform:translate(0)}30%,40%{transform:translate(-4px)}44%,52%{transform:translate(5px)}58%,to{transform:translate(0)}}.mustache{background:#2a2020;border-radius:4px;width:24px;height:7px;position:absolute;top:42px;left:15px}.mouth{background:#8a3b3b;border-radius:0 0 6px 6px;width:14px;height:4px;position:absolute;top:52px;left:20px}.neck{background:#e0b48c;border:3px solid #1b1035;width:20px;height:14px;position:absolute;bottom:96px;left:50px}.torso{background:linear-gradient(#2f3a63,#1f2747);border:3px solid #1b1035;border-radius:10px 10px 6px 6px;width:70px;height:100px;position:absolute;bottom:4px;left:26px}.shirt{background:#fdfdfd;border-left:2px solid #1b1035;border-right:2px solid #1b1035;width:24px;height:34px;position:absolute;top:-2px;left:22px}.tie{background:#ff4f8b;border:2px solid #1b1035;border-radius:2px 2px 6px 6px;width:9px;height:40px;position:absolute;top:4px;left:30px}.lapel{border-style:solid;width:0;height:0;position:absolute;top:-2px}.lapel-left{border-width:34px 12px 0 0;border-color:#3a4675 #0000 #0000;left:12px}.lapel-right{border-width:34px 0 0 12px;border-color:#3a4675 #0000 #0000;right:12px}.pocket{background:#ffd23f;border-radius:2px;width:16px;height:6px;position:absolute;top:52px;right:8px}.arm{transform-origin:50% 8px;background:#2a3358;border:3px solid #1b1035;border-radius:9px;width:17px;height:78px;position:absolute;top:4px}.arm-back{animation:6.4s ease-in-out forwards arm-swing-back;left:-18px}.arm-front{animation:6.4s ease-in-out forwards arm-swing-front;right:-18px}@keyframes arm-swing-back{0%,50%{transform:rotate(6deg)}64%{transform:rotate(-18deg)}78%{transform:rotate(16deg)}92%{transform:rotate(-14deg)}to{transform:rotate(0)}}@keyframes arm-swing-front{0%,26%{transform:rotate(-4deg)}50%{transform:rotate(-30deg)}64%{transform:rotate(18deg)}78%{transform:rotate(-16deg)}92%{transform:rotate(14deg)}to{transform:rotate(0)}}.legs{width:62px;height:122px;position:absolute;bottom:0;left:30px}.leg{transform-origin:50% 6px;background:#232b4d;border:3px solid #1b1035;border-radius:8px;width:24px;height:108px;position:absolute;top:0}.leg-back{animation:6.4s ease-in-out forwards step-back;left:0}.leg-front{animation:6.4s ease-in-out forwards step-front;right:0}.shoe{background:#12101f;border:3px solid #1b1035;border-radius:8px 12px 4px 4px;width:38px;height:14px;position:absolute;bottom:-8px;left:-8px}@keyframes step-back{0%,50%{transform:rotate(0)}64%{transform:rotate(12deg)}78%{transform:rotate(-16deg)}86%{transform:rotate(14deg)}94%{transform:rotate(-10deg)}to{transform:rotate(0)}}@keyframes step-front{0%,50%{transform:rotate(0)}60%{transform:rotate(-38deg)}70%{transform:rotate(-30deg)}78%{transform:rotate(16deg)}86%{transform:rotate(-14deg)}94%{transform:rotate(10deg)}to{transform:rotate(0)}}.cutscene-caption{text-align:center;color:#ffd23f;letter-spacing:2px;width:100%;margin:0;font-family:inherit;font-size:clamp(18px,3vw,30px);animation:1.6s ease-in-out infinite caption-pulse;position:absolute;bottom:10vh}@keyframes caption-pulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}.cutscene-skip{text-align:center;color:#6b5f9e;width:100%;margin:0;font-size:15px;position:absolute;bottom:5vh}.api-error{color:#8c1c3a;background:#ffe0e6;border-radius:12px;margin:0 0 16px;padding:10px 14px;font-weight:700}.api-error button{margin-left:8px}.app.doom{animation:.7s ease-in-out infinite doom-tilt}.app.doom .card{background:#fff0f3;border-color:#8c1c3a;box-shadow:6px 6px #8c1c3a}.app.doom .counter-number{color:#8c1c3a;text-shadow:5px 5px 0 var(--pop);animation:.22s linear infinite doom-shake}.app.doom .title{text-shadow:3px 3px #8c1c3a}@keyframes doom-tilt{0%,to{transform:rotate(-.4deg)}50%{transform:rotate(.4deg)}}@keyframes doom-shake{0%,to{transform:translate(-4px)rotate(-2deg)}50%{transform:translate(4px,3px)rotate(2deg)}}.doom-banner{text-align:center;letter-spacing:1px;color:#fff;border:4px solid var(--ink);box-shadow:var(--shadow);background:#8c1c3a;border-radius:14px;margin:0 0 16px;padding:12px 14px;font-size:clamp(14px,2.2vw,20px);font-weight:700;animation:.9s steps(2,end) infinite doom-blink}@keyframes doom-blink{0%,to{background:#8c1c3a}50%{background:#d32b56}}.ticker{margin:0;padding:0;font-size:16px;list-style:none}.ticker li{border-bottom:2px dashed #1b103540;padding:7px 0;animation:.35s both slide-in}.ticker li:last-child{border-bottom:none}.shame{color:#8c1c3a;margin:10px 0 0;font-size:16px;font-weight:700}.shame-live{border-top:3px solid var(--ink);padding-top:8px}.crow-rain{z-index:120;pointer-events:none;position:fixed;inset:0;overflow:hidden}.crow-rain span{animation-name:crow-fall;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;top:-60px}@keyframes crow-fall{0%{transform:translateY(-10vh)rotate(0)}to{transform:translateY(110vh)rotate(540deg)}}.shades{display:none}.cutscene.legendary .scene *{animation-duration:8.6s}.cutscene.legendary{background:radial-gradient(circle at 60% 40%,#4a2a10 0%,#0b0718 70%)}.cutscene.legendary .shades{background:#12101f;border:2px solid #000;border-radius:4px;width:50px;height:15px;animation:1.1s cubic-bezier(.2,1.7,.4,1) 1.6s both shades-drop;display:block;position:absolute;top:24px;left:2px;box-shadow:0 0 12px #ffd23f}@keyframes shades-drop{0%{opacity:0;transform:translateY(-70px)rotate(-20deg)}to{opacity:1;transform:translateY(0)rotate(0)}}.cutscene.legendary .cutscene-caption{color:#ffd23f;text-shadow:0 0 18px #ffd23f;font-size:clamp(22px,4vw,42px);animation:.8s ease-in-out infinite legendary-pulse}@keyframes legendary-pulse{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.09)}}@keyframes droop{0%{opacity:0;transform:translateY(-30px)scale(1.05)rotate(-2deg)}70%{transform:translateY(6px)scale(.98)rotate(1deg)}to{opacity:1;transform:translateY(0)scale(1)rotate(0)}}.champion.crow-win h2{color:#241f38}.crow-name{color:#ffd23f;text-shadow:3px 3px #241f38;animation:.7s ease-in-out infinite strut}@keyframes strut{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-7px)rotate(2deg)}}.crow-parade{height:52px;margin:2px 0 6px;position:relative;overflow:hidden}.crow-parade span{font-size:32px;animation:5s ease-in-out infinite victory-lap;position:absolute;top:6px}.crow-loot{font-size:24px;animation-delay:.16s}@keyframes victory-lap{0%{left:-12%;transform:translateY(0)scaleX(1)}45%{left:92%;transform:translateY(-10px)scaleX(1)}50%{left:92%;transform:translateY(0)scaleX(-1)}95%{left:-12%;transform:translateY(-10px)scaleX(-1)}to{left:-12%;transform:translateY(0)scaleX(1)}}.crow-speech{color:#fdfdfd;text-shadow:2px 2px #3a3550;margin:6px 0 4px;font-size:clamp(16px,2.6vw,24px);font-weight:700}.crow-note{color:#241f38;opacity:.85;margin:0 0 12px;font-size:16px;font-style:italic}.feather{width:auto;height:auto;font-size:22px;animation:3.6s linear infinite feather-fall}@keyframes feather-fall{0%{transform:translateY(-20px)translate(0)rotate(0)}50%{transform:translateY(110px)translate(18px)rotate(180deg)}to{transform:translateY(240px)translate(-10px)rotate(400deg)}}.crow-title{color:#8a6d10;font-weight:700}.birdbrain{color:#8c1c3a;font-size:14px;font-weight:700}.champion.crow-win{background:linear-gradient(90deg,#b9b4c9,#8f8aa3,#6f6a85,#b9b4c9) 0 0/300% 100%;border-style:dotted;border-color:#4a4560;animation:14s linear infinite rainbow,.7s cubic-bezier(.3,1.2,.5,1) droop}.champion.crow-win h2{color:#2c2740;opacity:.85}.flop-trophy{filter:grayscale(.6);font-size:46px;line-height:1;animation:1.4s ease-in both trophy-fall}@keyframes trophy-fall{0%{opacity:0;transform:translateY(-30px)rotate(0)}55%{opacity:1;transform:translateY(0)rotate(-12deg)}70%{transform:translateY(4px)rotate(8deg)}to{opacity:1;transform:translateY(6px)rotate(-4deg)}}.flop-line{color:#fdfdfd;text-shadow:2px 2px #3a3550;margin:10px 0 4px;font-size:clamp(16px,2.6vw,24px);font-weight:700}.flop-note{color:#2c2740;opacity:.8;margin:0 0 12px;font-size:16px;font-style:italic}.flop-bit{width:auto;height:auto;font-size:22px;animation-duration:3.4s}.ticker li:not(.ticker-latest){opacity:.62;font-size:14px;font-style:italic}.ticker-latest{font-weight:700;animation:.45s cubic-bezier(.2,1.5,.4,1) both booth-in}.ticker-latest:before{content:"🔴 ";animation:1.1s steps(2,end) infinite live-blink}@keyframes booth-in{0%{opacity:0;transform:translate(26px)scale(.94)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes live-blink{0%,to{opacity:1}50%{opacity:.25}}
