:root{color-scheme:light;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;min-height:100dvh;background:#dce8f5;color:#2c3e50;overflow-x:hidden;-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none;-webkit-user-select:none}.game-container{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:12px 16px 24px;position:relative;background:linear-gradient(160deg,#c8daf0,#dce8f5 40%,#e2ecf8);touch-action:none}.back-btn{width:36px;height:36px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#ffffff59;border:1px solid rgba(255,255,255,.45);border-radius:10px;cursor:pointer;color:#3a5a7c;transition:transform .15s ease,background .15s ease}.back-btn:hover{background:#ffffff8c;transform:scale(1.05)}.back-btn:active{transform:scale(.95)}.game-header{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:420px;margin-bottom:12px;padding:8px 0}.header-left{display:flex;align-items:center;gap:8px}.score-section{text-align:center;min-width:70px}.score-label{font-size:.6rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#2c3e5073;margin-bottom:2px}.score-value{font-size:1.5rem;font-weight:800;color:#3a5a7c;font-variant-numeric:tabular-nums}.score-value.best{color:#d4845a}.title-section{text-align:center}.game-title{font-size:1.3rem;font-weight:900;letter-spacing:.04em;display:flex;justify-content:center;gap:2px}.title-block-sm{display:inline-block;color:#fff;border-radius:4px;padding:1px 4px;line-height:1.2;text-shadow:0 1px 2px rgba(0,0,0,.15);box-shadow:inset 0 1px 2px #ffffff4d,0 1px 2px #0000000f}.combo-banner{font-size:.85rem;font-weight:800;letter-spacing:.1em;color:#d4845a;text-align:center;margin-bottom:4px;animation:combo-pulse .5s ease-in-out infinite alternate;text-shadow:0 0 8px rgba(212,132,90,.3)}@keyframes combo-pulse{0%{transform:scale(1);opacity:.85}to{transform:scale(1.08);opacity:1}}.cleared-popup{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.3rem;font-weight:900;color:#5aaa7a;text-shadow:0 0 14px rgba(90,170,122,.4);pointer-events:none;z-index:100;animation:pop-up 1.5s ease-out forwards}@keyframes pop-up{0%{opacity:1;transform:translate(-50%,-50%) scale(.5)}30%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}to{opacity:0;transform:translate(-50%,-70%) scale(1)}}.board-wrapper{display:flex;justify-content:center;margin:8px 0 16px}.board{display:grid;gap:2px;background:#ffffff59;border:2px solid rgba(255,255,255,.5);border-radius:10px;padding:3px;position:relative;box-shadow:0 4px 16px #648cb426}.board-cell{border-radius:5px;transition:background-color .15s ease,box-shadow .15s ease,transform .15s ease}.board-cell.empty{background:#fff6;border:1px solid rgba(255,255,255,.5)}.board-cell.filled{border:1px solid rgba(0,0,0,.1);box-shadow:inset 0 1px 3px #fff6,0 1px 3px #00000014}.board-cell.flash{animation:cell-flash .3s ease-out}@keyframes cell-flash{0%{filter:brightness(1)}50%{filter:brightness(1.5);transform:scale(1.05)}to{filter:brightness(1);transform:scale(1)}}.board-cell.ghost-valid{opacity:.5;border:1px solid rgba(100,160,220,.3);box-shadow:inset 0 0 4px #64a0dc26}.board-cell.ghost-invalid{background:#dc787840!important;border:1px solid rgba(220,120,120,.35)}.tray{display:flex;justify-content:center;align-items:center;gap:10px;padding:8px 10px;background:#ffffff4d;border:1px solid rgba(255,255,255,.45);border-radius:12px;min-height:auto;width:fit-content;max-width:420px;box-shadow:0 2px 10px #648cb41a}.tray-piece-slot{display:flex;align-items:center;justify-content:center;padding:4px;border-radius:8px;border:1px solid rgba(255,255,255,.4);background:#ffffff40;transition:transform .15s ease,border-color .15s ease,background .15s ease}.tray-piece-slot.empty{border-style:dashed;border-color:#2c3e501f;min-width:48px;min-height:48px}.tray-piece-slot.draggable{cursor:grab}.tray-piece-slot.draggable:hover{transform:scale(1.05);border-color:#64a0dc66;background:#fff6}.tray-piece-slot.draggable:active{cursor:grabbing;transform:scale(.95)}.tray-piece-slot.disabled{pointer-events:none}.game-over-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#c8daf0e6;display:flex;align-items:center;justify-content:center;z-index:200;animation:fade-in .4s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.game-over-modal{background:linear-gradient(145deg,#f0f4fa,#e2ecf8);border:1px solid rgba(255,255,255,.6);border-radius:16px;padding:32px 40px;text-align:center;max-width:320px;width:90%;animation:modal-pop .4s ease;box-shadow:0 8px 32px #648cb433}@keyframes modal-pop{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.game-over-modal h2{font-size:1.6rem;font-weight:800;margin-bottom:20px;color:#c07a6e;text-shadow:none}.final-score{margin-bottom:12px}.final-label{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:#2c3e5073;margin-bottom:4px}.final-value{font-size:2.5rem;font-weight:900;color:#3a5a7c;font-variant-numeric:tabular-nums}.new-record{font-size:.85rem;font-weight:800;letter-spacing:.1em;color:#d4845a;margin-bottom:20px;animation:combo-pulse .5s ease-in-out infinite alternate}.play-again-btn{margin-top:16px;padding:12px 36px;font-size:.95rem;font-weight:700;letter-spacing:.05em;color:#fff;background:linear-gradient(135deg,#7ba7d4,#c5a3d9);border:none;border-radius:10px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 4px 16px #7ba7d44d}.play-again-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px #7ba7d473}.play-again-btn:active{transform:translateY(0)}.menu-btn{margin-top:10px;padding:10px 36px;font-size:.85rem;font-weight:600;letter-spacing:.05em;color:#2c3e5099;background:#fff6;border:1px solid rgba(44,62,80,.12);border-radius:10px;cursor:pointer;transition:background .15s ease}.menu-btn:hover{background:#fff9}.difficulty-badge{font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-top:2px;background:#ffffff59;padding:2px 10px;border-radius:6px;display:inline-block}.menu-container{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:linear-gradient(160deg,#c8daf0,#dce8f5 40%,#e2ecf8)}.menu-card{text-align:center;max-width:380px;width:100%;animation:modal-pop .5s ease}.menu-title{font-size:2.8rem;font-weight:900;letter-spacing:.06em;margin-bottom:8px;display:flex;justify-content:center;gap:3px}.title-block{display:inline-block;color:#fff;border-radius:6px;padding:2px 6px;line-height:1.2;text-shadow:0 1px 2px rgba(0,0,0,.15);box-shadow:inset 0 1px 3px #ffffff59,0 2px 4px #00000014}.menu-subtitle{font-size:.9rem;color:#2c3e5080;margin-bottom:28px}.difficulty-buttons{display:flex;flex-direction:column;gap:10px;align-items:center}.difficulty-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 18px;width:100%;max-width:240px;border:none;border-radius:12px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;box-shadow:0 2px 10px #648cb41f}.difficulty-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #648cb433}.difficulty-btn:active{transform:translateY(0)}.diff-label{font-size:1.05rem;font-weight:800;color:#3a4a5c;text-shadow:0 1px 0 rgba(255,255,255,.45)}.diff-desc{font-size:.72rem;color:#6a8094;font-weight:500}@media(max-width:380px){.game-container{padding:8px 8px 16px}.board{gap:1px;padding:2px}.tray{gap:8px;padding:6px 8px}.score-value{font-size:1.2rem}.game-title{font-size:.95rem}}@media(min-width:768px){.game-container{padding:24px 32px;justify-content:center}.game-header{max-width:480px;margin-bottom:16px}.game-title{font-size:1.9rem}.score-value{font-size:1.8rem}.tray{max-width:480px;gap:14px;padding:10px 14px}.game-over-modal{padding:40px 48px}.final-value{font-size:3rem}}@media(max-height:500px)and (orientation:landscape){.game-container{padding:6px 12px 8px;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:8px}.game-header{width:100%;margin-bottom:4px}.board-wrapper{margin:4px 12px 4px 0}.tray{flex-direction:column;min-height:auto;padding:8px;gap:8px}}@media(min-width:1024px){.game-container{gap:0}.board-wrapper{margin:12px 0 20px}}
