:root{--text:#6d5039;--text-h:#3c2414;--bg:#ead4ac;--border:#b78d66;--code-bg:#efd9b5;--accent:#a35e33;--accent-bg:#a35e331f;--accent-border:#a35e3373;--social-bg:#efe3d2b3;--shadow:#4528162e 0 14px 24px -8px, #45281624 0 6px 10px -4px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}#root{text-align:center;box-sizing:border-box;flex-direction:column;width:min(1440px,100%);max-width:100%;min-height:100vh;margin:0 auto;display:flex}body{background:radial-gradient(circle at top,#ffffffb3,#0000 22%),radial-gradient(circle at 20% 20%,#ffdebc6b,#0000 28%),linear-gradient(#f9efe3 0%,#ecd2b2 52%,#d5a273 100%);margin:0;overflow:hidden}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.app{box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100vh;min-height:100vh;padding:16px 20px 18px;display:flex;overflow:hidden}.header{text-align:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(#fffcf7eb,#f7ecdbd1),linear-gradient(135deg,#fff6,#0000 48%);border:1px solid #8f644124;border-radius:30px;width:min(1400px,100%);padding:18px 24px;box-shadow:inset 0 1px #ffffffc7,0 22px 44px #6841211a}.header-title{color:var(--text-h);text-transform:uppercase;letter-spacing:.2em;margin:0 0 6px;font-size:2rem;font-weight:800}.header-subtitle{color:var(--text);opacity:.72;letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.76rem}.tetris-wrap{--board-ratio:.627561;--side-panel-width:clamp(150px, 14.5vw, 184px);--board-height:min(calc(100vh - 136px), calc((100vw - (var(--side-panel-width) * 2) - 78px) / var(--board-ratio)), 648px);--board-width:calc(var(--board-height) * var(--board-ratio));--board-shell-width:calc(var(--board-width) + 32px);flex:1;width:min(1400px,100%);min-height:0;display:flex}.tetris-shell{grid-template-columns:minmax(var(--side-panel-width), 1fr) var(--board-shell-width) minmax(var(--side-panel-width), 1fr);justify-content:center;align-items:start;gap:16px;width:100%;min-height:0;display:grid}.tetris-panel{box-sizing:border-box;background:linear-gradient(#fffcf7eb,#f5e8d6d6),linear-gradient(135deg,#ffffff47,#0000 48%);border:1px solid #9166431c;border-radius:30px;flex-direction:column;align-self:stretch;gap:14px;width:100%;min-width:0;padding:16px 14px;display:flex;position:relative;box-shadow:inset 0 1px #ffffffc2,0 24px 48px #6841211a}.tetris-panel:before{content:"";pointer-events:none;border:1px solid #ffffff2e;border-radius:29px;position:absolute;inset:1px}.panel-intro{flex-direction:column;gap:8px;display:flex}.panel-kicker{letter-spacing:.18em;text-transform:uppercase;color:#b06728b8;font-size:.58rem;font-weight:700}.panel-title{letter-spacing:-.04em;margin:0;font-size:1.24rem;line-height:1.06}.panel-copy,.panel-note{color:#553a27b8;font-size:.7rem;line-height:1.45}.status-pill{color:#745038;letter-spacing:.12em;text-transform:uppercase;background:#fffaf3d6;border:1px solid #c18d5b2e;border-radius:999px;justify-content:center;align-self:center;min-width:104px;margin-inline:auto;padding:8px 14px;font-size:.64rem;font-weight:700;box-shadow:inset 0 1px #ffffffad,0 10px 22px #a06f3e1a}.status-pill.is-playing{color:#8f532a;background:#ffe9cfe6}.status-pill.is-paused{color:#7b5a2f;background:linear-gradient(#fff5dcf0,#f1dca7e0)}.status-pill.is-gameover{color:#834434;background:#ffddd5eb}.status-pill.is-clearing{color:#8a581f;background:linear-gradient(#fff2caf5,#ffd680e6)}.warning-card{background:linear-gradient(#fff1dcf5,#ffdfb1e0);border:1px solid #d0793829;border-radius:18px;flex-direction:column;gap:3px;padding:7px 9px;display:flex;box-shadow:inset 0 1px #fffbebcc,0 12px 24px #bc6c2d1a}.warning-kicker{color:#9d4f1f;letter-spacing:.16em;font-size:.6rem}.warning-text{color:#6c3b1d;font-size:.68rem;font-weight:600;line-height:1.25}.warning-progress{background:#8b491d24;border-radius:999px;height:6px;margin-top:2px}.warning-progress .MuiLinearProgress-bar{background:linear-gradient(90deg,#ffbe66,#dc7f33);border-radius:999px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.stat-card{text-align:center;background:#fffdf8b8;border:1px solid #78512f14;border-radius:22px;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;display:flex;box-shadow:inset 0 1px #ffffffb8,0 12px 26px #6e48250d}.stat-label{color:#614025c2;letter-spacing:.14em;text-transform:uppercase;font-size:.58rem}.stat-value{color:#4d2b18;font-variant-numeric:tabular-nums;font-size:1.12rem;line-height:1}.tetris-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:4px;display:grid}.btn{color:#fffaf4;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;background:linear-gradient(#e9a76df5,#cd7a44f5);border:1px solid #925d3224;border-radius:16px;min-height:38px;padding:8px 10px;font-size:.68rem;transition:transform .18s,filter .18s,opacity .18s,box-shadow .18s;box-shadow:inset 0 1px #fff4e380,0 12px 24px #62361724}.btn:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px);box-shadow:inset 0 1px #fff4e394,0 14px 28px #62361729}.btn:disabled{cursor:default;opacity:.48;box-shadow:none}.btn-primary{background:linear-gradient(#f3ae73,#cf7c44)}.btn-secondary{color:#6d472d;background:linear-gradient(#f8ead8fa,#e6cdb0f0)}.tetris-board-column{min-width:0;min-height:0;width:var(--board-shell-width);flex-direction:column;align-self:stretch;align-items:stretch;gap:6px;display:flex}.board-meta{background:linear-gradient(#fffbf5e6,#f8eddccc),linear-gradient(135deg,#ffffff47,#0000 52%);border:1px solid #845b381a;border-radius:24px;justify-content:space-between;align-items:center;gap:6px;width:100%;min-height:44px;padding:10px 14px;display:flex;box-shadow:inset 0 1px #ffffffb8,0 14px 28px #45281414}.board-meta-label,.board-meta-value{letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;font-size:.54rem;line-height:1.15}.board-meta-label{opacity:.86;flex:none}.board-meta-value{color:#5f341d;text-align:right;flex:auto}.tetris-board-shell{width:var(--board-shell-width);background:radial-gradient(circle at 50% 8%,#fff9eb52,#0000 26%),radial-gradient(circle at 50% 14%,#fff5e094,#0000 24%),linear-gradient(#f0d5b138,#a3724714),linear-gradient(135deg,#ffffff24,#0000 48%);border:1px solid #774f2f0f;border-radius:34px;flex:none;justify-content:center;align-items:center;min-height:0;padding:14px;transition:transform .12s ease-out;display:flex;position:relative;box-shadow:inset 0 1px #fffaf099,0 28px 52px #56301629,0 8px 18px #fff2db1a}.tetris-board-shell:before{content:none}.tetris-board-shell:after{content:"";filter:blur(8px);pointer-events:none;background:linear-gradient(#4f2b161a,#2e170b29);height:16px;position:absolute;bottom:14px;left:26px;right:26px}.tetris-canvas-wrap{border:6px solid #6b3b23;border-radius:28px;flex-shrink:0;overflow:hidden;box-shadow:inset 0 0 0 1px #fff0d52e,0 18px 34px #44221029}.tetris-canvas-wrap canvas{max-width:100%;width:var(--board-width);height:var(--board-height);display:block}.tetris-overlay{pointer-events:none;background:linear-gradient(#2e180e0f,#2e180e29);border-radius:24px;justify-content:center;align-items:center;display:flex;position:absolute;inset:12px}.tetris-overlay span{color:#f8ead1;letter-spacing:.14em;text-transform:uppercase;background:linear-gradient(#6c3d23f5,#562f1cf0);border:1px solid #fff1dc24;border-radius:999px;padding:12px 24px;font-size:1rem;font-weight:700;box-shadow:inset 0 1px #ffefd22e,0 18px 30px #2110092e}.info-card{background:#fffdf88f;border:1px solid #80563314;border-radius:22px;flex-direction:column;gap:10px;padding:12px 10px;display:flex;box-shadow:inset 0 1px #ffffffb8,0 10px 24px #6d47250d}.info-card:last-child{min-height:0}.card-title{letter-spacing:.18em;text-transform:uppercase;color:#5c351bb8;font-size:.58rem;font-weight:700}.piece-preview{flex-direction:column;align-items:center;gap:6px;display:flex}.piece-preview.is-compact{gap:6px}.piece-preview.is-disabled{opacity:.62}.piece-grid{grid-template-columns:repeat(4,1fr);gap:3px;width:88px;display:grid}.piece-preview.is-compact .piece-grid{width:72px}.piece-cell{aspect-ratio:1;background:#e0c8a433;border:1px solid #69442829;border-radius:7px}.piece-cell.is-filled{filter:saturate(.88)brightness(.94);box-shadow:inset 0 1px #fff0d357,3px 3px #4925122e}.piece-caption{letter-spacing:.08em;text-transform:uppercase;color:#61371f;text-align:center;font-size:.62rem}.controls-tip{color:#5e3f25bd;letter-spacing:.04em;text-align:center;font-size:.6rem}.queue-stack{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.queue-card{background:#fffcf6a3;border:1px solid #80583514;border-radius:20px;flex-direction:column;align-items:center;gap:6px;padding:10px 8px;display:flex;box-shadow:inset 0 1px #ffffffb8}.queue-index{letter-spacing:.1em;text-transform:uppercase;color:#5c3a20b8;text-align:center;min-width:0;font-size:.58rem}.controls-list{flex-direction:column;gap:6px;display:flex}.control-row{background:#fffcf694;border:1px solid #8058350f;border-radius:16px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:.72rem;display:flex}@media (width>=921px){.panel-copy{display:none}}.control-row:last-child{border-bottom:1px solid #8058350f;padding-bottom:10px}.control-row strong{color:#58311c;text-transform:uppercase;letter-spacing:.06em;font-weight:700}@media (width<=920px){.tetris-shell{grid-template-columns:1fr;align-items:stretch}.tetris-panel,.tetris-board-column,.tetris-board-shell{width:100%}.board-meta{flex-direction:column;align-items:flex-start}.board-meta-value{text-align:left}.tetris-canvas-wrap canvas{width:100%;height:auto}}@media (width<=640px){.app{padding-inline:12px}.header{padding:12px}.header-title{font-size:1.45rem}.stats-grid,.tetris-actions{grid-template-columns:1fr}.queue-card{padding:7px 6px}}@media (height<=920px){.app{gap:8px;padding-top:8px;padding-bottom:8px}.header{padding:8px 12px}.header-title{margin-bottom:1px;font-size:1.32rem}.header-subtitle{font-size:.66rem}.tetris-shell{gap:10px}.tetris-panel{gap:8px;padding:10px}.panel-title{font-size:.94rem}.panel-copy,.panel-note{font-size:.64rem}.card-title,.panel-kicker,.board-meta-label,.board-meta-value{font-size:.5rem}.board-meta{padding:8px 10px}.tetris-board-shell{padding:10px}.tetris-canvas-wrap canvas{width:auto;height:min(100vh - 144px,540px)}.stats-grid{gap:5px}.stat-card,.info-card,.queue-card{padding:7px}.queue-stack{gap:4px}.stat-value{font-size:.86rem}.piece-grid{width:64px}.piece-preview.is-compact .piece-grid{width:52px}.piece-caption,.controls-tip,.queue-index,.control-row{font-size:.54rem}.btn{min-height:31px;padding:6px 7px;font-size:.6rem}.panel-intro,.tetris-panel:last-child .info-card:last-child{display:none}}@media (height<=820px) and (width>=921px){.header-subtitle,.tetris-panel .panel-intro{display:none}.tetris-shell{gap:6px}.tetris-panel{gap:5px;padding:7px}.board-meta{padding:6px 8px}.tetris-canvas-wrap canvas{height:min(100vh - 104px,500px)}.piece-grid{width:58px}.piece-preview.is-compact .piece-grid{width:48px}.stat-card,.info-card,.queue-card{padding:6px}.queue-stack{gap:4px}}
