:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.container{min-height:100vh;background-color:#f5f5f5;padding:16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.title{font-size:24px;font-weight:700;text-align:center;margin:16px 0;color:#333}.start-container{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px;height:80vh}.instructions{font-size:16px;text-align:center;margin-bottom:30px;color:#555;line-height:22px;max-width:400px}.start-button{background-color:#4caf50;color:#fff;border:none;padding:12px 30px;border-radius:8px;font-size:18px;font-weight:700;cursor:pointer;transition:background-color .3s}.start-button:hover{background-color:#45a049}.game-info{margin-bottom:16px;text-align:center}.info-text{font-size:18px;font-weight:700;color:#333;margin:0}.completion-text{font-size:20px;font-weight:700;color:#4caf50;margin:8px 0 0}.grid-container{flex:1;overflow:auto;display:flex;flex-direction:column;align-items:center;max-height:70vh}.cell{width:35px;height:35px;border:1px solid #ddd;display:flex;justify-content:center;align-items:center;background-color:#fff;position:relative}.clickable-cell:hover{background-color:#f0f0f0}.header-cell{background-color:#f0f0f0;font-weight:700}.header-text{font-weight:700;color:#333;font-size:12px}.cell-text{font-size:10px;color:#333}.gift-location-cell{background-color:#fff9c4}.placed-gift-cell{background-color:#c8e6c9}.gift-icon{position:absolute;top:2px;right:2px}.gift-text{font-size:10px}.target-icon{position:absolute;bottom:2px;left:2px}.target-text{font-size:10px}.button-container{margin-top:16px;text-align:center}.reset-button{background-color:#f44336;color:#fff;border:none;padding:12px 30px;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:background-color .3s}.reset-button:hover{background-color:#da190b}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:#fff;padding:20px;border-radius:10px;width:90%;max-width:400px;text-align:center}.modal-title{font-size:18px;font-weight:700;margin-bottom:16px;text-align:center}.input-container{display:flex;align-items:center;margin:8px 0;width:100%}.input-label{width:40%;font-size:16px;text-align:left}.input{width:60%;border:1px solid #ddd;border-radius:4px;padding:8px;font-size:16px}.possible-pairs{margin:12px 0 16px;font-size:14px;color:#666;text-align:center}.modal-buttons{display:flex;justify-content:space-between;width:100%}.modal-button{padding:10px 20px;border-radius:6px;min-width:100px;border:none;font-weight:700;cursor:pointer;transition:background-color .3s}.cancel-button{background-color:#f44336;color:#fff}.cancel-button:hover{background-color:#da190b}.submit-button{background-color:#4caf50;color:#fff}.submit-button:hover{background-color:#45a049}@media(max-width:480px){.container{padding:8px}.title{font-size:20px}.cell{width:30px;height:30px}.cell-text{font-size:9px}.modal-content{width:95%;padding:15px}}.container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:10px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.title{font-size:24px;font-weight:700;text-align:center;margin:10px 0;color:#000;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.start-container{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:15px;height:80vh}.instructions{font-size:16px;text-align:center;margin-bottom:20px;color:#000;line-height:22px;max-width:400px;text-shadow:1px 1px 2px rgba(0,0,0,.3);background:#ffffff1a;padding:15px;border-radius:10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.name-input{width:100%;padding:10px;border:2px solid #4CAF50;border-radius:8px;font-size:16px;text-align:center;background-color:#ffffffe6;box-shadow:0 4px 6px #0000001a;transition:all .3s ease}.name-input:focus{outline:none;border-color:#2196f3;box-shadow:0 0 10px #2196f380;transform:translateY(-2px)}.start-buttons{display:flex;flex-direction:column;gap:10px;width:100%;max-width:300px}.start-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 30px;border-radius:8px;font-size:18px;font-weight:700;cursor:pointer;transition:all .3s ease;width:100%;box-shadow:0 4px 6px #0000001a}.start-button:hover{transform:translateY(-2px);box-shadow:0 6px 12px #0003}.competition-button{background:linear-gradient(135deg,#f093fb,#f5576c)}.competition-button:hover{background:linear-gradient(135deg,#f5576c,#f093fb)}.view-scores-button{background:linear-gradient(135deg,#4facfe,#00f2fe)}.view-scores-button:hover{background:linear-gradient(135deg,#00f2fe,#4facfe)}.view-scores-button:disabled{background:linear-gradient(135deg,#bdc3c7,#95a5a6);cursor:not-allowed;transform:none!important;box-shadow:none!important}.competition-summary{background:linear-gradient(135deg,#9b59b6cc,#8e44adcc);padding:15px;border-radius:10px;margin:15px 0;text-align:center;box-shadow:0 4px 6px #0000001a;border:2px solid rgba(255,255,255,.3);max-width:300px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.summary-text{font-size:9px;font-weight:700;color:#fff;margin:0}.summary-subtext{font-size:14px;color:#fffc;margin:5px 0 0}.competition-mode-indicator{color:#9b59b6;font-weight:700;background:linear-gradient(135deg,#9b59b633,#8e44ad33);padding:5px 10px;border-radius:5px;display:inline-block;border:1px solid rgba(155,89,182,.3)}.game-container{display:flex;flex-direction:column;height:90vh}.game-controls{margin-bottom:10px;text-align:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:10px;border-radius:8px;box-shadow:0 4px 6px #0000001a;display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.game-controls button{background:#ffffffe6;color:#333;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.game-controls button:hover{background:#fff;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.game-info{margin:0 auto 5px;text-align:center;background:linear-gradient(135deg,#ff9a9e,#fad0c4);padding:5px;border-radius:4px;box-shadow:0 2px 3px #0000001a;border:2px solid rgba(255,255,255,.3);width:fit-content}.info-text{font-size:10px;font-weight:700;color:#2c3e50;margin:4px 0}.completion-text{font-size:18px;font-weight:700;color:#27ae60;margin:5px 0 0;text-shadow:1px 1px 2px rgba(0,0,0,.2)}.manual-control-on{font-size:10px;font-weight:700;color:#27ae60;margin:2px 0 0}.manual-control-off{font-size:10px;font-weight:700;color:#e74c3c;margin:2px 0 0}.stored-factors-container{margin-bottom:2px;padding:2px;background:linear-gradient(135deg,#a1c4fd,#c2e9fb);border-radius:3px;box-shadow:0 2px 4px #0000001a}.stored-factors-title{font-weight:700;color:#2c3e50;font-size:10px;margin:0 0 2px}.stored-factors-list{display:flex;overflow-x:auto;gap:4px;padding:2px;scrollbar-width:thin;scrollbar-color:#667eea #f0f0f0}.stored-factors-list::-webkit-scrollbar{height:3px}.stored-factors-list::-webkit-scrollbar-track{background:#f0f0f0;border-radius:3px}.stored-factors-list::-webkit-scrollbar-thumb{background:#667eea;border-radius:3px}.stored-factors-list::-webkit-scrollbar-thumb:hover{background:#764ba2}.stored-factor-item{padding:3px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:4px;white-space:nowrap;color:#fff;box-shadow:0 2px 4px #0003}.stored-factor-text{font-size:10px;font-weight:500}.grid-container{flex:1;margin-bottom:2px;overflow:hidden;border-radius:10px;box-shadow:0 2px 3px #0000001a;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:2px}.grid-scroll-wrapper{width:100%;height:100%;overflow:auto;padding:10px;scrollbar-width:thin;scrollbar-color:#667eea #f0f0f0}.grid-scroll-wrapper::-webkit-scrollbar{width:10px;height:10px}.grid-scroll-wrapper::-webkit-scrollbar-track{background:#f0f0f0;border-radius:5px}.grid-scroll-wrapper::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:5px}.grid-scroll-wrapper::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#764ba2,#667eea)}.grid-content{display:flex;flex-direction:column;align-items:center;min-width:min-content;min-height:min-content}.row{display:flex;flex-direction:row}.cell{border:1px solid rgba(255,255,255,.5);display:flex;justify-content:center;align-items:center;position:relative;transition:all .3s ease;box-shadow:inset 0 1px 2px #ffffff4d}.cell:hover{transform:scale(1.05);z-index:10;box-shadow:0 4px 8px #0003}.clickable-cell{cursor:pointer}.clickable-cell:hover{background:linear-gradient(135deg,#667eea1a,#764ba21a)}.header-cell{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:700;position:sticky;z-index:5}.header-text{font-weight:700;color:#fff;font-size:12px;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.cell-text{font-size:12px;font-weight:600;color:#2c3e50;text-shadow:1px 1px 1px rgba(255,255,255,.5)}.invalid-cell{background:linear-gradient(135deg,#f5f7fa,#e3e6e9)}.invalid-cell-text{color:#bdc3c7}.player-gift-location-cell{background:linear-gradient(135deg,#f6d365,#fda085);border:2px solid #f39c12;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 #f39c1266}70%{box-shadow:0 0 0 10px #f39c1200}to{box-shadow:0 0 #f39c1200}}.player-placed-gift-cell{background:linear-gradient(135deg,#a8edea,#fed6e3);border:2px solid #27ae60}.car-cell{background:linear-gradient(135deg,#89f7fe,#66a6ff);border:2px solid #3498db;animation:car-glow 1.5s infinite alternate}@keyframes car-glow{0%{box-shadow:0 0 5px #3498db80}to{box-shadow:0 0 15px #3498dbcc}}.has-stored-factors-cell{border:2px solid #27ae60;background:linear-gradient(135deg,#c8e6c9,#a5d6a7)}.arrow-cell{border:2px solid #e67e22;background:linear-gradient(135deg,#ffecd2,#fcb69f)}.gift-icon{position:absolute;top:1px;right:1px;z-index:3;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.gift-text{font-size:10px;filter:drop-shadow(1px 1px 1px rgba(0,0,0,.3))}.target-icon{position:absolute;bottom:1px;left:1px;z-index:3;animation:spin 4s infinite linear}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.target-text{font-size:10px;filter:drop-shadow(1px 1px 1px rgba(0,0,0,.3))}.car-icon{position:absolute;top:1px;left:1px;z-index:10;animation:shake .5s infinite alternate}@keyframes shake{0%{transform:translate(-1px)}to{transform:translate(1px)}}.car-text{font-size:10px;filter:drop-shadow(2px 2px 2px rgba(0,0,0,.3))}.factors-icon{position:absolute;bottom:1px;right:1px;background:linear-gradient(135deg,#27ae60,#219955);border-radius:6px;width:12px;height:12px;display:flex;justify-content:center;align-items:center;z-index:5;box-shadow:0 2px 4px #0003}.factors-text{font-size:8px;color:#fff;font-weight:700}.arrow-icon{position:absolute;top:1px;right:1px;z-index:5;animation:arrow-pulse 1s infinite}@keyframes arrow-pulse{0%,to{opacity:1}50%{opacity:.5}}.arrow-text{font-size:10px;filter:drop-shadow(1px 1px 1px rgba(0,0,0,.3))}.control-panel{margin-top:2px;text-align:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:5px;border-radius:2px;box-shadow:0 4px 6px #0000001a;margin-bottom:2px}.arrow-controls{text-align:center;margin:2px 0}.horizontal-controls{display:flex;justify-content:center;align-items:center;gap:2px}.control-button{padding:4px;border-radius:8px;margin:4px;min-width:60px;border:none;cursor:pointer;font-weight:700;font-size:12px;transition:all .3s ease;box-shadow:0 4px 6px #0000001a;color:#fff}.control-button:hover{transform:translateY(-3px);box-shadow:0 6px 12px #0003}.toggle-control-button{background:linear-gradient(135deg,#3498db,#2980b9)}.toggle-control-button:hover{background:linear-gradient(135deg,#2980b9,#3498db)}.up-button{background:linear-gradient(135deg,#27ae60,#219955)}.up-button:hover{background:linear-gradient(135deg,#219955,#27ae60)}.down-button{background:linear-gradient(135deg,#e74c3c,#c0392b)}.down-button:hover{background:linear-gradient(135deg,#c0392b,#e74c3c)}.left-button{background:linear-gradient(135deg,#f39c12,#d35400)}.left-button:hover{background:linear-gradient(135deg,#d35400,#f39c12)}.right-button{background:linear-gradient(135deg,#3498db,#2980b9)}.right-button:hover{background:linear-gradient(135deg,#2980b9,#3498db)}.reset-button{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;border:none;padding:5px 12px;border-radius:8px;margin-top:8px;font-size:14px;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px #0000001a}.reset-button:hover{background:linear-gradient(135deg,#c0392b,#e74c3c);transform:translateY(-3px);box-shadow:0 6px 12px #0003}.modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-content{background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;border-radius:15px;width:85%;max-width:400px;text-align:center;box-shadow:0 20px 40px #0000004d;border:2px solid rgba(255,255,255,.2);color:#fff}.competition-modal{max-width:500px;max-height:80vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.5) rgba(0,0,0,.2)}.competition-modal::-webkit-scrollbar{width:8px}.competition-modal::-webkit-scrollbar-track{background:#0003;border-radius:4px}.competition-modal::-webkit-scrollbar-thumb{background:#ffffff80;border-radius:4px}.modal-title{font-size:20px;font-weight:700;margin-bottom:15px;text-align:center;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.competition-stats{background:#ffffff1a;padding:15px;border-radius:10px;margin-bottom:15px;border:2px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stat-item{display:flex;justify-content:space-between;margin-bottom:10px;font-size:16px}.stat-item:last-child{margin-bottom:0}.stat-label{color:#ffffffe6;font-weight:500}.stat-value{color:#fff;font-weight:700}.score-highlight{color:gold;font-size:18px;text-shadow:0 0 10px rgba(255,215,0,.5)}.competition-table-container{margin:15px 0}.table-title{font-size:16px;font-weight:700;color:#fff;margin-bottom:10px;text-align:center;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.competition-table{width:100%;border-collapse:collapse;margin-bottom:15px;background:#ffffff1a;border-radius:8px;overflow:hidden}.competition-table th{background:#0000004d;color:#fff;padding:10px;font-weight:700;text-align:center}.competition-table td{padding:10px;text-align:center;border-bottom:1px solid rgba(255,255,255,.1);color:#000}.competition-table tr:nth-child(2n){background:#ffffff0d}.competition-table tr:hover{background:#ffffff26}.competition-table tr.latest-game{background:#ffd70033;font-weight:700;color:gold}.competition-actions{display:flex;flex-direction:column;gap:10px}.continue-button{background:linear-gradient(135deg,#9b59b6,#8e44ad);color:#fff}.continue-button:hover{background:linear-gradient(135deg,#8e44ad,#9b59b6)}.input-container{display:flex;align-items:center;margin:8px 0;width:100%;justify-content:space-between}.input-label{font-size:14px;width:40%;color:#fff;font-weight:500;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.input{width:55%;border:2px solid rgba(255,255,255,.3);border-radius:6px;padding:8px;font-size:14px;background:#ffffffe6;color:#333;transition:all .3s ease}.input:focus{outline:none;border-color:#2196f3;box-shadow:0 0 10px #2196f380}.possible-pairs{margin:12px 0 15px;font-size:13px;color:#fffc;text-align:center;font-style:italic}.modal-buttons{display:flex;justify-content:space-between;width:100%;gap:10px}.modal-button{padding:10px 20px;border-radius:8px;min-width:100px;border:none;cursor:pointer;font-weight:700;font-size:14px;transition:all .3s ease;color:#fff;box-shadow:0 4px 6px #0000001a}.modal-button:hover{transform:translateY(-2px);box-shadow:0 6px 12px #0003}.cancel-button{background:linear-gradient(135deg,#e74c3c,#c0392b)}.cancel-button:hover{background:linear-gradient(135deg,#c0392b,#e74c3c)}.submit-button{background:linear-gradient(135deg,#27ae60,#219955)}.submit-button:hover{background:linear-gradient(135deg,#219955,#27ae60)}.toggle-factors-button{margin:10px 0;padding:8px 16px;border-radius:8px;border:none;cursor:pointer;font-weight:700;color:#fff;transition:all .3s ease;background:linear-gradient(135deg,#4caf50,#45a049)}.toggle-factors-button:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0003}.toggle-off{background:linear-gradient(135deg,#9e9e9e,#757575)}@media(max-width:480px){.container{padding:5px}.title{font-size:20px}.instructions{font-size:14px;padding:10px}.modal-content{width:95%;padding:15px}.competition-modal{max-width:95%;padding:10px}.competition-table{font-size:12px}.competition-table th,.competition-table td{padding:8px}.input-container{flex-direction:column;align-items:flex-start;gap:5px}.input-label{width:100%;margin-bottom:4px}.input{width:100%}.modal-buttons{flex-direction:column;gap:8px}.modal-button{width:100%}.competition-actions{flex-direction:column}.game-controls{padding:8px;gap:6px}.game-controls button{padding:6px 12px;font-size:12px}.cell{min-width:25px;min-height:25px}.cell-text{font-size:10px}.grid-scroll-wrapper{padding:5px}}.name-input-wrapper{display:flex;gap:10px;width:100%;max-width:300px;margin:15px 0}.name-input{flex:1;padding:10px;border:2px solid #4CAF50;border-radius:8px;font-size:16px;text-align:center;background-color:#ffffffe6;box-shadow:0 4px 6px #0000001a;transition:all .3s ease}.view-score-button{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px #0000001a;white-space:nowrap;min-width:100px}.view-score-button:hover{transform:translateY(-2px);box-shadow:0 6px 12px #0003}.view-score-button:disabled{background:linear-gradient(135deg,#bdc3c7,#95a5a6);cursor:not-allowed;transform:none!important;box-shadow:none!important}.name-input-container{margin:15px 0;width:100%;max-width:300px}@media(max-width:480px){.name-input-wrapper{flex-direction:column;gap:8px}.view-score-button{width:100%}}.view-score-modal{max-width:500px;max-height:80vh;overflow-y:auto}.view-score-input-container{display:flex;gap:10px;margin:15px 0;width:100%}.view-score-input-container .input{flex:1}.view-score-submit-button{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;min-width:120px}.view-score-submit-button:hover{background:linear-gradient(135deg,#f57c00,#ff9800)}.view-score-submit-button:disabled{background:linear-gradient(135deg,#bdc3c7,#95a5a6);cursor:not-allowed;transform:none!important;box-shadow:none!important}.no-scores-message{text-align:center;padding:30px 20px;background:#ffffff1a;border-radius:10px;margin:20px 0;border:1px solid rgba(255,255,255,.2)}.no-scores-message p{margin:10px 0;font-size:16px;color:#ffffffe6}@media(max-width:480px){.view-score-input-container{flex-direction:column;gap:8px}.view-score-submit-button{width:100%;min-width:unset}.name-input-wrapper{flex-direction:column}.view-score-button{width:100%}.control-panel{margin-top:2px;text-align:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:5px;border-radius:2px;box-shadow:0 4px 6px #0000001a;margin-bottom:30px}}.clear-history-button{background-color:#ff4757;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:background-color .2s,transform .1s;box-shadow:0 2px 4px #0000001a;display:flex;align-items:center;gap:6px}.clear-history-button:hover{background-color:#ff3742;transform:translateY(-1px)}.clear-history-button:active{transform:translateY(0)}.table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.table-title{margin:0;font-size:18px;color:#333}.competition-table-container{margin:20px 0;padding:15px;background-color:#ffffffe6;border-radius:8px;box-shadow:0 2px 8px #0000001a}.container{text-align:center;padding:20px}.game-area{display:flex;flex-direction:row;justify-content:center;gap:40px;margin-top:20px}.x-board-container{display:flex;flex-direction:column;align-items:center}.grid-and-controls{display:flex;gap:20px}.grid-container{display:flex;flex-direction:column;align-items:center}.car-controls-panel{display:flex;flex-direction:column;gap:30px;padding:20px;background:#f5f5f5;border-radius:10px;align-self:center}.player-controls{display:flex;flex-direction:column;align-items:center;gap:10px}.horizontal-controls{display:flex;gap:10px}.grid{display:grid;grid-template-columns:repeat(13,40px);grid-template-rows:repeat(12,40px);gap:1px}.cell{width:40px;height:40px;background-color:#fff;border:1px solid #ccc;font-size:14px;display:flex;justify-content:center;align-items:center}.cell:empty{background-color:#eee}.cell:nth-child(13n+1){background-color:#d3d3d3}.controls{margin-top:20px;z-index:20px}.controls button{font-size:24px;margin:4px;padding:8px 12px;cursor:pointer}.both-cars{position:relative;width:100%;height:100%}.both-cars .car1{position:absolute;left:0;top:0}.both-cars .car2{position:absolute;right:0;bottom:0}.diagonal-game-container{display:flex;flex-direction:column;align-items:center;padding:1rem;font-family:sans-serif}.game-controls{display:flex;gap:10px;margin-bottom:10px}button{padding:6px 12px;font-size:14px;border:none;border-radius:5px;background-color:#ddd;cursor:pointer;transition:background-color .2s}button:hover{background-color:#ccc}.opponent-toggle{background-color:#bde0fe}.next-turn{background-color:#b9fbc0}.number-display{margin:10px 0}.number-boxes{display:flex;gap:12px}.number-box{display:flex;flex-direction:column;align-items:center;padding:8px;background-color:#f1f1f1;border-radius:8px;min-width:60px;font-size:16px;font-weight:700}.number-box.product{background-color:#ffe5b4}.number-box label{font-size:12px;color:#555;margin-bottom:4px}.x-board{display:flex;justify-content:center;align-items:center}.diagonal-line{stroke:#aaa;stroke-width:2}.number-position .number-text{font-size:16px;fill:#333;text-anchor:middle;dominant-baseline:middle;pointer-events:none}.position-circle{fill:#fff;stroke:#aaa;stroke-width:2;transition:stroke .2s,filter .2s}.position-circle.valid-move{stroke:#2e8b57;stroke-width:4;filter:drop-shadow(0 0 6px seagreen)}.valid-move-indicator{fill:#2e8b574d;stroke:#2e8b57;stroke-width:2;filter:drop-shadow(0 0 8px seagreen);pointer-events:none}.piece-marker{transition:transform .3s ease;cursor:pointer;fill:#000;-webkit-user-select:none;user-select:none}.piece-marker.selected{fill:orange;filter:drop-shadow(0 0 5px gold)}.cards-container{display:flex;justify-content:space-between;width:100%;max-width:1200px;margin:20px auto;padding:0 20px}.player-cards{background:#fff;padding:20px;border-radius:12px;box-shadow:0 2px 10px #0000001a;width:45%}.player-cards h3,.player-cards h4{color:#333;text-align:center;margin-bottom:15px}.cards-row,.played-cards-row{display:flex;flex-wrap:wrap;gap:15px;margin:15px 0;justify-content:center}.card{width:100px;height:140px;background:#fff;border:2px solid #ccc;border-radius:8px;padding:10px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;justify-content:center}.card-content{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.card-value{font-size:24px;font-weight:700;color:#333}.card-expression{font-size:14px;color:#666}.card.active{border-color:#4caf50}.card.playable{background:#e8f5e9;border-color:#4caf50;box-shadow:0 0 10px #4caf504d}.card.active.playable:hover{transform:translateY(-5px);box-shadow:0 5px 15px #4caf5066}.card.played{background:#f5f5f5;border-color:#ddd;cursor:default}.winner-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.winner-overlay h2{color:#4caf50;margin-bottom:20px}.winner-overlay button{background:#4caf50;color:#fff;padding:10px 20px;border:none;border-radius:4px;cursor:pointer}.winner-overlay button:hover{background:#45a049}.cards-container{display:flex;justify-content:space-between;align-items:flex-start;width:100%;max-width:1200px;margin:20px auto;padding:0 20px}.player-cards{background:#fff;padding:20px;border-radius:12px;box-shadow:0 2px 10px #0000001a;width:200px}.cards-row,.played-cards-row{display:flex;flex-direction:column;gap:15px;margin-top:15px;align-items:center}.horizontal-game-area{display:flex;flex-direction:row;justify-content:center;align-items:flex-start;gap:20px;margin-top:20px}.player-cards-container,.played-cards-container{width:250px;min-height:640px;padding:10px;border-radius:8px;background-color:#f5f5f5}.cards-grid,.played-cards-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:10px;margin-top:10px}.card{background-color:#fff;border-radius:8px;padding:10px;box-shadow:0 2px 4px #0000001a;cursor:pointer;transition:transform .2s}.card.playable{background-color:#e3f2fd;border:2px solid #2196f3}.card.played{background-color:#e8f5e9;border:1px solid #4caf50}.card:hover{transform:translateY(-2px)}.card-content{display:flex;flex-direction:column;align-items:center}.card-value{font-size:24px;font-weight:700;margin-bottom:5px}.quotients{display:flex;flex-wrap:wrap;justify-content:center;gap:3px;font-size:12px}.quotient{background-color:#f0f0f0;padding:2px 4px;border-radius:3px}.multiplication-pairs{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin-top:6px;font-size:12px}.pair{background-color:#f0f0f0;padding:2px 5px;border-radius:4px;white-space:nowrap}.start-screen,.winner-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:80vh}.start-button,.play-again-button{padding:15px 30px;font-size:24px;background-color:#4caf50;color:#fff;border:none;border-radius:8px;cursor:pointer;margin-top:20px}.start-button:hover,.play-again-button:hover{background-color:#45a049}.game-area{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:20px;width:100%;padding-left:35px}.x-board-container,.grid-container{flex:1;display:flex;flex-direction:column;align-items:center}.game-info{margin-bottom:2px;text-align:center}.winner-screen h1{color:gold;font-size:48px;margin-bottom:20px}.gift-container{position:relative;display:inline-block}.gift-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#fff;padding:5px;border:1px solid #ccc;border-radius:4px;z-index:100;white-space:nowrap}.next-turn:not(:disabled){opacity:1;cursor:pointer}.next-turn:disabled{opacity:.5;cursor:not-allowed}.star-piece{fill:#fc0;cursor:pointer}.diamond-piece{fill:#0cf;cursor:default}.piece-marker.selected{filter:drop-shadow(0 0 4px rgba(255,255,255,.8))}.valid-move-indicator{fill:none;stroke:#0f0;stroke-width:3;pointer-events:all}.disable-clicks{pointer-events:none}.disable-clicksOld{pointer-events:none;opacity:.7}.feedback-popup{margin-top:20px;padding:15px;background:#f0f0f0;border:2px dashed #444;font-size:18px;text-align:center}.cell{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #ccc;background-color:#fff}.collected-circle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:30px;height:30px;border-radius:50%;border:3px solid;z-index:1}.player1-OLD-circle{border-color:#f44;background-color:#f443}.player1-circle{border-color:gold;background-color:#ffd70033}.player2-circle{border-color:#44f;background-color:#44f3}.gift-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2}.clickable-gift{cursor:pointer}.clickable-gift:hover{background-color:#ffff004d}.cell>*:not(.collected-circle):not(.gift-container){z-index:3;position:relative}html,body{margin:0;padding:0;overflow:hidden;height:100%}.container{width:100vw;height:100vh;padding:5px;box-sizing:border-box;text-align:center;position:fixed;inset:0;background:#fff;overflow:hidden;font-size:13px}.game-controls button{padding:5px 10px;font-size:12px;border:none;border-radius:4px;background-color:#ddd;cursor:pointer;transition:background-color .2s;white-space:nowrap;height:32px}.game-controls button:hover{background-color:#ccc}.next-turn{background-color:#4caf50!important;color:#fff!important;font-weight:700}.back-button{background-color:#ff8a00!important;color:#fff!important}.fullscreen-toggle{background-color:#2196f3!important;color:#fff!important}.view-toggle{display:flex;gap:3px;width:100%;justify-content:center;margin-top:5px;order:5}.toggle-btn{padding:6px 12px;border:1px solid #ddd;background:#fff;border-radius:15px;font-weight:700;cursor:pointer;transition:all .3s ease;font-size:12px;min-width:80px;height:30px;flex:1;max-width:100px}.toggle-btn.active{background:#4caf50;color:#fff;border-color:#4caf50}.fullscreen-toggle-mobile{padding:6px 12px;border:1px solid #9C27B0;background:#9c27b0!important;color:#fff!important;border-radius:15px;font-weight:700;cursor:pointer;transition:all .3s ease;font-size:12px;min-width:80px;height:30px;flex:1;max-width:100px}.fullscreen-toggle-mobile:hover{background:#7b1fa2!important}.game-area{display:flex;height:calc(100vh - 60px);width:100%;position:relative;overflow:hidden}.game-area.fullscreen-active{height:calc(100vh - 40px)}.x-board-section,.grid-section{width:100%;height:100%;transition:transform .3s ease,opacity .3s ease;overflow:auto}.x-board-section.mobile-visible,.grid-section.mobile-visible{display:flex;flex-direction:column;opacity:1;transform:translate(0)}.x-board-section.mobile-hidden,.grid-section.mobile-hidden{display:none;opacity:0;transform:translate(-100%)}@media(min-width:768px){.game-area{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:10px;padding:0}.x-board-section,.grid-section{display:flex!important;flex-direction:column;opacity:1!important;transform:none!important;flex:1;height:100%;min-width:0}.mobile-only{display:none!important}.desktop-only{display:inline-block!important}}.x-board-container{display:flex;flex-direction:column;align-items:center;width:100%;height:100%;justify-content:center;padding:5px}.x-board{width:100%;height:calc(100% - 70px);display:flex;align-items:center;justify-content:center;overflow:auto}.x-board-svg{width:auto;height:100%;max-width:100%;max-height:100%}.number-display{margin:5px 0;background:#fff;padding:8px;border-radius:6px;box-shadow:0 1px 3px #0000001a;border:1px solid #eee;width:90%;max-width:350px}.player-numbers h4{margin:0 0 6px;font-size:13px;color:#333}.number-boxes{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.number-box{display:flex;flex-direction:column;align-items:center;padding:6px 10px;background-color:#f8f9fa;border-radius:4px;min-width:50px;font-size:13px;font-weight:700;border:1px solid #dee2e6}.number-box.product{background:#fff3cd;border-color:#ffd54f}.number-box label{font-size:10px;color:#666;margin-bottom:2px;font-weight:500}.grid-container{display:flex;flex-direction:column;align-items:center;width:100%;height:100%;padding:20px;overflow:hidden}.game-info{text-align:center;margin-bottom:5px;background:#f8f9fa;padding:5px;border-radius:8px;border:1px solid #dee2e6;width:50%;max-width:500px;flex-shrink:0}.game-info h2{font-size:13px;margin:4px 0;color:#333;font-weight:600}.collection-hint{background:#fff3cd;color:#856404;padding:8px;border-radius:6px;margin:10px 0;font-size:13px;border:1px solid #ffeaa7}.ai-turn-indicator{background:#e3f2fd;color:#1565c0;padding:6px;border-radius:4px;margin:8px 0;font-size:12px;font-weight:700;border:1px solid #90caf9}.grid-wrapper{width:87%;flex:1;overflow:auto;display:flex;justify-content:center;align-items:flex-start;padding:15px 45px 15px 70px}.grid{display:grid;grid-template-columns:repeat(13,40px);grid-template-rows:repeat(12,40px);gap:1px;background:#f5f5f5;border-radius:4px;padding:2px;min-width:min-content;margin:auto 5px auto 75px}.cell{width:40px;height:40px;display:flex;justify-content:center;align-items:center;background-color:#fff;border:1px solid #ddd;font-size:12px;font-weight:500;border-radius:2px;position:relative}.cell:empty{background-color:#f8f9fa}.cell:nth-child(13n+1){background-color:#e9ecef;font-weight:700}.mobile-switch-hint{position:fixed;bottom:10px;left:0;right:0;text-align:center;z-index:100;padding:0 10px}.switch-to-grid-btn,.switch-to-xboard-btn{padding:8px 16px;background:#2196f3;color:#fff;border:none;border-radius:15px;font-size:12px;font-weight:700;cursor:pointer;transition:all .3s;min-width:160px;margin-left:70px}.switch-to-xboard-btn{background:#ff9800}.start-screen,.winner-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;width:100vw;padding:20px;box-sizing:border-box;position:fixed;top:0;left:0;background:#fff;z-index:1000}.start-screen h1{font-size:24px;margin-bottom:20px}.start-screen p{font-size:14px;line-height:1.4;margin-bottom:12px;max-width:600px}.game-settings{background:#fff;padding:15px;border-radius:6px;box-shadow:0 2px 6px #0000001a;margin:15px 0;max-width:400px;width:90%}.setting-group{margin:12px 0;text-align:left}.setting-group label{display:block;margin-bottom:5px;font-weight:600;color:#333;font-size:13px}.setting-group select{width:100%;padding:6px;font-size:13px;border-radius:4px;border:1px solid #ccc;background-color:#f9f9f9;cursor:pointer}.start-button,.play-again-button{padding:10px 25px;font-size:16px;background:#4caf50;color:#fff;border:none;border-radius:6px;cursor:pointer;margin-top:15px;font-weight:700}.start-button{margin-bottom:25px}.winner-screen h1{color:gold;font-size:28px;margin-bottom:15px}.diagonal-line{stroke:#aaa;stroke-width:1.2}.number-position .number-text{font-size:22px;fill:#333;text-anchor:middle;dominant-baseline:middle;pointer-events:none}.position-circle{fill:#fff;stroke:#aaa;stroke-width:1.2;transition:stroke .2s,filter .2s}.position-circle.clickable{cursor:pointer}.position-circle.valid-move{stroke:#2e8b57;stroke-width:2.5;filter:drop-shadow(0 0 3px #2E8B57)}.valid-move-indicator{fill:#2e8b5726;stroke:#2e8b57;stroke-width:1.2;pointer-events:none}.piece-marker{transition:transform .3s ease;cursor:pointer;fill:#000;-webkit-user-select:none;user-select:none;font-size:24px!important}.piece-marker.selected{fill:#ff9800;filter:drop-shadow(0 0 2px gold)}.star-piece{fill:gold;cursor:pointer}.diamond-piece{fill:#00bfff;cursor:default}.disable-clicks{pointer-events:none;opacity:.7}.desktop-only{display:none}@media(min-width:768px){.desktop-only{display:inline-block!important}}.feedback-popup{margin-top:10px;padding:10px;background:#e3f2fd;border:1px dashed #2196F3;border-radius:6px;font-size:14px;text-align:center;color:#1565c0;max-width:350px}.feedback-popup p{margin:6px 0}@media(max-width:350px){.game-controls button{padding:4px 8px;font-size:11px;height:28px}.toggle-btn,.fullscreen-toggle-mobile{padding:5px 8px;min-width:70px;font-size:11px;height:26px;max-width:80px}.cell{font-size:11px}.grid{grid-template-columns:repeat(13,35px);grid-template-rows:repeat(12,35px)}.cell{width:35px;height:35px}.switch-to-grid-btn,.switch-to-xboard-btn{min-width:140px;font-size:11px;padding:6px 12px}}@media(min-width:768px)and (max-width:1023px){.grid{grid-template-columns:repeat(13,35px);grid-template-rows:repeat(12,35px)}.cell{width:35px;height:35px;font-size:11px}.mobile-switch-hint{display:flex;justify-content:center;gap:15px}.view-toggle{max-width:350px;margin-left:auto;margin-right:auto}}@media(min-width:1024px){.container{padding:8px}.game-area{height:calc(100vh - 50px)}.grid{grid-template-columns:repeat(13,35px);grid-template-rows:repeat(12,35px)}.cell{width:35px;height:35px;font-size:12px}.x-board-svg{max-height:90%}.mobile-switch-hint{display:none}}@media(max-height:600px)and (orientation:landscape){.game-controls{max-height:40px;padding:4px}.game-area{height:calc(100vh - 45px)}.game-info{padding:6px;margin-bottom:4px}.game-info h2{font-size:11px;margin:2px 0}.grid-wrapper{height:calc(100% - 60px)}.view-toggle{margin-top:3px}}.grid-wrapper::-webkit-scrollbar{width:8px;height:8px}.grid-wrapper::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.grid-wrapper::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.grid-wrapper::-webkit-scrollbar-thumb:hover{background:#555}.x-board::-webkit-scrollbar{width:6px;height:6px}.x-board::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.x-board::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.x-board::-webkit-scrollbar-thumb:hover{background:#aaa}body:fullscreen .container,body:-webkit-full-screen .container,body:-moz-full-screen .container{padding:10px}body:fullscreen .game-controls,body:-webkit-full-screen .game-controls,body:-moz-full-screen .game-controls{padding:8px;margin-bottom:8px}body:fullscreen .grid,body:-webkit-full-screen .grid,body:-moz-full-screen .grid{grid-template-columns:repeat(13,45px);grid-template-rows:repeat(12,45px)}body:fullscreen .cell,body:-webkit-full-screen .cell,body:-moz-full-screen .cell{width:45px;height:45px;font-size:14px}.start-screen{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;height:100vh;width:100vw;padding:20px;box-sizing:border-box;position:fixed;top:0;left:0;background:#fff;z-index:1000;overflow-y:auto;overflow-x:hidden}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.gradient-app-bar{background:linear-gradient(90deg,#ff8a00,#ff5e00);position:static;width:100%}.header-container{width:100%;max-width:1200px;margin:0 auto;padding:0 16px}.header-toolbar{display:flex;align-items:center;justify-content:space-between;min-height:64px;width:100%;position:relative}.contact-margin{margin-right:16px}.logo-link{margin-right:16px;font-family:monospace;font-size:1.25rem;font-weight:700;letter-spacing:.3rem;color:#fff;text-decoration:none;display:none;white-space:nowrap}@media(min-width:900px){.logo-link{display:flex}}.mobile-menu-button{background:none;border:none;color:#fff;cursor:pointer;padding:.5rem;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:1001;margin-left:auto}.hamburger{display:flex;flex-direction:column;justify-content:space-between;height:20px;width:25px}.hamburger span{display:block;height:2px;width:100%;background:#fff;transition:all .3s ease}.hamburger.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.mobile-menu{position:fixed;inset:0;background:#000c;display:none;z-index:1000;justify-content:flex-start;align-items:flex-start;padding:0}.mobile-menu.open{display:flex}.mobile-menu-content{background:linear-gradient(135deg,#ff8a00,#ff5e00);height:100%;width:85%;max-width:400px;padding:20px;display:flex;flex-direction:column;overflow-y:auto;box-shadow:2px 0 10px #0000004d;transform:translate(-100%);transition:transform .3s ease}.mobile-menu.open .mobile-menu-content{transform:translate(0)}.mobile-menu-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:15px;border-bottom:1px solid rgba(255,255,255,.2)}.mobile-menu-title{color:#fff;font-size:1.2rem;font-weight:600;margin:0;white-space:nowrap}.close-menu-button{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:5px;line-height:1}.mobile-nav-buttons{display:flex;flex-direction:column;gap:10px;flex:1}.mobile-nav-button{color:#fff;text-decoration:none;padding:15px 20px;border-radius:8px;transition:background-color .3s;font-size:16px;text-align:left;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);display:block;word-wrap:break-word;overflow-wrap:break-word;white-space:normal;line-height:1.4;min-height:60px;display:flex;align-items:center}.mobile-nav-button:hover,.mobile-nav-button:focus{background-color:#fff3}.desktop-nav-buttons{display:none;gap:15px;margin-left:auto}@media(min-width:769px){.desktop-nav-buttons{display:flex}.mobile-menu-button,.mobile-menu{display:none}}.desktop-nav-button{color:#fff;text-decoration:none;padding:8px 16px;border-radius:4px;transition:background-color .3s;font-size:14px;white-space:nowrap}.desktop-nav-button:hover{background-color:#ffffff1a}@media(max-width:768px)and (orientation:landscape){.mobile-menu-content{width:60%;max-width:350px}.mobile-nav-button{padding:12px 15px;min-height:50px;font-size:14px}.mobile-menu-title{font-size:1.1rem}}@media(max-width:375px)and (orientation:portrait){.mobile-menu-content{width:90%;padding:15px}.mobile-nav-button{padding:12px 15px;font-size:14px;min-height:55px}.mobile-menu-title{font-size:1.1rem}}@media(min-width:601px)and (max-width:768px){.mobile-menu-content{width:70%;max-width:450px}.mobile-nav-button{font-size:16px;padding:16px 20px}}body.menu-open{overflow:hidden}@media(max-width:768px){.logo-link{display:flex;font-size:1.1rem;letter-spacing:.2rem}}.contacts-container{max-width:1100px;margin:auto;padding:20px;font-family:Arial,sans-serif}.contacts-title{font-size:32px;font-weight:700;margin-bottom:20px}.search-input{width:100%;padding:12px;margin-bottom:30px;border:1px solid #ccc;border-radius:8px;font-size:16px}.contacts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.contact-card{background:#fff;padding:20px;border-radius:14px;box-shadow:0 3px 10px #0000001a;text-align:center;transition:.25s ease}.contact-card:hover{transform:translateY(-4px);box-shadow:0 5px 16px #00000026}.avatar{width:60px;height:60px;background:#007bff;color:#fff;font-size:26px;font-weight:700;border-radius:50%;margin:0 auto 15px;display:flex;align-items:center;justify-content:center}.contact-name{font-size:20px;font-weight:700;margin:5px 0}.contact-role{color:#666;font-size:14px;margin-bottom:12px}.contact-info{font-size:15px;margin:6px 0}.action-buttons{display:flex;gap:10px;margin-top:15px}.btn{flex:1;padding:10px;border:none;border-radius:8px;cursor:pointer;font-size:15px;transition:background .2s ease}.call-btn{background:#28a745;color:#fff}.call-btn:hover{background:#218838}.email-btn{background:#007bff;color:#fff}.email-btn:hover{background:#0069d9}.game-controls{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:5px;align-items:center;justify-content:center;padding:6px;background:#f5f5f5;border-radius:6px;position:sticky;top:0;z-index:100;max-height:50px}
