*{box-sizing:border-box}html,body{overflow-x:hidden;overflow-y:auto}.back-link svg{width:13px;height:13px}a,button,summary,[role=switch]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip{position:absolute;left:-9999px;top:0;z-index:99;display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;border-radius:0 0 10px;background:var(--card, var(--paper, #fff));color:inherit;font-weight:800;text-decoration:none}.skip:focus{left:0}.topbar{display:flex;align-items:flex-start;justify-content:space-between;flex-shrink:0}.brand{display:flex;flex-direction:column;align-items:flex-start}.top-actions{display:flex;gap:2vw}.back-link{display:flex;align-items:center;gap:4px;margin-bottom:.8svh;color:var(--ink-soft);font-size:clamp(10px,1.4svh,12px);font-weight:600;letter-spacing:.08em;text-decoration:none}.subtitle{margin:.4em 0 0;font-size:clamp(10px,1.4svh,12px);letter-spacing:.3em;color:var(--ink-soft)}.seo-info{flex-shrink:0;align-self:center;max-width:90vw;margin-top:.6svh;font-size:11px;color:var(--ink-soft);text-align:center}.icon-btn svg{width:20px;height:20px}.icon-btn{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line);background:transparent;color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,transform .1s ease}:focus-visible{outline:2px solid var(--accent-dark, currentColor);outline-offset:2px}@media(forced-colors:active){:focus-visible{outline-color:Highlight}}@media(max-height:480px){.subtitle,.seo-info{display:none}.back-link{margin-bottom:.4svh}.howto-link{padding-top:.4svh}}.icon-btn .ico-sound-off,.icon-btn.is-off .ico-sound-on{display:none}.icon-btn.is-off .ico-sound-off{display:block}.icon-btn.is-off{color:var(--ink-soft)}.icon-btn [data-theme-icon=light]{display:none}.icon-btn [data-theme-icon=dark]{display:block}:root[data-theme=dark] .icon-btn [data-theme-icon=light]{display:block}:root[data-theme=dark] .icon-btn [data-theme-icon=dark]{display:none}@media(max-width:400px){.top-actions{gap:6px}}.back-link,.howto-link{position:relative}.back-link:after,.howto-link:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:max(100%,44px);height:44px}.pill-btn,.again-btn,.share-btn{min-height:44px}.seo-info summary{position:relative;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:11px;cursor:pointer;letter-spacing:.06em;font-weight:600;list-style:none}.seo-info summary::-webkit-details-marker{display:none}.seo-info summary:after{content:" ▾"}.seo-info[open] summary:after{content:" ▴"}.seo-info p{margin:4px 0 0;line-height:1.5;text-align:left}.share-note{margin:0;font-size:clamp(11px,1.5svh,13px);color:var(--ink-soft);letter-spacing:.06em;opacity:0;transition:opacity .25s ease}.share-note.show{opacity:1}@media(hover:hover)and (pointer:fine){.back-link:hover{color:var(--ink)}}.howto-link{align-self:center;flex-shrink:0;border:none;background:none;color:var(--accent-dark);font-weight:600;font-size:clamp(12px,1.8svh,14px);letter-spacing:.02em;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:1svh 4px 0}.howto-backdrop{position:fixed;inset:0;background:var(--scrim, rgba(30, 24, 16, .35));opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:10}.howto-backdrop.show{opacity:1;pointer-events:auto}.howto-sheet{position:fixed;left:0;right:0;bottom:0;background:var(--bg);border-radius:20px 20px 0 0;box-shadow:0 -1svh 3svh #00000040;padding:1.6svh 6vw calc(4svh + env(safe-area-inset-bottom,0px));transform:translateY(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);z-index:11}.howto-sheet.show{transform:translateY(0)}.howto-handle{width:36px;height:4px;border-radius:2px;background:var(--ink-soft);opacity:.4;margin:0 auto 2svh}.howto-title{margin:0 0 1.6svh;font-size:clamp(14px,2svh,16px);font-weight:600;letter-spacing:.1em;color:var(--ink)}.howto-list{margin:0;padding:0 0 0 1.1em;display:flex;flex-direction:column;gap:1.2svh;font-size:clamp(13px,1.9svh,15px);color:var(--ink);line-height:1.4}.howto-list li::marker{color:var(--accent);font-weight:700}.howto-list strong{color:var(--ink);font-weight:700}@media(prefers-reduced-motion:reduce){.howto-sheet{transition:opacity .12s linear;transform:none;opacity:0;pointer-events:none}.howto-sheet.show{transform:none;opacity:1;pointer-events:auto}.howto-backdrop{transition:opacity .12s linear}}.overlay-exit{position:absolute;top:max(2.4svh,env(safe-area-inset-top,0px));right:max(4vw,env(safe-area-inset-right,0px));width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);transition:transform .1s ease}.overlay-exit svg{width:20px;height:20px}.overlay-exit:active{transform:scale(.94)}.overlay-exit{pointer-events:none}.overlay.show .overlay-exit{pointer-events:auto}.overlay-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(10px,3vw,16px);row-gap:clamp(8px,1.2svh,12px);width:min(80vw,320px)}.overlay-actions>*{justify-content:center;text-align:center}.overlay-actions>:is(button,a){padding-inline:clamp(8px,2vw,16px)}.wall-btn{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;gap:.5em;min-height:44px;padding:1.2svh 4vw;border:1.5px solid var(--accent);border-radius:999px;background:transparent;color:var(--accent-dark);font-family:var(--font-display, inherit);font-size:clamp(12px,1.8svh,14px);font-weight:600;letter-spacing:.06em;text-decoration:none;cursor:pointer;transition:transform .1s ease}.wall-btn svg{width:16px;height:16px;flex-shrink:0}.wall-btn:active{transform:scale(.96)}html:has(.overlay.show) .top-actions{visibility:hidden}:root{--paper: #eaf6fb;--bg: var(--paper);--ink: #262b3d;--ink-soft: #767b8c;--line: #cfe6f0;--accent: #4fb6e0;--accent-dark: #2e93bd;color-scheme:light;--bubble-c0: #8fa8f5;--bubble-c1: #f5a8d0;--bubble-c2: #c3a8f5;--bubble-c3: #a8e6a0;--bubble-c4: #ffd873;--bubble-c5: #ffab8a;--bomb-glow: 0 0 10px 2px rgba(255, 77, 61, .28)}html,body{margin:0;height:100%;height:100svh;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation}.app{position:relative;height:100%;display:flex;flex-direction:column;background:radial-gradient(circle at 20% 15%,rgba(255,255,255,.5),transparent 40%),radial-gradient(circle at 80% 85%,rgba(0,0,0,.025),transparent 45%),var(--paper)}.topbar{align-items:center;padding:18px 20px 10px;position:relative;z-index:10}.brand{flex-direction:row;align-items:center;gap:12px}.top-actions{gap:8px}.back-link{margin-bottom:0;font-size:11px;letter-spacing:.06em;white-space:nowrap}.title{margin:0;font-family:SF Mono,JetBrains Mono,ui-monospace,Menlo,Consolas,monospace;font-size:17px;font-weight:600;letter-spacing:.32em}.icon-btn{width:36px;height:36px;border-radius:9px;border:1px solid var(--line);background:#ffffff59;color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,transform .1s ease}.icon-btn:active{background:#4fb6e024;border-color:var(--accent);color:var(--accent-dark);transform:scale(.92)}@media(hover:hover)and (pointer:fine){.icon-btn:hover{background:#fff9}}.icon-btn.round{border-radius:999px}.hud{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 20px 12px}.stats{display:flex;gap:0}.stat{flex:1;display:flex;flex-direction:column;align-items:center;border-left:1px solid var(--line);padding:0 10px}.stat:first-child{border-left:none;padding-left:0}.stat-label{font-size:10.5px;letter-spacing:.14em;color:var(--ink-soft);font-weight:600}.stat-value{font-family:SF Mono,JetBrains Mono,ui-monospace,Menlo,Consolas,monospace;font-size:22px;font-weight:600;margin-top:2px;letter-spacing:.02em}.challenge{display:block;width:fit-content;max-width:calc(100% - 40px);margin:0 auto 10px;padding:8px 16px;border:none;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff;font:inherit;font-size:11px;letter-spacing:.05em;font-weight:700;text-align:center;cursor:pointer}.challenge:active{transform:scale(.97)}.challenge.hidden{display:none}.playfield{position:relative;flex:1;margin:0 20px 16px;overflow:hidden;touch-action:none}.bubble{position:absolute;left:0;top:0;border-radius:50%;will-change:transform;cursor:pointer;display:flex;align-items:center;justify-content:center}.bubble.c0{--bc: var(--bubble-c0)}.bubble.c1{--bc: var(--bubble-c1)}.bubble.c2{--bc: var(--bubble-c2)}.bubble.c3{--bc: var(--bubble-c3)}.bubble.c4{--bc: var(--bubble-c4)}.bubble.c5{--bc: var(--bubble-c5)}.bubble .shell{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 30% 62%,#fff9,#fff0 10%),radial-gradient(circle at 68% 74%,rgba(0,0,0,.1),transparent 55%),radial-gradient(circle at 32% 26%,color-mix(in srgb,var(--bc, #ffffff) 35%,white) 0%,var(--bc, #ffffff) 55%,color-mix(in srgb,var(--bc, #ffffff) 80%,black 18%) 100%);border:1px solid color-mix(in srgb,var(--bc, #d8dde8) 55%,black 20%);box-shadow:inset 0 2px 6px #ffffff8c,inset 0 -4px 10px #0000001a,0 3px 8px #0000001f;transition:background .3s ease,border-color .3s ease}.bubble .highlight{position:absolute;top:14%;left:20%;width:30%;height:20%;border-radius:50%;background:#ffffffd9;filter:blur(1px)}.bubble.bomb .shell{background:radial-gradient(circle at 35% 30%,#3a3733,#0f0d0b 65%);border:1px solid rgba(0,0,0,.5);box-shadow:inset 0 2px 6px #ffffff8c,inset 0 -4px 8px #0000000f,0 3px 6px #0000001a,var(--bomb-glow)}.bubble.bomb .highlight{background:#ffffff2e}.bomb-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#f0ece2}.bubble.bomb-revealed .shell{box-shadow:inset 0 2px 6px #ffffff8c,inset 0 -4px 8px #0000000f,0 3px 6px #0000001a,0 0 20px 6px #ff4d3d99;transition:box-shadow .16s ease}.legend-swatch{width:20px;height:20px;min-width:20px;border-radius:50%}.legend-swatch.safe{background:var(--bubble-c2);box-shadow:inset 0 1px 2px #ffffff80}.legend-swatch.unstable{background:var(--bubble-c4);box-shadow:inset 0 1px 2px #ffffff80}.legend-swatch.neutral{background:conic-gradient(var(--bubble-c0) 0deg 90deg,var(--bubble-c1) 90deg 180deg,var(--bubble-c3) 180deg 270deg,var(--bubble-c5) 270deg 360deg);box-shadow:inset 0 1px 2px #ffffff80}.bubble.popping{animation:pop-out .28s ease-out forwards;pointer-events:none}.bubble.spawning{animation:spawn-in .32s ease-out forwards}.bubble.exploding{animation:explode .4s ease-out forwards;pointer-events:none}@keyframes pop-out{0%{transform:var(--tf) scale(1);opacity:1}40%{transform:var(--tf) scale(1.18);opacity:1}to{transform:var(--tf) scale(0);opacity:0}}@keyframes spawn-in{0%{transform:var(--tf) scale(0);opacity:0}to{transform:var(--tf) scale(1);opacity:1}}@keyframes explode{0%{transform:var(--tf) scale(1);opacity:1}30%{transform:var(--tf) scale(2.4);opacity:1}to{transform:var(--tf) scale(3.2);opacity:0}}.float-pop{position:absolute;transform:translate(-50%,-50%);font-family:SF Mono,JetBrains Mono,ui-monospace,Menlo,Consolas,monospace;font-weight:700;font-size:18px;color:var(--ink);pointer-events:none;animation:float-up .75s ease-out forwards}@keyframes float-up{0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}to{opacity:0;transform:translate(-50%,-90px) scale(1)}}.pop-ring{position:absolute;border-radius:50%;border:1.5px solid rgba(44,41,36,.5);pointer-events:none;animation:ring-burst .5s ease-out forwards}@keyframes ring-burst{0%{transform:translate(-50%,-50%) scale(.6);opacity:.9}to{transform:translate(-50%,-50%) scale(1.9);opacity:0}}.screen-flash{position:absolute;inset:0;background:#000;opacity:0;pointer-events:none;z-index:5;animation:flash .4s ease-out forwards}@keyframes flash{0%{opacity:0}15%{opacity:.85}to{opacity:0}}.legend{display:flex;border-top:1px solid var(--line);padding:14px 20px 18px}.legend-item{flex:1;display:flex;align-items:center;gap:10px;border-left:1px solid var(--line);padding-left:16px;font-size:11px;letter-spacing:.04em;font-weight:600;color:var(--ink);line-height:1.35}.legend-item:first-child{border-left:none;padding-left:0}.seo-info{padding:0 20px 8px}.seo-info summary{letter-spacing:.08em}.seo-info p{max-width:640px;text-align:center}.bomb-glyph{width:20px;height:20px;min-width:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:radial-gradient(circle at 32% 28%,#ffffffe6,#ffffff26 35%,#ffffff05 55%),#ffffff0f;border:1px solid rgba(60,55,45,.3);color:#171512}.bomb-glyph svg{width:58%;height:58%}.bomb-glyph.big{width:64px;height:64px;margin-bottom:8px;box-shadow:0 6px 18px #00000026}.overlay{position:absolute;inset:0;background:radial-gradient(circle at 20% 15%,rgba(255,255,255,.5),transparent 40%),radial-gradient(circle at 80% 85%,rgba(0,0,0,.025),transparent 45%),var(--paper);display:flex;align-items:center;justify-content:center;z-index:9}.overlay.hidden{display:none}.overlay-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px}.overlay-card h2{font-family:SF Mono,JetBrains Mono,ui-monospace,Menlo,Consolas,monospace;letter-spacing:.15em;margin:0 0 10px;font-size:24px}.go-line{font-size:11px;letter-spacing:.12em;color:var(--ink-soft);margin:4px 0 0}.go-score{font-family:SF Mono,JetBrains Mono,ui-monospace,Menlo,Consolas,monospace;font-size:44px;font-weight:700;margin:2px 0 4px}.go-sub{font-size:11px;letter-spacing:.1em;color:var(--ink-soft);margin:0 0 4px}#gameOverOverlay .overlay-actions{margin-top:14px}.go-global.new-global{color:var(--ink);font-weight:800;letter-spacing:.14em}.btn{font-family:inherit;text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:700;padding:12px 28px;border-radius:10px;border:none;background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff;cursor:pointer;transition:transform .1s ease}.btn:active{transform:scale(.96)}#settingsPanel .btn.ghost{margin-top:8px}.btn.ghost{border:1.5px solid var(--line);background:transparent;color:var(--ink)}#gameOverOverlay .overlay-exit{pointer-events:auto}#gameOverOverlay .overlay-exit{top:18px;right:20px;width:36px;height:36px;border-radius:9px;border-width:1px}html:has(#gameOverOverlay:not(.hidden)) .topbar{pointer-events:none}html:has(#gameOverOverlay:not(.hidden)) .topbar .back-link{pointer-events:auto}html:has(#gameOverOverlay:not(.hidden)) .top-actions{visibility:hidden}#gameOverOverlay .wall-btn{font-family:inherit;text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:700;padding:12px 28px;border-radius:10px;border:1.5px solid var(--line);color:var(--ink-soft)}#gameOverOverlay .btn{min-height:44px}.panel{position:absolute;inset:0;background:#14120f59;display:flex;align-items:flex-end;justify-content:center;z-index:10}.panel.hidden{display:none}.panel-card{width:100%;max-width:480px;background:var(--paper);border-top:1px solid var(--line);border-radius:18px 18px 0 0;padding:18px 22px 26px}.panel-row-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.panel-row-title h2{font-family:SF Mono,JetBrains Mono,ui-monospace,Menlo,Consolas,monospace;letter-spacing:.15em;font-size:15px;margin:0}.panel-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line);font-size:12px;letter-spacing:.08em;font-weight:600}.toggle{width:42px;height:24px;border-radius:999px;border:1px solid var(--line);background:#00000014;position:relative;cursor:pointer;padding:0}.toggle-dot{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0000004d;transition:left .15s ease}.toggle.on{background:var(--accent-dark)}.toggle.on .toggle-dot{left:22px}@media(max-width:640px){.topbar{padding:max(8px,env(safe-area-inset-top)) 14px 6px}.title{font-size:13px;letter-spacing:.2em}.brand{gap:8px}.back-link span{display:none}.icon-btn{width:30px;height:30px;border-radius:8px}.icon-btn svg{width:15px;height:15px}#gameOverOverlay .overlay-exit{top:max(8px,env(safe-area-inset-top,0px));right:14px;width:30px;height:30px;border-radius:8px}#gameOverOverlay .overlay-exit svg{width:15px;height:15px}.hud{padding:4px 14px 8px;gap:6px}.playfield{margin:0 8px 8px}.stat-label{font-size:8.5px;letter-spacing:.08em}.stat-value{font-size:16px;margin-top:1px}.legend{padding:8px 14px 6px}.legend-item{gap:6px;padding-left:10px;font-size:8.5px;line-height:1.2}.legend-item svg{width:14px;height:14px}.bomb-glyph,.legend-swatch{width:14px;height:14px;min-width:14px}.challenge{margin:0 auto 6px;padding:6px 12px;font-size:9.5px}.seo-info{padding:0 14px max(6px,env(safe-area-inset-bottom))}}:root[data-theme=dark]{--paper: #0d0e1a;--ink: #f0eefa;--ink-soft: #9b96c4;--line: #2c2850;--accent: #22e5ff;--accent-dark: #0bb8d9;color-scheme:dark;--bubble-c0: #5b7fe0;--bubble-c1: #e0699b;--bubble-c2: #35d6c4;--bubble-c3: #aab3c9;--bubble-c4: #9b7fe8;--bubble-c5: #e0935b;--bomb-glow: 0 0 16px 4px rgba(255, 77, 61, .5)}[data-theme=dark] .app,[data-theme=dark] .overlay{background:radial-gradient(circle at 20% 15%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 40%),var(--paper)}[data-theme=dark] .bubble .shell{border-color:color-mix(in srgb,var(--bc, #667) 60%,white 20%);box-shadow:inset 0 2px 6px #ffffff38,inset 0 -4px 10px #00000059,0 4px 10px #00000080}[data-theme=dark] .toggle{background:color-mix(in srgb,#ffffff 10%,transparent)}[data-theme=dark] .icon-btn:active{background:color-mix(in srgb,var(--accent) 16%,transparent)}[data-theme=dark] .panel{background:#0000008c}@media(prefers-reduced-motion:reduce){.bubble.spawning{animation:none;opacity:1}.bubble.popping,.bubble.exploding{animation:none;opacity:0;transition:opacity .12s linear}.float-pop{animation:none;opacity:1;transition:opacity .2s linear .35s}.pop-ring,.screen-flash{display:none}.bubble{transition:opacity .12s linear,box-shadow .12s linear}}.share-note{margin:6px 0 0;font-size:11px;letter-spacing:.12em;text-transform:uppercase}@media(prefers-reduced-motion:reduce){.share-note{transition:opacity .12s linear}}.icon-btn{position:relative}.icon-btn:after,.overlay-exit:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:max(100%,44px);height:44px}@media(max-height:480px){.legend{display:none}}
