:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Segoe UI,system-ui,-apple-system,sans-serif}html,body,#root{background:#0a0a1a;width:100%;height:100%;overflow:hidden}.landing{background:#060610;justify-content:center;align-items:center;min-height:100dvh;display:flex;position:relative;overflow:hidden}.landing-bg{position:absolute;inset:0;overflow:hidden}.landing-grid{transform-origin:50% 70%;background-image:linear-gradient(#4ecca308 1px,#0000 1px),linear-gradient(90deg,#4ecca308 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:-50%;transform:perspective(500px)rotateX(60deg)}.landing-content{z-index:1;flex-direction:column;align-items:center;gap:28px;width:100%;max-width:400px;padding:40px 24px;display:flex;position:relative}.landing-logo{flex-direction:column;align-items:center;gap:8px;display:flex}.landing-icon{filter:drop-shadow(0 0 20px #4ecca34d);width:72px;height:80px}.landing-title{color:#e8e4e0;letter-spacing:2px;margin:0;font-size:42px;font-weight:800}.landing-subtitle{color:#666;text-align:center;margin:0;font-size:14px}.landing-auth{width:100%}.landing-user{background:#16213e99;border:1px solid #4ecca326;border-radius:10px;justify-content:center;align-items:center;gap:10px;padding:12px;display:flex}.landing-avatar{border-radius:50%;width:32px;height:32px}.landing-username{color:#e0e0e0;font-size:15px;font-weight:600}.landing-login-buttons{flex-direction:column;gap:8px;display:flex}.landing-btn{cursor:pointer;border:none;border-radius:10px;width:100%;padding:13px 20px;font-size:15px;font-weight:600;transition:all .2s}.landing-btn:disabled{opacity:.5;cursor:not-allowed}.landing-btn-google{color:#fff;background:#4285f4}.landing-btn-google:hover:not(:disabled){background:#3367d6}.landing-btn-guest{color:#ccc;background:#16213ecc;border:1px solid #2a2a4a}.landing-btn-guest:hover:not(:disabled){color:#4ecca3;border-color:#4ecca3}.landing-play{color:#060610;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;background:linear-gradient(135deg,#4ecca3,#3ab08a);border:none;border-radius:12px;width:100%;padding:16px;font-size:20px;font-weight:800;transition:all .2s;box-shadow:0 4px 24px #4ecca340}.landing-play:hover{transform:translateY(-2px);box-shadow:0 6px 32px #4ecca359}.landing-play:active{transform:translateY(0)}.landing-install{color:#4ecca3;cursor:pointer;background:0 0;border:2px solid #4ecca3;border-radius:10px;width:100%;padding:12px;font-size:15px;font-weight:700;transition:all .2s}.landing-install:hover{background:#4ecca31a}.landing-installed{color:#4ecca3;opacity:.7;font-size:13px}.landing-features{grid-template-columns:1fr 1fr;gap:10px;width:100%;display:grid}.landing-feature{color:#999;background:#16213e66;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;font-size:12px;display:flex}.feature-icon{font-size:18px}@media (width<=480px){.landing-content{gap:24px;padding:32px 16px}.landing-title{font-size:34px}.landing-icon{width:60px;height:68px}.landing-play{padding:14px;font-size:18px}.landing-features{gap:6px}.landing-feature{padding:8px 10px;font-size:11px}}.main-menu{-webkit-overflow-scrolling:touch;background:linear-gradient(135deg,#0a0a1a 0%,#1a1a2e 50%,#16213e 100%);justify-content:center;align-items:flex-start;min-height:100dvh;padding:20px;display:flex;overflow-y:auto}.menu-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#16213ecc;border:1px solid #4ecca326;border-radius:16px;width:100%;max-width:480px;padding:40px;box-shadow:0 20px 60px #00000080}.game-title{text-align:center;color:#e0e0e0;letter-spacing:1px;margin:0 0 4px;font-size:36px;font-weight:700}.title-icon{margin:0 8px;font-size:30px}.subtitle{text-align:center;color:#888;margin:0 0 32px;font-size:14px}.daily-card{cursor:pointer;background:linear-gradient(135deg,#4ecca31f,#16213ecc);border:1px solid #4ecca333;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:20px;padding:14px 16px;transition:all .2s;display:flex}.daily-card:hover{background:linear-gradient(135deg,#4ecca32e,#16213ee6);border-color:#4ecca3}.daily-left{align-items:center;gap:12px;display:flex}.daily-icon{font-size:24px}.daily-title{color:#e0e0e0;font-size:15px;font-weight:700}.daily-streak{color:#4ecca3;font-size:12px}.daily-arrow{color:#4ecca3;font-size:22px;font-weight:700}.menu-section{margin-bottom:24px}.section-label{color:#aaa;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:13px;font-weight:600;display:block}.mode-buttons{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.mode-btn{color:#ccc;cursor:pointer;background:#0f0f23;border:2px solid #0000;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;font-size:13px;transition:all .2s;display:flex}.mode-btn:hover{background:#1a1a3e;border-color:#333}.mode-btn.active{color:#4ecca3;background:#4ecca31a;border-color:#4ecca3}.mode-icon{font-size:24px}.time-select option{color:#e0e0e0;background:#0f0f23;padding:8px}.difficulty-slider{appearance:none;background:#0f0f23;border-radius:3px;outline:none;width:100%;height:6px}.difficulty-slider::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#4ecca3;border-radius:50%;width:18px;height:18px}.difficulty-labels{color:#666;justify-content:space-between;margin-top:4px;font-size:11px;display:flex}.color-buttons{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.color-btn{color:#ccc;cursor:pointer;background:#0f0f23;border:2px solid #0000;border-radius:8px;padding:10px 8px;font-size:13px;transition:all .2s}.color-btn:hover{border-color:#333}.color-btn.active{color:#4ecca3;background:#4ecca31a;border-color:#4ecca3}.play-button{color:#0a0a1a;letter-spacing:1px;cursor:pointer;text-transform:uppercase;background:linear-gradient(135deg,#4ecca3,#3ab08a);border:none;border-radius:10px;width:100%;padding:14px;font-size:18px;font-weight:700;transition:all .2s}.play-button:hover{transform:translateY(-1px);box-shadow:0 4px 20px #4ecca366}.play-button:active{transform:translateY(0)}.resume-button{color:#4ecca3;cursor:pointer;background:#16213e;border:2px solid #4ecca3;border-radius:10px;width:100%;margin-top:8px;padding:12px;font-size:15px;font-weight:600;transition:all .2s}.resume-button:hover{background:#4ecca326}.challenge-btn{color:#aaa;cursor:pointer;background:0 0;border:1px solid #333;border-radius:8px;width:100%;margin-top:4px;padding:11px;font-size:14px;font-weight:600;transition:all .2s}.challenge-btn:hover{color:#4ecca3;border-color:#4ecca3}.menu-footer{gap:8px;margin-top:12px;display:flex}.footer-btn{color:#888;cursor:pointer;background:0 0;border:1px solid #333;border-radius:8px;flex:1;padding:10px;font-size:13px;font-weight:600;transition:all .2s}.footer-btn:hover{color:#4ecca3;border-color:#4ecca3}@media (width<=480px){.main-menu{align-items:flex-start;padding:12px}.menu-container{border-radius:12px;max-width:100%;padding:24px 16px}.game-title{font-size:26px}.title-icon{margin:0 4px;font-size:22px}.mode-btn{min-height:44px;padding:10px 4px;font-size:12px}.mode-icon{font-size:20px}.color-buttons{gap:6px}.color-btn{min-height:44px;padding:10px 4px;font-size:12px}.play-button{min-height:48px;padding:16px;font-size:16px}.difficulty-slider::-webkit-slider-thumb{width:24px;height:24px}}@media (width<=360px){.menu-container{padding:16px 12px}.game-title{font-size:22px}}.lobby{background:linear-gradient(135deg,#0a0a1a 0%,#1a1a2e 50%,#16213e 100%);justify-content:center;align-items:flex-start;min-height:100dvh;padding:20px;display:flex;overflow-y:auto}.lobby-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#16213ecc;border:1px solid #4ecca326;border-radius:16px;width:100%;max-width:420px;padding:32px;box-shadow:0 20px 60px #00000080}.lobby-back{color:#aaa;cursor:pointer;background:0 0;border:1px solid #333;border-radius:6px;margin-bottom:16px;padding:6px 12px;font-size:13px;transition:all .2s}.lobby-back:hover{color:#4ecca3;border-color:#4ecca3}.lobby-title{color:#e0e0e0;text-align:center;margin-bottom:24px;font-size:24px}.lobby-section{flex-direction:column;gap:16px;display:flex}.lobby-text{color:#ccc;text-align:center;font-size:14px}.lobby-subtext{color:#888;text-align:center;font-size:13px}.lobby-subtext code{background:#0f0f23;border-radius:4px;padding:2px 6px;font-size:12px}.auth-buttons{flex-direction:column;gap:10px;display:flex}.auth-btn{width:100%;padding:12px;font-size:14px}.section-label{color:#aaa;text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:600;display:block}.time-select{color:#e0e0e0;cursor:pointer;appearance:none;background:#0f0f23 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") right 12px center no-repeat;border:2px solid #222;border-radius:8px;width:100%;padding:12px 14px;font-family:inherit;font-size:14px;transition:border-color .2s}.time-select:hover,.time-select:focus{border-color:#4ecca3;outline:none}.find-btn{letter-spacing:.5px;width:100%;margin-top:8px;padding:14px;font-size:16px;font-weight:700}.searching{align-items:center;padding:24px 0}@keyframes spin{to{transform:rotate(360deg)}}.btn-primary{color:#0a0a1a;cursor:pointer;background:#4ecca3;border:none;border-radius:8px;transition:all .2s}.btn-primary:hover{background:#3ab08a}.btn-secondary{color:#ccc;cursor:pointer;background:#2a2a4a;border:none;border-radius:8px;transition:all .2s}.btn-secondary:hover{background:#3a3a5a}@media (width<=480px){.lobby-container{padding:24px 16px}.lobby-title{font-size:20px}.auth-btn,.find-btn{min-height:48px}}.history-screen{background:#0a0a1a;flex-direction:column;height:100dvh;display:flex}.history-header{background:#0f0f23;border-bottom:1px solid #1a1a3e;flex-shrink:0;align-items:center;gap:16px;padding:8px 16px;display:flex}.history-title{color:#e0e0e0;font-size:16px;font-weight:600}.history-list{flex-direction:column;flex:1;gap:10px;width:100%;max-width:600px;margin:0 auto;padding:16px;display:flex;overflow-y:auto}.history-empty{text-align:center;color:#666;padding:40px 0;font-size:14px}.history-card{background:#16213e;border-left:3px solid #333;border-radius:10px;padding:14px}.history-card.active{border-left-color:#4ecca3}.history-card.complete{border-left-color:#555}.history-card-top{justify-content:space-between;margin-bottom:8px;display:flex}.history-mode{color:#4ecca3;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.history-date{color:#666;font-size:12px}.history-card-body{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.history-moves{color:#aaa;font-size:13px}.history-result{color:#ccc;font-size:13px;font-weight:600}.history-result.in-progress{color:#4ecca3}.history-card-actions{gap:8px;display:flex}.btn-sm{min-height:32px;padding:6px 14px;font-size:12px}@media (width<=480px){.history-list,.history-card{padding:12px}.btn-sm{min-height:40px;font-size:13px}}.stats-screen{background:#0a0a1a;flex-direction:column;height:100dvh;display:flex}.stats-header{background:#0f0f23;border-bottom:1px solid #1a1a3e;flex-shrink:0;align-items:center;gap:16px;padding:8px 16px;display:flex}.stats-title{color:#e0e0e0;font-size:16px;font-weight:600}.stats-tabs{gap:8px;width:100%;max-width:600px;margin:0 auto;padding:12px 16px 0;display:flex}.stats-tab{color:#888;cursor:pointer;background:0 0;border:1px solid #1a1a3e;border-bottom:none;border-radius:8px 8px 0 0;flex:1;padding:10px;font-size:13px;font-weight:600;transition:all .2s}.stats-tab.active{color:#4ecca3;background:#16213e;border-color:#4ecca3}.stats-content{flex:1;width:100%;max-width:600px;margin:0 auto;padding:16px;overflow-y:auto}.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px;display:grid}.stats-grid.small{grid-template-columns:repeat(3,1fr);margin-bottom:0}.stat-card{text-align:center;background:#16213e;border:1px solid #1a1a3e;border-radius:10px;padding:16px 12px}.stat-card.primary,.stat-card.win{border-color:#4ecca3}.stat-card.loss{border-color:#e74c3c}.stat-card.draw{border-color:#f39c12}.stat-value{color:#e0e0e0;margin-bottom:4px;font-size:28px;font-weight:700;line-height:1}.stat-label{color:#888;text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.stats-section{background:#16213e;border:1px solid #1a1a3e;border-radius:10px;margin-bottom:12px;padding:16px}.section-heading{color:#4ecca3;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px;font-size:12px;font-weight:700}.winrate-bar-container{background:#0a0a1a;border-radius:4px;height:8px;margin-bottom:6px;overflow:hidden}.winrate-bar{background:linear-gradient(90deg,#4ecca3,#36b78e);border-radius:4px;min-width:2px;height:100%;transition:width .6s}.winrate-label{color:#4ecca3;text-align:center;font-size:24px;font-weight:700}.mode-stats{flex-direction:column;gap:8px;display:flex}.mode-stat-row{align-items:center;gap:10px;display:flex}.mode-stat-icon{text-align:center;width:24px;font-size:18px}.mode-stat-name{color:#ccc;flex:1;font-size:14px}.mode-stat-count{color:#e0e0e0;font-size:16px;font-weight:700}.stat-highlight{color:#e0e0e0;text-align:center;font-size:24px;font-weight:700}.achievements-list{flex-direction:column;gap:8px;display:flex}.achievement-card{background:#16213e;border:1px solid #1a1a3e;border-radius:10px;align-items:center;gap:12px;padding:14px;transition:all .2s;display:flex}.achievement-card.unlocked{border-color:#4ecca3}.achievement-card.locked{opacity:.5}.achievement-icon{text-align:center;flex-shrink:0;width:40px;font-size:28px}.achievement-info{flex:1;min-width:0}.achievement-name{color:#e0e0e0;font-size:14px;font-weight:700}.achievement-desc{color:#888;margin-top:2px;font-size:12px}.achievement-check{color:#4ecca3;flex-shrink:0;font-size:16px;font-weight:700}@media (width<=480px){.stats-content{padding:12px}.stats-grid.small{grid-template-columns:repeat(3,1fr)}.stat-value{font-size:22px}.stat-card{padding:12px 8px}.stats-tab{padding:8px;font-size:12px}}.challenge-screen{background:linear-gradient(135deg,#0a0a1a 0%,#1a1a2e 50%,#16213e 100%);justify-content:center;align-items:flex-start;min-height:100dvh;padding:20px;display:flex;overflow-y:auto}.challenge-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#16213ecc;border:1px solid #4ecca326;border-radius:16px;width:100%;max-width:420px;padding:32px}.challenge-title{color:#e0e0e0;text-align:center;margin:16px 0 24px;font-size:24px}.challenge-section{flex-direction:column;gap:16px;display:flex}.challenge-section.waiting{align-items:center;padding:20px 0}.challenge-text{color:#ccc;text-align:center;font-size:14px}.challenge-create-btn{width:100%;margin-top:8px;padding:14px;font-size:16px;font-weight:700}.challenge-link-box{gap:8px;width:100%;display:flex}.challenge-link-input{color:#4ecca3;background:#0f0f23;border:1px solid #2a2a4a;border-radius:8px;flex:1;padding:10px 12px;font-family:monospace;font-size:12px}.challenge-hint{color:#666;text-align:center;font-size:12px}.challenge-error{color:#e74c3c;text-align:center;font-size:14px}.search-spinner{border:3px solid #1a1a3e;border-top-color:#4ecca3;border-radius:50%;width:48px;height:48px;animation:1s linear infinite spin}.update-toast{z-index:9999;background:#16213e;border:1px solid #4ecca3;border-radius:10px;align-items:center;gap:12px;padding:12px 20px;animation:.3s ease-out toast-in;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #00000080}.update-text{color:#e0e0e0;font-size:14px;font-weight:500}.update-btn{color:#0a0a1a;cursor:pointer;background:#4ecca3;border:none;border-radius:6px;padding:6px 16px;font-size:13px;font-weight:700;transition:background .2s}.update-btn:hover{background:#3ab08a}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow-x:hidden}.app{color:#e0e0e0;background:#0a0a1a;width:100%;min-height:100dvh;font-family:Segoe UI,system-ui,-apple-system,sans-serif;overflow:hidden auto}.app-loading{background:#0a0a1a;flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100vh;display:flex}.app-loading-icon{font-size:56px;animation:1.5s ease-in-out infinite app-pulse}.app-loading-text{color:#666;font-size:14px}@keyframes app-pulse{0%,to{opacity:.3;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}}@supports (padding:env(safe-area-inset-bottom)){.app{padding-bottom:env(safe-area-inset-bottom)}}
