:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--bg-deep: #0f172a;--bg-surface: #0f172a;--accent: #38bdf8;--accent-glow: rgba(56, 189, 248, .3);--text-main: #f8fafc;--text-muted: #94a3b8;--danger: #ef4444;--warning: #fbbf24;--glass: rgba(30, 41, 59, .7)}#root{display:flex;justify-content:center;align-items:center;min-height:100vh;max-width:1280px;margin:0 auto;padding:2rem;text-align:center}body{margin:0;background-color:var(--bg-deep);color:var(--text-main);font-family:Inter,sans-serif;overflow:hidden}.App{display:flex;flex-direction:column;align-items:center;min-height:100vh;padding:10px}.logo-image{width:70%}.score-board{font-size:2.5rem;font-weight:800;font-weight:700;margin-bottom:20px;color:#2c3e50}.grid{display:grid;grid-template-columns:repeat(9,40px);grid-template-rows:repeat(9,40px);gap:2px;background-color:#1e293b;padding:8px;border-radius:12px;border:2px solid #334155;box-shadow:0 20px 50px #00000080,0 0 20px #38bdf81a;width:fit-content;margin:0 auto}.cell{width:40px;height:40px;background-color:#334155;border-radius:4px;transition:all .15s ease}.alt-square{background-color:#0b1524}.cell.filled{background-color:#49d7ff;box-shadow:inset 0 0 8px #ffffff80}.inventory{margin-top:20px;display:flex;justify-content:center;align-items:center;gap:30px;min-height:150px}.draggable-block-wrapper.selected{outline:px solid #3498db;border-radius:8px;background:#3498db1a}.react-draggable-dragging{z-index:1000;transform:scale(1.1) translateY(-40px)!important}.cell.hover-valid{background-color:#4caf5099!important;box-shadow:inset 0 0 10px #4caf50;outline:2px solid #22c55e}.cell.hover-invalid{background-color:#f4433680!important;box-shadow:inset 0 0 10px #f44336}.react-draggable-dragging{opacity:.8;cursor:grabbing}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;justify-content:center;align-items:center;z-index:10000;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.modal-content{background-color:#1a2233;padding:40px;border-radius:24px;text-align:center;box-shadow:0 10px 30px #0009;width:90%;max-width:340px;color:#f3f4f6;border:1px solid #334155}.modal-content h2{font-size:3rem;font-weight:800;margin-top:0;margin-bottom:8px;color:#fff}.sub-message{font-size:1.2rem;color:#94a3b8;margin-bottom:30px}.final-stats-container{background-color:#1e293b;padding:20px 0;border-radius:16px;border:2px solid #334155;margin-bottom:25px}.final-stats-container small{display:block;font-size:.9rem;letter-spacing:1px;color:#94a3b8;margin-bottom:10px}.final-stats-container span{font-size:3.5rem;font-weight:800;color:#fff;line-height:1}.submit-group{background-color:#111827;border-radius:16px;border:2px solid #334155;padding:15px;margin-bottom:25px;text-align:left}.submit-group small{color:#94a3b8;font-weight:700;font-size:.9rem;display:block;margin-bottom:15px;padding-left:5px}.modal-buttons-stack{display:flex;flex-direction:column;gap:15px;margin-top:10px}.pill-btn{width:100%;padding:18px;border-radius:15px;font-size:1.1rem;font-weight:700;border:none;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:10px;transition:transform .1s}.pill-btn:active{transform:scale(.98)}.btn-submit-pill{background-color:#3b82f6;color:#fff}.btn-restart-pill{background-color:#089c38;color:#fff}.btn-restart-pill.highlight{background:var(--accent);color:var(--bg-deep);box-shadow:0 0 20px var(--accent-glow);margin-top:20px}.btn-submit-pill.submitted{background:#1e293b;color:#94a3b8;border:1px solid #334155;cursor:default}.btn-rank-pill{background-color:#8b5cf6;color:#fff}.btn-restart,.btn-submit{padding:12px 25px;font-size:1.1rem;border:none;border-radius:8px;cursor:pointer;font-weight:700}.btn-restart{background:#4caf50;color:#fff}.btn-submit{background:#3498db;color:#fff}@keyframes popIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.draggable-block-wrapper.disabled{pointer-events:none;transition:opacity .5s ease,filter .5s ease}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1));border-radius:.75rem;margin-bottom:1rem;padding:1rem;color:#fff}.score-board{transition:transform .1s ease-out}.score-board.pulse{transform:scale(1.2);color:#fbbf24}.game-header{display:flex;position:relative;z-index:100;justify-content:space-between;align-items:center;width:100%;max-width:400px;margin:0 auto 20px;padding:0}.logo{margin:0}.header-right{display:flex;flex-direction:row;align-items:center;gap:15px}.header-left{display:flex}.nav-buttons{display:flex;gap:8px}.icon-btn{pointer-events:auto!important;cursor:pointer}.icon-btn,.reset-btn{background:#1e293b;border:1px solid #334155;border-radius:8px;padding:8px;cursor:pointer;display:flex;justify-content:center;align-items:center;transition:all .2s ease}.icon-btn:hover,.reset-btn:hover{background:#334155;border-color:#38bdf8;transform:translateY(-2px)}.reset-btn{background:transparent;border:none}.reset-btn:hover svg{transform:rotate(-90deg);transition:transform .3s ease}.score-container{display:flex;align-items:center;gap:15px;background:transparent;padding:0;border:none;box-shadow:none}.score-display{display:flex;flex-direction:column;align-items:flex-end;line-height:1}.score-display small{font-size:.7rem;letter-spacing:1px;color:#94a3b8;margin-bottom:4px}.score-display span{font-size:1.6rem;font-weight:800;color:#fff}.reset-btn{background:#1e293b;border:1px solid #334155;border-radius:10px;padding:10px;cursor:pointer;display:flex;justify-content:center;align-items:center;transition:all .2s ease;box-shadow:0 4px 6px -1px #0003}.reset-btn:hover{background:#334155;border-color:#38bdf8;transform:scale(1.05)}.reset-btn:active{transform:scale(.95)}.score-display.pulse span{color:#38bdf8;text-shadow:0 0 10px rgba(56,189,248,.5)}.profile-img{width:24px;height:24px;border-radius:50%;border:1px solid #38bdf8}.profile-preview-row{display:flex;align-items:center;gap:15px;background:#111827;padding:15px;border-radius:16px;border:1px solid #334155;margin-bottom:20px;text-align:left}.preview-icon{background:#1e293b;padding:10px;border-radius:12px;display:flex;align-items:center;justify-content:center;border:1px solid #38bdf8}.preview-text{display:flex;flex-direction:column}.current-user-label{font-size:.75rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.current-user-name{font-size:1.2rem;font-weight:700;color:#fff}.mini-profile-preview{display:flex;align-items:center;gap:12px;background:#0f172a;padding:10px 15px;border-radius:12px;margin-bottom:12px;border:1px dashed #334155}.modal-name-input{background:transparent;border:none;border-bottom:1px solid transparent;color:#fff;font-size:1.1rem;text-transform:capitalize;font-weight:600;width:100%;outline:none;transition:border-color .2s}.modal-name-input:focus{border-color:#38bdf8}.modal-name-input:hover{background:#ffffff0d}[title]{cursor:help}.avatar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:10px 0}.icon-choice{background:#1e293b;border:2px solid transparent;padding:12px;border-radius:12px;cursor:pointer;display:flex;justify-content:center;transition:all .2s}.icon-choice.active{border-color:#38bdf8;background:#334155;transform:scale(1.1)}.display-name-input{width:100%;background:#111827;border:1px solid #334155;color:#fff;padding:12px;border-radius:8px;font-size:1rem;outline:none;width:90%}.display-name-input:focus{border-color:#38bdf8}.btn-logout{background-color:#ef4444;color:#fff;margin-top:5px}.close-link{background:none;border:none;color:#94a3b8;cursor:pointer;margin-top:10px;text-decoration:underline}.leaderboard-list{background:#111827;border-radius:16px;border:2px solid #334155;margin-bottom:25px;max-height:350px;overflow-y:auto;padding:10px}.leaderboard-item{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;border-bottom:1px solid #1e293b}.leaderboard-item.highlight{border-left:3px solid #38bdf8}.leaderboard-item:last-child{border-bottom:none}.rank{font-weight:800;color:#94a3b8;width:25px}.user-info{display:flex;align-items:center;gap:12px;flex:1}.username{font-weight:600;color:#f3f4f6}.score{font-weight:800;color:#38bdf8;font-size:1.1rem}.block-container.disabled{opacity:.3;filter:grayscale(1);cursor:not-allowed;pointer-events:none;transform:scale(.9);transition:all .3s ease}.block-container.disabled .block-cell.filled{background-color:#475569!important;box-shadow:none}.avatar-container{display:flex;margin:10px 0;justify-content:space-evenly}.login-cta-group{background:#38bdf80d;border:1px solid #1e293b;border-radius:16px;padding:20px;margin-bottom:20px;display:flex;flex-direction:column;gap:15px}.cta-text{font-size:.9rem;color:#94a3b8;line-height:1.4}.guest-options{margin-top:10px;border-top:1px solid #1e293b;padding-top:10px}.close-link.danger{color:#f87171;font-size:.85rem;transition:color .2s}.close-link.danger:hover{color:#ef4444}.toast-notification{position:fixed;bottom:30px;left:50%;transform:translate(-50%);padding:12px 24px;border-radius:50px;display:flex;align-items:center;gap:10px;z-index:2000;font-weight:600;color:#fff;animation:slideUp .3s ease-out;box-shadow:0 10px 25px #0006}.toast-notification.success{background:#10b981;border:1px solid #34d399;box-shadow:0 0 15px #10b98166}.toast-notification.info{background:var(--bg-surface);border:1px solid var(--accent);color:var(--accent)}.toast-notification.error{background:var(--danger);border:1px solid #f87171}@keyframes slideUp{0%{bottom:0;opacity:0}to{bottom:30px;opacity:1}}
