:root{--bg:#f7f6f2;--surface:#fff;--text:#1c1c1c;--muted:#5f5f5a;--accent:#2f5d8a;--danger:#a33a2c;--border:#dedcd4;--radius:12px}@media (prefers-color-scheme:dark){button:not(.link):not(.secondary),.button{color:#111}:root{--bg:#161616;--surface:#202020;--text:#ececea;--muted:#a5a5a0;--accent:#7fa8d1;--danger:#e07a6a;--border:#34342f}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;padding:0}body{font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:17px;line-height:1.5}main{max-width:640px;margin:0 auto;padding:24px 16px 48px}h1{margin:0 0 16px;font-size:1.6rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}label{margin:12px 0 6px;font-weight:600;display:block}input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:8px;padding:12px;font-size:1rem}button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:8px;width:100%;margin-top:16px;padding:12px;font-size:1rem;font-weight:600}button.secondary{color:var(--accent);border:1px solid var(--accent);background:0 0}.error{color:var(--danger);margin-top:12px}.muted{color:var(--muted)}h2{margin:24px 0 10px;font-size:1.15rem}a{color:var(--accent)}.small{font-size:.85rem}.topbar{justify-content:space-between;align-items:center;max-width:640px;margin:0 auto;padding:12px 16px 0;display:flex}.topbar .brand{font-weight:700}.topbar .back{text-decoration:none}button.link{width:auto;color:var(--accent);background:0 0;margin:0;padding:4px 0;font-weight:500}.list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.row{color:inherit;justify-content:space-between;gap:12px;text-decoration:none;display:flex}.button{text-align:center;background:var(--accent);color:#fff;border-radius:8px;margin:8px 0 16px;padding:12px;font-weight:600;text-decoration:none;display:block}.pill{border:1px solid var(--border);border-radius:999px;padding:2px 10px;font-size:.8rem;display:inline-block}.pill.ok{background:#2e7d4f22;border-color:#2e7d4f}.pill.mid{background:#c4901a22;border-color:#c4901a}.pill.ko{border-color:var(--danger);background:#a33a2c22}.choices{border:0;gap:8px;margin:12px 0;padding:0;display:grid}.choice{border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:center;gap:10px;margin:0;padding:12px;font-weight:400;display:flex}.choice.on{border-color:var(--accent)}.choice input{width:auto}.holes input{width:9em;margin:2px 4px;padding:6px;display:inline-block}.assoc label{justify-content:space-between;gap:12px;font-weight:400;display:flex}select,textarea{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:8px;padding:10px;font-family:inherit;font-size:1rem}.assoc select{width:55%}.order{padding-left:20px}.order li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:6px 0;display:flex}button.mini{width:40px;margin:0 0 0 6px;padding:6px}.feedback{border-left:4px solid var(--border);background:var(--bg);border-radius:8px;margin-top:16px;padding:12px}.feedback.ok{border-color:#2e7d4f}.feedback.ko{border-color:var(--danger)}.flag{margin-top:8px}.actions{gap:8px;display:flex}.actions button{margin-top:8px}.table{border-collapse:collapse;width:100%;font-size:.9rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:6px}.pre{white-space:pre-wrap;font-size:.8rem;overflow-x:auto}.sheet .card{margin-bottom:12px}.sheet .katex-display{overflow:auto hidden}.table-wrap{margin:8px 0;overflow-x:auto}.table-wrap table{border-collapse:collapse;width:100%;font-size:.95em}.table-wrap th,.table-wrap td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:6px 8px}.table-wrap thead th{background:color-mix(in srgb, var(--accent) 12%, var(--surface))}.table-wrap tbody th{font-weight:600}.frise{border-left:3px solid var(--accent);margin:8px 0;padding:0 0 0 14px;list-style:none}.frise li{flex-direction:column;margin:0 0 10px;display:flex}.frise-date{color:var(--accent);font-weight:700}.prov{border-left:4px solid var(--border);border-radius:6px;margin:8px 0;padding:6px 10px}.prov-label{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin-bottom:2px;font-size:.8em;font-weight:700;display:block}.prov-src{color:var(--muted);word-break:break-word;margin-top:4px;font-size:.8em;display:block}.prov-cours{border-left-color:var(--accent)}.prov-externe{background:#2e7d4f12;border-left-color:#2e7d4f}.prov-explication{background:#8a6d2f12;border-left-color:#8a6d2f}.prov-attention{border-left-color:var(--danger);background:color-mix(in srgb, var(--danger) 8%, transparent)}.feedback.part{border-color:#b8860b}.clarify{flex-direction:column;gap:8px;margin:10px 0;display:flex}.exo{margin:8px 0 16px}.corrige{border:1px dashed var(--border);border-radius:8px;margin-top:8px;padding:6px 10px}.corrige summary{cursor:pointer;color:var(--accent);font-weight:600}
