:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--body-font:"Bubblegum Sans", "Nunito", system-ui, sans-serif;--display-font:"Bubblegum Sans", "Nunito", system-ui, sans-serif;--menu-display-font:"Lilita One", "Bubblegum Sans", "Nunito", system-ui, sans-serif;--panel-top:#2b3f8f;--panel-mid:#1a2c6c;--panel-bottom:#0f1d50;--panel-fill:#10295c;--panel-well:#0a1a46;--panel-stroke:#8bbcff;--panel-inner-stroke:#51b3ff;--gold-rim-light:#ffe68a;--gold-rim-mid:#f6c543;--gold-rim-dark:#d18a1f;--outline-purple:#3a1b63;--outline-purple-deep:#23103f;--logo-pink:#f8507f;--dark-ink:#2a1a4a;--cream-ink:#fff3c8;--cream-bright:#fffbea;--gold:#ffd84d;--score-ribbon-top:#1593f3;--score-ribbon-bottom:#0d5ebd;--action-blue-top:#34c6ff;--action-blue-bottom:#18e;--action-green-top:#9be33d;--action-green-bottom:#2cb034;--action-orange-bottom:#f08d18;--medal-gold-top:#ffe070;--medal-gold-bottom:#e39a1b;--medal-silver-top:#f4f7fc;--medal-silver-bottom:#98a7bf;--medal-bronze-top:#f2b27c;--medal-bronze-bottom:#b5652a;--rank-purple-top:#8c6cf0;--rank-purple-bottom:#5a44b8;--panel-bevel:inset 0 2px 0 #ffffff29, inset 0 -12px 26px #040a284d, 0 -1px 0 5px var(--gold-rim-light), 0 1px 0 5px var(--gold-rim-dark), 0 0 0 8px var(--outline-purple), 0 26px 52px #060c2e75;--display-shadow:0 2px 0 var(--outline-purple), 0 5px 10px #0c061e59;color:#24162e;touch-action:none;background:#8fd8ff;font-family:Bubblegum Sans,Nunito,system-ui,sans-serif}@font-face{font-family:Bubblegum Sans;src:url(/assets/fonts/BubblegumSans-Regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Lilita One;src:url(/assets/fonts/LilitaOne-Regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}*{box-sizing:border-box}html,body,#game-shell,#game{width:var(--goodboys-vw,100vw);height:var(--goodboys-vh,100dvh);min-height:var(--goodboys-vh,100dvh);margin:0;overflow:hidden}body{background:#9edfff;position:fixed;inset:0}canvas{width:100%;height:100%;display:block}#loading-splash{z-index:50;font-family:var(--body-font);background:linear-gradient(#3fc3ff1f,#255fa429),url(/assets/ui/generated/menu-bg-portrait.jpg) 50%/cover no-repeat,#6fd2ff;place-items:center;transition:opacity .28s ease-out;display:grid;position:fixed;inset:0}#loading-splash[hidden]{display:none}#loading-splash.fade-out{opacity:0;pointer-events:none}.loading-card{text-align:center;justify-items:center;gap:14px;padding:28px 36px;display:grid}.loading-brand{margin:0}.loading-brand-logo{filter:drop-shadow(0 12px 22px #36145747);width:min(720px,86vw);height:auto;display:block}.loading-attribution{font-family:var(--body-font);color:var(--cream-ink);background:#160a2a85;border-radius:999px;margin:0;padding:.32em .95em .38em;font-size:clamp(15px,3vw,20px);font-style:normal;font-weight:700;line-height:1.1;box-shadow:inset 0 0 0 1px #ffffff4d}.loading-status{font-family:var(--menu-display-font);letter-spacing:.03em;color:var(--cream-bright);text-shadow:var(--display-shadow);margin:0;font-size:clamp(18px,3vw,24px);font-weight:400}.loading-spinner{border:6px solid #3a1b6359;border-top-color:var(--gold-rim-mid);border-radius:50%;width:56px;height:56px;animation:.9s linear infinite loadingSpin}@keyframes loadingSpin{to{transform:rotate(360deg)}}#ui-root{pointer-events:none;z-index:5;height:100svh;position:fixed;inset:0;overflow:hidden}.screen{pointer-events:auto;height:100svh;max-height:100svh;padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));-webkit-overflow-scrolling:touch;touch-action:pan-y;background:linear-gradient(#1fa2f50a,#10467c2e),url(/assets/ui/generated/menu-bg-portrait.jpg) 50%/cover no-repeat,#61cfff;align-content:center;place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.main-menu-screen{padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left))}@media (orientation:landscape){#loading-splash,.screen,.game-over-screen{background:linear-gradient(#1fa2f50d,#10467c2e),url(/assets/ui/generated/menu-bg-landscape.jpg) 50%/cover no-repeat,#61cfff}}.menu-panel,.game-over-panel,.pause-panel{--menu-panel-soft-stroke:#8bbcff;-webkit-backdrop-filter:blur(14px)saturate(1.15);backdrop-filter:blur(14px)saturate(1.15);box-shadow:var(--panel-bevel);color:var(--cream-bright);background:linear-gradient(#ffffff1a 0%,#fff0 22%),linear-gradient(168deg,#2b3f8ff0 0%,#1a2c6cf2 48%,#0f1d50f7 100%);border:1px solid #8bbcff4d;border-radius:clamp(28px,5vw,36px);position:relative}.menu-panel{scrollbar-width:thin;scrollbar-color:#77beffb3 transparent;width:min(720px,94vw);padding:clamp(18px,3.4vw,34px) clamp(18px,4.2vw,42px) clamp(44px,6vw,58px)}.menu-panel>*{z-index:1;position:relative}.panel-title{font-family:var(--menu-display-font);letter-spacing:.02em;text-align:center;color:var(--cream-bright);text-shadow:var(--display-shadow);margin:0;font-weight:400;line-height:.95}.panel-kicker{font-family:var(--menu-display-font);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);text-shadow:0 1px #1408288c;justify-content:center;align-items:center;gap:.5em;margin:0 auto;font-size:clamp(12px,1.6vw,15px);display:inline-flex}.panel-kicker:before,.panel-kicker:after{content:"";background:linear-gradient(90deg,#ffd84d00,#ffd84dd9);border-radius:2px;width:clamp(22px,4vw,46px);height:2px}.panel-kicker:after{background:linear-gradient(270deg,#ffd84d00,#ffd84dd9)}.brand{margin:0 auto}.brand-logo{object-fit:contain;object-position:center;filter:drop-shadow(0 10px 14px #030f3073);width:min(600px,100%);height:auto;max-height:185px;margin-inline:auto;display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.screen-attribution,.tagline{font-family:var(--body-font);font-synthesis:none;text-align:center;font-style:normal}.screen-attribution{z-index:8;left:max(14px, env(safe-area-inset-left));bottom:max(10px, env(safe-area-inset-bottom));width:min(330px,42vw);min-height:clamp(22px,3.2vw,34px);color:var(--cream-ink);box-shadow:none;pointer-events:none;background:0 0;justify-content:flex-start;align-items:center;margin:0;padding:0;font-size:clamp(11px,2.4vw,14px);font-weight:600;line-height:1.1;display:flex;position:fixed}.screen-attribution-image{object-fit:contain;object-position:left center;width:100%;height:clamp(22px,3.2vw,34px);margin:0;display:block}.screen-attribution-image[hidden],.tagline-image[hidden],.character-role-image[hidden],.character-name-badge[hidden],.screen-attribution-fallback[hidden],.tagline-fallback[hidden],.character-role-fallback[hidden],.character-name-fallback[hidden]{display:none}.screen-attribution-fallback,.tagline-fallback{display:inline-block}.tagline{width:min(520px,88%);color:var(--cream-bright);font-family:var(--menu-display-font);letter-spacing:.02em;text-shadow:var(--display-shadow);margin:clamp(4px,1vw,10px) auto clamp(18px,3vw,26px);font-size:clamp(20px,4.2vw,32px);font-weight:400;line-height:1.15}.tagline-image{object-fit:contain;width:min(360px,74%);height:clamp(28px,4.4svh,42px);margin:0 auto;display:block}.character-grid{perspective:900px;grid-template-columns:1fr;gap:clamp(14px,2.2vw,18px);display:grid}.character-card,.primary-btn,.ghost-btn{font:inherit;cursor:pointer;border:0}.character-card{--card-accent:#58c8ff;--card-accent-rgb:88, 200, 255;isolation:isolate;min-height:clamp(212px,27vh,300px);box-shadow:inset 0 0 0 1px #8bbcff47, inset 0 3px 12px #ffffff1a, 0 0 0 2px #23103feb, 0 8px 0 #060a2670, 0 18px 30px #060c2a6b, 0 0 28px rgba(var(--card-accent-rgb), .12);text-align:left;transform-origin:50%;background:linear-gradient(160deg,#fff4d6 0%,#ffe5ac 66%,#f4cd82 100%);border:3px solid #ffffffd6;border-radius:clamp(22px,3.6vw,30px);grid-template-columns:minmax(0,1fr);align-items:center;gap:clamp(6px,1.6vw,16px);padding:clamp(16px,2.8vw,26px) clamp(14px,2vw,22px) clamp(24px,4vw,34px) clamp(18px,2.8vw,28px);transition:border-color .14s,box-shadow .14s,filter .14s,transform .14s;display:grid;position:relative;overflow:hidden;transform:translate(0,0)scale(1);container-type:size}.character-card[data-character=springer-doodle]{--card-accent:#a77dff;--card-accent-rgb:167, 125, 255}.character-card[data-character=mish-labradoodle]{--card-accent:#ffd267;--card-accent-rgb:255, 210, 103}.character-card:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(145deg,#fffbea80,#0000 55%);position:absolute;inset:0}.card-pennant{z-index:3;width:clamp(88px,12vw,132px);max-width:calc(100% - clamp(24px,4vw,36px));box-shadow:none;background:0 0;border:0;border-radius:999px;padding:0;position:absolute;top:clamp(12px,2vw,18px);left:clamp(12px,2vw,18px)}.character-name-fallback{font-family:var(--menu-display-font);color:#fff;letter-spacing:.02em;text-shadow:0 2px #1c113880;white-space:nowrap;text-overflow:ellipsis;background:linear-gradient(#ef4a40,#cf2c25);border:2px solid #fff7e6;border-radius:999px;padding:clamp(6px,1vw,10px) clamp(16px,2.4vw,24px);font-size:clamp(22px,3.8vw,34px);font-weight:400;line-height:1.02;display:inline-block;overflow:hidden;box-shadow:0 0 0 3px #2a1a4a,0 5px #1c113852}.character-name-badge{object-fit:contain;filter:drop-shadow(0 5px 6px #190c3038);width:100%;height:auto;display:block}.character-copy{z-index:3;align-content:start;place-self:start;gap:clamp(5px,1vw,9px);min-width:0;margin-top:0;display:grid;position:absolute;bottom:clamp(18px,3vw,28px);left:clamp(18px,2.8vw,28px)}.character-breed{font-family:var(--menu-display-font);color:#2a1a4a;text-shadow:none;font-size:clamp(17px,2.5vw,24px);font-weight:400;line-height:1.12;display:block;position:relative}.character-breed .breed-text{text-shadow:none}.character-role-image{object-fit:contain;object-position:left center;width:auto;max-width:min(240px,100%);height:clamp(36px,5.4vw,56px);display:block}.character-role-fallback{display:inline-block}.character-card:hover{filter:brightness(1.05)}.character-card.selected{z-index:4;border-color:#fffffffa;transform:translate3d(0,-8px,28px)scale(1.035);box-shadow:inset 0 0 0 1px #ffffff6b,inset 0 3px 14px #ffffff2e,0 0 0 2px #3a1b63,0 0 0 6px #f6c543,0 0 0 8px #3a1b63,0 16px #060a2675,0 30px 46px #03081e80,0 0 34px #f6c54361}.character-card:focus-visible{outline-offset:4px;outline:4px solid #8eefffd9}.button-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 18px;margin-top:clamp(18px,3vw,26px);display:flex}.menu-hint{font-family:var(--body-font);color:var(--cream-ink);opacity:.86;text-shadow:0 1px #14082880;margin:0;font-size:clamp(14px,1.6vw,18px);font-weight:700}.primary-btn,.ghost-btn,.submit-btn,.game-over-action,.pause-action{--btn-top:#5ad6ff;--btn-bottom:#1a8dee;--btn-ink:#fff;--btn-text-shadow:0 2px 0 #140a3c61;min-height:62px;font-family:var(--menu-display-font);letter-spacing:.05em;text-transform:uppercase;color:var(--btn-ink);text-shadow:var(--btn-text-shadow);background:linear-gradient(180deg, var(--btn-top), var(--btn-bottom));box-shadow:inset 0 3px 0 #ffffff6b, inset 0 -4px 0 #00000029, 0 0 0 3px var(--outline-purple), 0 6px 0 3px var(--outline-purple-deep), 0 12px 22px #060c2e5c;cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;border-radius:21px;justify-content:center;align-items:center;gap:.45em;padding:0 30px;font-size:clamp(18px,2.1vw,22px);font-weight:400;line-height:1;transition:transform 90ms,box-shadow 90ms,filter .12s;display:inline-flex;position:relative}.primary-btn:hover,.ghost-btn:hover,.submit-btn:not(:disabled):hover,.game-over-action:hover,.pause-action:hover{filter:brightness(1.06)}.primary-btn:active,.ghost-btn:active,.submit-btn:not(:disabled):active,.game-over-action:active,.pause-action:active{box-shadow:inset 0 3px 0 #ffffff4d, inset 0 -2px 0 #00000029, 0 0 0 3px var(--outline-purple), 0 2px 0 3px var(--outline-purple-deep), 0 6px 12px #060c2e4d;transform:translateY(4px)}.primary-btn:focus-visible,.ghost-btn:focus-visible,.submit-btn:focus-visible,.game-over-action:focus-visible,.pause-action:focus-visible{outline-offset:6px;outline:4px solid #8eefffd9}.btn-gold,.ghost-btn,.menu-action,.resume-action{--btn-top:#ffe57a;--btn-bottom:#f4a422;--btn-ink:#2a1a4a;--btn-text-shadow:0 1px 0 #ffffff61}.btn-blue,.primary-btn,.run-action,.pause-action.menu-action{--btn-top:#5ad6ff;--btn-bottom:#1a8dee;--btn-ink:#fff;--btn-text-shadow:0 2px 0 #140a3c61}.btn-green,.submit-btn{--btn-top:#a6ea48;--btn-bottom:#2fb53a;--btn-ink:#fff;--btn-text-shadow:0 2px 0 #0a3c1459}.btn-icon{color:currentColor;background:#ffffff3d;border-radius:.5em;place-items:center;width:1.5em;height:1.5em;font-size:.85em;display:inline-grid;box-shadow:inset 0 1px #ffffff4d}.hud{pointer-events:none;padding:max(13px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) 0 max(14px, env(safe-area-inset-left));text-shadow:0 2px #0210336b;justify-content:space-between;align-items:flex-start;gap:12px;font-weight:1000;display:flex;position:absolute;inset:0}.damage-flash{pointer-events:none;opacity:0;background:linear-gradient(90deg,#ff2a5a6b,#ff2a5a0d 25%,#fff4ae24 50%,#ff2a5a0d 75%,#ff2a5a6b),linear-gradient(#ffffff2e,#ff366038);position:fixed;inset:0;box-shadow:inset 0 0 58px #ff1f52a8}.damage-flash.is-active{animation:.56s ease-out both damageFlash}.hud-health-side{flex-direction:column;flex:none;align-items:flex-start;gap:clamp(2px,.6vw,5px);min-width:0;display:flex}.hud-cluster{color:#fff8d6;filter:drop-shadow(0 10px 14px #06123638);flex:none;line-height:1;position:relative}.hud-frame{object-fit:fill;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.hud-health-cluster{aspect-ratio:814/300;width:clamp(260px,24vw,350px);container-type:size}.hud-score-cluster{aspect-ratio:551/314;width:clamp(210px,18vw,268px);container-type:size}.hud-health-content,.hud-score-content{z-index:1;position:absolute}.hud-health-content{align-content:center;display:grid;inset:27% 12% 27% 37%}.health-slots{grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:clamp(0px,.6cqw,3px);display:grid}.health-slot{place-items:center;min-width:0;display:grid;position:relative}.health-slot img{filter:drop-shadow(0 2px #050c2b42);width:auto;height:clamp(12px,26cqh,42px);display:block}.health-slot.is-filled img{transform:translateY(-1px)}.hud-health-cluster.is-damaged{animation:.22s ease-out both hudDamagePop}.hud-health-cluster.is-damaged .health-slot.is-empty img{animation:.36s ease-out both pipLost}.hud-health-cluster.is-low-health .health-slot.is-filled img{animation:.92s ease-in-out infinite lowHealthPulse}.hud-level-chip{color:#3d4658;letter-spacing:.01em;max-width:100%;text-shadow:none;background:#ffffff94;border-radius:999px;align-self:flex-start;align-items:center;gap:.45em;padding:.18em .66em .22em;font-size:clamp(8px,2.3vw,12px);line-height:1;display:inline-flex}.hud-level-number{font-family:var(--display-font);color:#2a3140;font-size:1.08em;font-weight:800}.hud-time{text-overflow:ellipsis;white-space:nowrap;color:#5a6478;text-transform:capitalize;overflow:hidden}.hud-score-content{place-items:center;display:grid;inset:18% 24% 18% 7%}.score-number{color:#fff;max-width:100%;font-family:var(--display-font);text-align:center;text-shadow:0 1px 2px #1a102a8c,0 0 8px #1a102a40;font-variant-numeric:tabular-nums;font-size:clamp(22px,40cqh,54px);line-height:.9;overflow:hidden}.hud-score-cluster.is-score-bumped .score-number{animation:.26s ease-out both scoreBump}.reward-popups{z-index:2;justify-items:center;display:grid;position:absolute;top:58%;left:17%}.reward-popup{color:#fff1a6;font-family:var(--display-font);text-shadow:0 2px #7b3497f5,0 5px 10px #0000003d;opacity:calc(1 - var(--popup-age));transform:translateY(calc(var(--popup-age) * -30px)) scale(calc(1.08 - var(--popup-age) * .1));grid-area:1/1;font-size:clamp(14px,22cqh,28px)}@keyframes hudDamagePop{0%{filter:drop-shadow(0 10px 14px #06123638);transform:translateY(0)scale(1)}35%{filter:drop-shadow(0 0 16px #ff40768f);transform:translateY(1px)scale(1.035)}to{filter:drop-shadow(0 10px 14px #06123638);transform:translateY(0)scale(1)}}@keyframes damageFlash{0%{opacity:0}16%{opacity:1}to{opacity:0}}@keyframes pipLost{0%{filter:drop-shadow(0 0 10px #ff528ecc);transform:rotate(0)scale(1.08)}42%{transform:rotate(-7deg)scale(.92)}to{transform:rotate(0)scale(1)}}@keyframes lowHealthPulse{0%,to{filter:drop-shadow(0 2px #050c2b42)}50%{filter:drop-shadow(0 0 12px #ff3668bd)}}@keyframes scoreBump{0%{transform:scale(1)}45%{transform:scale(1.12)}to{transform:scale(1)}}.level-banner{pointer-events:none;font-family:var(--display-font);color:#fff5c4;text-shadow:0 4px #8627c2,0 10px 24px #280e4673;letter-spacing:1px;justify-items:center;font-size:clamp(42px,6vw,80px);animation:.32s ease-out both bannerPop;display:grid;position:absolute;inset:18% 0 auto}@keyframes bannerPop{0%{opacity:0;transform:scale(.6)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}#mobile-controls{pointer-events:none;z-index:8;padding:0 max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;column-gap:clamp(12px,3.8vw,28px);display:none;position:fixed;inset:auto 0 0}#mobile-controls.is-visible{display:grid}.pad{gap:10px;display:flex}.left-pad{justify-self:start}.center-pad{pointer-events:none;justify-self:center}.right-pad{justify-self:end}#mobile-controls button{pointer-events:auto;color:#1a0f38;letter-spacing:0;text-shadow:0 2px #ffffff47;touch-action:none;-webkit-user-select:none;user-select:none;background:linear-gradient(#ffffff70 0%,#ffffff1a 18%,#fff0 30%),linear-gradient(#ffe056 0%,#f5a23c 52%,#b54fc4 100%);border:3px solid #572680;border-radius:20px;min-width:78px;min-height:78px;font:400 18px Bubblegum Sans,Nunito,system-ui,sans-serif;position:relative;overflow:hidden;box-shadow:inset 0 4px #ffffff61,inset 0 -8px #35125c42,0 7px #321547,0 12px 18px #1412233d}#mobile-controls button:before{content:"";border-radius:30px;position:absolute;inset:-12px}#mobile-controls button:after{content:"";pointer-events:none;background:linear-gradient(#ffffff9e,#fff0);border-radius:999px;height:16px;position:absolute;inset:8px 10px auto}:where(#mobile-controls) button span{z-index:2;position:relative}#mobile-controls .left-pad button{min-width:90px;font-size:42px;line-height:1}#pause-btn{background:linear-gradient(#ffffff7a 0%,#ffffff1f 18%,#fff0 30%),linear-gradient(#f6df6e 0%,#d98f45 52%,#8f4ac8 100%);min-width:78px}.pause-icon{justify-content:center;align-items:center;gap:7px;height:22px;display:inline-flex}.pause-icon:before,.pause-icon:after{content:"";background:currentColor;border-radius:2px;width:5px;height:22px}.pause-overlay{z-index:9;padding:max(20px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto;background:#080a286b;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pause-panel{text-align:center;border-radius:28px;gap:18px;width:min(400px,100%);padding:26px 22px 24px;display:grid}.pause-title{font:400 clamp(38px, 8vw, 48px) / 1 var(--menu-display-font);letter-spacing:.03em;color:var(--cream-bright);text-shadow:var(--display-shadow);margin:0}.pause-subtitle{font-family:var(--body-font);color:var(--cream-ink);opacity:.86;margin:-8px 0 0;font-size:clamp(14px,3.6vw,17px);font-weight:700}.pause-actions{grid-template-columns:1fr 1fr;gap:14px;padding:4px 4px 0;display:grid}.pause-action{min-height:56px;padding:0 16px;font-size:clamp(16px,4vw,19px)}.leaderboard{color:#fff;flex-direction:column;gap:8px;margin-top:16px;font-weight:900;display:flex}.leaderboard-empty{min-height:120px;font-family:var(--body-font);text-align:center;color:var(--cream-ink);flex:auto;align-content:center;place-items:center;gap:10px;padding:16px;font-size:clamp(16px,2vw,20px);font-weight:700;line-height:1.3;display:grid}.leaderboard-empty:before{content:"★";font-family:var(--menu-display-font);color:var(--gold);text-shadow:0 3px #14082880;font-size:clamp(30px,4vw,40px);line-height:1}.leaderboard-empty.is-loading:before{content:"";border:5px solid #8bbcff47;border-top-color:var(--gold-rim-mid);border-radius:50%;width:34px;height:34px;animation:.9s linear infinite loadingSpin}.leaderboard-row{background:linear-gradient(#3052a8b8,#1c347acc);border-radius:16px;flex:none;grid-template-columns:48px minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:52px;padding:6px 14px 6px 7px;display:grid;box-shadow:inset 0 1px #ffffff29,inset 0 -3px #02103a57,0 0 0 1px #8bbcff38}.leaderboard-rank{background:linear-gradient(180deg, var(--rank-purple-top), var(--rank-purple-bottom));color:#fff;width:40px;height:40px;font-family:var(--menu-display-font);text-shadow:0 2px #1408286b;box-shadow:inset 0 2px 0 #ffffff6b, inset 0 -3px 0 #0003, 0 0 0 2px var(--outline-purple);border-radius:50%;place-items:center;font-size:20px;font-weight:400;line-height:1;display:grid}.leaderboard-row.is-first .leaderboard-rank{background:linear-gradient(180deg, var(--medal-gold-top), var(--medal-gold-bottom))}.leaderboard-row.is-second .leaderboard-rank{background:linear-gradient(180deg, var(--medal-silver-top), var(--medal-silver-bottom))}.leaderboard-row.is-third .leaderboard-rank{background:linear-gradient(180deg, var(--medal-bronze-top), var(--medal-bronze-bottom))}.leaderboard-name{text-overflow:ellipsis;white-space:nowrap;font-family:var(--menu-display-font);letter-spacing:.01em;color:#fff;text-shadow:0 2px #1408286b;font-size:19px;font-weight:400;overflow:hidden}.leaderboard-score,.leaderboard-level{white-space:nowrap;font-family:var(--menu-display-font);font-weight:400}.leaderboard-score{color:var(--gold);text-shadow:0 2px #14082880;font-variant-numeric:tabular-nums;font-size:19px}.leaderboard-score span{color:var(--gold);text-shadow:0 2px #9b5f0e}.leaderboard-level{letter-spacing:.06em;text-align:center;min-width:2.6em;color:var(--cream-ink);background:#0a1a469e;border-radius:999px;padding:.22em .5em .28em;font-size:13px;box-shadow:inset 0 0 0 1px #8bbcff42}.scores-panel{color:#fff;flex-direction:column;gap:clamp(12px,2.2vw,20px);padding-bottom:clamp(26px,4vw,40px);display:flex}.scores-panel .brand{color:var(--cream-bright);font-family:var(--menu-display-font);letter-spacing:.03em;text-align:center;text-shadow:var(--display-shadow);flex:none;font-size:clamp(42px,8vw,72px);font-weight:400;line-height:.95}.scores-panel .panel-kicker{flex:none;margin-top:-4px}.scores-panel .leaderboard{color:#fff;scrollbar-width:thin;scrollbar-color:#f6c543b3 transparent;background:linear-gradient(#040e2e59,#040e2e00 18px),#08163eb8;border-radius:22px;flex:auto;height:clamp(280px,52vh,536px);min-height:164px;margin-top:0;padding:14px;overflow-y:auto;box-shadow:inset 0 0 0 1px #8bbcff3d,inset 0 4px 14px #02081e6b,0 1px #ffffff14}.scores-panel .leaderboard-row,.scores-panel .leaderboard-name,.scores-panel .leaderboard-score,.scores-panel .leaderboard-level{color:#fff}.scores-panel .leaderboard-score{color:var(--gold)}.scores-panel .leaderboard-level{color:var(--cream-ink)}.scores-panel .button-row{flex:none;align-items:center;margin-top:0}.scores-panel #back-btn{flex:none;height:62px;min-height:62px}.score-form-hint{width:100%;font-family:var(--body-font);color:var(--cream-ink);opacity:.84;text-align:center;margin:0;font-size:clamp(12px,2.4vw,15px);font-weight:700}.score-form{gap:10px;margin-top:16px;display:flex}.score-form input{min-width:0;font:900 18px var(--body-font);border:3px solid #4b336940;border-radius:16px;flex:1;padding:0 14px}.game-over-screen{padding:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));background:linear-gradient(#1fa2f50f,#10467c33),url(/assets/ui/generated/menu-bg-portrait.jpg) 50%/cover no-repeat,#61cfff;grid-template:minmax(0,1fr)/minmax(0,1fr);align-items:center}@media (orientation:landscape){.game-over-screen{background:linear-gradient(#1fa2f50d,#10467c2e),url(/assets/ui/generated/menu-bg-landscape.jpg) 50%/cover no-repeat,#61cfff}}.game-over-clouds{display:none}.game-over-panel{z-index:1;border-radius:40px;grid-area:1/1;place-self:center;gap:clamp(8px,1.4vh,14px);width:min(650px,94vw);min-height:min(620px,100svh - 28px);max-height:min(92svh,900px);padding:clamp(16px,3vw,26px) clamp(18px,4vw,32px) clamp(40px,5.6vw,50px);display:grid;overflow:hidden}.game-over-panel>:not(.grass-trim){z-index:1;position:relative}.game-over-panel:before{content:"★";z-index:0;color:var(--gold);filter:drop-shadow(0 3px #3a1b6399);font-size:clamp(30px,5vw,46px);line-height:1;position:absolute;top:clamp(20px,3.2vw,36px);left:clamp(24px,5vw,44px)}.game-over-panel:after{content:"✦";z-index:0;color:#91efff;filter:drop-shadow(0 2px #30318e66);font-size:clamp(22px,4vw,34px);line-height:1;position:absolute;top:clamp(36px,5.4vw,64px);right:clamp(28px,5vw,50px)}.game-over-title{margin:-8px 0 -6px}.game-over-logo{object-fit:contain;filter:drop-shadow(0 8px 14px #00000047);width:min(540px,100%);height:auto;max-height:min(25vh,260px);margin:0 auto;display:block}.game-over-spark{z-index:1;text-shadow:0 3px #3c185f61;font-size:clamp(22px,4vw,38px);font-weight:1000;display:none;position:absolute}.spark-left{color:#ffd834;top:38px;left:34px}.spark-right{color:#8eefff;top:60px;right:44px}.score-ribbon{color:#fff;min-height:56px;font-family:var(--menu-display-font);letter-spacing:.02em;box-shadow:inset 0 3px 0 #ffffff42, inset 0 -5px 0 #00000038, 0 0 0 2px var(--outline-purple), 0 5px 0 2px var(--outline-purple-deep);text-shadow:0 2px #0000004d;background:linear-gradient(#1593f3,#0d5ebd);border-radius:16px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 12px;padding:8px 20px;font-size:clamp(18px,3vw,26px);font-weight:400;display:flex}.score-ribbon strong{color:#ffe85a;font-weight:400}.ribbon-star{color:#ffd43d;text-shadow:0 2px #be7012}.ribbon-dot{background:#8ed7ff;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #ffffff24}.game-over-form{grid-template-columns:minmax(0,1fr) minmax(132px,190px);align-items:stretch;gap:10px 12px;margin-top:0;display:grid}.game-over-form .score-form-hint{grid-column:1/-1;margin-bottom:2px}.name-field{min-height:66px;box-shadow:inset 0 -4px 0 #ece4cf, 0 0 0 3px var(--outline-purple), 0 5px 0 3px var(--outline-purple-deep);background:#fffdf5;border:3px solid #ffffffe0;border-radius:20px;align-items:center;gap:12px;padding:0 18px;transition:box-shadow .12s;display:flex}.name-field:focus-within{box-shadow:inset 0 -4px 0 #ece4cf, 0 0 0 3px var(--gold-rim-mid), 0 5px 0 3px var(--outline-purple-deep)}.name-field span{color:#b9a8c9;font-size:22px}.name-field input{min-width:0;height:100%;color:var(--dark-ink);font:400 clamp(18px, 3vw, 24px) var(--menu-display-font);letter-spacing:.02em;border:0;outline:0;flex:1;padding:0}.name-field input::placeholder{color:#b3a7c2}.submit-btn{min-height:66px;padding:0 18px;font-size:clamp(16px,2vw,20px)}.submit-btn:disabled{cursor:default;filter:saturate(.35)brightness(.9);opacity:.62;transform:none}.game-over-leaderboard{color:#fff;scrollbar-width:thin;scrollbar-color:#f6c543b3 transparent;background:linear-gradient(#040e2e59,#040e2e00 18px),#08163eb8;border-radius:24px;min-height:138px;max-height:min(27vh,230px);margin-top:0;padding:10px 14px 12px;position:relative;overflow-y:auto;box-shadow:inset 0 0 0 1px #8bbcff3d,inset 0 4px 14px #02081e6b,0 1px #ffffff14}.game-over-leaderboard:before{content:"Top Goodboys";width:fit-content;font-family:var(--menu-display-font);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);text-shadow:0 1px #1408288c;flex:none;margin:0 auto 6px;font-size:13px;display:block}.game-over-actions{grid-template-columns:1fr 1fr;gap:clamp(12px,3vw,24px);padding-top:4px;display:grid}.game-over-action{min-height:66px;padding:0 16px;font-size:clamp(16px,2.2vw,21px)}.game-over-action span:first-child{color:currentColor;background:#ffffff3d;border-radius:10px;place-items:center;width:32px;height:32px;font-size:.85em;display:grid;box-shadow:inset 0 1px #ffffff4d}.grass-trim{z-index:0;background:radial-gradient(circle at 8% 0,#82d64a 0 16px,#0000 17px),radial-gradient(circle at 30% 20%,#79cc40 0 13px,#0000 14px),radial-gradient(circle at 56% 10%,#92dd52 0 15px,#0000 16px),radial-gradient(circle at 82% 20%,#74c63f 0 18px,#0000 19px),linear-gradient(#8ede45,#4cae31);border-top:3px solid #c6f57a;height:28px;position:absolute;bottom:0;left:0;right:0;box-shadow:inset 0 -6px #1c5c1e59}.menu-panel[data-testid=main-menu]{--menu-tagline-height:clamp(28px, 4.4svh, 42px);grid-template-rows:auto auto minmax(0,1fr) auto;height:min(880px,100svh - 20px);max-height:calc(100svh - 20px);padding-top:clamp(12px,2svh,18px);padding-bottom:clamp(16px,2.8svh,26px);display:grid;overflow:hidden}.menu-panel[data-testid=main-menu] .brand-logo{object-fit:contain;width:min(470px,100%);max-height:clamp(86px,14svh,110px)}.menu-panel[data-testid=main-menu] .tagline{min-height:var(--menu-tagline-height);margin-top:clamp(4px,1svh,8px);margin-bottom:clamp(22px,3.4svh,30px)}.menu-panel[data-testid=main-menu] .character-grid{grid-template-rows:repeat(3,minmax(0,1fr));gap:clamp(8px,1.7svh,14px);min-height:0}.menu-panel[data-testid=main-menu] .character-card{grid-template-columns:minmax(0,1fr);height:100%;min-height:0;padding:clamp(10px,1.8svh,16px)}.menu-panel[data-testid=main-menu] .card-pennant{padding:clamp(5px,.9svh,8px) clamp(14px,2vw,20px);top:clamp(8px,1.4svh,14px);left:clamp(10px,1.8vw,16px)}.menu-panel[data-testid=main-menu] .character-name-fallback{font-size:clamp(22px,4.2svh,34px)}.menu-panel[data-testid=main-menu] .character-copy{margin-top:0;position:absolute;top:clamp(50px,8.6svh,66px);left:clamp(12px,1.8vw,18px)}@media (orientation:landscape) and (width>=700px){.menu-panel[data-testid=main-menu]{grid-template-rows:auto auto auto auto;width:min(1240px,94vw);height:auto;max-height:calc(100svh - 24px);padding:clamp(12px,2.4svh,22px) clamp(22px,2.8vw,40px) clamp(14px,2.6svh,24px)}.menu-panel[data-testid=main-menu] .brand-logo{width:min(480px,60%);max-height:clamp(54px,15svh,132px)}.menu-panel[data-testid=main-menu] .tagline{min-height:0;margin-top:clamp(2px,.8svh,8px);margin-bottom:clamp(14px,3svh,26px)}.menu-panel[data-testid=main-menu] .tagline-image{height:clamp(22px,4.4svh,40px)}.menu-panel[data-testid=main-menu] .character-grid{grid-template-rows:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,22px);padding:8px 6px 10px}.menu-panel[data-testid=main-menu] .character-card{aspect-ratio:3/2;border-radius:clamp(20px,2vw,28px);flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:clamp(6px,4cqh,12px);height:auto;min-height:0;max-height:min(300px,40svh);padding:clamp(10px,6cqh,18px) clamp(10px,5cqw,18px);display:flex;container-type:size}.menu-panel[data-testid=main-menu] .card-pennant,.menu-panel[data-testid=main-menu] .character-copy{margin:0;position:static;top:auto;bottom:auto;left:auto}.menu-panel[data-testid=main-menu] .card-pennant{width:clamp(88px,36cqw,138px);max-width:62%;padding:0}.menu-panel[data-testid=main-menu] .character-name-fallback{font-size:clamp(20px,12cqh,30px)}.menu-panel[data-testid=main-menu] .character-copy{gap:4px}.menu-panel[data-testid=main-menu] .character-breed{font-size:clamp(15px,9cqh,22px)}.menu-panel[data-testid=main-menu] .character-role-image{max-width:min(68cqw,250px);height:clamp(36px,24cqh,56px)}.menu-panel[data-testid=main-menu] .character-card.selected{transform:translate3d(0,-6px,20px)scale(1.03)}.menu-panel[data-testid=main-menu] .button-row{margin-top:clamp(6px,1.6svh,14px)}.menu-panel[data-testid=main-menu] .ghost-btn{min-height:clamp(46px,7svh,60px);padding:0 26px;font-size:clamp(16px,2.6svh,21px)}}@media (width<=760px){.screen{touch-action:none;padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));align-items:center;overflow:hidden}.character-grid{grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:1fr;gap:clamp(6px,1.3svh,10px);min-height:0;padding-top:8px}.menu-panel,.game-over-panel,.pause-panel{--panel-bevel:inset 0 2px 0 #ffffff29, inset 0 -10px 22px #040a2847, 0 -1px 0 3px var(--gold-rim-light), 0 1px 0 3px var(--gold-rim-dark), 0 0 0 5px var(--outline-purple), 0 18px 36px #060c2e6b}.menu-panel{width:100%;height:calc(100svh - max(10px, env(safe-area-inset-top)) - max(10px, env(safe-area-inset-bottom)));max-height:calc(100svh - max(10px, env(safe-area-inset-top)) - max(10px, env(safe-area-inset-bottom)));border-radius:24px;grid-template-rows:auto auto minmax(0,1fr) auto;padding:clamp(8px,1.8svh,12px) 10px clamp(9px,1.8svh,12px);display:grid;overflow:hidden}.menu-panel[data-testid=main-menu]{height:calc(100svh - max(10px, env(safe-area-inset-top)) - max(10px, env(safe-area-inset-bottom)));max-height:calc(100svh - max(10px, env(safe-area-inset-top)) - max(10px, env(safe-area-inset-bottom)));padding:clamp(8px,1.8svh,12px) 10px clamp(9px,1.8svh,12px)}.brand-logo,.menu-panel[data-testid=main-menu] .brand-logo{width:min(620px,100%);max-height:min(15svh,118px)}.screen-attribution{left:max(10px, env(safe-area-inset-left));bottom:max(7px, env(safe-area-inset-bottom));width:min(230px,52vw);min-height:clamp(18px,4.8vw,28px)}.screen-attribution-image{height:clamp(18px,4.8vw,28px)}.tagline{margin:2px auto clamp(14px,2.4svh,18px);font-size:clamp(16px,4.5vw,20px);line-height:1.04}.tagline-image{width:min(270px,72%);height:clamp(24px,6.4vw,34px)}.character-grid{gap:clamp(6px,1.3svh,10px)}.character-card{border-width:3px;border-radius:22px;grid-template-columns:minmax(0,1fr);height:100%;min-height:0;padding:clamp(8px,1.5svh,12px) 12px clamp(12px,2svh,16px) 16px}.character-card.selected{transform:translate3d(0,-2px,14px)scale(1.012);box-shadow:inset 0 0 0 1px #ffffff6b,inset 0 3px 14px #ffffff2e,0 0 0 2px #3a1b63,0 0 0 5px #f6c543,0 0 0 7px #3a1b63,0 10px #060a2675,0 18px 30px #03081e7a,0 0 26px #f6c54357}.character-name-fallback{font-size:clamp(21px,7.2vw,30px)}.card-pennant{width:clamp(78px,22vw,108px);padding:0;top:10px;left:10px}.character-copy,.menu-panel[data-testid=main-menu] .character-copy{margin-top:0;top:44px;left:16px}.character-breed{width:min(170px,38vw);max-width:8.4em;font-size:clamp(14px,3.8vw,17px);line-height:1.12}.character-role-image,.menu-panel[data-testid=main-menu] .character-role-image{width:auto;max-width:min(210px,46vw);height:clamp(36px,10vw,44px)}.button-row{gap:8px 12px;margin-top:clamp(6px,1.3svh,10px)}.menu-hint{font-size:clamp(12px,3.4vw,14px)}.primary-btn,.ghost-btn{min-height:clamp(40px,6.6svh,50px);box-shadow:inset 0 2px 0 #ffffff6b, inset 0 -3px 0 #00000029, 0 0 0 3px var(--outline-purple), 0 4px 0 3px var(--outline-purple-deep), 0 8px 16px #060c2e52;border-radius:16px;padding:0 20px;font-size:clamp(15px,4.2vw,18px)}.scores-panel{flex-direction:column;gap:clamp(10px,1.8svh,14px);padding-bottom:clamp(12px,2svh,16px);display:flex}.scores-panel .brand{font-size:clamp(36px,8svh,58px)}.scores-panel .leaderboard{flex:auto;height:auto;min-height:clamp(260px,54svh,520px);padding:clamp(10px,2svh,14px) 10px}.leaderboard-row{border-radius:13px;grid-template-columns:38px minmax(0,1fr) auto auto;gap:8px;min-height:42px;padding:4px 10px 4px 5px}.leaderboard-rank{width:32px;height:32px;font-size:16px}.leaderboard-name,.leaderboard-score{font-size:16px}.leaderboard-level{font-size:11px}.scores-panel .button-row{flex:none;margin-top:0}.scores-panel #back-btn{flex:none;height:52px;min-height:52px}#mobile-controls{padding-left:max(8px, env(safe-area-inset-left));padding-right:max(8px, env(safe-area-inset-right));column-gap:10px}#mobile-controls .pad{gap:8px}#mobile-controls button{border-radius:18px;min-width:64px;min-height:58px;font-size:15px}#mobile-controls button:before{inset:-16px -12px}#mobile-controls .left-pad button{min-width:71px;font-size:30px}#mobile-controls .right-pad button,#pause-btn{min-width:64px}.hud{padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) 0 max(8px, env(safe-area-inset-left));gap:6px}.hud-health-cluster{width:min(49vw,194px)}.hud-score-cluster{width:min(40vw,158px)}.hud-score-content{left:2%;right:41%}.score-number{font-size:clamp(14px,17cqh,16px)}.game-over-screen{padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));align-items:center}.game-over-panel{width:100%;min-height:0;max-height:none;height:calc(100svh - max(20px, env(safe-area-inset-top)) - max(20px, env(safe-area-inset-bottom)));border-width:1px;border-radius:28px;grid-template-rows:auto auto auto minmax(0,1fr) auto;align-self:center;gap:8px;padding:8px 12px 30px}.game-over-title{margin:-10px 0 -2px}.game-over-logo{max-height:min(16svh,136px)}.score-ribbon{flex-wrap:wrap;row-gap:4px;min-height:44px;padding:6px 10px;font-size:clamp(16px,4.4vw,20px)}.game-over-form{grid-template-columns:minmax(0,1fr) minmax(104px,118px);gap:8px}.name-field,.submit-btn,.game-over-action{border-radius:16px;min-height:52px;font-size:clamp(14px,4vw,18px)}.submit-btn,.game-over-action{box-shadow:inset 0 2px 0 #ffffff6b, inset 0 -3px 0 #00000029, 0 0 0 3px var(--outline-purple), 0 4px 0 3px var(--outline-purple-deep), 0 8px 16px #060c2e52;padding:0 10px}.name-field{box-shadow:inset 0 -3px 0 #ece4cf, 0 0 0 3px var(--outline-purple), 0 4px 0 3px var(--outline-purple-deep);border-width:2px;gap:8px;padding:0 12px}.name-field span{font-size:18px}.name-field input{font-size:clamp(15px,4vw,18px)}.game-over-leaderboard{min-height:0;max-height:none;padding:8px 8px 10px}.game-over-leaderboard:before{margin:0 auto 4px;font-size:11px}.game-over-actions{grid-template-columns:1fr 1fr;gap:12px}.game-over-action{gap:6px}.game-over-action span:first-child{border-radius:8px;width:26px;height:26px}.pause-panel{border-radius:24px;padding:22px 16px 20px}.pause-actions{gap:12px}.pause-action{min-height:50px;box-shadow:inset 0 2px 0 #ffffff6b, inset 0 -3px 0 #00000029, 0 0 0 3px var(--outline-purple), 0 4px 0 3px var(--outline-purple-deep), 0 8px 16px #060c2e52}}@media (width>=761px) and (height<=760px){.game-over-panel{gap:6px;padding:10px 32px 36px}.game-over-title{margin:-24px 0 -6px}.game-over-logo{max-height:146px}.score-ribbon{min-height:46px}.name-field,.submit-btn,.game-over-action{min-height:58px}.game-over-leaderboard{min-height:150px;max-height:150px;padding:8px 14px 10px}.game-over-leaderboard:before{margin-bottom:4px;font-size:12px}.leaderboard-row{min-height:40px}.leaderboard-rank{width:32px;height:32px;font-size:17px}}@media (pointer:fine) and (width>=900px){#mobile-controls.is-visible{display:none}}@media (orientation:landscape) and (width>=600px) and (height<=520px){.game-over-screen{padding:10px 14px}.game-over-panel{border-radius:30px;grid-template:"title board""ribbon board""form board""actions board"minmax(0,1fr)/minmax(0,1.12fr) minmax(0,1fr);gap:7px 18px;width:min(980px,96vw);height:auto;min-height:0;max-height:calc(100svh - 20px);padding:8px 22px 34px}.game-over-panel:before,.game-over-panel:after{display:none}.game-over-title{grid-area:title;margin:-4px 0 -2px}.game-over-logo{max-height:min(24svh,96px)}.score-ribbon{grid-area:ribbon;min-height:40px;padding:4px 12px;font-size:16px}.game-over-form{grid-area:form;grid-template-columns:minmax(0,1fr) minmax(112px,136px);gap:4px 8px}.game-over-form .score-form-hint{margin-bottom:0;font-size:12px}.name-field,.submit-btn{border-radius:14px;min-height:44px}.name-field input,.submit-btn{font-size:16px}.game-over-leaderboard{grid-area:board;align-self:stretch;min-height:0;max-height:none;padding:8px 10px 10px}.game-over-leaderboard:before{margin-bottom:4px;font-size:11px}.leaderboard-row{grid-template-columns:34px minmax(0,1fr) auto auto;gap:8px;min-height:36px;padding:3px 8px 3px 4px}.leaderboard-rank{width:28px;height:28px;font-size:15px}.leaderboard-name,.leaderboard-score{font-size:15px}.leaderboard-level{font-size:11px}.game-over-actions{grid-area:actions;align-self:end;gap:10px;padding-top:2px}.game-over-action{min-height:46px;padding:0 10px;font-size:15px}.game-over-action span:first-child{border-radius:7px;width:24px;height:24px}.grass-trim{height:22px}}.menu-panel[data-testid=main-menu] .character-portrait{z-index:2;width:min(47cqw, calc(108cqh * var(--portrait-width) / 188));aspect-ratio:var(--portrait-width) / 188;pointer-events:none;position:absolute;bottom:6%;right:4%;overflow:hidden}.menu-panel[data-testid=main-menu] .character-portrait .character-hero-art{inset:auto;left:calc(-100% * var(--portrait-left) / var(--portrait-width));width:calc(100% * 360 / var(--portrait-width));object-fit:contain;filter:none;max-width:none;height:auto;position:absolute;top:-23.4043%;transform:none}.menu-panel[data-testid=main-menu] .card-pennant{width:min(38cqw,132px);max-width:40%;padding:0;position:absolute;top:10%;left:5%}.menu-panel[data-testid=main-menu] .character-copy{width:42%;margin:0;position:absolute;top:auto;bottom:18%;left:5%}.menu-panel[data-testid=main-menu] .character-breed{width:100%;max-width:none}.menu-panel[data-testid=main-menu] .character-role-image{width:100%;max-width:100%;height:clamp(32px,28cqh,54px)}.menu-brand{min-height:0}.menu-panel[data-testid=main-menu] .screen-attribution{justify-content:center;width:min(250px,70%);min-height:18px;margin:2px auto 0;position:static}.menu-panel[data-testid=main-menu] .screen-attribution-image{object-position:center;height:clamp(18px,2.8svh,24px)}.menu-panel[data-testid=main-menu] .brand-logo{max-height:clamp(68px,12svh,94px)}.menu-panel[data-testid=main-menu] .button-row{flex-wrap:nowrap}.menu-hint{gap:2px;min-width:0;display:grid}.menu-hint strong{color:var(--cream-ink);font-weight:400}.menu-hint span{font-size:clamp(11px,1.9svh,14px)}.trail-feedback{pointer-events:none;width:max-content;max-width:min(78vw,540px);padding:8px 18px;font-size:clamp(17px,3vw,25px);top:112px;left:50%;right:auto}@keyframes roster-arrive{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0}}@media (prefers-reduced-motion:no-preference){.character-card{animation:.26s ease-out both roster-arrive}.character-card:nth-child(2){animation-delay:35ms}.character-card:nth-child(3){animation-delay:70ms}}@media (prefers-reduced-motion:reduce){.character-card{transition:none;animation:none}.menu-panel[data-testid=main-menu] .character-card.selected{transform:none}.reward-popup,.level-banner,.hud-cluster{animation:none}}@media (orientation:landscape) and (height<=500px){.menu-panel[data-testid=main-menu] .brand-logo{max-height:45px}.menu-panel[data-testid=main-menu] .screen-attribution-image{height:18px}.menu-panel[data-testid=main-menu] .tagline{margin-bottom:12px}.menu-panel[data-testid=main-menu] .menu-hint{text-align:left}.trail-feedback{padding:5px 14px;font-size:17px;top:76px}}
