:root{color-scheme:dark;--ink: #f6f2ff;--muted: #aaa4bf;--panel: #211e38;--panel-2: #2b2747;--line: rgba(255,255,255,.1);--purple: #8b5cf6;--purple-bright: #a78bfa;--mint: #57e6b1;--red: #ff6b7a;--amber: #ffc857;--shadow: 0 18px 50px rgba(4, 3, 14, .38)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 20% 0%,rgba(112,73,211,.22),transparent 34rem),linear-gradient(165deg,#141225,#0c0b17 70%);color:var(--ink);font-family:Inter,ui-rounded,SF Pro Rounded,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}button{font:inherit;touch-action:manipulation}body.native-app{min-height:100dvh;user-select:none;-webkit-user-select:none}body.native-app .coin-shop{display:none}body.native-app.billing-ready .coin-shop{display:block}body.app-paused *{animation-play-state:paused!important}body.intro-open,body.opponent-open,body.tutorial-open{overflow:hidden}.intro-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;overflow:hidden;padding:24px;background:linear-gradient(180deg,#05040b33,#05040b8a),radial-gradient(circle at 50% 28%,rgba(139,92,246,.22),transparent 35%),radial-gradient(circle at 50% 110%,rgba(255,107,122,.13),transparent 42%),url(./title-vault-background-v2-VjES1d4a-dbb06577.webp) center / cover no-repeat,#090811;color:var(--ink);transition:opacity .42s ease,visibility .42s ease}.intro-overlay.is-leaving{opacity:0;visibility:hidden}.intro-overlay:not(.is-loading){padding:0;background:#090811}.intro-panel.title-panel{width:min(100%,calc(100dvh * 16 / 9));aspect-ratio:16 / 9}.title-artwork,.title-artwork img{display:block;width:100%;height:100%}.title-artwork img{object-fit:contain}.title-publisher{position:absolute;right:2.5%;bottom:3%;width:clamp(68px,9%,124px);pointer-events:none;filter:drop-shadow(0 2px 5px rgba(0,0,0,.8))}.title-publisher img{display:block;width:100%;height:auto}.title-music-button{position:absolute;left:2.5%;bottom:3%;min-height:44px;padding:8px 12px;border:1px solid rgba(128,255,245,.4);border-radius:12px;background:#07141ed9;color:#d4f7fa;font-size:.72rem;cursor:pointer}.title-music-button:hover,.title-music-button:focus-visible{border-color:#80fff5;background:#12343e}.title-panel .enter-game-button{position:absolute;left:50%;bottom:5%;transform:translate(-50%);width:clamp(260px,32%,380px);white-space:nowrap;min-height:48px;border:2px solid #80fff5;border-radius:12px;background:linear-gradient(180deg,#24dcca,#06786f);color:#efffff;box-shadow:0 0 22px #12d6c777,inset 0 0 0 3px #063f4a;text-shadow:0 2px 3px #033d48;letter-spacing:.05em}.title-panel .enter-game-button:hover{transform:translate(-50%) translateY(-2px)}.title-panel .enter-game-button:active{transform:translate(-50%)}.title-panel .intro-footnote{position:absolute;bottom:1%;width:100%;margin:0;color:#d4f7fa;text-shadow:0 1px 4px #000}@media(orientation:portrait){.intro-panel.title-panel{width:min(100%,56.25dvh);aspect-ratio:9 / 16}.title-panel .enter-game-button{width:78%;min-height:52px;bottom:7%}.title-panel .intro-footnote{bottom:3%;font-size:.6rem}.title-publisher{top:1.5%;bottom:auto;right:3%;width:19%}.title-music-button{top:2%;bottom:auto;left:3%;padding:6px 9px;font-size:.65rem}}.intro-glow{position:absolute;width:min(80vw,620px);aspect-ratio:1;border:1px solid rgba(255,255,255,.045);border-radius:50%;box-shadow:0 0 110px #8b5cf61f,inset 0 0 90px #ff6b7a0f;animation:intro-breathe 4s ease-in-out infinite}.intro-grid{position:absolute;inset:50% -20% -30%;opacity:.16;background-image:linear-gradient(rgba(167,139,250,.28) 1px,transparent 1px),linear-gradient(90deg,rgba(167,139,250,.28) 1px,transparent 1px);background-size:48px 48px;transform:perspective(430px) rotateX(64deg);transform-origin:top;mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent 80%)}.intro-panel{position:relative;z-index:1;width:min(100%,600px);text-align:center}.intro-kicker{margin:0 0 24px;color:var(--muted);font-size:clamp(.63rem,1.8vw,.78rem);font-weight:900;letter-spacing:.34em}.intro-logo{display:grid;justify-items:center}.intro-no-mark,.loading-emblem{position:relative;display:grid;place-items:center;width:164px;aspect-ratio:1;border:9px solid var(--red);border-radius:50%;filter:drop-shadow(0 0 16px rgba(255,107,122,.25))}.intro-no-mark:after,.loading-emblem:after{content:"";position:absolute;width:116%;height:9px;border-radius:99px;background:var(--red);transform:rotate(45deg);box-shadow:0 0 15px #ff6b7a40}.intro-no-mark span,.loading-emblem span{color:var(--ink);font-size:1.25rem;font-weight:1000;letter-spacing:.05em;text-shadow:0 2px 10px rgba(4,3,14,.75)}.intro-title-lines{display:grid;grid-template-columns:minmax(28px,1fr) auto minmax(28px,1fr);align-items:center;gap:16px;width:100%;margin-top:22px}.intro-title-lines span{height:2px;background:linear-gradient(90deg,transparent,rgba(246,242,255,.5))}.intro-title-lines span:last-child{background:linear-gradient(90deg,rgba(246,242,255,.5),transparent)}.intro-title-lines strong{white-space:nowrap;font-size:clamp(2.25rem,9vw,4.2rem);font-weight:1000;letter-spacing:.08em;line-height:.95}.intro-tagline{margin:30px 0 24px;color:#c8c2d9;font-size:clamp(.78rem,2.6vw,.96rem);letter-spacing:.08em}.enter-game-button{min-width:210px;min-height:52px;padding:0 28px;border:1px solid rgba(255,107,122,.72);border-radius:14px;background:linear-gradient(135deg,#d94658,#8f2337);color:#fff;box-shadow:0 12px 34px #8f23374d,inset 0 1px #ffffff2e;font-weight:1000;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:transform .18s ease,filter .18s ease}.enter-game-button:hover{filter:brightness(1.12);transform:translateY(-2px)}.enter-game-button:active{transform:translateY(0)}.enter-game-button:focus-visible{outline:3px solid var(--purple-bright);outline-offset:4px}.intro-footnote{margin:16px 0 0;color:var(--muted);font-size:.68rem;letter-spacing:.06em}.intro-overlay.is-loading{padding:12px;background:#090811}.intro-overlay.is-loading .intro-glow,.intro-overlay.is-loading .intro-grid{display:none}.loading-panel{position:relative;width:min(100%,calc((100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 2 / 3));text-align:center}.loading-artwork{display:block;width:100%;height:auto}.loading-copy{position:absolute;inset:0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.loading-track{position:absolute;left:23.4%;bottom:4.35%;width:53.2%;height:3%;overflow:hidden;padding:3px;border:2px solid #65ffe1;border-radius:99px;background:#06352f;box-shadow:0 0 10px #57e6b159}.loading-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#37dfb7,#7bffe0);transition:width .1s linear}.loading-percent{position:absolute;left:0;right:0;bottom:1.3%;color:#afffeb;font-size:clamp(.6rem,1.5vw,.85rem);text-shadow:0 2px 4px #000;letter-spacing:.1em}.opponent-intro{position:fixed;inset:0;z-index:900;display:grid;place-items:center;overflow:hidden;padding:24px;background:linear-gradient(110deg,#05040df7,#110c22f2),radial-gradient(circle at 35% 50%,rgba(139,92,246,.3),transparent 38%);transition:opacity .3s ease,visibility .3s ease}.opponent-intro.is-leaving{opacity:0;visibility:hidden}.opponent-scanlines{position:absolute;inset:0;opacity:.15;background:repeating-linear-gradient(0deg,transparent 0 5px,rgba(255,255,255,.08) 6px);pointer-events:none}.opponent-card{position:relative;display:grid;grid-template-columns:minmax(230px,.9fr) minmax(300px,1.1fr);align-items:center;gap:clamp(24px,6vw,72px);width:min(100%,820px);min-height:480px}.opponent-room{position:absolute;top:0;left:0;margin:0;color:var(--muted);font-size:.7rem;font-weight:900;letter-spacing:.22em}.opponent-portrait-wrap{position:relative;display:grid;place-items:center;min-height:430px}.opponent-rings{position:absolute;width:92%;aspect-ratio:1;border:1px solid rgba(167,139,250,.32);border-radius:50%;box-shadow:0 0 70px #8b5cf63b,inset 0 0 55px #ff6b7a14}.opponent-rings:before,.opponent-rings:after{content:"";position:absolute;inset:10%;border:1px dashed rgba(255,200,87,.3);border-radius:inherit}.opponent-rings:after{inset:24%;border-style:solid;border-color:#57e6b140}.opponent-image{position:relative;z-index:1;display:block;width:min(100%,390px);max-height:430px;object-fit:contain;filter:drop-shadow(0 24px 24px rgba(0,0,0,.56))}.opponent-copy{position:relative;z-index:2}.opponent-kicker{margin:0 0 9px;color:var(--red);font-size:.7rem;font-weight:1000;letter-spacing:.28em}.opponent-versus{margin:0;color:var(--muted);font-size:.9rem}.opponent-copy h2{margin:2px 0 13px;font-size:clamp(3rem,9vw,5.7rem);font-weight:1000;letter-spacing:-.045em;line-height:.95;text-shadow:0 0 28px rgba(139,92,246,.28)}.opponent-skill{display:inline-block;padding:8px 12px;border:1px solid rgba(87,230,177,.4);border-radius:99px;background:#144e3f40;color:var(--mint);font-size:.68rem;font-weight:1000;letter-spacing:.09em}.opponent-warning{max-width:430px;margin:17px 0 0;padding:11px 13px;border-left:4px solid var(--amber);border-radius:5px 11px 11px 5px;background:#ffc8571c;color:#ffe6a2;font-size:.82rem;font-weight:1000;letter-spacing:.025em;line-height:1.4}.opponent-description{max-width:430px;margin:12px 0 24px;color:#c7c1d8;font-size:.92rem;line-height:1.55}.opponent-continue{min-width:180px;min-height:44px;padding:0 20px;border:1px solid rgba(255,107,122,.55);border-radius:12px;background:linear-gradient(135deg,#d94658,#7d2032);color:#fff;font-size:.74rem;font-weight:1000;letter-spacing:.09em;text-transform:uppercase;cursor:pointer}.opponent-timeline{position:absolute;left:0;right:0;bottom:0;overflow:hidden;height:3px;background:#ffffff14}.opponent-timeline span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--purple),var(--red),var(--amber))}.opponent-intro.cinematic-active .opponent-image{animation:rival-arrive .7s cubic-bezier(.16,.8,.22,1) both}.opponent-intro.cinematic-active .opponent-copy{animation:rival-copy .62s .16s ease-out both}.opponent-intro.cinematic-active .opponent-rings{animation:rival-rings 3.6s linear both}.opponent-intro.cinematic-active .opponent-timeline span{animation:rival-timeline 3.6s linear both}@keyframes rival-arrive{0%{opacity:0;transform:translate(-70px) scale(.84);filter:blur(9px) drop-shadow(0 24px 24px rgba(0,0,0,.56))}to{opacity:1;transform:none;filter:blur(0) drop-shadow(0 24px 24px rgba(0,0,0,.56))}}@keyframes rival-copy{0%{opacity:0;transform:translate(45px)}to{opacity:1;transform:none}}@keyframes rival-rings{0%{opacity:0;transform:scale(.72) rotate(-25deg)}18%{opacity:1}to{opacity:.65;transform:scale(1.05) rotate(35deg)}}@keyframes rival-timeline{to{width:100%}}@keyframes dash-run{0%{transform:translateY(3px) rotate(-1deg)}to{transform:translateY(-5px) rotate(1deg)}}@keyframes dash-glow{0%,to{opacity:.62;transform:scale(.94)}50%{opacity:1;transform:scale(1.04)}}@keyframes intro-breathe{0%,to{transform:scale(.96);opacity:.58}50%{transform:scale(1.04);opacity:1}}.game-shell{width:min(100%,1040px);margin:0 auto;padding:max(18px,env(safe-area-inset-top)) 16px max(28px,env(safe-area-inset-bottom))}.topbar,.mission-card,.stats,.actions,.tools{display:flex;align-items:center}.topbar{justify-content:space-between;margin-bottom:18px}.top-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.audio-controls{display:flex;gap:5px}.audio-button{min-height:44px;padding:0 10px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--muted);font:inherit;font-size:.68rem;font-weight:800;cursor:pointer;white-space:nowrap}.audio-button[aria-pressed=true]{color:var(--mint);border-color:#57e6b159}.audio-button:focus-visible{outline:2px solid var(--mint);outline-offset:3px}@media(min-width:481px)and (max-width:800px){.topbar{flex-wrap:wrap;gap:10px}.top-actions{flex-wrap:wrap;justify-content:flex-end}}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(1.55rem,5vw,2.2rem);letter-spacing:-.04em}h2{margin-bottom:6px;letter-spacing:-.025em}.eyebrow{margin-bottom:4px;color:var(--purple-bright);font-size:.68rem;font-weight:900;letter-spacing:.16em}.icon-button{width:42px;height:42px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--ink);font-size:1.15rem;font-weight:900;cursor:pointer}.store-button,.daily-button,.coin-pill{min-height:42px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--ink)}.store-button{padding:0 12px;font-size:.75rem;font-weight:900;cursor:pointer}#storeButton{display:inline-flex;align-items:center;justify-content:center;gap:7px;order:-1;min-width:104px;min-height:48px;padding:0 16px;border:2px solid #ffe49a;background:linear-gradient(135deg,#ffdc78,#e8a83c);color:#30200b;font-size:.9rem;font-weight:1000;box-shadow:0 0 18px #ffc85747,inset 0 1px #ffffff80}#storeButton>span{font-size:1.1rem}#storeButton:hover{background:#ffe49a;box-shadow:0 0 22px #ffc85773}#storeButton:focus-visible{outline:3px solid var(--mint);outline-offset:3px}#storeButton:disabled{opacity:.55;cursor:default}.daily-button{min-width:70px;padding:0 10px;color:var(--amber);font-size:.72rem;font-weight:900;cursor:pointer}.daily-button strong{color:var(--ink);font-variant-numeric:tabular-nums}.coin-pill{display:flex;align-items:center;gap:6px;padding:0 10px;font-variant-numeric:tabular-nums}.coin-pill span{color:var(--amber);text-shadow:0 0 8px rgba(255,200,87,.5)}.coin-pill strong{font-size:.82rem}.coin-pill.large{min-height:38px}.mission-card{justify-content:space-between;gap:18px;padding:16px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(135deg,#2b2747f5,#1f1c36f5);box-shadow:var(--shadow)}.mission-card p:last-child{margin:0;color:var(--muted);line-height:1.4}.timer-wrap{flex:0 0 auto;min-width:80px;padding:5px 10px;border:1px solid rgba(255,200,87,.4);border-radius:10px;background:#0f0c18a6;text-align:center}.timer-wrap span{display:block;color:var(--muted);font-size:.62rem;font-weight:800;letter-spacing:.09em}.timer-wrap strong{display:block;color:var(--amber);font-size:1.75rem;line-height:1.1;font-variant-numeric:tabular-nums}.stats{gap:8px;margin:10px 0}.stats div{flex:1;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:#211e38c7}.stats span{display:block;color:var(--muted);font-size:.66rem}.stats strong{font-size:.92rem}.level-bar{display:flex;align-items:center;gap:7px;margin:0 0 10px;overflow-x:auto;scrollbar-width:none}.level-bar::-webkit-scrollbar{display:none}.level-chip,.shuffle-button{flex:0 0 auto;min-height:34px;padding:0 11px;border:1px solid var(--line);border-radius:11px;background:#211e38c7;color:var(--muted);font-size:.69rem;font-weight:900;cursor:pointer}.level-chip.selected{border-color:var(--purple-bright);background:#8b5cf633;color:var(--ink)}.level-chip.challenge{border-color:#ffc8577a;background:#ffc8571a;color:var(--amber)}.level-chip.challenge.selected{border-color:var(--amber);background:#ffc85738;color:var(--ink);box-shadow:inset 0 -2px 0 var(--amber)}.shuffle-button{margin-left:auto;border-color:#ffc85759;color:var(--amber)}.board-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#19172a;box-shadow:var(--shadow)}.build-workspace{display:grid;grid-template-columns:minmax(0,1fr) 220px;grid-template-areas:"board devices" "actions devices" "hint hint";gap:12px;align-items:start}.build-workspace .board-card{grid-area:board}.build-workspace>.actions{grid-area:actions;margin:0}.build-workspace>#toolHint{grid-area:hint;margin:0;line-height:1.4}.build-workspace .tool-panel{grid-area:devices;display:flex;flex-direction:column;align-self:stretch;min-width:0;min-height:0;margin:0;padding:12px}.build-workspace .device-carousel-heading{flex:0 0 auto;flex-wrap:wrap;gap:8px}.build-workspace .carousel-controls{width:100%}.build-workspace .carousel-controls button{flex:1;min-height:36px}.build-workspace .tools{flex:1 1 0;min-height:0;flex-direction:column;gap:8px;overflow-x:hidden;overflow-y:auto;scroll-snap-type:y proximity;scrollbar-width:thin;scrollbar-color:var(--purple) transparent;padding:6px 4px}.build-workspace .tool{flex:0 0 auto;width:100%;min-width:0;min-height:80px;padding:10px;gap:10px;flex-direction:row;align-items:center;justify-content:flex-start;transform:none;border-radius:12px}.build-workspace .tool>span:last-child{min-width:0}.build-workspace .tool strong,.build-workspace .tool small{white-space:normal;overflow-wrap:anywhere}.build-workspace .tool-icon{width:36px;height:36px}.build-workspace .tool:after{display:none}.build-workspace .tool.selected{transform:none}.build-workspace .tool.locked-tool{display:none}@media(max-width:700px){.build-workspace{grid-template-columns:minmax(0,1fr) 104px;gap:8px}.build-workspace .tool-panel{padding:6px;border-radius:14px}.build-workspace .device-carousel-kicker{font-size:.5rem;letter-spacing:.05em}.build-workspace .device-carousel-heading strong{display:none}.build-workspace .carousel-controls{gap:4px}.build-workspace .tools{padding:4px 2px}.build-workspace .tool{flex-direction:column;align-items:center;min-height:86px;gap:5px;padding:7px 4px;text-align:center}.build-workspace .tool-icon{width:28px;height:28px;border-radius:8px}.build-workspace .tool strong{font-size:.65rem}.build-workspace .tool small{font-size:.55rem;line-height:1.2}.build-workspace>.actions{flex-wrap:wrap;gap:6px}.build-workspace>.actions button{padding:10px 8px;min-height:44px;font-size:.78rem}}#gameCanvas{display:block;width:100%;aspect-ratio:9 / 7;touch-action:none}.tool-panel{position:relative;width:100%;margin-top:12px;padding:16px;overflow:hidden;border:1px solid rgba(167,139,250,.3);border-radius:20px;background:linear-gradient(180deg,#17122ff7,#0e0c1ffa),#211e38f0;box-shadow:0 18px 44px #04030e66,inset 0 1px #ffffff0f,0 0 28px #8b5cf614;transition:width .28s ease,margin-left .28s ease,transform .28s ease}.tool-panel:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,107,122,.035),transparent),repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 4px)}.tool-panel.expanded{width:min(calc(100vw - 32px),960px);margin-left:50%;transform:translate(-50%)}.tool-panel.max-expanded{width:min(calc(100vw - 32px),1160px)}.device-carousel-heading{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.device-carousel-heading>div:first-child{display:grid;gap:2px}.device-carousel-heading strong{font-size:.95rem;letter-spacing:.025em}.device-carousel-kicker{color:#ff6bcb;font-size:.58rem;font-weight:1000;letter-spacing:.2em;text-shadow:0 0 12px rgba(255,77,203,.55)}.carousel-controls{display:flex;gap:6px}.carousel-controls button{display:grid;place-items:center;width:34px;height:30px;padding:0;border:1px solid rgba(87,230,177,.42);border-radius:9px;background:#12102ae6;color:var(--mint);box-shadow:inset 0 0 12px #57e6b112,0 0 10px #57e6b114;font-size:1.35rem;line-height:1;cursor:pointer}.carousel-controls button:hover{border-color:var(--mint);box-shadow:0 0 14px #57e6b140}#toolHint{position:relative;z-index:1;margin-bottom:12px;color:var(--muted);font-size:.76rem}.spring-icon{background:linear-gradient(145deg,#57e6b1,#276b58);color:#122b23;border:2px solid #a0f6d0;border-radius:9px;font-size:1.8rem}.tools{position:relative;z-index:1;align-items:stretch;gap:12px;overflow-x:auto;padding:8px 8px 14px;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;perspective:900px}.tools::-webkit-scrollbar{display:none}.tool-panel.expanded .tools{flex-wrap:nowrap;overflow-x:auto}.tool{position:relative;isolation:isolate;display:flex;flex-direction:column;flex:0 0 auto;align-items:flex-start;justify-content:space-between;gap:10px;width:156px;min-width:156px;min-height:126px;padding:14px;overflow:hidden;border:1px solid rgba(139,92,246,.35);border-radius:13px 13px 18px 18px;background:radial-gradient(circle at 76% 20%,rgba(139,92,246,.2),transparent 38%),linear-gradient(150deg,#242047,#151329 70%);color:var(--ink);text-align:left;cursor:pointer;scroll-snap-align:center;transform:rotateY(-2deg);box-shadow:inset 0 1px #ffffff0f,0 10px 22px #04030e47;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,filter .18s ease}.tool:before{content:"";position:absolute;z-index:-1;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#ff4dcb,#8b5cf6,#57e6b1);opacity:.65}.tool:after{content:"";position:absolute;right:12px;bottom:10px;width:18px;height:4px;border-radius:99px;background:#ffffff1f;box-shadow:-25px 0 #ffffff12}.tool:hover{transform:translateY(-3px) rotateY(0);border-color:#ff4dcbbf;filter:brightness(1.08)}.tool-panel.expanded .tool,.tool-panel.max-expanded .tool{flex:0 0 170px;min-width:170px;max-width:170px}.tool.selected{border-color:#ff6bcb;background:radial-gradient(circle at 72% 18%,rgba(255,77,203,.3),transparent 42%),linear-gradient(150deg,#34205a,#17142f 72%);transform:translateY(-5px) scale(1.035);box-shadow:inset 0 0 0 1px #ff6bcb57,0 0 22px #ff4dcb47,0 14px 28px #04030e6b}.tool.selected:before{height:5px;opacity:1;box-shadow:0 0 14px #ff4dcbb3}.tool strong,.tool small{display:block;white-space:nowrap}.tool strong{font-size:.8rem;letter-spacing:.02em}.tool small{margin-top:3px;color:var(--muted);font-size:.62rem}.tool-icon{position:relative;display:grid;place-items:center;width:46px;height:46px;flex:0 0 auto;border-radius:12px;filter:drop-shadow(0 0 8px rgba(167,139,250,.25))}.wall-icon{background:#a26a42;border:3px solid #d69860}.wall-icon:after{content:"";width:80%;height:3px;background:#46221480;transform:rotate(-34deg)}.goo-icon{background:#5bd694;border-radius:45% 55% 52% 48%;box-shadow:inset 5px 5px #ffffff2e}.decoy-icon{background:var(--amber)}.decoy-icon:before{content:"!";color:#4c3510;font-weight:1000}.mirror-icon{overflow:hidden;border:2px solid #b9a7e8;background:linear-gradient(135deg,#725ca8 0 34%,#d9f6ff 35% 48%,#8bc8df 49% 67%,#f3fbff 68% 75%,#695495 76%);box-shadow:inset 0 0 0 2px #ffffff2e}.bonus-icon{background:#6549a8;color:#f3edff;font-size:1.15rem;font-weight:1000}.foam-icon{background:#76d9f0;color:#eaffff;text-shadow:5px -5px 0 #bdf4ff,-5px 5px 0 #4da9d0}.fake-icon{background:var(--red);color:#fff;font-size:.48rem;font-weight:1000}.light-icon{background:var(--amber);color:#573a00}.laser-icon{overflow:hidden;border:2px solid #ff6078;background:linear-gradient(90deg,transparent 18%,#ff3557 20% 24%,transparent 26% 47%,#ff3557 49% 53%,transparent 55% 76%,#ff3557 78% 82%,transparent 84%),linear-gradient(0deg,transparent 18%,#ff3557 20% 24%,transparent 26% 47%,#ff3557 49% 53%,transparent 55% 76%,#ff3557 78% 82%,transparent 84%),#24142f;box-shadow:inset 0 0 12px #ff35577a,0 0 10px #ff355747}.laser-icon:after{content:"";position:absolute;inset:4px;border:1px solid rgba(255,255,255,.22);border-radius:6px}.magnet-icon{border:5px solid #ef5d73;border-top-color:transparent;color:transparent}.portal-icon{background:radial-gradient(circle,#121024 18%,#60d8ff 21% 32%,#8254e8 35% 52%,#f06bdf 56% 66%,#282047 70%);color:#fff;font-weight:1000;text-shadow:0 0 8px white}.locked-tool{display:none}.erase-icon{border:2px solid #7f7897;color:#bdb6d4;font-size:1.3rem}.actions{position:relative;z-index:1;gap:10px;margin-top:4px}.primary-button,.secondary-button{min-height:48px;border-radius:14px;font-weight:900;cursor:pointer}.primary-button{flex:2;border:0;background:linear-gradient(135deg,var(--purple),#6d3bd7);color:#fff;box-shadow:0 8px 24px #5d34c247}.secondary-button{flex:1;border:1px solid var(--line);background:#19172b;color:var(--ink)}button:disabled{cursor:default;opacity:.42}.result-overlay,.modal-backdrop{position:absolute;inset:0;display:grid;place-content:center;padding:24px;text-align:center;background:#0c0a19e6;backdrop-filter:blur(7px)}.result-overlay h2{font-size:2rem}.result-overlay p:not(.eyebrow){color:var(--muted)}.result-actions{display:flex;gap:8px;width:min(100%,300px);margin:8px auto 0}.result-actions .primary-button,.result-actions .secondary-button{width:auto;margin:0;padding:0 14px}.stars{margin:4px 0 16px;color:var(--amber);font-size:1.8rem;letter-spacing:.12em}.modal-backdrop{position:fixed;z-index:10}.help-card,.store-card,.daily-card{position:relative;width:min(100%,470px);padding:28px;border:1px solid var(--line);border-radius:24px;background:var(--panel);text-align:left;box-shadow:var(--shadow)}.help-card ol{padding-left:22px;color:var(--muted);line-height:1.55}.help-card li+li{margin-top:8px}.help-card .primary-button{width:100%;margin-top:8px}.tutorial-card{width:min(100%,580px);max-height:calc(100dvh - 32px);overflow-y:auto;margin-inline:auto}.tutorial-card>.eyebrow{padding-right:40px}.tutorial-sections{display:flex;gap:6px;margin:12px 0}.tutorial-sections button{flex:1;min-height:44px;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2);color:var(--muted);cursor:pointer;font-size:.75rem}.tutorial-sections button[aria-pressed=true]{border-color:var(--mint);color:var(--mint);background:#57e6b11a}.tutorial-reference{gap:6px;padding:8px}.tutorial-reference .tutorial-item{padding:8px}.tutorial-reference summary{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;list-style:none}.tutorial-reference summary::-webkit-details-marker{display:none}.tutorial-reference summary:after{content:"+";margin-left:auto;color:var(--mint)}.tutorial-reference details[open] summary:after{content:"−"}.tutorial-reference summary>img{width:34px;height:44px;object-fit:contain}.tutorial-reference summary>.tool-icon{flex-shrink:0;width:26px;height:26px}.tutorial-reference summary>strong{font-size:.72rem}.tutorial-reference summary:focus-visible{outline:2px solid var(--mint);outline-offset:3px;border-radius:4px}.tutorial-step-label{margin:8px 0 14px;color:var(--muted);font-size:.72rem}.tutorial-illustration{display:grid;min-height:88px;margin-bottom:18px;border:1px solid rgba(167,139,250,.2);border-radius:18px;background:radial-gradient(ellipse at center,#8b5cf638,#0c0a194d)}.tutorial-hero{place-items:center;padding:8px}.tutorial-hero>img{display:block;width:140px;height:140px;object-fit:contain}.tutorial-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.tutorial-item{min-width:0;padding:10px;border-radius:12px;background:#0c0a1959}.tutorial-item>img{display:block;width:76px;height:86px;margin:0 auto 8px;object-fit:contain}.tutorial-item>.tool-icon{margin:0 auto 10px}.tutorial-item>strong{display:block;font-size:.8rem;color:var(--ink)}.tutorial-item>p{margin:5px 0 0;font-size:.73rem;line-height:1.5;color:var(--muted)}.tutorial-copy{color:var(--ink);font-size:.9rem;line-height:1.6}.tutorial-tip{padding:12px;margin:14px 0;border-left:3px solid var(--mint);border-radius:0 10px 10px 0;background:#57e6b10f;color:var(--muted);font-size:.78rem;line-height:1.5}.tutorial-progress{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:18px 0}.tutorial-dot{width:7px;height:7px;border-radius:50%;background:#a78bfa40}.tutorial-dot.current{width:22px;border-radius:8px;background:var(--mint)}.tutorial-actions{display:flex;gap:10px}.tutorial-actions button{margin:0!important;padding:0 18px}.tutorial-skip{display:block;min-height:44px;margin:10px auto 0;padding:0 16px;border:0;background:transparent;color:var(--muted);font:inherit;font-size:.78rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.tutorial-return-note{margin:4px 0 0;text-align:center;color:var(--muted);font-size:.65rem;line-height:1.4}.tutorial-card button:focus-visible{outline:2px solid var(--mint);outline-offset:3px}@media(max-width:480px){#helpOverlay{padding:12px}.tutorial-card{padding:22px 18px}.tutorial-copy{font-size:.84rem}}.close-button{position:absolute;top:14px;right:14px}.store-card{width:min(100%,680px);max-height:min(86vh,760px);overflow:auto}.store-heading{display:flex;align-items:center;justify-content:space-between;gap:70px;padding-right:36px}.store-heading h2{margin-bottom:0}.store-intro{margin:12px 0 18px;color:var(--muted);font-size:.84rem}.store-section-title{margin:16px 0 10px;color:var(--ink);font-size:.82rem;letter-spacing:.04em;text-transform:uppercase}.store-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.store-item{display:flex;flex-direction:column;min-height:158px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#19172b}.store-item.owned{border-color:#57e6b161;background:#224e463b}.store-item h3{margin:0 0 5px;font-size:.9rem}.store-item p{flex:1;margin:0 0 12px;color:var(--muted);font-size:.73rem;line-height:1.38}.store-item button{min-height:36px;border:0;border-radius:10px;background:var(--purple);color:#fff;font-size:.72rem;font-weight:900;cursor:pointer}.store-item button:disabled{background:#353148}.store-item .price{color:var(--amber)}.store-purchase-actions{display:grid;gap:7px;margin-top:auto}.store-purchase-actions button{min-height:44px;padding:7px 8px}.store-purchase-actions .money-purchase{border:1px solid rgba(255,200,87,.55);background:#ffc8571f;color:var(--amber)}.store-purchase-actions button:focus-visible,.coin-package button:focus-visible{outline:2px solid var(--mint);outline-offset:3px}.coin-package.recommended{border:2px solid var(--amber)}.coin-package button:disabled{background:#353148;color:var(--muted);cursor:default}.coin-purchase-selection{padding:12px;border:1px solid rgba(87,230,177,.4);border-radius:12px;background:#57e6b114;color:var(--ink)!important}.item-kind{display:inline-block;margin-bottom:7px;color:var(--mint);font-size:.58rem;font-weight:900;letter-spacing:.09em}.coin-shop{margin-top:22px;padding-top:4px;border-top:1px solid var(--line)}.coin-shop>p{margin:0 0 12px;color:var(--muted);font-size:.73rem}.coin-package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.coin-package{padding:13px;border:1px solid rgba(255,200,87,.25);border-radius:15px;background:linear-gradient(145deg,#4f3c1d52,#19172bf2);text-align:center}.coin-package strong,.coin-package span{display:block}.coin-package strong{color:var(--amber);font-size:1rem}.coin-package span{margin:3px 0 10px;color:var(--muted);font-size:.66rem}.coin-package button{width:100%;min-height:36px;border:0;border-radius:10px;background:linear-gradient(135deg,#d89d2f,#a66a18);color:#fff;font-size:.72rem;font-weight:900;cursor:pointer}.purchase-status{min-height:1.2em;margin-top:10px!important;color:var(--amber)!important;text-align:center}.daily-card{width:min(100%,650px);max-height:min(88vh,780px);overflow:auto}.daily-card h2{margin-bottom:5px}.cup-equipment{color:var(--muted);font-size:.78rem;line-height:1.5}.cup-room-list{display:grid;gap:8px;margin:12px 0}.cup-room-button{width:100%;min-height:60px;padding:12px;border:1px solid var(--amber);border-radius:12px;background:#242035;color:var(--ink);text-align:left;font:inherit;cursor:pointer}.cup-room-button small{display:block;margin-top:5px;color:var(--muted);font-size:.72rem}.cup-room-button:hover,.cup-room-button:focus-visible{background:#373046;outline:2px solid var(--amber);outline-offset:2px}.daily-intro,.daily-prototype-note{color:var(--muted);font-size:.76rem;line-height:1.45}.daily-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.daily-summary div{padding:11px;border:1px solid var(--line);border-radius:13px;background:#19172b;text-align:center}.daily-summary span,.daily-summary strong{display:block}.daily-summary span{margin-bottom:3px;color:var(--muted);font-size:.61rem;text-transform:uppercase}.daily-summary strong{color:var(--amber);font-size:.94rem;font-variant-numeric:tabular-nums}.leaderboard-list{overflow:hidden;border:1px solid var(--line);border-radius:15px}.leaderboard-row{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:8px;min-height:39px;padding:7px 12px;background:#19172b}.leaderboard-row+.leaderboard-row{border-top:1px solid var(--line)}.leaderboard-row.player{background:#8b5cf638;box-shadow:inset 3px 0 0 var(--purple-bright)}.leaderboard-rank{color:var(--muted);font-size:.74rem;font-weight:900}.leaderboard-row:nth-child(1) .leaderboard-rank{color:#ffd76a}.leaderboard-row:nth-child(2) .leaderboard-rank{color:#dce5ed}.leaderboard-row:nth-child(3) .leaderboard-rank{color:#d89a68}.leaderboard-name{font-size:.78rem;font-weight:800}.leaderboard-points{color:var(--mint);font-size:.76rem;font-weight:900;font-variant-numeric:tabular-nums}.leaderboard-tabs{display:flex;gap:8px;margin:18px 0}.leaderboard-tabs button{flex:1;min-height:44px;padding:10px;border:1px solid var(--line);border-radius:12px;color:var(--muted);background:#19172b;cursor:pointer;font-weight:800}.leaderboard-tabs button[aria-pressed=true]{color:var(--ink);border-color:var(--purple-bright);background:#8b5cf638}.leaderboard-tabs button:focus-visible{outline:2px solid var(--mint);outline-offset:3px}.records-list{margin:0;padding:0;list-style:none}.records-list .leaderboard-row{min-height:62px}.record-status{display:block;margin-top:4px;color:var(--muted);font-size:.65rem;font-weight:500}.daily-button>span{font-size:.72rem;font-weight:800}.daily-prizes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.prize-card{padding:12px 8px;border:1px solid var(--line);border-radius:14px;background:#19172b;text-align:center}.prize-card strong,.prize-card span,.prize-card small{display:block}.prize-card strong{font-size:1rem}.prize-card span{margin:3px 0;color:var(--amber);font-size:.72rem;font-weight:900}.prize-card small{color:var(--muted);font-size:.62rem}.prize-card.gold{border-color:#ffd76a73}.prize-card.silver{border-color:#dce5ed59}.prize-card.bronze{border-color:#d89a6866}.daily-prize-notice{margin:0 0 12px;padding:12px;border:1px solid rgba(255,200,87,.38);border-radius:13px;background:#60441252;color:var(--amber);font-size:.78rem;font-weight:800;text-align:center}.reward-shelf{margin:0;padding:11px;border:1px solid var(--line);border-radius:13px;background:#19172b;color:var(--muted);font-size:.73rem;line-height:1.5}.daily-prototype-note{margin:14px 0 0}.hidden{display:none!important}.shake{animation:shake .25s linear}@keyframes shake{25%{transform:translate(-5px)}75%{transform:translate(5px)}}@media(max-width:480px){.intro-overlay{background:linear-gradient(180deg,#05040b2e,#05040b85),radial-gradient(circle at 50% 28%,rgba(139,92,246,.2),transparent 34%),radial-gradient(circle at 50% 110%,rgba(255,107,122,.12),transparent 40%),url(./title-vault-background-portrait-v2-BdhFGs4U-dbb06577.webp) center / cover no-repeat,#090811}.game-shell{padding-left:10px;padding-right:10px}.topbar{flex-wrap:wrap}.top-actions{width:100%;justify-content:flex-end;margin-top:10px}.mission-card{padding:13px}.mission-card h2{font-size:1.15rem}.mission-card p:last-child{font-size:.78rem}.stats div{padding:8px}.tool-panel{padding:10px}.tool-panel.expanded,.tool-panel.max-expanded{width:calc(100vw - 20px)}.tool-panel.expanded .tools{flex-wrap:nowrap;overflow-x:auto}.tool-panel.expanded .tool{flex:0 0 142px;min-width:142px;max-width:142px}.tool{width:142px;min-width:142px;min-height:116px;padding:12px}.tool-icon{width:40px;height:40px}.store-button{padding:0 9px;font-size:.68rem}.daily-button{min-width:56px;padding:0 7px}.top-actions{gap:5px}.audio-button{padding:0 7px;font-size:.61rem}.audio-controls{gap:4px}.daily-button strong{display:none}.daily-button>span{display:none}.coin-pill{padding:0 8px}.store-grid{grid-template-columns:1fr}.coin-package-grid{grid-template-columns:1fr 1fr}.store-card{padding:22px 16px}.daily-card{padding:22px 14px}.daily-summary{gap:5px}.daily-summary div{padding:9px 5px}.daily-prizes{grid-template-columns:1fr}.store-heading{gap:10px;padding-right:40px}.shuffle-button{margin-left:0}.icon-button,.daily-button,.store-button{min-height:44px}.level-chip,.shuffle-button{min-height:42px}.actions button,.result-actions button{min-height:48px}}@media(display-mode:standalone){.game-shell{min-height:100dvh}}@media(max-width:680px){.opponent-intro{padding:16px}.opponent-card{grid-template-columns:1fr;gap:0;min-height:min(90vh,660px);text-align:center}.opponent-room{right:0;text-align:center}.opponent-portrait-wrap{min-height:290px;padding-top:26px}.opponent-image{width:min(68vw,300px);max-height:300px}.opponent-rings{width:min(76vw,310px)}.opponent-copy h2{font-size:clamp(3rem,16vw,4.8rem)}.opponent-warning{margin:12px auto 0;text-align:left}.opponent-description{margin:13px auto 18px;font-size:.8rem}}.build-workspace{--board-trim: #d8aa5e;--board-frame: #45301f;--board-ink: #ffe6b4}.build-workspace .board-card{border-color:var(--board-trim);border-radius:17px;background:var(--board-frame);box-shadow:0 18px 40px #0006,inset 0 0 0 3px #ffffff0f}.board-heading{display:flex;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid var(--board-trim);color:var(--board-ink);background:linear-gradient(120deg,#ffffff17,#00000047)}.board-title{display:grid;flex:1;min-width:0;gap:4px}.board-title>span{font-size:.6rem;font-weight:900;letter-spacing:.13em;opacity:.8}.board-title>strong{font-size:clamp(.7rem,1.5vw,.92rem);letter-spacing:.03em;overflow-wrap:anywhere}.build-workspace>.actions{padding:10px;border:1px solid var(--board-trim);border-radius:13px;background:linear-gradient(135deg,var(--board-frame),#181422)}.build-workspace>.actions>button{border-radius:8px;letter-spacing:.04em;box-shadow:inset 0 1px #fff3,0 3px #0000004d}.build-workspace>.actions>.primary-button{border:1px solid var(--board-trim);background:linear-gradient(135deg,#28665a,#144139);color:#f2fff8}.build-workspace .tool-panel,.build-workspace .tool.selected{border-color:var(--board-trim)}@media(max-width:600px){.build-workspace{grid-template-columns:minmax(0,1fr);grid-template-areas:"board" "actions" "devices" "hint";gap:8px}.board-heading{padding:10px 12px;gap:9px}.build-workspace .tool-panel{padding:9px}.build-workspace .device-carousel-heading{flex-wrap:nowrap;justify-content:space-between}.build-workspace .device-carousel-heading strong{display:none}.build-workspace .device-carousel-kicker{font-size:.62rem}.build-workspace .carousel-controls{width:auto}.build-workspace .carousel-controls button{min-width:42px;transform:rotate(-90deg)}.build-workspace .tools{flex:0 0 auto;flex-direction:row;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;gap:8px;padding:8px 2px}.build-workspace .tool{flex:0 0 112px;width:112px;min-width:112px;max-width:112px;min-height:108px;flex-direction:column;justify-content:center;gap:7px;padding:8px;text-align:center}.build-workspace .tool-icon{width:32px;height:32px}.build-workspace .tool strong{font-size:.7rem}.build-workspace .tool small{font-size:.6rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}
