*{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary: #1a1a2e;--bg-secondary: #16213e;--bg-card: #0f3460;--accent: #e94560;--accent-light: #ff6b81;--text-primary: #eee;--text-secondary: #a0a0b8;--success: #4ecdc4;--danger: #e94560;--border: rgba(255, 255, 255, .1)}html,body{height:100%;overflow:hidden;overscroll-behavior:none}body{font-family:Rubik,sans-serif;direction:rtl;text-align:right;background:var(--bg-primary);color:var(--text-primary);-webkit-tap-highlight-color:transparent;touch-action:manipulation}#root{height:100dvh;display:flex;flex-direction:column}.app{height:100%;display:flex;flex-direction:column}.page{flex:1;display:flex;flex-direction:column;padding:16px;overflow-y:auto}.error-banner{background:var(--danger);color:#fff;padding:12px 16px;text-align:center;font-weight:500}.btn{border:none;border-radius:12px;padding:12px 24px;font-family:inherit;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:active:not(:disabled){background:var(--accent-light);transform:scale(.98)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:active:not(:disabled){background:var(--bg-secondary)}.btn-danger{background:transparent;color:var(--danger);border:1px solid var(--danger)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-large{width:100%;padding:16px;font-size:18px;font-weight:700}.input{width:100%;padding:14px 16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;color:var(--text-primary);font-family:inherit;font-size:16px;outline:none;transition:border-color .2s}.input:focus{border-color:var(--accent)}.input::placeholder{color:var(--text-secondary)}.home-page{justify-content:center;align-items:center}.home-content{width:100%;max-width:400px;display:flex;flex-direction:column;align-items:center;gap:24px}.game-title{font-size:48px;font-weight:700;color:var(--accent)}.game-subtitle{color:var(--text-secondary);font-size:18px;margin-top:-16px}.app-footer{color:var(--text-secondary);font-size:10px;opacity:.5;text-align:center;direction:ltr;margin-top:8px}.rules-box{width:100%;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:14px 18px;text-align:center;line-height:1.7}.rules-box p{color:var(--text-secondary);font-size:14px}.rules-box--compact{max-width:400px}.rules-box--compact p{font-size:13px;line-height:1.6}.home-buttons,.form-container{width:100%;display:flex;flex-direction:column;gap:12px}.form-error{color:var(--danger);font-size:14px;text-align:center}.rounds-selector{display:flex;flex-direction:column;gap:8px}.rounds-label{color:var(--text-secondary);font-size:14px;text-align:center}.rounds-options{display:flex;gap:8px;justify-content:center}.rounds-option{width:52px;height:44px;border:1px solid var(--border);border-radius:10px;background:var(--bg-secondary);color:var(--text-secondary);font-family:inherit;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.rounds-option--active{background:var(--accent);color:#fff;border-color:var(--accent)}.rounds-option:active{transform:scale(.95)}.lobby-page{align-items:center;gap:20px}.game-code-display{display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--bg-secondary);padding:16px 32px;border-radius:16px;border:1px solid var(--border);cursor:pointer;transition:border-color .2s;position:relative}.game-code-display:active{border-color:var(--accent)}.copied-badge{color:var(--success);font-size:13px;font-weight:500}.game-code-label{color:var(--text-secondary);font-size:14px}.game-code-value{font-size:48px;font-weight:700;letter-spacing:8px;color:var(--accent);direction:ltr}.invite-section{width:100%;max-width:400px;display:flex;flex-direction:column;align-items:center;gap:8px}.invite-instructions{color:var(--text-secondary);font-size:14px;text-align:center}.invite-link-btn{width:100%;font-size:15px;font-weight:600}.players-list{width:100%;max-width:400px}.players-list h3{margin-bottom:12px;color:var(--text-secondary);font-size:14px}.players-grid{display:flex;flex-wrap:wrap;gap:8px}.player-card{display:flex;align-items:center;gap:8px;background:var(--bg-card);padding:8px 16px;border-radius:24px;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.player-avatar{width:32px;height:32px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.player-name{font-size:14px}.admin-badge{background:var(--success);color:var(--bg-primary);padding:2px 8px;border-radius:8px;font-size:11px;font-weight:700}.waiting-text{color:var(--text-secondary);text-align:center;font-size:14px}.round-page{padding:0;position:relative}.round-header{position:absolute;top:0;left:0;right:0;z-index:1000;background:linear-gradient(to bottom,#1a1a2ef2,#1a1a2e00);padding:12px 16px 32px;display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:none}.round-info{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary)}.round-separator{opacity:.3}.city-name{font-size:28px;font-weight:700;text-shadow:0 2px 8px rgba(0,0,0,.5)}.countdown{font-size:36px;font-weight:700;color:var(--success);text-shadow:0 2px 8px rgba(0,0,0,.5);transition:color .3s}.countdown--urgent{color:var(--danger);animation:pulse .5s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.map-container{flex:1;min-height:0}.map-container--result{height:35vh;flex:none;border-radius:12px;overflow:hidden;margin-bottom:12px}.round-footer{position:absolute;bottom:0;left:0;right:0;z-index:1000;padding:16px;background:linear-gradient(to top,#1a1a2ef2,#1a1a2e00);pointer-events:none}.round-footer>*{pointer-events:auto}.waiting-badge{background:var(--bg-card);color:var(--text-secondary);padding:16px;border-radius:12px;text-align:center;font-size:16px;font-weight:500}.guess-hint{text-align:center;color:var(--text-secondary);font-size:14px;padding:12px}.result-page{gap:12px}.result-header{text-align:center}.result-header h2{font-size:24px;color:var(--accent)}.my-distance{font-size:32px;font-weight:700;margin-top:4px}.admin-actions{display:flex;flex-direction:column;gap:8px;margin-top:auto}.leaderboard{width:100%;overflow-x:auto}.leaderboard table{width:100%;border-collapse:collapse}.leaderboard th{color:var(--text-secondary);font-size:12px;font-weight:500;padding:8px 12px;text-align:right;border-bottom:1px solid var(--border)}.leaderboard td{padding:10px 12px;font-size:14px;border-bottom:1px solid var(--border)}.leaderboard tr.highlight{background:#e9456026}.leaderboard tr.highlight td{font-weight:700}.game-over-page{align-items:center;gap:20px}.winner-banner{display:flex;flex-direction:column;align-items:center;gap:4px}.winner-trophy{font-size:64px}.winner-name{font-size:28px;font-weight:700;color:var(--accent)}.winner-label{color:var(--text-secondary);font-size:16px}.stats-title{font-size:32px;font-weight:700;color:var(--accent)}.stats-grid{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;padding:20px 12px;display:flex;flex-direction:column;align-items:center;gap:6px}.stat-value{font-size:32px;font-weight:700;color:var(--success)}.stat-label{font-size:13px;color:var(--text-secondary)}.stats-page{align-items:center;gap:20px;padding:20px 16px}.stats-actions{display:flex;flex-direction:column;gap:8px;width:100%;max-width:500px;align-items:center}.game-log{width:100%;max-width:500px;display:flex;flex-direction:column;gap:12px}.game-log-title{font-size:18px;font-weight:600;color:var(--text-primary)}.game-log-empty{color:var(--text-secondary);font-size:14px;text-align:center}.game-log-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px}.game-log-header{display:flex;justify-content:space-between;align-items:center}.game-log-time{font-size:13px;color:var(--text-secondary)}.game-log-code{font-size:12px;color:var(--text-secondary);opacity:.6;direction:ltr;font-family:monospace}.game-log-details{display:flex;flex-direction:column;gap:4px}.game-log-row{display:flex;justify-content:space-between;font-size:14px}.game-log-label{color:var(--text-secondary);font-size:13px}.game-log-winner{color:var(--success);font-weight:600}.leaflet-container{background:var(--bg-secondary)}.custom-pin{background:none!important;border:none!important}
