:root{--green:#087a55;--dark:#053f32;--cream:#fff9e9;--orange:#ff7137;--gold:#ffd43b;--ink:#12362d;--glass:rgba(255,255,255,.92)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none;touch-action:none;background:#0b7657;font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--ink);user-select:none}button{font:inherit;cursor:pointer}button:focus-visible{outline:3px solid #ffd43b;outline-offset:2px}#game-shell{position:relative;width:100%;height:100%;min-height:520px;overflow:hidden}#game-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.topbar{position:absolute;z-index:30;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));pointer-events:none}.topbar>*{pointer-events:auto}.home-link{height:42px;display:flex;align-items:center;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.9);color:var(--green);font-size:13px;font-weight:900;text-decoration:none;box-shadow:0 5px 18px rgba(5,63,50,.13)}.top-actions{display:flex;align-items:center;gap:6px}.top-actions>button,.wallet,.language{height:42px;border:1px solid rgba(8,122,85,.16);background:rgba(255,255,255,.92);border-radius:999px;box-shadow:0 5px 18px rgba(5,63,50,.1)}.top-actions>button{width:42px;padding:0;border:0}.wallet{display:flex;align-items:center;padding:0 12px;font-size:13px}.language{display:flex;padding:3px}.language button{width:34px;height:34px;border:0;border-radius:999px;background:transparent;color:#517067;font-size:11px;font-weight:900}.language button[aria-pressed=true]{background:var(--green);color:#fff}.screen{position:absolute;z-index:10;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:74px 20px max(18px,env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(255,250,231,.62),rgba(255,255,255,.88));backdrop-filter:blur(4px)}.screen[hidden],.hud[hidden],.rush-meter[hidden],.tap-hint[hidden]{display:none!important}.start-screen{justify-content:flex-start;overflow:auto}.title-lockup{text-align:center;margin-top:3px}.brand-kicker{font-size:11px;font-weight:1000;letter-spacing:.18em;color:var(--green)}h1{font-size:clamp(42px,8vw,72px);line-height:.95;margin:5px 0;color:var(--green);letter-spacing:-.06em;text-shadow:0 3px #fff}h1 strong{color:var(--orange)}.title-lockup p{margin:8px 0 0;font-weight:800;color:#506d64}.hero-mascot{position:relative;width:220px;height:150px;display:flex;align-items:center;justify-content:center;margin:4px 0 0}.hero-mascot img{position:relative;z-index:2;width:128px;height:128px;object-fit:contain;filter:drop-shadow(0 12px 9px rgba(5,62,47,.23));animation:bob 2s ease-in-out infinite}.hero-wing{position:absolute;z-index:1;width:80px;height:58px;background:#fff8df;border:4px solid #e2a93f;border-radius:85% 20% 75% 25%;top:43px;animation:flap .5s ease-in-out infinite alternate}.hero-wing.left{left:13px;transform:rotate(-23deg)}.hero-wing.right{right:13px;transform:scaleX(-1) rotate(-23deg)}.hero-mascot>i{position:absolute;right:9px;top:8px;font-size:26px;animation:spark 1.3s ease-in-out infinite}@keyframes bob{50%{transform:translateY(-7px)}}@keyframes flap{to{margin-top:-16px;transform:rotate(-37deg)}}@keyframes spark{50%{transform:scale(1.25) rotate(20deg)}}.difficulty{width:min(680px,100%);text-align:center}.difficulty>p{margin:0 0 7px;font-size:11px;letter-spacing:.1em;font-weight:1000}.difficulty>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.difficulty button{min-width:0;padding:11px 7px;border:2px solid transparent;border-radius:17px;background:rgba(255,255,255,.82);box-shadow:0 7px 18px rgba(14,70,54,.1);color:var(--ink)}.difficulty button>span{display:block;font-size:17px}.difficulty button b{display:block;font-size:14px}.difficulty button small{display:block;margin-top:4px;font-size:9px;line-height:1.25;color:#64776f}.difficulty button.selected{border-color:var(--green);background:#fff;transform:translateY(-2px);box-shadow:0 9px 22px rgba(8,122,85,.2)}.primary,.secondary,.text-button{width:min(360px,100%);min-height:54px;border-radius:17px;font-weight:1000}.primary{border:0;background:linear-gradient(135deg,var(--orange),#ff963e);color:#fff;font-size:17px;box-shadow:0 9px 20px rgba(255,113,55,.29);margin-top:13px}.secondary{border:2px solid var(--green);background:#fff;color:var(--green);margin-top:9px}.text-button{border:0;background:transparent;color:#4f675f}.menu-actions{width:min(540px,100%);display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:12px}.menu-actions button{border:0;border-radius:14px;background:rgba(255,255,255,.8);padding:9px 3px;color:var(--ink);box-shadow:0 5px 13px rgba(15,68,53,.08)}.menu-actions b{display:block;font-size:19px}.menu-actions span{font-size:9px;font-weight:800}.hud{position:absolute;z-index:8;top:max(63px,calc(env(safe-area-inset-top) + 52px));left:10px;right:10px;display:grid;grid-template-columns:42px repeat(3,1fr) auto;gap:6px;align-items:center}.hud>button,.hud>span{height:47px;border:0;border-radius:13px;background:rgba(4,57,44,.8);color:#fff;box-shadow:0 5px 14px rgba(0,0,0,.15);backdrop-filter:blur(5px)}.hud>button{font-weight:900}.hud>span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;padding:3px 6px}.hud small{font-size:8px;opacity:.75;text-transform:uppercase}.hud b{font-size:13px}.hud i{font-style:normal}.hud .hud-hearts{font-size:14px;white-space:nowrap;padding:0 9px}.rush-meter{position:absolute;z-index:8;top:max(116px,calc(env(safe-area-inset-top) + 105px));left:50%;transform:translateX(-50%);width:min(290px,70%);padding:7px 11px;background:rgba(45,25,18,.82);border:1px solid rgba(255,202,62,.65);border-radius:999px;color:#fff;display:flex;align-items:center;gap:10px;font-size:10px}.rush-icons{display:flex;gap:3px}.rush-icons i{font-style:normal;filter:grayscale(1);opacity:.28}.rush-icons i.active{filter:none;opacity:1}.rush-meter>em{flex:1;height:5px;background:rgba(255,255,255,.2);border-radius:9px;overflow:hidden}.rush-meter>em i{display:block;height:100%;background:linear-gradient(90deg,#ff693d,#ffd43b);width:0}.tap-hint{position:absolute;z-index:7;left:50%;bottom:12%;transform:translateX(-50%);padding:10px 18px;border-radius:999px;background:rgba(4,57,44,.75);color:#fff;font-weight:900;font-size:12px;animation:pulse 1.1s ease-in-out infinite}@keyframes pulse{50%{transform:translateX(-50%) scale(1.05);opacity:.72}}.toast{position:absolute;z-index:40;left:50%;bottom:max(22px,env(safe-area-inset-bottom));transform:translate(-50%,20px);opacity:0;pointer-events:none;padding:10px 16px;border-radius:999px;background:#073f32;color:#fff;font-size:12px;font-weight:900;transition:.25s;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}.compact{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(500px,calc(100% - 24px));height:auto;max-height:calc(100% - 100px);padding:27px 22px;border-radius:26px;background:var(--glass);box-shadow:0 20px 60px rgba(4,50,39,.3);backdrop-filter:blur(14px);overflow:auto}.compact h2{margin:2px 0 13px;color:var(--green);font-size:30px}.over-screen{padding-top:18px}.fail-bowl{font-size:55px;line-height:1;position:relative;animation:wobble .6s ease-in-out}.fail-bowl span{font-size:30px;position:absolute;right:-25px;top:8px;transform:rotate(45deg)}@keyframes wobble{25%{transform:rotate(-10deg)}65%{transform:rotate(8deg)}}.new-record{border-radius:999px;background:#fff1b8;color:#8a5c00;padding:7px 13px;font-size:12px;font-weight:1000;margin-bottom:10px}.results{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.results>span{border-radius:13px;background:#eef7f2;padding:10px 5px;text-align:center}.results small{display:block;font-size:8px;color:#60766d}.results b{display:block;margin-top:3px;color:var(--green);font-size:17px}.results i{font-style:normal}.panel{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(640px,calc(100% - 22px));height:auto;max-height:calc(100% - 96px);justify-content:flex-start;padding:26px 18px;border-radius:25px;background:rgba(255,255,255,.96);box-shadow:0 20px 60px rgba(4,50,39,.3);overflow:auto}.panel h2{margin:0 0 18px;color:var(--green)}.close{position:absolute;right:12px;top:12px;width:38px;height:38px;border:0;border-radius:50%;background:#eaf4ef;color:var(--green);font-size:24px}.record-list,.mission-list,.wing-list,.settings-list{width:100%;display:grid;gap:9px}.record-row,.mission-row,.wing-card,.setting-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #dcece5;background:#f8fcfa;border-radius:15px;padding:12px}.record-row b,.mission-row b{color:var(--green)}.mission-copy{flex:1}.mission-copy strong{display:block;font-size:13px}.mission-copy small{font-size:10px;color:#6a7b75}.mission-progress{width:100%;height:6px;background:#e3eee9;border-radius:9px;overflow:hidden;margin-top:6px}.mission-progress i{display:block;height:100%;background:var(--orange)}.wing-list{grid-template-columns:repeat(2,1fr)}.wing-card{align-items:center}.wing-demo{font-size:30px}.wing-card div:nth-child(2){flex:1}.wing-card strong{display:block}.wing-card small{font-size:10px;color:#61736d}.wing-card button,.setting-row button{border:0;border-radius:10px;background:var(--green);color:#fff;padding:9px 11px;font-size:10px;font-weight:900}.wing-card button:disabled{background:#9eaaa6}.setting-row button.off{background:#78847f}
@media(min-width:800px){#game-shell{max-width:1120px;margin:auto;box-shadow:0 0 80px rgba(0,0,0,.25)}.start-screen{padding-top:68px}.hero-mascot{height:180px;width:260px}.hero-mascot img{width:150px;height:150px}.hero-wing{width:95px;height:68px}.hero-wing.left{left:8px}.hero-wing.right{right:8px}.difficulty button{padding:13px}.menu-actions span{font-size:11px}.hud{left:18px;right:18px}.hud b{font-size:15px}}
@media(max-width:430px){.topbar{padding-left:8px;padding-right:8px}.home-link{font-size:10px;padding:0 10px}.top-actions{gap:3px}.wallet{padding:0 8px}.top-actions>button{width:38px}.language button{width:29px}.start-screen{padding-left:12px;padding-right:12px}.title-lockup{margin-top:0}h1{font-size:43px}.hero-mascot{height:137px;margin-top:-2px}.hero-mascot img{width:115px;height:115px}.hero-wing{width:72px;height:52px}.difficulty button{padding:9px 3px}.difficulty button small{font-size:8px}.primary{min-height:51px}.menu-actions{margin-top:9px}.hud{left:6px;right:6px;gap:3px;grid-template-columns:36px repeat(3,1fr) auto}.hud>button,.hud>span{height:43px;border-radius:11px}.hud small{font-size:7px}.hud b{font-size:11px}.hud .hud-hearts{font-size:11px;padding:0 5px}.results{grid-template-columns:repeat(2,1fr)}.wing-list{grid-template-columns:1fr}}
@media(max-height:680px){.screen.start-screen{padding-top:61px}.title-lockup p{font-size:12px}.hero-mascot{height:110px}.hero-mascot img{width:100px;height:100px}.hero-wing{top:30px;width:65px;height:45px}.difficulty button{padding:7px 3px}.primary{margin-top:8px}.menu-actions{margin-top:7px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* V2 selected character: the classic Phở Run mascot with compact flying wings. */
.hero-mascot img{width:172px;height:145px;animation:bob 1.25s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(-8px) rotate(-3deg)}}
@media(min-width:800px){.hero-mascot img{width:198px;height:170px}}
@media(max-width:430px){.hero-mascot img{width:164px;height:132px}}
@media(max-height:680px){.hero-mascot img{width:140px;height:105px}}
