.tetris-game{height:100vh;height:100dvh;display:grid;grid-template-rows:auto 1fr auto;background:linear-gradient(135deg,#1e1e2e,#2d2d44);color:#fff;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;overflow:hidden;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0)}.game-header{padding:8px 16px;text-align:center;background:#0000004d;border-bottom:1px solid rgba(255,255,255,.1)}.game-header h1{margin:0;font-size:clamp(1.5rem,4vw,2rem);background:linear-gradient(45deg,#ff6b9d,#c44fab,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.game-container{display:grid;grid-template-columns:1fr auto;gap:16px;padding:16px;overflow:hidden;height:100%}.game-area{display:flex;justify-content:center;align-items:center}.board-container{position:relative;width:min(300px,70vw);height:min(600px,calc(100vh - 200px));aspect-ratio:1/2}.tetris-board{width:100%;height:100%;display:grid;grid-template-columns:repeat(10,1fr);grid-template-rows:repeat(20,1fr);gap:0;border:2px solid #8b5cf6;border-radius:8px;overflow:hidden;box-shadow:0 0 20px #8b5cf64d}.cell,.cell.filled{position:relative}.cell.filled:after{content:"";position:absolute;top:2px;left:2px;right:2px;bottom:2px;background:linear-gradient(135deg,#ffffff4d,#ffffff1a);border-radius:1px;pointer-events:none}.sidebar{display:flex;flex-direction:column;gap:16px;width:min(120px,25vw)}.next-piece{background:#0000004d;border-radius:8px;padding:12px;border:1px solid rgba(255,255,255,.1)}.next-piece h3{margin:0 0 8px;font-size:.9rem;text-align:center;color:#c084fc}.next-piece-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);gap:1px;aspect-ratio:1/1}.preview-cell{aspect-ratio:1/1;position:relative}.preview-cell.filled:after{content:"";position:absolute;top:1px;left:1px;right:1px;bottom:1px;background:linear-gradient(135deg,#ffffff4d,#ffffff1a);border-radius:1px}.game-info{background:#0000004d;border-radius:8px;padding:12px;border:1px solid rgba(255,255,255,.1)}.info-item{margin-bottom:12px}.info-item:last-child{margin-bottom:0}.info-item h3{margin:0 0 4px;font-size:.8rem;color:#c084fc;text-transform:uppercase;letter-spacing:.5px}.info-value{font-size:1.1rem;font-weight:700;color:#fff}.touch-controls{padding:16px;background:#00000080;border-top:1px solid rgba(255,255,255,.1)}.controls-row{display:flex;justify-content:center;gap:12px;margin-bottom:12px}.controls-row:last-child{margin-bottom:0}.control-btn{min-width:56px;min-height:56px;border:2px solid #8b5cf6;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;font-size:1.5rem;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;transition:all .15s ease;box-shadow:0 4px 12px #8b5cf64d}.control-btn:active{transform:scale(.95);box-shadow:0 2px 8px #8b5cf666}.control-btn:disabled{opacity:.5;transform:none;cursor:not-allowed}.pause-btn{background:linear-gradient(135deg,#f59e0b,#d97706);border-color:#f59e0b;box-shadow:0 4px 12px #f59e0b4d}.drop-btn{background:linear-gradient(135deg,#ef4444,#dc2626);border-color:#ef4444;box-shadow:0 4px 12px #ef44444d}.game-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:10;border-radius:8px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.overlay-content{text-align:center;padding:24px;max-width:90%}.overlay-content h1{margin:0 0 16px;font-size:clamp(2rem,6vw,3rem);background:linear-gradient(45deg,#ff6b9d,#c44fab,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.overlay-content h2{margin:0 0 16px;font-size:clamp(1.5rem,5vw,2rem);color:#c084fc}.overlay-content p{margin:0 0 12px;font-size:1rem;color:#e5e7eb}.start-btn,.resume-btn,.restart-btn{min-height:48px;padding:12px 32px;margin:16px 0;border:none;border-radius:24px;background:linear-gradient(45deg,#8b5cf6,#6366f1);color:#fff;font-size:1.1rem;font-weight:600;cursor:pointer;touch-action:manipulation;transition:all .2s ease;box-shadow:0 4px 16px #8b5cf64d}.start-btn:active,.resume-btn:active,.restart-btn:active{transform:scale(.98);box-shadow:0 2px 12px #8b5cf666}.instructions{margin-top:20px;padding:16px;background:#ffffff0d;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.instructions h3{margin:0 0 12px;font-size:1rem;color:#c084fc}.instructions p{margin:4px 0;font-size:.9rem;color:#d1d5db}.final-score{font-size:1.5rem;font-weight:700;color:#fbbf24;margin:16px 0}.final-stats{margin:16px 0}.final-stats p{margin:4px 0;font-size:1rem;color:#e5e7eb}@media (min-width: 768px){.game-container{grid-template-columns:1fr 180px;gap:24px;padding:24px}.board-container{width:min(400px,60vw);height:min(800px,calc(100vh - 200px))}.sidebar{width:180px;gap:20px}.next-piece,.game-info{padding:16px}.touch-controls{display:none}.controls-row{gap:16px}.control-btn{min-width:60px;min-height:60px}.overlay-content{padding:32px}}@media (min-width: 1024px){.game-container{grid-template-columns:200px 1fr 200px;gap:32px;padding:32px;justify-items:center}.board-container{width:400px;height:800px}.sidebar{width:200px}}@media (max-height: 600px) and (orientation: landscape){.game-container{grid-template-columns:1fr auto auto;padding:8px}.board-container{width:min(250px,40vw);height:min(500px,calc(100vh - 120px))}.touch-controls{padding:8px}.control-btn{min-width:44px;min-height:44px;font-size:1.2rem}.controls-row{gap:8px;margin-bottom:8px}}*{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.cell,.preview-cell,.control-btn{transition:all .1s ease}.control-btn:focus-visible,.start-btn:focus-visible,.resume-btn:focus-visible,.restart-btn:focus-visible{outline:2px solid #fbbf24;outline-offset:2px}*{margin:0;padding:0;box-sizing:border-box}html{height:100%;width:100%;overflow:hidden;font-size:16px}body{height:100%;width:100%;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden;position:fixed;background:#0f0f23}#root{height:100%;width:100%;overflow:hidden}button{border:none;background:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer}html,body{overscroll-behavior:none;-webkit-overflow-scrolling:touch}::-webkit-scrollbar{width:0;height:0;background:transparent}@media (pointer: coarse){button,[role=button]{min-height:44px;min-width:44px}}@media (prefers-contrast: high){*{border-color:currentColor!important}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
