@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--font-mono: "IBM Plex Mono", monospace;--cell-size: 9vw;--bg-cream: #ffffff;--bg-board: #ffffff;--text-primary: #000000;--text-secondary: #666666;--border-color: #000000;--cell-default: #c0c0c0}[data-theme=dark]{--bg-cream: #1a1a1a;--bg-board: #222222;--text-primary: #ffffff;--text-secondary: #888888;--border-color: #444444;--cell-default: #333333}*{margin:0;padding:0;box-sizing:border-box}.tetris-piece,.tetris-piece *{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.tetris-board>div{touch-action:manipulation;-webkit-tap-highlight-color:transparent}html,body{width:100%;overflow-x:hidden}a{color:inherit;text-decoration:none}.header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:var(--bg-cream);border-bottom:2px solid var(--border-color)}.header-name{font-size:14px;font-weight:500}.header-nav a{font-size:10px;color:var(--text-secondary);margin-left:16px}.theme-toggle{background:none;border:1px solid var(--border-color);padding:4px 8px;font-size:10px;font-family:inherit;cursor:pointer}.tetris-board{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(6,1fr);--grid-gap: 2px;gap:var(--grid-gap);width:100%;height:auto;aspect-ratio:auto;flex-grow:1;margin:0 auto;padding:0;background:var(--bg-board);contain:layout}@media(max-width:600px){.tetris-board{grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(8,1fr);--grid-gap: 1px;gap:var(--grid-gap)}}@media(max-width:400px){.tetris-board{gap:1px;padding:0}.tetris-piece{border:none!important}.header-tagline{display:none}}@media(max-width:500px){.header-tagline{display:none}.footer{width:100%!important;max-width:100%;padding:8px 16px}}@media(max-width:360px){.header{padding:8px 12px}.header-name{font-size:12px}}html,body{width:100%;overflow-x:hidden;height:100%}body{font-family:var(--font-mono);background:var(--bg-cream)}.tetris-piece{display:block;width:100%;height:100%;border:none!important;outline:none!important;box-shadow:none!important;border-radius:0}.tetris-piece *{border:none!important;outline:none!important;box-shadow:none!important}@keyframes tetrisFall{0%{transform:translateY(-100vh);opacity:0}5%{opacity:1}75%{transform:translateY(0)}88%{transform:translateY(-8px)}to{transform:translateY(0);opacity:1}}.footer{padding:10px 20px;font-size:10px;color:var(--text-secondary);width:calc(10 * var(--cell-size));margin:auto auto 0;text-align:center}@keyframes colorBlink{0%,20%,70%,to{background-color:var(--dim-color)}40%,50%{background-color:var(--vibrant-color)}}
