:root{--bg:#0f1115;--surface:#171a21;--surface-2:#1f232c;--border:#2a2f3a;--text:#e8eaed;--text-dim:#9aa1ac;--accent:#e0a955;--ok:#5fb87a;--warn:#d98b3f;--danger:#d9584f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:16px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);margin:0}button{cursor:pointer;font-family:inherit}h1,h2{color:var(--text)}.pull-indicator{color:var(--text-dim);justify-content:center;align-items:center;font-size:13px;display:flex;overflow:hidden}.app-shell{max-width:1100px;margin:0 auto;padding:16px;position:relative}.loading,.empty{text-align:center;color:var(--text-dim);padding:60px 0}.login-screen{background:var(--bg);justify-content:center;align-items:center;min-height:100svh;display:flex}.login-card{flex-direction:column;gap:12px;width:min(320px,90vw);display:flex}.login-card h1{text-align:center;margin-bottom:8px}.login-card input,.login-card button{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;padding:12px 14px;font-size:16px}.login-card button{background:var(--accent);color:#17181c;border:none;font-weight:600}.login-card .error{color:var(--danger);margin:0;font-size:14px}.signout-button{border:1px solid var(--border);color:var(--text-dim);background:0 0;border-radius:8px;padding:6px 12px;font-size:13px;position:absolute;top:16px;right:16px}.library-header h1{margin:8px 0 16px}.tabs{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.tabs button{background:var(--surface);border:1px solid var(--border);color:var(--text-dim);border-radius:999px;padding:8px 16px;font-size:14px}.tabs button.active{background:var(--accent);color:#17181c;border-color:var(--accent);font-weight:600}.chapter-grid,.piece-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.chapter-card,.piece-card{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:14px;padding:16px;text-decoration:none;transition:border-color .15s;display:block}.chapter-card:hover,.piece-card:hover{border-color:var(--accent)}.chapter-title{margin-bottom:10px;font-weight:600}.chapter-progress-bar{background:var(--surface-2);border-radius:999px;height:6px;margin-bottom:6px;overflow:hidden}.chapter-progress-fill{background:var(--ok);height:100%}.chapter-progress-label{color:var(--text-dim);font-size:12px}.piece-card-title{margin-bottom:10px;font-weight:600}.piece-card-meta{justify-content:space-between;align-items:center;display:flex}.piece-card-icons{letter-spacing:2px;font-size:14px}.piece-card.needs-review{border-color:var(--warn)}.review-flag{color:var(--warn);text-transform:uppercase;letter-spacing:.5px;margin-top:8px;font-size:11px}.review-flag-inline{border:1px solid var(--warn);color:var(--warn);background:#d98b3f1f;border-radius:10px;padding:10px 14px;font-size:14px}.status-badge{border:1px solid var(--border);border-radius:999px;padding:3px 10px;font-size:12px}.status-a_decouvrir{color:var(--text-dim)}.status-en_cours{color:#6fa8dc;border-color:#6fa8dc}.status-a_retravailler{color:var(--warn);border-color:var(--warn)}.status-maitrise{color:var(--ok);border-color:var(--ok)}.resource-list{flex-direction:column;gap:8px;padding:0;list-style:none;display:flex}.resource-link{text-align:left;background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text);border-radius:10px;padding:12px 14px}.back-link{color:var(--text-dim);margin-bottom:12px;font-size:14px;text-decoration:none;display:inline-block}.workspace-grid{grid-template-columns:1fr 300px;align-items:start;gap:20px;margin-top:16px;display:grid}@media (width<=860px){.workspace-grid{grid-template-columns:1fr}}.player-block{background:var(--surface);border:1px solid var(--border);border-radius:14px;margin-bottom:16px;padding:16px}.player-block h2{color:var(--text-dim);margin:0 0 10px;font-size:15px}.part-tabs{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.part-tabs button{background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim);border-radius:999px;padding:5px 12px;font-size:13px}.part-tabs button.active{background:var(--accent);color:#17181c;border-color:var(--accent);font-weight:600}.video-player{background:#000;border-radius:10px;width:100%;max-height:70vh}.pdf-viewer{background:#fff;border:none;border-radius:8px;width:100%;height:70vh}.audio-player{width:100%}.gp-list{flex-direction:column;gap:8px;display:flex}.gp-download{text-align:left;background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:10px 12px}.workspace-sidebar{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px;position:sticky;top:16px}.workspace-sidebar h2{color:var(--text-dim);margin:0 0 10px;font-size:15px}.status-buttons{flex-direction:column;gap:6px;margin-bottom:20px;display:flex}.status-buttons button{background:var(--surface-2);border:1px solid var(--border);color:var(--text);text-align:left;border-radius:8px;padding:8px 12px;font-size:14px}.status-buttons button.active{border-color:var(--accent);background:#e0a95526;font-weight:600}.workspace-sidebar textarea{background:var(--surface-2);border:1px solid var(--border);width:100%;color:var(--text);resize:vertical;border-radius:8px;padding:10px;font-family:inherit;font-size:14px}.saving-hint{color:var(--text-dim);font-size:12px}
