:root{--mustard:#e0a526;--orange:#e2662b;--burgundy:#7a1f2b;--cream:#f3e7c9;--ink:#2b1b17;--olive:#7c8a3b;--font:"Arial Black", "Arial Bold", Impact, system-ui, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}html,body{background:var(--ink);touch-action:pan-x pan-y;overscroll-behavior:none;height:100%;margin:0;overflow:hidden}#app{top:env(safe-area-inset-top,0px);right:env(safe-area-inset-right,0px);bottom:env(safe-area-inset-bottom,0px);left:env(safe-area-inset-left,0px);position:fixed}#stage{transform-origin:50%;background:var(--cream);width:390px;height:780px;font-family:var(--font);color:var(--ink);font-weight:900;position:absolute;top:50%;left:50%;overflow:hidden}canvas{touch-action:none;display:block}.halftone{background-image:radial-gradient(#2b1b1729 1.5px,#0000 1.8px);background-size:7px 7px}.screen{flex-direction:column;display:flex;position:absolute;inset:0}.btn{border:4px solid var(--ink);min-height:64px;font:inherit;color:var(--ink);background:var(--mustard);box-shadow:0 6px 0 var(--ink);text-transform:uppercase;letter-spacing:.5px;cursor:pointer;touch-action:manipulation;border-radius:14px;padding:6px 10px;font-size:20px;line-height:1.05;position:relative;overflow:hidden}.btn.pressed,.btn:active{box-shadow:0 2px 0 var(--ink);transform:translateY(4px)}.btn.orange{background:var(--orange)}.btn.burgundy{background:var(--burgundy);color:var(--cream)}.btn.cream{background:var(--cream)}.btn.olive{background:var(--olive);color:var(--cream)}.btn:disabled{opacity:.45}.btn small{letter-spacing:0;opacity:.8;font-size:11px;display:block}.icon-btn{z-index:60;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;min-height:56px;padding:0;display:flex;position:absolute;top:8px}.icon-btn svg{width:30px;height:30px}#mute{right:8px}.back{font-size:24px;left:8px}.splash{z-index:100;background:repeating-conic-gradient(from 0deg at 50% 45%, var(--mustard) 0 11.25deg, var(--orange) 11.25deg 22.5deg);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:absolute;inset:0}.splash h1{color:var(--cream);-webkit-text-stroke:2px var(--ink);text-shadow:4px 4px 0 var(--ink);margin:0;font-size:46px;line-height:.95}.splash .big50{color:var(--burgundy);-webkit-text-stroke:3px var(--ink);text-shadow:6px 6px 0 var(--ink);font-size:150px;line-height:.9}.splash .tap{background:var(--cream);border:5px solid var(--ink);box-shadow:0 8px 0 var(--ink);border-radius:18px;padding:18px 28px;font-size:30px;animation:.9s ease-in-out infinite alternate pulse}.splash p{background:var(--ink);color:var(--cream);border-radius:8px;margin:0;padding:6px 10px;font-size:13px}@keyframes pulse{to{transform:scale(1.08)rotate(-2deg)}}.menu{background:linear-gradient(90deg, var(--burgundy) 0 18px, var(--orange) 18px 26px, var(--mustard) 26px 34px, transparent 34px calc(100% - 34px), var(--mustard) calc(100% - 34px) calc(100% - 26px), var(--orange) calc(100% - 26px) calc(100% - 18px), var(--burgundy) calc(100% - 18px)), var(--ink);align-items:center;gap:12px;padding:70px 44px 0}.marquee{background:var(--burgundy);border:4px solid var(--ink);text-align:center;width:100%;box-shadow:inset 0 0 0 4px var(--mustard);border-radius:16px 16px 6px 6px;padding:6px 0 8px;position:relative}.marquee .t1{color:var(--cream);letter-spacing:3px;font-size:22px}.marquee .fifty{color:var(--mustard);-webkit-text-stroke:3px var(--ink);text-shadow:5px 5px 0 var(--ink);touch-action:manipulation;padding:0 14px;font-size:84px;line-height:.9;transition:transform .1s;display:inline-block}.marquee .fifty.pressed{transform:scale(.92)rotate(-4deg)}.marquee .t2{color:var(--orange);letter-spacing:6px;-webkit-text-stroke:.5px var(--ink);font-size:18px}.crt{border:6px solid var(--ink);width:100%;box-shadow:0 0 0 4px var(--mustard);border-radius:22px;position:relative;overflow:hidden}.crt:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#00000017 0 2px,#0000 2px 4px);border-radius:16px;position:absolute;inset:0}.menu .btn{width:100%}.coin{color:var(--mustard);white-space:nowrap;letter-spacing:2px;opacity:.8;font-size:10px}.ticker{background:var(--mustard);border-top:4px solid var(--ink);white-space:nowrap;align-items:center;height:40px;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.ticker span{padding-left:100%;font-size:16px;animation:22s linear infinite tick;display:inline-block}@keyframes tick{to{transform:translate(-100%)}}.loading{z-index:80;background:var(--ink);color:var(--cream);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:30px;display:flex;position:absolute;inset:0}.loading .msg{min-height:60px;font-size:22px}.loading .bar{border:4px solid var(--cream);border-radius:8px;width:260px;height:28px;overflow:hidden}.loading .bar div{background:repeating-linear-gradient(45deg, var(--mustard) 0 10px, var(--orange) 10px 20px);width:0;height:100%;transition:width .25s}.loading .sub{color:var(--mustard);font-size:12px}.toast{z-index:90;background:var(--cream);border:4px solid var(--ink);text-align:center;box-shadow:0 6px 0 var(--ink);pointer-events:none;border-radius:14px;width:max-content;max-width:330px;padding:10px 16px;font-size:14px;transition:opacity .4s,transform .4s;animation:.3s ease-out drop;position:absolute;top:76px;left:50%;transform:translate(-50%)}.toast b{color:var(--burgundy);font-size:18px}.toast.out{opacity:0;transform:translate(-50%)translateY(-20px)}@keyframes drop{0%{opacity:0;transform:translate(-50%)translateY(-40px)}}.overlay{z-index:70;background:#2b1b17c7;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0}.card{background:var(--cream);border:5px solid var(--ink);width:100%;box-shadow:0 8px 0 var(--ink);text-align:center;border-radius:20px;flex-direction:column;gap:10px;padding:18px;display:flex}.card h2{color:var(--burgundy);margin:0;font-size:32px;line-height:1}.card .reason{font-size:16px}.card .score{color:var(--orange);-webkit-text-stroke:2px var(--ink);font-size:44px}.card .rank{background:var(--mustard);border:3px solid var(--ink);border-radius:10px;padding:6px;font-size:22px}.card .row{gap:10px;display:flex}.card .row .btn{flex:1}.card .stat{opacity:.85;font-size:13px}#stage.disco:before{content:"";z-index:55;pointer-events:none;mix-blend-mode:overlay;background:conic-gradient(var(--orange), var(--mustard), #4fb0c6, var(--burgundy), #b04fc6, var(--orange));opacity:.65;animation:1.2s linear infinite disco;position:absolute;inset:-50%}#stage.disco{animation:2s linear infinite discoHue}@keyframes disco{to{transform:rotate(360deg)}}@keyframes discoHue{to{filter:hue-rotate(360deg)}}.game{background:var(--ink)}.controls{background:var(--burgundy);border-top:5px solid var(--ink);flex:1;gap:10px;padding:12px 12px 18px;display:grid}.road-controls{grid-template-rows:1fr 1fr 1.1fr;grid-template-columns:repeat(6,1fr);gap:8px;padding:10px 10px 14px}.road-controls .btn{grid-column:span 2;min-height:56px;padding:4px;font-size:15px}.road-controls .btn:nth-child(4),.road-controls .btn:nth-child(5){grid-column:span 3}.road-controls .ult{background:linear-gradient(90deg, var(--mustard), #ffd257, var(--mustard));grid-column:span 6;font-size:26px}.road-controls .ult .charge{pointer-events:none;background:#2b1b178c;height:100%;position:absolute;bottom:0;left:0}.road-controls .ult span{position:relative}.road-controls .mash{background:var(--cream);animation:.3s infinite alternate wiggle}@keyframes wiggle{0%{transform:rotate(-2deg)}to{transform:rotate(2deg)}}.late-controls{grid-template-columns:repeat(3,1fr);grid-auto-rows:62px;align-content:start}.late-controls .btn{min-height:62px;padding:4px;font-size:14px}.late-controls .walk{grid-column:span 3;font-size:22px}.mini{z-index:40;background:var(--cream);border:5px solid var(--ink);box-shadow:0 8px 0 var(--ink);text-align:center;border-radius:18px;flex-direction:column;align-items:center;gap:6px;padding:10px;display:flex;position:absolute;bottom:12px;left:10px;right:10px}.mini h3{color:var(--burgundy);margin:0;font-size:20px}.mini .cap{min-height:36px;font-size:15px}.mini canvas{border:3px solid var(--ink);background:#fffaf0;border-radius:10px}.mini .btn{width:100%}.shame{background:var(--burgundy);touch-action:pan-y;scrollbar-width:none;gap:10px;padding:74px 16px 16px;overflow-y:auto}.shame h1{color:var(--mustard);text-align:center;-webkit-text-stroke:1.5px var(--ink);text-shadow:3px 3px 0 var(--ink);margin:0;font-size:34px}.shame .panel{background:var(--cream);border:4px solid var(--ink);border-radius:14px;padding:10px 12px}.shame .panel h2{color:var(--burgundy);margin:0 0 6px;font-size:16px}.shame .friend{align-items:center;gap:10px;padding:3px 0;font-size:15px;display:flex}.shame .friend b{color:var(--orange);-webkit-text-stroke:1px var(--ink);margin-left:auto;font-size:22px}.shame .kv{justify-content:space-between;padding:3px 0;font-size:15px;display:flex}.shame .ach{vertical-align:top;width:50%;padding:2px 0;font-size:12px;display:inline-block}.shame .ach.locked{opacity:.4}.road-controls .ult.ready{box-shadow:0 6px 0 var(--ink), 0 0 18px #ffd257;animation:.25s infinite alternate wiggle}.road-controls .btn.now{box-shadow:0 6px 0 var(--ink), 0 0 0 4px var(--mustard), 0 0 22px #ffd257;background:#fff1b8;animation:.22s infinite alternate wiggle}.road-controls .btn.dim{opacity:.55}.road-controls .btn small{letter-spacing:.5px;opacity:1;color:var(--burgundy);font-size:10px}.road-controls .ult small.st{color:var(--ink);position:relative}.icon-btn.music-btn{width:44px;height:44px;min-height:44px;top:70px;right:14px}.icon-btn.music-btn svg{width:22px;height:22px}.card.howto{text-align:left}.card.howto h2{text-align:center}.card.howto ul{margin:0;padding-left:18px;font-family:system-ui,sans-serif;font-size:14px;font-weight:700;line-height:1.3}.card.howto li{margin:5px 0}.card.howto b{color:var(--burgundy)}.menu .btn.big{min-height:64px;font-size:23px}.marquee .fifty{font-size:70px}.wait-controls{grid-template-rows:2fr 1fr;grid-template-columns:1fr}.wait-controls .ask{font-size:34px}.wait-controls .ask .charge{pointer-events:none;background:#2b1b1766;height:100%;position:absolute;bottom:0;left:0}.wait-controls .ask span,.wait-controls .ask small{position:relative}.wait-controls .ask.cooling small:after{content:" (too soon and he ghosts you)"}.wait-controls .btn small{font-size:12px}.wait-note{text-align:center;color:var(--cream);grid-row:span 2;align-self:center;font-size:22px}.wait-controls.duel{grid-template-rows:repeat(3,1fr);grid-template-columns:1fr 1fr}.wait-controls.duel .btn{font-size:16px}.wait-controls.duel .ult{background:linear-gradient(90deg, var(--mustard), #ffd257, var(--mustard));grid-column:span 2;font-size:24px}
