body{margin: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}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.tutorial-tooltip{position:fixed;z-index:1050;pointer-events:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.2))}.tutorial-tooltip-content{background-color:#fff;color:#333;padding:8px 12px;border-radius:6px;font-size:14px;font-weight:500;text-align:center;max-width:200px;position:relative;border:2px solid;border-color:inherit}.tutorial-tooltip[data-color="#3498db"] .tutorial-tooltip-content{border-color:#3498db}.tutorial-tooltip[data-color="#e74c3c"] .tutorial-tooltip-content{border-color:#e74c3c}.tutorial-tooltip[data-color="#2ecc71"] .tutorial-tooltip-content{border-color:#2ecc71}.tutorial-tooltip[data-color="#9b59b6"] .tutorial-tooltip-content{border-color:#9b59b6}.tutorial-tooltip[data-color="#e67e22"] .tutorial-tooltip-content{border-color:#e67e22}.tutorial-tooltip-content:after{content:"";position:absolute;width:12px;height:12px;background:#fff;transform:rotate(45deg);z-index:1}.tutorial-tooltip[data-position=top] .tutorial-tooltip-content:after{bottom:-6px;left:calc(50% - 6px);border-right:2px solid;border-bottom:2px solid;border-top:none;border-left:none;margin-bottom:-1px;box-shadow:none}.tutorial-tooltip[data-position=bottom] .tutorial-tooltip-content:after{top:-6px;left:calc(50% - 6px);border-left:2px solid;border-top:2px solid;border-right:none;border-bottom:none;margin-top:-1px;box-shadow:none}.tutorial-tooltip[data-position=left] .tutorial-tooltip-content:after{right:-6px;top:calc(50% - 6px);border-top:2px solid;border-right:2px solid;border-bottom:none;border-left:none;margin-right:-1px;box-shadow:none}.tutorial-tooltip[data-position=right] .tutorial-tooltip-content:after{left:-6px;top:calc(50% - 6px);border-bottom:2px solid;border-left:2px solid;border-top:none;border-right:none;margin-left:-1px;box-shadow:none}.tutorial-tooltip[data-color="#3498db"] .tutorial-tooltip-content:after{border-color:#3498db}.tutorial-tooltip[data-color="#e74c3c"] .tutorial-tooltip-content:after{border-color:#e74c3c}.tutorial-tooltip[data-color="#2ecc71"] .tutorial-tooltip-content:after{border-color:#2ecc71}.tutorial-tooltip[data-color="#9b59b6"] .tutorial-tooltip-content:after{border-color:#9b59b6}.tutorial-tooltip[data-color="#e67e22"] .tutorial-tooltip-content:after{border-color:#e67e22}.tutorial-tooltip-content p{margin:0}.tutorial-highlight{animation:pulse 2s infinite;pointer-events:none;border:1px solid!important}@keyframes pulse{0%{box-shadow:0 0 1px 1px #ffffff80,0 0 2px 2px #fff0}50%{box-shadow:0 0 1px 1px #ffffff80,0 0 4px 3px #fff3}to{box-shadow:0 0 1px 1px #ffffff80,0 0 2px 2px #fff0}}.tutorial-highlight[data-color="#3498db"]{animation:pulse-blue 2s infinite;border-color:#3498db!important}.tutorial-highlight[data-color="#e74c3c"]{animation:pulse-red 2s infinite;border-color:#e74c3c!important}.tutorial-highlight[data-color="#2ecc71"]{animation:pulse-green 2s infinite;border-color:#2ecc71!important}.tutorial-highlight[data-color="#9b59b6"]{animation:pulse-purple 2s infinite;border-color:#9b59b6!important}.tutorial-highlight[data-color="#e67e22"]{animation:pulse-orange 2s infinite;border-color:#e67e22!important}@keyframes pulse-blue{0%{box-shadow:0 0 1px 1px #ffffff80,0 0 2px 2px #3498db00}50%{box-shadow:0 0 1px 1px #ffffff80,0 0 4px 3px #3498db33}to{box-shadow:0 0 1px 1px #ffffff80,0 0 2px 2px #3498db00}}@keyframes pulse-red{0%{box-shadow:0 0 1px 1px #ffffff80,0 0 2px 2px #e74c3c00}50%{box-shadow:0 0 1px 1px #ffffff80,0 0 4px 3px #e74c3c33}to{box-shadow:0 0 1px 1px #ffffff80,0 0 2px 2px #e74c3c00}}@keyframes pulse-green{0%{box-shadow:0 0 1px 1px #ffffff80,0 0 2px 2px #2ecc7100}50%{box-shadow:0 0 1px 1px #ffffff80,0 0 4px 3px #2ecc7133}to{box-shadow:0 0 1px 1px #ffffff80,0 0 2px 2px #2ecc7100}}@keyframes pulse-purple{0%{box-shadow:0 0 1px 1px #ffffff80,0 0 2px 2px #9b59b600}50%{box-shadow:0 0 1px 1px #ffffff80,0 0 4px 3px #9b59b633}to{box-shadow:0 0 1px 1px #ffffff80,0 0 2px 2px #9b59b600}}@keyframes pulse-orange{0%{box-shadow:0 0 1px 1px #ffffff80,0 0 2px 2px #e67e2200}50%{box-shadow:0 0 1px 1px #ffffff80,0 0 4px 3px #e67e2233}to{box-shadow:0 0 1px 1px #ffffff80,0 0 2px 2px #e67e2200}}.tutorial-step-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.tutorial-step-counter{font-size:14px;color:#666;font-weight:500;background-color:#f5f5f5;padding:3px 8px;border-radius:12px}.tutorial-steps-info{color:#555;font-size:15px;font-style:italic;margin-top:5px;margin-bottom:20px}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,.button,[class*=-button],[role=button],input[type=button],input[type=submit]{cursor:pointer!important}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}img{max-width:100%;height:auto}div[onClick],div[role=button],span[onClick],span[role=button],a{cursor:pointer}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;color:#333;font-size:16px;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-weight:600;margin-top:0}h1{font-size:32px;margin-bottom:8px}h2{font-size:28px;margin-bottom:8px}h3{font-size:24px;margin-bottom:8px}p{margin-top:0;margin-bottom:16px}.game-title-font{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-weight:600;letter-spacing:.5px}.color-lock-font{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-weight:600;font-size:16px}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes fadeOut{0%{opacity:1;transform:translate(-50%,-50%) scale(1.5)}to{opacity:0;transform:translate(-50%,-50%) scale(1.5)}}@keyframes fadeInAndScale{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}30%{opacity:1;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1.5)}}@keyframes subtleLockGlow{0%{filter:drop-shadow(0 0 .5px rgba(255,255,255,.4))}50%{filter:drop-shadow(0 0 .8px rgba(255,255,255,.6))}to{filter:drop-shadow(0 0 .5px rgba(255,255,255,.4))}}@keyframes hint-glow-pulse{0%{box-shadow:inset 0 0 10px 2px,0 0 8px 1px}50%{box-shadow:inset 0 0 20px 8px,0 0 12px 3px}to{box-shadow:inset 0 0 10px 2px,0 0 8px 1px}}@keyframes color-fade{0%{background-color:var(--current-color)}35%{background-color:var(--target-color)}65%{background-color:var(--target-color)}to{background-color:var(--current-color)}}@keyframes hint-pulsate{0%{transform:scale(1);box-shadow:0 0 3px 1px #1e90ff66}35%{transform:scale(1.035);box-shadow:0 0 6px 2px #1e90ff99}65%{transform:scale(1.035);box-shadow:0 0 6px 2px #1e90ff99}to{transform:scale(1);box-shadow:0 0 2px #1e90ff33}}@keyframes arrow-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes outline-fade{0%{opacity:0;box-shadow:0 0 3px #1e90ff4d}15%{opacity:1;box-shadow:0 0 6px 1px #1e90ff80}30%{opacity:1;box-shadow:0 0 7px 1.5px #1e90ff99}45%{opacity:0;box-shadow:0 0 3px #1e90ff4d}to{opacity:0;box-shadow:0 0 3px #1e90ff4d}}@keyframes preview-pulse{0%{box-shadow:0 0 0 2px #ffffff80}50%{box-shadow:0 0 0 4px #fffc}to{box-shadow:0 0 0 2px #ffffff80}}@keyframes backgroundPulse{0%{background-color:#fff}50%{background-color:#f8f9ff}to{background-color:#fff}}@keyframes titleGlow{0%{text-shadow:0 0 5px rgba(255,0,85,.1)}50%{text-shadow:0 0 15px rgba(0,102,255,.2)}to{text-shadow:0 0 5px rgba(255,0,85,.1)}}@keyframes medalPulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes timeUnitPulse{0%{opacity:1}50%{opacity:.8}to{opacity:1}}@keyframes neon-glow-pulse{0%{box-shadow:0 0 16px 6px #00bfffb3}50%{box-shadow:0 0 20px 8px #00bfffe6}to{box-shadow:0 0 16px 6px #00bfffb3}}.container{display:flex;flex-direction:column;align-items:center;margin:20px auto;color:#333;max-width:95vw}.container.app-fade-in{animation:fadeIn .3s ease-in-out}.container.no-animations{animation:none!important;transition:none!important;transform:none!important}.container.no-animations .hint-cell{animation:none!important;border:2px solid #1e90ff!important}.container.no-animations .toggle-slider,.container.no-animations .toggle-slider:before{transition:none!important}.container.no-animations input:checked+.toggle-slider:before{left:24px!important}.logo-animation{display:flex;align-items:center;justify-content:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);animation:fadeInAndScale 3s cubic-bezier(.25,.1,.25,1) forwards}.logo-animation.fade-out{animation:fadeOut 1.5s cubic-bezier(.25,.1,.25,1) forwards;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.loading-logo{max-width:200px;max-height:200px}.grid{display:inline-block;position:relative}.grid-row{display:flex}.grid-cell-container{position:relative;width:76px;height:76px;margin:0}.grid-cell{position:relative;width:72px;height:72px;margin:2px;border-radius:4px;cursor:pointer;transition:transform .1s;box-sizing:border-box}.grid-cell:hover{transform:scale(1.05)}.grid-cell.highlight-largest-region{box-shadow:inset 0 0 0 2px #ffffffe6,0 0 8px 2px #ffffffb3}.grid-cell.hint-cell{animation:color-fade 3s infinite,hint-pulsate 3s infinite;animation-fill-mode:both;z-index:2;box-shadow:0 0 5px 1px #1e90ff80;border:1px solid rgba(30,144,255,.7)!important}.grid-cell.neon-glow:before{content:"";position:absolute;top:-4px;left:-4px;right:-4px;bottom:-4px;border-radius:inherit;box-shadow:0 0 16px 6px #00bfffb3;z-index:-1;animation:neon-glow-pulse 2s infinite alternate}.high-contrast-mode .grid-cell{border:2px solid #000}.connected-cell-line{position:absolute;background-color:#1e90ff99;z-index:1;pointer-events:none}.locked-overlay{position:absolute;top:0;left:0;width:72px;height:72px;margin:2px;border-radius:4px;background-color:#0000004d;display:flex;align-items:center;justify-content:center}.lock-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:45%;height:45%;pointer-events:none;animation:subtleLockGlow 3s infinite ease-in-out}.blue-outline{position:absolute;top:-2px;left:-2px;width:100%;height:100%;border:1px solid rgba(30,144,255,.8);border-radius:5px;box-shadow:0 0 10px 2px #1e90ff80;pointer-events:none;z-index:4;opacity:0;animation:outline-fade 3.5s infinite ease-in-out;animation-delay:.35s}.hint-color-preview{position:absolute;top:2px;left:2px;width:72px;height:72px;border-radius:4px;z-index:1;animation:preview-pulse 1.5s infinite}.auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:1rem;background-color:#f8f9fa}.auth-card{width:100%;max-width:450px;background-color:#fff;border-radius:12px;box-shadow:0 8px 24px #0000001f;overflow:hidden}.auth-header{display:flex;flex-direction:column;align-items:center;padding:2rem 1.5rem;background-color:#4a90e2;color:#fff}.auth-header .auth-logo{width:80px;height:80px;margin-bottom:1rem}.auth-header .auth-title{font-size:1.8rem;font-weight:700;margin:0}.auth-form-container{padding:2rem}.auth-form h2{font-size:1.5rem;color:#333;margin-top:0;margin-bottom:1.5rem;text-align:center}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#555}.auth-input{width:100%;padding:.75rem 1rem;font-size:1rem;border:1px solid #ddd;border-radius:6px;transition:border-color .2s,box-shadow .2s}.auth-input:focus{border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e233;outline:none}.auth-button{display:block;width:100%;padding:.875rem;font-size:1rem;font-weight:600;text-align:center;border:none;border-radius:6px;cursor:pointer;transition:background-color .2s}.auth-button:disabled{opacity:.7;cursor:not-allowed}.auth-button.primary-button{background-color:#4a90e2;color:#fff}.auth-button.primary-button:hover:not(:disabled){background-color:#3080de}.auth-button.guest-button{background-color:#fff;color:#4a90e2;border:1px solid #4a90e2}.auth-button.guest-button:hover:not(:disabled){background-color:#4a90e21a}.auth-separator{display:flex;align-items:center;margin:1.5rem 0}.auth-separator:before,.auth-separator:after{content:"";flex:1;height:1px;background-color:#ddd}.auth-separator span{padding:0 1rem;color:#777;font-size:.875rem}.auth-toggle{margin-top:1.5rem;text-align:center}.auth-toggle p{color:#666;font-size:.9rem;margin:0}.auth-toggle .toggle-button{background:none;border:none;color:#4a90e2;font-weight:600;cursor:pointer;padding:0;font-size:.9rem;text-decoration:underline}.auth-toggle .toggle-button:hover{color:#3080de}.auth-error{background-color:#dc35451a;color:#dc3545;padding:.75rem;border-radius:6px;margin-bottom:1.25rem;font-size:.9rem}.auth-success{background-color:#28a7451a;color:#28a745;padding:.75rem;border-radius:6px;margin-bottom:1.25rem;font-size:.9rem}.signup-container{position:relative}.signup-button{background-color:#4a90e2;color:#fff;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .2s}.signup-button:hover{background-color:#3080de}.signup-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.signup-modal .signup-modal-content{background-color:#fff;border-radius:12px;width:90%;max-width:400px;padding:2rem;position:relative;box-shadow:0 8px 24px #00000026}.signup-modal .signup-modal-content h3{margin-top:0;margin-bottom:1.5rem;font-size:1.4rem;text-align:center;color:#333}.signup-modal .signup-modal-content .close-button{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer;line-height:1;padding:0}.signup-modal .signup-modal-content .close-button:hover{color:#333}.signup-modal .signup-modal-content .signup-message{margin-top:1.25rem;text-align:center;color:#666;font-size:.875rem}.try-again-button{cursor:pointer;border:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-weight:500;transition:background-color .2s;background-color:#3478f6;color:#fff;border-radius:12px;font-weight:600;box-shadow:0 2px 4px #0000001a;margin-top:16px;padding:12px 24px;font-size:16px;max-width:200px}.try-again-button:hover{background-color:#2861d6}.try-again-modal-button{cursor:pointer;border:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-weight:500;transition:background-color .2s;background-color:#f0f0f0;color:#333;border-radius:12px;padding:12px 24px;font-size:16px}.try-again-modal-button:hover{background-color:#e0e0e0}.hint-button{cursor:pointer;border:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-weight:500;transition:background-color .2s;background-color:#3478f6;color:#fff;border-radius:12px;font-size:16px;font-weight:600;box-shadow:0 2px 4px #0000001a;margin-top:16px;padding:8px 16px;background-color:#4a90e2}.hint-button:hover{background-color:#2861d6}.hint-button:hover{background-color:#3478f6}.hint-button:active{background-color:#2861d6}.close-button{background-color:transparent;color:#777;border:1px solid #ddd;border-radius:12px;padding:12px 24px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}.close-button:hover{background-color:#f5f5f5;color:#333;border-color:#ccc}.share-button{cursor:pointer;border:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-weight:500;transition:background-color .2s;background-color:#3478f6;color:#fff;font-size:16px;font-weight:600;box-shadow:0 2px 4px #0000001a;border-radius:12px;padding:12px 30px;box-shadow:0 1px 3px #0000001a}.share-button:hover{background-color:#2861d6}.inverse-share-button{background-color:#fff;color:#3478f6;border:1px solid #3478F6;border-radius:12px;padding:12px 30px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s,color .2s;box-shadow:0 1px 3px #0000001a}.inverse-share-button:hover{background-color:#f5f8ff}.cancel-button{display:block;margin:0 auto;padding:8px 16px;font-size:14px;background:#e9e9eb;color:#3478f6;border:none;border-radius:8px;cursor:pointer;font-weight:500;width:100%;max-width:200px;text-align:center;transition:background-color .2s}.cancel-button:hover{background-color:#d9d9db}.settings-button,.stats-button,.info-button,.home-button{cursor:pointer;border:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-weight:500;transition:background-color .2s;display:flex;align-items:center;justify-content:center;background-color:#f0f0f0;color:#333;transition:background-color .2s,transform .2s;box-shadow:0 2px 4px #0000001a;position:absolute;width:40px;height:40px;border-radius:50%;z-index:10;right:15px}.settings-button:hover,.stats-button:hover,.info-button:hover,.home-button:hover{background-color:#e0e0e0}.home-button{top:15px}.settings-button{top:65px}.stats-button{top:115px}.info-button{top:165px}.share-stats-button{cursor:pointer;border:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-weight:500;transition:background-color .2s;background-color:#3478f6;color:#fff;border-radius:12px;font-size:16px;box-shadow:0 2px 4px #0000001a;display:flex;align-items:center;gap:8px;padding:12px 24px;font-weight:600}.share-stats-button:hover{background-color:#2861d6}.social-buttons{display:flex;gap:20px;justify-content:center}.social-button{width:40px;height:40px;border-radius:50%;border:none;background-color:#f0f0f0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s,background-color .2s}.social-button:hover{transform:scale(1.1);background-color:#e0e0e0}.modal-close,.stats-modal .close-button{position:absolute;top:15px;right:15px;background-color:#f0f0f0;border:none;color:#333;font-size:22px;cursor:pointer;padding:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s;z-index:10;box-shadow:0 1px 3px #0000001a}.modal-close:hover,.stats-modal .close-button:hover{background-color:#e0e0e0;transform:scale(1.05)}.tile,.game-tile,div[class*=tile],[data-tile],.board-tile{cursor:pointer}.tutorial-continue-button,button[class*=tutorial],[class*=tutorial][onClick],.tutorial-cell-highlight,.tutorial-overlay [role=button]{cursor:pointer!important}.color-picker-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000026;display:flex;justify-content:center;align-items:flex-end;z-index:1000}.color-picker-modal{background:#fffffff2;border-radius:12px;width:100%;max-width:450px;padding:10px 8px 8px;box-shadow:0 -1px 8px #0000001a;display:flex;flex-direction:column;margin-bottom:50px;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.color-picker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.color-picker-header h3{text-align:left;margin:0;font-size:14px;font-weight:500;color:#777}.color-picker-close-button{font-size:16px;margin:0;padding:4px;color:#777}.color-bubbles{display:flex;flex-direction:row;justify-content:space-around;gap:10px}.color-bubble-container{display:flex;flex-direction:column;align-items:center}.color-bubble{width:40px;height:40px;border-radius:8px;margin:2px;border:none;cursor:pointer;transition:transform .1s;box-sizing:border-box;box-shadow:0 1px 3px #0000001a}.color-bubble:hover{transform:scale(1.05)}.color-bubble.current-color{position:relative;opacity:.6;cursor:not-allowed;box-shadow:none;border:2px dashed rgba(0,0,0,.3)}.color-bubble.current-color:hover{transform:none}.color-bubble.currently-changing{box-shadow:0 0 12px 4px #00bfff99}.high-contrast-mode .color-bubble{border:2px solid #000}.current-color-check{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#333;font-size:20px;opacity:.8;filter:drop-shadow(0 0 1px white)}.color-label{font-size:10px;font-weight:500;color:#777;text-transform:capitalize;margin-top:4px}.status-message{margin-top:16px;font-size:16px;padding:8px 16px;border-radius:8px;max-width:500px;width:100%;text-align:center}.status-message.solved{background-color:#d1f7d1;color:#085508}.status-message.lost{background-color:#ffd4d4;color:#900}.top-card{display:flex;flex-direction:column;align-items:center;background-color:#f0f0f0;padding:16px 24px;border-radius:12px;box-shadow:0 2px 6px #0000001a;margin-bottom:24px;max-width:500px;width:100%;position:relative}.top-card h1{margin:0 0 8px;font-size:1.8rem}.target-row{display:flex;align-items:center;gap:6px;margin-bottom:8px}.target-circle{width:24px;height:24px;border-radius:50%}.goal-row{display:flex;gap:16px;font-weight:500}.controls-container{display:flex;justify-content:center;width:100%;margin:24px 0;padding:16px 0;max-width:500px}.controls-inner{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;padding:0 24px}.locked-region-counter{color:#333;font-size:18px;text-align:center;font-weight:600;margin-bottom:0}.locked-label{margin-right:4px}.locked-count{font-weight:600;margin-left:8px}.toggle-switch{position:relative;display:inline-block;width:50px;height:26px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s;border-radius:26px}.toggle-slider:before{position:absolute;content:"";height:22px;width:22px;left:2px;bottom:2px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.toggle-slider{background-color:#3478f6}input:focus+.toggle-slider{box-shadow:0 0 1px #3478f6}input:checked+.toggle-slider:before{transform:translate(24px)}.settings-select{background-color:#f5f5f5;border:1px solid #ddd;border-radius:8px;padding:8px 12px;font-size:16px;width:180px;color:#333}.share-section{margin:12px 0;position:relative}.share-options{margin-top:16px;display:flex;flex-direction:column;align-items:center;animation:fadeIn .3s ease-out}.share-on{font-size:14px;color:#666;margin-bottom:8px}.copy-tooltip{position:fixed;bottom:50px;left:50%;transform:translate(-50%);background-color:#000000bf;color:#fff;padding:12px 24px;border-radius:8px;font-size:16px;z-index:2000;transition:opacity .3s ease}.copy-tooltip.success{background-color:#28a745e6}.copy-tooltip.error{background-color:#dc3545e6}.copy-tooltip.fade-out{opacity:0}.difficulty-indicator-container{position:absolute;top:16px;right:16px;z-index:5;display:flex;flex-direction:column;align-items:center;color:#666}.difficulty-text{font-size:10px;font-weight:300;text-transform:lowercase;margin-bottom:4px;letter-spacing:.5px}.difficulty-columns{display:flex;gap:3px}.difficulty-column{width:6px;height:16px;border-radius:3px;border:1px solid #666;background-color:transparent;transition:background-color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease;box-sizing:border-box;padding:0;margin:0;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none}.difficulty-column:focus{outline:none;box-shadow:0 0 3px #0000004d;transform:scale(1.1)}.difficulty-column:hover{opacity:.8}.difficulty-indicator-container.difficulty-easy .difficulty-column.easy{border:none;background-color:#2ecc71}.difficulty-indicator-container.difficulty-medium .difficulty-column.easy,.difficulty-indicator-container.difficulty-medium .difficulty-column.medium{border:none}.difficulty-indicator-container.difficulty-medium .difficulty-column.easy{background-color:#2ecc71}.difficulty-indicator-container.difficulty-medium .difficulty-column.medium{background-color:#f1c40f}.difficulty-indicator-container.difficulty-hard .difficulty-column{border:none}.difficulty-indicator-container.difficulty-hard .difficulty-column.easy{background-color:#2ecc71}.difficulty-indicator-container.difficulty-hard .difficulty-column.medium{background-color:#f1c40f}.difficulty-indicator-container.difficulty-hard .difficulty-column.hard{background-color:#e74c3c}.modal-overlay,.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:#fff;border-radius:12px;padding:24px;max-width:95%;width:450px;box-shadow:0 4px 20px #0003;position:relative;text-align:center}.modal-body{display:flex;flex-direction:column;align-items:center}.modal-body h2{color:#900;margin-top:0;margin-bottom:16px;font-size:28px}.modal-body p{margin:8px 0;font-size:18px}.modal-header{position:relative;text-align:center;padding:0 30px}.modal-title{margin:5px 0 24px;font-size:24px;font-weight:600;color:#333}.modal-buttons{display:flex;justify-content:center;gap:16px;margin-top:12px}.win-modal,.autocomplete-modal{background-color:#fff;border-radius:20px;padding:24px;box-shadow:0 4px 20px #0003;max-width:90%;animation:modalFadeIn .4s ease-out;width:95%;max-width:550px;text-align:center;display:flex;flex-direction:column;gap:24px;position:relative;max-height:85vh;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.win-modal-animated,.autocomplete-modal-animated{animation:modalFadeIn .4s ease-out,backgroundPulse 8s ease-in-out infinite}.congratulations-title{font-size:32px;font-weight:600;margin:0;background:linear-gradient(45deg,#f05,#06f);background-clip:text;-webkit-background-clip:text;color:transparent;animation:titleGlow 4s ease-in-out infinite}.unlocked-message{font-size:24px;margin:12px 0 0;padding:5px 0;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px}.color-name{font-weight:600}.optimal-badge{font-size:24px;margin-left:8px;animation:medalPulse 2s infinite}.win-stats{display:flex;justify-content:center;gap:18px;margin:5px 0;width:100%}.stat-item{display:flex;flex-direction:column;align-items:center;flex:0 0 110px;max-width:110px;min-width:100px}.stat-value{font-size:26px;font-weight:600;color:#3478f6}.stat-label{font-size:14px;color:#666}.next-puzzle-timer{margin:6px 0 8px}.next-puzzle-timer p{font-size:16px;margin-bottom:5px;color:#777}.win-modal .share-section{margin-top:2px!important;padding-top:6px!important;border-top:1px solid #eee}.win-modal .win-actions{display:flex;justify-content:center;gap:16px;margin-top:6px;padding-bottom:6px;margin-bottom:0}.win-modal .win-actions button{margin-bottom:0}.timer{font-size:28px;color:#3478f6;font-weight:600;margin:5px 0}.time-unit{animation:timeUnitPulse 1s infinite;display:inline-block;width:32px}.time-separator{margin:0 2px;opacity:.8}.autocomplete-content{font-size:18px;margin:0;padding:5px 0}.settings-modal{background-color:#fff;border-radius:20px;padding:24px;width:95%;max-width:650px;max-height:85vh;overflow-y:auto;display:flex;flex-direction:column;box-shadow:0 4px 20px #0003}.settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:12px;border-bottom:1px solid #eee}.settings-header h2{margin:0;font-size:24px;font-weight:600}.settings-close-button{font-size:24px;margin:0;padding:8px}.settings-content{flex:1;overflow-y:auto}.settings-section{margin-bottom:24px}.settings-section h3{font-size:18px;margin-bottom:12px;font-weight:600;color:#333}.setting-item{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #f5f5f5}.setting-item label{font-size:16px;font-weight:500;color:#333}.setting-description{margin:4px 0 0;font-size:14px;color:#666;font-weight:400}.settings-footer{padding-top:16px;border-top:1px solid #eee;display:flex;justify-content:flex-end}.settings-save-button{cursor:pointer;border:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-weight:500;transition:background-color .2s;background-color:#3478f6;color:#fff;font-size:16px;font-weight:600;box-shadow:0 2px 4px #0000001a;border-radius:8px;padding:12px 24px}.settings-save-button:hover{background-color:#2861d6}.radio-group{display:flex;flex-direction:column;gap:8px;min-width:120px;align-items:flex-end}.radio-label{display:flex!important;align-items:center;cursor:pointer;font-weight:400!important}.radio-label input[type=radio]{margin-right:8px;cursor:pointer}.difficulty-setting-item{flex-direction:column;align-items:stretch}.difficulty-header{margin-bottom:12px}.difficulty-selector{padding:0;width:100%}.difficulty-segmented-control{display:flex;width:100%;border-radius:12px;overflow:hidden;border:1px solid #3478F6;position:relative;height:36px;box-shadow:0 1px 3px #0000001a}.difficulty-segment{flex:1;text-align:center;padding:8px 12px;background-color:#fff;border:none;cursor:pointer;font-size:14px;font-weight:500;color:#3478f6;transition:all .2s ease;display:flex;align-items:center;justify-content:center;z-index:2}.difficulty-segment.active{background-color:#3478f6;color:#fff;font-weight:600}.difficulty-segment:not(:last-child){border-right:1px solid rgba(52,120,246,.2)}.difficulty-segment:hover:not(.active){background-color:#f7f7f7}.difficulty-segment:focus{outline:none;box-shadow:0 0 0 2px #3478f64d}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:#fff;border-radius:20px;padding:24px;box-shadow:0 4px 20px #0003;max-height:85vh;overflow-y:auto;color:#333;position:relative;width:95%;max-width:650px}.close-button{position:absolute;top:16px;right:16px;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666}.close-button:hover{color:#333}.modal-header{margin-bottom:24px;padding-bottom:12px;border-bottom:1px solid #eee}.modal-title{margin:0;font-size:28px;font-weight:600;color:#333;text-align:center}.stats-modal{width:95%;background-color:#fff;border-radius:20px;padding:24px;box-shadow:0 4px 20px #0003;max-height:85vh;overflow-y:auto;color:#333;position:relative;z-index:1000}.stats-modal-large{max-width:900px!important;width:95%!important}.stats-tabs{display:flex;border-bottom:1px solid #eee;margin-bottom:24px}.stats-tab{padding:12px 16px;cursor:pointer;border:none;background-color:transparent;color:#666;font-weight:500;position:relative;transition:color .2s ease}.stats-tab:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:3px;background-color:transparent;transition:background-color .2s ease}.stats-tab:hover{color:#333}.stats-tab.active{color:#3478f6;font-weight:600}.stats-tab.active:after{background-color:#3478f6}.stats-section{margin-bottom:24px}.stats-section h3{font-size:18px;margin-bottom:12px;font-weight:600;color:#333;padding-bottom:8px}.stats-grid{display:grid;gap:16px;margin-top:16px}.today-stats-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.all-time-stats-grid{grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}.stat-item{text-align:center;padding:12px;background-color:#f5f5f5;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;justify-content:center;min-height:90px}.stat-item .stat-value{font-size:18px;font-weight:600;color:#3478f6;margin-bottom:4px}.stat-item .stat-label{font-size:14px;color:#666;line-height:1.2}.stat-item .stat-description{font-size:12px;color:#666;margin-top:4px;font-style:italic}.personal-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px;margin-left:50px;margin-right:50px}@media (max-width: 768px){.personal-stats-grid{grid-template-columns:repeat(2,1fr);margin-left:24px;margin-right:24px}}@media (max-width: 480px){.personal-stats-grid{grid-template-columns:1fr;margin-left:24px;margin-right:24px}}.personal-stat-item{text-align:center;padding:16px 12px;background-color:#f5f5f5;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:110px;transition:all .2s ease}.personal-stat-item:hover{transform:translateY(-2px);box-shadow:0 2px 4px #0000001a}.personal-stat-item .personal-stat-value{font-size:28px;font-weight:600;color:#3478f6;margin-bottom:8px;line-height:1.2}.personal-stat-item .personal-stat-label{font-size:14px;color:#666;line-height:1.3;text-align:center}.stats-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;min-height:300px}.stats-loading p{font-size:16px;color:#666;margin-top:16px}.stats-loading .spinner{width:50px;height:50px;border:4px solid rgba(52,120,246,.2);border-left-color:#3478f6;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message{color:#900;background-color:#ff94941a;border:1px solid rgb(255,76.5,76.5);border-radius:8px;padding:16px;text-align:center}.global-stats-section{margin-top:24px}.leaderboard-header-section{position:relative;display:flex;align-items:flex-start;margin-bottom:24px;padding-bottom:24px;border-bottom:2px solid #eee;min-height:70px}@media (max-width: 770px){.leaderboard-header-section{flex-direction:column;align-items:center;gap:16px}}.leaderboard-header{text-align:center;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}@media (max-width: 770px){.leaderboard-header{position:static;transform:none}}.leaderboard-header h3{font-size:28px;font-weight:600;color:#333;margin:0;line-height:1.2}.leaderboard-header h4{font-size:18px;font-weight:500;color:#666;margin:4px 0 0;line-height:1.2}.leaderboard-controls-horizontal{display:flex;flex-direction:column;gap:8px;justify-content:center;margin-right:auto}@media (max-width: 770px){.leaderboard-controls-horizontal{margin-right:0;align-items:center}}.leaderboard-controls-horizontal .control-row{display:flex;align-items:center;gap:12px;width:100%;max-width:300px}@media (max-width: 768px){.leaderboard-controls-horizontal .control-row{flex-direction:column;align-items:stretch;gap:8px;max-width:none}}.leaderboard-controls-horizontal .control-row label{font-size:12px;color:#666;font-weight:400;min-width:70px;text-align:left}@media (max-width: 768px){.leaderboard-controls-horizontal .control-row label{text-align:center;min-width:auto;margin-bottom:4px}}.leaderboard-controls-horizontal .control-row .select-wrapper{position:relative}.leaderboard-controls-horizontal .control-row .select-wrapper .leaderboard-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:1px solid #eee;border-radius:8px;padding:8px 24px 8px 8px;font-size:12px;color:#333;cursor:pointer;min-width:140px;transition:border-color .2s ease;position:relative;z-index:1}@media (max-width: 768px){.leaderboard-controls-horizontal .control-row .select-wrapper .leaderboard-select{min-height:44px;padding:12px 24px 12px 8px}}.leaderboard-controls-horizontal .control-row .select-wrapper .leaderboard-select:hover{border-color:#3478f6}.leaderboard-controls-horizontal .control-row .select-wrapper .leaderboard-select:focus{outline:none;border-color:#3478f6;box-shadow:0 0 0 3px #3478f61a}.leaderboard-controls-horizontal .control-row .select-wrapper .leaderboard-select option{padding:8px}.leaderboard-controls-horizontal .control-row .select-wrapper .select-icon{position:absolute;right:8px;top:50%;transform:translateY(-50%);pointer-events:none;color:#666;font-size:8px;z-index:2}.leaderboard-list-container{max-width:500px;margin:0 auto;padding-top:12px}.leaderboard-list-container .requester-entry{margin-bottom:24px;padding-bottom:24px;border-bottom:2px solid #eee}.leaderboard-list-container .leaderboard-list{display:flex;flex-direction:column;gap:12px}.leaderboard-list-container .no-data-message{text-align:center;padding:30px;color:#666;font-size:16px}.leaderboard-entry{display:flex;align-items:center;padding:16px;background-color:#fff;border:2px solid #eee;border-radius:8px;transition:all .2s ease}.leaderboard-entry .entry-rank{font-size:28px;font-weight:600;color:#666;min-width:60px;text-align:center}.leaderboard-entry .entry-info{flex:1;display:flex;justify-content:space-between;align-items:center;gap:12px;min-width:0}.leaderboard-entry .entry-info .entry-username{font-size:16px;font-weight:500;color:#333;display:flex;align-items:center;gap:8px;flex:1;min-width:0}.leaderboard-entry .entry-info .entry-username>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-entry .entry-info .entry-value{font-size:18px;font-weight:600;color:#3478f6;flex-shrink:0}.leaderboard-entry .entry-info .current-badge{font-size:12px;font-weight:500;background-color:#3478f6;color:#fff;padding:4px 8px;border-radius:4px;white-space:nowrap;flex-shrink:0}.leaderboard-entry.rank-gold{background:linear-gradient(135deg,#ffd70033,#ffd7000d);border-color:gold}.leaderboard-entry.rank-gold .entry-rank{color:#daa520}.leaderboard-entry.rank-silver{background:linear-gradient(135deg,#c0c0c033,#c0c0c00d);border-color:silver}.leaderboard-entry.rank-silver .entry-rank{color:#a9a9a9}.leaderboard-entry.rank-bronze{background:linear-gradient(135deg,#cd7f3233,#cd7f320d);border-color:#cd7f32}.leaderboard-entry.rank-bronze .entry-rank{color:#b87333}.leaderboard-entry.user-entry:not(.rank-gold):not(.rank-silver):not(.rank-bronze){background:linear-gradient(135deg,#3478f626,#3478f60d);border-color:#3478f6}.leaderboard-entry.user-entry:not(.rank-gold):not(.rank-silver):not(.rank-bronze) .entry-rank{color:#3478f6}.share-section{text-align:center;margin-top:24px;padding-top:16px;border-top:1px solid #eee}.share-section p{font-size:14px;color:#666;margin-bottom:12px}.social-buttons{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:12px}.social-button{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;border:none;cursor:pointer;transition:all .2s ease;position:relative}.social-button:hover{transform:translateY(-2px);box-shadow:0 2px 4px #0000001a}.social-button:active{transform:translateY(0)}.twitter-button{background-color:#1da1f2}.twitter-button:hover{background-color:#0c85d0}.facebook-button{background-color:#4267b2}.facebook-button:hover{background-color:#34518d}.email-button{background-color:#d44638}.email-button:hover{background-color:#b23327}.clipboard-button{background-color:#6c757d}.clipboard-button:hover{background-color:#545b62}.web-share-button{background-color:#3478f6}.web-share-button:hover{background-color:#0a5aed}.copy-success-tooltip{position:absolute;bottom:-25px;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;white-space:nowrap;z-index:2000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.stats-actions{display:flex;justify-content:center;margin-top:24px;padding-top:16px;border-top:1px solid #eee}.share-stats-button{display:inline-flex;align-items:center;justify-content:center;background-color:#3478f6;color:#fff;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s,transform .1s;padding:12px 16px;font-size:14px}.share-stats-button:hover{background-color:#0a5aed}.share-stats-button:active{transform:translateY(1px)}.share-stats-button svg{margin-right:8px}.container.app-fade-in{opacity:0;animation:appFadeIn .5s ease forwards}@keyframes appFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.simple-loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;width:100%;background-color:#fff;position:fixed;top:0;left:0;z-index:100}.simple-loading-container .spinner{width:40px;height:40px;border:4px solid rgba(52,120,246,.2);border-left-color:#3478f6;border-radius:50%;animation:spin 1s linear infinite}.simple-loading-container p{margin-top:16px;color:#666}.board-fading .grid{opacity:0;transition:opacity .5s ease-in-out}.tutorial-mode .grid{opacity:1;transition:opacity .5s ease-in-out}.guest-signup-container{position:absolute;top:15px;right:15px;z-index:10}.guest-signup-container.left-side{right:auto;left:15px}.tutorial-step-modal{position:fixed;left:50%;transform:translate(-50%);background-color:#fffffff2;border-radius:10px;box-shadow:0 4px 12px #00000026;padding:15px 20px;z-index:1000;max-width:90%;width:500px}.tutorial-step-modal.tutorial-step-modal-top{top:20px}.tutorial-step-modal.tutorial-step-modal-bottom{bottom:20px}.tutorial-step-modal.tutorial-color-selection-step{background-color:#fff;border:3px solid #4a90e2;box-shadow:0 4px 16px #00000040,0 0 0 4px #4a90e24d;animation:tutorial-modal-pulse 2s infinite}.tutorial-step-modal.tutorial-color-selection-step .tutorial-step-title{color:#4a90e2;font-weight:700;font-size:1.3rem}.tutorial-step-modal.tutorial-color-selection-step .tutorial-step-message{font-size:1.1rem}.tutorial-step-modal .tutorial-step-content{text-align:center}.tutorial-step-modal .tutorial-step-content .tutorial-step-title{margin:0 0 10px;color:#333;font-size:1.2rem}.tutorial-step-modal .tutorial-step-content .tutorial-step-message{margin:0 0 15px;font-size:1rem;line-height:1.5}.tutorial-step-modal .tutorial-step-content .tutorial-continue-button{background-color:#4a90e2;color:#fff;border:none;border-radius:5px;padding:8px 16px;font-size:1rem;cursor:pointer;transition:background-color .2s}.tutorial-step-modal .tutorial-step-content .tutorial-continue-button:hover{background-color:#3080de}@keyframes tutorial-modal-pulse{0%{box-shadow:0 4px 16px #00000040,0 0 0 4px #4a90e24d}50%{box-shadow:0 4px 20px #0000004d,0 0 0 8px #4a90e233}to{box-shadow:0 4px 16px #00000040,0 0 0 4px #4a90e24d}}.algorithm-move-modal{top:50%;bottom:auto;transform:translate(-50%,-50%)}.algorithm-move-modal .color-text{font-weight:700;padding:2px 5px;border-radius:3px}.algorithm-move-modal .color-text.red{background-color:#ff000026;color:#8b0000}.algorithm-move-modal .color-text.blue{background-color:#0000ff26;color:#00008b}.algorithm-move-modal .color-text.green{background-color:#00800026;color:#006400}.algorithm-move-modal .color-text.yellow{background-color:#ffff0026;color:#707000}.algorithm-move-modal .color-text.orange{background-color:#ffa50026;color:#ff8c00}.algorithm-move-modal .color-text.purple{background-color:#80008026;color:#8b008b}.tutorial-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1000}.tutorial-overlay .tutorial-highlight{position:absolute;z-index:1001}@keyframes pulse{0%{box-shadow:0 0 #ff0000b3;border:2px solid rgba(255,0,0,.9)}50%{box-shadow:0 0 10px 4px #ff000080;border:2px solid rgb(255,0,0)}to{box-shadow:0 0 #ff0000b3;border:2px solid rgba(255,0,0,.9)}}.tutorial-mode .grid-cell[data-hint-target=true]{animation:highlight-pulse 1.5s infinite}@keyframes highlight-pulse{0%{box-shadow:0 0 #ffffffb3}70%{box-shadow:0 0 0 10px #fff0}to{box-shadow:0 0 #fff0}}.tutorial-cell-highlight{pointer-events:none;z-index:20;animation:pulse 1.5s infinite;border:2px solid rgba(255,0,0,.9);border-radius:4px;box-shadow:0 0 8px #ff0000b3}.win-modal .win-actions{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:30px}.win-modal .win-actions .try-again-button,.win-modal .win-actions .win-close-button{margin:0!important;padding:0!important;box-sizing:border-box!important;width:160px!important;height:50px!important;border-radius:8px!important;font-size:1rem!important;font-weight:600!important;cursor:pointer!important;display:flex!important;justify-content:center!important;align-items:center!important;transition:all .2s ease!important;text-align:center!important;text-decoration:none!important}.win-modal .win-actions .try-again-button{background-color:#4a90e2!important;color:#fff!important;border:2px solid #4a90e2!important}.win-modal .win-actions .try-again-button:hover{background-color:#3080de!important;border-color:#3080de!important}.win-modal .win-actions .win-close-button{background-color:#fff!important;color:#4a90e2!important;border:2px solid #4a90e2!important}.win-modal .win-actions .win-close-button:hover{background-color:#4a90e21a!important}.landing-container{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:100vh;padding:2rem 1rem;background-color:#fff;color:#333}.landing-header{display:flex;flex-direction:column;align-items:center;margin-bottom:1.5rem}.landing-logo{width:180px;height:auto;margin-bottom:1rem}.landing-title{font-size:4.2rem;font-weight:700;margin:0;display:flex;justify-content:center}.title-word{display:inline-block;background-clip:text;-webkit-background-clip:text;color:transparent;position:relative}.color-word-1{background-image:linear-gradient(to right,red,#f60,#fc0,#0c0,#06f)}.color-word-2{background-image:linear-gradient(to right,#60f,#90c,#c09,#f06)}.title-letter,.color-red,.color-orange,.color-green,.color-blue,.color-purple,.color-yellow,.text-red,.text-orange,.text-green,.text-blue,.text-yellow,.text-purple,.color-blue-purple{display:none}.title-space{margin:0 .1em}.global-stats-container{background-color:#f7f7f7;border-radius:12px;padding:1.2rem;width:100%;max-width:400px;margin-bottom:2rem;text-align:center;box-shadow:0 4px 10px #0000001a}.global-stats-container h2{margin-top:0;margin-bottom:1rem;font-size:1.3rem;color:#333}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:1rem}.stat-card{background-color:#fff;border-radius:8px;padding:.8rem;box-shadow:0 2px 4px #0000000d}.stat-value{font-size:2.5rem;font-weight:700;margin-bottom:.3rem;color:#3478f6}.stat-label{font-size:1.1rem;color:#666}.stats-highlight{font-size:.9rem;margin:0;padding:.6rem;background-color:#fff;border-radius:8px;color:#333;box-shadow:0 2px 4px #0000000d}.landing-stats-button{display:block;margin:1rem auto 0;background-color:transparent;color:#3478f6;border:1px solid #3478F6;border-radius:6px;padding:.4rem 1rem;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.landing-stats-button:hover:not(:disabled){background-color:#3478f6;color:#fff}.landing-stats-button:disabled{opacity:.4;cursor:not-allowed}.landing-auth-container{display:flex;flex-direction:column;align-items:center;margin-top:1rem}.landing-lock-container{margin-bottom:1.5rem}.landing-signin-button{background-color:#3478f6;color:#fff;border:none;border-radius:12px;padding:.75rem 2rem;font-size:1.1rem;font-weight:700;cursor:pointer;transition:background-color .2s ease;box-shadow:0 2px 4px #0000001a;width:250px;margin-bottom:1rem}.landing-signin-button:hover{background-color:#2861d6}.landing-guest-button{background-color:#fff;color:#3478f6;border:2px solid #3478F6;border-radius:12px;padding:.75rem 2rem;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000000d;width:250px}.landing-guest-button:hover{background-color:#3478f61a}.loading-container{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#fff;z-index:1000}.spinner{width:50px;height:50px;border:5px solid rgba(52,120,246,.3);border-radius:50%;border-top-color:#3478f6;animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-fade-in-placeholder{width:100%;height:100%}.logo-animation{display:flex;align-items:center;justify-content:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);animation:fadeInAndScale 2s cubic-bezier(.25,.1,.25,1) forwards}.logo-animation.fade-out{animation:pauseAndGrowAndFadeOut 2.5s cubic-bezier(.25,.1,.25,1) forwards}@keyframes fadeInAndScale{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes pauseAndGrowAndFadeOut{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}40%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(1.5)}}.app-fade-in{animation:appFadeIn 1.5s ease forwards}@keyframes appFadeIn{0%{opacity:0}to{opacity:1}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.auth-modal{background-color:#fff;border-radius:12px;padding:2rem;width:90%;max-width:400px;position:relative;box-shadow:0 4px 20px #0003}.modal-close{position:absolute;top:15px;right:15px;background-color:#f0f0f0;border:none;color:#333;font-size:22px;cursor:pointer;padding:4px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.modal-close:hover{background-color:#e0e0e0;transform:scale(1.05)}.game-header-container{width:100%;max-width:500px;display:flex;flex-direction:column;align-items:center;position:relative;margin-bottom:1.5rem}.home-button,.settings-button,.stats-button,.info-button{position:absolute;width:40px;height:40px;border-radius:50%;background-color:#f0f0f0;color:#333;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:background-color .2s ease,transform .2s ease;z-index:10}.home-button{top:15px;right:15px}.home-button:hover{background-color:#e0e0e0}.settings-button{top:65px;right:15px}.settings-button:hover{background-color:#e0e0e0;transform:rotate(30deg)}.stats-button{top:115px;right:15px}.stats-button:hover{background-color:#e0e0e0}.info-button{top:165px;right:15px}.info-button:hover{background-color:#e0e0e0}.guest-signup-container.left-side{position:absolute;top:15px;left:15px;z-index:10}.hamburger-container{position:relative}.hamburger-button{cursor:pointer;border:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-weight:500;transition:background-color .2s;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s,transform .2s;box-shadow:0 2px 4px #0000001a;width:40px;height:40px;font-size:18px;background-color:#f0f0f0;color:#333;z-index:1002}.hamburger-button:hover{background-color:#e0e0e0}.hamburger-menu-content{position:absolute;top:50px;left:0;right:auto;background-color:#fff;border-radius:8px;box-shadow:0 2px 6px #0000001a;padding:12px 0;min-width:180px;display:flex;flex-direction:column;animation:fadeIn .1s ease-out;z-index:1001}.hamburger-menu-item{background:none;border:none;text-align:left;padding:.75rem 1rem;font-size:1rem;color:#333;cursor:pointer;display:flex;align-items:center;gap:.5rem;width:100%}.hamburger-menu-item:hover{background-color:#f5f5f5}.hamburger-menu-item svg{width:18px;color:#666}.hamburger-menu-item-signup{padding:.5rem 1rem;border-top:1px solid #eee;margin-top:.25rem}.hamburger-menu-item-signup .signup-button{width:100%;text-align:center}.desktop-only-button,.desktop-only-signup{display:none}@media (min-width: 780px){.desktop-only-button{display:flex}.desktop-only-signup{display:block}.mobile-only-hamburger{display:none}}.top-card{position:relative;width:100%;max-width:500px;margin-left:auto;margin-right:auto;background-color:#f0f0f0;padding:16px 24px;border-radius:12px;box-shadow:0 2px 6px #0000001a;display:flex;justify-content:center;align-items:center;min-height:150px}.top-card .top-card-content{display:flex;flex-direction:column;align-items:center;text-align:center}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.container{position:relative}.main-game-content{display:flex;flex-direction:column;align-items:center;width:100%;max-width:100%;margin:0 auto;padding-top:16px}.side-button-container{position:absolute;z-index:10}.side-button-container.top-left{top:12px;left:12px}.side-button-container.top-right{top:12px;right:12px;display:flex;flex-direction:column;gap:10px}.icon-button{width:40px;height:40px;border-radius:50%;background-color:#f0f0f0;color:#333;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 4px #0000001a;transition:all .2s ease}.icon-button:hover{background-color:#e0e0e0}.icon-button:has(svg[data-icon=gear]):hover{transform:rotate(30deg)}@media (max-width: 779px){.icon-button{display:none}}.desktop-only-icons,.desktop-only-signup{display:none}.mobile-only-hamburger{display:block}@media (min-width: 780px){.desktop-only-icons{display:flex}.desktop-only-signup{display:block}.mobile-only-hamburger{display:none}}.home-button,.settings-button,.stats-button,.info-button{position:relative;top:auto;right:auto}.hamburger-wrapper{position:absolute;top:16px;left:16px;z-index:1001}.welcome-message{margin-top:.5rem;font-size:1.1rem;color:#555;font-weight:500}
