/**
 * AntiSchool WebApp - Telegram WebApp Styles
 * Спеціальні стилі для Telegram WebApp інтеграції
 */

/* ============================================================
   TELEGRAM WEBAPP СПЕЦИФІЧНІ СТИЛІ
   ============================================================ */

/* Використання Telegram теми */
body.telegram-webapp {
    background-color: var(--tg-theme-bg-color, #FFFFFF);
    color: var(--tg-theme-text-color, #000000);
}

/* Адаптація до Telegram кольорів */
.tg-bg {
    background-color: var(--tg-theme-bg-color, #FFFFFF);
}

.tg-secondary-bg {
    background-color: var(--tg-theme-secondary-bg-color, #F0F0F0);
}

.tg-text {
    color: var(--tg-theme-text-color, #000000);
}

.tg-hint {
    color: var(--tg-theme-hint-color, #999999);
}

.tg-link {
    color: var(--tg-theme-link-color, #2481CC);
}

.tg-button {
    background-color: var(--tg-theme-button-color, #3390EC);
    color: var(--tg-theme-button-text-color, #FFFFFF);
}

/* ============================================================
   AUTH PAGE СТИЛІ
   ============================================================ */

.auth-page {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    padding: 1rem;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.auth-container {
    width: 100%;
    max-width: 400px;
}

.auth-logo {
    text-align: center;
    margin-bottom: 2rem;
}

.auth-logo h1 {
    font-size: 1.75rem;
    color: var(--white);
    margin-bottom: 0.5rem;
}

.tagline {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.9);
}

.auth-form {
    background-color: var(--white);
    border-radius: var(--border-radius-lg);
    padding: 2rem;
    box-shadow: var(--shadow-lg);
}

.auth-footer {
    text-align: center;
    margin-top: 1.5rem;
    color: var(--white);
}

.auth-footer p {
    margin-bottom: 0.5rem;
}

.auth-footer .link {
    color: var(--white);
    font-weight: 600;
    text-decoration: underline;
}

/* ============================================================
   PROGRESS BAR (для реєстрації)
   ============================================================ */

.progress-bar {
    display: flex;
    justify-content: space-between;
    margin-bottom: 2rem;
    padding: 1rem;
    background-color: var(--white);
    border-radius: var(--border-radius-lg);
}

.progress-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    flex: 1;
    position: relative;
}

.progress-step::after {
    content: '';
    position: absolute;
    top: 20px;
    left: 50%;
    width: 100%;
    height: 2px;
    background-color: var(--gray-300);
    z-index: -1;
}

.progress-step:last-child::after {
    display: none;
}

.step-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: var(--gray-300);
    color: var(--gray-600);
    font-weight: 600;
    transition: var(--transition);
}

.progress-step.active .step-number {
    background-color: var(--primary-color);
    color: var(--white);
}

.progress-step.active::after {
    background-color: var(--primary-color);
}

.step-label {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--gray-600);
}

.progress-step.active .step-label {
    color: var(--primary-color);
}

/* ============================================================
   LEVEL TEST СТИЛІ
   ============================================================ */

.test-description {
    text-align: center;
    color: var(--gray-600);
    margin-bottom: 2rem;
    padding: 1rem;
    background-color: var(--gray-100);
    border-radius: var(--border-radius);
}

.question-container {
    background-color: var(--white);
    border-radius: var(--border-radius);
    padding: 2rem;
    margin-bottom: 1.5rem;
    box-shadow: var(--shadow);
}

.question-text {
    font-size: 1.125rem;
    font-weight: 600;
    margin-bottom: 1.5rem;
    color: var(--gray-900);
}

.answers-grid {
    display: grid;
    gap: 1rem;
}

.answer-option {
    display: flex;
    align-items: center;
    padding: 1rem;
    background-color: var(--gray-100);
    border: 2px solid transparent;
    border-radius: var(--border-radius);
    cursor: pointer;
    transition: var(--transition);
}

.answer-option:hover {
    background-color: var(--gray-200);
}

.answer-option.selected {
    background-color: var(--primary-light);
    border-color: var(--primary-color);
    color: var(--white);
}

.answer-option input[type="radio"] {
    margin-right: 1rem;
    cursor: pointer;
}

.test-navigation {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

#questionProgress {
    font-weight: 600;
    color: var(--gray-700);
}

/* ============================================================
   TELEGRAM VIEWPORT FIX
   ============================================================ */

/* Виправлення проблем з viewport в Telegram */
@supports (-webkit-touch-callout: none) {
    body {
        min-height: -webkit-fill-available;
    }
}

/* Safe area для iOS в Telegram */
body {
    padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
}

/* ============================================================
   TELEGRAM HAPTIC FEEDBACK HINTS
   ============================================================ */

.btn,
.tab-btn,
.event-card,
.answer-option {
    -webkit-tap-highlight-color: rgba(27, 91, 247, 0.1);
}

/* ============================================================
   ТЕМНА ТЕМА
   ============================================================ */

@media (prefers-color-scheme: dark) {
    body:not(.light-mode) {
        --gray-100: #1A1A1A;
        --gray-200: #2A2A2A;
        --gray-300: #3A3A3A;
        --white: #FFFFFF;
        --gray-900: #F5F5F5;
    }
}
