.controls__list[data-v-6681bab6]{display:grid;gap:.4rem;margin:0}.controls__row[data-v-6681bab6]{display:grid;grid-template-columns:6.5rem 1fr;gap:.5rem;align-items:baseline;font-size:.82rem}.controls__row dt[data-v-6681bab6]{display:flex;gap:.25rem;flex-wrap:wrap}.controls__row dd[data-v-6681bab6]{margin:0;color:var(--tetris-muted)}kbd[data-v-6681bab6]{min-width:1.5rem;padding:.1rem .35rem;border:1px solid var(--tetris-border);border-bottom-width:2px;border-radius:4px;background:var(--tetris-panel-inset);font-family:inherit;font-size:.72rem;text-align:center}.controls__touch[data-v-6681bab6]{margin:.75rem 0 0;color:var(--tetris-muted);font-size:.78rem;line-height:1.45}.playfield[data-v-18d259f6]{position:relative;aspect-ratio:10 / 20;width:100%;max-width:min(46vh,100%);margin-inline:auto;border:1px solid var(--tetris-border);border-radius:var(--tetris-radius);background:var(--tetris-field-bg);box-shadow:var(--tetris-shadow);overflow:hidden}.playfield__canvas[data-v-18d259f6]{display:block;width:100%;height:100%;touch-action:none}.playfield[data-v-18d259f6]:after{content:"";position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none}.playfield--flash[data-v-18d259f6]:after{animation:playfield-flash-18d259f6 .22s ease-out}@keyframes playfield-flash-18d259f6{0%{opacity:.4}to{opacity:0}}@media (prefers-reduced-motion: reduce){.playfield--flash[data-v-18d259f6]:after{animation:none}}.overlay[data-v-7380bef7]{position:absolute;inset:0;display:grid;place-items:center;padding:1rem;background:#0206178c;backdrop-filter:blur(2px);z-index:2}.overlay__panel[data-v-7380bef7]{width:min(20rem,100%);padding:1.25rem;text-align:center;border:1px solid var(--tetris-border);border-radius:var(--tetris-radius);background:var(--tetris-panel-bg);box-shadow:var(--tetris-shadow)}.overlay__title[data-v-7380bef7]{margin:0 0 .5rem;font-size:1.5rem;letter-spacing:.02em}.overlay__body[data-v-7380bef7]{margin:0 0 1rem;color:var(--tetris-muted);font-size:.9rem;line-height:1.5}.overlay__best[data-v-7380bef7]{margin:0 0 .75rem;color:var(--tetris-accent);font-weight:650}.overlay__summary[data-v-7380bef7]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:0}.overlay__summary dt[data-v-7380bef7]{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.overlay__summary dd[data-v-7380bef7]{margin:.15rem 0 0;color:var(--tetris-text);font-size:1.05rem;font-variant-numeric:tabular-nums;font-weight:650}.overlay__actions[data-v-7380bef7]{display:flex;flex-direction:column;gap:.5rem}kbd[data-v-7380bef7]{padding:.05rem .3rem;border:1px solid var(--tetris-border);border-radius:4px;background:var(--tetris-panel-inset);color:var(--tetris-text);font-family:inherit;font-size:.8em}.preview[data-v-4307d534]{display:block}.next__list[data-v-544397b4]{display:flex;gap:.5rem;align-items:center;margin:0;padding:0;list-style:none;flex-wrap:wrap}.next__item[data-v-544397b4]{display:flex;align-items:center;justify-content:center;padding:.25rem;border-radius:calc(var(--tetris-radius) / 2);background:var(--tetris-panel-inset)}.next__empty[data-v-544397b4]{color:var(--tetris-muted)}@media (min-width: 900px){.next__list[data-v-544397b4]{flex-direction:column;align-items:flex-start}}.stats__grid[data-v-ea498f21]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:0}.stats__item[data-v-ea498f21]{padding:.45rem .6rem;border-radius:calc(var(--tetris-radius) / 2);background:var(--tetris-panel-inset)}.stats__item--wide[data-v-ea498f21]{grid-column:span 2}.stats__item dt[data-v-ea498f21]{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tetris-muted)}.stats__item dd[data-v-ea498f21]{margin:.15rem 0 0;font-size:1.15rem;font-variant-numeric:tabular-nums;font-weight:650}.stats__item--wide dd[data-v-ea498f21]{font-size:1.5rem}.stats__hint[data-v-ea498f21]{margin:.6rem 0 0;font-size:.78rem;color:var(--tetris-muted)}.touch[data-v-9603763a]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.touch__button[data-v-9603763a]{display:grid;place-items:center;min-height:3.25rem;padding:.5rem;border:1px solid var(--tetris-border);border-radius:var(--tetris-radius);background:var(--tetris-panel-inset);color:var(--tetris-text);font-size:1.25rem;cursor:pointer;touch-action:manipulation;user-select:none}.touch__button[data-v-9603763a]:active:not(:disabled){background:var(--tetris-accent-soft);transform:translateY(1px)}.touch__button[data-v-9603763a]:disabled{opacity:.4;cursor:not-allowed}.touch__button--wide[data-v-9603763a]{grid-column:span 2}.touch__button[data-v-9603763a]:focus-visible{outline:2px solid var(--tetris-accent);outline-offset:2px}.app[data-v-1364ab1c]{display:flex;flex-direction:column;gap:1rem;width:min(64rem,100%);margin-inline:auto;padding:clamp(.75rem,2vw,1.5rem);padding-bottom:max(1rem,env(safe-area-inset-bottom))}.app__header[data-v-1364ab1c]{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between}.app__title[data-v-1364ab1c]{margin:0;font-size:clamp(1.4rem,4vw,2rem);font-weight:700;letter-spacing:.16em;text-transform:uppercase;background:linear-gradient(120deg,var(--tetris-accent),#f472b6);-webkit-background-clip:text;background-clip:text;color:transparent}.app__toolbar[data-v-1364ab1c]{display:flex;flex-wrap:wrap;gap:.5rem}.app__main[data-v-1364ab1c]{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr)}.app__stage[data-v-1364ab1c]{position:relative}.app__sidebar[data-v-1364ab1c]{display:grid;gap:.75rem;grid-template-columns:minmax(0,1fr)}.app__footer[data-v-1364ab1c]{max-width:26rem;width:100%;margin-inline:auto}.app__help[data-v-1364ab1c]{display:none}@media (min-width: 640px){.app__sidebar[data-v-1364ab1c]{grid-template-columns:repeat(2,minmax(0,1fr))}.app__help[data-v-1364ab1c]{display:block;grid-column:span 2}}@media (min-width: 900px){.app__main[data-v-1364ab1c]{grid-template-columns:minmax(0,1fr) 17rem;align-items:start}.app__sidebar[data-v-1364ab1c]{grid-template-columns:minmax(0,1fr)}.app__help[data-v-1364ab1c]{grid-column:auto}}@media (min-width: 900px) and (pointer: fine){.app__footer[data-v-1364ab1c]{display:none}}:root{--tetris-bg: #060913;--tetris-field-bg: #0b1020;--tetris-panel-bg: #101830;--tetris-panel-inset: #16203c;--tetris-border: #26314f;--tetris-text: #e2e8f0;--tetris-muted: #94a3b8;--tetris-accent: #22d3ee;--tetris-accent-soft: #164e63;--tetris-radius: 12px;--tetris-shadow: 0 12px 32px rgba(2, 6, 23, .55);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:radial-gradient(120% 90% at 50% 0%,#14213d 0%,transparent 60%),var(--tetris-bg);color:var(--tetris-text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.4;-webkit-font-smoothing:antialiased;overscroll-behavior:none}#app{min-height:100dvh}h1,h2,h3{line-height:1.2}.panel{padding:.85rem;border:1px solid var(--tetris-border);border-radius:var(--tetris-radius);background:var(--tetris-panel-bg);box-shadow:var(--tetris-shadow)}.panel-heading{margin:0 0 .6rem;font-size:.72rem;font-weight:650;letter-spacing:.14em;text-transform:uppercase;color:var(--tetris-muted)}.button{padding:.45rem .85rem;border:1px solid var(--tetris-border);border-radius:999px;background:var(--tetris-panel-inset);color:var(--tetris-text);font:inherit;font-size:.85rem;cursor:pointer;transition:background-color .12s ease,transform .12s ease}.button:hover:not(:disabled){background:var(--tetris-accent-soft)}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{opacity:.45;cursor:not-allowed}.button--primary{border-color:transparent;background:var(--tetris-accent);color:#04121a;font-weight:650}.button--primary:hover:not(:disabled){background:#67e8f9}.button--quiet{background:transparent;color:var(--tetris-muted)}.button--quiet:hover:not(:disabled){background:var(--tetris-panel-inset);color:var(--tetris-text)}:focus-visible{outline:2px solid var(--tetris-accent);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
