/* Core tokens, reset and shared primitives. Generated from the legacy stylesheet; keep source order. */
:root {
    --primary-color: #802433;
    --primary-dark: #5c1a26;
    --primary-light: #a8324a;
    /* Glossary accents */
    --glossary-primary: #e53935; /* rosso brillante */
    --glossary-selection: #9f3243; /* bordeaux un po' più scuro per le selezioni */
    --glossary-highlight-color: var(--glossary-selection);
    --glossary-highlight-outline: rgba(106, 28, 51, 0.75);
    --glossary-highlight-shadow: rgba(106, 28, 51, 0.38);
    --glossary-highlight-shadow-strong: rgba(106, 28, 51, 0.6);
    --glossary-highlight-shadow-glow: rgba(106, 28, 51, 0.2);
    --glossary-bubble-gradient-start: #a73c4f;
    --glossary-bubble-gradient-end: #8f2c3f;
    --glossary-highlight-gradient: linear-gradient(180deg, var(--glossary-bubble-gradient-start), var(--glossary-bubble-gradient-end));
    /* Streak palette */
    --streak-success-1: #1abc9c;
    --streak-success-2: #2ecc71;
    --streak-warn-1: #fcb045;
    --streak-warn-2: #fd1d1d;
    --streak-danger-1: #e74c3c;
    --streak-danger-2: #8e1d22;
    --streak-neutral: #f1f2f6;
    --secondary-color: #2c3e50;
    --accent-color: #e74c3c;
    --glass-bg: rgba(255, 255, 255, 0.65);
    --glass-bg-dark: rgba(20, 20, 20, 0.6);
    --light-gray: #f5f5f5;
    --medium-gray: #e0e0e0;
    --dark-gray: #333;
    --success-color: #27ae60;
    --warning-acolor: #f39c12;
    --warning-color: #f39c12;
    --danger-color: rgba(210, 4, 4, 0.91);
    --text-color: #333;
    --text-light: #777;
    --white: #fff;
    --surface-page: #f5f5f5;
    --surface-card: #ffffff;
    --surface-panel: #faf7f8;
    --surface-border: rgba(15, 23, 42, 0.08);
    --surface-border-strong: rgba(15, 23, 42, 0.12);
    --shadow-card-soft: 0 16px 30px rgba(15, 23, 42, 0.08);
    --shadow-card-strong: 0 28px 48px rgba(15, 23, 42, 0.16);
    --button-gloss: rgba(255, 255, 255, 0.25);
    --button-gloss-strong: rgba(255, 255, 255, 0.45);
    --button-gloss-max: rgba(255, 255, 255, 0.8);
    --box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    --border-radius: 8px;
    --transition: all 0.3s ease;
    --flashcards-header-gradient: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Poppins', sans-serif;
    background-color: var(--surface-page);
    background-image: url('../../immagini-logo/sfondo.svg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    color: var(--text-color);
    line-height: 1.6;
    min-height: 100vh;
}

/* Banner cookie aperto su desktop: rimuovi qualsiasi sfondo illustrato dall'auth screen */
body.cookie-banner-open.desktop-view {
    background-image: none;
    background-color: var(--surface-page);
}

body.cookie-banner-open.desktop-view #auth-screen {
    background: none;
}

/* Utility surfaces */
.surface-card {
    background: var(--surface-card);
    border: 1px solid var(--surface-border);
    color: var(--text-color);
    box-shadow: var(--shadow-card-soft);
    border-radius: var(--border-radius);
}

.surface-panel {
    background: var(--surface-panel);
    border: 1px solid var(--surface-border);
    color: var(--text-color);
    border-radius: var(--border-radius);
}

.text-muted {
    color: var(--text-light);
}

/* Selezione testo: rosso primario */
::selection { background: var(--glossary-selection); color: #fff; }
.quiz-content ::selection, #question-area ::selection, #question-text ::selection, main ::selection { background: var(--glossary-selection); color:#fff; }

[data-tooltip] {
    position: relative;
}

[data-tooltip]::after,
[data-tooltip]::before {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
    z-index: 1000;
}

[data-tooltip]::after {
    content: attr(data-tooltip);
    top: calc(100% + 12px);
    left: 50%;
    transform: translate(-50%, 0);
    background: linear-gradient(135deg, var(--primary-color), var(--primary-dark));
    color: var(--white);
    padding: 6px 10px;
    border-radius: 6px;
    font-size: 0.75rem;
    line-height: 1.2;
    white-space: nowrap;
}

[data-tooltip]::before {
    content: '';
    top: calc(100% + 4px);
    left: 50%;
    transform: translate(-50%, 0);
    border-width: 6px 6px 0 6px;
    border-style: solid;
    border-color: var(--primary-color) transparent transparent transparent;
    z-index: 999;
    transform-origin: center;
}

@media (hover: hover) {
    [data-tooltip]:hover::after,
    [data-tooltip]:hover::before {
        opacity: 1;
        transform: translate(-50%, 0);
    }
}

@media (hover: none) {
    [data-tooltip]::after,
    [data-tooltip]::before {
        display: none;
    }
}

body.dark-mode [data-tooltip]::after {
    background: linear-gradient(135deg, var(--primary-dark), var(--primary-color));
}

body.dark-mode [data-tooltip]::before {
    border-color: var(--primary-dark) transparent transparent transparent;
}

.app-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

#user-dashboard,
#quiz-screen,
#results-screen {
    display: none;
}

#auth-screen {
    display: flex;
}

#auth-screen h1 {
    /* Manteniamo queste proprietÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â  per il tratto */
    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;
    stroke: var(--primary-color);
    /* Il colore del tratto */
    stroke-width: 1px;
    /* Spessore del tratto */

    /* Il riempimento deve essere presente fin dall'inizio */
    fill: var(--primary-color);
    /* Imposta il colore di riempimento fin dall'inizio */

    /* L'animazione controllerÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â  la visibilitÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â  del fill */
    animation: draw 100s linear forwards;
}

@keyframes draw {
    0% {
        stroke-dashoffset: 1000;
        /* Il tratto ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¨ nascosto */
        opacity: 0;
        /* Rendi l'intero SVG invisibile all'inizio */
    }

    1% {
        opacity: 1;
        /* Appena inizia l'animazione, diventa visibile */
    }

    100% {
        stroke-dashoffset: 0;
        /* Il tratto ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¨ completamente disegnato */
        opacity: 1;
        /* Rimane visibile */
    }
}

