:root{font-family:Tahoma,Arial,sans-serif;color:#fff8d0;background:#092b21;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100dvh;display:grid;place-items:center;background:radial-gradient(ellipse at top,#245c3b,#071d17 80%)}button{font:inherit;font-weight:900;cursor:pointer;border:0;color:inherit;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:3px solid #fff;outline-offset:4px}button:active{transform:translateY(3px) scale(.98)}[hidden]{display:none!important}#game{height:100dvh;width:min(100vw,56.25dvh);max-width:600px;position:relative;overflow:hidden;background:#60c147;box-shadow:0 0 100px #0007}#world{width:100%;height:100%;position:absolute;inset:0;touch-action:none;user-select:none;-webkit-user-select:none}#game.playing{touch-action:none;overscroll-behavior:none;user-select:none;-webkit-user-select:none}#game.playing button{touch-action:none}.vignette{pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 70px #10392030}#hud{position:absolute;top:max(10px,env(safe-area-inset-top));left:3%;right:3%;pointer-events:none}.hud-row{display:flex;gap:6px}.wood{flex:1;text-align:center;padding:7px 2px 5px;border:2px solid #e4b677;border-radius:15px;background:linear-gradient(#925225,#5c2c14);box-shadow:inset 0 2px 0 #ffde9a88,0 4px 0 #3e240dc0}.wood span{display:block;font-size:clamp(10px,2.8vw,15px);font-weight:900;color:#ffe0ac;text-shadow:0 2px #361b0b}.wood strong{font-size:clamp(20px,5.5vw,33px);font-weight:1000;color:#ffdc4c;line-height:1.15;text-shadow:0 3px #432209,1px 0 #432209}.clock strong{color:#80f1ff}.clock.urgent strong{color:#ff9272}.combo strong{color:#f6a6ff}.pause{pointer-events:auto;width:38px;align-self:center;border-radius:12px;background:linear-gradient(#ffd954,#ef8b16);height:43px;font-size:23px;box-shadow:0 4px 0 #9a4b0d;border:2px solid #ffe8a6}.fever-row{margin-top:10px;display:flex;align-items:center;gap:7px;padding:6px 10px;background:#23351deb;border:2px solid #d2e998;border-radius:20px;box-shadow:0 3px 0 #23351d70}.fever-row b{font-size:13px;color:#ffdc52;white-space:nowrap}.bar{height:15px;background:#101d20;border-radius:20px;flex:1;overflow:hidden;box-shadow:inset 0 2px 4px #000}.bar i,.bossbar i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(#ffe55a,#ffaa15);box-shadow:0 0 14px #ffae23;transition:width .12s}.fever-active .fever-row{border-color:#fff1a5;box-shadow:0 0 22px #ffbb24}.fever-active .bar i{background:linear-gradient(#fff6a5,#ff6d19)}#powerStatus{font-size:11px;font-weight:900;text-align:center;padding:5px;text-shadow:0 2px 3px #173319}#bossHud{width:80%;margin:0 auto;background:#331c20dc;border:2px solid #e99061;border-radius:13px;padding:6px 10px;text-align:center;font-size:11px}.bossbar{height:8px;background:#1b161b;border-radius:8px;margin-top:4px}.bossbar i{background:linear-gradient(#ffb35c,#f3414d);width:100%}#announcement{position:absolute;top:29%;width:100%;font-size:clamp(25px,6vw,42px);font-weight:1000;text-align:center;color:#fff8a1;pointer-events:none;text-shadow:0 4px #743f17,2px 0 #743f17,-2px 0 #743f17;z-index:4}#announcement.pop{animation:pop .4s ease-out}#rang{position:absolute;left:0;bottom:15.5%;width:31%;max-width:180px;pointer-events:none;filter:drop-shadow(0 5px 4px #163f2160);transform-origin:bottom center}#rang svg{display:block;width:100%}#rangMood{position:absolute;top:4%;left:70%;min-width:75px;font-weight:900;font-size:10px;color:#2d471e;padding:5px 8px;background:#fff9c6;border:2px solid #719946;border-radius:10px;white-space:nowrap}#rang.happy{animation:pilot .45s alternate infinite}#rang.shock{filter:drop-shadow(0 0 7px #ff955d)}#controls{position:absolute;bottom:max(22px,env(safe-area-inset-bottom));left:5%;right:5%;height:17%;display:flex;align-items:center;justify-content:space-between;pointer-events:none}#stick{width:110px;height:110px;border:2px solid #fcffb788;border-radius:50%;background:#12391c70;box-shadow:inset 0 0 25px #ecffa633,0 6px 20px #17362445;position:relative;pointer-events:auto;touch-action:none}.stick-ring{position:absolute;inset:14px;border-radius:50%;border:1px dashed #fff7a166}#knob{position:absolute;width:48px;height:48px;left:29px;top:29px;border-radius:50%;background:radial-gradient(circle at 35% 25%,#e6f5b7,#a7c47a 55%,#5a8b49);border:2px solid #d8f5ae;box-shadow:0 5px 0 #38683199,0 5px 14px #0005}#stick span{position:absolute;bottom:-19px;left:0;width:100%;text-align:center;font-size:10px;font-weight:900;text-shadow:0 2px 3px #162d18}.actions{display:flex;align-items:flex-end;gap:12px;pointer-events:auto}.actions button{position:relative;border-radius:50%;display:flex;align-items:center;flex-direction:column;justify-content:center;touch-action:none}.actions button b{position:absolute;bottom:-11px;text-shadow:0 3px #103a36,2px 0 #103a36,-2px 0 #103a36;font-size:18px;white-space:nowrap}.actions button span{font-size:39px;filter:drop-shadow(0 3px 1px #17464180)}#spray{width:91px;height:91px;background:radial-gradient(circle at 40% 25%,#6bf4ff,#00a6ef 60%,#026ba4);border:4px solid #a9f5ff;box-shadow:0 0 0 5px #037ca3,0 0 18px #1fe6ff,0 8px 0 #024866}#spray.active{box-shadow:0 0 0 5px #24cee2,0 0 32px #b9fcff;transform:scale(.94)}#ultimate{width:65px;height:65px;background:radial-gradient(circle at 40% 25%,#ffc940,#dc8d17 60%,#966514);border:3px solid #ffe69b;box-shadow:0 0 0 4px #a06e22,0 5px 0 #523c22}#ultimate span{font-size:30px}#ultimate small{font-size:10px;position:absolute;bottom:4px}#ultimate b{font-size:13px;bottom:-15px}#ultimate:disabled{filter:saturate(.4);opacity:.75;cursor:default}#ultimate.ready{box-shadow:0 0 0 4px #ff981c,0 0 26px #ffe254;animation:ready .7s alternate infinite}.screen{position:absolute;inset:0;z-index:5}.screen#menu{display:flex;flex-direction:column;align-items:center;justify-content:space-between;background:linear-gradient(#0a3c39b3 0%,transparent 35%,#10271a66 58%,#10291bed 100%)}#menu:before{content:none}#menu:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(#092f2bb0,transparent 36%,#08231999 67%,#082319 100%)}.top-tag{font-size:8px;letter-spacing:2.1px;margin-top:max(24px,env(safe-area-inset-top));padding:7px 13px;border:1px solid #ffffcf66;border-radius:20px;background:#144329c9}.brand{text-align:center;position:absolute;top:8%;width:100%;filter:drop-shadow(0 5px 2px #10361b)}.brand-icon{font-size:35px}h1{margin:0;font-size:48px;line-height:1.1;color:#eaff92;letter-spacing:-2px;text-shadow:2px 3px #173e20,-2px -1px #173e20}h1 span{display:block;font-size:36px;color:#ffdf52}.fieldrush{font-weight:1000;font-size:28px;letter-spacing:1px;transform:rotate(-4deg);color:#fff6ce;text-shadow:2px 3px #4b2f0e;margin-top:8px}.fieldrush i{color:#ffc63c}.menu-bottom{position:absolute;bottom:4%;width:84%;text-align:center}.best-pill{display:inline-flex;gap:12px;align-items:center;padding:8px 16px;border-radius:22px;background:#092719dd;border:1px solid #f5ffad55;font-size:12px;margin-bottom:13px}.best-pill strong{color:#ffd555;font-size:17px}.primary{display:block;width:100%;padding:16px 12px;border-radius:17px;color:#452c11;background:linear-gradient(#ffe775,#ffbe2d);border:2px solid #fff3ad;box-shadow:0 6px 0 #ba661a,0 9px 15px #05201355;font-size:20px}.primary span{font-size:26px}.hint{font-size:11px;font-weight:700;color:#e6efd1;margin:17px 0 15px}.menu-tools{display:flex;gap:10px}.menu-tools button{flex:1;min-width:0;background:#234e35e6;border:1px solid #83a66870;border-radius:14px;font-size:22px;padding:10px 1px}.menu-tools span{display:block;font-size:10px;margin-top:4px;color:#dfebc8}.round-tag{font-size:9px;color:#a7c4a5;margin-top:17px;letter-spacing:1px}.modal{display:grid;place-items:center;padding:6%;background:#071e1acc;backdrop-filter:blur(7px)}.panel{width:100%;padding:26px 20px 22px;background:linear-gradient(#285c38,#173f2b);border:2px solid #b0cf78;border-radius:24px;text-align:center;box-shadow:0 10px 0 #09261f,0 15px 60px #0006}.eyebrow{font-size:9px;letter-spacing:3px;color:#b3d492}h2{font-size:23px;margin:14px 0 18px;color:#fff5bd}.panel>small{color:#b0d2ac}#newBest{font-size:12px;color:#ffe266;margin:14px 0}.big-score{font-size:49px;line-height:1.4;font-weight:1000;color:#ffe060;text-shadow:0 4px #71531d}.stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 22px}.stats>div{padding:11px 6px;background:#092c2280;border:1px solid #8daa6855;border-radius:10px;font-size:9px;letter-spacing:1px;color:#bad5a7}.stats strong{display:block;margin-top:6px;font-size:20px;color:#fff6cd;letter-spacing:0}.two{display:flex;gap:9px;margin-top:17px}.two button,.secondary{background:#133b2c;border:1px solid #8ba86e77;border-radius:12px;padding:12px 5px;font-size:11px;flex:1}.secondary{margin-top:17px;width:100%}dialog{color:#f0f5de;background:#1d4b32;border:2px solid #bfda85;border-radius:22px;padding:28px 20px;max-width:340px;width:85%;box-shadow:0 20px 80px #0009}dialog::backdrop{background:#041c15b8;backdrop-filter:blur(5px)}dialog h2{padding-right:15px}dialog p{font-size:13px;line-height:1.8;color:#d9e5c6}dialog .record{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid #bed58133;font-size:13px}.close{position:absolute;top:10px;right:10px;border-radius:50%;background:#0e3425;width:31px;height:31px}#toast{position:absolute;bottom:27%;left:8%;right:8%;text-align:center;background:#112d20ed;padding:12px;border-radius:13px;font-size:12px;border:1px solid #c8dc8c88;z-index:9;opacity:0;pointer-events:none;transition:opacity .2s}.desktop-caption{display:none}.fever-active{box-shadow:inset 0 0 35px #ffc928}#game.fever-active .vignette{box-shadow:inset 0 0 35px #ffc928a0}@keyframes pop{from{transform:scale(.3)}60%{transform:scale(1.13)}to{transform:scale(1)}}@keyframes ready{to{filter:brightness(1.2);transform:scale(1.07)}}@keyframes pilot{to{transform:rotate(-3deg) translateY(-4px)}}@media(min-width:700px){#game{border-left:1px solid #90bf6433;border-right:1px solid #90bf6433}.desktop-caption{display:block;position:fixed;left:25px;bottom:24px;font-size:12px;color:#cbdda9;pointer-events:none}.desktop-caption span{display:block;color:#86a284;font-size:10px;margin-top:8px}}@media(max-height:650px){#stick{width:90px;height:90px}#knob{left:19px;top:19px}#spray{width:75px;height:75px}#ultimate{width:55px;height:55px}.brand{top:6%}h1{font-size:39px}h1 span{font-size:30px}.menu-bottom{bottom:3%}.primary{padding:12px}.menu-tools button{padding:7px}.round-tag{margin-top:10px}}

.menu-pilot{position:absolute;left:1%;bottom:32%;width:33%;pointer-events:none;filter:drop-shadow(0 6px 7px #173d2260)}.menu-pilot svg{width:100%;display:block}

#rang .pilot-art,.menu-pilot img{width:100%;display:block}#rang svg{display:none}#rangMood{top:3%;left:65%}#rang.happy .pilot-art{filter:brightness(1.1)}#rang.shock .pilot-art{animation:surprise .15s alternate 6}#rang.happy:after{content:"✨";position:absolute;top:25%;right:-9%;font-size:22px}@keyframes surprise{to{transform:translateX(3px) rotate(2deg)}}

/* Right-hand flight joystick; left-hand spray and ultimate. */
#controls{flex-direction:row-reverse}

#rang{width:36%;max-width:205px;bottom:19%}#rang .pilot-art{aspect-ratio:1223/1286;object-fit:contain;object-position:bottom;transition:filter .15s}#rangMood{top:2%;left:68%;font-size:11px}#spray b{font-size:16px;bottom:-13px}#rang[data-face=excited]{filter:drop-shadow(0 0 12px #ffe768)}

#stageTag{text-align:center;display:table;margin:6px auto 0;padding:4px 11px;border-radius:12px;background:#123823d9;border:1px solid #d5eaa466;font-size:10px;font-weight:900;color:#f6edaf}.stage-screen{display:flex;flex-direction:column;justify-content:center;gap:15px;padding:7% 5%;background:linear-gradient(#0b2a23ed,#164a30f5);overflow-y:auto}.stage-heading{text-align:center}.stage-heading h2{margin:10px 0 5px;font-size:27px}.stage-heading p{font-size:11px;color:#bfd6a7;margin:0}.stage-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.stage-card{position:relative;overflow:hidden;text-align:left;border:2px solid #618756;border-radius:16px;background:#0d3225;padding:0;box-shadow:0 4px 0 #071e17}.stage-card img{height:135px;width:100%;object-fit:cover;object-position:center 60%;display:block}.stage-card-copy{padding:10px 8px}.stage-card b{display:block;font-size:13px;color:#f4ffd5;white-space:nowrap}.stage-card span{display:block;font-size:8px;color:#b8d4a1;margin:5px 0 7px}.stage-card small{display:flex;justify-content:space-between;font-size:10px;color:#f8d569}.stage-card em{font-style:normal;font-size:8px;color:#d4e6bc}.stage-card.selected{border-color:#ffe173;box-shadow:0 0 0 2px #ad83354d,0 4px 0 #665222}.stage-card.selected:after{content:'✓';position:absolute;right:7px;top:7px;width:24px;height:24px;line-height:24px;text-align:center;border-radius:50%;background:#ffe178;color:#264225;box-shadow:0 2px 6px #0004}.stage-footer .primary{font-size:17px}.stage-footer .secondary{margin-top:13px}.result-stage{font-size:10px;color:#bcd59d;margin:-8px 0 12px}.next-stage{width:100%;margin-bottom:13px;border-radius:12px;background:#d1eb91;color:#234126;padding:11px;font-size:12px;border:1px solid #edffbc}.stage-result-select{background:transparent;color:#d4e5b5;font-size:11px;margin-top:14px;padding:5px}.panel{max-height:94dvh;overflow-y:auto}@media(max-height:680px){.stage-screen{gap:9px;padding:4%}.stage-card img{height:95px}.stage-card-copy{padding:8px}.stage-heading h2{font-size:23px}.stage-heading p{font-size:10px}}
/* Online score competition */
.online-menu{display:flex;gap:8px;margin:10px 0 0}.online-menu button{flex:1;border:2px solid #ffe799;border-radius:13px;padding:11px 4px;background:linear-gradient(#397a4b,#164c2c);box-shadow:0 4px 0 #112e1d;color:#fff5bf;font-weight:900;font-size:14px}.online-stage-badge{text-align:center;border:1px solid #9ced9c;background:#155936e6;border-radius:12px;padding:8px;font-weight:bold;color:#e5ffd3;margin:0 20px}.online-result{background:#194f32;border:1px solid #93c875;border-radius:14px;padding:10px;margin:10px 0;color:#ecffbd}.online-result p{margin:0 0 8px;font-weight:bold}.online-result button{padding:8px;background:#f6d95c;border:0;border-radius:9px;color:#254428;font-weight:bold;margin:3px}.online-dialog{width:min(92vw,405px);max-height:88dvh;overflow:auto;padding:25px 18px;border:3px solid #bddd86;border-radius:24px;background:linear-gradient(#174d2c,#092f21);color:#fff8d5;box-shadow:0 10px 60px #0009}.online-dialog::backdrop{background:#041d13bb}.online-dialog h2{font-size:25px;margin:10px 0}.online-dialog p{line-height:1.6}.online-dialog label{display:block;font-weight:bold;margin:12px 0 7px}.online-dialog input,.online-dialog select{width:100%;box-sizing:border-box;border:2px solid #badb83;border-radius:10px;background:#f9ffdf;color:#173c26;padding:12px;font-size:17px;user-select:text;-webkit-user-select:text;touch-action:manipulation}.online-dialog .primary{margin-top:12px;width:100%}.online-note{font-size:12px;color:#cae3b1}.ranking-controls{display:flex;gap:8px;align-items:center}.ranking-controls label{margin:0;font-size:14px}.ranking-controls select{flex:1;min-width:0;font-size:14px}.ranking-controls button{background:#edcf55;border:0;border-radius:10px;padding:10px;font-size:22px;color:#245331}.ranking-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}.ranking-table th{color:#f5d95d;font-size:12px;padding:8px 4px}.ranking-table td{border-top:1px solid #77ac6155;padding:11px 4px}.ranking-table td:first-child{width:42px;text-align:center}.ranking-table td:last-child{text-align:right;font-weight:900;color:#ffe56c;font-size:17px;white-space:nowrap}.ranking-table b{display:block;overflow-wrap:anywhere}.ranking-table small{display:block;color:#b2d29d;font-size:10px;margin-top:4px}#onlineError{color:#ffba96}.online-dialog input:focus,.online-dialog select:focus{outline:3px solid #ffe05e;outline-offset:2px}.online-menu button:disabled,#stageStart:disabled{opacity:.65}@media(max-height:740px){.online-menu button{padding:7px 3px}.online-menu{margin-top:6px}.menu-bottom .hint{margin:7px 0}}

/* Rang's short, readable speech bubbles. */
#rangMood{width:clamp(132px,38vw,185px);min-width:0;white-space:normal;line-height:1.45;font-size:clamp(11px,3vw,13px);padding:7px 9px;box-sizing:border-box;box-shadow:0 3px 0 #263c1b55;overflow-wrap:anywhere}
#rangMood:before{content:"";position:absolute;left:-8px;top:15px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:8px solid #719946}
.rang-result-quote{color:#fff3b7;font-size:12px;line-height:1.5;margin:0 0 12px;padding:9px 12px;background:#143826;border:1px solid #abc97a66;border-radius:12px}

.menu-tools{gap:7px}.menu-tools button{font-size:21px}.menu-tools span{font-size:9px}.pause-audio{display:flex;gap:10px;margin:0 0 20px}.pause-audio button{flex:1;background:#133b2c;border:1px solid #b0cf7880;border-radius:12px;padding:12px;font-size:23px}.pause-audio span{display:block;font-size:12px;margin-top:5px}#music[aria-pressed=false],#sound[aria-pressed=false],.pause-audio button[aria-pressed=false]{opacity:.65}

#ultimate b{font-size:10px;width:88px;white-space:normal;line-height:1.2;bottom:-21px;text-align:center}#ultimate span{font-size:28px}

/* Scroll ten crop cards while keeping the selected-field action reachable. */
.stage-screen{justify-content:flex-start;overflow:hidden;padding:5% 5%;gap:12px}.stage-heading,.stage-footer,.online-stage-badge{flex-shrink:0}.stage-grid{min-height:0;flex:1;overflow-y:auto;align-content:start;padding:3px 3px 9px;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}.stage-card{flex-shrink:0}.stage-card img{height:105px}.stage-card b{white-space:normal}.stage-footer .secondary{margin-top:9px;padding:9px}.stage-heading h2{margin:5px 0}.stage-footer{padding-top:3px}

/* Dedicated close-up crop artwork keeps every field recognizable at thumbnail size. */
.stage-card img{height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center;background:#315727}.stage-card-copy{padding:10px 9px 11px}.stage-card b{font-size:clamp(13px,3.5vw,16px);line-height:1.35;color:#fff8c9}.stage-card span{font-size:9px;line-height:1.4;margin-top:4px}.stage-card small{margin-top:7px}.stage-card[aria-pressed=true]{box-shadow:0 0 0 2px #ffdf69,0 5px 0 #071e17}


/* Reserve a full emoji row so Thai accents cannot cover the helicopter. */
.brand{display:flex;flex-direction:column;align-items:center;gap:0;padding:0 12px}
.brand-icon{position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 52px;height:52px;line-height:1.4;margin:0 0 14px;font-size:35px}
.brand h1{position:relative;flex-shrink:0;margin:0;line-height:1.25}
.brand h1 span{line-height:1.25}
.brand .fieldrush{flex-shrink:0;margin-top:10px}
@media(max-height:650px){.brand-icon{flex-basis:45px;height:45px;font-size:31px;margin-bottom:12px}.brand h1{line-height:1.25}.brand .fieldrush{margin-top:8px}}

/* Lift the complete title clear of the menu drone. */
.brand{transform:translateY(-36px)}.top-tag{transform:translateY(-18px)}@media(max-height:650px){.brand{transform:translateY(-20px)}}

.player-count{font-size:10px;line-height:1.5;margin-top:13px;color:#eaf5c8;font-weight:700}.player-count+.round-tag{margin-top:7px}@media(max-height:650px){.player-count{margin-top:8px;font-size:9px}}

#rang[data-face=laugh] .pilot-art{animation:pilot-chuckle .28s ease-in-out alternate infinite}#rang[data-face=tongue] .pilot-art{animation:pilot-tease .6s ease-in-out alternate infinite}#rang[data-face=smirk] .pilot-art,#rang[data-face=brow] .pilot-art{filter:brightness(1.06)}@keyframes pilot-chuckle{to{transform:translateY(-3px) rotate(-1deg)}}@keyframes pilot-tease{to{transform:rotate(1.5deg)}}@media(prefers-reduced-motion:reduce){#rang .pilot-art{animation:none!important}}

#rang[data-pose=focused] .pilot-art{animation:pilot-control 1.8s ease-in-out alternate infinite}#rang[data-pose=thumbs] .pilot-art{animation:pilot-approve .55s ease-in-out alternate 4}#rang[data-pose=cheer] .pilot-art{animation:pilot-celebrate .42s ease-in-out alternate infinite}@keyframes pilot-control{to{transform:translateY(-1px) rotate(-.7deg)}}@keyframes pilot-approve{to{transform:translateY(-2px) rotate(-2deg)}}@keyframes pilot-celebrate{to{transform:translateY(-5px) rotate(2deg)}}@media(prefers-reduced-motion:reduce){#rang[data-pose] .pilot-art{animation:none!important}}

.stage-card .stage-boss{font-size:clamp(12px,3.3vw,14px);color:#ffe38b;line-height:1.35;font-weight:900;margin:5px 0}
