:root{--bg:#f4f7f8;--surface:#fff;--surface-strong:#e9eef2;--text:#1f2937;--muted:#52677a;--border:#d8e0e6;--primary:#0f3d4c;--primary-dark:#0a2d39;--accent:#f97316;--accent-hover:#ea580c;--accent-soft:#fff4eb;--success:#16a34a;--warning:#b45309;--danger:#b91c1c;--shadow:0 16px 34px #1f293714;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin:0}.app-shell{width:min(1120px,100%);min-height:100vh;margin:0 auto;padding:40px 24px}.home-page,.quiz-page,.results-page,.empty-state,.revision-page{gap:28px;display:grid}.intro,.results-header{gap:14px;max-width:760px;display:grid}.eyebrow{color:var(--accent);letter-spacing:0;text-transform:uppercase;font-size:.85rem;font-weight:800}h1{color:var(--primary-dark);font-size:clamp(2rem,5vw,3.6rem);line-height:1.05}h2{color:var(--primary-dark);font-size:1.35rem;line-height:1.2}h3{color:var(--primary-dark);font-size:1rem;line-height:1.35}p{color:var(--muted);line-height:1.6}.mode-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.mode-card,.question-card,.result-item{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:8px}.mode-card{border-top:4px solid var(--primary);grid-template-rows:auto 1fr auto;gap:16px;min-height:250px;padding:24px;display:grid}.mode-card--revision{border-top-color:var(--accent);background:linear-gradient(180deg, #f9731614, #fff0 55%), var(--surface)}.mode-card .primary-button{align-self:start}.primary-button{color:#fff;background:var(--accent);border:0;border-radius:6px;width:fit-content;min-height:44px;padding:0 18px;font-weight:700;transition:background .16s,box-shadow .16s,transform .16s;box-shadow:0 8px 18px #f9731638}.primary-button:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 10px 22px #ea580c3d}.secondary-button{width:fit-content;min-height:42px;color:var(--primary);background:var(--surface);border:1px solid #0f3d4c38;border-radius:6px;padding:0 16px;font-weight:700;transition:border-color .16s,background .16s,color .16s}.secondary-button:hover{border-color:var(--primary);color:var(--primary-dark);background:#eef3f5}.quiz-topbar{grid-template-columns:1fr auto;align-items:center;gap:16px;display:grid}.quiz-progress{color:var(--muted);gap:8px;font-weight:700;display:grid}.quiz-progress__track{background:var(--surface-strong);border-radius:999px;height:10px;overflow:hidden}.quiz-progress__bar{border-radius:inherit;background:var(--accent);height:100%;transition:width .18s}.timer{min-width:130px;color:var(--muted);justify-items:end;gap:2px;display:grid}.timer strong{color:var(--accent);font-size:1.6rem}.question-card{gap:22px;padding:28px;display:grid}.answer-list{gap:12px;display:grid}.answer-option{border:1px solid var(--border);background:#fff;border-radius:8px;grid-template-columns:22px 1fr;align-items:start;gap:12px;padding:14px;line-height:1.45;display:grid}.answer-option--selected{border-color:var(--accent);background:var(--accent-soft)}.answer-option input{width:18px;height:18px;accent-color:var(--accent);margin-top:2px}.results-header{margin-bottom:6px}.result-message{border-left:4px solid var(--accent);background:var(--accent-soft);max-width:680px;color:var(--text);border-radius:0 8px 8px 0;padding:12px 16px;font-weight:700}.result-list{gap:14px;display:grid}.result-item{gap:10px;padding:18px;display:grid}.result-item__header{justify-content:space-between;gap:12px;display:flex}.status{border-radius:999px;flex:none;padding:4px 10px;font-size:.85rem;font-weight:700}.status--correct{color:var(--success);background:#e9f8ef}.status--partiel{color:var(--warning);background:#fff6db}.status--incorrect{color:var(--danger);background:#fbeaea}.revision-hero{gap:12px;max-width:820px;display:grid}.revision-hero h1{font-size:clamp(2rem,4vw,3rem)}.revision-content{gap:34px;display:grid}.revision-section{gap:18px;display:grid}.revision-section__header{align-items:center;gap:12px;display:flex}.revision-section__header>div{gap:6px;display:grid}.revision-section__title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.revision-section__icon{width:46px;min-width:46px;height:42px;color:var(--primary);background:#edf3f5;border:1px solid #0f3d4c24;border-radius:8px;flex:none;place-items:center;display:grid}.revision-section__icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:24px;height:24px}.revision-card-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.revision-card-grid--compact{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.revision-card{text-align:left;border:1px solid var(--border);background:var(--surface);width:100%;min-height:150px;box-shadow:var(--shadow);border-radius:8px;grid-template-rows:auto auto 1fr;gap:10px;padding:18px;display:grid;position:relative}.revision-card-grid--compact .revision-card{min-height:112px;padding:16px}.revision-card--button{cursor:pointer}.revision-card--button:hover{border-color:var(--accent);background:var(--accent-soft)}.revision-card--button:focus-visible{outline-offset:2px;outline:3px solid #f973163d}.revision-section--definition .revision-card{border-top:4px solid var(--primary);min-height:150px}.revision-card__index{width:32px;height:32px;color:var(--primary);background:#edf3f5;border-radius:999px;flex:none;place-items:center;font-weight:800;display:inline-grid}.revision-card__title-row{align-items:center;gap:10px;display:flex}.revision-card__title-row h3{min-width:0}.revision-badge{width:fit-content;color:var(--accent-hover);background:var(--accent-soft);border-radius:999px;padding:4px 9px;font-size:.76rem;font-style:normal;font-weight:800;line-height:1.2;display:inline-flex}.revision-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.revision-list li{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:38px 1fr;align-items:start;gap:12px;padding:14px;display:grid}.revision-list li>div{gap:5px;display:grid}.revision-list span{color:#fff;background:var(--primary);border-radius:999px;place-items:center;width:28px;height:28px;font-size:.9rem;font-weight:800;display:grid}.revision-list strong{color:var(--text)}.quick-reminder{background:linear-gradient(90deg, #f9731614, #fff0), var(--surface);box-shadow:var(--shadow);border:1px solid #f973163d;border-radius:8px;gap:18px;padding:22px;display:grid}.quick-reminder>div{gap:6px;display:grid}.quick-reminder ol{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.quick-reminder li{border:1px solid var(--border);min-height:120px;color:var(--text);background:#fff;border-radius:8px;align-content:start;gap:10px;padding:14px;font-weight:700;line-height:1.35;display:grid}.quick-reminder li span{color:#fff;background:var(--accent);border-radius:999px;place-items:center;width:28px;height:28px;font-size:.85rem;font-weight:900;display:grid}.modal-backdrop{z-index:20;background:#0f3d4c57;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.document-modal{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:14px;width:min(520px,100%);padding:22px;display:grid;box-shadow:0 24px 70px #141f2b3d}.document-modal__header{justify-content:space-between;align-items:start;gap:12px;display:flex}.modal-close-button{border:1px solid var(--border);width:34px;height:34px;color:var(--text);background:#fff;border-radius:999px;place-items:center;font-weight:800;display:grid}.modal-close-button:hover{border-color:var(--accent);color:var(--accent-hover)}@media (width<=820px){.app-shell{padding:28px 16px}.mode-grid,.quiz-topbar{grid-template-columns:1fr}.timer{justify-items:start}.question-card{padding:20px}.result-item__header{display:grid}.revision-card{min-height:auto}.quick-reminder ol{grid-template-columns:1fr}.quick-reminder li{min-height:auto}.revision-section__header{align-items:center}}
