:root{--ink:#2b1820;--cream:#fff2cf;--red:#d9362c;--yellow:#ffd83d;--blue:#2354a2}*{box-sizing:border-box}html,body{min-height:100%;color:var(--ink);background:#f4c752;margin:0}body{background-image:radial-gradient(#d6a238 1px,#0000 1px);background-size:18px 18px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}main{min-height:100vh;padding:20px 22px 16px}header{justify-content:space-between;align-items:center;max-width:1120px;margin:0 auto 14px;display:flex}.brand{align-items:center;gap:13px;display:flex}.sun{background:var(--red);width:55px;height:55px;color:var(--yellow);border:4px solid var(--ink);box-shadow:4px 4px 0 var(--ink);border-radius:50%;place-items:center;font-size:30px;display:grid}h1{text-transform:uppercase;letter-spacing:1px;margin:0;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-size:clamp(28px,4vw,52px);line-height:.9}header p{text-transform:uppercase;letter-spacing:3px;margin:6px 0 0;font-size:12px}.flag{border:3px solid var(--ink);width:88px;box-shadow:4px 4px 0 var(--ink);position:relative;transform:rotate(2deg)}.flag i{height:13px;display:block}.flag i:first-child{background:#f7d415;height:25px}.flag i:nth-child(2){background:#2354a2}.flag i:nth-child(3){background:#d93332}.flag-shield{background:linear-gradient(#f7d415 0 32%,#2354a2 32% 63%,#d93332 63%);border:2px solid #6b3d1f;border-radius:8px 8px 10px 10px;width:18px;height:22px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:-4px 2px 0 -2px #347247,4px 2px 0 -2px #347247}.game-shell{border:7px solid var(--ink);background:#6e271f;border-radius:12px;max-width:1120px;margin:auto;padding:11px 11px 42px;position:relative;overflow:hidden;box-shadow:10px 11px #2b182038}canvas{aspect-ratio:16/9;width:100%;image-rendering:pixelated;touch-action:manipulation;cursor:pointer;background:#51c3e3;border:5px solid #fff0c4;display:block}.diablo-huma{z-index:2;aspect-ratio:1/2;width:13%;image-rendering:pixelated;pointer-events:none;filter:drop-shadow(3px 4px #20202cb3);background-repeat:no-repeat;background-size:600% 100%;position:absolute;bottom:14%;left:5%}.diablo-huma--dancing{animation:12s step-end infinite diabloHumaDance}.diablo-huma--exiting{background-image:url(/sprites/diablo-huma-walk.png);animation:.6s step-end 2 forwards diabloHumaWalk,1.25s ease-in forwards diabloHumaExit}@keyframes diabloHumaDance{0%,5.55%{background-image:url(/sprites/diablo-huma-dance-1.png);background-position:0 0}5.56%,11.11%{background-position:20% 0}11.12%,16.66%{background-position:40% 0}16.67%,22.22%{background-position:60% 0}22.23%,27.77%{background-position:80% 0}27.78%,33.33%{background-position:100% 0}33.34%,38.88%{background-image:url(/sprites/diablo-huma-dance-2.png);background-position:0 0}38.89%,44.44%{background-position:20% 0}44.45%,49.99%{background-position:40% 0}50%,55.55%{background-position:60% 0}55.56%,61.11%{background-position:80% 0}61.12%,66.66%{background-position:100% 0}66.67%,72.22%{background-image:url(/sprites/diablo-huma-dance-3.png);background-position:0 0}72.23%,77.77%{background-position:20% 0}77.78%,83.33%{background-position:40% 0}83.34%,88.88%{background-position:60% 0}88.89%,94.44%{background-position:80% 0}94.45%,to{background-position:100% 0}}@keyframes diabloHumaWalk{0%,16.66%{background-position:0 0}16.67%,33.33%{background-position:20% 0}33.34%,50%{background-position:40% 0}50.01%,66.66%{background-position:60% 0}66.67%,83.33%{background-position:80% 0}83.34%,to{background-position:100% 0}}@keyframes diabloHumaExit{0%{opacity:1;transform:translate(0)}75%{opacity:1}to{opacity:0;visibility:hidden;transform:translate(-190%)}}.marquee{z-index:3;text-align:center;color:#ffe05a;letter-spacing:3px;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;position:absolute;bottom:8px;left:0;right:0}.jump{border:4px solid var(--ink);background:var(--red);color:#fff;box-shadow:5px 5px 0 var(--ink);touch-action:manipulation;border-radius:8px;margin:18px auto 0;padding:15px 48px;font:800 20px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:none}.jump:active{box-shadow:2px 2px 0 var(--ink);transform:translate(3px,3px)}button:focus-visible,input:focus-visible{outline:4px solid var(--blue);outline-offset:3px}.jump:disabled{cursor:not-allowed;filter:grayscale(.6);opacity:.75;box-shadow:5px 5px 0 var(--ink);transform:none}.winner-card,.scoreboard{background:var(--cream);border:4px solid var(--ink);max-width:760px;margin:22px auto 0;padding:20px;box-shadow:7px 7px #2b18204d}.winner-card{text-align:center}.winner-card h2,.scoreboard h2{text-transform:uppercase;letter-spacing:1px;color:var(--red);margin:0;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-size:clamp(28px,5vw,46px)}.winner-stats{font-size:17px;font-weight:800}.winner-card form{gap:10px;max-width:520px;margin:auto;display:grid}.winner-card label{text-transform:uppercase;font-weight:900}.winner-card input{border:3px solid var(--ink);text-align:center;text-transform:uppercase;background:#fff;border-radius:6px;width:100%;padding:12px;font:800 22px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.winner-card small{line-height:1.4}.turnstile{justify-content:center;min-height:65px;margin:5px 0;display:flex}.winner-actions,.saved-score{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.winner-actions button,.saved-score button{border:3px solid var(--ink);background:var(--red);color:#fff;box-shadow:4px 4px 0 var(--ink);border-radius:7px;padding:12px 18px;font:900 14px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.winner-actions .secondary,.saved-score .secondary{background:var(--blue)}.winner-actions button:disabled{opacity:.6;cursor:not-allowed}.submission-message{min-height:1.4em;margin:4px 0 0;font-weight:800}.scoreboard{text-align:center}.scoreboard ol{counter-reset:rank;gap:8px;margin:16px 0 0;padding:0;list-style:none;display:grid}.scoreboard li{counter-increment:rank;border:2px solid var(--ink);text-align:left;background:#fff;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:9px 12px;display:grid}.scoreboard li:before{content:counter(rank) ".";color:var(--red);font-weight:900}.scoreboard li b{overflow-wrap:anywhere}.scoreboard li span{font-weight:900}.scoreboard li small{color:#664c55;grid-column:2/-1}.score-note{font-size:12px}.instructions{background:var(--cream);border:3px solid var(--ink);justify-content:center;align-items:center;gap:26px;max-width:900px;margin:22px auto 0;padding:13px 20px;display:flex;transform:rotate(-.3deg);box-shadow:5px 5px #2b18204d}.instructions div{text-align:center;flex:none}.instructions b,.instructions span{display:block}.instructions b{color:var(--red)}.instructions span{text-transform:uppercase;font-size:11px}.instructions p{text-align:center;max-width:480px;margin:0;font-size:12px;line-height:1.6}.instructions em{color:var(--blue)}footer{text-align:center;text-transform:uppercase;letter-spacing:1px;margin:22px auto 0;font-size:11px}footer span{color:var(--red)}.welcome{z-index:20;text-align:center;cursor:pointer;color:var(--cream);background:radial-gradient(circle at 50% 34%,#ffd83d47,#0000 62%),#2b1820f0;border:0;place-content:center;justify-items:center;gap:22px;padding:24px;font-family:inherit;animation:.32s ease-out both welcome-in;display:grid;position:fixed;inset:0}.welcome:focus-visible{outline:3px solid var(--yellow);outline-offset:-8px}.welcome-sun{color:var(--yellow);text-shadow:4px 4px 0 var(--red);font-size:72px;line-height:1}.welcome-title{text-transform:uppercase;letter-spacing:1px;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-size:clamp(30px,7vw,56px);line-height:1}.welcome-hint{letter-spacing:4px;text-transform:uppercase;color:var(--yellow);font-size:15px;animation:1.7s ease-in-out infinite welcome-pulse}.welcome-flag{border:3px solid var(--ink);width:176px;display:block;position:relative;box-shadow:4px 4px #00000059}.welcome-flag i{height:11px;display:block}.welcome-flag i:first-child{background:#f7d415;height:20px}.welcome-flag i:nth-child(2){background:#2354a2}.welcome-flag i:nth-child(3){background:#d93332}.welcome-shield{background:linear-gradient(#f7d415 0 32%,#2354a2 32% 63%,#d93332 63%);border:2px solid #6b3d1f;border-radius:9px 9px 12px 12px;width:22px;height:27px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:-5px 3px 0 -3px #347247,5px 3px 0 -3px #347247}@keyframes welcome-in{0%{opacity:0}to{opacity:1}}@keyframes welcome-pulse{0%,to{opacity:1;transform:translateY(0)}50%{opacity:.45;transform:translateY(4px)}}@media (max-width:700px){main{padding:12px 10px}.flag{width:62px}.sun{width:44px;height:44px}header p{letter-spacing:1px}.game-shell{border-width:5px;padding:6px 6px 34px}.diablo-huma{width:18%;bottom:16%;left:3%}.marquee{font-size:11px;bottom:7px}.jump{display:block}.winner-card,.scoreboard{padding:14px}.winner-actions,.saved-score{display:grid}.scoreboard li{grid-template-columns:34px 1fr auto;font-size:13px}.instructions{flex-wrap:wrap;gap:8px;padding:10px}.instructions em{display:none}.instructions p{order:3;width:100%}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.diablo-huma--dancing{background-image:url(/sprites/diablo-huma-dance-1.png);background-position:0 0}}
