*{margin:0;padding:0;box-sizing:border-box;font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif}:root{--primary-color:#4361ee;--secondary-color:#3a0ca3;--accent-color:#7209b7;--light-bg:#f8f9fa;--dark-text:#2b2d42;--medium-text:#6c757d;--light-text:#adb5bd;--border-color:#dee2e6;--box-shadow:0 4px 20px rgba(0, 0, 0, 0.08);--border-radius:12px;--transition:all 0.3s ease}body{background-color:var(--light-bg);color:var(--dark-text);line-height:1.6}.container{max-width:1200px;margin:0 auto;padding:20px}header{text-align:center;margin-bottom:40px;padding:30px 0;border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;border-radius:var(--border-radius);margin-top:20px;box-shadow:var(--box-shadow)}header h1{margin-bottom:10px;font-size:2.5rem;font-weight:700}header p{opacity:.9;font-size:1.1rem}.niveau-container{display:flex;gap:2rem;justify-content:space-between;flex-wrap:wrap}.niveau-section{flex:1;min-width:45%;margin-bottom:40px;border-radius:var(--border-radius);padding:25px;background-color:#fff;box-shadow:var(--box-shadow);border-top:5px solid var(--primary-color);transition:var(--transition);display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch}.niveau-section:hover{transform:translateY(-5px)}.niveau-section h2{color:var(--dark-text);margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid var(--border-color);font-size:1.8rem;text-align:center}.section{background-color:#fff;border-radius:var(--border-radius);box-shadow:0 2px 10px rgba(0,0,0,.03);padding:25px;margin-bottom:30px;border-left:3px solid var(--accent-color);width:100%}.section h3{color:var(--dark-text);margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid var(--border-color);font-size:1.4rem}.matiere{margin-bottom:25px;padding:15px;border-radius:8px;background-color:#f8f9fa;transition:var(--transition)}.matiere:hover{background-color:#f1f3f5}.matiere:last-child{margin-bottom:0}.matiere h4{color:var(--dark-text);margin-bottom:15px;display:flex;justify-content:space-between;align-items:center;font-size:1.2rem;flex-wrap:wrap}.coef{font-size:14px;color:var(--medium-text);font-weight:400;background-color:#e9ecef;padding:3px 8px;border-radius:20px}.notes-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;align-items:start}.label{font-size:14px;color:var(--dark-text);font-weight:500}.input-container{position:relative}.note-input{width:100%;padding:10px 15px;border:1px solid var(--border-color);border-radius:8px;font-size:15px;transition:var(--transition)}.note-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(67,97,238,.15)}.note-input::-webkit-inner-spin-button,.note-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.moyenne{font-weight:600;color:var(--primary-color);background-color:rgba(67,97,238,.1);padding:8px 12px;border-radius:6px;text-align:center}.calculer-container{display:flex;justify-content:center;margin:20px 0;width:100%;clear:both}.btn-calculer{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;border:none;border-radius:30px;padding:15px 40px;font-size:18px;font-weight:600;cursor:pointer;transition:var(--transition);box-shadow:0 4px 15px rgba(67,97,238,.3)}.btn-calculer:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(67,97,238,.4)}.btn-calculer:active{transform:translateY(1px)}.btn-retour{background-color:var(--medium-text);color:#fff;border:none;border-radius:30px;padding:12px 30px;font-size:16px;font-weight:600;cursor:pointer;transition:var(--transition);margin-top:20px}.btn-retour:hover{background-color:#5a6268;transform:translateY(-2px)}.resultats-section{margin-top:20px;opacity:0;transition:opacity 0.5s ease;display:none}.resultats-section.visible{opacity:1;display:block}.resultats-section h2{text-align:center;color:var(--dark-text);margin-bottom:30px;font-size:2rem}.resultats-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;margin-bottom:40px}.resultat-box{background-color:#fff;border-radius:var(--border-radius);box-shadow:var(--box-shadow);padding:30px;text-align:center;transition:var(--transition)}.details-container{grid-column:1 / -1;background-color:#fff;border-radius:var(--border-radius);box-shadow:var(--box-shadow);padding:30px}.tabs,.tab-btn,.tab-pane{display:none}footer{text-align:center;padding:30px;color:var(--medium-text);font-size:14px;margin-top:50px;background-color:#fff;border-radius:var(--border-radius) var(--border-radius) 0 0;box-shadow:var(--box-shadow)}.details-points{display:table;width:100%;border-collapse:collapse;margin-top:20px}.details-points .header-row,.details-points .data-row{display:table-row}.details-points .header-cell,.details-points .data-cell{display:table-cell;padding:12px;border-bottom:1px solid var(--border-color);text-align:left}.details-points .header-cell{font-weight:600;color:var(--dark-text);background-color:var(--light-bg);border-bottom:2px solid var(--primary-color)}.details-points .data-row:hover{background-color:var(--light-bg)}.details-points .data-cell:last-child{text-align:right;color:var(--primary-color);font-weight:600}.details-points .data-cell:nth-child(2){text-align:center}@media (max-width:767px){.container{padding:10px}header{margin:10px;padding:20px 10px}header h1{font-size:1.8rem}header p{font-size:1rem}.niveau-container{flex-direction:column;gap:1rem}.niveau-section{width:100%;padding:15px;margin-bottom:20px}.niveau-section h2{font-size:1.5rem;margin-bottom:15px}.section{padding:15px;margin-bottom:20px}.section h3{font-size:1.2rem}.matiere{padding:10px;margin-bottom:15px}.matiere h4{font-size:1.1rem;margin-bottom:10px}.notes-grid{grid-template-columns:auto 1fr;gap:10px}.label{font-size:.9rem;display:flex;align-items:center}.note-input{padding:8px 12px;font-size:14px}.coef{font-size:12px;padding:2px 6px}.btn-calculer{width:100%;padding:12px 20px;font-size:16px}.resultats-container{grid-template-columns:1fr;gap:15px}.resultat-box{padding:20px}.details-container{padding:15px}.details-points{font-size:14px}.details-points .header-cell,.details-points .data-cell{padding:8px 5px}footer{padding:20px;margin-top:30px;font-size:12px}}@media (max-width:480px){header h1{font-size:1.5rem}.matiere h4{flex-direction:column;align-items:flex-start;gap:5px}.coef{margin-left:0}.notes-grid{grid-template-columns:1fr}.details-points{font-size:12px}.details-points .header-cell,.details-points .data-cell{padding:6px 4px}}@media (max-width:1200px){.niveau-section{flex:100%}}.presentation{background-color:#fff;border-radius:var(--border-radius);padding:30px;margin:20px 0 40px;box-shadow:var(--box-shadow)}.presentation h2{color:var(--primary-color);margin-bottom:20px;font-size:1.8rem;text-align:center}.presentation-content{max-width:800px;margin:0 auto}.presentation-content p{line-height:1.6;color:var(--dark-text);margin-bottom:25px}.key-features,.how-to-use{background-color:var(--light-bg);padding:25px;border-radius:var(--border-radius);margin:20px 0}.key-features h3,.how-to-use h3{color:var(--secondary-color);margin-bottom:15px;font-size:1.3rem}.key-features ul,.how-to-use ol{padding-left:20px}.key-features li,.how-to-use li{margin-bottom:10px;color:var(--dark-text)}.disclaimer{font-style:italic;color:var(--medium-text);font-size:.9rem;text-align:center;padding:15px;border-top:1px solid var(--border-color);margin-top:30px}@media (max-width:767px){.presentation{padding:20px;margin:15px 0 30px}.presentation h2{font-size:1.5rem}.key-features,.how-to-use{padding:15px}.key-features h3,.how-to-use h3{font-size:1.2rem}.key-features li,.how-to-use li{font-size:.95rem}.disclaimer{font-size:.8rem;padding:10px}}