:root{color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%}body{background:linear-gradient(135deg,#0f0c29,#302b63,#24243e);font-family:Segoe UI,system-ui,-apple-system,sans-serif;overflow-x:hidden;color:#fff}.level-select{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px}.ls-title{font-size:36px;font-weight:800;margin-bottom:8px;text-shadow:0 4px 16px rgba(0,0,0,.3)}.ls-subtitle{color:#ffffff80;font-size:15px;margin-bottom:36px}.ls-grid{display:flex;gap:20px;flex-wrap:wrap;justify-content:center;max-width:780px}.ls-card{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:28px 24px;width:220px;cursor:pointer;text-align:left;color:#fff;transition:all .25s ease;position:relative;overflow:hidden}.ls-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(233,69,96,.08),transparent);opacity:0;transition:opacity .25s}.ls-card:hover{transform:translateY(-4px);border-color:#e9456066;box-shadow:0 12px 40px #e9456026}.ls-card:hover:before{opacity:1}.ls-card:active{transform:translateY(-1px) scale(.98)}.ls-card.ls-done{border-color:#4caf504d}.ls-card.ls-done:before{background:linear-gradient(135deg,rgba(76,175,80,.08),transparent)}.ls-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.ls-level-num{font-size:12px;color:#fff6;font-weight:600;text-transform:uppercase;letter-spacing:.1em}.ls-badge{font-size:11px;color:#66bb6a;background:#4caf501f;padding:2px 8px;border-radius:6px;font-weight:600}.ls-name{font-size:20px;font-weight:700;margin-bottom:6px}.ls-desc{font-size:13px;color:#ffffff73;margin-bottom:14px;line-height:1.4}.ls-stats{display:flex;gap:12px;font-size:12px;color:#ffffff4d;font-weight:500}.ls-stats span{background:#ffffff0d;padding:3px 8px;border-radius:6px}.game{display:flex;flex-direction:column;align-items:center;height:100vh;padding:16px 20px 100px}.game-header{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:700px;margin-bottom:6px;flex-shrink:0}.header-left{display:flex;align-items:center;gap:10px}.game-header h1{font-size:18px;font-weight:700;text-shadow:0 2px 8px rgba(0,0,0,.3);white-space:nowrap}.header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.tile-count{font-size:13px;color:#fff9;font-weight:500;white-space:nowrap}.warn{color:#ff9800;font-size:11px}.btn{padding:7px 14px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.btn:active{transform:scale(.96)}.btn-primary{background:linear-gradient(135deg,#e94560,#c23152);color:#fff;box-shadow:0 2px 8px #e945604d}.btn-primary:hover{background:linear-gradient(135deg,#ff6b81,#e94560);box-shadow:0 4px 12px #e9456066}.btn-secondary{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.15)}.btn-secondary:hover{background:#fff3}.btn-back{background:#ffffff14;color:#ffffffb3;border:1px solid rgba(255,255,255,.1);padding:6px 12px;font-size:12px}.btn-back:hover{background:#ffffff26;color:#fff}.board-wrapper{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;min-height:0}.game-board{position:relative}.instructions{text-align:center;display:flex;align-items:center;justify-content:center;gap:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:6px 16px;max-width:520px}.tip-tag{font-size:11px;font-weight:700;color:#e94560;background:#e9456026;padding:2px 8px;border-radius:6px;flex-shrink:0;text-transform:uppercase;letter-spacing:.05em}.tip-text{font-size:12px;color:#ffffff80;line-height:1.4}.tile{position:absolute;width:64px;height:64px;border-radius:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease;user-select:none;-webkit-user-select:none;border:2px solid rgba(255,255,255,.12)}.tile-emoji{font-size:32px;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}.tile.blocked{opacity:.4;cursor:not-allowed;filter:brightness(.55) saturate(.4);border-color:#ffffff0a}.tile.clickable{border-color:#ffffff40}.tile.clickable:hover{transform:scale(1.14);z-index:999999!important;box-shadow:0 0 22px #fff6!important;border-color:#ffffff8c}.tile.clickable:active{transform:scale(.92)}.tile.layer-0{border-width:2px}.tile.layer-1{border-width:2.5px}.tile.layer-2{border-width:3px}.tile.layer-3{border-width:3.5px}.bottom-bar{position:fixed;bottom:0;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 16px 16px;background:linear-gradient(to top,rgba(15,12,41,.95) 60%,transparent);z-index:100}.slot-bar{background:#ffffff12;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:10px 14px;display:flex;gap:8px;box-shadow:0 8px 32px #0006}.slot-cell{width:56px;height:56px;border-radius:12px;background:#ffffff08;border:2px dashed rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;transition:all .2s}.slot-cell.filled{background:#ffffff1a;border:2px solid rgba(255,255,255,.18);animation:pop-in .2s ease}@keyframes pop-in{0%{transform:scale(.7);opacity:0}60%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fade-in .3s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.overlay-content{background:linear-gradient(145deg,#1a1a2e,#16213e);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:36px 44px;text-align:center;box-shadow:0 24px 64px #00000080;animation:slide-up .35s ease;max-width:380px}@keyframes slide-up{0%{transform:translateY(30px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.overlay-content h2{font-size:26px;font-weight:700;margin-bottom:10px}.overlay-content p{color:#ffffff8c;font-size:14px;margin-bottom:24px}.overlay-btns{display:flex;gap:10px;justify-content:center}.overlay-btns .btn{padding:10px 24px;font-size:14px}@media(max-width:560px){.game-board{transform:scale(.55);transform-origin:center center}.game-header{flex-direction:column;gap:8px}.ls-grid{flex-direction:column;align-items:center}.ls-card{width:100%;max-width:280px}}@media(max-height:700px){.game-board{transform:scale(.5);transform-origin:center center}}
