@font-face{font-family:Fredoka;src:url(fonts/fredoka-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Nunito;src:url(fonts/nunito-latin-700-italic.woff2) format("woff2");font-weight:700;font-style:italic;font-display:swap}:root{--ink: #12060c;--cream: #fbeedd;--cream-dim: #d9bfae;--gold: #ffc93c;--gold-deep: #e0861c;--ember: #ff8a2e;--lava: #ff6a13;--panel: #2a0f1d;--panel-edge: #6a2232;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px)}*{box-sizing:border-box}html,body{margin:0;height:100%;background:#16081a;color:var(--cream);font-family:Fredoka,system-ui,sans-serif;overflow:hidden;overscroll-behavior:none}#app{position:fixed;inset:0;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.stage{position:absolute;inset:0;display:block}[hidden]{display:none!important}.outline{text-shadow:0 2px 0 var(--ink),0 -2px 0 var(--ink),2px 0 0 var(--ink),-2px 0 0 var(--ink),2px 2px 0 var(--ink),-2px 2px 0 var(--ink),2px -2px 0 var(--ink),-2px -2px 0 var(--ink),0 5px 0 var(--ink)}.hud{position:absolute;top:calc(10px + var(--safe-top));left:calc(14px + var(--safe-left));right:calc(14px + var(--safe-right));display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none}.hud-left{display:flex;flex-direction:column;gap:7px;width:min(42vw,320px)}.hud-level,.hud-embers{font-size:28px;line-height:1;color:var(--cream);text-shadow:0 2px 0 var(--ink),0 -2px 0 var(--ink),2px 0 0 var(--ink),-2px 0 0 var(--ink),2px 2px 0 var(--ink),-2px 2px 0 var(--ink),2px -2px 0 var(--ink),-2px -2px 0 var(--ink),0 4px 0 var(--ink);font-variant-numeric:tabular-nums}.hud-level{font-size:20px}.hud-bar{position:relative;height:14px;border-radius:7px;border:2.5px solid var(--ink);background:#12060c8c;box-shadow:0 3px 0 var(--ink)}.hud-fill{position:absolute;inset:0 auto 0 0;width:0;border-radius:5px;background:linear-gradient(to bottom,#ffd75e,var(--lava))}.hud-marker{position:absolute;top:50%;left:0;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;border:2.5px solid var(--ink);background:#e8382f}.hud-door{position:absolute;right:-6px;top:50%;width:14px;height:20px;margin-top:-12px;border-radius:3px 3px 0 0;border:2.5px solid var(--ink);background:#ffe9a0;box-shadow:inset 0 0 0 2px #3d2330}.hud-right{display:flex;align-items:center;gap:14px}.hud-embers{display:flex;align-items:center;gap:8px;color:var(--gold)}.hud-embers:before{content:"";width:18px;height:18px;border-radius:50%/60% 60% 40% 40%;background:radial-gradient(circle at 50% 62%,#fff4c4 0 28%,#ffb43a 45%,#ff6a13 75%);border:2.5px solid var(--ink);box-shadow:0 0 12px #ff9628cc}.hud-embers.pop{animation:pop .22s ease-out}.title-wallet{position:absolute;top:calc(20px + var(--safe-top));left:calc(16px + var(--safe-left));font-size:26px}@keyframes pop{40%{transform:scale(1.18)}}.hud-pause{pointer-events:auto;width:44px;height:44px;border-radius:14px;border:3px solid var(--ink);background:#2a0f1dcc;display:flex;justify-content:center;align-items:center;gap:6px;box-shadow:0 4px 0 var(--ink)}.hud-pause span{width:6px;height:18px;background:var(--cream);border-radius:2px}.hud-pause:active{transform:translateY(3px);box-shadow:0 1px 0 var(--ink)}.tut-card{position:absolute;left:50%;bottom:calc(18px + var(--safe-bottom));transform:translate(-50%);max-width:min(560px,calc(100% - 32px));padding:12px 22px 13px 56px;border-radius:18px;border:3px solid var(--ink);background:var(--cream);color:var(--ink);font-size:21px;line-height:1.2;text-align:left;box-shadow:0 5px 0 var(--ink),0 0 0 6px #ffc93c59;pointer-events:none;animation:card-in .25s ease-out}.tut-card:before{content:"";position:absolute;left:16px;top:50%;width:26px;height:26px;margin-top:-13px;border-radius:50%;border:3px solid var(--ink);background:var(--gold);animation:tap .9s ease-in-out infinite}.tut-card[data-kind=hold]:before{animation:hold 1.2s ease-in-out infinite}.tut-card[data-kind=release]:before{animation:release .9s ease-in-out infinite}@keyframes card-in{0%{transform:translate(-50%,30px);opacity:0}}@keyframes tap{0%,60%,to{transform:scale(1)}30%{transform:scale(.7);background:var(--gold-deep)}}@keyframes hold{0%{transform:scale(1)}25%,85%{transform:scale(.7);background:var(--gold-deep)}to{transform:scale(1)}}@keyframes release{0%{transform:scale(.7);background:var(--gold-deep)}50%,to{transform:scale(1.1);background:var(--gold)}}.screen{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;padding:calc(14px + var(--safe-top)) calc(16px + var(--safe-right)) calc(14px + var(--safe-bottom)) calc(16px + var(--safe-left))}.screen.title{flex-direction:column;justify-content:space-between;background:linear-gradient(to bottom,#16081a8c,#16081a00 45%,#16081a80)}.screen.over,.screen.pause,.screen.settings{background:#0c03099e;animation:fade .25s ease-out}@keyframes fade{0%{opacity:0}}.title-box{margin-top:6vh;text-align:center}.logo{margin:0;font-size:clamp(56px,13vmin,112px);line-height:.95;letter-spacing:.01em;color:var(--gold);background:linear-gradient(to bottom,#fff2b8 10%,var(--gold) 45%,var(--lava) 90%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 3px 0 var(--ink)) drop-shadow(0 -3px 0 var(--ink)) drop-shadow(3px 0 0 var(--ink)) drop-shadow(-3px 0 0 var(--ink)) drop-shadow(0 6px 0 var(--ink))}.tagline{margin:10px auto 0;max-width:30ch;text-wrap:balance;font-family:Nunito,system-ui,sans-serif;font-style:italic;font-size:clamp(16px,3.6vmin,22px);color:var(--cream);text-shadow:0 2px 0 var(--ink),0 0 10px rgba(0,0,0,.6)}.title-foot{text-align:center;margin-bottom:2vh;display:flex;flex-direction:column;align-items:center;gap:4px}.picker{display:flex;align-items:center;gap:12px}.pick-level{min-width:6.5em;font-size:26px;color:var(--gold);text-shadow:0 2px 0 var(--ink),0 -2px 0 var(--ink),2px 0 0 var(--ink),-2px 0 0 var(--ink),0 4px 0 var(--ink)}.pick{width:44px;height:44px;border-radius:14px;border:3px solid var(--ink);background:#2a0f1dd9;color:var(--cream);font:700 28px/1 Fredoka,system-ui,sans-serif;box-shadow:0 4px 0 var(--ink);cursor:pointer}.pick:disabled{opacity:.3;cursor:default}.pick:not(:disabled):active{transform:translateY(3px);box-shadow:0 1px 0 var(--ink)}.pick-status{margin:0 0 4px;min-height:1.2em;font-size:16px;color:var(--cream-dim);text-shadow:0 2px 0 var(--ink)}.banner{position:absolute;left:50%;top:26%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;pointer-events:none;opacity:0}.banner strong{font-size:clamp(40px,9vmin,64px);color:var(--gold);text-shadow:0 3px 0 var(--ink),0 -3px 0 var(--ink),3px 0 0 var(--ink),-3px 0 0 var(--ink),0 6px 0 var(--ink)}.banner span{font-size:22px;color:var(--cream);text-shadow:0 2px 0 var(--ink),0 -2px 0 var(--ink),2px 0 0 var(--ink),-2px 0 0 var(--ink)}.banner.go{animation:banner 1.8s ease-out forwards}@keyframes banner{0%{opacity:0;transform:translate(-50%,-30%) scale(.8)}15%,70%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-70%) scale(1)}}.start{margin:0;font-size:clamp(22px,5vmin,32px);color:var(--cream);text-shadow:0 2px 0 var(--ink),0 -2px 0 var(--ink),2px 0 0 var(--ink),-2px 0 0 var(--ink),0 4px 0 var(--ink);animation:breathe 1.4s ease-in-out infinite}@keyframes breathe{50%{transform:scale(1.06)}}.gear{position:absolute;top:calc(12px + var(--safe-top));right:calc(14px + var(--safe-right));width:48px;height:48px;padding:5px;border-radius:16px;border:3px solid var(--ink);background:#2a0f1dd9;box-shadow:0 4px 0 var(--ink)}.gear svg{width:100%;height:100%;fill:var(--cream)}.gear:active{transform:translateY(3px);box-shadow:0 1px 0 var(--ink)}.panel{width:min(380px,100%);max-height:100%;overflow:auto;padding:18px 18px 16px;border-radius:22px;border:3px solid var(--ink);background:linear-gradient(to bottom,#3a1426,var(--panel));box-shadow:0 6px 0 var(--ink),inset 0 0 0 2px var(--panel-edge);text-align:center}.over-head{margin:0 0 12px;font-size:30px;line-height:1.05;color:var(--gold);text-shadow:0 2px 0 var(--ink),0 -2px 0 var(--ink),2px 0 0 var(--ink),-2px 0 0 var(--ink),0 4px 0 var(--ink)}.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stat{display:flex;flex-direction:column;gap:2px;padding:8px 6px;border-radius:14px;background:#00000047;font-size:14px;color:var(--cream-dim)}.stat strong{font-size:28px;color:var(--cream);font-weight:700}.over-record{margin:10px 0 0;min-height:1.2em;font-size:17px;color:var(--cream-dim)}.over-record.new{color:var(--gold);animation:breathe 1s ease-in-out infinite}.actions{display:flex;flex-direction:column;gap:8px;margin-top:12px}.over-note{margin:-4px 0 4px;font-size:13px;color:var(--cream-dim);font-family:Nunito,system-ui,sans-serif;font-style:italic}.btn{min-height:46px;padding:8px 16px;border-radius:15px;border:3px solid var(--ink);background:linear-gradient(to bottom,#ff9a4a,var(--lava));color:var(--ink);font:700 20px Fredoka,system-ui,sans-serif;box-shadow:0 4px 0 var(--ink);cursor:pointer}.btn-gold{background:linear-gradient(to bottom,#ffe48a,var(--gold) 55%,var(--gold-deep))}.btn-ghost{min-height:40px;background:transparent;color:var(--cream);border-color:var(--panel-edge);box-shadow:none;font-size:17px}.btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--ink)}.btn-ghost:active{transform:none;background:#ffffff0f}.switch{width:100%;display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding:10px 14px;border-radius:14px;border:2px solid var(--panel-edge);background:#00000040;color:var(--cream);font:700 18px Fredoka,system-ui,sans-serif;cursor:pointer}.switch:after{content:"";width:46px;height:26px;border-radius:13px;border:2.5px solid var(--ink);background:radial-gradient(circle at 12px 50%,var(--cream) 0 8px,transparent 9px),#5a3040;transition:background .15s}.switch[aria-checked=true]:after{background:radial-gradient(circle at 32px 50%,var(--cream) 0 8px,transparent 9px),var(--lava)}.settings-label{margin:6px 0;font-size:15px;color:var(--cream-dim);text-align:left}.langs{display:grid;grid-template-columns:1fr 1fr;gap:6px}.lang{padding:8px 6px;border-radius:12px;border:2px solid var(--panel-edge);background:#00000040;color:var(--cream);font:700 16px Fredoka,system-ui,sans-serif;cursor:pointer}.lang.active{background:var(--gold);color:var(--ink);border-color:var(--ink)}@media (orientation: landscape) and (max-height: 460px){.screen.over .panel,.screen.pause .panel{width:min(600px,100%);display:grid;grid-template-columns:1fr 1fr;column-gap:16px;align-items:center}.screen.over .over-head,.screen.pause .over-head{grid-column:1 / -1}.screen.over .stats{grid-row:2;grid-column:1}.screen.over .over-record{grid-row:3;grid-column:1}.screen.over .actions{grid-row:2 / span 2;grid-column:2;margin-top:0}.screen.pause .actions{grid-column:1 / -1;flex-direction:row;justify-content:center}.screen.settings .panel{width:min(560px,100%)}.title-box{margin-top:2vh}}.rotate{position:absolute;inset:0;z-index:10;display:none;flex-direction:column;justify-content:center;align-items:center;gap:22px;padding:24px;background:#16081a;text-align:center;font-size:24px;color:var(--cream)}.rotate p{margin:0;max-width:16ch}.rotate-phone{width:54px;height:92px;border-radius:12px;border:4px solid var(--gold);box-shadow:inset 0 -10px 0 -6px var(--gold);animation:turn 1.8s ease-in-out infinite}@keyframes turn{0%,25%{transform:rotate(0)}55%,to{transform:rotate(-90deg)}}@media (orientation: portrait) and (max-width: 700px){.rotate{display:flex}}
