:root{font-family:Inter,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{--square-size: min(70px, calc((100vw - 3rem)/8) );--board-border: min(12px, calc(var(--square-size) * .17))}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;padding:0;width:100vw;height:100vh;overflow-x:hidden;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.app{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100vw;min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;padding:min(2rem,5vh) 1rem}.app-title{display:flex;flex-direction:column;align-items:center;gap:.75rem;font-weight:700;margin:1.5rem auto;text-align:center;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;max-width:400px}.intro-title{margin:2rem auto}.game-title{flex-direction:row;gap:1rem;margin:1rem auto;max-width:none;align-items:center;padding:0 1rem}.game-title .logo-icon{width:min(40px,10vw);margin-bottom:0}.game-title .logo-text{flex-direction:row;align-items:center;gap:.5rem}.game-title .chess,.game-title .vision{font-size:min(1.3rem,4.5vw);letter-spacing:.1em}.game-title .pro-container{margin-top:0;margin-left:1rem;padding:0}.game-title .pro{font-size:min(.8rem,2.8vw);letter-spacing:.2em;opacity:.9}.game-title .pro-underline{bottom:-.2rem;height:1px;opacity:.4}.logo-icon{width:min(80px,20vw);height:auto;margin-bottom:-.5rem}.queen-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.queen-left{fill:#e91e63}.queen-right{fill:#ff9800}.queen-crown{fill:gold}.logo-text{display:flex;flex-direction:column;align-items:center;gap:.1rem}.app-title .chess,.app-title .vision{font-size:min(2.2rem,8vw);letter-spacing:.15em;color:#fffffff2;line-height:1.1}.pro-container{position:relative;margin-top:.75rem;padding:0 1rem}.app-title .pro{font-size:min(1.2rem,4vw);letter-spacing:.3em;color:#ffffffe6}.pro-underline{position:absolute;left:0;right:0;bottom:-.3rem;height:2px;background:linear-gradient(to right,transparent 0%,rgba(255,255,255,.8) 20%,rgba(255,255,255,.8) 80%,transparent 100%);opacity:.6}@media (max-height: 600px) and (orientation: landscape){.app{padding:min(1rem,2vh) 1rem}.game-container{gap:min(1rem,2vh)}:root{--square-size: min(70px, calc((100vh - 6rem)/8) )}.app-title{margin-bottom:min(1rem,2vh);font-size:min(2rem,6vw)}}.game-container{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:1200px;margin:0 auto;gap:min(2rem,5vh)}.game-board-container{display:flex;align-items:center;position:relative;width:fit-content;margin:0 auto}.game-messages{position:absolute;left:calc(100% + 2rem);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:flex-start;gap:1rem;width:max-content;pointer-events:none}.game-board-container+.ready-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10;border-radius:8px;box-shadow:0 8px 32px #0003,inset 0 0 0 1px #ffffff1a}.game-board-container+.ready-modal,.game-board-container+.game-over-modal{background:#1e222ff2!important;max-width:400px!important;padding:2rem!important;text-align:center}.game-board-container+.ready-modal+.ready-content h2{font-size:2.5rem;margin:0 0 1rem;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2)}.game-board-container+.ready-modal+.ready-content p{font-size:1.2rem;margin:0 0 2rem;color:#ffffffe6}.game-board-container+.ready-modal+.ready-content .start-button{background:#4caf50;color:#fff;border:none;border-radius:8px;padding:1rem 2.5rem;font-size:1.5rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.19,1,.22,1);text-shadow:0 1px 2px rgba(0,0,0,.1);box-shadow:0 4px 12px #4caf504d,inset 0 0 0 1px #ffffff1a}.game-board-container+.ready-modal+.ready-content .start-button:hover{background:#43a047;transform:translateY(-2px);box-shadow:0 6px 16px #4caf5066}.game-board-container+.ready-modal+.ready-content .start-button:active{transform:translateY(0);box-shadow:0 4px 12px #4caf504d}.game-board-container+.ready-modal+.ready-content .target{text-align:center;font-size:1.2rem;color:#ffffffe6;margin-bottom:1.5rem;padding:1rem;background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:8px;box-shadow:0 4px 12px #0000001a}.game-board-container+.ready-modal+.ready-content .target .target-square{color:#64b5f6;font-weight:600;margin-left:.5rem}.game-board-container+.game-over-modal+.game-over-content h2{font-size:2.5rem;margin:0 0 2rem;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2)}.game-board-container+.game-over-modal+.game-over-content .final-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2rem;padding:1rem;background:#ffffff0d;border-radius:12px;box-shadow:inset 0 0 0 1px #ffffff1a}.game-board-container+.game-over-modal+.game-over-content .final-stat{display:flex;flex-direction:column;gap:.5rem}.game-board-container+.game-over-modal+.game-over-content .final-stat .stat-label{font-size:.9rem;color:#ffffffb3;text-transform:uppercase;letter-spacing:.05em}.game-board-container+.game-over-modal+.game-over-content .final-stat .stat-value{font-size:1.5rem;font-weight:700;color:#fff}.game-board-container+.game-over-modal+.game-over-content .final-stat:nth-child(1) .stat-value{color:#64b5f6}.game-board-container+.game-over-modal+.game-over-content .final-stat:nth-child(2) .stat-value{color:#4caf50}.game-board-container+.game-over-modal+.game-over-content .final-stat:nth-child(3) .stat-value{color:#ff9800}.game-header{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:calc(var(--square-size) * 8 + var(--board-border) * 2);margin:0 auto;gap:min(2rem,4vw);flex-wrap:wrap}.score{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:min(1rem,2.5vw);background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:8px;box-shadow:0 4px 16px #0003,inset 0 0 0 1px #ffffff1a;min-width:100px}.score-label{font-size:min(.9rem,3.5vw);opacity:.9;text-transform:uppercase;letter-spacing:.05em}.score-value{font-size:min(1.5rem,5vw);font-weight:700;color:#64b5f6}.instructions{font-size:min(1.2rem,4vw);padding:min(1rem,2.5vw) min(1.5rem,4vw);background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:8px;box-shadow:0 4px 16px #0003,inset 0 0 0 1px #ffffff1a;text-align:center;flex-grow:1;max-width:400px}.target-square{font-weight:700;color:#64b5f6;margin-left:.5rem}@media (max-width: 500px){.game-header{justify-content:center}.score,.instructions{width:100%}}.chessboard{display:grid;grid-template-columns:repeat(8,var(--square-size));grid-template-rows:repeat(8,var(--square-size));margin:0 auto;border:var(--board-border) solid #2a2a3c;border-radius:4px;box-shadow:0 8px 32px #0000004d;background:#2a2a3c}.square{width:var(--square-size);height:var(--square-size);position:relative;cursor:pointer;perspective:600px;border-radius:2px;overflow:hidden;touch-action:manipulation}.square-face{position:absolute;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:min(1.2rem,calc(var(--square-size) * .3));font-weight:700;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:all .3s ease}.guess-count{font-size:min(.8rem,calc(var(--square-size) * .2));opacity:.8;margin-top:2px}.celebration{position:relative;font-size:min(2rem,7vw);font-weight:700;color:#4caf50;text-shadow:0 0 10px rgba(76,175,80,.3),0 2px 4px rgba(0,0,0,.3);animation:celebrate .7s cubic-bezier(.19,1,.22,1);background:#ffffff80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:min(1rem,3vw) min(2rem,6vw);border-radius:12px;box-shadow:0 8px 32px #0003,inset 0 0 0 1px #ffffff1a;text-align:left;white-space:nowrap;pointer-events:auto;will-change:transform,opacity}.celebration.incorrect{color:#f44;text-shadow:0 0 10px rgba(255,68,68,.3),0 2px 4px rgba(0,0,0,.3)}.next-square{position:relative;font-size:min(1.5rem,6vw);font-weight:700;color:#454561;text-shadow:0 0 10px rgba(255,255,255,.2),0 2px 4px rgba(0,0,0,.3);animation:slideIn .5s cubic-bezier(.19,1,.22,1);background:#ffffff80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:min(.75rem,2vw) min(1.5rem,4vw);border-radius:12px;box-shadow:0 8px 32px #0003,inset 0 0 0 1px #ffffff1a;text-align:left;white-space:nowrap;pointer-events:auto;will-change:transform,opacity}.target{font-size:min(1.5rem,5vw);color:#fff;margin:0;padding:min(.75rem,2vw) min(1.5rem,4vw);background:#ffffff26;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:8px;box-shadow:0 4px 16px #0003,inset 0 0 0 1px #ffffff1a;text-align:center;text-shadow:0 2px 4px rgba(0,0,0,.3);max-width:90vw;white-space:nowrap}.color-selection{text-align:center;padding:min(3rem,8vw);background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:8px;box-shadow:0 8px 32px #0003,inset 0 0 0 1px #ffffff1a;max-width:90vw;width:100%;max-width:400px}.color-selection h2{color:#fff;margin-bottom:min(2rem,5vw);font-size:min(1.8rem,6vw);font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.2)}.color-buttons{display:flex;gap:min(1.5rem,4vw);justify-content:center;flex-wrap:wrap}.color-buttons button{padding:min(1.2rem,3vw) min(2.5rem,6vw);font-size:min(1.2rem,4.5vw);border:none;border-radius:8px;cursor:pointer;transition:all .3s cubic-bezier(.19,1,.22,1);position:relative;overflow:hidden;font-weight:600;min-width:120px}.color-buttons button:first-child{background-color:#eeeed2;color:#000;box-shadow:0 4px 12px #eeeed24d}.color-buttons button:last-child{background-color:#000;color:#fff;box-shadow:0 4px 12px #0006}.color-buttons button:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000004d}.color-buttons button:active{transform:translateY(-1px);box-shadow:0 4px 12px #0003}@media (max-height: 600px) and (orientation: landscape){.color-selection{padding:min(2rem,4vw)}.color-selection h2{margin-bottom:min(1.5rem,3vw)}.color-buttons{gap:min(1rem,2vw)}}.square-inner{width:100%;height:100%;transition:transform .3s;transform-style:preserve-3d;position:relative}.square-inner.is-flipped{transform:rotateY(180deg)}.square-face--front{background:inherit}.square-face--back{transform:rotateY(180deg);display:flex;flex-direction:column}.square.is-flipping{pointer-events:none}.square.completed{cursor:not-allowed}.square-face--back.incorrect{background-color:#f44;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.square-face--back.correct{background-color:#4caf50;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.square.light .square-face--front{background-color:#eeeed2}.square.dark .square-face--front{background-color:#769656}.square.completed .square-face{background-color:#4caf50;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}@keyframes celebrate{0%{opacity:0;transform:translate(-1rem)}to{opacity:1;transform:translate(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-1rem)}to{opacity:1;transform:translate(0)}}.timer{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:min(1rem,2.5vw);background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:8px;box-shadow:0 4px 16px #0003,inset 0 0 0 1px #ffffff1a;min-width:100px;transition:color .3s}.timer-label{font-size:min(.9rem,3.5vw);opacity:.9;text-transform:uppercase;letter-spacing:.05em}.timer-value{font-size:min(1.5rem,5vw);font-weight:700;color:#ff9800;font-variant-numeric:tabular-nums;min-width:4ch;text-align:center}.timer-value.warning{color:#f44336;animation:pulse 1s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}@media (pointer: coarse){*{-webkit-user-select:none;user-select:none}.square:hover .square-face--front{filter:none}}.game-controls{display:none}@media (min-width: 768px){.game-controls{display:flex;flex-direction:column;gap:1rem;position:absolute;left:-60px;top:50%;transform:translateY(-50%)}}@media (max-width: 767px){.game-board-container{flex-direction:column}.game-controls{display:flex;flex-direction:row;justify-content:center;gap:1rem;margin-bottom:1rem;position:static;transform:none}}.icon-button{background:#ffffff1a;border:none;border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 12px #0003,inset 0 0 0 1px #ffffff1a;color:#fff;padding:0}.icon-button svg{width:24px;height:24px;stroke-width:2px}.icon-button:hover{background:#ffffff26;transform:translateY(-2px);box-shadow:0 6px 16px #0000004d;color:#64b5f6}.icon-button:active{transform:translateY(0)}.streak{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:min(1rem,2.5vw);background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:8px;box-shadow:0 4px 16px #0003,inset 0 0 0 1px #ffffff1a;min-width:100px}.streak-label{font-size:min(.9rem,3.5vw);opacity:.9;text-transform:uppercase;letter-spacing:.05em}.streak-value{font-size:min(1.5rem,5vw);font-weight:700;color:#4caf50}.best-streak{font-size:min(.8rem,3vw);opacity:.7}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#1a1a1a;border-radius:12px;padding:min(2rem,5vw);width:100%;max-width:400px;box-shadow:0 8px 32px #0000004d,inset 0 0 0 1px #ffffff1a}.modal-content h2{margin:0 0 1.5rem;font-size:min(1.5rem,6vw);color:#fff}.settings-group{display:flex;flex-direction:column;gap:1.2rem;margin:1.5rem 0}.settings-group label{display:flex;align-items:center;gap:.8rem;font-size:min(1.1rem,4vw);color:#ffffffe6}.timer-settings,.quadrant-settings{display:flex;flex-direction:column;gap:.8rem;padding:1rem;background:#ffffff1a;border-radius:8px;margin-top:.5rem}.quadrant-settings label{flex-direction:column;align-items:flex-start;gap:.5rem}.quadrant-settings select,.timer-settings select{width:100%;padding:.6rem;font-size:min(1rem,3.8vw);background:#ffffffe6;border:none;border-radius:6px;color:#16213e;cursor:pointer;transition:all .2s ease}.quadrant-settings select:hover,.timer-settings select:hover{background:#fff;box-shadow:0 2px 8px #0003}.quadrant-settings select:focus,.timer-settings select:focus{outline:none;box-shadow:0 0 0 2px #ffffff4d}.tutorial-steps{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.tutorial-steps p{margin:0;font-size:min(1rem,4vw);line-height:1.4}.modal-content button{width:100%;padding:.75rem;font-size:min(1rem,4vw);background:#64b5f6;border:none;border-radius:6px;color:#fff;font-weight:600;cursor:pointer;transition:all .3s}.modal-content button:hover{background:#42a5f5;transform:translateY(-1px)}@media (max-width: 500px){.game-header{justify-content:center}.score,.streak,.timer,.instructions{width:100%}.timer-settings{flex-direction:column;align-items:flex-start;margin-left:1.5rem}}@media (max-width: 1024px){.game-messages{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);align-items:center}.celebration,.next-square{text-align:center}@keyframes celebrate{0%{opacity:0;transform:translateY(-1rem)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateY(-1rem)}to{opacity:1;transform:translateY(0)}}}
