.arcade-hub{position:relative;width:100%;max-width:1100px;min-height:90vh;margin:auto;display:flex;flex-direction:column;justify-content:space-between;padding:24px 20px;background:radial-gradient(circle at 50% 15%,#18203c,#0a0d18 70%,#05070d);border-radius:16px;box-shadow:0 0 60px #000000e6,0 0 0 1px #00e5ff26,inset 0 0 40px #00000080;overflow:hidden;box-sizing:border-box}.hub-scanlines{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(#12101000 50%,#00000040 50%);background-size:100% 4px;pointer-events:none;z-index:1;opacity:.6}.hub-header{position:relative;z-index:2;text-align:center;padding-top:10px;padding-bottom:20px}.hub-top-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.hub-system-pill{display:inline-flex;align-items:center;gap:8px;background:#00e5ff14;border:1px solid rgba(0,229,255,.3);padding:6px 14px;border-radius:20px;font-family:var(--font-arcade);font-size:.75rem;letter-spacing:1.5px;color:#00e5ff}.hub-system-pill .pulse-dot{width:8px;height:8px;border-radius:50%;background:#00e676;box-shadow:0 0 8px #00e676;animation:hub-pulse 1.6s infinite ease-in-out}@keyframes hub-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.hub-audio-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.15);color:#e0e6ed;border-radius:8px;padding:6px 12px;font-size:1rem;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px;font-family:var(--font-ui)}.hub-audio-btn:hover{background:#ffffff1f;border-color:#ffffff4d;transform:translateY(-1px)}.hub-title-group{margin-top:8px}.hub-main-title{font-family:var(--font-arcade);font-size:clamp(2.2rem,5vw,3.8rem);font-weight:900;letter-spacing:4px;text-transform:uppercase;margin:0;display:flex;justify-content:center;align-items:center;gap:6px;text-shadow:0 0 20px rgba(0,229,255,.5)}.hub-main-title span{display:inline-block;transition:transform .2s ease}.hub-main-title span:hover{transform:translateY(-4px) scale(1.1)}.hub-subtitle{font-family:var(--font-arcade);font-size:clamp(.85rem,2vw,1.1rem);color:#94a3b8;letter-spacing:3px;margin-top:8px;text-transform:uppercase}.hub-modes-container{position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,1fr);gap:28px;padding:16px 8px;max-width:1000px;margin:0 auto;width:100%}.hub-mode-card{position:relative;background:#0f1423d9;border:2px solid rgba(255,255,255,.1);border-radius:14px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;transition:all .3s cubic-bezier(.2,.8,.2,1);box-shadow:0 10px 30px #0006;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hub-mode-card:hover{transform:translateY(-6px);border-color:#ffffff4d;box-shadow:0 16px 40px #0009}.hub-mode-card.card-v1{background:#fff;border:2px solid #cbd5e1;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a;-webkit-backdrop-filter:none;backdrop-filter:none}.hub-mode-card.card-v1:hover{transform:translateY(-4px);border-color:#64748b;box-shadow:0 10px 15px -3px #0003}.hub-mode-card.card-v1 .hub-card-title{color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:700;letter-spacing:normal}.hub-mode-card.card-v1 .hub-card-badge{background:#f1f5f9;color:#475569;border:1px solid #cbd5e1;font-family:monospace;font-weight:700;border-radius:4px}.hub-mode-card.card-v1 .hub-card-desc{color:#334155}.hub-mode-card.card-v1 .hub-card-features li{color:#475569}.hub-mode-card.card-v1 .hub-card-features li strong{color:#0f172a}.hub-mode-card.card-v1 .hub-launch-btn{background:#0f172a;color:#fff;border:1px solid #0f172a;border-radius:4px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:600;letter-spacing:.5px;box-shadow:none}.hub-mode-card.card-v1 .hub-launch-btn:hover{background:#1e293b;border-color:#1e293b;box-shadow:none;transform:none}.hub-mode-card.card-v1 .hub-hotkey-hint{color:#64748b}.hub-mode-card.card-v1 .hub-hotkey-hint kbd{background:#e2e8f0;color:#0f172a;border:1px solid #cbd5e1}.hub-mode-card.card-v2{border-color:#00e5ff59;box-shadow:0 10px 30px #00e5ff14}.hub-mode-card.card-v2:hover{border-color:#00e5ff;box-shadow:0 14px 45px #00e5ff4d}.hub-mode-card.card-v2 .hub-card-badge{background:#00e5ff26;color:#00e5ff;border:1px solid rgba(0,229,255,.5)}.hub-mode-card.card-v2 .hub-launch-btn{background:linear-gradient(135deg,#00b0ff,#7c4dff);color:#fff;border:1px solid #00e5ff}.hub-mode-card.card-v2 .hub-launch-btn:hover{background:linear-gradient(135deg,#00e5ff,#d500f9);box-shadow:0 0 25px #00e5ffb3}.hub-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.hub-card-edition{display:flex;align-items:center;gap:8px}.hub-card-icon{font-size:1.8rem}.hub-card-title{font-family:var(--font-arcade);font-size:1.3rem;font-weight:800;letter-spacing:1px;color:#fff}.hub-card-badge{font-family:var(--font-arcade);font-size:.68rem;padding:4px 10px;border-radius:12px;letter-spacing:1px;font-weight:700}.hub-card-subtitle{font-size:.88rem;line-height:1.4;margin:-6px 0 12px;color:#94a3b8}.hub-mode-card.card-v1 .hub-card-subtitle{color:#64748b;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.hub-mode-card.card-v2 .hub-card-subtitle{color:#7dd3fc;font-family:var(--font-ui)}.hub-board-preview{margin:14px 0;padding:12px;border-radius:8px;display:flex;justify-content:center;align-items:center}.hub-board-preview.preview-v1{background:#fff;border:2px solid #000000;border-radius:0;box-shadow:none}.preview-v1 .mini-p-cell{border-radius:0;border:1px solid #000000}.hub-board-preview.preview-v2{background:#090c16;border:2px solid rgba(0,229,255,.3);box-shadow:inset 0 0 20px #00e5ff1a}.mini-preview-grid{display:grid;grid-template-columns:repeat(8,14px);gap:2px}.mini-p-cell{width:14px;height:14px;border-radius:2px;box-sizing:border-box}.mini-p-cell.c-empty{background:#c8c8c8}.mini-p-cell.c-i{background:#50e3e6}.mini-p-cell.c-j{background:#245fdf}.mini-p-cell.c-l{background:#dfad24}.mini-p-cell.c-o{background:#dfd924}.mini-p-cell.c-s{background:#30d338}.mini-p-cell.c-t{background:#843dc6}.mini-p-cell.c-z{background:#e34e4e}.mini-p-cell.m-empty{background:#ffffff0a}.mini-p-cell.m-i{background:#00e5ff;box-shadow:0 0 6px #00e5ffcc}.mini-p-cell.m-j{background:#2979ff;box-shadow:0 0 6px #2979ffcc}.mini-p-cell.m-t{background:#d500f9;box-shadow:0 0 6px #d500f9cc}.mini-p-cell.m-s{background:#00e676;box-shadow:0 0 6px #00e676cc}.mini-p-cell.m-ghost{border:1px dashed rgba(0,229,255,.7);background:#00e5ff1a}.hub-card-desc{font-size:.95rem;line-height:1.5;color:#cbd5e1;margin-bottom:14px}.hub-card-features{list-style:none;padding:0;margin:0 0 20px;display:flex;flex-direction:column;gap:8px}.hub-card-features li{font-size:.88rem;color:#94a3b8;display:flex;align-items:center;gap:8px}.hub-card-features li strong{color:#f1f5f9}.hub-card-actions{display:flex;flex-direction:column;gap:8px;margin-top:auto}.hub-launch-btn{width:100%;padding:14px;font-family:var(--font-arcade);font-size:1rem;font-weight:800;letter-spacing:1.5px;border-radius:8px;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:8px;transition:all .2s ease}.hub-hotkey-hint{font-family:monospace;font-size:.75rem;color:#64748b;text-align:center}.hub-hotkey-hint kbd{background:#ffffff1a;padding:2px 6px;border-radius:4px;color:#e2e8f0}.hub-footer{position:relative;z-index:2;margin-top:24px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:.85rem;color:#64748b}.hub-footer-links{display:flex;gap:16px}.hub-footer-links a{color:#00e5ff;text-decoration:none;transition:color .2s}.hub-footer-links a:hover{color:#38bdf8;text-decoration:underline}@media(max-width:768px){.arcade-hub{min-height:100vh;min-height:100dvh;padding:16px 14px;border-radius:0;justify-content:flex-start;gap:12px}.hub-header{padding-top:4px;padding-bottom:6px}.hub-top-bar{margin-bottom:8px}.hub-system-pill{font-size:.65rem;padding:4px 10px;letter-spacing:1px}.hub-audio-btn{padding:4px 10px;font-size:.8rem}.hub-title-group{margin-top:4px}.hub-main-title{font-size:clamp(1.8rem,7vw,2.5rem);letter-spacing:2px}.hub-subtitle{font-size:.75rem;letter-spacing:1.5px;margin-top:4px}.hub-modes-container{padding:4px 0}.hub-mode-card{padding:14px 16px;border-radius:12px;box-shadow:0 4px 16px #0006}.hub-mode-card:hover{transform:none}.hub-card-header{margin-bottom:4px;flex-wrap:wrap;gap:6px}.hub-card-icon{font-size:1.4rem}.hub-card-title{font-size:1.15rem}.hub-card-badge{font-size:.62rem;padding:3px 8px}.hub-card-subtitle{font-size:.82rem;margin:2px 0 10px;line-height:1.35}.hub-board-preview,.hub-card-desc,.hub-card-features,.hub-hotkey-hint,.hub-card-badge{display:none!important}.hub-card-actions{margin-top:4px}.hub-launch-btn{padding:12px 14px;font-size:.88rem;letter-spacing:1px}.hub-footer{margin-top:auto;padding-top:10px;font-size:.75rem;flex-direction:column;align-items:center;gap:6px;text-align:center}.hub-footer div:first-child{display:none}}@media(max-width:600px){.hub-modes-container{grid-template-columns:1fr;gap:12px}}@media(min-width:601px)and (max-width:768px){.hub-modes-container{grid-template-columns:repeat(2,1fr);gap:14px}}@media(max-width:360px){.arcade-hub{padding:10px 8px}.hub-main-title{font-size:1.6rem;letter-spacing:1px}.hub-card-title{font-size:1.05rem}.hub-mode-card{padding:12px}}.first-edition-root{--v1-cell-size: 30px;width:100%;min-height:100vh;background-color:#fff;color:#000;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;padding:20px 16px;box-sizing:border-box}.first-edition-root .v1-nav-bar{display:flex;justify-content:space-between;align-items:center;max-width:760px;margin:0 auto 20px;padding-bottom:10px;border-bottom:1px solid #d1d5db;font-size:14px;flex-wrap:wrap;gap:10px}.first-edition-root .v1-title-label{font-weight:600;color:#111827}.first-edition-root .v1-nav-actions{display:flex;gap:10px}.first-edition-root .v1-nav-btn{padding:4px 10px;font-size:13px;cursor:pointer;background-color:#f3f4f6;color:#111827;border:1px solid #9ca3af;border-radius:4px;text-decoration:none}.first-edition-root .v1-nav-btn:hover{background-color:#e5e7eb}.first-edition-root .app{display:grid;grid-template-areas:". title ." "spacer game controls";grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr);max-width:760px;margin:0 auto;align-items:start;justify-content:center;column-gap:24px;row-gap:12px}.first-edition-root h1{text-align:center;grid-area:title;font-size:2rem;color:#000;margin:0 0 8px;font-weight:700;text-shadow:none;font-family:inherit}.first-edition-root button{padding:6px 12px;cursor:pointer;background-color:#efefef;color:#000;border:1px solid #767676;border-radius:3px;font-size:14px;font-family:inherit;box-shadow:none;text-shadow:none;letter-spacing:normal}.first-edition-root button:hover{background-color:#e0e0e0}.first-edition-root .board{border:2px solid black;border-radius:0;-webkit-user-select:none;user-select:none;margin:0 auto;grid-area:game;background-color:#fff;background-image:none;box-shadow:none;overflow:visible;display:flex;flex-direction:column;width:fit-content;box-sizing:content-box}.first-edition-root .controls{grid-area:controls;padding-left:0;display:flex;flex-direction:column;align-items:flex-start}.first-edition-root .controls h2{font-size:1.3rem;color:#000;margin:0 0 12px;font-weight:400;background:none;border:none;padding:0;font-family:inherit;letter-spacing:normal;text-shadow:none}.first-edition-root .row{display:flex;height:var(--v1-cell-size, 30px);width:fit-content;line-height:0;margin:0;padding:0}.first-edition-root .upcoming{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:10px;background:none;border:none;padding:0;flex-wrap:wrap;max-width:100%}.first-edition-root .cell{width:var(--v1-cell-size, 30px);height:var(--v1-cell-size, 30px);border:1px solid black;box-sizing:border-box;border-radius:0;box-shadow:none;transition:none;background-image:none;flex-shrink:0}.first-edition-root .cell.hidden{visibility:hidden;border-color:transparent}.first-edition-root .cell.Empty{background-color:#c8c8c8}.first-edition-root .cell.I{background-color:#50e3e6}.first-edition-root .cell.J{background-color:#245fdf}.first-edition-root .cell.L{background-color:#dfad24}.first-edition-root .cell.O{background-color:#dfd924}.first-edition-root .cell.S{background-color:#30d338}.first-edition-root .cell.T{background-color:#843dc6}.first-edition-root .cell.Z{background-color:#e34e4e}@media(max-width:640px){.first-edition-root{--v1-cell-size: clamp(14px, 2.5vh, 22px);padding:10px 8px}.first-edition-root .v1-nav-bar{margin-bottom:8px;padding-bottom:6px;font-size:13px}.first-edition-root h1{font-size:1.6rem;margin:0 0 4px}.first-edition-root .app{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.first-edition-root .controls{align-items:center;text-align:center;width:100%}.first-edition-root .controls h2{margin-bottom:6px;font-size:1.15rem}.first-edition-root .upcoming{justify-content:center;gap:8px}}:root{--bg-deep: #080a12;--bg-surface: #0f1322;--bg-panel: rgba(18, 24, 43, .85);--border-panel: rgba(255, 255, 255, .1);--border-neon: rgba(0, 229, 255, .35);--c-i: #00e5ff;--c-i-glow: rgba(0, 229, 255, .6);--c-j: #2979ff;--c-j-glow: rgba(41, 121, 255, .6);--c-l: #ff9100;--c-l-glow: rgba(255, 145, 0, .6);--c-o: #ffd600;--c-o-glow: rgba(255, 214, 0, .6);--c-s: #00e676;--c-s-glow: rgba(0, 230, 118, .6);--c-t: #d500f9;--c-t-glow: rgba(213, 0, 249, .6);--c-z: #ff1744;--c-z-glow: rgba(255, 23, 68, .6);--font-arcade: "Orbitron", "Rajdhani", -apple-system, sans-serif;--font-ui: "Rajdhani", -apple-system, sans-serif;--cell-size: clamp(22px, 3.6vh, 32px);--mini-cell-size: 16px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;user-select:none;-webkit-user-select:none}html,body{min-height:100%;width:100%;overflow-x:hidden;overflow-y:auto;background-color:var(--bg-deep);color:#e0e6ed;font-family:var(--font-ui);display:flex;justify-content:center;align-items:center}#root{min-height:100vh;width:100%;display:flex;justify-content:center;align-items:center}.tetris-app-root{width:100%;min-height:100vh;display:flex;justify-content:center;align-items:center}.tetris-app-root.view-v1{background-color:#fff;display:block}.action-pill-btn.nav-hub-btn{background:#00e5ff1f;border:1px solid rgba(0,229,255,.4);color:#00e5ff}.action-pill-btn.nav-hub-btn:hover{background:#00e5ff40;box-shadow:0 0 12px #00e5ff66}.action-pill-btn.switch-v1-btn{background:#3b82f626;border:1px solid rgba(59,130,246,.4);color:#93c5fd}.action-pill-btn.switch-v1-btn:hover{background:#3b82f640;box-shadow:0 0 12px #3b82f666}.btn-text-short{display:none}.btn-text-full{display:inline}.arcade-cabinet{position:relative;width:100%;max-width:1040px;min-height:94vh;height:100%;max-height:980px;margin:0 auto;display:flex;flex-direction:column;justify-content:space-between;padding:16px 28px;background:radial-gradient(circle at 50% 20%,#151a30,#080a12 85%);box-shadow:0 0 80px #000000e6,0 0 0 1px #00e5ff26;border-radius:16px;overflow:hidden}.ambient-glow{position:absolute;width:380px;height:380px;border-radius:50%;filter:blur(100px);pointer-events:none;opacity:.15;z-index:0}.ambient-glow.cyan{top:10%;left:5%;background:var(--c-i)}.ambient-glow.purple{bottom:10%;right:5%;background:var(--c-t)}.arcade-header{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:4px 12px 10px;border-bottom:1px solid rgba(255,255,255,.08)}.logo-group{display:flex;align-items:center;gap:12px}.arcade-title{font-family:var(--font-arcade);font-size:1.8rem;font-weight:900;letter-spacing:4px;display:flex;gap:2px}.letter-t{color:var(--c-z);text-shadow:0 0 12px var(--c-z-glow)}.letter-e{color:var(--c-l);text-shadow:0 0 12px var(--c-l-glow)}.letter-t2{color:var(--c-o);text-shadow:0 0 12px var(--c-o-glow)}.letter-r{color:var(--c-s);text-shadow:0 0 12px var(--c-s-glow)}.letter-i{color:var(--c-i);text-shadow:0 0 12px var(--c-i-glow)}.letter-s{color:var(--c-t);text-shadow:0 0 12px var(--c-t-glow)}.arcade-badge{font-family:var(--font-arcade);font-size:.65rem;font-weight:800;padding:3px 8px;border-radius:4px;background:linear-gradient(135deg,#00e5ff33,#d500f933);border:1px solid var(--border-neon);color:var(--c-i);letter-spacing:2px;box-shadow:0 0 10px #00e5ff4d}.header-actions{display:flex;gap:10px;align-items:center}.action-icon-btn,.action-pill-btn,.arcade-btn{font-family:var(--font-arcade);border:none;cursor:pointer;transition:all .15s ease-in-out;display:flex;align-items:center;justify-content:center}.action-icon-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:8px 12px;font-size:1.1rem;color:#fff}.action-icon-btn:hover{background:#ffffff26;box-shadow:0 0 12px #fff3}.action-icon-btn.muted{opacity:.6;border-color:#ff174466}.action-pill-btn{font-size:.75rem;font-weight:700;letter-spacing:1.5px;padding:7px 16px;border-radius:6px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#e2e8f0}.action-pill-btn:hover{background:#ffffff2e;color:#fff}.action-pill-btn.primary{background:linear-gradient(135deg,#00b4d8,#0077b6);border:1px solid var(--c-i);color:#fff;box-shadow:0 0 15px #00e5ff59}.action-pill-btn.primary:hover{box-shadow:0 0 25px #00e5ff99;transform:translateY(-1px)}.action-pill-btn:active,.action-icon-btn:active{transform:translateY(1px)}.game-arena{position:relative;z-index:1;flex:1;display:flex;justify-content:center;align-items:center;gap:32px;padding:12px 0;min-height:0;width:100%;margin:0 auto}.arena-wing{display:flex;flex-direction:column;gap:16px;width:180px;flex-shrink:0}.arena-wing.left-wing{align-items:flex-end}.arena-wing.right-wing{align-items:flex-start}.arena-center{display:flex;justify-content:center;align-items:center;flex-shrink:0}.arcade-card{width:100%;background:var(--bg-panel);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--border-panel);border-radius:12px;padding:12px;box-shadow:0 8px 30px #0006,inset 0 1px #ffffff1a;transition:border-color .2s,box-shadow .2s}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;border-bottom:1px solid rgba(255,255,255,.06);padding-bottom:6px}.card-title{font-family:var(--font-arcade);font-size:.8rem;font-weight:800;letter-spacing:2px;color:#94a3b8}.shortcut-badge{font-size:.65rem;padding:2px 6px;background:#ffffff14;border-radius:4px;color:#94a3b8}.hold-card{cursor:pointer}.hold-card:hover:not(.hold-locked){border-color:#00e5ff66;box-shadow:0 8px 30px #00e5ff26}.hold-locked{opacity:.55;cursor:not-allowed}.preview-container{display:flex;justify-content:center;align-items:center;min-height:80px;background:#00000059;border-radius:8px;border:1px solid rgba(255,255,255,.03);padding:8px}.hold-empty-hint{font-family:var(--font-arcade);font-size:.7rem;color:#475569;letter-spacing:1px}.card-footer-hint{margin-top:8px;text-align:center;font-family:var(--font-arcade);font-size:.65rem;letter-spacing:1.5px;color:#64748b}.upcoming-list{display:flex;flex-direction:column;gap:10px;align-items:center}.upcoming-item{width:100%;display:flex;justify-content:center;align-items:center;padding:6px;background:#00000059;border-radius:8px;border:1px solid rgba(255,255,255,.03)}.upcoming-item.primary-next{border-color:#00e5ff40;background:#00e5ff08}.stats-grid{display:flex;flex-direction:column;gap:8px}.stat-item{display:flex;flex-direction:column;background:#0000004d;padding:6px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.04)}.stat-item.compact{flex:1}.stat-label{font-size:.65rem;font-weight:700;color:#64748b;letter-spacing:1px;margin-bottom:2px}.stat-value{font-family:var(--font-arcade);font-size:1.15rem;font-weight:800;letter-spacing:1px}.stat-row{display:flex;gap:8px}.stat-divider{height:1px;background:#ffffff0f;margin:2px 0}.neon-cyan{color:var(--c-i);text-shadow:0 0 10px var(--c-i-glow)}.neon-gold{color:var(--c-o);text-shadow:0 0 10px var(--c-o-glow)}.neon-green{color:var(--c-s);text-shadow:0 0 10px var(--c-s-glow)}.neon-purple{color:var(--c-t);text-shadow:0 0 10px var(--c-t-glow)}.arcade-cabinet .board-wrapper{position:relative}.arcade-cabinet .board-bezel{position:relative;background:linear-gradient(180deg,#1c233c,#0d1222);padding:10px;border-radius:14px;box-shadow:0 0 0 1px #ffffff26,0 0 40px #00e5ff40,0 25px 50px #000c,inset 0 2px 3px #fff3,inset 0 -2px 6px #000c}.arcade-cabinet .board{position:relative;display:flex;flex-direction:column;background-color:#06080f;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:var(--cell-size) var(--cell-size);border-radius:8px;overflow:hidden;box-shadow:inset 0 0 20px #000000f2}.arcade-cabinet .row{display:flex;height:var(--cell-size)}.arcade-cabinet .row-clearing{position:relative;z-index:10}.arcade-cabinet .cell{width:var(--cell-size);height:var(--cell-size);box-sizing:border-box;transition:background-color .05s ease}.arcade-cabinet .cell.empty{background:transparent;border:1px solid rgba(255,255,255,.03)}.arcade-cabinet .cell.block{border-radius:3px;box-shadow:inset 2px 2px #ffffff80,inset -2px -2px #00000080}.arcade-cabinet .cell.block-I,.arcade-cabinet .mini-cell.block-I{background:linear-gradient(135deg,#80f4ff 0%,var(--c-i) 60%,#009cb0 100%);box-shadow:inset 1px 1px #fff9,inset -1px -1px #00000080,0 0 10px var(--c-i-glow)}.arcade-cabinet .cell.block-J,.arcade-cabinet .mini-cell.block-J{background:linear-gradient(135deg,#7da7ff 0%,var(--c-j) 60%,#104bbb 100%);box-shadow:inset 1px 1px #fff9,inset -1px -1px #00000080,0 0 10px var(--c-j-glow)}.arcade-cabinet .cell.block-L,.arcade-cabinet .mini-cell.block-L{background:linear-gradient(135deg,#ffba60 0%,var(--c-l) 60%,#c46800 100%);box-shadow:inset 1px 1px #fff9,inset -1px -1px #00000080,0 0 10px var(--c-l-glow)}.arcade-cabinet .cell.block-O,.arcade-cabinet .mini-cell.block-O{background:linear-gradient(135deg,#ffec50 0%,var(--c-o) 60%,#bca100 100%);box-shadow:inset 1px 1px #fff9,inset -1px -1px #00000080,0 0 10px var(--c-o-glow)}.arcade-cabinet .cell.block-S,.arcade-cabinet .mini-cell.block-S{background:linear-gradient(135deg,#6bf5b5 0%,var(--c-s) 60%,#009e4d 100%);box-shadow:inset 1px 1px #fff9,inset -1px -1px #00000080,0 0 10px var(--c-s-glow)}.arcade-cabinet .cell.block-T,.arcade-cabinet .mini-cell.block-T{background:linear-gradient(135deg,#ed85ff 0%,var(--c-t) 60%,#8e00a8 100%);box-shadow:inset 1px 1px #fff9,inset -1px -1px #00000080,0 0 10px var(--c-t-glow)}.arcade-cabinet .cell.block-Z,.arcade-cabinet .mini-cell.block-Z{background:linear-gradient(135deg,#ff667f 0%,var(--c-z) 60%,#ba000d 100%);box-shadow:inset 1px 1px #fff9,inset -1px -1px #00000080,0 0 10px var(--c-z-glow)}.arcade-cabinet .cell.ghost{border-radius:3px;background-color:#ffffff0d;border:1.5px dashed rgba(255,255,255,.4)}.arcade-cabinet .cell.ghost-I{border-color:var(--c-i);background-color:#00e5ff1f;box-shadow:inset 0 0 6px var(--c-i-glow)}.arcade-cabinet .cell.ghost-J{border-color:var(--c-j);background-color:#2979ff1f;box-shadow:inset 0 0 6px var(--c-j-glow)}.arcade-cabinet .cell.ghost-L{border-color:var(--c-l);background-color:#ff91001f;box-shadow:inset 0 0 6px var(--c-l-glow)}.arcade-cabinet .cell.ghost-O{border-color:var(--c-o);background-color:#ffd6001f;box-shadow:inset 0 0 6px var(--c-o-glow)}.arcade-cabinet .cell.ghost-S{border-color:var(--c-s);background-color:#00e6761f;box-shadow:inset 0 0 6px var(--c-s-glow)}.arcade-cabinet .cell.ghost-T{border-color:var(--c-t);background-color:#d500f91f;box-shadow:inset 0 0 6px var(--c-t-glow)}.arcade-cabinet .cell.ghost-Z{border-color:var(--c-z);background-color:#ff17441f;box-shadow:inset 0 0 6px var(--c-z-glow)}.arcade-cabinet .cell.clearing{background:#fff!important;box-shadow:0 0 25px #fff,0 0 45px var(--c-i)!important;border-radius:2px;animation:lineClearAnim .26s cubic-bezier(.1,.9,.2,1) forwards}@keyframes lineClearAnim{0%{transform:scale(1);opacity:1;filter:brightness(2.5)}50%{transform:scale(1.18);opacity:.9;filter:brightness(3)}to{transform:scale(.2);opacity:0}}.arcade-cabinet .mini-grid{display:flex;flex-direction:column;align-items:center;justify-content:center}.arcade-cabinet .mini-row{display:flex}.arcade-cabinet .mini-cell{width:var(--mini-cell-size);height:var(--mini-cell-size);box-sizing:border-box}.arcade-cabinet .mini-cell.empty-mini{background:transparent}.board-overlay{position:absolute;top:10px;right:10px;bottom:10px;left:10px;display:flex;justify-content:center;align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#06080fd1;border-radius:8px;z-index:50;animation:overlayFadeIn .2s ease-out}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.overlay-content{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;padding:24px}.arcade-logo{font-family:var(--font-arcade);font-size:2.6rem;font-weight:900;letter-spacing:6px;background:linear-gradient(135deg,var(--c-i) 0%,var(--c-t) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 15px rgba(0,229,255,.6))}.arcade-tagline{font-family:var(--font-arcade);font-size:.85rem;letter-spacing:3px;color:#94a3b8}.overlay-title{font-family:var(--font-arcade);font-size:2.2rem;font-weight:900;letter-spacing:4px;color:#fff;text-shadow:0 0 20px rgba(255,255,255,.5)}.gameover-title{color:var(--c-z);text-shadow:0 0 25px var(--c-z-glow)}.overlay-subtitle{font-size:1rem;color:#94a3b8}.overlay-score-box{display:flex;flex-direction:column;align-items:center;gap:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);padding:12px 24px;border-radius:8px;width:100%}.overlay-stat{display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:#94a3b8;letter-spacing:1px}.stat-number.highlight{font-family:var(--font-arcade);font-size:2rem;font-weight:900;color:var(--c-o);text-shadow:0 0 15px var(--c-o-glow)}.new-high-badge{font-family:var(--font-arcade);font-size:.75rem;font-weight:800;color:var(--c-s);text-shadow:0 0 10px var(--c-s-glow);animation:pulse 1s infinite alternate}.arcade-btn{font-size:.9rem;font-weight:800;letter-spacing:2px;padding:12px 28px;border-radius:8px;background:linear-gradient(135deg,#00b4d8,#0077b6);border:1px solid var(--c-i);color:#fff;box-shadow:0 0 20px #00e5ff80}.arcade-btn:hover{box-shadow:0 0 35px #00e5ffcc;transform:translateY(-2px)}.arcade-btn:active{transform:translateY(1px)}.pulse{animation:btnPulse 1.8s infinite}@keyframes btnPulse{0%{box-shadow:0 0 15px #00e5ff66}50%{box-shadow:0 0 30px #00e5ffd9}to{box-shadow:0 0 15px #00e5ff66}}.clear-toast{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);font-family:var(--font-arcade);font-size:1.5rem;font-weight:900;letter-spacing:3px;color:#fff;background:#0f1423d9;border:2px solid var(--c-o);padding:10px 24px;border-radius:8px;box-shadow:0 0 30px var(--c-o-glow);text-shadow:0 0 15px var(--c-o-glow);pointer-events:none;z-index:60;white-space:nowrap;animation:toastPop 1s cubic-bezier(.18,.89,.32,1.28) forwards}@keyframes toastPop{0%{opacity:0;transform:translate(-50%,-20%) scale(.6)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}35%{transform:translate(-50%,-50%) scale(1)}80%{opacity:1;transform:translate(-50%,-60%) scale(1)}to{opacity:0;transform:translate(-50%,-80%) scale(.9)}}.arcade-footer{position:relative;z-index:2;margin-top:auto;padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}.controls-container{display:flex;flex-direction:column;gap:10px;align-items:center}.touch-controls{display:flex;justify-content:space-between;width:100%;max-width:520px}.touch-group{display:flex;gap:8px}.touch-btn{font-family:var(--font-arcade);font-size:1rem;font-weight:800;min-width:44px;height:44px;padding:0 12px;border-radius:8px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .1s ease;touch-action:manipulation}.touch-btn:hover:not(:disabled){background:#ffffff2e;border-color:#ffffff4d}.touch-btn:active:not(:disabled){transform:translateY(2px);background:#ffffff40}.touch-btn:disabled{opacity:.3;cursor:not-allowed}.touch-btn.rotate-btn.highlight{border-color:var(--c-i);color:var(--c-i)}.touch-btn.drop-btn{background:linear-gradient(135deg,#ff17444d,#ff91004d);border-color:var(--c-z);color:#fff}.touch-btn.util-btn{font-size:.75rem}.keyboard-shortcuts{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.shortcut-tag{font-size:.75rem;color:#64748b;display:flex;align-items:center;gap:4px}kbd{font-family:monospace;font-size:.7rem;padding:2px 6px;background:#ffffff14;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#cbd5e1;box-shadow:0 1px 2px #00000080}@media(min-width:681px)and (max-width:960px){:root{--cell-size: clamp(18px, 2.7vh, 23px);--mini-cell-size: 12px}.arcade-cabinet{height:100vh;height:100dvh;min-height:100vh;max-height:none;padding:10px 16px;border-radius:12px;overflow-x:hidden}.arcade-header{padding:4px 6px 8px}.arcade-title{font-size:1.5rem;letter-spacing:2px}.arcade-badge{font-size:.6rem;padding:2px 6px}.game-arena{gap:clamp(10px,1.8vw,18px);padding:6px 0}.arena-wing{width:clamp(125px,16vw,150px);gap:10px;flex-shrink:0}.arcade-card{padding:10px}.card-title{font-size:.75rem;letter-spacing:1.5px}.stat-value{font-size:1.05rem}.stat-item{padding:5px 8px}.arcade-cabinet .board-bezel{padding:8px;border-radius:10px}.touch-controls{max-width:480px}.keyboard-shortcuts{gap:8px}.shortcut-tag{font-size:.7rem}}@media(max-width:680px){:root{--cell-size: clamp(14px, 2.5vh, 20px);--mini-cell-size: 11px}.arcade-cabinet{width:100%;min-height:100vh;min-height:100dvh;height:100%;max-height:none;padding:6px 8px 8px;border-radius:0;overflow-x:hidden;justify-content:space-between}.arcade-header{flex-wrap:wrap;gap:6px 8px;padding:2px 2px 6px;justify-content:space-between}.logo-group{gap:8px}.arcade-title{font-size:1.25rem;letter-spacing:2px}.arcade-badge{display:none}.header-actions{gap:5px;flex-wrap:wrap}.action-pill-btn{padding:4px 8px;font-size:.65rem;letter-spacing:.5px}.action-icon-btn{padding:4px 8px;font-size:.9rem}.btn-text-full{display:none}.btn-text-short{display:inline}.game-arena{display:grid;grid-template-areas:"hold score next" "board board board";grid-template-columns:minmax(66px,78px) minmax(0,1fr) minmax(66px,78px);gap:6px;width:100%;max-width:100%;box-sizing:border-box;margin:0 auto;align-items:stretch;justify-items:center;padding:2px 0}.arena-wing.left-wing,.arena-wing.right-wing{display:contents}.hold-card{grid-area:hold;width:100%;min-width:0;box-sizing:border-box;padding:4px;display:flex;flex-direction:column;justify-content:space-between}.hold-card .card-header{margin-bottom:2px;padding-bottom:2px;justify-content:center}.hold-card .card-title{font-size:.7rem;letter-spacing:1px}.hold-card .shortcut-badge{display:none}.hold-card .preview-container{min-height:44px;padding:2px;flex:1}.hold-empty-hint span{font-size:.6rem;letter-spacing:.5px}.hold-card .card-footer-hint{margin-top:2px;font-size:.55rem;letter-spacing:.5px}.scoreboard-card{grid-area:score;width:100%;min-width:0;box-sizing:border-box;padding:4px 6px;display:flex;flex-direction:column;justify-content:center}.scoreboard-card .card-header,.scoreboard-card .stat-divider{display:none}.scoreboard-card .stats-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2px 4px;width:100%;min-width:0}.scoreboard-card .stat-row{display:contents}.scoreboard-card .stat-item{padding:2px 3px;align-items:center;text-align:center;border-radius:4px;min-width:0;overflow:hidden}.scoreboard-card .stat-label{font-size:.52rem;letter-spacing:.3px;margin-bottom:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scoreboard-card .stat-value{font-size:.85rem;letter-spacing:.3px;white-space:nowrap}.upcoming-card{grid-area:next;width:100%;min-width:0;box-sizing:border-box;padding:4px;display:flex;flex-direction:column;justify-content:space-between}.upcoming-card .card-header{margin-bottom:2px;padding-bottom:2px;justify-content:center}.upcoming-card .card-title{font-size:.7rem;letter-spacing:1px}.upcoming-card .upcoming-list{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.upcoming-card .upcoming-item{padding:2px;min-height:44px;display:flex;align-items:center;justify-content:center}.upcoming-card .upcoming-item.sub-next{display:none}.arena-center{grid-area:board;width:100%;display:flex;justify-content:center;align-items:center}.arcade-cabinet .board-bezel{padding:6px;border-radius:8px;box-shadow:0 0 0 1px #ffffff1f,0 0 24px #00e5ff33,0 12px 30px #000000b3}.arcade-cabinet .board-overlay{top:6px;right:6px;bottom:6px;left:6px;border-radius:6px}.arcade-cabinet .overlay-content{padding:10px;gap:8px}.arcade-cabinet .arcade-logo{font-size:1.8rem;letter-spacing:3px}.arcade-cabinet .overlay-title{font-size:1.4rem;letter-spacing:2px}.arcade-cabinet .overlay-score-box{padding:6px 12px}.arcade-cabinet .stat-number.highlight{font-size:1.5rem}.arcade-cabinet .arcade-btn{padding:8px 20px;font-size:.8rem;letter-spacing:1px}.arcade-cabinet .clear-toast{font-size:1.1rem;padding:6px 14px;letter-spacing:1.5px}.arcade-footer{padding-top:4px;margin-top:auto;width:100%;max-width:100%;box-sizing:border-box}.controls-container{gap:4px;width:100%;max-width:100%;box-sizing:border-box}.touch-controls{width:100%;max-width:100%;box-sizing:border-box;display:flex;justify-content:space-between;gap:4px}.touch-group{display:flex;gap:3px;min-width:0}.touch-btn{min-width:34px;height:38px;padding:0 4px;font-size:.85rem;border-radius:6px;box-sizing:border-box;flex-shrink:0}.touch-btn.drop-btn{min-width:48px;padding:0 4px;font-size:.65rem;letter-spacing:.3px}.touch-btn.util-btn{min-width:36px;padding:0 2px;font-size:.62rem;letter-spacing:.3px}.keyboard-shortcuts{display:none}}@media(max-width:360px){:root{--cell-size: clamp(12px, 2.3vh, 17px);--mini-cell-size: 9px}.game-arena{grid-template-columns:minmax(60px,72px) 1fr minmax(60px,72px);gap:4px}.touch-btn{min-width:29px;height:34px;padding:0 3px;font-size:.75rem}.touch-btn.drop-btn,.touch-btn.util-btn{font-size:.58rem}.action-pill-btn{padding:3px 6px;font-size:.58rem}}@media(max-height:520px)and (orientation:landscape){:root{--cell-size: clamp(11px, 3.6vh, 16px);--mini-cell-size: 10px}.arcade-cabinet{padding:4px 8px;height:100vh;height:100dvh}.arcade-header{padding:2px 0 4px}.arcade-title{font-size:1.1rem;letter-spacing:1.5px}.game-arena{display:flex;flex-direction:row;gap:10px;padding:2px 0}.arena-wing.left-wing,.arena-wing.right-wing{display:flex;width:105px;gap:6px}.upcoming-card .upcoming-item.sub-next{display:none}.touch-controls{max-width:400px}.touch-btn{height:30px;min-width:32px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;transition-duration:1ms!important}}
