:root{--blast-bg:#070a13;--blast-panel-bg:#0f172abf;--blast-grid-bg:#0d1322;--blast-cell-empty:#141c30;--blast-cell-border:#ffffff0d;--color-1:#06b6d4;--color-1-light:#67e8f9;--color-2:#10b981;--color-2-light:#6ee7b7;--color-3:#3b82f6;--color-3-light:#93c5fd;--color-4:#f59e0b;--color-4-light:#fde68a;--color-5:#f43f5e;--color-5-light:#fda4af;--color-6:#8b5cf6;--color-6-light:#c4b5fd;--color-7:#ec4899;--color-7-light:#f9a8d4;--color-8:#eab308;--color-8-light:#fef08a}.blast-game-root{background:var(--blast-bg);color:#e2e8f0;-webkit-user-select:none;user-select:none;touch-action:none;flex-direction:column;justify-content:flex-start;align-items:center;width:100%;min-height:calc(100vh - 70px);padding:.75rem .5rem 1.5rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Pretendard,sans-serif;display:flex;position:relative;overflow:hidden}.blast-bg-glow{filter:blur(120px);pointer-events:none;opacity:.22;z-index:0;border-radius:50%;width:500px;height:500px;position:absolute}.glow-top{background:radial-gradient(circle,#3b82f6,#8b5cf6);top:-100px}.glow-bottom{background:radial-gradient(circle,#ec4899,#f59e0b);bottom:-100px}.blast-main-wrapper{z-index:1;flex-direction:column;align-items:center;gap:.5rem;width:100%;max-width:480px;margin:0 auto;display:flex;position:relative}.blast-header{background:var(--blast-panel-bg);backdrop-filter:blur(12px);border:1px solid #ffffff14;border-radius:16px;flex-direction:column;gap:.6rem;width:100%;padding:.75rem 1rem;display:flex;box-shadow:0 10px 30px #0006}.header-brand-group{align-items:center;gap:.75rem;display:flex}.blast-back-btn{color:#94a3b8;background:#ffffff12;border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;font-size:1.1rem;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.blast-back-btn:hover{color:#fff;background:#ffffff26;transform:translate(-2px)}.brand-title-wrap{align-items:center;gap:.5rem;display:flex}.brand-icon{font-size:1.5rem;animation:3s ease-in-out infinite alternate iconBob}@keyframes iconBob{0%{transform:translateY(0)rotate(0)}to{transform:translateY(-3px)rotate(5deg)}}.brand-title{letter-spacing:.05em;background:linear-gradient(135deg,#60a5fa,#c084fc,#f472b6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0;font-size:1.15rem;font-weight:900}.brand-subtitle{color:#94a3b8;font-size:.72rem;font-weight:500}.header-stats-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.stat-pill{background:#0a0f1dd9;border:1px solid #ffffff0f;border-radius:10px;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:48px;padding:.35rem .5rem;display:flex}.stat-label{color:#64748b;letter-spacing:.05em;font-size:.65rem;font-weight:700}.score-pill .stat-label{color:#38bdf8}.best-pill .stat-label{color:#fbbf24}.stat-value{color:#f8fafc;font-family:monospace,sans-serif;font-size:1.25rem;font-weight:800;line-height:1.1}.stat-value.score-bump{animation:.25s cubic-bezier(.175,.885,.32,1.275) scoreBump}@keyframes scoreBump{0%{transform:scale(1)}50%{color:#38bdf8;transform:scale(1.22)}to{transform:scale(1)}}.header-actions{gap:.35rem;display:flex}.icon-tool-btn{color:#e2e8f0;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff14;border-radius:10px;justify-content:center;align-items:center;width:38px;height:48px;font-size:1.1rem;transition:all .15s;display:flex}.icon-tool-btn:hover{background:#ffffff1f;transform:translateY(-1px)}.icon-tool-btn:active{transform:translateY(1px)}.mode-select-bar{box-sizing:border-box;background:#0a0f1db3;border:1px solid #ffffff12;border-radius:12px;gap:.5rem;width:100%;padding:4px;display:flex}.mode-tab-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.45rem .6rem;font-size:.82rem;font-weight:700;transition:all .2s;display:flex}.mode-tab-btn:hover{color:#f1f5f9;background:#ffffff0d}.mode-tab-btn.active{color:#fff;background:linear-gradient(135deg,#3b82f64d,#8b5cf64d);border:1px solid #8b5cf699;box-shadow:0 2px 10px #6366f140}.mode-tab-icon{font-size:.95rem}.timed-status-card{box-sizing:border-box;background:#0f172ad9;border:1px solid #f59e0b66;border-radius:12px;flex-direction:column;gap:.35rem;width:100%;padding:.5rem .75rem;animation:.25s fadeInSlide;display:flex;box-shadow:0 4px 15px #f59e0b26}@keyframes fadeInSlide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.timed-info-row{justify-content:space-between;align-items:center;display:flex}.timed-label{color:#fbbf24;align-items:center;gap:.3rem;font-size:.75rem;font-weight:700;display:flex}.timed-clock{color:#f8fafc;letter-spacing:.05em;font-family:monospace,sans-serif;font-size:1.15rem;font-weight:800;transition:color .2s}.timed-clock.danger{color:#ef4444;animation:.5s ease-in-out infinite alternate clockPulse}@keyframes clockPulse{0%{transform:scale(1)}to{text-shadow:0 0 10px #ef4444cc;transform:scale(1.1)}}.timed-track{background:#0006;border:1px solid #ffffff0d;border-radius:9999px;width:100%;height:7px;overflow:hidden}.timed-fill{background:linear-gradient(90deg,#10b981,#f59e0b);border-radius:9999px;height:100%;transition:width .3s,background .3s}.timed-fill.danger{background:linear-gradient(90deg,#f59e0b,#ef4444)}.combo-announcer-area{justify-content:center;align-items:center;width:100%;min-height:38px;display:flex}.combo-badge{background:linear-gradient(135deg,#ef444440,#f59e0b40);border:1px solid #f59e0b73;border-radius:9999px;align-items:center;gap:.4rem;padding:.3rem .9rem;animation:.6s cubic-bezier(.175,.885,.32,1.275) comboPulse;display:flex;box-shadow:0 0 20px #f59e0b4d}@keyframes comboPulse{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.15)}to{transform:scale(1)}}.combo-flame{font-size:1.1rem}.combo-text{color:#fbbf24;letter-spacing:.05em;font-size:.9rem;font-weight:800}.combo-sub{color:#f97316;font-size:.75rem;font-weight:700}.board-arena{justify-content:center;align-items:center;width:100%;display:flex}.board-wrapper{aspect-ratio:1;background:var(--blast-grid-bg);box-sizing:border-box;border:2px solid #ffffff14;border-radius:18px;width:100%;max-width:440px;padding:8px;position:relative;box-shadow:0 20px 45px #00000080,inset 0 0 20px #0009}.board-grid{grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);gap:4px;width:100%;height:100%;display:grid}.grid-cell{background:var(--blast-cell-empty);border:1px solid var(--blast-cell-border);box-sizing:border-box;border-radius:7px;width:100%;height:100%;transition:background-color .12s,transform .12s,box-shadow .12s;position:relative}.grid-cell.filled{border:none;box-shadow:inset 0 2px 3px #fff6,inset 0 -2px 3px #00000059,0 3px 6px #0000004d}.grid-cell.filled[data-color="1"]{background:linear-gradient(145deg, var(--color-1-light), var(--color-1))}.grid-cell.filled[data-color="2"]{background:linear-gradient(145deg, var(--color-2-light), var(--color-2))}.grid-cell.filled[data-color="3"]{background:linear-gradient(145deg, var(--color-3-light), var(--color-3))}.grid-cell.filled[data-color="4"]{background:linear-gradient(145deg, var(--color-4-light), var(--color-4))}.grid-cell.filled[data-color="5"]{background:linear-gradient(145deg, var(--color-5-light), var(--color-5))}.grid-cell.filled[data-color="6"]{background:linear-gradient(145deg, var(--color-6-light), var(--color-6))}.grid-cell.filled[data-color="7"]{background:linear-gradient(145deg, var(--color-7-light), var(--color-7))}.grid-cell.filled[data-color="8"]{background:linear-gradient(145deg, var(--color-8-light), var(--color-8))}.grid-cell.ghost{transform:scale(.96);box-shadow:0 0 12px #ffffff73;background:#ffffff47!important;border:1px solid #fff9!important}.grid-cell.ghost-valid-color-1{border:1px solid var(--color-1-light)!important;background:#06b6d473!important}.grid-cell.ghost-valid-color-2{border:1px solid var(--color-2-light)!important;background:#10b98173!important}.grid-cell.ghost-valid-color-3{border:1px solid var(--color-3-light)!important;background:#3b82f673!important}.grid-cell.ghost-valid-color-4{border:1px solid var(--color-4-light)!important;background:#f59e0b73!important}.grid-cell.ghost-valid-color-5{border:1px solid var(--color-5-light)!important;background:#f43f5e73!important}.grid-cell.ghost-valid-color-6{border:1px solid var(--color-6-light)!important;background:#8b5cf673!important}.grid-cell.ghost-valid-color-7{border:1px solid var(--color-7-light)!important;background:#ec489973!important}.grid-cell.ghost-valid-color-8{border:1px solid var(--color-8-light)!important;background:#eab30873!important}.grid-cell.clearing{animation:.32s cubic-bezier(.1,.9,.2,1) forwards cellClearFlash}@keyframes cellClearFlash{0%{filter:brightness(2)drop-shadow(0 0 8px #fff);transform:scale(1)}50%{filter:brightness(3);opacity:.9;transform:scale(1.15)}to{opacity:0;transform:scale(0)}}.grid-cell.cell-placed{animation:.2s cubic-bezier(.175,.885,.32,1.275) cellSnap}@keyframes cellSnap{0%{transform:scale(.7)}70%{transform:scale(1.08)}to{transform:scale(1)}}.fx-canvas{pointer-events:none;z-index:5;border-radius:18px;width:100%;height:100%;position:absolute;top:0;left:0}.float-text-layer{pointer-events:none;z-index:6;width:100%;height:100%;position:absolute;top:0;left:0}.floating-score{color:#fbbf24;text-shadow:0 2px 8px #000c,0 0 12px #f59e0bb3;font-size:1.3rem;font-weight:900;animation:.8s ease-out forwards floatUp;position:absolute;transform:translate(-50%,-50%)}@keyframes floatUp{0%{opacity:0;transform:translate(-50%)scale(.6)}20%{opacity:1;transform:translate(-50%,-10px)scale(1.2)}to{opacity:0;transform:translate(-50%,-45px)scale(1)}}.dock-container{background:var(--blast-panel-bg);box-sizing:border-box;border:1px solid #ffffff14;border-radius:16px;justify-content:space-between;align-items:center;gap:.5rem;width:100%;min-height:110px;padding:.6rem .5rem;display:flex;box-shadow:0 10px 25px #00000059}.dock-slot{background:#0d132280;border:1px dashed #ffffff0d;border-radius:12px;flex:1;justify-content:center;align-items:center;min-height:94px;display:flex;position:relative}.piece-wrapper{cursor:grab;touch-action:none;user-select:none;gap:3px;transition:transform .2s cubic-bezier(.175,.885,.32,1.275),opacity .2s;display:inline-grid}.piece-wrapper:active{cursor:grabbing}.piece-wrapper.is-dragging-origin{opacity:.15}.piece-wrapper.unplaceable{opacity:.35;filter:grayscale(.7);cursor:not-allowed}.piece-cell{border-radius:5px;box-shadow:inset 0 2px 2px #ffffff59,inset 0 -1.5px 2px #0000004d,0 2px 4px #00000040}.piece-cell[data-color="1"]{background:linear-gradient(145deg, var(--color-1-light), var(--color-1))}.piece-cell[data-color="2"]{background:linear-gradient(145deg, var(--color-2-light), var(--color-2))}.piece-cell[data-color="3"]{background:linear-gradient(145deg, var(--color-3-light), var(--color-3))}.piece-cell[data-color="4"]{background:linear-gradient(145deg, var(--color-4-light), var(--color-4))}.piece-cell[data-color="5"]{background:linear-gradient(145deg, var(--color-5-light), var(--color-5))}.piece-cell[data-color="6"]{background:linear-gradient(145deg, var(--color-6-light), var(--color-6))}.piece-cell[data-color="7"]{background:linear-gradient(145deg, var(--color-7-light), var(--color-7))}.piece-cell[data-color="8"]{background:linear-gradient(145deg, var(--color-8-light), var(--color-8))}.drag-proxy{z-index:100;pointer-events:none;filter:drop-shadow(0 15px 25px #000000a6);gap:4px;transition:opacity 80ms;display:inline-grid;position:fixed;transform:translate(-50%,-50%)}.drag-proxy .piece-cell{border-radius:7px}.blast-modal-overlay{backdrop-filter:blur(12px);z-index:1000;background:#030712d9;justify-content:center;align-items:center;padding:1rem;animation:.3s modalFadeIn;display:flex;position:fixed;inset:0}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.blast-modal-card{text-align:center;background:#0f172a;border:1px solid #ffffff1f;border-radius:20px;width:100%;max-width:380px;padding:2rem 1.5rem;animation:.35s cubic-bezier(.175,.885,.32,1.275) cardZoomIn;box-shadow:0 25px 60px #000000b3}@keyframes cardZoomIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.modal-crown{margin-bottom:.25rem;font-size:2.8rem}.modal-title{color:#f8fafc;letter-spacing:.05em;margin:0;font-size:1.8rem;font-weight:900}.modal-subtitle{color:#94a3b8;margin:.4rem 0 1.5rem;font-size:.88rem}.modal-metrics-grid{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.75rem;display:grid}.modal-metric{background:#1e293b99;border:1px solid #ffffff0f;border-radius:12px;flex-direction:column;align-items:center;padding:.75rem;display:flex}.m-label{color:#64748b;margin-bottom:.25rem;font-size:.75rem;font-weight:600}.m-val{color:#f1f5f9;font-family:monospace,sans-serif;font-size:1.3rem;font-weight:800}.m-val.highlight{color:#38bdf8}.m-val.highlight-amber{color:#fbbf24}.modal-actions{flex-direction:column;gap:.75rem;display:flex}.modal-btn{cursor:pointer;border:none;border-radius:12px;width:100%;padding:.85rem;font-size:1rem;font-weight:700;transition:all .2s}.modal-btn.primary{color:#fff;background:linear-gradient(135deg,#3b82f6,#6366f1);box-shadow:0 4px 15px #3b82f666}.modal-btn.primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f68c}.modal-btn.secondary{color:#cbd5e1;background:#ffffff14;border:1px solid #ffffff14}.modal-btn.secondary:hover{color:#fff;background:#ffffff24}.blast-toast{color:#f8fafc;opacity:0;pointer-events:none;z-index:2000;background:#0f172af2;border:1px solid #38bdf8;border-radius:9999px;padding:.6rem 1.2rem;font-size:.9rem;font-weight:600;transition:transform .25s,opacity .25s;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)translateY(30px);box-shadow:0 10px 25px #00000080}.blast-toast.show{opacity:1;transform:translate(-50%)translateY(0)}.hidden{display:none!important}@media (width<=480px){.blast-main-wrapper{gap:.4rem}.board-wrapper{border-radius:14px;padding:6px}.grid-cell{border-radius:5px}.dock-container{min-height:98px;padding:.4rem .3rem}.dock-slot{min-height:86px}}
