:root{color:#fff7df;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#07111f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#07111f;overflow:hidden}body{overscroll-behavior:none;min-width:320px;height:100svh;margin:0;overflow:hidden}button,input,textarea,select{font:inherit}button{-webkit-tap-highlight-color:transparent}#root{height:100svh;overflow:hidden}:root{--page-bg:#405d9d;--card-bg:#405d9d;--panel-bg:#11182733;--panel-deep:#11182747;--panel-soft:#ffffff14;--text-main:#f8fafc;--text-muted:#f8fafca3;--line-soft:#ffffff1a;--line-strong:#ffffff29;--board-outer:#3b2a20;--board-inner:#513727;--cell-empty:#152038;--accent:#f0b43c;--accent-text:#211505;--accent-dark:#9b6120;--cyan:#80deea;--green:#5ee08a;--danger:#db5364;--tg-safe-area-top:0px;--tg-safe-area-right:0px;--tg-safe-area-bottom:0px;--tg-safe-area-left:0px;--tg-content-safe-area-top:0px;--tg-content-safe-area-right:0px;--tg-content-safe-area-bottom:0px;--tg-content-safe-area-left:0px}.app-shell{background:var(--page-bg);height:100svh;color:var(--text-main);padding:clamp(16px,3vw,42px);overflow:hidden}.app-shell--telegram{padding:0}.game-card{border:1px solid color-mix(in srgb, var(--text-main) 8%, transparent);background:var(--card-bg);max-width:1280px;height:calc(100svh - clamp(32px,6vw,84px));box-shadow:none;border-radius:28px;margin:0 auto;animation:.36s ease-out both shell-enter;position:relative;overflow:hidden}.app-shell--telegram .game-card{min-height:100svh;box-shadow:none;border:0;border-radius:0}.topbar,.game-layout{z-index:1;position:relative}.topbar{justify-content:space-between;align-items:center;gap:24px;padding:clamp(16px,2.4vw,26px);display:flex}.brand{align-items:center;gap:16px;display:flex}.brand p,.metric-card span,.combo-card span,.eyebrow,.tray-heading,.stat-item span,.tips-card span,.status-card>span{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.76rem;font-weight:700}.brand h1{color:var(--text-main);letter-spacing:-.045em;text-transform:uppercase;margin:2px 0 0;font-size:clamp(1.55rem,3vw,3rem);line-height:.98}.brand-mark{border:1px solid var(--line-strong);background:var(--panel-bg);border-radius:14px;grid-template-columns:repeat(2,20px);gap:5px;padding:10px;display:grid;box-shadow:inset 0 0 0 1px #ffffff0a}.brand-mark span{aspect-ratio:1;background:#f0b43c;border-radius:3px;animation:1.8s ease-in-out infinite logo-tile;box-shadow:inset 0 3px #ffffff47,inset 0 -4px #0000002e}.brand-mark span:nth-child(2){background:#3498db;animation-delay:.12s}.brand-mark span:nth-child(3){background:#4cc27c;animation-delay:.24s}.brand-mark span:nth-child(4){background:#e05268;animation-delay:.36s}.topbar-actions,.status-actions{align-items:center;gap:12px;display:flex}.mobile-tabs,.mobile-score-strip{display:none}.telegram-badge{border:1px solid var(--line-soft);background:var(--panel-bg);max-width:180px;min-height:46px;box-shadow:none;border-radius:999px;justify-content:center;gap:2px;padding:7px 16px;display:grid}.telegram-badge span{color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;font-size:.62rem;font-weight:900}.telegram-badge strong{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;line-height:1.05;overflow:hidden}.primary-button,.soft-button{min-height:42px;font:inherit;cursor:pointer;border:0;border-radius:999px;padding:0 20px;font-size:.95rem;font-weight:800;transition:transform .15s,box-shadow .15s,border-color .15s,opacity .15s}.primary-button{color:var(--accent-text);background:var(--accent);box-shadow:0 10px 24px #00000024}.soft-button{border:1px solid var(--line-strong);color:var(--text-main);background:var(--panel-bg);box-shadow:none}.soft-button--danger{border-color:color-mix(in srgb, var(--danger) 54%, transparent);color:#ffd7dd}.primary-button:hover,.soft-button:hover,.tray-piece:hover:not(:disabled){transform:translateY(-1px)}.primary-button:active,.soft-button:active{box-shadow:none;transform:translateY(1px)}.primary-button:focus-visible,.soft-button:focus-visible,.tray-piece:focus-visible,.board-cell:focus-visible{outline-offset:3px;outline:3px solid #80deeabd}.primary-button:disabled,.soft-button:disabled{cursor:not-allowed;opacity:.48;transform:none}.game-layout{grid-template-columns:minmax(160px,210px) minmax(410px,540px) minmax(220px,280px);align-items:start;gap:clamp(14px,2.2vw,24px);max-height:calc(100% - 112px);padding:0 clamp(22px,3vw,34px) clamp(24px,3.2vw,38px);display:grid;overflow:hidden}.score-rail,.rules-panel,.tray-panel{border:1px solid var(--line-soft);background:var(--panel-bg);box-shadow:none;contain:layout paint style;border-radius:24px}.score-rail,.rules-panel{gap:14px;max-height:100%;display:grid;overflow:hidden}.metric-card,.combo-card,.live-note,.panel-section,.tips-card,.leaderboard-card{border:1px solid var(--line-soft);background:var(--panel-deep);box-shadow:none;border-radius:20px}.metric-card{padding:16px;animation:.3s ease-out both panel-in}.metric-card strong{letter-spacing:-.06em;margin-top:8px;font-size:clamp(1.65rem,3.2vw,2.6rem);line-height:.95;animation:.22s ease-out both number-pop;display:block}.metric-card--gold strong{color:var(--accent)}.metric-card--cyan strong{color:var(--cyan)}.combo-card{padding:16px}.combo-card>div:first-child{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.combo-card strong{color:var(--text-main);font-size:1.55rem;line-height:1}.combo-card p,.panel-section p,.tips-card p,.status-card p{color:#d1d9e6;margin:10px 0 0;font-size:.94rem;line-height:1.55}.meter{background:#344055;border-radius:999px;height:10px;margin-top:14px;overflow:hidden;box-shadow:inset 0 2px 4px #0000003d}.meter span{border-radius:inherit;background:var(--accent);height:100%;transition:width .22s;display:block;box-shadow:inset 0 -2px #0000002e}.live-note{gap:4px;padding:16px;animation:.28s ease-out both live-bump;display:grid}.live-note strong{color:var(--green);font-size:1.7rem}.live-note span{color:var(--text-muted);font-size:.95rem}.play-area{min-width:0}.board-meta{color:var(--text-muted);justify-content:space-between;gap:12px;margin:0 8px 12px;font-size:.86rem;font-weight:800;display:flex}.board-frame{box-shadow:none;contain:layout paint style;background:#0a102357;border:1px solid #ffffff17;border-radius:22px;padding:clamp(6px,1.1vw,10px);position:relative}.board-frame--combo{will-change:transform;animation:.26s ease-out both board-nudge}.board-frame--clear-kick{will-change:transform;animation:.26s ease-out both board-clear-kick}.board-frame--locked{border-color:color-mix(in srgb, var(--danger) 52%, transparent);box-shadow:0 18px 42px #0000002e, 0 0 0 5px color-mix(in srgb, var(--danger) 10%, transparent), 0 0 34px color-mix(in srgb, var(--danger) 18%, transparent)}.board-frame--game-over{will-change:transform;animation:.88s cubic-bezier(.18,.84,.24,1) both board-game-over}.board{aspect-ratio:1;touch-action:none;contain:layout paint;background:#1c2544;border:1px solid #0003;border-radius:14px;grid-template-columns:repeat(8,1fr);gap:0;width:min(100%,500px,100svh - 300px);min-width:280px;margin:0 auto;padding:0;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff08}.board:after{z-index:8;pointer-events:none;content:"";position:absolute;inset:0}.board-frame--locked .board:after{background:radial-gradient(circle,#0000 34%,#db53643d),linear-gradient(#ffffff0d,#0000 22% 78%,#00000038);animation:.9s ease-out both board-lock-flash}.board-cell{background:var(--cell-empty);min-width:0;box-shadow:none;cursor:pointer;border:1px solid #090e1f33;border-radius:0;transition:transform .13s,background-color .13s,box-shadow .13s;position:relative;overflow:hidden}.board-cell:not(:disabled):hover{transform:scale(.96)}.board-cell:disabled{cursor:default}.cell-fill,.cell-flash{border-radius:inherit;pointer-events:none;position:absolute;inset:-1px}.cell-fill{background:linear-gradient(135deg, var(--block-edge) 0 16%, var(--block-facet) 16% 35%, var(--block-color) 35% 64%, color-mix(in srgb, var(--block-color) 78%, var(--block-shade) 22%) 64% 80%, var(--block-shade) 80% 100%);box-shadow:inset 0 0 0 1px #ffffff29, inset 0 5px 0 color-mix(in srgb, var(--block-edge) 80%, white 8%), inset 5px 0 0 color-mix(in srgb, var(--block-facet) 74%, white 5%), inset -5px 0 0 color-mix(in srgb, var(--block-shade) 82%, black 5%), inset 0 -6px 0 var(--block-shade);will-change:transform, opacity;overflow:hidden}.cell-fill--placed{animation:.22s cubic-bezier(.2,.95,.28,1.18) both tile-drop}.cell-fill:before,.cell-fill:after{content:"";pointer-events:none;position:absolute}.cell-fill:before{background:color-mix(in srgb, var(--block-edge) 82%, white 10%);opacity:.68;border-radius:0;height:16%;inset:14% 16% auto}.cell-fill:after{border:1px solid color-mix(in srgb, var(--block-edge) 40%, transparent);background:color-mix(in srgb, var(--block-color) 72%, var(--block-edge) 18%);box-shadow:inset 0 -4px 0 color-mix(in srgb, var(--block-shade) 64%, transparent);opacity:.78;border-radius:0;inset:22%}.cell-fill--clearing{z-index:4;animation:.64s cubic-bezier(.14,.88,.22,1) forwards tile-clear}.board-cell--preview:not(.board-cell--filled) .cell-fill{opacity:.5;animation:.78s ease-in-out infinite preview-pulse;transform:scale(.96)}.board-cell--invalid{background:#321924;box-shadow:inset 0 0 0 2px #db536480}.board-cell--invalid .cell-fill{opacity:.42}.app-shell--game-over .board-cell{background:color-mix(in srgb, var(--cell-empty) 82%, #1f0b14 18%)}.app-shell--game-over .board-cell--filled .cell-fill{animation:.98s cubic-bezier(.2,.9,.22,1) both tile-game-over}.app-shell--game-over .board-cell:nth-child(3n) .cell-fill{animation-delay:34ms}.app-shell--game-over .board-cell:nth-child(4n) .cell-fill{animation-delay:70ms}.app-shell--game-over .board-meta span:last-child{color:#ffd7dd}.app-shell--game-over .tray-piece--blocked{border-color:color-mix(in srgb, var(--danger) 50%, transparent);opacity:.62;animation:.56s ease-out both tray-blocked-jolt}.effects-layer{z-index:7;pointer-events:none;contain:layout paint;position:absolute;inset:0;overflow:visible}.particle{left:var(--particle-left);top:var(--particle-top);width:var(--particle-size);height:var(--particle-size);background:var(--particle-color);box-shadow:inset 0 -2px 0 var(--particle-shade), 0 0 10px #fff4d847;animation:particle-burst var(--particle-duration) ease-out forwards;animation-delay:var(--particle-delay);opacity:0;will-change:transform, opacity;border-radius:3px;position:absolute}.particle--clear{box-shadow:inset 0 -2px 0 var(--particle-shade), 0 0 14px #fff4d857;animation-name:particle-burst}.score-burst{z-index:12;min-width:132px;color:var(--text-main);pointer-events:none;will-change:transform, opacity;background:#111a2b;border:2px solid #fff4d8c7;border-radius:18px;justify-items:center;padding:10px 16px;animation:.98s cubic-bezier(.15,.95,.25,1) forwards score-burst;display:grid;position:absolute;inset:46% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 12px 28px #00000057,0 0 0 6px #f0b43c2e}.score-burst:before,.score-burst:after{background:var(--accent);width:12px;height:12px;box-shadow:28px 12px 0 -2px #fff4d8, -22px 18px 0 -3px var(--cyan), 18px -18px 0 -4px var(--green);content:"";pointer-events:none;border-radius:4px;position:absolute}.score-burst:before{animation:.72s ease-out forwards sparkle-left;inset:-12px auto auto 16px}.score-burst:after{animation:.72s ease-out forwards sparkle-right;inset:auto 18px -10px auto}.score-burst--clear{border-color:#fff4d8f5;min-width:160px;animation-duration:1.08s;box-shadow:0 18px 42px #0000006b,0 0 0 8px #f0b43c3d,0 0 34px #f0b43c52}.score-burst strong{color:var(--accent);letter-spacing:-.04em;font-size:clamp(1.8rem,5vw,3.2rem);line-height:.95}.score-burst span{color:var(--text-muted);letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;font-weight:900}.tray-panel{box-shadow:none;background:0 0;border:0;margin-top:14px;padding:0}.tray-heading{display:none}.piece-tray{border:1px solid var(--line-soft);background:color-mix(in srgb, var(--panel-bg) 74%, transparent);box-shadow:none;contain:layout paint style;border-radius:24px;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;display:grid}.tray-slot{min-width:0;min-height:106px}.tray-piece,.empty-slot{width:100%;min-height:106px;font:inherit;border:1px solid #0000;border-radius:18px;place-items:center;gap:0;display:grid}.tray-piece{color:var(--text-main);box-shadow:none;cursor:grab;touch-action:none;background:#ffffff0a;transition:transform .16s,border-color .16s,box-shadow .16s,opacity .16s;animation:.26s ease-out both tray-rise}.tray-piece:active{cursor:grabbing}.tray-piece>span:last-child,.empty-slot span{display:none}.tray-piece--selected{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);animation:none}.tray-piece--blocked{cursor:not-allowed;opacity:.48;animation:none}.tray-piece:disabled{cursor:not-allowed;transform:none}.empty-slot{box-shadow:none;opacity:.42;background:linear-gradient(90deg,#0000 48%,#ffffff14 48% 52%,#0000 52%),linear-gradient(#0000 48%,#ffffff14 48% 52%,#0000 52%)}.piece-preview{min-width:26px;min-height:26px;display:block;overflow:visible}.piece-preview--ghost{--piece-cell:var(--ghost-cell)}.piece-block-svg{fill:var(--piece-color,#f0b43c);stroke:#0003;stroke-width:.04px;shape-rendering:crispedges}.piece-block-svg-edge{fill:var(--piece-edge,#fff1a6);opacity:.9;shape-rendering:crispedges}.piece-block-svg-facet{fill:var(--piece-facet,#f8d95b);opacity:.82;shape-rendering:crispedges}.piece-block-svg-shade{fill:var(--piece-shade,#9b5a12);opacity:.9;shape-rendering:crispedges}.piece-block-svg-side{fill:color-mix(in srgb, var(--piece-shade) 76%, black 6%);opacity:.82;shape-rendering:crispedges}.drag-ghost{z-index:30;transform:translate3d(var(--drag-x), var(--drag-y), 0) translate(-50%, -50%);pointer-events:none;will-change:transform, opacity;position:fixed;top:0;left:0}.drag-ghost--valid .piece-block-svg{animation:.42s ease-in-out infinite alternate ghost-valid}.drag-ghost--invalid{opacity:.62}.rules-panel{padding:12px}.panel-section,.tips-card{padding:16px}.panel-section h2{color:var(--text-main);letter-spacing:-.035em;margin:10px 0 0;font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.04}.stats-summary{gap:14px;display:grid}.stats-summary-header,.stats-summary-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.stats-summary-header strong{color:var(--accent);font-size:.9rem;font-weight:1000;line-height:1}.stats-summary-score{gap:4px;padding-block:2px;display:grid}.stats-summary-score span,.stats-summary-row span{color:var(--text-muted);font-size:.82rem;font-weight:800}.stats-summary-score strong{color:var(--text-main);letter-spacing:-.08em;font-size:clamp(2.35rem,5vw,4rem);line-height:.9}.stats-summary-row{border-top:1px solid var(--line-soft);padding-top:12px}.stat-grid{grid-template-columns:1fr;gap:8px;display:grid}.stat-item{border:1px solid color-mix(in srgb, var(--text-main) 10%, transparent);box-shadow:none;background:0 0;border-radius:16px;justify-content:space-between;align-items:center;gap:14px;padding:13px 14px;display:flex}.stat-item span{margin:0}.stat-item strong{color:var(--text-main);letter-spacing:-.04em;font-size:1.15rem;line-height:1;display:block}.tips-card{background:0 0;border-style:dashed}.leaderboard-card{gap:14px;padding:18px;display:grid}.leaderboard-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.leaderboard-heading span,.leaderboard-status{color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;font-size:.76rem;font-weight:900}.leaderboard-heading strong{color:var(--accent);font-size:.95rem}.leaderboard-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.leaderboard-list li{border:1px solid var(--line-soft);background:linear-gradient(135deg, color-mix(in srgb, var(--text-main) 9%, transparent), transparent 52%), color-mix(in srgb, var(--panel-deep) 88%, var(--accent) 12%);min-width:0;box-shadow:none;border-radius:22px;grid-template-columns:24px 44px minmax(0,1fr);align-items:center;gap:10px;padding:10px;display:grid}.leaderboard-rank{color:var(--text-main);text-align:center;font-size:1.2rem;font-weight:1000;line-height:1}.leaderboard-avatar{background:linear-gradient(145deg, color-mix(in srgb, var(--accent) 72%, white 28%), var(--accent));width:44px;height:44px;color:var(--accent-text);border-radius:999px;place-items:center;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 -4px #0000002e}.leaderboard-avatar img{z-index:2;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.leaderboard-avatar strong{z-index:1;color:var(--accent-text);font-size:1.15rem;font-weight:1000;line-height:1;position:relative}.leaderboard-player{gap:3px;min-width:0;display:grid}.leaderboard-player strong{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;font-size:1.02rem;font-weight:1000;line-height:1.08;overflow:hidden}.leaderboard-player span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:900;line-height:1.15;overflow:hidden}.leaderboard-score{color:var(--accent);grid-column:2/-1;justify-self:end;font-size:1.08rem;font-style:normal;font-weight:1000;line-height:1}.leaderboard-empty,.leaderboard-status,.leaderboard-error{margin:0}.leaderboard-empty{color:#d1d9e6;font-size:.94rem}.leaderboard-error{color:var(--danger);font-size:.78rem;font-weight:800;line-height:1.35}.admin-panel{border:1px solid var(--line-soft);background:var(--panel-bg);border-radius:24px;grid-column:1/-1;height:100%;min-height:0;padding:18px;display:none;overflow:hidden}.app-shell--tab-admin .score-rail,.app-shell--tab-admin .play-area,.app-shell--tab-admin .rules-panel{display:none}.app-shell--tab-admin .admin-panel{grid-template-rows:auto auto minmax(0,1fr);gap:16px;display:grid}.admin-toolbar,.admin-card-heading,.admin-row,.admin-actions{align-items:center;display:flex}.admin-toolbar,.admin-card-heading{justify-content:space-between;gap:14px}.admin-toolbar h2{color:var(--text-main);letter-spacing:-.035em;margin:6px 0 0;font-size:clamp(1.5rem,3vw,2.6rem);line-height:1}.admin-metrics{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.admin-metric,.admin-card{border:1px solid var(--line-soft);background:var(--panel-deep);border-radius:18px}.admin-metric{padding:14px}.admin-metric span,.admin-card-heading span,.admin-row span,.admin-card-heading p{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:900}.admin-metric strong{color:var(--accent);margin-top:6px;font-size:1.5rem;line-height:1;display:block}.admin-content{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:14px;min-height:0;display:grid}.admin-card{grid-template-rows:auto minmax(0,1fr);min-height:0;padding:14px;display:grid}.admin-card-heading{padding-bottom:12px}.admin-card-heading strong{color:var(--text-main);margin-top:3px;font-size:1.05rem;display:block}.admin-card-heading p{text-align:right;margin:0}.admin-card-heading input{border:1px solid var(--line-strong);width:min(100%,230px);min-height:40px;color:var(--text-main);background:var(--panel-bg);font:inherit;border-radius:999px;outline:none;padding:0 14px;font-size:.9rem}.admin-card-heading input::placeholder{color:var(--text-muted)}.admin-table{overscroll-behavior:contain;gap:8px;min-height:0;padding-right:4px;display:grid;overflow-y:auto}.admin-row{border:1px solid var(--line-soft);background:color-mix(in srgb, var(--panel-bg) 78%, transparent);border-radius:14px;justify-content:stretch;gap:12px;min-width:0;padding:10px}.admin-row>div:first-child{flex:170px;min-width:0}.admin-row strong{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;display:block;overflow:hidden}.admin-row em{min-width:82px;color:var(--green);text-align:right;font-style:normal;font-weight:1000}.admin-row .soft-button{min-height:34px;padding-inline:12px;font-size:.78rem}.admin-actions{justify-content:flex-end;gap:7px}.status-overlay{z-index:20;background:#03071275;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.status-overlay--game-over{background:radial-gradient(circle at 50% 40%,#db536438,#0000 34%),#03071294;animation:.96s ease-out both defeat-vignette;overflow:hidden}.status-overlay--game-over:before,.status-overlay--game-over:after{pointer-events:none;content:"";position:absolute}.status-overlay--game-over:before{border:2px solid color-mix(in srgb, var(--danger) 38%, transparent);box-shadow:inset 0 0 42px color-mix(in srgb, var(--danger) 16%, transparent), 0 0 44px color-mix(in srgb, var(--danger) 12%, transparent);border-radius:34px;animation:.96s ease-out both defeat-warning-ring;inset:clamp(12px,3vw,34px)}.status-overlay--game-over:after{opacity:0;mix-blend-mode:screen;background:linear-gradient(90deg,#0000 0 47%,#ffffff21 50%,#0000 53%),repeating-linear-gradient(0deg,#ffffff09 0 1px,#0000 1px 8px);animation:.82s ease-out both defeat-scan;inset:0}.status-card{border:1px solid var(--line-strong);text-align:center;background:var(--panel-deep);border-radius:30px;width:min(100%,430px);padding:clamp(24px,4vw,34px);animation:.22s ease-out both modal-in;box-shadow:0 28px 70px #00000042}.status-card--game-over{border-color:color-mix(in srgb, var(--danger) 48%, var(--line-strong));background:linear-gradient(145deg, #db53642e, #111827d1 44%), var(--panel-deep);box-shadow:0 28px 70px #00000052, 0 0 0 6px color-mix(in srgb, var(--danger) 10%, transparent), 0 0 48px color-mix(in srgb, var(--danger) 20%, transparent);animation:.68s cubic-bezier(.16,.92,.2,1.12) .36s both defeat-card-in;position:relative;overflow:hidden}.status-card--game-over:before{aspect-ratio:1;border:1px solid color-mix(in srgb, var(--danger) 40%, transparent);background:radial-gradient(circle, color-mix(in srgb, var(--danger) 22%, transparent), transparent 64%);content:"";pointer-events:none;border-radius:999px;width:260px;position:absolute;inset:-34% auto auto 50%;transform:translate(-50%)}.status-card--game-over>span{color:#ffd7dd;position:relative}.status-card h2{color:var(--text-main);letter-spacing:-.07em;margin:8px 0 0;font-size:clamp(2rem,7vw,3.8rem);line-height:.92}.status-score{gap:2px;margin:22px auto;display:grid}.status-score strong{color:var(--accent);font-size:3rem;line-height:1}.status-score small{color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;font-weight:800}.status-actions{justify-content:center}@keyframes shell-enter{0%{opacity:0;transform:translateY(10px)scale(.995)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes panel-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes logo-tile{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-2px)}}@keyframes number-pop{0%{transform:scale(.92)}70%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes live-bump{0%{transform:translateY(8px)}60%{transform:translateY(-2px)}to{transform:translateY(0)}}@keyframes tray-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes selected-pulse{0%,to{transform:translateY(0);box-shadow:0 0 0 3px #f0b43c24,inset 0 -5px #0000002e,0 10px 22px #00000029}50%{transform:translateY(-2px);box-shadow:0 0 0 6px #f0b43c29,inset 0 -5px #0000002e,0 15px 26px #00000038}}@keyframes piece-pop{0%{opacity:0;transform:translateY(8px)scale(.84)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes tile-drop{0%{transform:translateY(-8px)scale(.84)}70%{transform:translateY(1px)scale(1.05)}to{transform:translateY(0)scale(1)}}@keyframes tile-clear{0%{opacity:1;filter:brightness();transform:scale(1)}18%{opacity:1;filter:brightness(1.5);transform:scale(1.22)rotate(1deg)}38%{opacity:1;filter:brightness(1.22);transform:scale(.96)rotate(-2deg)}64%{opacity:.86;transform:scale(.72)rotate(-5deg)}to{opacity:0;transform:scale(.16)rotate(12deg)}}@keyframes preview-pulse{0%,to{opacity:.42}50%{opacity:.68}}@keyframes particle-burst{0%{opacity:0;transform:translate(-50%, -50%) scale(calc(var(--particle-scale) * .55)) rotate(0)}12%{opacity:1;transform:translate(-50%, -50%) scale(calc(var(--particle-scale) * 1.24)) rotate(18deg)}72%{opacity:1}88%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--particle-x)), calc(-50% + var(--particle-y))) scale(calc(var(--particle-scale) * .18)) rotate(var(--particle-rotation))}}@keyframes score-burst{0%{opacity:0;transform:translate(-50%,-34%)scale(.68)rotate(-2deg)}18%{opacity:1;transform:translate(-50%,-62%)scale(1.22)rotate(2deg)}72%{opacity:1;transform:translate(-50%,-82%)scale(1)rotate(0)}88%{opacity:.72;transform:translate(-50%,-102%)scale(.96)rotate(-1deg)}to{opacity:0;transform:translate(-50%,-124%)scale(.82)rotate(2deg)}}@keyframes sparkle-left{0%{opacity:0;transform:translate(0)rotate(0)scale(.4)}20%{opacity:1}to{opacity:0;transform:translate(-32px,-28px)rotate(-42deg)scale(1.4)}}@keyframes sparkle-right{0%{opacity:0;transform:translate(0)rotate(0)scale(.4)}20%{opacity:1}to{opacity:0;transform:translate(34px,24px)rotate(48deg)scale(1.4)}}@keyframes ghost-valid{0%{transform:scale(.98)}to{transform:scale(1.04)}}@keyframes board-nudge{0%{transform:scale(1)}50%{transform:scale(1.012)}to{transform:scale(1)}}@keyframes board-clear-kick{0%{transform:translate(0)scale(1)}18%{transform:translate(-7px,3px)scale(1.018)}36%{transform:translate(7px,-2px)scale(1.01)}56%{transform:translate(-4px,1px)scale(1.012)}to{transform:translate(0)scale(1)}}@keyframes board-game-over{0%{transform:translate(0)scale(1)}12%{transform:translate(-10px,2px)scale(1.012)}24%{transform:translate(9px,-3px)scale(1.006)}38%{transform:translate(-6px,2px)scale(1.01)}54%{transform:translate(4px,-1px)scale(1.004)}to{transform:translate(0)scale(1)}}@keyframes board-lock-flash{0%{opacity:0}18%{opacity:1}44%{opacity:.46}to{opacity:.82}}@keyframes tile-game-over{0%{filter:brightness()saturate();transform:translateY(0)scale(1)}18%{filter:brightness(1.32)saturate(1.1);transform:translateY(-2px)scale(1.04)}48%{filter:brightness(.82)saturate(.72);transform:translateY(1px)scale(.96)}to{filter:brightness(.64)saturate(.52);transform:translateY(0)scale(.92)}}@keyframes tray-blocked-jolt{0%{transform:translate(0)}22%{transform:translate(-4px)}42%{transform:translate(4px)}64%{transform:translate(-2px)}to{transform:translate(0)}}@keyframes defeat-vignette{0%{opacity:0}36%{opacity:1}to{opacity:1}}@keyframes defeat-warning-ring{0%{opacity:0;transform:scale(.94)}22%{opacity:1;transform:scale(1.018)}58%{opacity:.74;transform:scale(1)}to{opacity:.38;transform:scale(1)}}@keyframes defeat-scan{0%{opacity:0;transform:translate(-18%)}18%{opacity:.9}54%{opacity:.28}to{opacity:0;transform:translate(18%)}}@keyframes defeat-card-in{0%{opacity:0;transform:translateY(28px)scale(.84)}58%{opacity:1;transform:translateY(-5px)scale(1.035)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes modal-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (width<=1080px){.game-layout{grid-template-columns:minmax(0,1fr)}.score-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.combo-card,.live-note{grid-column:span 1}.rules-panel{grid-template-columns:1.2fr 1fr 1fr}}@media (width<=720px){.app-shell{padding:0}.game-card{height:100svh;box-shadow:none;border:0;border-radius:0}.topbar{align-items:center;gap:10px;padding:12px 12px 8px}.app-shell--telegram{--tg-top-chrome-offset:max(env(safe-area-inset-top), var(--tg-safe-area-top), var(--tg-content-safe-area-top), 78px);--tg-bottom-chrome-offset:max(env(safe-area-inset-bottom), var(--tg-safe-area-bottom), var(--tg-content-safe-area-bottom))}.app-shell--telegram .topbar{min-height:var(--tg-top-chrome-offset);padding:max(10px, calc(var(--tg-safe-area-top) + 8px)) max(74px, calc(var(--tg-safe-area-right) + 54px)) 8px max(74px, calc(var(--tg-safe-area-left) + 54px));justify-content:center}.app-shell--telegram .brand{text-align:center;justify-content:center;min-width:0}.app-shell--telegram .brand h1{max-width:calc(100vw - 148px - var(--tg-safe-area-left) - var(--tg-safe-area-right));text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1.28rem,6vw,1.72rem);line-height:1;overflow:hidden}.app-shell--telegram .topbar-actions{display:none}.brand{gap:10px}.brand-mark,.brand p{display:none}.brand h1{letter-spacing:-.06em;font-size:1.65rem}.topbar-actions,.status-actions{gap:8px;width:auto}.telegram-badge{display:none}.primary-button,.soft-button{min-height:38px;padding-inline:13px;font-size:.82rem}.mobile-tabs{right:12px;bottom:max(10px, env(safe-area-inset-bottom));z-index:18;border:1px solid color-mix(in srgb, var(--text-main) 12%, transparent);background:color-mix(in srgb, var(--card-bg) 84%, #0b1224 16%);box-shadow:none;border-radius:24px;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:6px;padding:6px;display:grid;position:absolute;left:12px}.app-shell--telegram .mobile-tabs{right:max(12px, calc(var(--tg-safe-area-right) + 12px));bottom:max(10px, calc(var(--tg-bottom-chrome-offset) + 10px));left:max(12px, calc(var(--tg-safe-area-left) + 12px))}.mobile-tabs button{min-height:48px;color:color-mix(in srgb, var(--text-main) 66%, transparent);font:inherit;background:0 0;border:0;border-radius:18px;grid-template-columns:auto auto;justify-content:center;align-items:center;gap:7px;transition:background-color .16s,color .16s,transform .16s;display:grid}.mobile-tabs button span{background:0 0;border-radius:7px;place-items:center;width:21px;height:21px;font-size:.9rem;line-height:1;display:grid}.mobile-tabs button strong{letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:1000}.mobile-tabs .mobile-tab--active{color:var(--accent-text);background:var(--accent);box-shadow:none;transform:none}.mobile-tabs .mobile-tab--active span{background:#fff3}.game-layout{height:calc(100svh - 154px - env(safe-area-inset-bottom));max-height:none;padding:0 10px 10px;display:block;overflow:hidden}.app-shell--telegram .game-layout{height:calc(100svh - var(--tg-top-chrome-offset) - 76px - var(--tg-bottom-chrome-offset));padding-inline:max(10px, calc(var(--tg-safe-area-left) + 10px)) max(10px, calc(var(--tg-safe-area-right) + 10px))}.score-rail,.rules-panel{grid-template-columns:1fr}.score-rail,.rules-panel,.play-area,.admin-panel{height:100%;display:none;overflow:hidden}.app-shell--tab-game .play-area,.app-shell--tab-stats .score-rail,.app-shell--tab-stats .rules-panel,.app-shell--tab-leaders .rules-panel,.app-shell--tab-admin .admin-panel{display:grid}.app-shell--tab-stats .score-rail,.app-shell--tab-stats .rules-panel,.app-shell--tab-leaders .rules-panel,.app-shell--tab-admin .admin-panel{overscroll-behavior:contain;overflow-y:auto}.app-shell--tab-stats .rules-panel .leaderboard-card,.app-shell--tab-leaders .rules-panel>:not(.leaderboard-card){display:none}.app-shell--tab-leaders .leaderboard-card{align-content:start;gap:12px}.app-shell--tab-leaders .leaderboard-list{gap:10px}.app-shell--tab-leaders .leaderboard-list li{border-radius:24px;grid-template-columns:24px 50px minmax(0,1fr) auto;gap:8px;min-height:82px;padding:12px 10px}.app-shell--tab-leaders .leaderboard-avatar{width:50px;height:50px}.app-shell--tab-leaders .leaderboard-avatar strong{font-size:1.32rem}.app-shell--tab-leaders .leaderboard-rank{font-size:1.45rem}.app-shell--tab-leaders .leaderboard-player strong{font-size:1.2rem}.app-shell--tab-leaders .leaderboard-player span{font-size:.86rem}.app-shell--tab-leaders .leaderboard-score{grid-column:auto;font-size:1.06rem}.score-rail,.rules-panel,.tray-panel,.admin-panel{border-radius:20px}.admin-panel{grid-template-rows:auto auto auto;gap:12px;padding:12px}.admin-toolbar{align-items:flex-start}.admin-toolbar h2{font-size:1.5rem}.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-content{grid-template-columns:1fr;gap:12px;overflow:visible}.admin-card{min-height:280px}.admin-card-heading{flex-direction:column;align-items:flex-start}.admin-card-heading input{width:100%}.admin-card-heading p{text-align:left}.admin-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.admin-row em{min-width:0}.admin-row>span,.admin-actions{grid-column:1/-1}.play-area{grid-template-rows:auto auto auto auto;align-content:start}.mobile-score-strip{border:1px solid var(--line-soft);background:var(--panel-bg);border-radius:18px;grid-template-columns:1fr auto auto;align-items:center;gap:8px;margin:0 0 8px;padding:10px 12px;display:grid;box-shadow:inset 0 -4px #00000024}.mobile-score-strip strong{color:var(--accent);font-size:1.6rem;line-height:1}.mobile-score-strip span{color:var(--text-muted);text-transform:uppercase;font-size:.72rem;font-weight:1000}.board-meta{margin:0 4px 8px;font-size:.74rem}.board-frame{border-radius:20px;padding:6px}.board{border-radius:15px;gap:0;width:min(100%,100svh - 360px);min-width:280px;padding:0}.app-shell--telegram .board{width:min(100%, calc(100svh - var(--tg-top-chrome-offset) - var(--tg-bottom-chrome-offset) - 282px))}.board-cell{border-radius:0}.tray-panel{margin-top:8px;padding:0}.tray-heading{display:none}.piece-tray{border-radius:20px;gap:8px;padding:8px}.tray-slot,.tray-piece,.empty-slot{min-height:72px}.tray-piece{border-radius:14px;gap:0}.piece-preview{--piece-cell:20px;gap:0}.tray-piece>span:last-child,.empty-slot span{font-size:.64rem}.panel-section,.tips-card,.leaderboard-card,.metric-card,.combo-card,.live-note{border-radius:18px;padding:14px}.panel-section h2{font-size:1.45rem}.status-overlay{padding:14px}.status-card{border-radius:22px}}
