.game-setup{max-width:600px;margin:0 auto;background:var(--color-panel-bg);padding:2rem;border-radius:16px;box-shadow:0 8px 24px #00000026;animation:slideUp .4s ease-out;border:1px solid var(--color-border)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.setup-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:2rem;gap:1rem}.game-setup h2{color:var(--color-text);font-size:2rem;font-weight:700;margin:0;text-align:center;grid-column:2}.help-button{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background:transparent;border:2px solid var(--color-border);border-radius:8px;color:var(--color-text);font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s;white-space:nowrap;justify-self:end;grid-column:3}.help-button:hover{border-color:var(--color-header-gradient-1);background:var(--color-panel-bg);transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.help-icon{width:24px;height:24px;border-radius:50%;border:2px solid currentColor;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;line-height:1}.setup-section{margin-bottom:1.5rem}.setup-section label{display:block;margin-bottom:.5rem;font-weight:700;color:var(--color-text);font-size:1.05rem}.mode-buttons,.length-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.mode-buttons button,.length-buttons button{flex:1;padding:.75rem 1rem;border:2px solid var(--color-border);border-radius:8px;background:var(--color-button-unselected-bg);color:var(--color-button-unselected-text);font-weight:600;font-size:1rem;transition:all .2s}.mode-buttons button:hover,.length-buttons button:hover{border-color:var(--color-text);transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.mode-buttons button.active,.length-buttons button.active{border-color:var(--color-button-selected-bg);background:var(--color-button-selected-bg);color:var(--color-button-selected-text);box-shadow:0 4px 12px #0003}.setup-section select,.setup-section input[type=text]{width:100%;padding:.75rem;border:2px solid var(--color-border);border-radius:8px;font-size:1rem;background:var(--color-bg);color:var(--color-text);transition:border-color .2s}.setup-section select:focus,.setup-section input[type=text]:focus{outline:none;border-color:var(--color-header-gradient-1)}.solver-select{font-weight:500}.solver-description{margin-top:.75rem}.help-text{font-size:.95rem;color:var(--color-text);line-height:1.6;margin:0;padding:.75rem;background:var(--color-panel-bg);border-left:3px solid var(--color-header-gradient-1);border-radius:4px;font-weight:500}.ai-info-box{background:var(--color-panel-bg);border:2px solid var(--color-header-gradient-1);border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px #667eea26;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 4px 12px #667eea26}50%{box-shadow:0 4px 16px #667eea40}}.ai-info-box h3{margin:0 0 1rem;color:var(--color-header-gradient-1);font-size:1.25rem;text-align:center;font-weight:700}.ai-badge{display:flex;align-items:center;gap:1rem;background:var(--color-bg);padding:1rem;border-radius:8px;box-shadow:0 2px 4px #00000026}.ai-icon{font-size:2.5rem;line-height:1}.ai-details{flex:1}.ai-details strong{display:block;color:var(--color-text);font-size:1.15rem;margin-bottom:.25rem;font-weight:700}.ai-details p{margin:0;font-size:.95rem;color:var(--color-text);opacity:.85;line-height:1.6;font-weight:500}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-label input[type=checkbox]{width:1.2rem;height:1.2rem;cursor:pointer}.start-button{width:100%;padding:1rem;background:linear-gradient(135deg,var(--color-header-gradient-1) 0%,var(--color-header-gradient-2) 100%);color:#fff;border:none;border-radius:8px;font-size:1.15rem;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s}.start-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 12px #667eea66}.start-button:disabled{opacity:.5;cursor:not-allowed}.error-message{padding:.75rem;background:#ff32321a;border:1px solid rgba(255,100,100,.3);border-radius:8px;color:#f33;margin-bottom:1rem}.game-modes-info{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--color-border)}.game-modes-info h3{margin-bottom:1rem;color:var(--color-text);font-size:1.1rem}.game-modes-info ul{list-style:none;padding:0}.game-modes-info li{padding:.5rem 0;color:var(--color-text);opacity:.8}@media (max-width: 768px){.game-setup{padding:1.5rem}.setup-header{grid-template-columns:1fr;grid-template-rows:auto auto;gap:1rem}.header-spacer{display:none}.game-setup h2{font-size:1.5rem;grid-column:1;grid-row:1}.help-button{justify-self:center;grid-column:1;grid-row:2;justify-content:center}.mode-buttons button,.length-buttons button{padding:.6rem .8rem;font-size:.9rem}}.wordle-grid{display:flex;flex-direction:column;gap:5px;margin:0 auto;max-width:fit-content}.grid-row{display:flex;gap:5px}.tile{width:62px;height:62px;display:flex;align-items:center;justify-content:center;font-size:2.2rem;font-weight:800;border:2px solid var(--color-border);border-radius:4px;transition:all .2s ease-in-out;-webkit-user-select:none;user-select:none;animation:popIn .15s ease-in-out}@keyframes popIn{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes flip{0%{transform:rotateX(0)}50%{transform:rotateX(90deg)}to{transform:rotateX(0)}}.tile.empty{background:#fff}.tile.filled{background:#fff;border-color:var(--color-border);color:#000}.tile.correct{background:var(--color-correct);border-color:var(--color-correct);color:#fff;animation:flip .5s ease-in-out}.tile.present{background:var(--color-present);border-color:var(--color-present);color:#fff;animation:flip .5s ease-in-out}.tile.absent{background:var(--color-absent);border-color:var(--color-absent);color:#fff;animation:flip .5s ease-in-out}.wordle-grid.length-3 .tile{width:80px;height:80px;font-size:2.8rem;font-weight:800}.wordle-grid.length-4 .tile{width:70px;height:70px;font-size:2.5rem;font-weight:800}.wordle-grid.length-5 .tile{width:62px;height:62px;font-size:2.2rem;font-weight:800}.wordle-grid.length-6 .tile{width:54px;height:54px;font-size:2rem;font-weight:800}.wordle-grid.length-7 .tile{width:48px;height:48px;font-size:1.8rem;font-weight:800}@media (max-width: 768px){.tile{width:52px;height:52px;font-size:1.6rem}.wordle-grid.length-3 .tile{width:60px;height:60px;font-size:2rem}.wordle-grid.length-4 .tile{width:56px;height:56px;font-size:1.8rem}.wordle-grid.length-5 .tile{width:52px;height:52px;font-size:1.6rem}.wordle-grid.length-6 .tile{width:46px;height:46px;font-size:1.4rem}.wordle-grid.length-7 .tile{width:40px;height:40px;font-size:1.2rem}}@media (max-width: 480px){.wordle-grid.length-6 .tile,.wordle-grid.length-7 .tile{width:38px;height:38px;font-size:1.1rem}}.keyboard{max-width:500px;margin:2rem auto;-webkit-user-select:none;user-select:none}.keyboard-row{display:flex;justify-content:center;gap:6px;margin-bottom:6px}.key{min-width:43px;height:58px;display:flex;align-items:center;justify-content:center;background:var(--color-key-bg);border:2px solid var(--color-border);border-radius:4px;font-size:1rem;font-weight:800;cursor:pointer;transition:all .1s;text-transform:uppercase;color:var(--color-key-text)}.key:hover:not(:disabled){background:var(--color-panel-border);transform:scale(1.05)}.key:active:not(:disabled){transform:scale(.95)}.key:disabled{cursor:not-allowed;opacity:.5}.key-wide{min-width:65px;font-size:.85rem;font-weight:800}.key-correct{background:var(--color-correct);border-color:var(--color-correct);color:#fff;font-weight:900}.key-present{background:var(--color-present);border-color:var(--color-present);color:#fff;font-weight:900}.key-absent{background:var(--color-absent);border-color:var(--color-absent);color:#fff;opacity:.5}.key-typing{background:#3b82f6;border-color:#3b82f6;color:#fff;font-weight:900;transform:scale(1.05);animation:blink-key .8s ease-in-out infinite}@keyframes blink-key{0%,to{opacity:1;box-shadow:0 0 15px #3b82f699}50%{opacity:.6;box-shadow:0 0 5px #3b82f64d}}@media (max-width: 768px){.keyboard{max-width:100%}.key{min-width:36px;height:48px;font-size:.8rem}.key-wide{min-width:55px;font-size:.7rem}}@media (max-width: 480px){.key{min-width:28px;height:42px;font-size:.75rem}.key-wide{min-width:45px;font-size:.65rem}.keyboard-row{gap:4px;margin-bottom:4px}}.game-board{max-width:1200px;margin:0 auto}.game-info{display:flex;justify-content:center;gap:2rem;margin-bottom:1.5rem;flex-wrap:wrap}.info-item{display:flex;align-items:center;gap:.5rem}.info-item .label{font-weight:600;color:var(--color-footer-text);font-size:1.05rem}.info-item .value{color:var(--color-text);text-transform:capitalize;font-size:1.05rem;font-weight:500}.hard-mode-badge{padding:.3rem .8rem;background:var(--color-correct);color:#fff;border-radius:4px;font-size:.75rem;font-weight:700;letter-spacing:.05rem}.message{text-align:center;padding:1rem;margin-bottom:1rem;background:transparent;border-radius:4px;color:var(--color-text);font-weight:700;font-size:1rem;animation:slideDown .3s ease-out}.message.game-over{background:transparent;color:var(--color-text);font-size:1.1rem;font-weight:700;animation:celebrate .6s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes celebrate{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.turn-indicator{text-align:center;padding:.75rem 1.5rem;margin-bottom:1rem;border-radius:4px;font-weight:700;font-size:1rem;animation:slideDown .3s ease-out;color:var(--color-text)}.turn-indicator.your-turn{background:transparent;color:var(--color-text);border:2px solid var(--color-correct)}.turn-indicator.ai-turn{background:transparent;color:var(--color-text);border:2px solid var(--color-border)}.ai-thinking .dots{display:inline-block;animation:flash .8s ease-in-out infinite}@keyframes flash{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.loading-indicator{text-align:center;padding:2rem;margin-bottom:1rem}.spinner{width:50px;height:50px;margin:0 auto 1rem;border:4px solid var(--color-border);border-top:4px solid var(--color-correct);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-indicator p{color:var(--color-correct);font-weight:700;font-size:1.15rem}.game-content{margin:2rem 0}.game-content.race-mode{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.board-section{position:relative;padding:1rem;border-radius:12px;transition:all .3s ease;background:#ffffff0d}.board-section.active-player{background:#6aaa6414;border:2px solid var(--color-correct);box-shadow:0 2px 8px #6aaa6426}.board-section h3{text-align:center;margin-bottom:1rem;color:var(--color-text);font-size:1.4rem;font-weight:700;position:relative}.board-section.active-player h3:after{content:"→ Active";position:absolute;right:-10px;top:50%;transform:translateY(-50%);font-size:.8rem;color:var(--color-correct);font-weight:600;animation:pulse-text 1.5s ease-in-out infinite}@keyframes pulse-text{0%,to{opacity:1}50%{opacity:.5}}.game-stats{display:flex;justify-content:center;gap:3rem;margin:2rem 0}.stat{text-align:center}.stat-value{display:block;font-size:2.5rem;font-weight:700;color:var(--color-correct)}.stat-label{display:block;font-size:1rem;color:var(--color-footer-text);margin-top:.25rem;font-weight:600}.new-game-button{display:block;margin:2rem auto 0;padding:.85rem 2.5rem;background:var(--color-button-primary);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s}.new-game-button:hover{background:var(--color-accent-hover);transform:translateY(-2px);box-shadow:0 4px 12px #6aaa644d}@media (max-width: 968px){.game-content.race-mode{grid-template-columns:1fr}}.scoreboard{display:flex;justify-content:center;gap:2rem;margin:1rem 0;padding:1rem;background:transparent;border-radius:0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.score-item{display:flex;flex-direction:column;align-items:center;padding:.5rem 1rem;border-radius:0;min-width:70px}.score-item.human,.score-item.ai{background:transparent;color:var(--color-text);border-right:1px solid var(--color-border)}.score-item.tie{background:transparent;color:var(--color-text)}.score-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05rem;margin-bottom:.25rem;color:var(--color-footer-text)}.score-value{font-size:2rem;font-weight:700;color:var(--color-text)}.ai-toggle{text-align:center;margin:1rem 0}.ai-toggle label{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem 1rem;background:var(--color-panel-bg);border:1px solid var(--color-border);border-radius:8px;transition:background .2s}.ai-toggle label:hover{background:var(--color-panel-border)}.ai-toggle input[type=checkbox]{width:18px;height:18px;cursor:pointer}.ai-toggle span{font-weight:600;color:var(--color-text)}.game-actions{display:flex;justify-content:center;gap:1rem;margin:2rem 0;flex-wrap:wrap}.replay-button{padding:.85rem 2rem;background:var(--color-button-primary);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s}.replay-button:hover{background:var(--color-accent-hover);transform:translateY(-2px);box-shadow:0 4px 12px #6aaa644d}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--color-bg);border-radius:16px;padding:2rem;max-width:500px;width:90%;position:relative;box-shadow:0 10px 40px #0000004d;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:2rem;color:var(--color-footer-text);cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s,color .2s}.modal-close:hover{background:var(--color-panel-bg);color:var(--color-text)}.modal-header{text-align:center;margin-bottom:1.5rem}.modal-header h2{font-size:2rem;color:var(--color-text);margin:0;font-weight:700}.modal-body{margin-bottom:1.5rem}.modal-scoreboard{display:flex;justify-content:center;gap:1.5rem;margin-bottom:1.5rem;padding:1rem;background:var(--color-panel-bg);border-radius:8px;border:1px solid var(--color-border)}.modal-score-item{display:flex;flex-direction:column;align-items:center;padding:.5rem 1rem;min-width:70px}.modal-score-item.human{color:var(--color-text);border-right:1px solid var(--color-border)}.modal-score-item.ai{color:var(--color-text);border-left:1px solid var(--color-border)}.modal-score-item.tie{color:var(--color-text)}.modal-score-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05rem;margin-bottom:.25rem;color:var(--color-footer-text)}.modal-score-value{font-size:1.75rem;font-weight:700;color:var(--color-correct)}.challenge-replay-section{margin-top:1.5rem;padding:1rem;background:var(--color-panel-bg);border-radius:8px;border:1px solid var(--color-border)}.challenge-label{display:block;font-size:.9rem;font-weight:600;color:var(--color-text);margin-bottom:.5rem}.challenge-input{width:100%;padding:.75rem;font-size:1rem;border:2px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text);font-family:inherit;text-transform:lowercase;transition:border-color .2s}.challenge-input:focus{outline:none;border-color:var(--color-correct)}.challenge-error{margin-top:.5rem;color:#e74c3c;font-size:.85rem;font-weight:600}.secret-word-reveal{text-align:center;padding:1.5rem;background:var(--color-correct);border-radius:8px;margin-bottom:1.5rem}.secret-label{color:#fffffff2;font-size:.9rem;margin:0 0 .5rem;font-weight:600}.secret-word{color:#fff;font-size:2.5rem;font-weight:700;margin:0;letter-spacing:.3rem;text-transform:uppercase}.game-summary{background:var(--color-panel-bg);border-radius:8px;padding:1rem;border:1px solid var(--color-border)}.summary-row{display:flex;justify-content:space-between;padding:.75rem;font-size:1rem;color:var(--color-text)}.summary-row:not(:last-child){border-bottom:1px solid var(--color-border)}.summary-value{font-weight:700;color:var(--color-correct)}.modal-actions{display:flex;gap:1rem;justify-content:center}.modal-button{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;flex:1}.modal-button.replay{background:var(--color-button-primary);color:#fff}.modal-button.replay:hover{background:var(--color-accent-hover)}.modal-button.new-game{background:var(--color-absent);color:#fff}.modal-button.new-game:hover{background:var(--color-footer-text)}.modal-button.home{background:#3b82f6;color:#fff}.modal-button.home:hover{background:#2563eb}.modal-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}@media (max-width: 768px){.game-info{gap:1rem;font-size:.9rem}.game-stats{gap:2rem}.stat-value{font-size:1.5rem}.scoreboard{gap:1rem}.score-item{padding:.5rem 1rem;min-width:60px}.score-value{font-size:1.5rem}.modal-content{padding:1.5rem}.secret-word{font-size:2rem;letter-spacing:.2rem}.game-actions{flex-direction:column}.replay-button,.new-game-button{width:100%}}.App{min-height:100vh;display:flex;flex-direction:column}.app-header{background:var(--color-header-bg);color:var(--color-text);padding:1rem;text-align:center;border-bottom:1px solid var(--color-header-border);animation:slideDownHeader .5s ease-out;position:relative}@keyframes slideDownHeader{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.app-header h1{font-size:2.25rem;font-weight:700;margin-bottom:.25rem;letter-spacing:.05rem;color:var(--color-text)}.tagline{font-size:.875rem;color:var(--color-text);opacity:.6;font-weight:400;letter-spacing:.05rem}.home-button{position:absolute;top:50%;left:1rem;transform:translateY(-50%);padding:.5rem 1rem;background:transparent;border:1px solid var(--color-border);color:var(--color-text);border-radius:4px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.home-button:hover{background:var(--color-panel-bg);border-color:var(--color-text)}.header-buttons{position:absolute;top:50%;right:1rem;transform:translateY(-50%);display:flex;gap:.5rem;align-items:center}.pingpong-button,.feedback-button,.theme-toggle{background:transparent;border:1px solid var(--color-border);border-radius:4px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;cursor:pointer;transition:all .2s ease;color:var(--color-text);text-decoration:none}.pingpong-button:hover,.feedback-button:hover,.theme-toggle:hover{background:var(--color-panel-bg);border-color:var(--color-text)}.app-main{flex:1;padding:2rem 1rem;animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.app-footer{background:var(--color-footer-bg);padding:1.5rem;text-align:center;color:var(--color-footer-text);font-size:.9rem;margin-top:auto}.welcome-modal{max-width:600px;max-height:90vh;overflow-y:auto;background:var(--color-modal-bg)!important;border:1px solid var(--color-modal-border)}.welcome-modal .modal-header h2{color:var(--color-modal-text)}.welcome-intro{font-size:1.1rem;margin-bottom:1.5rem;text-align:center;color:var(--color-modal-text)}.instructions-section{margin-bottom:1.5rem}.instructions-section h3{color:var(--color-modal-text);font-size:1.1rem;margin-bottom:.75rem;font-weight:600}.instructions-list{list-style:none;padding:0;margin:0}.instructions-list li{padding:.5rem 0;color:var(--color-modal-text);line-height:1.5}.instructions-list li strong{color:var(--color-modal-accent)}.loading-note{margin-top:1.5rem;padding:1rem;background:var(--color-bg);border-radius:8px;font-size:.9rem;color:var(--color-text);text-align:center;border-left:4px solid var(--color-accent)}.modal-button.primary{background:var(--color-modal-accent);color:#fff;font-weight:600;padding:.75rem 2rem;font-size:1.1rem}.modal-button.primary:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.feedback-modal{max-width:500px;background:var(--color-modal-bg)!important;border:1px solid var(--color-modal-border)}.feedback-modal .modal-header h2{color:var(--color-modal-text)}.feedback-description{color:var(--color-modal-text);margin-bottom:1.5rem;font-size:.95rem;line-height:1.5}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--color-modal-text);font-weight:600;font-size:.95rem}.form-group textarea,.form-group input{width:100%;padding:.75rem;border:2px solid var(--color-modal-border);border-radius:8px;background:var(--color-modal-panel-bg);color:var(--color-modal-text);font-family:inherit;font-size:.95rem;transition:border-color .2s}.form-group textarea:focus,.form-group input:focus{outline:none;border-color:var(--color-modal-accent)}.form-group textarea:disabled,.form-group input:disabled{opacity:.6;cursor:not-allowed}.form-group textarea{resize:vertical;min-height:120px}.feedback-error{padding:.75rem;background:#ff32321a;border:1px solid rgba(255,100,100,.3);border-radius:8px;color:#f33;margin-top:1rem;font-size:.9rem}.feedback-success{text-align:center;padding:2rem}.feedback-success p:first-child{font-size:1.5rem;color:var(--color-modal-accent);margin-bottom:.5rem;font-weight:600}.feedback-success p:last-child{color:var(--color-modal-text);font-size:.95rem}.modal-button.secondary{background:transparent;border:2px solid var(--color-modal-border);color:var(--color-modal-text);font-weight:600;padding:.75rem 1.5rem;font-size:1rem}.modal-button.secondary:hover:not(:disabled){background:var(--color-modal-panel-bg);border-color:var(--color-modal-accent)}.modal-button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.app-header h1{font-size:1.8rem}.tagline{font-size:1rem}.welcome-modal{max-width:95%;padding:1.5rem}.feedback-modal{max-width:95%}.instructions-section h3{font-size:1rem}.instructions-list li{font-size:.9rem}}.pingpong-modal{max-width:500px}.pingpong-body{padding:1rem}.pingpong-instructions{text-align:center;margin-bottom:1rem;color:var(--color-text);opacity:.8;font-size:.9rem}.pingpong-game-canvas{position:relative;width:100%;max-width:400px;height:250px;background:#8080801a;border:2px solid var(--color-border);border-radius:12px;margin:0 auto 1rem;overflow:hidden;touch-action:none}.pingpong-paddle{position:absolute;width:10px;height:50px;background:var(--color-text);border-radius:2px}.pingpong-paddle-left{left:10px}.pingpong-paddle-right{right:10px}.pingpong-ball{position:absolute;width:12px;height:12px;background:var(--color-text);border-radius:50%;box-shadow:0 0 10px #ffffff4d}.pingpong-center-line{position:absolute;left:50%;top:0;bottom:0;width:2px;background:var(--color-border);opacity:.3;transform:translate(-50%)}.pingpong-pause-btn{position:absolute;top:8px;right:8px;width:28px;height:28px;background:#80808033;border:1px solid var(--color-border);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text);font-size:.75rem;z-index:10;transition:background .2s}.pingpong-pause-btn:hover{background:#8080804d}.pingpong-game-score{text-align:center;color:var(--color-text);font-size:1rem;font-family:Inter,monospace;font-weight:600}*{margin:0;padding:0;box-sizing:border-box}:root{--color-correct: #6aaa64;--color-present: #c9b458;--color-absent: #787c7e;--color-empty: #d3d6da;--color-bg: #E3E3E1;--color-text: #1a1a1b;--color-border: #c0c0be;--color-key-bg: #d3d6da;--color-key-text: #1a1a1b;--color-panel-bg: #E3E3E1;--color-panel-border: #c0c0be;--color-header-bg: #E3E3E1;--color-header-border: #c0c0be;--color-footer-bg: #E3E3E1;--color-footer-text: #787c7e;--color-button-primary: #6aaa64;--color-button-secondary: #E3E3E1;--color-button-selected-bg: #000000;--color-button-selected-text: #FFFFFF;--color-button-unselected-bg: #E3E3E1;--color-button-unselected-text: #1a1a1b;--color-accent: #6aaa64;--color-accent-hover: #5a9454;--color-header-gradient-1: #6aaa64;--color-header-gradient-2: #5a9454;--color-modal-bg: #121213;--color-modal-text: #d7dadc;--color-modal-border: #3a3a3c;--color-modal-panel-bg: #1a1a1b;--color-modal-accent: #538d4e}html.dark-mode{--color-correct: #538d4e;--color-present: #b59f3b;--color-absent: #3a3a3c;--color-empty: #3a3a3c;--color-bg: #121213;--color-text: #d7dadc;--color-border: #3a3a3c;--color-key-bg: #818384;--color-key-text: #ffffff;--color-panel-bg: #1a1a1b;--color-panel-border: #3a3a3c;--color-header-bg: #121213;--color-header-border: #3a3a3c;--color-footer-bg: #121213;--color-footer-text: #818384;--color-button-primary: #538d4e;--color-button-secondary: #1a1a1b;--color-button-selected-bg: #FFFFFF;--color-button-selected-text: #000000;--color-button-unselected-bg: #1a1a1b;--color-button-unselected-text: #d7dadc;--color-accent: #538d4e;--color-accent-hover: #4a7e46;--color-header-gradient-1: #538d4e;--color-header-gradient-2: #4a7e46;--color-modal-bg: #E3E3E1;--color-modal-text: #1a1a1b;--color-modal-border: #c0c0be;--color-modal-panel-bg: #E3E3E1;--color-modal-accent: #6aaa64}body{font-family:Clear Sans,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-bg);color:var(--color-text);min-height:100vh;transition:background-color .3s ease,color .3s ease}#root{min-height:100vh;display:flex;flex-direction:column}button{font-family:inherit;cursor:pointer;border:none;background:none}input{font-family:inherit}.container{max-width:1400px;margin:0 auto;padding:0 1rem}@keyframes flip{0%{transform:rotateX(0)}50%{transform:rotateX(-90deg)}to{transform:rotateX(0)}}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.tile-flip{animation:flip .5s ease-in-out}.tile-pop{animation:pop .1s ease-in-out}.shake{animation:shake .5s ease-in-out}button,input,select{transition:all .2s ease}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--color-header-gradient-1)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--color-header-gradient-1);outline-offset:2px}
