*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;height:100dvh;max-height:100dvh;width:100%;max-width:100%;overflow:hidden;overscroll-behavior:none;background:#0a0a14;color-scheme:dark;-webkit-tap-highlight-color:transparent;touch-action:manipulation;position:fixed;top:0;right:0;bottom:0;left:0}#gw{--board-pad:8px;--cell-gap:3px;--cell-size:32px;--cell-empty:#0d0d24;display:flex;flex-direction:column;align-items:center;width:100%;max-width:100%;height:100dvh;max-height:100dvh;min-height:0;overflow:hidden;padding:max(6px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:#12121f;border-radius:0;color:#fff;-webkit-user-select:none;user-select:none;position:relative;transition:transform .05s}@media(min-width:640px){#gw{border-radius:16px;max-width:min(100%,520px);margin:max(8px,env(safe-area-inset-top)) auto max(8px,env(safe-area-inset-bottom));padding:10px 8px 12px;max-height:calc(100dvh - 16px);height:calc(100dvh - 16px)}}#gw.shake{animation:shake .35s ease}@keyframes shake{0%,to{transform:translate(0)}15%{transform:translate(-5px,2px)}30%{transform:translate(5px,-2px)}45%{transform:translate(-4px,1px)}60%{transform:translate(4px,-1px)}75%{transform:translate(-2px,1px)}90%{transform:translate(2px)}}.combo-screen-fx{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;opacity:calc(var(--combo-fx,0) * .82);background:radial-gradient(ellipse 90% 55% at 50% 42%,rgba(242,92,84,.14) 0%,transparent 55%),radial-gradient(ellipse 120% 80% at 50% 100%,rgba(251,191,36,.07) 0%,transparent 50%);box-shadow:inset 0 0 calc(28px + 50px * var(--combo-fx,0)) #f25c542e;mix-blend-mode:screen;transition:opacity .35s ease,box-shadow .35s ease}#hud-minimal{position:relative;z-index:12;width:100%;max-width:100%;flex-shrink:0;display:flex;flex-direction:column;align-items:stretch;gap:5px;padding:max(4px,env(safe-area-inset-top)) 44px 4px 44px;margin-bottom:2px;box-sizing:border-box}.hud-top-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:flex-start;width:100%;min-height:clamp(76px,22vw,104px);gap:4px}.hud-corner-left{justify-self:start;text-align:left;pointer-events:none;min-width:0}.hud-corner-spacer{min-width:0}.hud-left-cluster{display:flex;flex-direction:column;gap:clamp(6px,1.8vw,10px);align-items:flex-start}.hud-mini-block{display:flex;flex-direction:column;align-items:flex-start;gap:1px}.hud-score-center{justify-self:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(4px,1.2vw,8px);padding-top:0;pointer-events:none;min-width:0;max-width:min(100%,280px)}.hud-best-row{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:5px}.hud-crown{font-size:clamp(13px,3.6vw,17px);line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}.hud-best-val{font-size:clamp(15px,4.2vw,20px);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:#facc15;text-shadow:0 0 20px rgba(250,204,21,.35)}.hud-current-stack{display:flex;align-items:center;justify-content:center;min-width:min(100%,220px);min-height:clamp(44px,12vw,72px)}.hud-val-current{font-size:clamp(38px,13vw,62px);font-weight:800;line-height:1;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.03em;text-shadow:0 2px 16px rgba(0,0,0,.45),0 0 24px rgba(255,255,255,.2);animation:hudScorePulse 1.45s ease-in-out infinite}@keyframes hudScorePulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.055);opacity:.96}}.hud-dot{width:7px;height:7px;border-radius:50%;background:#f25c54;flex-shrink:0}.hud-lbl{font-size:clamp(9px,2.6vw,11px);font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:#ffffff61}.hud-val-compact{font-size:clamp(20px,6.5vw,30px);font-weight:250;line-height:1;color:#f25c54;font-variant-numeric:tabular-nums}.hud-val-hero{font-size:clamp(34px,12vw,56px);font-weight:200;line-height:.95;color:#f25c54;font-variant-numeric:tabular-nums;letter-spacing:-.02em;text-shadow:0 0 40px rgba(242,92,84,.22)}.hud-val{font-size:clamp(26px,8vw,40px);font-weight:200;line-height:1;color:#f25c54;font-variant-numeric:tabular-nums}.hud-sub{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:5px;font-size:clamp(10px,2.8vw,11px);font-weight:500;letter-spacing:.06em;color:#ffffff59}.hud-sub-sep{opacity:.45;font-weight:300}.undo-icon-btn{position:absolute;top:max(6px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));z-index:20;width:40px;height:40px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;color:#ffffff73;font-size:20px;line-height:1;cursor:pointer;transition:color .15s,opacity .15s}.undo-icon-btn:hover:not(:disabled){color:#f25c54}.undo-icon-btn:disabled{opacity:.25;cursor:default}@media(min-width:640px){.undo-icon-btn{top:max(10px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right))}}#mid{position:relative;z-index:8;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:100%;flex:1 1 auto;min-height:0;gap:4px;overflow:hidden}#top-rail{display:flex;flex-direction:row;align-items:flex-start;justify-content:center;gap:8px;width:100%;max-width:100%;flex-shrink:0;padding:0 4px}#next-panel,#hold-panel{display:flex;flex-direction:column;align-items:center;gap:2px}#top-rail .panel-lbl{font-size:8px;letter-spacing:.6px}#hold-slot{width:clamp(44px,14vw,56px);height:clamp(44px,14vw,56px);background:transparent;border-radius:8px;border:1px dashed rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;cursor:grab;flex-direction:column;gap:2px;transition:border-color .2s,opacity .15s;position:relative;touch-action:none}#hold-slot.has-piece{border-style:solid;border-color:#34d399}#hold-slot.drag-src-hold{opacity:.55}#hold-slot:hover:not(.drag-src-hold){border-color:#f472b6}#hold-avail{font-size:7px;margin-top:1px;font-weight:600;line-height:1.15;text-align:center;max-width:52px}#next-slots{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:center;align-items:center;gap:4px}.next-slot{width:clamp(40px,11vw,52px);height:clamp(32px,9vw,42px);background:transparent;border-radius:6px;border:none;display:flex;align-items:center;justify-content:center}.panel-lbl{font-size:10px;color:#6b7280;text-transform:uppercase;letter-spacing:1px}.panel-lbl-min{font-size:clamp(8px,2.2vw,10px);color:#ffffff52;letter-spacing:.18em}#grid-toast-wrap{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;pointer-events:none;width:min(100%,320px)}.grid-toast-item{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;animation:gridToastIn .32s ease}.grid-toast-item.fade-out{opacity:0;transition:opacity .24s ease}.grid-toast-main{font-size:clamp(17px,4.8vw,26px);font-weight:800;color:#fbbf24;text-shadow:0 2px 14px rgba(0,0,0,.92)}.grid-toast-sub{font-size:clamp(10px,2.8vw,13px);font-weight:600;color:#cbd5e1}.grid-toast-combo{font-size:clamp(14px,4vw,20px);font-weight:800;padding:6px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.28);box-shadow:0 6px 20px #00000073}.grid-toast-combo.combo-pink{background:linear-gradient(145deg,#ec4899,#db2777);color:#fff}.grid-toast-combo.combo-purple{background:linear-gradient(145deg,#a78bfa,#7c3aed);color:#fff}.grid-toast-combo.combo-orange{background:linear-gradient(145deg,#fbbf24,#ea580c);color:#1a0a00}@keyframes gridToastIn{0%{transform:scale(.88);opacity:0}to{transform:scale(1);opacity:1}}#board-wrap{position:relative;width:100%;max-width:100%;flex:1 1 auto;min-height:0;margin:0 auto;display:flex;align-items:center;justify-content:center;overflow:hidden}canvas#pcanvas,canvas#flash-canvas{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none}canvas#pcanvas{z-index:50}canvas#flash-canvas{z-index:49}#drag-float{position:fixed;left:0;top:0;pointer-events:none;z-index:100;transform:translate(-50%,-50%);filter:drop-shadow(0 3px 10px rgba(0,0,0,.45));border-radius:10px}#drag-float.drag-float-invalid{outline:3px solid rgba(239,68,68,.95);outline-offset:2px;filter:drop-shadow(0 3px 10px rgba(0,0,0,.45))}body.combo-rgb-global .cell.filled,body.combo-rgb-global .pm-filled,body.combo-rgb-global .next-mini-fill,body.combo-rgb-global .hold-mini-fill{animation:rgbHueSync 2.4s linear infinite}@keyframes rgbHueSync{0%{filter:hue-rotate(0deg) saturate(1.12)}to{filter:hue-rotate(360deg) saturate(1.12)}}#board{position:relative;z-index:1;display:grid;grid-template-columns:repeat(8,var(--cell-size));grid-template-rows:repeat(8,var(--cell-size));gap:var(--cell-gap);padding:var(--board-pad);background:var(--board-bg,#1c1c35);border-radius:12px;border:2px solid var(--board-border,#2a2a50);width:fit-content;max-width:100%;transition:background .45s ease,border-color .45s ease}.cell{width:var(--cell-size);height:var(--cell-size);border-radius:6px;background-color:var(--cell-empty,#0d0d24);position:relative;overflow:hidden}.cell.filled{box-shadow:inset 0 2px 3px #ffffff21,inset 0 -2px 3px #0006}.cell.hl{outline:2px solid rgba(255,255,255,.5);background:#ffffff1f!important}.cell.inv{outline:2px solid rgba(239,68,68,.7);background:#ef444433!important}.cell.ghost-preview{opacity:.5}.cell.ghost-preview-invalid{opacity:.92!important;box-shadow:inset 0 0 0 3px #facc15,inset 0 0 0 5px #00000059!important;filter:brightness(.88) saturate(1.15)}.cell.ghost-invalid-overlap{box-shadow:inset 0 0 0 3px #ef4444,inset 0 0 0 6px #00000073!important;filter:brightness(.9) saturate(1.05)}.cell.line-clear-hint{box-shadow:inset 0 0 0 2px #fbbf24eb,inset 0 0 18px #fbbf2438;opacity:1!important}@keyframes flashCell{0%{background:#fff!important;opacity:1}to{opacity:0}}.cell.flash-clr{animation:flashCell .28s ease forwards}@keyframes dropBounce{0%{transform:scaleY(.7) translateY(-6px);opacity:.6}60%{transform:scaleY(1.06) translateY(1px)}80%{transform:scaleY(.97)}to{transform:scaleY(1) translateY(0);opacity:1}}.cell.drop-bounce{animation:dropBounce .22s ease forwards}.cell.bomb-cell{background:#ff6b35!important;box-shadow:inset 0 0 8px #ffc80080}.bomb-icon{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:clamp(12px,3.5vw,17px)}#pieces-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;justify-content:center;padding:0 4px max(4px,env(safe-area-inset-bottom));max-width:100%;flex-shrink:0}.pslot{width:clamp(72px,26vw,96px);height:clamp(72px,26vw,96px);background:transparent;border:none;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:grab;transition:opacity .2s,filter .2s;touch-action:none;flex-direction:column;gap:4px}.pslot:not(.used):hover{filter:brightness(1.06)}.pslot.used{opacity:.18;pointer-events:none}.pslot.drag-src{opacity:.3}.pmini{display:grid;gap:3px}.pm-cell{border-radius:3px;overflow:hidden}#diff-bar{width:min(92%,280px);height:3px;padding:0;margin:2px auto 0;flex-shrink:0;background:transparent}#diff-track{width:100%;height:3px;background:#ffffff14;border-radius:999px;overflow:hidden;border:none}#diff-fill{height:100%;background:#f25c54;border-radius:999px;transition:width .4s ease;opacity:.92}#actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;justify-content:center;padding:0 4px}.icon-action-btn{width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center;background:#1c1c35;border:1px solid #2a2a50;border-radius:10px;color:#9ca3af;cursor:pointer;transition:border-color .15s,color .15s}.icon-action-btn:hover{border-color:#34d399;color:#34d399}.icon-action-btn svg{display:block}.act-btn{background:#1c1c35;border:1px solid #2a2a50;color:#9ca3af;border-radius:8px;padding:8px 14px;font-size:12px;cursor:pointer;transition:all .15s;min-height:44px}.act-btn:hover:not(:disabled){border-color:#f472b6;color:#f472b6}.act-btn:disabled{opacity:.3;cursor:default}#go{display:none;position:absolute;top:0;right:0;bottom:0;left:0;background:#0c0c1cf2;border-radius:16px;flex-direction:column;align-items:center;justify-content:center;gap:7px;z-index:200;padding:16px}#go.show{display:flex}#go h2{font-size:clamp(18px,5vw,23px);color:#f472b6;margin-bottom:2px}.stat-row{display:flex;justify-content:space-between;width:100%;max-width:min(280px,100%);font-size:12px;padding:3px 0;border-bottom:1px solid #2a2a50}.stat-row span:first-child{color:#9ca3af}.stat-row span:last-child{font-weight:700;color:#fff}#rbtn{background:#f472b6;color:#fff;border:none;border-radius:8px;padding:10px 24px;font-size:13px;font-weight:600;cursor:pointer;margin-top:6px;min-height:44px}#rbtn:hover{background:#db2777}#lb-section{margin-top:8px;width:100%;max-width:min(280px,100%)}#lb-section h3{font-size:10px;color:#6b7280;text-transform:uppercase;letter-spacing:1px;margin-bottom:5px;text-align:center}.lb-row{display:flex;justify-content:space-between;font-size:12px;padding:2px 0}.lb-row span:first-child{color:#9ca3af}.lb-row span:last-child{color:#fbbf24;font-weight:700}#score-pop-wrap{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:150}.spop{position:absolute;font-size:clamp(12px,3.5vw,14px);font-weight:700;color:#fbbf24;pointer-events:none;animation:sFly .65s ease forwards;white-space:nowrap}@keyframes sFly{0%{transform:translateY(0);opacity:1}to{transform:translateY(-44px);opacity:0}}#hint{color:#6b7280;font-size:clamp(10px,2.8vw,11px);margin-top:8px;text-align:center;padding:0 8px;line-height:1.4}.pause-icon-btn{position:absolute;top:max(6px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));z-index:20;width:40px;height:40px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;color:#ffffff73;font-size:18px;line-height:1;cursor:pointer;transition:color .15s,opacity .15s}.pause-icon-btn:hover:not(:disabled){color:#f25c54}.pause-icon-btn:disabled{opacity:.25;cursor:default}@media(min-width:640px){.pause-icon-btn{top:max(10px,env(safe-area-inset-top))}}.pause-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0c0c1ceb;border-radius:inherit;display:flex;align-items:center;justify-content:center;z-index:201;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.pause-modal{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 24px}.pause-modal h2{font-size:clamp(18px,5vw,23px);color:#f472b6;margin-bottom:6px;letter-spacing:.05em}.pause-btn{width:180px;min-height:44px;background:#1c1c35;border:1px solid #2a2a50;border-radius:10px;color:#e2e8f0;font-size:14px;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s;display:flex;align-items:center;justify-content:center;gap:8px}.pause-btn:hover{border-color:#f472b6;color:#f472b6}.pause-btn-primary{background:#f472b6;color:#fff;border-color:#f472b6}.pause-btn-primary:hover{background:#db2777;border-color:#db2777;color:#fff}.settings-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0c0c1ceb;border-radius:inherit;display:flex;align-items:center;justify-content:center;z-index:202;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.settings-modal{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:28px 24px;min-width:min(260px,90%)}.settings-modal h2{font-size:clamp(16px,4.5vw,20px);color:#f472b6;text-align:center;margin-bottom:4px}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#1c1c35;border:1px solid #2a2a50;border-radius:10px;color:#e2e8f0;font-size:14px;cursor:pointer;gap:16px}.setting-row input[type=checkbox]{width:20px;height:20px;accent-color:#34d399;cursor:pointer;flex-shrink:0}.settings-close-btn{min-height:44px;background:#1c1c35;border:1px solid #2a2a50;border-radius:10px;color:#9ca3af;font-size:14px;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s;margin-top:4px}.settings-close-btn:hover{border-color:#f472b6;color:#f472b6}
