*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;font-family:Roboto,sans-serif;background:#e8854a}#rotate-prompt{display:none;position:fixed;inset:0;z-index:99999;background:#e8854a;flex-direction:column;align-items:center;justify-content:center;gap:28px}#rotate-prompt.active{display:flex}.rotate-icon{width:80px;height:80px;animation:rotateWobble 2.4s ease-in-out infinite}.rotate-icon svg{width:100%;height:100%}.rotate-text{color:#ffffffb3;font-family:Orbitron,system-ui,sans-serif;font-size:15px;letter-spacing:2px;text-transform:uppercase;text-align:center;padding:0 32px}@keyframes rotateWobble{0%,to{transform:rotate(0)}25%{transform:rotate(90deg)}50%{transform:rotate(90deg)}75%{transform:rotate(0)}}@font-face{font-family:Gurgel;src:url(/GurgelFont.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}#preloader{position:fixed;inset:0;z-index:9999;background:linear-gradient(135deg,#1a3a1a,#2a5a2a,#1e4e1e);display:flex;align-items:center;justify-content:center;transition:opacity .5s ease}#preloader.fade-out{opacity:0;pointer-events:none}#preloader.hidden{display:none}.preloader-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:60px;gap:16px;z-index:1}#preloader-canvas{position:absolute;inset:0;width:100%;height:100%}.preloader-text,.preloader-bar-row{display:none}#app{position:fixed;inset:0;padding:0}#app>canvas{position:absolute;inset:0;display:block;width:100%!important;height:100%!important}#ui,#controls{position:fixed;inset:0;z-index:20;pointer-events:none}#intro{position:fixed;inset:0;z-index:50}#intro .intro-inner,#intro button{pointer-events:auto}#ui.hidden{display:none}.hud-top{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-start;padding:max(20px,env(safe-area-inset-top,20px)) max(20px,env(safe-area-inset-right,20px)) 0 max(20px,env(safe-area-inset-left,20px));pointer-events:none}.hud-bottom{position:absolute;bottom:0;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px max(20px,env(safe-area-inset-right,20px)) max(16px,env(safe-area-inset-bottom,16px)) max(20px,env(safe-area-inset-left,20px));pointer-events:none}.hud-badge{padding:10px 18px;background:#000000bf;color:#fff;border-radius:6px;font-family:Gurgel,Orbitron,system-ui,sans-serif;font-size:18px;letter-spacing:1px;pointer-events:none;transform-origin:center}.hud-badge.center{background:#0009;font-size:28px;letter-spacing:2px;min-width:80px;text-align:center}.hud-badge.right{background:#f1d24a;color:#111}.hud-badge.right.bump{animation:badgeBumpFlash .42s ease-out}.hud-badge.right.flash{animation:hudFlash .22s ease-out}.hud-letters{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;padding:8px 14px;font-family:Gurgel,Orbitron,system-ui,sans-serif;font-size:22px;text-align:center;min-width:120px;max-width:90vw;transform-origin:center}.hud-letters.bump{animation:letterBump .35s ease-out}.letter-empty{color:#ffffff4d;font-size:18px}.word-group{display:inline-flex;gap:2px;background:#003200bf;border:1.5px solid rgba(74,255,74,.5);border-radius:6px;padding:4px 8px;margin:2px;box-shadow:0 0 10px #4aff4a26}.letter-in-word{color:#4aff4a;text-shadow:0 0 8px rgba(74,255,74,.4);font-weight:700;letter-spacing:2px}.letter-loose{display:inline-block;background:#0009;color:#f1d24a;border-radius:4px;padding:4px 7px;margin:2px;letter-spacing:1px;opacity:.7;border:1px solid rgba(241,210,74,.2)}.hud-penalty-msg{color:#f44;font-family:Gurgel,Orbitron,system-ui,sans-serif;font-size:11px;letter-spacing:.5px;text-align:center;opacity:0;transition:opacity .2s;pointer-events:none;text-shadow:0 0 6px rgba(255,50,0,.6);margin-top:2px}.hud-penalty-msg.visible{opacity:1}.hud-score{color:#ffffffb3;font-family:Gurgel,Orbitron,system-ui,sans-serif;font-size:14px;letter-spacing:1px}#radar{position:absolute;bottom:100px;right:16px;width:120px;height:120px;border-radius:50%;pointer-events:none;z-index:25}.word-popup{position:fixed;left:50%;transform:translate(-50%) translateY(8px);background:#0a0a12e0;color:#f1d24a;padding:10px 28px;border-radius:8px;font-family:Gurgel,Orbitron,system-ui,sans-serif;font-size:26px;letter-spacing:4px;z-index:100;pointer-events:none;opacity:0;transition:opacity .25s ease,transform .25s ease;white-space:nowrap}.word-popup.show{opacity:1;transform:translate(-50%) translateY(0)}.word-popup.fade{opacity:0;transform:translate(-50%) translateY(-12px)}.wave-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.7);background:#0a0a1273;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#4ae88a;padding:32px 56px;border-radius:16px;font-family:Gurgel,Orbitron,system-ui,sans-serif;z-index:110;pointer-events:none;opacity:0;transition:opacity .35s ease,transform .35s ease;text-align:center;border:2px solid rgba(74,232,138,.35);box-shadow:0 0 30px #4ae88a26,inset 0 0 20px #4ae88a08;min-width:280px}.wave-popup .wave-title{font-size:48px;letter-spacing:8px;margin-bottom:12px}.wave-popup .wave-bonus{font-size:16px;letter-spacing:3px;color:#f1d24a;margin-bottom:4px;opacity:.9}.wave-popup .wave-countdown{font-size:42px;color:#fff;margin-top:14px;letter-spacing:4px}.wave-popup.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.wave-popup.fade{opacity:0;transform:translate(-50%,-50%) scale(1.15)}.wave-confetti{position:fixed;inset:0;z-index:105;pointer-events:none}#intro{display:grid;place-items:center;background:linear-gradient(180deg,#00000014,#0000001f)}#intro.hidden{display:none}#intro .intro-inner{display:grid;justify-items:center;gap:44px}#intro-logo{width:min(78vw,680px);filter:drop-shadow(0 8px 24px rgba(0,0,0,.35));opacity:0;transform:scale(.8) rotate(-3deg);animation:stampIn .9s ease-out .3s forwards}#intro-play{background:transparent;border:none;cursor:pointer;padding:0;opacity:0;transform:translateY(28px);align-self:center;margin-top:4px;animation:fadeUp .6s ease-out 1.15s forwards}#intro-play img{width:min(42vw,280px)}#intro-play:active{transform:translateY(14px) scale(.98)}#intro-ticker{position:absolute;left:0;right:0;bottom:0;height:48px;background:#0c0c0c;border-top:4px solid #111;overflow:hidden;z-index:60}#intro-ticker .ticker-track{display:inline-block;white-space:nowrap;will-change:transform;animation:introTicker 10s linear infinite}#intro-ticker .ticker-item{display:inline-block;padding:0 48px;color:#fff;font-family:Gurgel,Orbitron,system-ui,sans-serif;font-size:18px;letter-spacing:1px;line-height:48px}.ticker-item .hl{color:#dad043}#finish{position:fixed;inset:0;z-index:60;display:none;align-items:center;justify-content:center;pointer-events:auto}#finish.show{display:flex}#finish .finish-card{background:#0c0c0c;color:#dcd85a;padding:40px 56px;border-radius:8px;text-align:center;min-width:min(90vw,700px);box-shadow:0 18px 48px #00000073;opacity:0;transform:scale(.9) rotate(-1.5deg);animation:stampIn .7s ease-out forwards;font-family:Gurgel,Orbitron,system-ui,sans-serif}.finish-title{font-size:72px;letter-spacing:3px;margin-bottom:12px}.finish-score{color:#f1d24a;margin:4px 0;font-size:28px;letter-spacing:2px}.finish-collected{color:#aaa;margin-bottom:18px;font-size:18px;letter-spacing:1px}.finish-leader{margin-bottom:16px;font-size:16px;letter-spacing:1px}.leader-label{color:#888;font-size:13px;letter-spacing:2px}.leader-name{color:#f1d24a;margin:0 8px}.leader-score{color:#dcd85a}.finish-actions{display:flex;gap:12px;justify-content:center;align-items:center}.finish-button{background:#dcd85a;color:#111;border:4px solid #111;border-radius:6px;padding:16px 28px;cursor:pointer;font-family:Gurgel,sans-serif;font-size:20px;letter-spacing:1px}.finish-button:active{transform:translateY(1px) scale(.99)}.secondary-btn{background:transparent;color:#dcd85a;border:2px solid #dcd85a;font-size:16px;padding:14px 22px}#confetti{position:absolute;inset:0;pointer-events:none;z-index:55}#lose{position:fixed;inset:0;z-index:60;display:none;align-items:center;justify-content:center;pointer-events:auto}#lose.show{display:flex}#lose .lose-card{background:#dad043;color:#111;padding:46px 60px;border-radius:8px;text-align:center;min-width:min(90vw,720px);box-shadow:0 18px 48px #00000073;opacity:0;transform:scale(.9);animation:stampIn .65s ease-out forwards;font-family:Gurgel,Orbitron,system-ui,sans-serif}.lose-title{font-size:78px;letter-spacing:3px;margin-bottom:22px}.lose-sub{font-size:26px;letter-spacing:1px;line-height:1.2;margin-bottom:16px}.lose-letters{font-size:18px;letter-spacing:2px;margin-bottom:22px;color:#555}.lose-button{background:#111;color:#dad043;border:4px solid #111;border-radius:6px;padding:16px 28px;cursor:pointer;font-family:Gurgel,sans-serif;font-size:22px;letter-spacing:1px}.lose-button:active{transform:translateY(1px) scale(.99)}.save-row{display:flex;gap:10px;justify-content:center;align-items:center;margin-bottom:16px}.save-row input[type=text]{background:#1a1a1a;border:2px solid #DAD043;color:#dad043;padding:12px 16px;border-radius:6px;font-family:Gurgel,Orbitron,system-ui,sans-serif;font-size:16px;letter-spacing:2px;text-transform:uppercase;width:180px;outline:none}.save-row input[type=text]::placeholder{color:#dad04359}.save-row input[type=text]:focus{border-color:#f1d24a;box-shadow:0 0 10px #f1d24a40}.save-btn{font-size:16px!important;padding:12px 20px!important}.save-btn:disabled{opacity:.5;cursor:not-allowed}.saved-msg{color:#4aff4a;font-family:Gurgel,Orbitron,system-ui,sans-serif;font-size:16px;letter-spacing:1px;margin-bottom:12px;min-height:20px}.leaderboard-box{width:100%;max-width:420px;margin:0 auto}.lb-title{font-family:Gurgel,Orbitron,system-ui,sans-serif;font-size:18px;letter-spacing:2px;color:#f1d24a;margin-bottom:10px;text-align:center}.lb-list{display:flex;flex-direction:column;gap:4px}.lb-row{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#ffffff0f;border-radius:4px;font-family:Gurgel,Orbitron,system-ui,sans-serif;font-size:14px;letter-spacing:1px}.lb-row.lb-top1{background:#f1d24a33}.lb-row.lb-top2{background:#c0c0c026}.lb-row.lb-top3{background:#cd7f3226}.lb-rank{width:24px;text-align:center;color:#888;font-size:13px}.lb-top1 .lb-rank{color:#f1d24a}.lb-top2 .lb-rank{color:silver}.lb-top3 .lb-rank{color:#cd7f32}.lb-name{flex:1;color:#fff;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-score{color:#f1d24a;min-width:50px;text-align:right}.lb-detail{color:#888;font-size:12px;min-width:60px;text-align:right}.lb-loading,.lb-empty{color:#666;font-family:Gurgel,Orbitron,system-ui,sans-serif;font-size:14px;letter-spacing:1px;text-align:center;padding:12px}.view-scores-link{background:none;border:none;color:#ffffff8c;font-family:Gurgel,Orbitron,system-ui,sans-serif;font-size:13px;letter-spacing:1.5px;cursor:pointer;padding:4px 8px;margin-top:-28px;text-decoration:none;transition:color .2s;opacity:0;animation:fadeUp .6s ease-out 1.4s forwards}.view-scores-link:hover{color:#ffffffe6}#sound-toggle{position:fixed;left:50%;transform:translate(-50%);top:max(20px,env(safe-area-inset-top,20px));background:#111;color:#dad043;border:3px solid #111;border-radius:6px;padding:10px 18px;cursor:pointer;font-family:Gurgel,Orbitron,system-ui,sans-serif;letter-spacing:1px;font-size:18px;z-index:80;display:inline-flex;align-items:center;justify-content:center;line-height:1;height:auto;min-height:0;width:auto;white-space:nowrap;box-sizing:border-box;-webkit-tap-highlight-color:transparent}#sound-toggle.off{background:#dad043;color:#111;border-color:#dad043}#joystick{position:fixed;left:50%;bottom:80px;transform:translate(-50%);width:140px;height:140px;pointer-events:none;opacity:0;transition:opacity .2s ease;display:none;z-index:9999;touch-action:none}#joystick .joy-ring{position:absolute;inset:0;border:4px solid rgba(255,255,255,.45);border-radius:50%;box-shadow:0 0 12px #0000001a inset}#joystick .joy-thumb{position:absolute;left:50%;top:50%;width:60px;height:60px;transform:translate(-50%,-50%);background:#ffffff80;border-radius:50%;box-shadow:0 3px 10px #0003;touch-action:none}#joystick.visible{opacity:.55;pointer-events:auto}#joystick.visible.dim{opacity:.25}#joystick.visible.active{opacity:.5}.view-all-btn{display:block;width:100%;margin-top:8px;padding:8px 0;background:transparent;border:2px solid rgba(241,210,74,.5);border-radius:6px;color:#f1d24a;font-family:Gurgel,Orbitron,system-ui,sans-serif;font-size:12px;letter-spacing:2px;cursor:pointer;transition:background .2s,border-color .2s}.view-all-btn:hover{background:#f1d24a1f;border-color:#f1d24a}.lb-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center}.lb-modal.hidden{display:none}.lb-modal-backdrop{position:absolute;inset:0;background:#000000bf}.lb-modal-card{position:relative;background:#0c0c0c;border-radius:8px;padding:40px 56px;min-width:min(90vw,700px);max-height:80vh;overflow-y:auto;box-shadow:0 18px 48px #00000073;animation:stampIn .7s ease-out forwards;font-family:Gurgel,Orbitron,system-ui,sans-serif;text-align:center;z-index:1}.lb-modal-card .lb-title{color:#dcd85a;font-size:42px;text-align:center;margin-bottom:22px;letter-spacing:3px}.lb-modal-close{position:absolute;top:14px;right:18px;background:none;border:none;color:#dcd85a;font-size:32px;cursor:pointer;line-height:1;padding:4px;transition:color .2s;font-family:Gurgel,Orbitron,system-ui,sans-serif}.lb-modal-close:hover{color:#fff}@keyframes stampIn{0%{opacity:0;transform:scale(.8) rotate(-3deg)}60%{opacity:1;transform:scale(1.06) rotate(-2deg)}to{opacity:1;transform:scale(1) rotate(-2deg)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes introTicker{0%{transform:translate(0)}to{transform:translate(-16.666%)}}@keyframes badgeBumpFlash{0%{transform:scale(1);background:#f1d24a;color:#111}40%{transform:scale(1.12);background:#fff;color:#000}to{transform:scale(1);background:#f1d24a;color:#111}}@keyframes letterBump{0%{transform:scale(1)}40%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes hudFlash{0%{background:#fff;color:#000}to{background:#f1d24a;color:#111}}@keyframes blinkRed{0%{color:#ff3b3b}50%{color:#fff}to{color:#ff3b3b}}.hud-badge.left.warn{animation:blinkRed .7s ease-in-out infinite}@media (max-width: 768px){.hud-top{padding:max(12px,env(safe-area-inset-top,12px)) max(12px,env(safe-area-inset-right,12px)) 0 max(12px,env(safe-area-inset-left,12px))}.hud-badge{padding:8px 12px;font-size:14px}.hud-badge.center{font-size:20px;min-width:60px}.hud-letters{font-size:16px;padding:6px 10px;gap:3px;min-width:100px}.word-group{padding:3px 6px;gap:1px}.letter-loose{padding:3px 5px}.hud-bottom{padding:10px 12px;gap:3px}.word-popup{font-size:20px;padding:8px 20px}.wave-popup{padding:22px 36px;min-width:220px}.wave-popup .wave-title{font-size:34px;letter-spacing:6px}.wave-popup .wave-bonus{font-size:13px}.wave-popup .wave-countdown{font-size:32px}#sound-toggle{left:50%;transform:translate(-50%);top:max(12px,env(safe-area-inset-top,12px));font-size:14px;padding:8px 12px;height:auto}#intro-ticker{height:42px}#intro-ticker .ticker-item{font-size:14px;line-height:42px;padding:0 28px}.save-row{flex-direction:column;gap:8px}.save-row input[type=text]{width:100%}.leaderboard-box{max-width:100%}.lb-row{font-size:12px;padding:5px 8px}.lb-modal-card{padding:20px 18px;min-width:0!important;width:92vw!important;max-width:400px}.view-all-btn{font-size:11px;padding:7px 0}#finish{align-items:center;padding:env(safe-area-inset-top,12px) 0 env(safe-area-inset-bottom,12px)}.finish-card{padding:20px 18px!important;min-width:0!important;width:92vw!important;max-width:400px;max-height:96vh;overflow-y:auto;box-sizing:border-box}.finish-title{font-size:36px;margin-bottom:8px}.finish-score{font-size:20px;margin:4px 0}.finish-collected,.finish-leader{font-size:14px;margin-bottom:12px}.finish-actions{flex-direction:column;gap:8px}.finish-button{font-size:16px;padding:12px 22px;width:100%}.secondary-btn{font-size:14px;padding:10px 18px}.save-btn{font-size:14px!important;padding:10px 16px!important}.saved-msg{font-size:13px;margin-bottom:8px}#lose{align-items:center;padding:env(safe-area-inset-top,12px) 0 env(safe-area-inset-bottom,12px)}.lose-card{padding:40px 20px!important;min-width:0!important;width:92vw!important;max-width:400px;max-height:96vh;overflow-y:auto;box-sizing:border-box}.lose-title{font-size:48px;margin-bottom:18px}.lose-sub{font-size:18px;margin-bottom:16px;line-height:1.5}.lose-letters{font-size:15px;margin-bottom:22px}.lose-button{font-size:19px;padding:16px 28px}}@media (max-height: 500px) and (orientation: landscape){.hud-top{padding-top:max(6px,env(safe-area-inset-top,6px))}.hud-badge{padding:5px 10px;font-size:12px;border-radius:4px}.hud-badge.center{font-size:16px;min-width:48px}.hud-letters{font-size:13px;padding:4px 8px;gap:2px}.word-group{padding:2px 4px;gap:1px}.letter-loose{padding:2px 4px;font-size:12px}.hud-bottom{padding-bottom:max(6px,env(safe-area-inset-bottom,6px));gap:2px}.hud-score{font-size:11px}.word-popup{font-size:16px;padding:6px 16px}.wave-popup{padding:16px 28px;min-width:180px}.wave-popup .wave-title{font-size:26px;letter-spacing:4px}.wave-popup .wave-bonus{font-size:11px}.wave-popup .wave-countdown{font-size:26px}#intro-logo{width:min(50vw,320px)}#intro-play img{width:min(28vw,180px)}#intro .intro-inner{gap:18px}.view-scores-link{margin-top:-8px}#intro-ticker{height:32px}#intro-ticker .ticker-item{font-size:11px;line-height:32px;padding:0 20px}#sound-toggle{top:max(6px,env(safe-area-inset-top,6px));font-size:12px;padding:5px 10px;height:auto}#joystick{width:110px;height:110px}#joystick .joy-thumb{width:46px;height:46px}#radar{width:100px;height:100px}#finish{align-items:center;padding:4px 0}.finish-card{padding:10px 20px!important;min-width:0!important;max-height:96vh;width:auto!important;max-width:50vw;overflow-y:auto;box-sizing:border-box}.finish-title{font-size:24px;margin-bottom:2px}.finish-score{font-size:15px;margin:2px 0}.finish-collected{font-size:11px;margin-bottom:4px}.finish-leader{font-size:11px;margin-bottom:6px}.finish-actions{flex-direction:row;gap:8px}.finish-button{font-size:13px;padding:7px 16px}.secondary-btn{font-size:12px;padding:6px 14px}.save-btn{font-size:12px!important;padding:6px 12px!important}.save-row{margin-bottom:6px;gap:6px}.save-row input[type=text]{padding:6px 10px;font-size:12px;width:140px}.saved-msg{font-size:11px;margin-bottom:4px}.lose-card{padding:20px 18px!important;max-height:92vh;max-width:360px}.lose-title{font-size:32px;margin-bottom:8px}.lose-sub{font-size:14px;margin-bottom:8px;line-height:1.3}.lose-letters{font-size:12px;margin-bottom:12px}.lose-button{font-size:15px;padding:10px 22px}.lb-row{font-size:11px;padding:4px 6px}.lb-modal-card{max-height:88vh;padding:16px 12px;min-width:0!important;width:95vw!important}.lb-modal-card .lb-title{font-size:28px;margin-bottom:14px}}@media (pointer: coarse){#joystick{display:block;left:auto;right:max(24px,env(safe-area-inset-right,24px));bottom:calc(16px + env(safe-area-inset-bottom,0px));transform:none}#radar{left:max(14px,env(safe-area-inset-left,14px));right:auto;bottom:calc(16px + env(safe-area-inset-bottom,0px));width:120px;height:120px}}
