
        /* Stili Generali per Compiti Matefilia.it */
        :root {
            --primary: #2c3e50; /* Blu scuro/Grigio per testi principali */
            --secondary: #3498db; /* Blu per link/bottoni */
            --accent: #e74c3c; /* Rosso per accenti/errori */
            --background: #f8f9fa; /* Sfondo leggero */
            --border-color: #dee2e6; /* Colore per bordi/linee */
        }

        body {
            font-family: 'Segoe UI', Arial, sans-serif;
            max-width: 1200px;
            margin: 0 auto;
            padding: 2rem;
            background: var(--background);
            color: var(--primary);
            line-height: 1.6;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }

        .header-box {
            width: 100%;
            border: 2px dashed #008000;
            box-sizing: border-box;
            padding: 10px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            background-color: white;
            min-height: 80px;
            margin-bottom: 30px;
        }

        .left-image, .right-image {
            max-height: 50px;
            height: auto;
            margin: 10px;
        }

        h1, h2, h3 {
            color: var(--primary);
            text-align: center;
            margin-bottom: 1.5rem;
        }

        h1 {
            font-size: 2.8em;
            margin-top: 2rem;
            text-shadow: 1px 1px 2px rgba(0,0,0,0.05);
        }
        h2 {
            font-size: 2em;
            margin-top: 0.5rem;
            color: #555;
        }

        .intro-text {
            background-color: white;
            padding: 25px;
            border-radius: 10px;
            box-shadow: 0 4px 15px rgba(0,0,0,0.08);
            margin-bottom: 3rem;
            text-align: justify;
            line-height: 1.8;
            font-size: 1.1em;
            border-left: 5px solid var(--secondary);
        }

        /* --- Sezione Compiti per Anno --- */
        .year-section {
            background-color: white;
            padding: 25px 30px;
            margin-bottom: 2.5rem;
            border-radius: 10px;
            box-shadow: 0 4px 15px rgba(0,0,0,0.08);
            border: 1px solid var(--border-color);
        }

        .year-section h3 {
            font-size: 1.8em;
            color: var(--secondary);
            margin-top: 0;
            margin-bottom: 1.5rem;
            text-align: left;
            border-bottom: 2px solid var(--border-color);
            padding-bottom: 10px;
        }

        .task-list {
            list-style: none;
            padding: 0;
            margin: 0;
        }

        .task-list li {
            margin-bottom: 15px;
            padding: 15px;
            background-color: var(--background);
            border: 1px solid #e9ecef;
            border-radius: 8px;
            display: flex;
            align-items: flex-start; /* Allinea l'icona in alto con il contenuto */
            transition: background-color 0.3s ease, transform 0.2s ease, box-shadow 0.2s ease;
        }

        .task-list li:hover {
            background-color: #e0e7ed;
            transform: translateY(-3px);
            box-shadow: 0 2px 8px rgba(0,0,0,0.1);
        }

        .task-list li::before {
            content: "📚";
            margin-right: 15px;
            font-size: 1.2em;
            flex-shrink: 0;
            padding-top: 2px; /* Aggiusta l'allineamento verticale dell'icona */
        }

        /* Contenitore per il titolo e la descrizione del compito */
        .task-info {
            flex-grow: 1; /* Occupa lo spazio rimanente */
            margin-right: 20px; /* Spazio tra descrizione e link */
        }

        .task-info .task-title-text {
            font-weight: bold;
            font-size: 1.1em;
            color: var(--primary);
            margin: 0 0 5px 0; /* Spazio sotto il titolo */
        }

        .task-info .task-description-text {
            font-size: 0.9em;
            color: #6c757d;
            margin: 0;
        }

        /* Contenitore per i link di azione (PDF e Soluzione) */
        .task-actions {
            display: flex;
            flex-direction: column; /* Impila i link verticalmente di default */
            gap: 8px; /* Spazio tra i link */
            flex-shrink: 0; /* Impedisce ai link di restringersi */
            margin-left: auto; /* Spinge il blocco link a destra */
            min-width: 100px; /* Larghezza minima per i bottoni */
            align-items: flex-end; /* Allinea i bottoni a destra */
        }

        .task-actions .action-link {
            display: inline-block;
            text-decoration: none;
            padding: 0.5rem 1rem;
            border-radius: 20px;
            font-size: 0.85em;
            font-weight: bold;
            text-align: center;
            transition: background 0.3s ease, color 0.3s ease;
            white-space: nowrap; /* Impedisce al testo del link di andare a capo */
        }

        .task-actions .pdf-link {
            background-color: #e74c3c; /* Rosso per PDF */
            color: white;
        }

        .task-actions .pdf-link:hover {
            background-color: #c0392b;
        }

        .task-actions .solution-link {
            background-color: var(--secondary); /* Blu per Soluzione */
            color: white;
        }

        .task-actions .solution-link:hover {
            background-color: #2980b9;
        }

        /* --- Footer --- */
        .footer {
            text-align: center;
            margin-top: 50px;
            padding-top: 20px;
            border-top: 1px solid var(--border-color);
            color: #777;
            font-size: 0.9em;
        }

        .footer .button-link-style {
            display: inline-block;
            text-decoration: none;
            padding: 0.8rem 1.5rem;
            margin: 0.5rem;
            background: var(--secondary);
            color: white;
            border: none;
            border-radius: 20px;
            cursor: pointer;
            transition: background 0.3s ease;
        }

        .footer .button-link-style:hover {
            background: #2980b9;
        }

        /* --- Responsive Design --- */
        @media (max-width: 768px) {
            body {
                padding: 1rem;
            }
            h1 {
                font-size: 2em;
            }
            h2 {
                font-size: 1.6em;
            }
            .intro-text, .year-section {
                padding: 15px;
            }
            .task-list li {
                flex-direction: column; /* Icona, poi info, poi azioni */
                align-items: flex-start;
            }
            .task-list li::before {
                margin-bottom: 10px;
                margin-left: 0;
            }
            .task-info {
                margin-right: 0;
                width: 100%; /* Occupano tutta la larghezza */
            }
            .task-actions {
                flex-direction: row; /* I link affiancati su mobile */
                justify-content: center; /* Centra i bottoni */
                width: 100%;
                margin-top: 15px; /* Spazio tra descrizione e bottoni */
                margin-left: 0;
            }
            .task-actions .action-link {
                flex-grow: 1; /* Distribuisci lo spazio equamente */
                max-width: 48%; /* Per lasciare un po' di spazio tra loro */
            }
        }

        @media (max-width: 480px) {
            .header-box {
                flex-direction: column;
                align-items: center;
            }
            .left-image, .right-image {
                margin-bottom: 10px;
            }
        }
    .Stile1 {color: #009933}
