@import"https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;500;600;700&display=swap";:root{--tg-theme-bg-color: #0a0a0f;--tg-theme-text-color: #e0e0e0;--tg-theme-hint-color: #b0b0b0;--tg-theme-link-color: #64ffda;--tg-theme-button-color: #64ffda;--tg-theme-button-text-color: #0a0a0f;--tg-theme-secondary-bg-color: #0d1117;--primary-color: #64ffda;--primary-dark: #4db8a8;--secondary-color: #bb86fc;--success-color: #4ade80;--error-color: #ef4444;--warning-color: #fbbf24;--danger-color: #dc2626;--cancel-color: #f97316;--info-color: #3b82f6;--bg-primary: var(--tg-theme-bg-color);--bg-secondary: var(--tg-theme-secondary-bg-color);--bg-card: rgba(255, 255, 255, .03);--bg-hover: rgba(255, 255, 255, .08);--bg-marked: rgba(100, 255, 218, .25);--text-primary: var(--tg-theme-text-color);--text-secondary: var(--tg-theme-hint-color);--text-accent: var(--tg-theme-link-color);--border-color: rgba(255, 255, 255, .1);--border-marked: var(--primary-color);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 16px;--radius-full: 50%;--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .3);--shadow-md: 0 4px 8px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .5)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:3px}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}*{scrollbar-width:thin;scrollbar-color:var(--border-color) var(--bg-secondary)}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:Vazirmatn,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;direction:rtl;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.loading-screen{position:fixed;inset:0;background:var(--bg-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000;transition:opacity var(--transition-normal)}.loading-screen.hidden{opacity:0;pointer-events:none}.spinner{width:48px;height:48px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:var(--radius-full);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{margin-top:var(--spacing-md);color:var(--text-secondary);font-size:.95rem}.error-screen{position:fixed;inset:0;background:var(--bg-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:999;padding:var(--spacing-lg);text-align:center}.error-screen.hidden{display:none}.error-icon{font-size:3rem;margin-bottom:var(--spacing-md)}.error-message{color:var(--error-color);font-size:1.1rem;font-weight:500}#app{padding:var(--spacing-sm);max-width:600px;margin:0 auto}#app.hidden{display:none}.header{text-align:center;margin-bottom:var(--spacing-sm)}.header h1{font-size:1.3rem;font-weight:600;color:var(--text-primary)}.game-info-section{margin-bottom:var(--spacing-sm)}.info-toggle-btn{width:100%;padding:var(--spacing-xs) var(--spacing-md);background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-family:inherit;font-size:.85rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.info-toggle-btn:before{content:"▼";font-size:.6rem;transition:transform var(--transition-fast)}.info-toggle-btn.expanded:before{transform:rotate(180deg)}.info-toggle-btn:hover{background:var(--bg-hover);border-color:var(--primary-color)}.info-details{margin-top:var(--spacing-xs);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-sm);animation:slideDown .2s ease}.info-details.hidden{display:none}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.info-grid{display:flex;flex-direction:column;gap:var(--spacing-xs)}.info-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) 0;border-bottom:1px solid var(--border-color)}.info-row:last-child{border-bottom:none}.info-row.hidden{display:none}.info-label{color:var(--text-secondary);font-size:.8rem}.info-value{color:var(--text-primary);font-weight:500;font-size:.85rem}.info-value.mono{font-family:monospace;direction:ltr}.status-badge{padding:2px 8px;border-radius:var(--radius-sm);font-size:.75rem}.status-badge[data-status=running]{background:#4ade8033;color:var(--success-color)}.status-badge[data-status=started]{background:#3b82f633;color:var(--info-color)}.status-badge[data-status=finished]{background:#64ffda33;color:var(--primary-color)}.status-badge[data-status=canceled]{background:#fbbf2433;color:var(--warning-color)}.status-message{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-xl);text-align:center;margin-bottom:var(--spacing-md)}.status-message.hidden{display:none}.status-message .status-icon{font-size:3rem;margin-bottom:var(--spacing-md)}.status-message[data-type=started] .status-icon:before{content:"⏳"}.status-message[data-type=finished] .status-icon:before{content:"✅"}.status-message[data-type=canceled] .status-icon:before{content:"❌"}.status-text{font-size:1.1rem;color:var(--text-secondary)}.winners-display{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.winners-display.hidden{display:none}.winners-title{font-size:1.1rem;font-weight:600;color:var(--success-color);margin-bottom:var(--spacing-sm);text-align:center}.section-hint{color:var(--text-secondary);font-size:.85rem;text-align:center;margin-bottom:var(--spacing-xs)}.number-grid-section{margin-bottom:var(--spacing-sm)}.number-grid-section.hidden{display:none}.controls{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.controls.hidden{display:none}.control-btn{flex:1;padding:var(--spacing-xs) var(--spacing-sm);border:none;border-radius:var(--radius-sm);font-family:inherit;font-size:.85rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);height:36px}.control-btn:disabled{opacity:.4;cursor:not-allowed}.control-btn.undo,.control-btn.redo{flex:0 0 auto;width:36px;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.control-btn.undo:hover:not(:disabled),.control-btn.redo:hover:not(:disabled){background:var(--bg-hover);border-color:var(--primary-color);color:var(--primary-color)}.control-btn .icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.control-btn.cancel{background:var(--cancel-color);color:#fff}.control-btn.cancel:hover:not(:disabled){background:#ea580c}.control-btn.finish{background:var(--danger-color);color:#fff}.control-btn.finish:hover:not(:disabled){background:#b91c1c}.number-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:3px;background:var(--bg-secondary);padding:var(--spacing-xs);border-radius:var(--radius-md);border:1px solid var(--border-color)}.number-btn{aspect-ratio:1;border:1.5px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);font-family:inherit;font-size:.85rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;direction:rtl}.number-btn:hover:not(:disabled):not(.marked):not(.queued):not(.processing){background:var(--bg-hover);border-color:var(--text-secondary)}.number-btn.marked{background:var(--bg-marked);border-color:var(--border-marked);color:var(--primary-color);font-weight:600}.number-btn.marked:after{content:"";position:absolute;top:2px;right:2px;width:6px;height:6px;background:var(--primary-color);border-radius:var(--radius-full)}.number-btn.queued{animation:pulse .8s ease-in-out infinite;border-color:var(--warning-color);background:#fbbf2426}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.95)}}.number-btn.processing{pointer-events:none;border-color:var(--primary-color);background:#64ffda26;animation:processing .5s ease-in-out infinite}@keyframes processing{0%,to{box-shadow:0 0 #64ffda66}50%{box-shadow:0 0 0 3px #64ffda33}}.number-btn:disabled{opacity:.5;cursor:not-allowed}.modal{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg);backdrop-filter:blur(4px)}.modal.hidden{display:none}.modal-content{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--spacing-lg);max-width:320px;width:100%;text-align:center;border:1px solid var(--border-color);animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-title{font-size:1.25rem;font-weight:600;margin-bottom:var(--spacing-md);color:var(--text-primary)}.modal-message{color:var(--text-secondary);margin-bottom:var(--spacing-lg);line-height:1.5}.modal-buttons{display:flex;gap:var(--spacing-sm)}.modal-btn{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);font-family:inherit;font-size:.95rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.modal-btn.primary{background:var(--danger-color);color:#fff}.modal-btn.primary:hover{background:#b91c1c}.modal-btn.secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color)}.modal-btn.secondary:hover{background:var(--bg-hover)}.result-modal .modal-content{max-width:380px}.result-modal[data-type=winners] .modal-title{color:var(--success-color)}.result-modal[data-type=finished] .modal-title{color:var(--primary-color)}.result-modal[data-type=canceled] .modal-title{color:var(--warning-color)}.winners-section{margin-bottom:var(--spacing-lg)}.winners-section.hidden{display:none}.winners-count{color:var(--text-secondary);font-size:.9rem;margin-bottom:var(--spacing-md)}.winners-list{max-height:200px;overflow-y:auto}.winner-item{padding:var(--spacing-sm);background:var(--bg-card);border-radius:var(--radius-sm);margin-bottom:var(--spacing-xs);border:1px solid var(--border-color)}.winner-name{display:block;font-weight:500;color:var(--text-primary)}.winner-username{font-size:.85rem;color:var(--text-accent)}.close-btn{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--primary-color);color:var(--tg-theme-button-text-color);border:none;border-radius:var(--radius-md);font-family:inherit;font-size:.95rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.close-btn:hover{background:var(--primary-dark)}.toast{position:fixed;bottom:80px;left:50%;transform:translate(-50%) translateY(100px);background:var(--bg-secondary);color:var(--text-primary);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--border-color);font-size:.9rem;z-index:1001;opacity:0;transition:all var(--transition-normal);max-width:calc(100% - var(--spacing-lg) * 2);text-align:center}.toast.show{transform:translate(-50%) translateY(0);opacity:1}@media (max-width: 480px){.number-grid{gap:2px}.number-btn,.control-btn{font-size:.8rem}.control-btn.undo,.control-btn.redo{width:32px}.control-btn .icon{width:16px;height:16px}}@media (max-width: 360px){.number-btn{font-size:.75rem}.number-btn.marked:after{width:4px;height:4px}}
