:root{--pineapple: #ffd93d;--krusty: #e63946;--jelly: #ff69b4;--ocean: #1a8f9e;--deep: #0b3d54;--sand: #f4e8c1;--coral: #ff6b35;--foam: #e8f4f8;--ink: #1a1a2e;--display: "Luckiest Guy", system-ui, sans-serif;--body: "Baloo 2", system-ui, sans-serif;--fs-title: clamp(2.4rem, 8vw, 5rem);--fs-header: clamp(1.5rem, 4.5vw, 2.6rem);--fs-button: clamp(1.05rem, 2.6vw, 1.5rem);--fs-body: clamp(.9rem, 2vw, 1.1rem);--fs-hud: clamp(.95rem, 2.3vw, 1.5rem);--fs-hud-label: clamp(.6rem, 1.4vw, .8rem);--bubble-fill: radial-gradient(circle at 30% 20%, rgba(26, 143, 158, .4), rgba(11, 61, 84, .72));--bubble-border: 1px solid rgba(232, 244, 248, .5);--bubble-shadow: 0 10px 40px rgba(7, 30, 44, .55), inset 0 1px 0 rgba(232, 244, 248, .6)}.t-display{font-family:var(--display);letter-spacing:.5px}.t-body{font-family:var(--body)}.screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(14px,3vh,28px);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));font-family:var(--body);color:var(--foam);transition:opacity .32s ease,transform .32s ease}.screen.is-hidden{opacity:0;transform:scale(1.04);pointer-events:none}.bubble-frame{position:relative;background:var(--bubble-fill);-webkit-backdrop-filter:blur(10px) saturate(1.2);backdrop-filter:blur(10px) saturate(1.2);border-radius:36px;border:var(--bubble-border);box-shadow:var(--bubble-shadow);overflow:hidden}.bubble-frame:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 25% 16%,rgba(255,255,255,.45),transparent 55%);pointer-events:none}.panel{position:relative;background:var(--bubble-fill);-webkit-backdrop-filter:blur(10px) saturate(1.2);backdrop-filter:blur(10px) saturate(1.2);border-radius:36px;border:var(--bubble-border);box-shadow:var(--bubble-shadow);padding:clamp(20px,4vw,40px);width:min(92vw,560px);max-height:86vh;display:flex;flex-direction:column;align-items:center;gap:clamp(12px,2.5vh,22px);animation:panelIn .42s cubic-bezier(.2,1.4,.4,1) both}.panel:before{content:"";position:absolute;inset:0;border-radius:36px;background:radial-gradient(ellipse at 25% 16%,rgba(255,255,255,.4),transparent 55%);pointer-events:none}.panel--wide{width:min(94vw,760px)}@keyframes panelIn{0%{transform:scale(.1);opacity:0}70%{transform:scale(1.05);opacity:1}to{transform:scale(1)}}.logo{font-family:var(--display);font-size:var(--fs-title);line-height:.95;text-align:center;background:linear-gradient(180deg,var(--pineapple),var(--coral));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 0 rgba(11,61,84,.7)) drop-shadow(0 0 18px rgba(255,217,61,.5));animation:wobble 4s ease-in-out infinite}.logo .sub{display:block;font-size:.4em;background:linear-gradient(180deg,var(--foam),var(--jelly));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 0 rgba(11,61,84,.6))}@keyframes wobble{0%,to{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(2deg) translateY(-6px)}}.tagline{font-size:var(--fs-body);color:var(--foam);opacity:.85;text-align:center}.bubble-btn{position:relative;font-family:var(--display);font-size:var(--fs-button);letter-spacing:.5px;color:var(--ink);background:linear-gradient(180deg,var(--pineapple),#f5b733);border:2px solid rgba(255,255,255,.7);border-radius:26px;padding:clamp(12px,1.8vh,18px) clamp(22px,4vw,40px);min-width:clamp(180px,40vw,280px);cursor:pointer;box-shadow:0 6px #0b3d5473,0 8px 18px #071e2c66;transition:transform .12s ease,filter .12s ease,box-shadow .12s ease;text-align:center;user-select:none;overflow:hidden}.bubble-btn:before{content:"";position:absolute;top:6%;left:8%;right:8%;height:36%;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.7),transparent);pointer-events:none}.bubble-btn:hover{transform:translateY(-2px);filter:brightness(1.06)}.bubble-btn:active{transform:translateY(4px) scale(.97);box-shadow:0 2px #0b3d5473,inset 0 3px 10px #0b3d5466}.bubble-btn:focus-visible{outline:3px solid var(--foam);outline-offset:3px}.bubble-btn[disabled],.bubble-btn.is-disabled{filter:grayscale(.6) opacity(.5);pointer-events:none}.bubble-btn--secondary{background:linear-gradient(180deg,var(--ocean),#126b78);color:var(--foam)}.bubble-btn--danger{background:linear-gradient(180deg,var(--krusty),#b32533);color:var(--foam)}.bubble-btn--ghost{background:#e8f4f81f;color:var(--foam);box-shadow:none;border-color:#e8f4f859}.bubble-btn--sm{min-width:0;font-size:var(--fs-body);padding:8px 16px;border-radius:18px}.menu-list{display:flex;flex-direction:column;gap:clamp(10px,2vh,16px);align-items:center}.menu-list .bubble-btn:nth-child(odd){transform:rotate(-1.5deg)}.menu-list .bubble-btn:nth-child(2n){transform:rotate(1.5deg)}.menu-list .bubble-btn:hover{transform:translateY(-2px) rotate(0)}.panel-title{font-family:var(--display);font-size:var(--fs-header);color:var(--pineapple);filter:drop-shadow(0 2px 0 rgba(11,61,84,.7));text-align:center}#hud{position:absolute;inset:0;pointer-events:none;font-family:var(--body);color:var(--foam)}#hud.is-hidden{display:none}.hud-top{position:absolute;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:max(64px,calc(env(safe-area-inset-right) + 56px));display:flex;gap:clamp(8px,1.6vw,16px);justify-content:space-between;align-items:flex-start;flex-wrap:wrap}.hud-cluster{display:flex;gap:clamp(8px,1.6vw,14px)}.hud-chip{position:relative;display:flex;flex-direction:column;align-items:center;padding:6px clamp(10px,1.6vw,16px);border-radius:20px;background:var(--bubble-fill);border:var(--bubble-border);box-shadow:var(--bubble-shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hud-chip .label{font-size:var(--fs-hud-label);text-transform:uppercase;letter-spacing:1px;opacity:.8;font-weight:700}.hud-chip .value{font-family:var(--display);font-size:var(--fs-hud);color:var(--pineapple);font-variant-numeric:tabular-nums;display:inline-block;min-width:3ch;text-align:center}.hud-chip.jelly .value{color:var(--jelly)}.hud-chip.level .value{color:var(--foam)}.dev-complete-level{position:absolute;left:max(14px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));min-height:44px;padding:9px 15px 8px;border:2px dashed rgba(255,217,61,.92);border-radius:16px;background:#071e2cdb;box-shadow:0 4px #020c14b8,0 0 16px #ffd93d33;color:var(--pineapple);font-family:var(--display);font-size:clamp(.72rem,1.5vw,.92rem);letter-spacing:.045em;line-height:1;white-space:nowrap;pointer-events:auto;cursor:pointer;transition:transform .12s ease,border-color .12s ease,opacity .12s ease}.dev-complete-level:hover:not(:disabled){transform:translateY(-2px);border-style:solid}.dev-complete-level:active:not(:disabled){transform:translateY(2px)}.dev-complete-level:focus-visible{outline:3px solid var(--foam);outline-offset:3px}.dev-complete-level:disabled{opacity:.42;cursor:not-allowed}@media(max-width:360px){.dev-complete-level{padding-inline:8px;font-size:.6rem}}.lives{display:flex;gap:4px;align-items:center}.life{width:clamp(18px,3vw,26px);height:clamp(18px,3vw,26px);border-radius:6px;background:linear-gradient(180deg,#3fc1f0,#1f8fd0);border:2px solid rgba(255,255,255,.8);box-shadow:0 2px 6px #071e2c66;position:relative}.life:after{content:"";position:absolute;inset:28% 24% auto;height:22%;border-radius:999px;background:#ffffffd9}.life.is-spent{filter:grayscale(.8) opacity(.25)}.hud-power{position:absolute;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translate(-50%);width:clamp(54px,11vw,78px);height:clamp(54px,11vw,78px);border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--jelly) calc(var(--ratio, 0) * 360deg),rgba(232,244,248,.12) 0);transition:opacity .3s ease;opacity:0}.hud-power.is-active{opacity:1}.hud-power.is-warning{animation:ringPulse .4s ease-in-out infinite}.hud-power .core{width:78%;height:78%;border-radius:50%;background:var(--bubble-fill);border:var(--bubble-border);display:grid;place-items:center;font-family:var(--display);font-size:var(--fs-hud-label);color:var(--foam)}@keyframes ringPulse{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.1)}}.touch-dpad{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));right:max(18px,env(safe-area-inset-right));width:150px;height:150px;display:none;pointer-events:auto}.touch-pause{position:absolute;top:max(70px,calc(env(safe-area-inset-top) + 64px));right:max(14px,env(safe-area-inset-right));display:none;pointer-events:auto}body.is-touch .touch-dpad,body.is-touch .touch-pause{display:block}.dpad-btn{position:absolute;width:52px;height:52px;border-radius:16px;background:#1a8f9e59;border:2px solid rgba(232,244,248,.6);color:var(--foam);font-size:1.4rem;display:grid;place-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);touch-action:none;user-select:none}.dpad-btn:active{background:#ffd93d80}.dpad-up{top:0;left:49px}.dpad-down{bottom:0;left:49px}.dpad-left{top:49px;left:0}.dpad-right{top:49px;right:0}.scroll-area{width:100%;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:4px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:20px;background:#e8f4f814;border:1px solid rgba(232,244,248,.18)}.row .row-main{display:flex;flex-direction:column;gap:2px;text-align:left}.row .row-name{font-weight:700;font-size:var(--fs-body);color:var(--foam)}.row .row-desc{font-size:.82em;opacity:.75}.row .row-cost{font-family:var(--display);color:var(--pineapple);font-variant-numeric:tabular-nums}.row.is-owned{border-color:var(--ocean)}.lb-rank{font-family:var(--display);color:var(--pineapple);min-width:2ch;text-align:center}.lb-score{font-family:var(--display);color:var(--foam);font-variant-numeric:tabular-nums}.field{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%}.field label{font-weight:700}.field input[type=range]{flex:1;accent-color:var(--jelly)}.field input[type=text]{flex:1;font-family:var(--body);font-size:var(--fs-body);padding:8px 12px;border-radius:14px;border:2px solid rgba(232,244,248,.4);background:#071e2c66;color:var(--foam)}.seg{display:flex;gap:6px}.seg button{font-family:var(--body);font-weight:700;padding:6px 12px;border-radius:12px;border:2px solid rgba(232,244,248,.35);background:transparent;color:var(--foam);cursor:pointer}.seg button.is-on{background:var(--jelly);color:var(--ink);border-color:var(--jelly)}.field select.res-select{flex:1;font-family:var(--body);font-size:var(--fs-body);font-weight:700;padding:8px 12px;border-radius:14px;border:2px solid rgba(232,244,248,.4);background:#071e2c66;color:var(--foam);cursor:pointer}.field select.res-select option{color:var(--ink);background:var(--foam)}.jelly-balance{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-size:var(--fs-header);color:var(--jelly)}.muted{opacity:.7;font-size:.85em}.center{text-align:center}.row-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.fs-toggle{position:fixed;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));z-index:40;width:44px;height:44px;padding:0;display:grid;place-items:center;border-radius:14px;color:var(--foam);background:var(--bubble-fill);border:var(--bubble-border);box-shadow:var(--bubble-shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;transition:transform .12s ease,filter .12s ease}.fs-toggle.is-hidden{display:none}.fs-toggle:hover{transform:translateY(-1px);filter:brightness(1.12)}.fs-toggle:active{transform:translateY(1px) scale(.96)}.fs-toggle:focus-visible{outline:3px solid var(--foam);outline-offset:2px}.fs-ico{width:24px;height:24px;display:block}.fs-ico--compress,.fs-toggle.is-active .fs-ico--expand{display:none}.fs-toggle.is-active .fs-ico--compress{display:block}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#071e2c8c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);transition:opacity .25s ease}.overlay.is-hidden{opacity:0;pointer-events:none}.banner{position:absolute;top:38%;left:50%;transform:translate(-50%,-50%);font-family:var(--display);font-size:var(--fs-title);color:var(--pineapple);filter:drop-shadow(0 3px 0 rgba(11,61,84,.8));pointer-events:none;text-align:center;animation:bannerPop .4s ease both}.banner.is-hidden{display:none}@keyframes bannerPop{0%{transform:translate(-50%,-50%) scale(.4);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;width:100%}.summary-grid .k{opacity:.8}.summary-grid .v{font-family:var(--display);color:var(--pineapple);text-align:right;font-variant-numeric:tabular-nums}.toast{position:absolute;bottom:12%;left:50%;transform:translate(-50%);background:var(--bubble-fill);border:var(--bubble-border);padding:10px 18px;border-radius:18px;color:var(--foam);font-weight:700;opacity:0;transition:opacity .3s ease}.toast.is-show{opacity:1}#ui-root.is-cutscene-active>:not(.cutscene){visibility:hidden;pointer-events:none}.cutscene{position:absolute;inset:0;z-index:40;overflow:hidden;isolation:isolate;cursor:pointer;color:var(--foam);background:linear-gradient(180deg,rgba(2,12,20,.2),transparent 32%,rgba(2,12,20,.18));animation:cutsceneIn .34s ease-out both}.cutscene.is-hidden{display:none}.cutscene:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.2;mix-blend-mode:soft-light;background-image:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.035) 3px 4px),radial-gradient(circle at 18% 22%,rgba(255,255,255,.22) 0 1px,transparent 2px);background-size:auto,18px 18px}.cutscene:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse at 50% 42%,transparent 42%,rgba(1,7,14,.2) 72%,rgba(1,7,14,.58))}.cutscene-loading{position:absolute;z-index:4;left:50%;top:50%;transform:translate(-50%,-50%);padding:10px 18px 8px;border:2px solid rgba(255,255,255,.7);border-radius:999px;color:var(--foam);background:#031622cc;box-shadow:0 4px #020c14a6;font:900 clamp(.72rem,1.5vw,.94rem)/1 var(--body);letter-spacing:.11em}.cutscene-loading.is-hidden{display:none}.cutscene-title-cards{position:absolute;z-index:4;inset:0;display:grid;place-content:center;gap:clamp(18px,4vh,36px);padding:12vw;text-align:center;pointer-events:none;background:radial-gradient(circle at 50% 42%,#15576d33,#010911b8);text-shadow:0 5px 0 #153b52,0 14px 32px rgba(0,0,0,.68);animation:cutsceneTitleReveal .8s ease-out both}.cutscene-title-cards.is-hidden{display:none}.cutscene-title-card-main{color:#fff2a8;font:900 clamp(3.2rem,12vw,8.5rem)/.88 var(--display);letter-spacing:.055em}.cutscene-title-card-sub{max-width:920px;color:#fff;font:900 clamp(1rem,3vw,2rem)/1.2 var(--body);letter-spacing:.09em;text-wrap:balance}.cutscene[data-title-cards="2"] .cutscene-heading{opacity:0}@keyframes cutsceneTitleReveal{0%{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}.cutscene-header{position:absolute;z-index:3;top:max(18px,env(safe-area-inset-top));left:max(22px,env(safe-area-inset-left));right:max(22px,env(safe-area-inset-right));display:flex;align-items:flex-start;justify-content:space-between;gap:18px;pointer-events:none}.cutscene-heading{min-width:0;max-width:min(68vw,760px);filter:drop-shadow(0 5px 0 rgba(4,18,28,.55))}.cutscene-kicker{display:inline-flex;padding:4px 11px 3px;border:2px solid rgba(255,255,255,.85);border-radius:999px;color:#163249;background:var(--pineapple);font:900 clamp(.58rem,1.2vw,.78rem)/1 var(--body);letter-spacing:.14em;box-shadow:0 3px #071e2cb3}.cutscene-title{margin-top:7px;color:#fff4b8;font-family:var(--display);font-size:clamp(1.45rem,3.8vw,3.35rem);line-height:.98;letter-spacing:.015em;text-wrap:balance;-webkit-text-stroke:1px rgba(9,38,55,.35);text-shadow:0 3px 0 #173b52,0 8px 22px rgba(0,0,0,.48)}.cutscene-actions{display:flex;align-items:center;gap:9px;pointer-events:auto}.cutscene-control{min-height:42px;padding:7px 13px;border:2px solid rgba(255,255,255,.72);border-radius:999px;color:#fff;background:#031622b8;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);box-shadow:0 4px #020c149e,inset 0 1px #ffffff2e;font:900 clamp(.68rem,1.35vw,.88rem)/1 var(--body);letter-spacing:.045em;cursor:pointer;transition:transform .12s ease,background .12s ease}.cutscene-control:hover{transform:translateY(-2px);background:#0d394ce6}.cutscene-control:active{transform:translateY(2px);box-shadow:0 1px #020c149e}.cutscene-control:focus-visible{outline:3px solid var(--pineapple);outline-offset:3px}.cutscene[data-voice-state=speaking] .cutscene-voice{animation:voicePulse .85s ease-in-out infinite}.cutscene-dialogue{position:absolute;z-index:4;left:50%;bottom:max(24px,env(safe-area-inset-bottom));width:min(90vw,940px);min-height:clamp(118px,17vh,154px);padding:clamp(24px,3.2vw,34px) clamp(22px,4vw,44px) clamp(18px,2.6vw,26px);overflow:visible;transform:translate(-50%);border:clamp(3px,.45vw,5px) solid #173b52;border-radius:34px 34px 30px 30px;color:#173046;background:radial-gradient(circle at 12% 10%,rgba(255,255,255,.95),transparent 24%),linear-gradient(145deg,#fff9dc,#f0dfaa);box-shadow:0 7px #0a2638,0 16px 40px #00000075,inset 0 -5px #97672c1f;font-family:var(--body);animation:dialoguePop .36s cubic-bezier(.2,1.25,.35,1) both}.cutscene-dialogue.is-hidden{display:none}.cutscene-dialogue:before{content:"";position:absolute;top:-22px;left:23%;width:38px;height:38px;border-top:5px solid #173b52;border-left:5px solid #173b52;background:#fff7d7;transform:rotate(45deg)}.cutscene-dialogue[data-speaker-side=right]:before{left:auto;right:23%}.cutscene-dialogue[data-speaker-side=center]:before{left:50%;transform:translate(-50%) rotate(45deg)}.cutscene-speaker{position:absolute;top:-19px;left:30px;min-height:38px;padding:7px 17px 5px;border:3px solid #173b52;border-radius:14px 14px 14px 5px;color:#173046;background:var(--pineapple);box-shadow:0 3px #0a2638;font:400 clamp(.82rem,1.8vw,1.18rem)/1 var(--display);letter-spacing:.035em}.cutscene[data-speaker=krabs] .cutscene-speaker{color:#fff;background:#e94f46}.cutscene[data-speaker=king] .cutscene-speaker{color:#fff;background:#7845d8}.cutscene[data-speaker=zap] .cutscene-speaker{background:#81e6ec}.cutscene-line{min-height:2.7em;font-size:clamp(1rem,2.15vw,1.48rem);font-weight:800;line-height:1.35;letter-spacing:.005em;text-wrap:pretty}.cutscene-dialogue-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:9px;color:#173046a6;font-size:clamp(.68rem,1.35vw,.84rem);font-weight:900;letter-spacing:.075em}.cutscene-progress{font-variant-numeric:tabular-nums}.cutscene-hint{margin-left:auto;text-align:right;transition:opacity .16s ease}@keyframes cutsceneIn{0%{opacity:0}to{opacity:1}}@keyframes dialoguePop{0%{opacity:0;transform:translate(-50%) translateY(30px) scale(.94)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes voicePulse{0%,to{border-color:#ffffffb8}50%{border-color:var(--pineapple);box-shadow:0 4px #020c149e,0 0 18px #ffd93d8c}}@media(prefers-reduced-motion:reduce){.logo,.panel,.banner,.hud-power.is-warning,.cutscene,.cutscene-dialogue,.cutscene-voice{animation:none!important}.screen{transition:opacity .2s ease}}@media(max-width:480px){.hud-chip .label{display:none}.panel{border-radius:26px}.cutscene-header{top:max(10px,env(safe-area-inset-top));left:12px;right:12px;gap:8px}.cutscene-heading{max-width:56vw}.cutscene-kicker{padding:3px 7px 2px;font-size:.52rem}.cutscene-title{margin-top:4px;font-size:clamp(1.05rem,5.6vw,1.45rem)}.cutscene-actions{gap:5px}.cutscene-control{min-height:44px;padding:6px 8px;font-size:.6rem;letter-spacing:0}.cutscene-dialogue{bottom:max(15px,env(safe-area-inset-bottom));width:calc(100vw - 24px);min-height:158px;padding:25px 17px 14px;border-radius:25px 25px 22px 22px}.cutscene-speaker{left:18px;top:-17px;min-height:34px;padding:6px 12px 4px}.cutscene-line{min-height:4.05em;font-size:clamp(.94rem,4.1vw,1.08rem);line-height:1.35}.cutscene-dialogue-footer{margin-top:6px;font-size:.61rem;letter-spacing:.035em}}@media(max-height:620px)and (orientation:landscape){.cutscene-kicker{display:none}.cutscene-title{font-size:clamp(1.1rem,3.2vw,1.8rem)}.cutscene-dialogue{bottom:12px;min-height:106px;padding-top:20px;padding-bottom:12px}.cutscene-line{min-height:2.4em;font-size:clamp(.88rem,2vw,1.06rem)}.cutscene-dialogue-footer{margin-top:3px}}body.perf-no-blur *,body.perf-no-blur *:before,body.perf-no-blur *:after{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
