#game-ui-overlay,.game-ui-overlay{pointer-events:none;z-index:1000;width:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;position:fixed;top:0;left:0}.game-ui-top-bar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0000004d;align-items:center;gap:12px;padding:12px 16px;display:flex}.level-badge{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;flex-direction:column;align-items:center;min-width:60px;padding:8px 12px;display:flex;box-shadow:0 4px 12px #667eea66}.level-label{color:#fffc;letter-spacing:.5px;font-size:10px;font-weight:600}.level-number{color:#fff;font-size:24px;font-weight:800;line-height:1}.xp-container{flex-direction:column;flex:1;gap:4px;display:flex}.xp-bar-bg{background:#fff3;border-radius:6px;height:12px;overflow:hidden;box-shadow:inset 0 2px 4px #0003}.xp-bar-fill{background:linear-gradient(90deg,#4facfe 0%,#00f2fe 100%);border-radius:6px;height:100%;transition:width .5s ease-out;box-shadow:0 0 10px #4facfe99}.xp-text{color:#fff;text-align:center;text-shadow:0 1px 2px #00000080;font-size:11px;font-weight:600}.streak-badge{background:linear-gradient(135deg,#f80 0%,#f40 100%);border-radius:12px;align-items:center;gap:6px;padding:8px 12px;display:flex;box-shadow:0 4px 12px #f806}.streak-icon{font-size:20px;animation:2s infinite flicker}.streak-number{color:#fff;font-size:18px;font-weight:800}.achievement-popup{z-index:10000;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:16px;max-width:320px;padding:16px;animation:.5s cubic-bezier(.68,-.55,.265,1.55) slideIn;position:fixed;top:80px;right:20px;overflow:hidden;box-shadow:0 8px 32px #0006}.achievement-shine{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);width:100%;height:100%;animation:2s infinite shine;position:absolute;top:0;left:-100%}.achievement-content{align-items:center;gap:12px;display:flex;position:relative}.achievement-icon{font-size:48px;animation:.6s ease-out bounce}.achievement-info{flex:1}.achievement-title{color:#ffffffe6;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.achievement-name{color:#fff;margin:2px 0;font-size:18px;font-weight:800}.achievement-desc{color:#fffc;margin-bottom:4px;font-size:13px}.achievement-xp{color:gold;background:#fff3;border-radius:8px;padding:4px 8px;font-size:12px;font-weight:700;display:inline-block}.level-up-overlay{z-index:10001;background:#000000d9;justify-content:center;align-items:center;width:100%;height:100%;animation:.3s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}.level-up-content{text-align:center;animation:.5s cubic-bezier(.68,-.55,.265,1.55) scaleIn}.level-up-title{-webkit-text-fill-color:transparent;text-transform:uppercase;letter-spacing:4px;background:linear-gradient(135deg,gold 0%,#ffed4e 100%);-webkit-background-clip:text;background-clip:text;margin-bottom:16px;font-size:32px;font-weight:800}.level-up-number{color:#fff;text-shadow:0 0 20px #ffd700cc,0 0 40px #ffd70099,0 0 60px #ffd70066;font-size:120px;font-weight:900;animation:1s ease-in-out infinite alternate glow}.level-up-subtitle{color:#fffc;margin-top:16px;font-size:24px;font-weight:600}.floating-text{text-shadow:2px 2px #000,-1px -1px #000,1px -1px #000,-1px 1px #000;pointer-events:none;z-index:9998;font-weight:800;animation:2s ease-out forwards floatUp;position:fixed}@keyframes slideIn{0%{opacity:0;transform:translate(400px)}to{opacity:1;transform:translate(0)}}@keyframes slideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(400px)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%{text-shadow:0 0 20px #ffd700cc,0 0 40px #ffd70099,0 0 60px #ffd70066}to{text-shadow:0 0 30px gold,0 0 60px #ffd700cc,0 0 90px #ffd70099}}@keyframes shine{0%{left:-100%}30%{left:100%}to{left:100%}}@keyframes flicker{0%,to{opacity:1}50%{opacity:.8}}@keyframes floatUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100px)}}@keyframes xp-pulse{0%{transform:scaleY(1)}50%{transform:scaleY(1.2)}to{transform:scaleY(1)}}@keyframes level-pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@media (width<=480px){.game-ui-top-bar{gap:8px;padding:10px 12px}.level-badge{min-width:50px;padding:6px 10px}.level-number{font-size:20px}.xp-bar-bg{height:10px}.xp-text{font-size:10px}.achievement-popup{max-width:calc(100% - 24px);right:12px}.level-up-number{font-size:80px}}@media (prefers-reduced-motion:reduce){.game-ui-overlay *,.achievement-popup,.achievement-popup *,.level-up-overlay,.level-up-overlay *{transition:none!important;animation:none!important}.floating-text{animation:none!important}}:root{--sat:env(safe-area-inset-top,0px);--sar:env(safe-area-inset-right,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--ink:var(--dopamine-border,#4a2f22);--card:var(--dopamine-bg,#fff6e4);--line:var(--dopamine-bg-light,#f6e2bf);--drop:var(--dopamine-shadow,#4a2f22e6)}*{box-sizing:border-box}html,body{touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;height:100%;font-family:var(--dopamine-font,system-ui, sans-serif);color:var(--dopamine-text,#4a2f22);background:#8fd3f4;margin:0;overflow:hidden}#game{width:100%;height:100%;display:block;position:fixed;inset:0}body>canvas:not(#game){z-index:1!important}#ui{z-index:2;pointer-events:none;position:fixed;inset:0}[hidden]{display:none!important}.game-ui-overlay{z-index:3!important;font-family:var(--dopamine-font)!important}.game-ui-top-bar{margin:calc(var(--sat) + 8px) calc(var(--sar) + 10px) 0 calc(var(--sal) + 10px);color:var(--dopamine-text);border:3px solid var(--ink);transition:background-color 1.5s;background:var(--card)!important;box-shadow:0 4px 0 var(--drop)!important;border-radius:999px!important;gap:10px!important;padding:6px 10px!important}.level-badge{color:#fff;border:2px solid var(--ink);gap:6px;background:var(--dopamine-primary)!important;min-width:0!important;box-shadow:none!important;border-radius:999px!important;flex-direction:row!important;padding:3px 12px!important}.level-label{font-size:10px!important;font-weight:800!important}.level-number{font-size:17px!important;font-weight:900!important}.xp-bar-bg{border:2px solid var(--ink);background:var(--line)!important;height:10px!important;box-shadow:none!important;border-radius:999px!important}.xp-bar-fill{background:var(--dopamine-warning)!important;box-shadow:none!important;border-radius:999px!important}.xp-text{font-weight:700;color:var(--dopamine-text-dim)!important;text-shadow:none!important;font-size:10px!important}.streak-badge{color:#fff;border:2px solid var(--ink);background:var(--dopamine-error)!important;box-shadow:none!important;border-radius:999px!important;gap:4px!important;padding:3px 10px!important}.streak-number{font-size:15px!important;font-weight:900!important}.streak-icon svg{width:18px;height:18px;display:block}.screen{padding:calc(var(--sat) + 68px) calc(var(--sar) + 14px) calc(var(--sab) + 14px) calc(var(--sal) + 14px);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.box{pointer-events:auto;text-align:center;width:min(330px,100%);max-height:100%;color:var(--dopamine-text);background:var(--card);border:3px solid var(--ink);border-radius:var(--dopamine-border-radius,20px);box-shadow:6px 7px 0 var(--drop);-webkit-user-select:text;user-select:text;flex-direction:column;align-items:center;gap:10px;padding:20px 20px 22px;transition:background-color 1.5s,color 1.5s;display:flex;overflow-y:auto}.screen:not([hidden]) .box{animation:.32s cubic-bezier(.3,1.4,.5,1) both card-in}.mascot{width:92px;height:76px;margin-bottom:-4px}.mascot svg{transform-origin:50% 100%;width:100%;height:100%;animation:1.8s ease-in-out infinite mascot-hop;display:block}.box h1{color:var(--dopamine-primary);letter-spacing:-.01em;-webkit-text-stroke:1.5px var(--ink);paint-order:stroke fill;text-shadow:0 3px 0 var(--ink);margin:0;font-size:2rem;font-weight:900}.box h2{color:var(--dopamine-secondary);margin:6px 0 0;font-size:1.05rem;font-weight:800}.box p{margin:0;font-size:1.05rem}.box label{color:var(--dopamine-text-dim);font-size:.9rem;font-weight:700}.box .hint{color:var(--dopamine-text-dim);font-size:.88rem;line-height:1.35}.box .score-line{font-size:1.3rem;font-weight:900}.box .best-line{font-weight:800}.box .new-best{color:var(--ink);background:var(--dopamine-warning);border:2px solid var(--ink);border-radius:999px;padding:3px 14px;font-size:.85rem;font-weight:900;transform:rotate(-3deg)}.box .medal-name{color:var(--dopamine-text-dim);font-size:.85rem;font-weight:700}.medal{width:60px;height:68px}.medal .medal-svg{width:100%;height:100%;filter:drop-shadow(3px 4px 0 var(--drop));display:block}.screen:not([hidden]) .medal:not([hidden]) .medal-svg{animation:.5s cubic-bezier(.3,1.5,.5,1) .15s both medal-in}#player-name{width:82%;font:inherit;text-align:center;color:var(--dopamine-text);background:var(--line);border:3px solid var(--ink);border-radius:999px;outline:none;padding:10px 14px;font-size:1.1rem;font-weight:800}#player-name::placeholder{color:var(--dopamine-text-dim);opacity:.8}#player-name:focus{box-shadow:0 0 0 4px var(--dopamine-warning)}.btn{min-height:50px;font:inherit;color:#fff;background:var(--dopamine-primary);border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);cursor:pointer;border-radius:999px;padding:10px 40px;font-size:1.15rem;font-weight:900;transition:transform 80ms ease-out,box-shadow 80ms ease-out}.btn:hover{box-shadow:0 6px 0 var(--ink);transform:translateY(-1px)}.btn:active{box-shadow:0 1px 0 var(--ink);transform:translateY(4px)}.btn:focus-visible,.icon-btn:focus-visible{outline:3px solid var(--dopamine-warning);outline-offset:3px}.board{border-collapse:collapse;width:100%;font-size:.95rem}.board th{color:var(--dopamine-text-dim);border-bottom:2px solid var(--ink);padding:5px;font-size:.78rem;font-weight:800}.board td{border-bottom:2px dashed var(--line);overflow-wrap:anywhere;padding:6px 5px;font-weight:600}.board tbody tr:last-child td{border-bottom:none}.board .highlight-run td{background:color-mix(in srgb, var(--dopamine-warning) 40%, transparent);font-weight:900}.hud{top:calc(var(--sat) + 74px);text-align:center;color:#fff;-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:0 5px 0 var(--ink);font-size:4rem;font-weight:900;position:absolute;left:0;right:0}.hud.bump{animation:.22s ease-out bump}.jump-hint{left:50%;bottom:calc(var(--sab) + 24%);color:var(--dopamine-text);background:var(--card);border:3px solid var(--ink);box-shadow:0 4px 0 var(--drop);border-radius:999px;padding:8px 18px;font-size:1.1rem;font-weight:900;animation:1.4s ease-in-out infinite hint-pulse;position:absolute;transform:translate(-50%)}.icon-btn{top:calc(var(--sat) + 70px);right:calc(var(--sar) + 12px);z-index:5;width:46px;height:46px;color:var(--dopamine-text);background:var(--card);border:3px solid var(--ink);box-shadow:0 4px 0 var(--drop);cursor:pointer;pointer-events:auto;border-radius:50%;place-items:center;padding:0;transition:transform 80ms ease-out,box-shadow 80ms ease-out;display:grid;position:absolute}.icon-btn:active{box-shadow:0 1px 0 var(--drop);transform:translateY(3px)}#screen-over:not([hidden])~#mute{display:none}.icon-btn svg{width:22px;height:22px}.toasts{top:calc(var(--sat) + 70px);left:calc(var(--sal) + 12px);right:calc(var(--sar) + 12px);z-index:10;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute}.toast{width:min(330px,100%);color:var(--dopamine-text);background:var(--card);border:3px solid var(--ink);box-shadow:4px 5px 0 var(--drop);border-radius:18px;align-items:center;gap:10px;padding:8px 14px;animation:.35s cubic-bezier(.3,1.4,.5,1) toast-in;display:flex}.toast-icon{color:var(--dopamine-success)}.toast-icon svg{width:34px;height:34px;display:block}.toast-text{color:var(--dopamine-text-dim);flex-direction:column;flex:1;font-size:.82rem;display:flex}.toast-text strong{color:var(--dopamine-text);font-size:1rem;font-weight:900}.toast-xp{color:var(--ink);background:var(--dopamine-warning);border:2px solid var(--ink);border-radius:999px;padding:2px 8px;font-size:.8rem;font-weight:900}@keyframes toast-in{0%{opacity:0;transform:translateY(16px)scale(.9)}to{opacity:1;transform:none}}@keyframes card-in{0%{opacity:0;transform:scale(.88)rotate(-2deg)}to{opacity:1;transform:none}}@keyframes medal-in{0%{opacity:0;transform:scale(.4)rotate(-20deg)}to{opacity:1;transform:none}}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes hint-pulse{0%,to{opacity:1;transform:translate(-50%)scale(1)}50%{opacity:.75;transform:translate(-50%)scale(.96)}}@keyframes mascot-hop{0%,60%,to{transform:translateY(0)scale(1)}70%{transform:translateY(0)scale(1.08,.92)}80%{transform:translateY(-8px)scale(.95,1.06)}90%{transform:translateY(0)scale(1.04,.96)}}@media (width<=799px){.toast{padding:5px 12px}.toast-icon svg{width:26px;height:26px}.toast-text span{display:none}}@media (width>=800px){.toasts{top:calc(var(--sat) + 128px);align-items:flex-end;width:330px;left:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (height<=500px){.screen{padding-top:calc(var(--sat) + 56px);padding-bottom:calc(var(--sab) + 8px)}.hud{top:calc(var(--sat) + 58px);font-size:2.8rem}.icon-btn{top:calc(var(--sat) + 56px)}.box{gap:6px;padding:10px 16px}.box h1{font-size:1.4rem}.mascot{display:none}.medal{width:38px;height:43px}.box .medal-name{display:none}.jump-hint{bottom:calc(var(--sab) + 16%)}.toasts{top:calc(var(--sat) + 54px)}}
