*{box-sizing:border-box}:root{color:#182230;background:#f7f8fc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body{min-width:320px;min-height:100vh;margin:0;background:linear-gradient(180deg,#ffffffeb,#f7f8fce6),repeating-linear-gradient(90deg,rgba(34,198,224,.08) 0 1px,transparent 1px 32px),#f7f8fc}:root.native-runtime,body.native-runtime{background:#071421}body.native-runtime{min-height:100dvh;color:#e6fbff;background:linear-gradient(180deg,#07111f,#0b2031 54%,#071421),#071421}body.native-runtime #root{min-height:100dvh;background:linear-gradient(180deg,#07111f,#0b2031 54%,#071421),#071421}body.dragging-piece{overflow:hidden;overscroll-behavior:none;touch-action:none}body.game-screen-active{height:100vh;max-height:100vh;overflow:hidden;background:radial-gradient(circle at 50% -10%,rgba(34,198,224,.28),transparent 36%),linear-gradient(180deg,#07111f,#101828 58%,#0b1220)}body.game-screen-active #root{height:100%;max-height:100%;overflow:hidden}@supports (height: 100svh){body.game-screen-active{height:100svh;max-height:100svh}}button{font:inherit;touch-action:manipulation;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none}.game-frame,.game-frame *,.board-wrap,.board-section,.board-grid,.board-cell,.piece-tray,.piece-slot,.piece-preview,.piece-cell,.drag-ghost,.drag-ghost *,.game-action-panel,.game-action-panel *{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none;-webkit-tap-highlight-color:transparent}.app-shell{display:flex;justify-content:center;min-height:100dvh;padding:max(12px,env(safe-area-inset-top)) 12px max(18px,env(safe-area-inset-bottom))}body.native-runtime .app-shell{width:100%;min-height:100dvh;background:linear-gradient(180deg,#07111f,#0b2031 54%,#071421),#071421}body.game-screen-active .app-shell{height:100%;min-height:0;overflow:hidden;padding:max(6px,env(safe-area-inset-top)) 6px max(6px,env(safe-area-inset-bottom))}.game-layout{display:grid;align-content:start;width:min(100%,520px);gap:12px}.game-layout[data-screen=game]{display:block;width:min(100%,636px);height:100%;max-height:100%;min-height:0;overflow:hidden}body.native-runtime .game-layout[data-screen=home]{align-content:stretch;min-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 30px)}body.native-runtime .home-screen{min-height:100%}@supports (height: 100svh){body.native-runtime .game-layout[data-screen=home]{min-height:calc(100svh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 30px)}}.game-frame{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:100%;min-height:0;gap:6px;overflow:hidden;border:1px solid rgba(125,211,252,.24);border-radius:18px;padding:7px;background:radial-gradient(circle at 15% 4%,rgba(34,198,224,.32),transparent 24%),radial-gradient(circle at 88% 2%,rgba(255,216,77,.2),transparent 25%),linear-gradient(180deg,#102033,#07111f,#0d1728);box-shadow:0 18px 38px #02081757,inset 0 0 0 1px #ffffff0d}.game-frame__top,.game-frame__play,.game-frame__bottom{position:relative;min-height:0}.game-frame__top,.game-frame__bottom{z-index:5;border:1px solid rgba(125,211,252,.12);background:linear-gradient(180deg,#ffffff13,#ffffff06),#08101ec7;box-shadow:inset 0 1px #ffffff0f}.game-frame__top{border-radius:12px;border-bottom-color:#7dd3fc14}.game-frame__bottom{border-radius:12px;border-top-color:#7dd3fc14}.game-frame__play{display:grid;grid-template-columns:minmax(0,1fr) clamp(48px,12vw,72px);align-items:center;gap:6px;overflow:hidden;border:1px solid rgba(125,211,252,.11);border-radius:14px;padding:5px;background:radial-gradient(circle at 50% 48%,rgba(34,198,224,.08),transparent 56%),linear-gradient(180deg,rgba(34,198,224,.08),transparent 16%,transparent 84%,rgba(255,216,77,.07)),#02081757;box-shadow:inset 0 1px #ffffff0a,inset 0 -1px #ffffff0a}.score-panel,.tray-panel,.how-to-play,.shop-panel,.settings-panel,.app-card-screen,.tutorial-modal,.game-over-panel{border:1px solid rgba(24,34,48,.1);border-radius:8px;background:#fffffff0;box-shadow:0 18px 42px #18223017}.app-card-screen{display:grid;gap:12px;padding:14px}.brand-mark{position:relative;display:inline-grid;flex:0 0 auto;place-items:center;overflow:hidden;border:1px solid rgba(103,232,249,.22);border-radius:8px;background:#071421;box-shadow:0 10px 22px #0208173d,inset 0 1px #ffffff14}.brand-mark img{display:block;width:100%;height:100%;object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.brand-mark--hero{width:clamp(76px,21vw,108px);aspect-ratio:1 / 1}.brand-mark--screen{width:44px;aspect-ratio:1 / 1}.brand-mark--hud{width:30px;aspect-ratio:1 / 1;border-color:#7dd3fc2e;box-shadow:0 7px 14px #02081733,inset 0 1px #ffffff0f}.brand-mark--modal{width:32px;aspect-ratio:1 / 1;box-shadow:0 7px 14px #18223024,inset 0 1px #ffffff14}.brand-lockup,.screen-header-brand,.modal-brand-row{display:flex;min-width:0;align-items:center;gap:10px}.brand-lockup>div,.screen-header-brand>div{min-width:0}.brand-lockup--hero{position:relative;z-index:1;align-items:end;gap:14px}.brand-subtitle{margin:5px 0 0}.brand-lockup h1,.brand-lockup h2,.screen-header-brand h1,.screen-header-brand h2{color:inherit}.home-screen{display:grid;gap:12px;overflow:hidden;border:1px solid rgba(103,232,249,.18);border-radius:8px;padding:14px;color:#e6fbff;background:linear-gradient(180deg,#0f2637fa,#05101cfa),#071421;box-shadow:0 20px 48px #02081747,inset 0 1px #ffffff14}.home-hero{display:grid;min-height:172px;align-content:end;overflow:hidden;position:relative;border-radius:8px;padding:18px;border:1px solid rgba(103,232,249,.18);color:#fff;background:linear-gradient(145deg,#0ea5e957,#14b8a62e 46%,#0f172ad1),#0b2031;box-shadow:inset 0 1px #ffffff14,0 16px 34px #02081738}.home-hero-watermark{position:absolute;right:14px;top:14px;width:min(42vw,180px);opacity:.12;filter:saturate(1.15);pointer-events:none;transform:rotate(5deg) scale(1.08)}.home-hero .eyebrow{color:#ffffffc2}.home-hero h1{font-size:clamp(2.2rem,11vw,3.8rem)}.home-hero p{margin-bottom:0;color:#ffffffdb;font-weight:800}.home-hero .brand-subtitle{color:#ffffffdb;font-weight:850}.home-score-grid,.progress-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.home-stat,.progress-stat,.home-progress-card{display:grid;gap:3px;border-radius:8px;padding:12px;background:#f3f7fb}.app-card-screen .progress-stat{border:1px solid rgba(103,232,249,.13);background:#0f172aa3}.home-screen .home-stat,.home-screen .home-progress-card{border:1px solid rgba(103,232,249,.13);background:#0b2031d6;box-shadow:inset 0 1px #ffffff0d}.home-screen .home-stat span,.home-screen .home-progress-card span,.app-card-screen .progress-stat span{color:#d6fbffb3}.home-screen .home-stat strong,.home-screen .home-progress-card strong,.app-card-screen .progress-stat strong{color:#f7fdff}.home-stat span,.progress-stat span,.home-progress-card span{color:#667085;font-size:.75rem;font-weight:850}.home-stat strong,.progress-stat strong,.home-progress-card strong{color:#182230;font-size:1.15rem;line-height:1.05}.home-progress-card{background:#e0f7ff}.home-screen .home-progress-card{background:#164e6380}.home-progress-card strong{font-size:.9rem}.home-primary{display:grid;align-content:center;min-height:58px}.home-primary span,.home-actions button span,.install-card span{display:block;font-size:.72rem;font-weight:800;opacity:.78}.home-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.home-actions button{display:grid;align-content:center}.home-screen .secondary-button{border-color:#67e8f933;color:#e6fbff;background:#0f2637db}.home-screen .secondary-button:hover{background:#164e63db}.home-screen .daily-bonus-home.ready{border-color:#22c55e5c;color:#dffbea;background:linear-gradient(135deg,#22c55e2e,#22c6e01a),#0f2637e6}.home-screen .daily-bonus-home.claimed{color:#e6fbffb3;background:#0f2637ad}.app-card-screen .secondary-button,.shop-panel .secondary-button,.settings-panel .secondary-button{border:1px solid rgba(103,232,249,.2);color:#e6fbff;background:#0f2637db}.app-card-screen .secondary-button:hover,.shop-panel .secondary-button:hover,.settings-panel .secondary-button:hover{background:#164e63db}.install-card,.feedback-card,.legal-card,.error-fallback{display:grid;gap:10px;border-radius:8px;padding:12px;background:#f8fafc}.install-card{border:1px solid rgba(34,198,224,.16);background:linear-gradient(180deg,#fff,#e9fbff)}.home-screen .install-card{border-color:#facc1547;background:#182636eb}.install-card strong,.feedback-card strong{display:block;color:#182230}.home-screen .install-card strong{color:#fff7c2}.home-screen .install-card span{color:#e6fbffc2}.install-actions,.error-actions{display:flex;flex-wrap:wrap;gap:8px}.home-version{margin:0;color:#d6fbff94;font-size:.72rem;font-weight:850;text-align:center}.feedback-card p{margin:0;color:#667085;font-size:.86rem;line-height:1.35}.feedback-screen .feedback-card{border:1px solid rgba(103,232,249,.13);background:#0b2031d6}.feedback-screen .feedback-card p{color:#e6fbffc2}.feedback-card textarea{width:100%;min-height:260px;resize:vertical;border:1px solid rgba(24,34,48,.12);border-radius:8px;padding:10px;color:#182230;background:#fff;font:.78rem/1.45 ui-monospace,SFMono-Regular,Consolas,monospace}.feedback-screen .feedback-card textarea{border-color:#67e8f92e;color:#e6fbff;background:#020817b8}.copy-status{color:#066046;font-size:.8rem;font-weight:850}.legal-card{color:#475467;font-size:.9rem;line-height:1.45}.legal-screen.app-card-screen{border-color:#67e8f92e;color:#e6fbff;background:linear-gradient(180deg,#0f2637fa,#05101cfa),#071421}.legal-screen .screen-header{color:#e6fbff}.legal-screen .legal-card{border:1px solid rgba(103,232,249,.13);color:#e6fbffd1;background:#0b2031d6}.legal-card p{margin:0}.legal-card ul{margin:0;padding-left:18px}.legal-card h3{margin:2px 0 0;color:#f7fdff;font-size:.95rem}.legal-card a{color:#67e8f9;font-weight:850}.legal-updated{color:#d6fbffa8;font-weight:850}.legal-home-link{display:inline-flex;min-height:38px;align-items:center;justify-content:center;border:1px solid rgba(103,232,249,.22);border-radius:8px;padding:0 12px;text-decoration:none;background:#0f2637eb}.update-prompt{position:fixed;z-index:50;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));display:flex;max-width:calc(100vw - 24px);align-items:center;gap:8px;border:1px solid rgba(34,198,224,.18);border-radius:8px;padding:8px;color:#075985;background:#e0f7fffa;box-shadow:0 16px 34px #18223024;font-size:.82rem;font-weight:850;animation:toastFloat 1.8s ease both}.error-fallback{width:min(92vw,420px);align-self:center;justify-self:center;padding:18px}.error-fallback p{margin-bottom:0;color:#475467;line-height:1.4}.danger-button{color:#9f1239;background:#fff1f4}.screen-header,.title-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.app-card-screen,.shop-panel,.settings-panel{border-color:#67e8f92e;color:#e6fbff;background:radial-gradient(circle at 12% 0%,rgba(34,198,224,.22),transparent 28%),linear-gradient(180deg,#0f2637fa,#05101cfa),#071421;box-shadow:0 20px 48px #02081747,inset 0 1px #ffffff14}.app-card-screen .eyebrow,.shop-panel .eyebrow,.settings-panel .eyebrow{color:#d6fbffb3}.title-actions{flex-wrap:wrap;justify-content:flex-end}.progress-section,.how-step,.daily-card{display:grid;gap:8px;border:1px solid rgba(103,232,249,.13);border-radius:8px;padding:12px;background:#0b2031d6}.how-step .tutorial-example{margin-top:4px;background:#fffffff0}.how-example-row{display:grid;gap:8px}.progress-row{display:flex;min-height:52px;align-items:center;justify-content:space-between;gap:10px;border-radius:8px;padding:10px;color:#e6fbffc7;background:#0f172aa3}.progress-row.unlocked{color:#baf7df;background:#064e3b94}.progress-row div{display:grid;gap:2px}.progress-row span,.how-step p,.daily-card p{margin:0;color:#e6fbffc2;font-size:.84rem;line-height:1.35}.progress-section h2,.how-step h2,.daily-card strong{color:#f7fdff}.milestone{margin:0;border-radius:8px;padding:9px 10px;color:#e6fbffb8;background:#0f172aa3;font-weight:850}.milestone.done{color:#baf7df;background:#064e3b94}.milestone:before{content:"○ "}.milestone.done:before{content:"✓ "}.daily-card{min-height:260px;align-content:center;text-align:center;background:radial-gradient(circle at 20% 18%,rgba(255,216,77,.42),transparent 24%),radial-gradient(circle at 86% 16%,rgba(139,92,246,.25),transparent 26%),#0b2031d6}.score-panel{display:grid;gap:12px;padding:14px}.game-layout[data-screen=game] .score-panel{grid-template-columns:minmax(0,1fr);gap:4px;border:0;padding:6px;color:#e0f7ff;background:transparent;box-shadow:none}.play-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px}.play-brand{min-width:0}.game-layout[data-screen=game] .play-brand{display:flex;align-items:center;gap:7px}.game-layout[data-screen=game] .play-header{display:grid;grid-template-columns:minmax(74px,auto) auto;gap:6px}.game-layout[data-screen=game] .play-header h1{color:#fff;font-size:.98rem;line-height:1;text-shadow:0 1px 10px rgba(34,198,224,.24)}.game-layout[data-screen=game] .play-header .eyebrow{color:#e0f7ffad;font-size:.58rem}.game-menu{position:relative;z-index:20}.game-layout[data-screen=game] .game-menu-button{min-height:24px;border:1px solid rgba(125,211,252,.16);padding-inline:7px;color:#e0f7ff;background:#0f172ab8;font-size:.62rem;box-shadow:none}.game-menu-popover{position:absolute;top:calc(100% + 6px);right:0;display:grid;min-width:128px;overflow:hidden;border:1px solid rgba(125,211,252,.2);border-radius:10px;background:#08101efa;box-shadow:0 16px 28px #00000057}.game-menu-popover button{min-height:38px;border:0;border-bottom:1px solid rgba(125,211,252,.08);padding:0 12px;color:#e0f7ff;background:transparent;font-size:.78rem;font-weight:850;text-align:left;cursor:pointer}.game-menu-popover button:last-child{border-bottom:0}.game-menu-popover button:active{background:#22c6e024}.title-row,.tray-header,.score-row,.status-row,.goal-title,.color-goal{display:flex;align-items:center;justify-content:space-between;gap:10px}.eyebrow,.score-label{display:block;margin:0 0 2px;color:#667085;font-size:.72rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(1.55rem,7vw,2.2rem);line-height:1}h2{margin-bottom:0;font-size:1rem;line-height:1.1}.primary-button,.secondary-button{min-height:44px;border:0;border-radius:8px;font-weight:850;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.primary-button{padding:0 16px;color:#fff;background:linear-gradient(135deg,#ff4f7b,#ff8a3d);box-shadow:0 8px 18px #ff4f7b3d}.secondary-button{padding:0 14px;color:#182230;background:#eef2f7}.primary-button:active,.secondary-button:active,.piece-slot:active{transform:scale(.97)}.primary-button:disabled,.secondary-button:disabled,.piece-slot:disabled{cursor:not-allowed;opacity:.45;transform:none}.score-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.2fr) minmax(74px,.62fr);gap:8px}.game-layout[data-screen=game] .score-row{grid-template-columns:minmax(0,1.15fr) minmax(0,1.15fr) minmax(52px,.55fr);gap:4px}.score-card{min-width:0;border-radius:8px;padding:10px;background:#f3f7fb}.game-layout[data-screen=game] .score-card{border:1px solid rgba(125,211,252,.13);padding:4px 6px;color:#e0f7ffbf;background:#0f172aad;box-shadow:inset 0 1px #ffffff0d}.game-layout[data-screen=game] .score-label{color:#e0f7ff94;margin-bottom:1px;font-size:.54rem}.game-layout[data-screen=game] .primary-score{background:linear-gradient(180deg,#22c6e029,#0f172ab8)}.game-layout[data-screen=game] .combo-score{color:#e0f7ffd6;background:#0f172a94}.game-layout[data-screen=game] .stage-card{color:#e0f7ffb3;background:#0f172a94}.primary-score{background:linear-gradient(180deg,#fff,#f3f7fb);box-shadow:inset 0 -1px #1822300d}.stage-card{color:#667085;background:#f8fafc}.combo-score{color:#475467;background:#f8fafc}.score-row strong{display:block;overflow:hidden;font-size:clamp(1.1rem,5vw,1.55rem);line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.game-layout[data-screen=game] .score-row strong{color:#fff;font-size:clamp(.86rem,4.1vw,1.16rem)}.game-layout[data-screen=game] .stage-card strong{color:#e0f7ff;font-size:.78rem}.game-layout[data-screen=game] .combo-score strong{color:#fff7c2;font-size:.82rem}.stage-card strong,.combo-score strong{color:#475467;font-size:1rem}.goal-panel{display:grid;gap:8px}.game-layout[data-screen=game] .goal-panel{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 6px}.goal-title{color:#344054;font-size:.86rem;font-weight:800}.game-layout[data-screen=game] .goal-title{color:#e0f7ffc2;font-size:.6rem;gap:4px}.progress-track{overflow:hidden;height:10px;border-radius:999px;background:#e5e7eb}.game-layout[data-screen=game] .progress-track{height:5px;background:#020817b3;box-shadow:inset 0 0 0 1px #7dd3fc14}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#22c6e0,#3ddc97,#ffd84d);transition:width .26s ease}.rule-banner{border-radius:8px;padding:9px 10px;color:#075985;background:#e0f7ff;font-size:.84rem;font-weight:850;line-height:1.25}.game-layout[data-screen=game] .rule-banner{justify-self:start;min-height:20px;border:1px solid rgba(61,220,151,.18);padding:3px 6px;color:#baf7df;background:#064e3b6b;font-size:.6rem;line-height:1.1}.score-panel.compact-rules .rule-banner,.game-layout[data-screen=game] .score-panel.compact-rules .rule-banner{color:#066046;background:#dffbea}.game-layout[data-screen=game] .score-panel.compact-rules .rule-banner{color:#baf7df;background:#064e3b6b}.color-goals{display:grid;grid-template-columns:1fr 1fr;gap:8px}.game-layout[data-screen=game] .color-goals{grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:4px}.color-goal{justify-content:start;min-height:32px;border-radius:8px;padding:6px 8px;background:#f8fafc;color:#344054;font-size:.82rem;font-weight:750}.game-layout[data-screen=game] .color-goal{min-height:20px;border:1px solid rgba(125,211,252,.1);padding:2px 5px;color:#e0f7ffc7;background:#0f172a9e;font-size:.6rem}.game-layout[data-screen=game] .color-goal strong{color:#fff}.game-layout[data-screen=game] .goal-swatch{width:10px;height:10px;border-radius:3px}.color-goal strong{margin-left:auto;color:#182230}.goal-swatch{width:14px;height:14px;flex:0 0 auto;border-radius:4px;box-shadow:inset 0 -2px #00000029}.status-row{min-height:44px;flex-wrap:wrap}.game-layout[data-screen=game] .status-row{min-height:22px;gap:4px}.combo-pill,.score-pop,.boost-limit-pill{display:inline-flex;align-items:center;justify-content:center;min-height:34px;border-radius:8px;padding:0 10px;font-size:.82rem;font-weight:850}.game-layout[data-screen=game] .combo-pill,.game-layout[data-screen=game] .score-pop,.game-layout[data-screen=game] .boost-limit-pill{min-height:20px;border:1px solid rgba(125,211,252,.12);padding:0 6px;font-size:.6rem}.game-layout[data-screen=game] .combo-pill{color:#e0f7ffbf;background:#0f172aa8}.game-layout[data-screen=game] .combo-pill.active{color:#fff7c2;background:#78350f85}.game-layout[data-screen=game] .score-pop{color:#cffafe;background:#0e749075}.game-layout[data-screen=game] .boost-limit-pill{display:none}.game-layout[data-screen=game] .status-row .compact-button{min-height:22px;border:1px solid rgba(125,211,252,.13);padding-inline:7px;color:#e0f7ff;background:#0f172aad;font-size:.6rem}.combo-pill{color:#475467;background:#f3f7fb}.combo-pill.active{color:#7a2e0e;background:#fff0d9}.score-pop{color:#065986;background:#d9f7ff;animation:scorePop .48s ease both}.boost-limit-pill{color:#475467;background:#f8fafc}.boost-limit-pill.used{color:#7a2e0e;background:#fff0d9}.how-to-play{display:grid;gap:7px;padding:14px;color:#475467}.how-to-play h2{color:#182230}.how-to-play p{margin-bottom:0;font-size:.94rem;line-height:1.4}.shop-panel{display:grid;gap:10px;padding:12px}.shop-header,.settings-header,.shop-item,.shop-actions,.settings-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.boost-limit{margin-bottom:0;border-radius:8px;padding:8px 10px;color:#e6fbffc7;background:#0f172aad;font-size:.82rem;font-weight:850}.boost-limit.used{color:#fff7c2;background:#7a2e0e70}.shop-note{margin:0;color:#e6fbffbd;font-size:.78rem;font-weight:800}.shop-items{display:grid;gap:8px}.shop-item{min-height:62px;border:1px solid rgba(103,232,249,.13);border-radius:8px;padding:9px;background:#0b2031d6}.shop-item strong,.shop-item span{display:block}.shop-item strong{color:#f7fdff;font-size:.92rem}.shop-item span{color:#e6fbffb8;font-size:.78rem;font-weight:750}.shop-item.unlocked{background:linear-gradient(180deg,#22c6e024,#0b2031d6),#0b2031d6}.shop-item.ad-boost-card{border-color:#facc1547;background:linear-gradient(135deg,#facc1524,#22c6e01a),#0b2031db}.shop-actions{flex-wrap:wrap;justify-content:flex-end}.compact-button{min-height:34px;padding-inline:10px;font-size:.78rem}.locked-badge{min-height:28px;border-radius:8px;padding:6px 8px;color:#e6fbffa3;background:#0f172ac2}.settings-panel{display:grid;gap:10px;padding:12px}.settings-actions{flex-wrap:wrap}.settings-toggle{min-height:38px;border:0;border-radius:8px;padding:0 12px;color:#e6fbff;background:#0f172ac2;font-weight:850;cursor:pointer;transition:transform .16s ease,opacity .16s ease}.settings-toggle.active{color:#dffbea;background:#064e3bad}.settings-toggle.danger{color:#9f1239;background:#fff1f4}.settings-toggle:active{transform:scale(.97)}.settings-advanced{border-radius:8px;padding:8px;background:#0b2031d6}.settings-advanced summary{color:#e6fbffb8;font-size:.76rem;font-weight:900;cursor:pointer}.settings-advanced .settings-toggle{margin-top:8px}.settings-note{margin:0;color:#e6fbffb8;font-size:.74rem;font-weight:750}.settings-version{margin:0;color:#d6fbff8f;font-size:.72rem;font-weight:850;text-align:right}.board-wrap{display:grid;justify-items:center;position:relative;width:100%;gap:8px}.game-layout[data-screen=game] .board-wrap{display:grid;align-content:center;justify-items:center;min-height:0;height:100%;gap:3px;overflow:visible}.board-wrap.board-shake .board-section{animation:boardShake .26s ease both}.combo-banner,.sweep-celebration,.score-popup-lane{position:absolute;z-index:9;left:50%;pointer-events:none;transform:translate(-50%)}.combo-banner{top:10px;border-radius:999px;padding:9px 14px;color:#78350f;background:#fff7c2f5;box-shadow:0 12px 24px #78350f24;font-size:.92rem;font-weight:950;animation:comboBanner 1.25s ease both}.combo-banner.ended{color:#475467;background:#f8fafcf5;animation-duration:.9s}.sweep-celebration{top:32%;display:grid;min-width:210px;place-items:center;color:#fff;font-size:1.25rem;font-weight:950;text-shadow:0 3px 12px rgba(16,24,40,.3);animation:celebrationPop 1.35s ease both}.sweep-celebration span{border-radius:999px;padding:10px 16px;background:linear-gradient(135deg,#22c6e0,#3ddc97);box-shadow:0 14px 32px #22c6e038}.sweep-celebration i{position:absolute;width:9px;aspect-ratio:1 / 1;border-radius:3px;background:#ffd84d;animation:sparkleDrift .9s ease both}.sweep-celebration i:nth-child(2){left:28px;top:-10px}.sweep-celebration i:nth-child(3){right:34px;top:6px;background:#ff4f7b;animation-delay:80ms}.sweep-celebration i:nth-child(4){bottom:-8px;left:50%;background:#8b5cf6;animation-delay:.14s}.score-popup-lane{top:0;right:0;bottom:0;left:0;transform:none}.floating-score{position:absolute;top:var(--score-y, 18%);left:var(--score-x, 50%);border-radius:999px;padding:6px 10px;color:#065986;background:#d9f7fff5;box-shadow:0 10px 20px #1822301f;font-size:.82rem;font-weight:950;white-space:nowrap;animation:floatingScore 1.3s ease both}.floating-score.bonus{color:#7a2e0e;background:#fff0d9f5}.floating-score.combo{color:#4c1d95;background:#f5f3fff5}.floating-score.danger{color:#9f1239;background:#fff1f4f5}.power-mode-banner{display:flex;width:min(100%,620px);max-width:100%;align-items:center;justify-content:space-between;gap:8px;border:1px solid rgba(139,92,246,.2);border-radius:8px;padding:8px 10px;color:#4c1d95;background:#f5f3fff7;font-size:.82rem;font-weight:850}.board-section{position:relative;display:grid;width:min(94vw,620px);max-width:100%;aspect-ratio:1 / 1;overflow:hidden;border-radius:8px;padding:8px;background:#101828;box-shadow:0 24px 48px #1822302e;touch-action:manipulation;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none}.game-layout[data-screen=game] .board-section{width:min(100%,560px,max(258px,calc(100vh - 278px)));padding:5px;border:1px solid rgba(255,255,255,.14);border-radius:12px;box-shadow:0 10px 24px #00000038,0 0 0 1px #18223047}@supports (height: 100svh){.game-layout[data-screen=game] .board-section{width:min(100%,560px,max(258px,calc(100svh - 278px)))}}.game-layout[data-screen=game] .board-grid{gap:4px}.game-action-panel{display:grid;align-self:center;gap:8px;width:100%;min-width:0}.shop-power-rail,.game-action-rail{display:grid;gap:5px;width:100%;min-width:0}.shop-power-rail{align-self:end}.game-action-rail{align-self:start}.rail-button{display:grid;min-height:clamp(44px,7.2dvh,60px);place-items:center;gap:1px;border:1px solid rgba(125,211,252,.16);border-radius:10px;padding:5px 3px;color:#e0f7ff;background:linear-gradient(180deg,#ffffff12,#ffffff05),#0f172ac2;box-shadow:inset 0 1px #ffffff0d,0 6px 14px #00000029;font-weight:900;cursor:pointer}.rail-button span{display:block;overflow-wrap:anywhere;font-size:clamp(.54rem,1.8vw,.72rem);line-height:1.05}.rail-button small{color:#e0f7ffa3;font-size:.58rem;font-weight:900}.rail-button.active{border-color:#ffd84d6b;color:#fff7c2;background:radial-gradient(circle at 50% 8%,rgba(255,216,77,.32),transparent 52%),#78350f85}.rail-button:disabled{cursor:not-allowed;opacity:.42}.shop-rail-button{display:grid;min-height:clamp(33px,5.2dvh,42px);place-items:center;gap:0;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:3px 2px;color:#fff;background:#0f172ab8;box-shadow:inset 0 1px #ffffff0f,0 5px 12px #00000029;font-weight:950;cursor:pointer}.shop-rail-button span{font-size:clamp(.5rem,1.75vw,.68rem);line-height:1}.shop-rail-button small{min-width:17px;border-radius:999px;padding:1px 4px;color:#0b1220;background:#ffffffdb;font-size:.56rem;line-height:1.15}.shop-rail-button.colorBomb{background:linear-gradient(135deg,#ff4f7bc7,#22c6e0b8,#3ddc97bd),#172554}.shop-rail-button.lightningBomb{color:#3b2b05;background:radial-gradient(circle at 50% 16%,rgba(255,255,255,.66),transparent 34%),linear-gradient(135deg,#ffd84d,#f59e0b)}.shop-rail-button.fireBomb{background:radial-gradient(circle at 50% 12%,rgba(255,216,77,.7),transparent 36%),linear-gradient(135deg,#ff4f7b,#ff8a3d)}.shop-rail-button.active{transform:translateY(-1px);filter:brightness(1.12);box-shadow:0 0 0 2px #ffffff29,0 0 18px #ffd84d38}.shop-rail-button.limit-used{color:#e2e8f0bd;filter:saturate(.25) brightness(.72);box-shadow:inset 0 0 0 1px #ffffff0f,0 0 0 1px #ff8a3d2e}.shop-rail-button[aria-disabled=true]{cursor:not-allowed}.shop-rail-button:disabled{cursor:not-allowed;filter:saturate(.35);opacity:.42}.board-section:after{content:"";position:absolute;z-index:1;top:8px;right:8px;bottom:8px;left:8px;border-radius:6px;pointer-events:none;opacity:0}.board-section.board-effect-bombBlast:after,.board-section.board-effect-fireBomb:after{background:radial-gradient(circle,rgba(255,216,77,.28),transparent 58%);animation:boardShockwave .52s ease both}.board-section.board-effect-lightningBomb:after{background:linear-gradient(90deg,transparent,rgba(255,216,77,.34),transparent),linear-gradient(0deg,transparent,rgba(34,198,224,.22),transparent);animation:boardShockwave .5s ease both}.board-section.board-effect-colorBomb:after{background:radial-gradient(circle,rgba(34,198,224,.24),transparent 64%);animation:colorBoardWave .62s ease both}.board-section.board-effect-lineClear:after{background:linear-gradient(135deg,transparent,rgba(255,255,255,.12),transparent);animation:colorBoardWave .44s ease both}.board-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(var(--board-size),minmax(0,1fr));grid-template-rows:repeat(var(--board-size),minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:4px;width:100%;height:100%;aspect-ratio:1;contain:layout paint;touch-action:manipulation;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none}.board-cell{position:relative;display:grid;width:100%;height:100%;aspect-ratio:1 / 1;min-width:0;min-height:0;overflow:hidden;place-items:center;border:1px solid rgba(255,255,255,.07);border-radius:6px;padding:0;background:#1d2939;cursor:pointer;font-size:0;line-height:0;touch-action:manipulation;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none}.board-cell.locked{border-color:#ffffff08;background:linear-gradient(145deg,rgba(255,255,255,.02),transparent 48%),#0b1220;cursor:not-allowed}.board-cell.concrete{border-color:#ffffff1a;background:#17202f;cursor:not-allowed}.board-cell.preview:not(.filled){outline:2px solid rgba(34,198,224,.92);outline-offset:-2px;background:#123247;box-shadow:inset 0 0 0 2px #3ddc9773;animation:previewGlow .9s ease-in-out infinite alternate}.board-cell.invalid-preview:not(.filled){outline-color:#ff4f7bb8;background:#3a1b2a;box-shadow:inset 0 0 0 2px #ff4f7b61;animation:invalidShake .26s ease both}.board-cell.bomb-preview{outline:2px solid rgba(255,216,77,.9);outline-offset:-2px;box-shadow:inset 0 0 0 2px #ff8a3d66;animation:previewGlow .76s ease-in-out infinite alternate}.board-cell.power-up-preview{outline:2px solid rgba(139,92,246,.9);outline-offset:-2px;box-shadow:inset 0 0 0 2px #22c6e06b;animation:previewGlow .76s ease-in-out infinite alternate}.board-cell.invalid-shake{animation:invalidShake .26s ease both}.board-cell.bomb-blast .block-face,.board-cell.bomb-blast .concrete-face{animation:bombBlast .52s ease both;animation-delay:var(--clear-stagger, 0ms)}.board-cell.bomb-blast:after{content:"";position:absolute;top:10%;right:10%;bottom:10%;left:10%;border-radius:999px;background:#ffd84d47;pointer-events:none;animation:bombRing .52s ease both}.board-cell.colorBomb-effect:after,.board-cell.lightningBomb-effect:after,.board-cell.fireBomb-effect:after{content:"";position:absolute;top:6%;right:6%;bottom:6%;left:6%;border-radius:6px;pointer-events:none}.board-cell.colorBomb-effect:after{background:#22c6e047;animation:colorWave .62s ease both}.board-cell.lightningBomb-effect:after{background:linear-gradient(90deg,transparent,rgba(255,216,77,.62),transparent);animation:lightningFlash .54s ease both}.board-cell.lightningBomb-effect:before{content:"";position:absolute;z-index:3;top:18%;right:-35%;bottom:18%;left:-35%;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.85),transparent);pointer-events:none;transform:rotate(-12deg);animation:lightningStreak .42s ease both}.board-cell.fireBomb-effect:after{background:radial-gradient(circle,#ff8a3db8,#ff4f7b1a);animation:firePulse .54s ease both}.board-cell.concrete-break:before{content:"";position:absolute;top:15%;right:15%;bottom:15%;left:15%;z-index:2;border-left:2px solid rgba(17,24,39,.5);border-right:2px solid rgba(17,24,39,.25);pointer-events:none;transform:skew(-18deg);animation:concreteCrack .52s ease both}.board-cell.concrete-break .concrete-face{animation:concreteShatter .52s ease both}.block-face{position:absolute;top:8%;right:8%;bottom:8%;left:8%;border-radius:5px;background:linear-gradient(145deg,rgba(255,255,255,.32),transparent 44%),var(--block-fill);box-shadow:inset 0 -4px 0 var(--block-shade),0 5px 10px #00000029}.concrete-face{position:absolute;top:8%;right:8%;bottom:8%;left:8%;overflow:hidden;border-radius:5px;background:linear-gradient(135deg,rgba(255,255,255,.2),transparent 38%),repeating-linear-gradient(45deg,rgba(255,255,255,.07) 0 2px,transparent 2px 7px),#6b7280;box-shadow:inset 0 -4px #3f4653,inset 0 0 0 1px #ffffff1f,0 5px 10px #0000002e}.concrete-face:before{content:"";position:absolute;top:18%;right:24%;bottom:22%;left:28%;border-left:2px solid rgba(31,41,55,.55);border-bottom:2px solid rgba(31,41,55,.38);transform:skew(-16deg)}.board-cell.concrete-drop .concrete-face{animation:concreteDrop .62s cubic-bezier(.18,1.25,.34,1) both}.board-cell.concrete-drop:after{content:"";position:absolute;top:64%;right:16%;bottom:12%;left:16%;border-radius:999px;background:#e2e8f047;pointer-events:none;animation:concreteDust .62s ease both}.board-cell.bomb .block-face:before,.piece-cell.bomb .block-face:before{content:"";position:absolute;left:15%;bottom:14%;width:24%;aspect-ratio:1 / 1;border-radius:999px;background:#111827;box-shadow:0 -4px 0 -2px #ffd84d,0 0 10px #ff8a3dcc;animation:specialGlint 1.8s ease-in-out infinite}.board-cell.breaker .block-face:after,.piece-cell.breaker .block-face:after{content:"";position:absolute;top:16%;right:16%;width:24%;aspect-ratio:1 / 1;border-radius:999px;background:#fff;box-shadow:0 0 0 2px #18223038,0 0 10px #ffd84de6;animation:specialGlint 2.1s ease-in-out infinite}.board-cell.preview:not(.filled) .block-face{opacity:.66}.board-cell.invalid-preview:not(.filled) .block-face{background:linear-gradient(145deg,rgba(255,255,255,.28),transparent 44%),#ff4f7b;opacity:.34}.board-cell.just-placed .block-face{animation:blockPop .32s cubic-bezier(.2,1.55,.38,1) both;animation-delay:var(--cell-stagger, 0ms)}.board-cell.clearing .block-face{animation:clearFlash .44s ease forwards;animation-delay:var(--clear-stagger, 0ms)}.board-cell.clearing:after{content:"";position:absolute;top:5%;right:5%;bottom:5%;left:5%;border-radius:7px;background:#ffffff3d;pointer-events:none;animation:clearGlow .44s ease forwards;animation-delay:var(--clear-stagger, 0ms)}.board-cell.diagonal-clear-effect:before{content:"";position:absolute;z-index:3;top:-25%;right:-25%;bottom:-25%;left:-25%;border-radius:999px;background:linear-gradient(135deg,transparent 36%,rgba(255,255,255,.9),transparent 64%);pointer-events:none;animation:diagonalSweep .44s ease both;animation-delay:var(--clear-stagger, 0ms)}.board-cell.multi-line-clear-effect:after{background:#ffd84d4d;animation-duration:.52s}.tray-panel{display:grid;gap:12px;padding:12px;background:linear-gradient(180deg,#fffffff5,#f0f9fff5),#fff;touch-action:none;user-select:none;-webkit-user-select:none}.game-layout[data-screen=game] .tray-panel{gap:4px;border:0;padding:6px;color:#e0f7ff;background:transparent;box-shadow:none}.game-layout[data-screen=game] .tray-header{display:flex;align-items:center;justify-content:space-between;gap:6px}.game-layout[data-screen=game] .tray-header h2{color:#fff;font-size:.72rem;line-height:1}.game-layout[data-screen=game] .tray-header .eyebrow{color:#e0f7ffad;margin-bottom:2px;font-size:.6rem}.game-layout[data-screen=game] .tray-panel.breaker-active,.game-layout[data-screen=game] .tray-panel.bomb-active{box-shadow:none}.tray-panel.breaker-active{border-color:#ff8a3d57;box-shadow:0 18px 42px #18223017,0 0 0 4px #ffd84d2e}.tray-panel.bomb-active{border-color:#ffd84d73;box-shadow:0 18px 42px #18223017,0 0 0 4px #ff8a3d29}.tray-panel.tray-replace .piece-slot.selected,.tray-panel.tray-replace .piece-slot.breaker-target{animation:trayBreak .62s ease both}.tray-panel.tray-split .piece-slot{animation:traySplit .62s ease both}.power-counts{display:flex;flex-wrap:wrap;gap:5px}.game-layout[data-screen=game] .power-counts{gap:4px}.breaker-charge,.bomb-charge{display:inline-flex;min-height:26px;align-items:center;border-radius:8px;padding:0 8px;color:#7a2e0e;background:#fff0d9;font-size:.76rem;font-weight:850}.game-layout[data-screen=game] .breaker-charge,.game-layout[data-screen=game] .bomb-charge{min-height:19px;border:1px solid rgba(255,216,77,.18);padding:0 6px;font-size:.58rem}.game-layout[data-screen=game] .breaker-charge{color:#fff0d9;background:#7a2e0e75}.game-layout[data-screen=game] .bomb-charge{color:#fff7c2;background:#78350f6b}.bomb-charge{color:#78350f;background:#fff7c2}.breaker-charge.pulse{animation:counterPulse .7s ease both}.breaker-button.active{color:#7a2e0e;background:#fff0d9;box-shadow:inset 0 0 0 2px #ff8a3d38}.game-layout[data-screen=game] .breaker-button.active{color:#fff7e8;background:#ff8a3d57;box-shadow:inset 0 0 0 1px #ffd84d57}.bomb-button.active{color:#78350f;background:#fff7c2;box-shadow:inset 0 0 0 2px #ffd84d57}.game-layout[data-screen=game] .bomb-button.active{color:#fff7c2;background:#ffd84d3d;box-shadow:inset 0 0 0 1px #ffd84d6b}.breaker-panel{display:grid;gap:7px;border-radius:8px;padding:9px;color:#7a2e0e;background:#fff7e8;font-size:.82rem;font-weight:800}.game-layout[data-screen=game] .breaker-panel{position:relative;z-index:7;grid-template-columns:minmax(0,1fr);gap:5px;border:1px solid rgba(255,138,61,.22);padding:6px;color:#fff7e8;background:#432318d1;font-size:.66rem;box-shadow:inset 0 0 0 1px #ff8a3d29}.breaker-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.game-layout[data-screen=game] .breaker-options{gap:4px}.game-layout[data-screen=game] .breaker-options .secondary-button,.game-layout[data-screen=game] .breaker-panel>.secondary-button{min-height:26px;border:1px solid rgba(255,216,77,.16);padding-inline:7px;color:#fff7e8;background:#0f172ab8;font-size:.62rem}.piece-tray{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;touch-action:none}.game-layout[data-screen=game] .piece-tray{gap:4px}.piece-slot{display:grid;min-height:104px;place-items:center;border:2px solid transparent;border-radius:8px;padding:8px;background:radial-gradient(circle at 50% 32%,rgba(34,198,224,.1),transparent 42%),#f3f7fb;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none}.game-layout[data-screen=game] .piece-slot{min-height:clamp(58px,9dvh,82px);border-color:#7dd3fc1a;padding:4px;background:radial-gradient(circle at 50% 24%,rgba(34,198,224,.14),transparent 48%),#0f172ab8;box-shadow:inset 0 1px #ffffff0d}.piece-slot.selected{border-color:#22c6e0;background:#e6fbff;box-shadow:0 0 0 4px #22c6e029}.game-layout[data-screen=game] .piece-slot.selected{border-color:#22c6e0;background:radial-gradient(circle at 50% 24%,rgba(34,198,224,.22),transparent 48%),#082f49c7;box-shadow:0 0 0 2px #22c6e02e,inset 0 1px #ffffff0f}.piece-slot.breaker-selectable,.game-layout[data-screen=game] .piece-slot.breaker-selectable{border-color:#ffd84d8c}.piece-slot.breaker-target{border-color:#ff8a3d;background:#fff7e8;box-shadow:0 0 0 4px #ff8a3d29}.game-layout[data-screen=game] .piece-slot.breaker-target{border-color:#ff8a3d;background:#7a2e0e94;box-shadow:0 0 0 2px #ff8a3d2e}.piece-slot.empty{color:#98a2b3;background:#f8fafc}.game-layout[data-screen=game] .piece-slot.empty{color:#e0f7ff66;background:#0f172a70}.slot-done{font-size:.82rem;font-weight:850}.piece-preview{display:grid;grid-template-columns:repeat(var(--piece-width),24px);grid-template-rows:repeat(var(--piece-height),24px);gap:4px;place-content:center;pointer-events:none;touch-action:none}.game-layout[data-screen=game] .piece-preview{grid-template-columns:repeat(var(--piece-width),clamp(16px,4.45vw,22px));grid-template-rows:repeat(var(--piece-height),clamp(16px,4.45vw,22px));gap:3px}.piece-cell{position:relative;display:block;width:24px;height:24px}.game-layout[data-screen=game] .piece-cell{width:clamp(16px,4.45vw,22px);height:clamp(16px,4.45vw,22px)}.piece-cell .block-face{top:0;right:0;bottom:0;left:0;border-radius:6px}.tray-progress-header{color:#475467;font-size:.74rem;font-weight:850;text-align:center}.game-layout[data-screen=game] .tray-progress-header{color:#e0f7ffad;font-size:.62rem;line-height:1}.tray-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.game-layout[data-screen=game] .tray-progress{gap:4px}.tray-progress-dot{min-height:24px;border-radius:8px;padding:4px 6px;color:#667085;background:#eef2f7;font-size:.68rem;font-weight:850;line-height:1.1;text-align:center}.game-layout[data-screen=game] .tray-progress-dot{min-height:16px;border:1px solid rgba(125,211,252,.08);padding:2px 4px;color:#e0f7ff9e;background:#0f172aad;font-size:.56rem}.game-layout[data-screen=game] .tray-progress-dot.clear{color:#baf7df;background:#064e3b70}.game-layout[data-screen=game] .tray-progress-dot.noClear{color:#fff0d9;background:#7a2e0e70}.tray-progress-dot.clear{color:#066046;background:#dffbea}.tray-progress-dot.noClear{color:#7a2e0e;background:#fff0d9}.game-over-overlay{position:fixed;z-index:35;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) 12px max(16px,env(safe-area-inset-bottom));background:#10182861;animation:modalFade .18s ease both}.game-over-panel{position:relative;display:grid;width:min(92vw,420px);max-width:100%;max-height:calc(100dvh - 32px);gap:12px;overflow:auto;padding:18px;text-align:center;transform:none;animation:modalPop .22s ease both}.game-over-panel.new-best{box-shadow:0 18px 42px #18223017,0 0 0 4px #ffd84d38}.game-over-kicker{justify-self:center;margin:0;border-radius:999px;padding:6px 10px;color:#78350f;background:#fff7c2;font-size:.78rem;font-weight:950;animation:scorePop .52s ease both}.game-over-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.game-over-stats span{display:grid;gap:2px;border-radius:8px;padding:8px;color:#667085;background:#f8fafc;font-size:.74rem;font-weight:850}.game-over-stats strong{color:#182230;font-size:1rem}.game-over-unlocks{display:grid;gap:3px;border-radius:8px;padding:9px;color:#4c1d95;background:#f5f3ff;font-size:.78rem;font-weight:850}.game-over-unlocks strong{color:#182230}.share-kicker{justify-self:center;margin:0;color:#475467;font-size:.82rem;font-weight:900}.share-fallback{display:grid;gap:5px;border:1px solid rgba(24,34,48,.12);border-radius:8px;padding:8px;color:#182230;background:#f8fafc}.share-fallback span{color:#475467;font-size:.72rem;font-weight:900;text-transform:uppercase}.share-fallback p{margin:0;font:.76rem/1.35 ui-monospace,SFMono-Regular,Consolas,monospace}.game-over-actions{display:grid;gap:8px}.modal-backdrop{position:fixed;z-index:40;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:#10182861;animation:modalFade .18s ease both}.tutorial-modal{display:grid;width:min(92vw,360px);gap:10px;padding:18px;background:#fffffffa;transform-origin:center;animation:modalPop .22s ease both}.first-run-modal,.unlock-modal,.daily-bonus-modal{display:grid;width:min(92vw,390px);gap:10px;border:1px solid rgba(24,34,48,.1);border-radius:8px;padding:18px;background:#fffffffc;box-shadow:0 18px 42px #18223024;animation:modalPop .22s ease both}.first-run-modal h2,.unlock-modal h2,.daily-bonus-modal h2{margin-bottom:0;font-size:1.3rem}.first-run-modal p,.unlock-modal p,.daily-bonus-modal p{margin:0;color:#475467;line-height:1.4}.daily-bonus-modal{border-color:#67e8f929;color:#e6fbff;background:radial-gradient(circle at 18% 0%,rgba(34,198,224,.2),transparent 34%),linear-gradient(180deg,#0f2637fa,#05101cfa)}.daily-bonus-header{display:flex;align-items:center;gap:10px}.daily-bonus-modal .eyebrow,.daily-bonus-modal h2{color:#f7fdff}.daily-bonus-modal .daily-bonus-subtitle{color:#e6fbffbd;font-size:.88rem}.daily-bonus-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.daily-bonus-card{position:relative;display:grid;min-height:86px;align-content:center;gap:3px;border:1px solid rgba(103,232,249,.14);border-radius:8px;padding:6px 4px;background:#0f172aa8;text-align:center}.daily-bonus-card.current{border-color:#facc1570;background:linear-gradient(180deg,#facc1529,#0f172abd),#0f172ab8}.daily-bonus-card.future{opacity:.46}.daily-bonus-card.claimed{border-color:#22c55e61}.daily-bonus-day,.daily-bonus-card small{color:#e6fbffb3;font-size:.62rem;font-weight:850}.daily-bonus-card strong{color:#f7fdff;font-size:.78rem;line-height:1.05}.daily-bonus-check{position:absolute;top:4px;right:5px;display:grid;width:18px;aspect-ratio:1 / 1;place-items:center;border-radius:999px;color:#052e16;background:#22c55e;font-size:.74rem;font-weight:950}.daily-bonus-actions{display:grid;grid-template-columns:1fr auto;gap:8px}@media(max-width:520px){.daily-bonus-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.daily-bonus-card{min-height:74px;padding:7px 4px}.daily-bonus-card strong{font-size:.74rem}.daily-bonus-actions{grid-template-columns:1fr}}.first-run-example,.unlock-example{display:flex;min-height:108px;align-items:center;justify-content:center;gap:12px;overflow:hidden;border:1px solid rgba(24,34,48,.08);border-radius:8px;padding:10px;background:#f8fafc}.first-run-mini-piece{display:grid;grid-template-columns:repeat(2,22px);gap:4px;animation:tutorialPieceBreak 1.7s ease-in-out infinite}.first-run-mini-piece span{display:block;width:22px;aspect-ratio:1 / 1;border-radius:6px;background:linear-gradient(145deg,rgba(255,255,255,.32),transparent 44%),#ff4f7b;box-shadow:inset 0 -4px #c92755}.first-run-mini-piece .sky,.tutorial-mini-cell.sky{background:linear-gradient(145deg,rgba(255,255,255,.28),transparent 44%),#22c6e0;box-shadow:inset 0 -4px #0e8fa6}.first-run-mini-piece .ruby,.tutorial-mini-cell.ruby{background:linear-gradient(145deg,rgba(255,255,255,.28),transparent 44%),#ff4f7b;box-shadow:inset 0 -4px #c92755}.tutorial-mini-cell.stone{background:linear-gradient(135deg,rgba(255,255,255,.18),transparent 42%),repeating-linear-gradient(45deg,rgba(255,255,255,.1) 0 2px,transparent 2px 6px),#6b7280;box-shadow:inset 0 -3px #3f4653}.tutorial-mini-cell.target{outline:2px solid rgba(61,220,151,.82);outline-offset:-2px;background:#123247}.tutorial-mini-cell.flash{background:#fff7c2;animation:lightningFlash 1.2s ease-in-out infinite}.tutorial-mini-cell.blast{animation:tutorialBlastPulse 1.4s ease-in-out infinite}.rotate-symbol,.combo-demo-pill,.no-fit-badge,.score-tip{border-radius:999px;padding:7px 10px;color:#075985;background:#e0f7ff;font-size:.76rem;font-weight:900}.combo-demo-pill.active,.score-tip.active{color:#7a2e0e;background:#fff0d9}.no-fit-badge{color:#9f1239;background:#fff1f4}.score-example,.combo-example{flex-wrap:wrap}.tutorial-dots{display:flex;justify-content:center;gap:6px}.tutorial-dots span{width:7px;aspect-ratio:1 / 1;border-radius:999px;background:#d0d5dd}.tutorial-dots span.active{background:#22c6e0}.first-run-actions{display:grid;grid-template-columns:.8fr .8fr 1.3fr;gap:8px}.unlock-grant{border-radius:8px;padding:8px 10px;color:#066046!important;background:#dffbea;font-weight:900}.unlock-note{border-radius:8px;padding:8px 10px;background:#f8fafc;font-size:.82rem;font-weight:800}.color-bomb-unlock .tutorial-mini-cell.ruby{animation:clearFlash 1.5s ease-in-out infinite}.lightning-unlock .tutorial-mini-cell.flash{animation:lightningFlash 1s ease-in-out infinite}.fire-unlock .tutorial-mini-cell.blast{animation:firePulse 1.1s ease-in-out infinite}.tutorial-modal h2{font-size:1.28rem}.tutorial-modal p{margin-bottom:0;color:#475467;line-height:1.42}.tutorial-example{display:flex;min-width:0;align-items:center;justify-content:center;gap:12px;overflow:hidden;border:1px solid rgba(24,34,48,.08);border-radius:8px;padding:10px;background:#f8fafc}.tutorial-mini-board{display:grid;grid-template-columns:repeat(4,20px);grid-template-rows:repeat(4,20px);gap:3px;border-radius:8px;padding:6px;background:#101828}.tutorial-mini-cell,.tutorial-block,.tutorial-mini-piece{position:relative;display:block;border-radius:5px}.tutorial-mini-cell{background:#1d2939}.tutorial-mini-cell.concrete{background:linear-gradient(135deg,rgba(255,255,255,.18),transparent 42%),repeating-linear-gradient(45deg,rgba(255,255,255,.1) 0 2px,transparent 2px 6px),#6b7280;box-shadow:inset 0 -3px #3f4653;animation:tutorialConcreteBreak 1.8s ease-in-out infinite}.tutorial-mini-cell.blast{outline:2px solid rgba(255,216,77,.86);outline-offset:-2px;background:#3a2f16;animation:tutorialBlastPulse 1.8s ease-in-out infinite}.tutorial-bomb-token{display:grid;min-width:54px;justify-items:center;gap:5px;color:#78350f;font-size:.74rem;font-weight:850}.tutorial-bomb-dot{display:block;width:30px;aspect-ratio:1 / 1;border-radius:999px;background:radial-gradient(circle at 65% 22%,#ffd84d 0 12%,transparent 13%),#111827;box-shadow:0 0 0 4px #ffd84d2e;animation:tutorialBombEarn 1.8s ease-in-out infinite}.tutorial-piece-row{display:grid;grid-template-columns:repeat(4,22px);gap:4px}.tutorial-block{width:22px;height:22px;background:linear-gradient(145deg,rgba(255,255,255,.32),transparent 44%),#ff4f7b;box-shadow:inset 0 -4px #c92755}.tutorial-block.bomb-mark:after{content:"";position:absolute;left:18%;bottom:14%;width:28%;aspect-ratio:1 / 1;border-radius:999px;background:#111827;box-shadow:0 -4px 0 -2px #ffd84d,0 0 9px #ff8a3dcc;animation:specialGlint 1.6s ease-in-out infinite}.tutorial-arrow{width:28px;height:2px;border-radius:999px;background:#98a2b3;animation:tutorialArrowNudge 1.5s ease-in-out infinite}.tutorial-arrow:after{content:"";display:block;width:8px;height:8px;margin:-3px 0 0 auto;border-top:2px solid #98a2b3;border-right:2px solid #98a2b3;transform:rotate(45deg)}.tutorial-piece-awkward{display:grid;grid-template-columns:repeat(3,20px);grid-template-rows:repeat(2,20px);gap:4px}.tutorial-piece-awkward span,.tutorial-mini-piece{background:linear-gradient(145deg,rgba(255,255,255,.3),transparent 44%),#8b5cf6;box-shadow:inset 0 -4px #6337c9}.tutorial-piece-awkward{animation:tutorialPieceBreak 1.7s ease-in-out infinite}.tutorial-split-pieces{animation:tutorialSplitPop 1.7s ease-in-out infinite}.tutorial-piece-awkward span:nth-child(4){grid-column:2}.tutorial-split-pieces{display:flex;align-items:center;gap:8px}.tutorial-mini-piece.two{width:46px;height:20px}.tutorial-mini-piece.one{width:20px;height:20px}.game-over-panel h2{font-size:1.4rem}.game-over-panel p{margin-bottom:2px;color:#475467}.toast-lane{position:absolute;z-index:8;top:-46px;left:50%;display:grid;width:min(94vw,620px);max-width:100%;min-height:38px;place-items:center;pointer-events:none;transform:translate(-50%)}.toast-message{max-width:100%;border:1px solid rgba(34,198,224,.22);border-radius:8px;padding:8px 12px;color:#075985;background:#e0f7fff7;box-shadow:0 12px 24px #1822301f;font-size:.84rem;font-weight:850;line-height:1.2;text-align:center;animation:toastFloat 1.8s ease both}.toast-message.danger{border-color:#ff4f7b42;color:#9f1239;background:#fff1f4f7}.drag-ghost{position:fixed;z-index:20;left:0;top:0;padding:10px;border-radius:8px;pointer-events:none;touch-action:none;opacity:.94;transform:translate3d(var(--drag-x),var(--drag-y),0) translate(-50%,-50%) scale(1.08)}.drag-ghost.valid{background:#e0f7ffdb;box-shadow:0 14px 30px #22c6e03d}.drag-ghost.invalid{background:#fff1f4db;box-shadow:0 14px 30px #ff4f7b33}@keyframes blockPop{0%{filter:brightness(1.2);transform:scale(.55)}64%{filter:brightness(1.12);transform:scale(1.12)}to{filter:brightness(1);transform:scale(1)}}@keyframes previewGlow{0%{filter:brightness(1);transform:scale(1)}to{filter:brightness(1.12);transform:scale(.985)}}@keyframes invalidShake{0%,to{transform:translate(0)}28%{transform:translate(-3px)}58%{transform:translate(3px)}}@keyframes boardShake{0%,to{transform:translate(0)}28%{transform:translate(-2px)}62%{transform:translate(2px)}}@keyframes clearFlash{0%{filter:brightness(1);opacity:1;transform:scale(1)}45%{filter:brightness(1.4);opacity:1;transform:scale(1.16)}to{filter:brightness(1.1);opacity:0;transform:scale(.15) rotate(10deg)}}@keyframes clearGlow{0%{opacity:0;transform:scale(.82)}42%{opacity:1;transform:scale(1.05)}to{opacity:0;transform:scale(1.22)}}@keyframes diagonalSweep{0%{opacity:0;transform:translate(-26%,26%) rotate(0) scale(.7)}35%{opacity:1;transform:translate(0) rotate(0) scale(1)}to{opacity:0;transform:translate(28%,-28%) rotate(0) scale(1.2)}}@keyframes boardShockwave{0%{opacity:0;transform:scale(.35)}38%{opacity:1;transform:scale(.86)}to{opacity:0;transform:scale(1.25)}}@keyframes colorBoardWave{0%{opacity:0;transform:scale(.6)}40%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.3)}}@keyframes scorePop{0%{opacity:0;transform:translateY(8px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes floatingScore{0%{opacity:0;transform:translate(-50%,10px) scale(.94)}18%{opacity:1;transform:translate(-50%) scale(1)}82%{opacity:1;transform:translate(-50%,-12px) scale(1)}to{opacity:0;transform:translate(-50%,-24px) scale(.96)}}@keyframes comboBanner{0%{opacity:0;transform:translate(-50%) translateY(-8px) scale(.9)}16%{opacity:1;transform:translate(-50%) translateY(0) scale(1.06)}78%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%) translateY(-10px) scale(.96)}}@keyframes celebrationPop{0%{opacity:0;transform:translate(-50%) scale(.82)}16%{opacity:1;transform:translate(-50%) scale(1.05)}76%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%) scale(.96)}}@keyframes sparkleDrift{0%{opacity:0;transform:translateY(4px) rotate(0) scale(.7)}25%{opacity:1;transform:translateY(0) rotate(18deg) scale(1)}to{opacity:0;transform:translateY(-20px) rotate(56deg) scale(.7)}}@keyframes toastFloat{0%{opacity:0;transform:translateY(8px) scale(.98)}12%{opacity:1;transform:translateY(0) scale(1)}82%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-8px) scale(.98)}}@keyframes concreteDrop{0%{transform:translateY(-140%) scale(.94)}62%{transform:translateY(0) scale(1)}78%{transform:translate(-2px) scale(1)}90%{transform:translate(2px) scale(1)}to{transform:translate(0) scale(1)}}@keyframes concreteDust{0%{opacity:0;transform:translateY(4px) scale(.6)}62%{opacity:0;transform:translateY(4px) scale(.6)}78%{opacity:.8;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-3px) scale(1.25)}}@keyframes bombBlast{0%{opacity:1;transform:scale(1)}55%{opacity:1;transform:scale(1.18)}to{opacity:0;transform:scale(.18) rotate(12deg)}}@keyframes bombRing{0%{opacity:0;transform:scale(.35)}45%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.4)}}@keyframes lightningStreak{0%{opacity:0;transform:translate(-24%) rotate(-12deg) scaleX(.35)}36%{opacity:1;transform:translate(0) rotate(-12deg) scaleX(1)}to{opacity:0;transform:translate(28%) rotate(-12deg) scaleX(1.3)}}@keyframes colorWave{0%{opacity:0;transform:scale(.64)}42%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.28)}}@keyframes lightningFlash{0%{opacity:0;transform:scaleX(.35)}30%{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(1.2)}}@keyframes firePulse{0%{opacity:0;transform:scale(.56)}38%{opacity:1;transform:scale(1.08)}to{opacity:0;transform:scale(1.38)}}@keyframes concreteCrack{0%{opacity:0;transform:skew(-18deg) scale(.6)}40%{opacity:1;transform:skew(-18deg) scale(1)}to{opacity:0;transform:skew(-18deg) scale(1.25)}}@keyframes concreteShatter{0%,to{filter:brightness(1);opacity:1;transform:translate(0) scale(1)}34%{filter:brightness(1.16);transform:translate(-2px) scale(1.03)}68%{opacity:.78;transform:translate(2px) scale(.96)}}@keyframes specialGlint{0%,to{filter:brightness(1);opacity:.86;transform:scale(1)}48%{filter:brightness(1.35);opacity:1;transform:scale(1.12)}}@keyframes tutorialBlastPulse{0%,to{filter:brightness(1);transform:scale(1)}48%{filter:brightness(1.35);transform:scale(.92)}}@keyframes tutorialConcreteBreak{0%,to{filter:brightness(1);opacity:1;transform:translate(0)}50%{filter:brightness(1.22);opacity:.78;transform:translate(1px) scale(.96)}}@keyframes tutorialBombEarn{0%,60%,to{filter:brightness(1);transform:translateY(0) scale(1)}78%{filter:brightness(1.4);transform:translateY(-3px) scale(1.12)}}@keyframes tutorialArrowNudge{0%,to{opacity:.6;transform:translate(0)}50%{opacity:1;transform:translate(3px)}}@keyframes tutorialPieceBreak{0%,to{filter:brightness(1);transform:scale(1) rotate(0)}48%{filter:brightness(1.16);transform:scale(.94) rotate(-2deg)}}@keyframes tutorialSplitPop{0%,to{transform:translate(0) scale(1)}52%{transform:translate(2px) scale(1.08)}}@keyframes counterPulse{0%,to{transform:scale(1)}42%{transform:scale(1.12)}}@keyframes trayBreak{0%,to{opacity:1;transform:scale(1) rotate(0)}48%{opacity:.7;transform:scale(.94) rotate(-2deg)}}@keyframes traySplit{0%,to{transform:translate(0) scale(1)}46%{transform:translate(2px) scale(1.03)}}@keyframes modalFade{0%{opacity:0}to{opacity:1}}@keyframes modalPop{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}}@media(min-width:760px){.app-shell{padding-top:24px}.game-layout{width:min(100%,620px)}.score-panel,.tray-panel,.how-to-play{padding:16px}.piece-slot{min-height:118px}.piece-preview{grid-template-columns:repeat(var(--piece-width),28px);grid-template-rows:repeat(var(--piece-height),28px)}.piece-cell{width:28px;height:28px}}@media(max-width:380px){.app-shell{padding-inline:8px}.score-panel,.tray-panel{padding:10px}.primary-button,.secondary-button{padding-inline:10px}.piece-slot{min-height:92px;padding:6px}.piece-preview{grid-template-columns:repeat(var(--piece-width),20px);grid-template-rows:repeat(var(--piece-height),20px);gap:3px}.piece-cell{width:20px;height:20px}}@media(max-width:480px){.app-shell{padding:max(8px,env(safe-area-inset-top)) 8px max(10px,env(safe-area-inset-bottom))}.game-layout{gap:8px}.score-panel{gap:8px;padding:10px}h1{font-size:1.38rem}.primary-button,.secondary-button{min-height:38px;padding-inline:11px}.score-row{gap:6px}.score-row>div{padding:8px}.score-row strong{font-size:1.08rem}.rule-banner{padding:7px 8px;font-size:.78rem}.color-goals{gap:6px}.color-goal{min-height:28px;padding:5px 7px;font-size:.76rem}.status-row{min-height:38px}.combo-pill,.score-pop{min-height:30px;padding-inline:8px;font-size:.74rem}.board-section{padding:7px}.tray-panel{gap:8px;padding:10px}.piece-slot{min-height:84px}.piece-preview{grid-template-columns:repeat(var(--piece-width),21px);grid-template-rows:repeat(var(--piece-height),21px);gap:3px}.piece-cell{width:21px;height:21px}}
