:root,[data-theme=dark]{--bg-primary:#0f0f2e;--bg-board:#1a1a3e;--bg-cell-empty:#2a2a5e;--text-primary:#fff;--text-secondary:#ffffffb3;--cell-gap:6px;--cell-radius:6px;--purple:#9b59b6;--purple-light:#b07cc6;--purple-dark:#7d3c98;--orange:#e67e22;--orange-light:#f0a050;--orange-dark:#c0651a;--yellow:#f1c40f;--yellow-light:#f5d442;--yellow-dark:#d4ac0d;--green:#2ecc71;--green-light:#58d68d;--green-dark:#27ae60;--gray:#95a5a6;--gray-light:#b0bec5;--gray-dark:#7f8c8d;--blue:#3498db;--blue-light:#5dade2;--blue-dark:#2e86c1;--pink:#e91e90;--pink-light:#f06ab0;--pink-dark:#c0187a;--red:#e74c3c;--red-light:#f07070;--red-dark:#c0392b;--teal:#1abc9c;--teal-light:#48d6b8;--teal-dark:#16a085;--lime:#8bc34a;--lime-light:#a8d86e;--lime-dark:#6fa230;--indigo:#5c6bc0;--indigo-light:#7e8ad6;--indigo-dark:#3f51b5}[data-theme=midnight]{--bg-primary:#080818;--bg-board:#101028;--bg-cell-empty:#1a1a40;--text-primary:#e0e0ff;--text-secondary:#e0e0ff99}[data-theme=light]{--bg-primary:#e8e8f0;--bg-board:#c8c8d8;--bg-cell-empty:#b0b0c8;--text-primary:#1a1a2e;--text-secondary:#1a1a2e99}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:var(--bg-primary);width:100%;min-height:100%;color:var(--text-primary);-webkit-user-select:none;user-select:none;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}.navbar{background:var(--bg-board);border-bottom:1px solid var(--border);z-index:50;align-items:center;padding:8px 16px;display:flex;position:sticky;top:0}.navbar__hamburger{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;display:flex}.navbar__hamburger:hover{background:#ffffff14}.navbar__title{color:var(--text);margin-left:12px;font-size:1.1rem;font-weight:700}.navbar__profile{margin-left:auto}.navbar__user{align-items:center;gap:10px;display:flex}.navbar__username{color:var(--text-secondary);font-size:.85rem}.navbar__btn{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:5px 12px;font-size:.8rem;font-weight:600;transition:all .15s}.navbar__btn:hover{border-color:var(--text-secondary);color:var(--text)}.navbar__btn--primary{background:var(--blue);border-color:var(--blue);color:#fff}.navbar__btn--primary:hover{opacity:.85}.side-panel__backdrop{z-index:90;background:#00000080;position:fixed;inset:0}.side-panel{background:var(--bg-board);border-right:1px solid var(--border);z-index:100;flex-direction:column;width:280px;transition:transform .25s;display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.side-panel--open{transform:translate(0)}.side-panel__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px;display:flex}.side-panel__brand{font-size:1.2rem;font-weight:700}.side-panel__close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;display:flex}.side-panel__close:hover{color:var(--text);background:#ffffff14}.side-panel__nav{flex-direction:column;flex:1;gap:2px;padding:8px;display:flex}.side-panel__item{color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;font-size:.95rem;font-weight:500;transition:all .12s;display:flex}.side-panel__item:hover{color:var(--text);background:#ffffff0f}.side-panel__item--active{color:var(--text);background:#ffffff1a;font-weight:600}.side-panel__footer{border-top:1px solid var(--border);padding:16px}.side-panel__user-info{align-items:center;gap:10px;margin-bottom:10px;font-size:.9rem;display:flex}.side-panel__avatar{background:var(--blue);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;font-weight:700;display:flex}.side-panel__signout{border:1px solid var(--border);width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:8px;font-size:.85rem}.side-panel__signout:hover{border-color:var(--text-secondary);color:var(--text)}.side-panel__auth-buttons{flex-direction:column;gap:8px;display:flex}.side-panel__signin{background:var(--blue);color:#fff;cursor:pointer;border:none;border-radius:6px;width:100%;padding:10px;font-size:.85rem;font-weight:600}.side-panel__signin:hover{opacity:.85}.side-panel__signin--secondary{color:var(--text-secondary);background:#ffffff1a}.side-panel__signin--secondary:hover{color:var(--text);background:#ffffff26}.leaderboard{max-width:500px;margin:0 auto;padding:20px 16px}.leaderboard__header{align-items:center;gap:12px;margin-bottom:20px;display:flex}.leaderboard__header h1{margin:0;font-size:1.5rem}.leaderboard__tabs{background:var(--bg-board);border-radius:10px;gap:4px;margin-bottom:16px;padding:4px;display:flex}.leaderboard__tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:8px 12px;font-size:.9rem;font-weight:600;transition:all .15s}.leaderboard__tab--active{color:var(--text);background:#ffffff1a}.leaderboard__tab:hover:not(.leaderboard__tab--active){background:#ffffff0d}.leaderboard__loading,.leaderboard__empty{text-align:center;color:var(--text-secondary);padding:40px 20px}.leaderboard__list{flex-direction:column;gap:4px;display:flex}.leaderboard__row{background:var(--surface);border:1px solid var(--border);border-radius:8px;align-items:center;padding:10px 12px;display:flex}.leaderboard__row--top1{background:#ffdd4414;border-color:#fd4}.leaderboard__row--top2{background:#c0c0c00f;border-color:silver}.leaderboard__row--top3{background:#cd7f320f;border-color:#cd7f32}.leaderboard__rank{width:40px;font-size:1rem;font-weight:700}.leaderboard__player{color:var(--text-secondary);flex:1;font-size:.9rem}.leaderboard__score{font-size:1rem;font-weight:700}.leaderboard-btn{color:#a78bfa;letter-spacing:.04em;cursor:pointer;background:linear-gradient(135deg,#7c3aed1f 0%,#0000 100%);border:2px solid #7c3aed4d;border-radius:14px;justify-content:center;align-items:center;gap:10px;margin-top:28px;padding:14px 32px;font-size:.95rem;font-weight:700;transition:all .25s cubic-bezier(.34,1.56,.64,1);display:flex}.leaderboard-btn:hover{color:#fff;background:linear-gradient(135deg,#7c3aed40 0%,#7c3aed1a 100%);border-color:#7c3aed;transform:translateY(-2px);box-shadow:0 6px 20px #7c3aed33}.leaderboard-btn:active{transform:translateY(0)}.game-loading{height:100%;color:var(--text-secondary);justify-content:center;align-items:center;font-size:18px;display:flex}.menu-container{flex-direction:column;align-items:center;max-width:520px;margin:0 auto;padding:40px 20px 60px;display:flex;position:relative}.menu-deco{opacity:.6;pointer-events:none;background:#7c3aed;border-radius:4px;position:absolute}.menu-deco--tl{width:40px;height:40px;top:20px;left:-10px;box-shadow:50px 30px #7c3aed4d,0 55px #7c3aed33}.menu-deco--tr{width:30px;height:30px;top:10px;right:5px;box-shadow:-40px 15px #7c3aed40,-10px 50px #7c3aed26}.menu-deco--bl{width:25px;height:25px;bottom:80px;left:10px;box-shadow:35px -20px #7c3aed33}.menu-deco--br{opacity:.4;width:35px;height:35px;bottom:40px;right:-5px;box-shadow:-30px -25px #7c3aed4d}.menu-title{-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;margin-bottom:0;line-height:1;display:flex}.menu-title__block{letter-spacing:.15em;color:#fff;text-shadow:0 4px 12px #7c3aed66;font-size:3.2rem;font-weight:900}.menu-title__games{letter-spacing:.2em;-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px 8px #7c3aed4d);background:linear-gradient(135deg,#7c3aed 0%,#a78bfa 50%,#7c3aed 100%);-webkit-background-clip:text;background-clip:text;font-size:4rem;font-weight:900}.menu-subtitle{letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);margin-top:8px;margin-bottom:36px;font-size:.95rem;font-weight:500}.menu-grid{flex-direction:column;gap:14px;width:100%;max-width:400px;display:flex}.game-card{background:linear-gradient(135deg, #7c3aed0f 0%, var(--bg-board) 100%);cursor:pointer;text-align:left;color:var(--text-primary);border:2px solid #7c3aed26;border-radius:16px;align-items:center;gap:18px;padding:14px 16px;transition:all .25s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative;overflow:hidden}.game-card:before{content:"";opacity:0;background:linear-gradient(135deg,#7c3aed1a,#0000 60%);border-radius:14px;transition:opacity .2s;position:absolute;inset:0}.game-card:hover{border-color:#7c3aed;transform:translateY(-3px)scale(1.02);box-shadow:0 8px 24px #7c3aed40,0 0 0 1px #7c3aed1a}.game-card:hover:before{opacity:1}.game-card:active{transform:translateY(-1px)scale(.99)}.game-card--locked{opacity:.5;cursor:not-allowed}.game-card--locked:hover{box-shadow:none;border-color:#0000;transform:none}.game-card__preview{background:#7c3aed14;border:1px solid #7c3aed1f;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:76px;height:76px;padding:8px;display:flex;overflow:hidden}.shapes-preview-grid{grid-template-columns:repeat(3,1fr);gap:3px;width:100%;height:100%;display:grid}.shapes-preview-cell{border-radius:3px}.merge-preview-grid{grid-template-columns:repeat(3,1fr);gap:2px;width:100%;height:100%;display:grid}.merge-preview-cell{color:#fff;background:var(--purple);border-radius:3px;justify-content:center;align-items:center;font-size:8px;font-weight:700;display:flex}.merge-preview-cell[data-value="2"]{background:var(--blue)}.merge-preview-cell[data-value="4"]{background:var(--teal)}.merge-preview-cell[data-value="8"]{background:var(--green)}.merge-preview-cell[data-value="16"]{background:var(--lime)}.merge-preview-cell[data-value="32"]{background:var(--yellow)}.merge-preview-cell[data-value="64"]{background:var(--orange)}.merge-preview-cell[data-value="128"]{background:var(--red)}.merge-preview-cell[data-value="256"]{background:var(--pink)}.merge-preview-cell[data-value="512"]{background:var(--purple)}.game-card__info{z-index:1;flex-direction:column;gap:3px;display:flex;position:relative}.game-card__name{letter-spacing:.02em;font-size:1.15rem;font-weight:800}.game-card__desc{color:var(--text-secondary);font-size:.82rem;font-weight:400}.game-card__tag{color:var(--yellow);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:700}.back-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:6px;transition:color .15s,background-color .15s;display:flex}.back-btn:hover{color:var(--text-primary);background-color:#ffffff1a}.game-container{flex-direction:column;justify-content:space-between;align-items:center;max-width:500px;height:100%;margin:0 auto;padding:16px 8px;display:flex}.top-bar{align-items:center;gap:8px;width:100%;max-width:400px;display:flex}.top-bar .score-display{flex:1;min-width:0}.top-bar .score-display>div{min-width:0;overflow:hidden}.board-wrapper{width:100%;max-width:400px;position:relative}.board{gap:var(--cell-gap);padding:var(--cell-gap);background-color:var(--bg-board);aspect-ratio:1;border-radius:12px;grid-template-columns:repeat(8,1fr);width:100%;max-width:400px;display:grid;box-shadow:0 8px 32px #0006}.score-display{text-align:center;justify-content:space-between;align-items:center;gap:4px;width:100%;max-width:400px;padding:8px 0;display:flex}.score-display>div{flex:1;min-width:0}.score-display__label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);white-space:nowrap;font-family:DM Sans,sans-serif;font-size:clamp(9px,2.5vw,11px);font-weight:600}.score-display__label--main{font-size:clamp(10px,2.8vw,12px)}.score-display__value{font-variant-numeric:tabular-nums;letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-family:Anybody,DM Sans,sans-serif;font-size:clamp(14px,4vw,18px);font-weight:700;overflow:hidden}.score-display__value--main{font-size:clamp(18px,6vw,28px)}.bottom-controls{align-items:center;gap:8px;width:100%;max-width:440px;display:flex}.piece-queue{flex:1;justify-content:center;align-items:center;gap:12px;height:170px;padding:12px 0;display:flex}.piece-slot{cursor:grab;touch-action:none;padding:8px}.piece-slot--empty{width:80px;height:80px}.drag-ghost{pointer-events:none;z-index:50;opacity:.85;will-change:left, top;position:fixed;transform:translate(-50%,-50%)scale(1.1)}.options-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:6px;transition:color .15s,background-color .15s;display:flex}.options-btn:hover{color:var(--text-primary);background-color:#ffffff1a}.options-overlay{z-index:200;background-color:#0009;justify-content:center;align-items:center;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.options-panel{background-color:var(--bg-board);border-radius:16px;width:320px;max-width:90vw;padding:24px;box-shadow:0 12px 40px #00000080}.options-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.options-header h2{font-size:22px;font-weight:700}.options-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:28px;line-height:1}.options-close:hover{color:var(--text-primary)}.options-section{flex-direction:column;gap:16px;margin-bottom:24px;display:flex}.options-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.options-row>span{color:var(--text-secondary);font-size:15px}.options-toggle{border:2px solid var(--text-secondary);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;min-width:60px;padding:6px 16px;font-size:13px;font-weight:700;transition:all .15s}.options-toggle--on{border-color:var(--green);color:var(--green);background:#2ecc711a}.options-slider{width:140px;accent-color:var(--green);cursor:pointer}.options-theme-group{gap:6px;display:flex}.options-theme-btn{border:2px solid var(--text-secondary);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:700;transition:all .15s}.options-theme-btn--active{border-color:var(--blue);color:var(--blue);background:#3498db1a}.options-restart{width:100%;color:var(--text-secondary);cursor:pointer;background-color:#ffffff14;border:none;border-radius:8px;padding:10px;font-size:14px;font-weight:700;transition:all .15s}.options-restart:hover{color:var(--text-primary);background-color:#ffffff26}.options-version{text-align:center;color:var(--text-secondary);opacity:.5;margin-top:12px;font-size:.7rem}.game-over-overlay{-webkit-backdrop-filter:blur(6px);z-index:100;background-color:#000000bf;flex-direction:column;justify-content:center;align-items:center;animation:.3s ease-out fadeIn;display:flex;position:fixed;inset:0}.game-over-panel{text-align:center;background:linear-gradient(170deg, #1e1e46f2 0%, var(--bg-board) 100%);border:1px solid #ffffff0f;border-radius:20px;max-width:90vw;padding:36px 40px;animation:.4s cubic-bezier(.34,1.56,.64,1) panelSlideUp;box-shadow:0 12px 48px #0009,inset 0 1px #ffffff0f}@keyframes panelSlideUp{0%{opacity:0;transform:translateY(30px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.game-over-panel h1{letter-spacing:.02em;margin-bottom:16px;font-family:Anybody,sans-serif;font-size:clamp(28px,8vw,36px);font-weight:900}.game-over-panel__score{margin-bottom:8px;font-family:Anybody,sans-serif;font-size:clamp(20px,6vw,28px);font-weight:700}.game-over-panel__best{color:var(--text-secondary);margin-bottom:12px;font-size:16px}.game-over-panel__crown{color:#fd4;text-shadow:0 0 12px #ffc83299;margin-bottom:4px;font-size:1.1rem;font-weight:800;animation:1.5s ease-in-out infinite crownPulse}@keyframes crownPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.game-over-panel__score--best{color:#fd4;text-shadow:0 0 8px #ffc83266}.game-over-panel__stats{color:var(--text-secondary);justify-content:center;gap:16px;margin-bottom:20px;font-size:.85rem;display:flex}.game-over-panel button{background:linear-gradient(135deg, var(--green) 0%, var(--green-dark) 100%);color:#fff;cursor:pointer;letter-spacing:.03em;border:none;border-radius:10px;padding:12px 36px;font-family:Anybody,DM Sans,sans-serif;font-size:18px;font-weight:700;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 12px #2ecc714d,inset 0 1px #fff3}.game-over-panel button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2ecc7166,inset 0 1px #fff3}.game-over-panel button:active{transform:translateY(0)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scorePop{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}@keyframes comboPulse{0%{transform:scale(1)}50%{color:var(--yellow);transform:scale(1.2)}to{transform:scale(1)}}@keyframes cellClear{0%{filter:brightness();transform:scale(1)}30%{filter:brightness(2);transform:scale(1.2)}to{opacity:0;transform:scale(0)}}@keyframes shake{0%,to{transform:translate(0)}10%{transform:translate(-3px,-2px)}20%{transform:translate(3px,2px)}30%{transform:translate(-2px,3px)}40%{transform:translate(2px,-3px)}50%{transform:translate(-3px,2px)}60%{transform:translate(3px,-2px)}70%{transform:translate(-2px,-3px)}80%{transform:translate(2px,3px)}90%{transform:translate(-3px,-2px)}}.board--shaking{animation:.2s ease-out shake}.cell--clearing{animation:.3s ease-out forwards cellClear}.score--popping{animation:.3s ease-out scorePop}.combo--pulsing{text-shadow:0 0 12px #f1c40f80;animation:.3s ease-out comboPulse}.bomb-btn{cursor:pointer;background:linear-gradient(135deg,#ff66440f 0%,#ff3c1e05 100%);border:2px solid #ff664440;border-radius:14px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;transition:all .2s;display:flex;box-shadow:0 2px 8px #00000026}.bomb-btn:hover{background:#ff66441f;border-color:#f64;transform:translateY(-1px);box-shadow:0 4px 16px #f643}.bomb-btn--active{background:#f643;border-color:#f64;animation:.8s ease-in-out infinite bombPulse;box-shadow:0 0 16px #ff664480}.bomb-btn__icon{filter:drop-shadow(0 1px 2px #0000004d);font-size:1.4rem;line-height:1}.bomb-btn__count{color:#f64c;margin-top:1px;font-family:Anybody,DM Sans,sans-serif;font-size:.7rem;font-weight:700}.bomb-ghost{opacity:.9;font-size:2rem}@keyframes bombPulse{0%,to{box-shadow:0 0 8px #ff66444d}50%{box-shadow:0 0 24px #f649,0 0 48px #ff664426}}.bomb-row{justify-content:center;align-items:center;gap:12px;display:flex}.merge-board--bomb{outline-offset:2px;border-radius:16px;outline:2px solid #ff664480;animation:1.2s ease-in-out infinite boardBombGlow}@keyframes boardBombGlow{0%,to{outline-color:#ff66444d}50%{outline-color:#ff6644b3}}.merge-cell--bomb-target{z-index:2;transform:scale(1.05);cursor:crosshair!important;background:#ff664459!important;box-shadow:inset 0 0 0 2px #f64,0 0 12px #f646!important}.affirmations-layer{pointer-events:none;z-index:60;position:absolute;inset:0;overflow:hidden}.affirmation{color:#fff;text-align:center;word-break:break-word;text-shadow:0 0 8px #ffc832cc,0 0 20px #ff960080,0 2px 4px #0009;white-space:nowrap;letter-spacing:.04em;max-width:70%;font-family:Anybody,DM Sans,sans-serif;font-size:clamp(1rem,4vw,1.4rem);font-weight:800;animation:1.2s ease-out forwards affirmationPop;position:absolute;transform:translate(-50%,-50%)}.affirmation--big{color:#fd4;text-shadow:0 0 12px #ffc832e6,0 0 30px #ff640099,0 2px 6px #000000b3;font-size:1.8rem}.affirmation--huge{color:#f64;text-shadow:0 0 16px #ff6432,0 0 40px #ff3200cc,0 0 60px #ffc80066,0 2px 8px #000c;font-size:2.4rem}@keyframes affirmationPop{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)}15%{opacity:1;transform:translate(-50%,-50%)scale(1.2)}30%{transform:translate(-50%,-50%)scale(1)}70%{opacity:1;transform:translate(-50%,-60%)scale(1)}to{opacity:0;transform:translate(-50%,-120%)scale(.8)}}.replay-view .board-wrapper{flex:1 1 0;justify-content:center;align-items:center;min-height:0;display:flex}.replay-view .board{max-height:100%}.replay-badge{text-align:center;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-shrink:0;padding:4px 12px;font-size:.8rem;font-weight:600}.replay-controls{flex-shrink:0;justify-content:center;align-items:center;gap:8px;width:100%;max-width:400px;padding:12px 0;display:flex}.replay-btn{border:1px solid var(--border);background:var(--surface);width:44px;height:44px;color:var(--text);cursor:pointer;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;transition:all .12s;display:flex}.replay-btn:hover:not(:disabled){border-color:var(--text-secondary);background:#ffffff0d}.replay-btn:disabled{opacity:.3;cursor:default}.replay-btn--play{border-color:var(--green);width:48px;height:48px}.replay-btn--active{border-color:var(--green);background:#4caf5026}.replay-label{color:var(--text-secondary);text-align:center;flex-shrink:1;min-width:90px;font-size:.8rem;font-weight:600}.game-over-panel__actions{flex-direction:column;gap:8px;margin-top:8px;display:flex}.btn--secondary{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;padding:8px 16px;font-size:.9rem}.btn--secondary:hover{border-color:var(--text-secondary);color:var(--text)}.merge-board{background:var(--bg-board);aspect-ratio:1;border-radius:14px;grid-template-columns:repeat(5,1fr);gap:6px;width:100%;padding:8px;display:grid;box-shadow:inset 0 2px 8px #0000004d,0 4px 20px #00000040}.merge-cell{color:#fff;text-shadow:0 1px 3px #0006;cursor:pointer;aspect-ratio:1;-webkit-user-select:none;user-select:none;border-radius:8px;justify-content:center;align-items:center;font-family:Anybody,DM Sans,sans-serif;font-size:clamp(.85rem,3.5vw,1.2rem);font-weight:800;transition:transform .12s,background-color .2s,box-shadow .2s;display:flex;position:relative;box-shadow:inset 0 1px #fff3,inset 0 -2px #00000026,0 2px 4px #0003}.merge-cell--empty{background:var(--bg-cell-empty);box-shadow:inset 0 2px 6px #0003}.merge-cell--empty:hover{background:#ffffff1f}.merge-cell--col-hover{background:#ffffff0f}.merge-cell--merging{z-index:2;animation:.4s cubic-bezier(.34,1.56,.64,1) mergePop}.merge-cell--dropping{animation:.25s cubic-bezier(.25,.46,.45,.94) cellDrop}@keyframes mergePop{0%{opacity:.4;transform:scale(.4)}40%{opacity:1;transform:scale(1.3);box-shadow:inset 0 1px #ffffff4d,0 0 20px #fff3}60%{transform:scale(.92)}75%{transform:scale(1.06)}90%{transform:scale(.98)}to{transform:scale(1)}}@keyframes cellDrop{0%{transform:translateY(calc(-100% * var(--drop-distance,3) - 20px));opacity:.7}60%{opacity:1;transform:translateY(4px)}80%{transform:translateY(-2px)}to{transform:translateY(0)}}.next-queue{justify-content:center;align-items:center;gap:12px;padding:16px 0;display:flex}.next-queue__tile{color:#fff;text-shadow:0 1px 2px #0000004d;opacity:.4;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;font-family:Anybody,DM Sans,sans-serif;font-size:.9rem;font-weight:800;transition:all .2s;display:flex;box-shadow:inset 0 1px #ffffff26,inset 0 -2px #0000001a}.next-queue__tile--current{opacity:1;width:60px;height:60px;font-size:1.3rem;animation:2s ease-in-out infinite queuePulse;box-shadow:inset 0 1px #ffffff40,inset 0 -2px #00000026,0 0 16px #ffffff26,0 4px 12px #0000004d}@keyframes queuePulse{0%,to{transform:scale(1);box-shadow:inset 0 1px #ffffff40,inset 0 -2px #00000026,0 0 16px #ffffff26,0 4px 12px #0000004d}50%{transform:scale(1.06);box-shadow:inset 0 1px #ffffff4d,inset 0 -2px #00000026,0 0 24px #ffffff40,0 4px 16px #0000004d}}.level-up-panel{animation:.6s cubic-bezier(.34,1.56,.64,1) levelUpPop;background:linear-gradient(170deg, #32280af2 0%, var(--bg-board) 100%)!important;border-color:#ffdd4426!important}.level-up-panel h1{color:#fd4;text-shadow:0 0 20px #ffc83299,0 0 60px #ffc83233;letter-spacing:.06em;font-family:Anybody,sans-serif;font-size:clamp(2rem,8vw,2.8rem);font-weight:900}.level-up-message{margin-bottom:8px;font-size:1.15rem}.level-up-value{color:#f64;text-shadow:0 0 8px #f646;font-family:Anybody,sans-serif;font-weight:800}.level-up-sub{color:var(--text-secondary);font-size:.9rem}.level-up-tap{color:var(--text-secondary);opacity:.6;margin-top:16px;font-size:.8rem;animation:1.5s ease-in-out infinite tapPulse}@keyframes tapPulse{0%,to{opacity:.4}50%{opacity:.8}}@keyframes levelUpPop{0%{opacity:0;transform:scale(.5)}60%{opacity:1;transform:scale(1.1)}to{transform:scale(1)}}.hex-board{--hex-w:58px;--hex-h:calc(var(--hex-w) * 1.155);--hex-row-h:calc(var(--hex-h) * .75);width:calc(6 * var(--hex-w));height:calc(4 * var(--hex-row-h) + var(--hex-h) + 24px);perspective:800px;background:radial-gradient(at 50% 40%,#ffffff0a 0%,#0000 70%);border-radius:24px;margin:0 auto;padding:20px;position:relative}.hex-cell-pos{width:var(--hex-w);height:var(--hex-h);position:absolute}.hex-cell{cursor:pointer;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);width:100%;height:100%;transition:transform .2s cubic-bezier(.34,1.56,.64,1),filter .2s;position:relative}.hex-cell--empty{clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);background:linear-gradient(#00000026 0%,#ffffff08 50%,#0000001a 100%)}.hex-cell--filled{clip-path:none;transform-style:preserve-3d;overflow:visible}.hex-cell--filled:after{content:"";clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);z-index:100;position:absolute;inset:0}.hex-disc{left:0;top:var(--disc-depth,0px);clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);background:linear-gradient(180deg, var(--disc-edge) 0%, color-mix(in srgb, var(--disc-edge), black 30%) 60%, color-mix(in srgb, var(--disc-edge), black 50%) 100%);width:100%;height:100%;transform:translateZ(calc(var(--disc-depth,0px) * -.5));transition:top .25s,transform .3s cubic-bezier(.34,1.56,.64,1);position:absolute}.hex-disc--top{background: radial-gradient(ellipse at 35% 25%, #ffffff73 0%, #ffffff1a 30%, transparent 55%),  linear-gradient(175deg, var(--disc-border) 0%, var(--disc-face) 25%, var(--disc-face) 60%, color-mix(in srgb, var(--disc-face), var(--disc-edge) 40%) 85%, var(--disc-edge) 100%);filter:drop-shadow(0 2px 2px #0000004d)}.merge-overlay{pointer-events:none;z-index:80;position:absolute;inset:0}.merge-fly-disc{width:calc(var(--hex-w) * .6);height:calc(var(--hex-w) * .6);filter:blur(1px);border-radius:50%;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 12px}.merge-glow{width:calc(var(--hex-w) * .8);height:calc(var(--hex-w) * .8);filter:blur(8px);border-radius:50%;position:absolute;transform:translate(-50%,-50%)}@media (width<=420px){.hex-board{--hex-w:48px}}.tile-queue{justify-content:center;align-items:flex-end;gap:20px;padding:20px 16px;display:flex}.tile-queue__tile{opacity:.4;transition:all .25s cubic-bezier(.34,1.56,.64,1);transform:scale(.72)}.tile-queue__tile--current{opacity:1;transform:scale(1)}.tile-queue__hex-stack{width:50px;height:71.75px;position:relative}.tile-queue__hex-disc{left:0;top:var(--disc-depth,0px);clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);background:linear-gradient(180deg, var(--disc-edge) 0%, color-mix(in srgb, var(--disc-edge), black 35%) 100%);width:100%;height:57.75px;position:absolute}.tile-queue__hex-disc--top{background:radial-gradient(ellipse at 35% 25%, #fff6 0%, transparent 50%), linear-gradient(175deg, color-mix(in srgb, var(--disc-face), white 12%) 0%, var(--disc-face) 30%, var(--disc-edge) 100%);filter:drop-shadow(0 2px 2px #00000040)}.hex-preview-grid{--pw:20px;--ph:calc(var(--pw) * 1.155);--pr:calc(var(--ph) * .75);width:calc(6 * var(--pw));height:calc(4 * var(--pr) + var(--ph));margin:0 auto;position:relative}.hex-preview-cell{width:var(--pw);height:var(--ph);clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);position:absolute}:root{--cw-rose:#f43f5e;--cw-sky:#38bdf8;--cw-amber:#f59e0b;--cw-mint:#34d399;--cw-violet:#a78bfa;--cw-bg:#1a0a2e;--cw-board:#2a1a44;--cw-empty:#3a2a54;--cw-strip-h:56px}.claire-strip{height:var(--cw-strip-h);flex-shrink:0;align-items:center;gap:10px;padding:0 12px;display:flex}@keyframes claire-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes claire-manic-pulse{0%,to{box-shadow:0 0 0 2px var(--cw-rose)}50%{box-shadow:0 0 12px 4px var(--cw-rose)}}.claire-avatar{background:linear-gradient(135deg, var(--cw-violet), var(--cw-rose));border-radius:50%;flex-shrink:0;width:40px;height:40px;animation:2.8s ease-in-out infinite claire-bounce;position:relative;overflow:hidden;box-shadow:0 2px 8px #a78bfa66}.claire-avatar--manic{animation:1.2s ease-in-out infinite claire-bounce,.8s ease-in-out infinite claire-manic-pulse}.claire-avatar__face{flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:absolute;inset:0}.claire-avatar__eyes{align-items:center;gap:6px;display:flex}.claire-avatar__eye{background:#fff;border-radius:50%;width:5px;height:5px;transition:all .2s}.claire-avatar__mouth{border-bottom:2.5px solid #ffffffe6;border-left:1.5px solid #0000;border-right:1.5px solid #0000;border-radius:0 0 10px 10px;width:12px;height:5px;transition:all .2s}.claire-avatar--happy .claire-avatar__eye{background:#fff;border-radius:4px 4px 0 0;width:6px;height:3px}.claire-avatar--happy .claire-avatar__mouth{border-radius:0 0 14px 14px;width:14px;height:6px}.claire-avatar--excited .claire-avatar__eye{clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);background:radial-gradient(circle,#fff 40%,#0000 40%),radial-gradient(circle at 50% 0,#fff 10%,#0000 10%),radial-gradient(circle at 50% 100%,#fff 10%,#0000 10%),radial-gradient(circle at 0%,#fff 10%,#0000 10%),radial-gradient(circle at 100%,#fff 10%,#0000 10%);border-radius:0;width:6px;height:6px}.claire-avatar--excited .claire-avatar__mouth{background:#ffffffd9;border-bottom-width:0;border-radius:0 0 8px 8px;width:14px;height:7px}.claire-avatar--manic .claire-avatar__eye{background:#fff;border-radius:50%;width:7px;height:7px;box-shadow:0 0 4px #fffc}.claire-avatar--manic .claire-avatar__mouth{background:#ffffffe6;border-bottom-width:0;border-radius:0 0 16px 16px;width:16px;height:8px}.claire-avatar--annoyed .claire-avatar__eye{background:#ffffffe6;border-radius:2px;width:8px;height:2px}.claire-avatar--annoyed .claire-avatar__mouth{border-bottom-width:2.5px;border-radius:0;width:12px;height:0}.claire-bubble{color:var(--text-primary);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;pointer-events:none;background:#ffffff1f;border:1px solid #fff3;border-radius:12px;max-width:220px;padding:6px 10px;font-size:12px;line-height:1.4;transition:opacity .2s,transform .2s;position:relative;transform:translate(-4px)scale(.97)}.claire-bubble--visible{opacity:1;transform:translate(0)scale(1)}.claire-bubble--hiding{opacity:0;transform:translate(-4px)scale(.97)}.claire-bubble:before{content:"";border:7px solid #0000;border-left:0;border-right-color:#fff3;position:absolute;top:50%;left:-7px;transform:translateY(-50%)}.claire-bubble__cursor{color:var(--cw-violet);margin-left:1px;animation:.7s step-end infinite claire-cursor-blink;display:inline-block}@keyframes claire-cursor-blink{0%,to{opacity:1}50%{opacity:0}}.claire-board{aspect-ratio:1;background:var(--bg-board);transform-origin:50% 65%;border-radius:12px;grid-template-rows:repeat(6,1fr);grid-template-columns:repeat(6,1fr);gap:5px;width:100%;padding:8px;display:grid;transform:perspective(800px)rotateX(15deg);box-shadow:0 8px 32px #00000080}.claire-cell{cursor:pointer;aspect-ratio:1;border-radius:6px;transition:filter .12s,box-shadow .12s;animation:.3s cubic-bezier(.34,1.56,.64,1) both claire-drop-in;position:relative}@keyframes claire-drop-in{0%{opacity:0;transform:translateY(-30%)scale(.8)}to{opacity:1;transform:translateY(0)scale(1)}}.claire-cell:hover:not(.claire-cell--empty){filter:brightness(1.2);box-shadow:0 0 0 2px #fff6}.claire-cell:active:not(.claire-cell--empty){filter:brightness(.9)}.claire-cell--empty{background:var(--bg-cell-empty);cursor:default;box-shadow:inset 0 2px 4px #0000004d}.claire-cell--highlighted{animation:1s ease-in-out infinite alternate claire-glow-pulse;box-shadow:0 0 0 2px #fffc,0 0 12px 4px #a78bfa99}@keyframes claire-glow-pulse{0%{box-shadow:0 0 0 2px #ffffffb3,0 0 8px 2px #a78bfa66}to{box-shadow:0 0 0 2px #fff,0 0 18px 6px #a78bfacc}}.claire-cell--obstacle{cursor:not-allowed;opacity:.7;background:repeating-linear-gradient(45deg,#555 0 4px,#444 4px 8px);border-radius:6px}.claire-score-area{flex-direction:column;align-items:center;gap:2px;display:flex}.claire-score{font-variant-numeric:tabular-nums;letter-spacing:-.5px;color:var(--cw-violet);text-shadow:0 0 12px #a78bfa80;font-size:22px;font-weight:700}.claire-high-score{color:var(--text-secondary);font-size:11px}.claire-bottom-controls{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:8px 16px;display:flex}.claire-streak{color:var(--cw-amber);white-space:nowrap;font-size:13px;font-weight:700}.claire-multiplier-label{color:var(--cw-violet);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.claire-mode-indicator{letter-spacing:.3px;text-transform:capitalize;white-space:nowrap;border:1px solid #0000;border-radius:20px;padding:5px 14px;font-size:12px;font-weight:600;transition:background-color .3s,color .3s}.claire-mode-indicator--sky{color:var(--cw-sky);background:#38bdf833;border-color:#38bdf880}.claire-mode-indicator--violet{color:var(--cw-violet);background:#a78bfa33;border-color:#a78bfa80}.claire-mode-indicator--mint{color:var(--cw-mint);background:#34d39933;border-color:#34d39980}.claire-mode-indicator--rose{color:var(--cw-rose);background:#f43f5e33;border-color:#f43f5e80}.claire-mode-indicator--amber{color:var(--cw-amber);background:#f59e0b33;border-color:#f59e0b80}.claire-mood-bar{background:#ffffff1f;border-radius:2px;flex-shrink:0;width:100px;height:4px;position:relative;overflow:visible}.claire-mood-bar__fill{background:linear-gradient(to right, #888 0%, var(--cw-sky) 25%, var(--cw-mint) 50%, var(--cw-amber) 75%, var(--cw-rose) 100%);border-radius:2px;height:100%;transition:width .4s cubic-bezier(.34,1.56,.64,1)}@keyframes claire-mood-pulse{0%,to{box-shadow:0 0 4px 1px #f43f5e99}50%{box-shadow:0 0 10px 4px #f43f5ee6}}.claire-mood-bar__fill--pulse{animation:.6s ease-in-out infinite claire-mood-pulse}.claire-mood-bar__label{color:var(--text-secondary);white-space:nowrap;font-size:11px;font-weight:600;position:absolute;top:50%;right:-36px;transform:translateY(-50%)}.claire-game-over-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background:#0a0514e0;justify-content:center;align-items:center;animation:.3s fade-in;display:flex;position:absolute;inset:0}.claire-game-over-panel{text-align:center;background:linear-gradient(160deg,#2a1a44f2 0%,#1a0a2ef2 100%);border:1px solid #a78bfa4d;border-radius:20px;width:90%;max-width:300px;padding:28px 32px;box-shadow:0 8px 48px #0009,0 0 40px #a78bfa1a}.claire-game-over-panel__flavor{color:var(--cw-violet);opacity:.9;margin-bottom:8px;font-size:13px;font-style:italic}.claire-game-over-panel__title{color:var(--text-primary);letter-spacing:-.5px;margin-bottom:12px;font-size:28px;font-weight:800}.claire-game-over-panel__new-best{color:var(--cw-amber);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;font-size:13px;font-weight:700}.claire-game-over-panel__score{font-variant-numeric:tabular-nums;color:var(--text-primary);margin-bottom:6px;font-size:36px;font-weight:800}.claire-game-over-panel__score--best{color:var(--cw-amber);text-shadow:0 0 20px #f59e0b99}.claire-game-over-panel__high-score{color:var(--text-secondary);margin-bottom:20px;font-size:13px}.claire-game-over-panel__actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.claire-btn{cursor:pointer;border:none;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:600;transition:transform .15s,box-shadow .15s,background .15s}.claire-btn:active{transform:scale(.96)}.claire-btn--primary{background:linear-gradient(135deg, var(--cw-violet), var(--cw-rose));color:#fff;box-shadow:0 4px 14px #a78bfa66}.claire-btn--primary:hover{box-shadow:0 6px 20px #a78bfa99}.claire-btn--secondary{color:var(--text-secondary);background:#ffffff1a;border:1px solid #ffffff26}.claire-btn--secondary:hover{color:var(--text-primary);background:#ffffff26}@keyframes claire-cell-wave{0%{opacity:1;transform:scale(1)}40%{opacity:0;transform:scale(0)}70%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.claire-board--transitioning .claire-cell{animation:.6s ease-in-out both claire-cell-wave}.claire-board--transitioning .claire-cell:nth-child(n){animation-delay:calc(var(--cell-idx,0) * 25ms)}.game-card--claire{background:linear-gradient(135deg,#321450e6 0%,#50143ce6 100%);border:1px solid #a78bfa59;box-shadow:0 4px 20px #a78bfa26}.game-card--claire:hover{border-color:#a78bfa99;box-shadow:0 8px 30px #a78bfa4d}.game-card__preview--claire{background:linear-gradient(160deg,#2a0a46b3 0%,#460a32b3 100%);justify-content:center;align-items:center;gap:10px;display:flex}.claire-card-avatar{background:linear-gradient(135deg, var(--cw-violet), var(--cw-rose));border-radius:50%;flex-shrink:0;width:36px;height:36px;animation:2.8s ease-in-out infinite claire-bounce;position:relative;box-shadow:0 2px 8px #a78bfa80}.claire-card-avatar__face{flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:absolute;inset:0}.claire-card-avatar__eyes{gap:5px;display:flex}.claire-card-avatar__eye{background:#fff;border-radius:50%;width:4px;height:4px}.claire-card-avatar__mouth{border-bottom:2px solid #ffffffe6;border-radius:0 0 8px 8px;width:10px;height:4px}.claire-card-bubble{color:#ffffffd9;white-space:nowrap;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;padding:4px 8px;font-size:11px;font-style:italic;position:relative}.claire-card-bubble:before{content:"";border:6px solid #0000;border-left:0;border-right-color:#fff3;position:absolute;top:50%;left:-6px;transform:translateY(-50%)}
