*{box-sizing:border-box}:root{--bg:#08030e;--panel:rgba(18,11,30,0.95);--text:#ffffff;--muted:#c2b8d3;--pink:#ff47b7;--violet:#7b35ff;--cyan:#3de8ff;--yellow:#ffe257;--lime:#a4ff72;--border:rgba(255,255,255,0.13);--shadow:0 24px 80px rgba(0,0,0,0.42)}body,html{width:100%;min-height:100%;margin:0;background:var(--bg)}body{overflow:hidden;color:var(--text);background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 0),radial-gradient(circle at 12% 18%,rgba(255,71,183,.24),transparent 26%),radial-gradient(circle at 88% 10%,rgba(61,232,255,.17),transparent 27%),linear-gradient(150deg,#08030e,#1b0a28 56%,#07040a);background-size:42px 42px,42px 42px,auto,auto,auto;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,model-viewer{-webkit-tap-highlight-color:transparent}button{font:inherit}.party-app{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(1500px,100%);height:100vh;height:100dvh;margin:0 auto;overflow:hidden}.topbar{position:relative;z-index:20;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:max(18px,env(safe-area-inset-top)) clamp(18px,3vw,46px) 8px}.brand-small,.eyebrow{display:block;margin-bottom:6px;color:var(--cyan);font-size:.64rem;font-weight:900;letter-spacing:.24em}.brand h1{margin:0;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-size:clamp(1.55rem,4vw,3.45rem);font-weight:900;line-height:.94;text-transform:uppercase}.brand h1 span{color:transparent;background:linear-gradient(100deg,var(--pink),#ff9ce0 43%,var(--cyan));-webkit-background-clip:text;background-clip:text}.top-actions{display:flex;gap:9px}.dance-button,.icon-button,.random-button{border:0;color:var(--text);cursor:pointer}.icon-button{display:grid;width:45px;height:45px;place-items:center;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:transform .16s ease,background .16s ease}.icon-button:hover{transform:translateY(-2px);background:rgba(255,255,255,.14)}.icon-button svg,.random-button svg{width:20px;height:20px}.stage{position:relative;min-height:0;overflow:hidden;isolation:isolate}model-viewer{position:absolute;inset:0;z-index:5;width:100%;height:100%;outline:none;touch-action:pan-y;--poster-color:transparent;transition:opacity .18s ease,filter .18s ease}.party-app.is-loading model-viewer{opacity:.28;filter:blur(4px)}.light-rig{position:absolute;inset:8% 10% auto;z-index:-2;display:flex;justify-content:space-between;pointer-events:none}.light-rig span{width:clamp(52px,8vw,96px);aspect-ratio:1;border-radius:999px;opacity:.38;filter:blur(18px);animation:pulse-light 2.1s ease-in-out infinite alternate}.light-rig span:first-child{background:var(--pink)}.light-rig span:nth-child(2){background:var(--cyan);animation-delay:-.7s}.light-rig span:nth-child(3){background:var(--yellow);animation-delay:-1.1s}.light-rig span:nth-child(4){background:var(--lime);animation-delay:-.3s}@keyframes pulse-light{0%{transform:translateY(0) scale(.78)}to{transform:translateY(36px) scale(1.08)}}.spotlight{z-index:-3;top:-4%;width:min(72vw,830px);height:98%;-webkit-clip-path:polygon(42% 0,58% 0,88% 100%,12% 100%);clip-path:polygon(42% 0,58% 0,88% 100%,12% 100%);opacity:.2;background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(123,53,255,.12));filter:blur(9px)}.dance-floor,.spotlight{position:absolute;left:50%;transform:translateX(-50%)}.dance-floor{z-index:-2;bottom:6%;width:min(66vw,590px);aspect-ratio:1/.23;border:2px solid rgba(61,232,255,.48);border-radius:50%;background:repeating-linear-gradient(90deg,rgba(255,255,255,.09) 0 14px,transparent 14px 28px),radial-gradient(ellipse,rgba(255,71,183,.22),transparent 62%);box-shadow:0 0 34px rgba(61,232,255,.25),inset 0 0 28px rgba(255,71,183,.19)}.stage-status{position:absolute;z-index:12;bottom:14px;left:50%;display:flex;align-items:center;gap:8px;max-width:calc(100% - 30px);padding:9px 14px;overflow:hidden;border:1px solid var(--border);border-radius:999px;background:rgba(10,5,18,.78);box-shadow:0 12px 36px rgba(0,0,0,.3);font-size:.69rem;letter-spacing:.07em;white-space:nowrap;transform:translateX(-50%);-webkit-backdrop-filter:blur(17px);backdrop-filter:blur(17px)}.status-prefix{color:var(--muted);font-weight:800}.stage-status strong{overflow:hidden;color:var(--yellow);text-overflow:ellipsis}.equalizer{display:flex;align-items:flex-end;gap:2px;height:12px}.equalizer i{display:block;width:2px;height:40%;border-radius:2px;background:var(--cyan);animation:equalize .68s ease-in-out infinite alternate}.equalizer i:nth-child(2){animation-delay:-.3s}.equalizer i:nth-child(3){animation-delay:-.1s}.equalizer i:nth-child(4){animation-delay:-.47s}@keyframes equalize{0%{height:22%}to{height:100%}}.error-toast,.loading-card{position:absolute;z-index:25;top:50%;left:50%;display:flex;align-items:center;gap:11px;padding:12px 16px;border:1px solid var(--border);border-radius:999px;background:rgba(10,5,18,.86);box-shadow:var(--shadow);pointer-events:none;transform:translate(-50%,-50%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.2);border-top:2px solid var(--cyan);border-radius:50%;animation:spin .72s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.error-toast{top:16px;border-color:rgba(255,91,121,.46);color:#ffdbe2;background:rgba(95,13,39,.92);transform:translateX(-50%)}.gesture-tip{position:absolute;z-index:10;right:20px;bottom:17px;margin:0;color:rgba(255,255,255,.48);font-size:.66rem;font-weight:800}.control-dock{position:relative;z-index:30;padding:16px clamp(16px,3vw,42px) max(16px,env(safe-area-inset-bottom));border-top:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,rgba(28,16,44,.96),rgba(9,6,17,.99));box-shadow:0 -15px 50px rgba(0,0,0,.32);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.dock-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.dock-heading h2{margin:0;font-size:clamp(1rem,2vw,1.35rem)}.random-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 15px;border-radius:8px;color:#170921;background:linear-gradient(100deg,var(--yellow),#ffba51 60%,#ff87d4);box-shadow:0 10px 28px rgba(255,119,195,.17);font-weight:950;transition:transform .16s ease,box-shadow .16s ease}.random-button:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(255,119,195,.24)}.dance-strip{display:grid;grid-auto-columns:minmax(138px,178px);grid-auto-flow:column;grid-gap:10px;gap:10px;overflow-x:auto;overflow-y:hidden;padding:2px 2px 7px;scroll-behavior:smooth;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent;overscroll-behavior-x:contain}.dance-strip::-webkit-scrollbar{height:5px}.dance-strip::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(255,255,255,.22)}.dance-button{position:relative;display:flex;min-height:54px;align-items:center;gap:10px;padding:10px 12px;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:rgba(255,255,255,.055);text-align:left;scroll-snap-align:start;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.dance-button:after{position:absolute;inset:0;content:"";opacity:0;background:linear-gradient(120deg,rgba(255,71,183,.22),rgba(61,232,255,.11));transition:opacity .16s ease}.dance-button:hover{transform:translateY(-2px);border-color:rgba(61,232,255,.36)}.dance-button.is-active:after,.dance-button:hover:after{opacity:1}.dance-button.is-active{border-color:rgba(255,71,183,.76);background:rgba(255,71,183,.1);box-shadow:0 0 0 1px rgba(255,71,183,.15),0 10px 24px rgba(255,71,183,.12)}.dance-button:disabled,.random-button:disabled{cursor:wait;opacity:.55}.dance-label,.dance-number{position:relative;z-index:2}.dance-number{display:grid;flex:0 0 auto;width:29px;height:29px;place-items:center;border-radius:8px;color:var(--cyan);background:rgba(61,232,255,.1);font-size:.63rem;font-weight:900}.dance-button.is-active .dance-number{color:#160820;background:var(--cyan)}.dance-label{overflow:hidden;font-size:.77rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.empty-state{position:absolute;z-index:30;top:50%;left:50%;width:min(560px,calc(100% - 32px));padding:34px 24px;border:1px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:var(--shadow);text-align:center;transform:translate(-50%,-50%);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.empty-emoji{display:inline-grid;width:64px;height:64px;place-items:center;border-radius:999px;color:#180923;background:var(--yellow);font-size:1.1rem;font-weight:950}.empty-state h2{margin:14px 0 8px}.empty-state p{margin:0;color:var(--muted);line-height:1.6}.empty-state code{color:var(--cyan)}:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}@media (max-width:720px){.party-app{grid-template-rows:auto minmax(260px,1fr) auto}.topbar{padding:max(14px,env(safe-area-inset-top)) 15px 6px}.brand-small{font-size:.54rem}.brand h1{max-width:255px;font-size:clamp(1.22rem,7vw,1.8rem)}.icon-button{width:41px;height:41px}.control-dock{padding:13px 14px max(12px,env(safe-area-inset-bottom))}.dock-heading{margin-bottom:10px}.eyebrow{margin-bottom:4px;font-size:.55rem}.dock-heading h2{font-size:.98rem}.random-button{min-height:40px;padding:9px 13px}.dance-strip{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-columns:auto;grid-auto-flow:row;gap:8px;max-height:min(178px,25dvh);overflow-x:hidden;overflow-y:auto;padding:2px 4px 6px 2px;scroll-snap-type:y proximity}.dance-button{width:100%;min-width:0;min-height:51px;padding:9px 10px}.dance-label{min-width:0}.gesture-tip{right:14px;bottom:14px;font-size:.58rem}.stage-status{left:14px;bottom:13px;max-width:calc(100% - 145px);transform:none}.status-prefix{display:none}.dance-floor{bottom:7%;left:50%;width:min(92vw,430px)}}.hub-screen,.petition-run{position:relative;width:100vw;height:100vh;height:100dvh;overflow:hidden}.hub-screen{display:grid;place-items:center;padding:12px;background:radial-gradient(circle at 50% 20%,rgba(255,226,87,.28),transparent 25%),linear-gradient(180deg,#004db2,#0a86db 48%,#2f8f39)}.hub-poster-frame{position:relative;width:min(100%,calc((100dvh - 24px) * .6667));max-width:760px;aspect-ratio:2/3;overflow:hidden;border-radius:24px;box-shadow:0 28px 90px rgba(2,18,46,.42)}.hub-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;-webkit-user-select:none;-moz-user-select:none;user-select:none}.poster-hotspot{position:absolute;z-index:2;border:0;border-radius:22px;background:rgba(255,255,255,.01);cursor:pointer;transition:box-shadow .16s ease,transform .16s ease,background .16s ease}.poster-hotspot span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.poster-hotspot:focus-visible,.poster-hotspot:hover{background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 4px rgba(255,255,255,.58),0 0 34px rgba(255,255,255,.34);transform:scale(1.015)}.poster-dance{left:6.5%}.poster-dance,.poster-petition{top:66.5%;width:42.5%;height:23%}.poster-petition{left:51.5%}.petition-run{background:linear-gradient(rgba(255,255,255,.18) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.11) 1px,transparent 0),linear-gradient(180deg,#35b7ff,#77d5ff 47%,#ffe19a);background-size:60px 60px,60px 60px,auto;color:#082346;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.petition-hud{position:absolute;z-index:30;top:max(14px,env(safe-area-inset-top));left:50%;display:flex;align-items:center;gap:12px;width:min(1080px,calc(100% - 24px));transform:translateX(-50%)}.petition-back,.petition-stat{display:flex;align-items:center;gap:10px;min-height:58px;border:1px solid rgba(255,255,255,.56);border-radius:18px;background:rgba(255,255,255,.76);box-shadow:0 16px 34px rgba(20,71,116,.2);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.petition-back{padding:0 18px;color:#0b4e86;cursor:pointer;font-weight:1000}.petition-back svg,.petition-stat svg{width:24px;height:24px}.petition-stat{flex:1 1;padding:0 18px;font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.petition-stat strong{display:block;color:#102447;font-size:clamp(1.3rem,3vw,2.25rem);line-height:1;letter-spacing:0}.petition-race-progress{position:relative;display:grid;grid-template-columns:auto minmax(190px,1fr) auto;align-items:center;grid-gap:12px;gap:12px;min-height:58px;flex:2.25 1;padding:0 18px;border:1px solid rgba(255,255,255,.56);border-radius:18px;background:rgba(255,255,255,.76);box-shadow:0 16px 34px rgba(20,71,116,.2);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.race-end-icon,.race-start-icon{width:24px;height:24px;color:#0b4e86}.race-end-icon{color:#ff8a24}.race-track{position:relative;height:10px;border-radius:999px;background:rgba(8,35,70,.16);box-shadow:inset 0 2px 5px rgba(8,35,70,.16)}.race-track-fill{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:linear-gradient(90deg,#25d366,#ffe257,#ff8a24);box-shadow:0 0 18px rgba(255,138,36,.36)}.race-plane-marker{position:absolute;top:50%;display:grid;width:36px;height:36px;place-items:center;border:2px solid rgba(255,255,255,.9);border-radius:999px;background:linear-gradient(135deg,#35b7ff,#0b4e86);color:white;box-shadow:0 10px 18px rgba(20,71,116,.24);transform:translate(-50%,-50%);transition:left .16s linear}.race-plane-marker svg{width:19px;height:19px;transform:rotate(45deg)}.race-label{position:absolute;right:18px;bottom:6px;color:rgba(8,35,70,.62);font-size:.58rem;font-weight:1000;letter-spacing:.14em;text-transform:uppercase}.flight-stage{position:absolute;inset:0;overflow:hidden;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.flight-stage.is-draggable{cursor:-webkit-grab;cursor:grab}.flight-stage.is-draggable:active{cursor:-webkit-grabbing;cursor:grabbing}.petition-progress{position:absolute;z-index:20;top:88px;left:50%;width:min(740px,calc(100% - 32px));height:12px;overflow:hidden;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:rgba(255,255,255,.32);transform:translateX(-50%)}.petition-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#25d366,#ffe257);box-shadow:0 0 18px rgba(37,211,102,.55);transition:width .18s ease}.pilot-plane{position:absolute;z-index:12;left:4%;width:min(42vw,520px);aspect-ratio:1;transform:translateY(-50%);filter:drop-shadow(0 22px 18px rgba(36,70,101,.28));animation:plane-float 1.8s ease-in-out infinite alternate}.pilot-head,.pilot-plane-body{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pilot-head{transform-origin:50% 37%;animation:pilot-bobble .82s ease-in-out infinite alternate}.crash-sprite{z-index:13;left:1.5%;top:50%;width:min(50vw,620px);aspect-ratio:1;filter:drop-shadow(0 24px 24px rgba(36,70,101,.32));transform:translateY(-50%) rotate(-3deg)}.crash-sprite,.parliament-destination{position:absolute;object-fit:contain;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.parliament-destination{z-index:7;right:0;bottom:-2%;width:min(76vw,980px);max-height:82vh;object-position:right bottom;filter:drop-shadow(0 26px 28px rgba(36,70,101,.3))}.celebrate-sprite{position:absolute;z-index:14;left:2%;top:50%;width:min(47vw,620px);aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 26px 22px rgba(36,70,101,.3));transform:translateY(-50%) rotate(-3deg);animation:celebrate-arrival .9s ease-in-out infinite alternate;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}@keyframes pilot-bobble{0%{transform:translateY(-1.2%) rotate(-2.4deg) scale(1.012)}to{transform:translateY(1.7%) rotate(2.8deg) scale(.992)}}@keyframes plane-float{0%{transform:translateY(-52%) rotate(-1.3deg)}to{transform:translateY(-48%) rotate(1.2deg)}}@keyframes celebrate-arrival{0%{transform:translateY(-51%) rotate(-4deg) scale(.99)}to{transform:translateY(-48%) rotate(2deg) scale(1.03)}}.signature-pickup{position:absolute;z-index:9;aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 14px 16px rgba(67,39,0,.28));transform:translate(-50%,-50%) rotate(-8deg);animation:signature-wiggle 1.2s ease-in-out infinite alternate}.signature-pickup:nth-of-type(2n){animation-delay:-.4s}.signature-pickup:nth-of-type(3n){animation-delay:-.8s}.super-signature-pack{position:absolute;z-index:10;aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 0 20px rgba(255,226,87,.86)) drop-shadow(0 18px 18px rgba(67,39,0,.32));transform:translate(-50%,-50%) rotate(5deg);animation:super-pack-pulse .76s ease-in-out infinite alternate}.rocket-hazard{position:absolute;z-index:11;aspect-ratio:2.4/1;object-fit:contain;filter:drop-shadow(0 12px 16px rgba(122,0,0,.28));transform:translate(-50%,-50%);animation:rocket-shake .26s ease-in-out infinite alternate}@keyframes rocket-shake{0%{transform:translate(-50%,-50%) rotate(-1.5deg)}to{transform:translate(-50%,-50%) rotate(1.5deg)}}@keyframes signature-wiggle{0%{transform:translate(-50%,-50%) rotate(-10deg) scale(.96)}to{transform:translate(-50%,-56%) rotate(7deg) scale(1.04)}}@keyframes super-pack-pulse{0%{transform:translate(-50%,-50%) rotate(-8deg) scale(.94);filter:drop-shadow(0 0 16px rgba(255,226,87,.75)) drop-shadow(0 18px 18px rgba(67,39,0,.26))}to{transform:translate(-50%,-56%) rotate(8deg) scale(1.08);filter:drop-shadow(0 0 34px rgba(255,226,87,.98)) drop-shadow(0 22px 22px rgba(67,39,0,.34))}}.petition-cloud{position:absolute;z-index:3;width:260px;height:84px;border-radius:999px;background:rgba(255,255,255,.78);box-shadow:56px 4px 0 rgba(255,255,255,.68),104px 14px 0 rgba(255,255,255,.56),32px -24px 0 rgba(255,255,255,.72);filter:blur(.2px);animation:cloud-scroll linear infinite}.cloud-one{top:18%;left:100%;animation-duration:30s}.cloud-two{top:44%;left:118%;transform:scale(.74);opacity:.76;animation-duration:42s;animation-delay:-16s}.cloud-three{top:64%;left:108%;transform:scale(1.08);opacity:.52;animation-duration:54s;animation-delay:-29s}@keyframes cloud-scroll{0%{translate:0 0}to{translate:-150vw 0}}.petition-mode-select{position:absolute;inset:0;z-index:60;display:grid;place-items:center;background:linear-gradient(180deg,#0a6ed0,#35b7ff 45%,#1b7b3a)}.petition-mode-frame{position:relative;width:min(100vw,calc(100dvh * .6667));max-width:760px;aspect-ratio:2/3;overflow:hidden;box-shadow:0 28px 90px rgba(2,18,46,.34)}.petition-mode-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;-webkit-user-select:none;-moz-user-select:none;user-select:none}.mode-hotspot{position:absolute;z-index:2;border:0;border-radius:26px;background:rgba(255,255,255,.01);cursor:pointer}.mode-hotspot:focus-visible,.mode-hotspot:hover{outline:4px solid rgba(255,255,255,.72);outline-offset:-6px;background:rgba(255,255,255,.08)}.mode-timed{left:3.6%}.mode-endurance,.mode-timed{top:45.5%;width:44.6%;height:42.2%}.mode-endurance{left:51.8%}.mode-back{left:2.7%;bottom:2.8%;width:11.8%;height:8.2%;border-radius:999px}.mode-leaderboard-button{position:absolute;z-index:3;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border:0;border-radius:999px;background:linear-gradient(135deg,rgba(255,226,87,.96),rgba(255,122,61,.96));box-shadow:0 14px 24px rgba(20,71,116,.22);color:#082346;cursor:pointer;font:inherit;font-size:.88rem;font-weight:1000;letter-spacing:.06em;text-transform:uppercase}.mode-leaderboard-button:focus-visible,.mode-leaderboard-button:hover{outline:3px solid rgba(255,255,255,.72);outline-offset:2px;transform:translateY(-1px)}.mode-leaderboard-button svg,.mode-leaderboard-close svg{width:18px;height:18px}.mode-leaderboard-timed{left:11.5%;top:93.4%}.mode-leaderboard-endurance{left:59.5%;top:93.4%}.mode-leaderboard-panel{position:absolute;z-index:4;left:50%;top:17%;width:min(430px,calc(100% - 32px));display:grid;grid-gap:12px;gap:12px;padding:20px;border:1px solid rgba(255,255,255,.72);border-radius:24px;background:rgba(255,255,255,.94);box-shadow:0 24px 60px rgba(20,71,116,.26);transform:translateX(-50%)}.mode-leaderboard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.mode-leaderboard-header h2{margin:4px 0 0;color:#082346;font-size:1.4rem;font-weight:1000}.mode-leaderboard-close{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:0;border-radius:999px;background:rgba(8,35,70,.08);color:#082346;cursor:pointer}.mode-leaderboard-message{margin:0;color:#082346;font-size:.95rem;font-weight:800}.mode-leaderboard-message.is-error{color:#b42318}.petition-overlay{position:absolute;z-index:40;top:50%;left:50%;display:grid;width:min(560px,calc(100% - 32px));grid-gap:16px;gap:16px;padding:28px;border:1px solid rgba(255,255,255,.58);border-radius:30px;background:rgba(255,255,255,.84);color:#082346;text-align:center;box-shadow:0 30px 90px rgba(20,71,116,.24);transform:translate(-50%,-50%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.petition-kicker{margin:0;color:#0b83d8;font-size:.78rem;font-weight:1000;letter-spacing:.18em;text-transform:uppercase}.petition-overlay h2{margin:0;color:#0b2345;font-size:clamp(2rem,6vw,4.4rem);line-height:.9;text-transform:uppercase}.petition-overlay .countdown-number{color:#ff8a24;font-size:clamp(5rem,18vw,10rem);text-shadow:0 8px 0 rgba(8,35,70,.1)}.petition-overlay p{width:min(390px,100%);margin:0 auto;color:rgba(8,35,70,.74);font-weight:800}.mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.mode-grid.single{grid-template-columns:minmax(0,1fr);width:min(270px,100%);margin:0 auto}.mode-grid button{display:grid;min-height:132px;place-items:center;grid-gap:6px;gap:6px;border:0;border-radius:22px;background:linear-gradient(135deg,#ffe257,#ff7a3d);color:#082346;cursor:pointer;font-weight:1000;box-shadow:0 16px 34px rgba(20,71,116,.18)}.mode-grid button:nth-child(2){background:linear-gradient(135deg,#47d9ff,#25d366)}.mode-grid svg{width:34px;height:34px}.mode-grid span,.mode-grid strong{display:block}.mode-grid strong{font-size:1.25rem}.mode-grid span{color:rgba(8,35,70,.72);font-size:.82rem}.leaderboard-results,.leaderboard-submit{display:grid;grid-gap:12px;gap:12px}.leaderboard-submit label,.leaderboard-title{margin:0;color:#0b4e86;font-size:.76rem;font-weight:1000;letter-spacing:.16em;text-transform:uppercase}.leaderboard-submit input{width:100%;min-height:54px;border:2px solid rgba(11,78,134,.22);border-radius:16px;background:rgba(255,255,255,.9);color:#082346;font:inherit;font-size:1.15rem;font-weight:900;outline:none;padding:0 16px;text-align:center;box-shadow:inset 0 2px 8px rgba(8,35,70,.08)}.leaderboard-submit input:focus{border-color:#0b83d8;box-shadow:0 0 0 4px rgba(53,183,255,.22),inset 0 2px 8px rgba(8,35,70,.08)}.leaderboard-submit button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:58px;border:0;border-radius:18px;background:linear-gradient(135deg,#ffe257,#ff7a3d);color:#082346;cursor:pointer;font:inherit;font-size:1.05rem;font-weight:1000;box-shadow:0 16px 34px rgba(20,71,116,.18)}.leaderboard-submit button:disabled{cursor:wait;opacity:.72}.leaderboard-submit svg{width:24px;height:24px}.leaderboard-status{width:100%;color:#b42318!important;font-size:.82rem}.leaderboard-list{display:grid;grid-gap:6px;gap:6px;margin:0;padding:0;list-style:none}.leaderboard-list li{display:grid;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;min-height:38px;border:1px solid rgba(8,35,70,.12);border-radius:12px;background:rgba(255,255,255,.58);padding:0 12px;color:#082346;font-weight:1000}.leaderboard-list li.is-new-score{border-color:rgba(255,138,36,.78);background:linear-gradient(135deg,rgba(255,226,87,.92),rgba(255,122,61,.82));box-shadow:0 10px 24px rgba(255,138,36,.24)}.leaderboard-rank{color:#0b4e86;font-size:.88rem}.leaderboard-name{overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.leaderboard-score{color:#129447}.drag-hint{position:absolute;z-index:30;bottom:max(18px,env(safe-area-inset-bottom));left:50%;margin:0;padding:12px 18px;border:1px solid rgba(255,255,255,.58);border-radius:999px;background:rgba(255,255,255,.74);color:#0b4e86;font-size:.82rem;font-weight:1000;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 14px 28px rgba(20,71,116,.18);transform:translateX(-50%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:none}@media (max-width:760px){.hub-screen{padding:0}.hub-poster-frame{width:min(100vw,100dvh * .6667);max-width:none;border-radius:0}.petition-hud{right:12px;left:12px;display:grid;grid-template-columns:100px minmax(0,1fr) minmax(0,1fr);grid-gap:8px;gap:8px;width:auto;transform:none}.petition-back,.petition-stat{min-width:0;min-height:48px;border-radius:14px;padding:0 8px;gap:6px}.petition-back{justify-content:center;font-size:.86rem}.petition-stat{font-size:.5rem;letter-spacing:.05em}.petition-stat span{min-width:0;overflow:hidden}.petition-stat strong{font-size:1.36rem}.petition-race-progress{grid-column:1/-1;grid-template-columns:auto minmax(0,1fr) auto;min-height:50px;padding:0 12px;border-radius:14px}.race-end-icon,.race-start-icon{width:20px;height:20px}.race-plane-marker{width:31px;height:31px}.race-label{right:13px;bottom:4px;font-size:.5rem}.petition-back svg,.petition-stat svg{width:18px;height:18px}.hide-small{display:none}.petition-progress{top:74px;right:16px;left:16px;width:auto;transform:none}.pilot-plane{left:-4%;width:min(64vw,350px)}.signature-pickup{width:15%!important}.super-signature-pack{width:22%!important}.rocket-hazard{width:15%!important}.celebrate-sprite,.crash-sprite{left:-4%;top:42%;width:min(72vw,390px)}.petition-overlay.is-ended{top:72%;width:min(420px,calc(100% - 32px));max-height:56dvh;overflow-y:auto;min-height:auto;gap:10px;padding:18px;border-radius:24px}.petition-overlay.is-ended h2{font-size:clamp(1.8rem,8vw,2.8rem)}.petition-overlay.is-ended .mode-grid button{min-height:100px}.leaderboard-list li{grid-template-columns:50px minmax(0,1fr) auto;min-height:34px;padding:0 10px}.drag-hint{bottom:max(10px,env(safe-area-inset-bottom));padding:10px 14px;font-size:.68rem}}@media (max-width:390px){.brand h1{max-width:210px;font-size:1.24rem}.top-actions{gap:6px}.icon-button{width:38px;height:38px}.random-button span{display:none}.random-button{width:41px;padding:0}.gesture-tip{display:none}.stage-status{max-width:calc(100% - 28px)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}