.nav-button{border:0;background:transparent;width:100%;font:inherit;text-align:left;cursor:pointer}
.admin-page{max-width:1280px;margin:0 auto}
.admin-page h1{margin-top:.6rem}
.admin-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:1rem 0}
.admin-stat{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:1rem}
.admin-stat b{display:block;font-size:1.7rem;color:var(--accent-text)}
.admin-stat span{color:var(--text-secondary);font-size:13px}
.admin-two{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.75fr);gap:1rem;margin-top:1rem}
.admin-form{display:grid;grid-template-columns:150px repeat(4,minmax(0,1fr)) auto;gap:.6rem;align-items:center}
.admin-form input,.admin-form select{height:40px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface-1);color:var(--text-primary);padding:0 10px;font:inherit}
.admin-user-list{display:flex;flex-direction:column;gap:.55rem}
.admin-user{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:center;border:1px solid var(--border);border-radius:12px;padding:.7rem;background:var(--surface-1)}
.admin-user span{display:block;color:var(--text-secondary);font-size:12px;margin-top:.15rem}
.admin-user-actions{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}
.admin-user-actions button,.admin-user-actions select{border:1px solid var(--border-strong);border-radius:9px;background:var(--surface-2);color:var(--text-primary);padding:.42rem .55rem;cursor:pointer}
.admin-row{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--border);padding:.45rem 0;color:var(--text-secondary)}
.admin-row b{color:var(--text-primary);font-size:12px;text-align:right}
.admin-task-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin-top:1rem}
.admin-task-card{display:flex;flex-direction:column;gap:.45rem;text-decoration:none;color:var(--text-primary);background:var(--surface-2);border:1px solid var(--border);border-radius:14px;padding:1.05rem;min-height:156px;transition:transform .12s,border-color .12s,box-shadow .12s}
.admin-task-card:hover{border-color:var(--accent-border);box-shadow:0 14px 36px rgba(0,0,0,.08);transform:translateY(-2px)}
.admin-task-card i{width:38px;height:38px;border-radius:11px;background:var(--accent-bg);color:var(--accent-text);display:inline-flex;align-items:center;justify-content:center;font-size:22px}
.admin-task-card strong{font-size:17px}
.admin-task-card span{font-size:13px;line-height:1.55;color:var(--text-secondary)}
.admin-user-edit{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:.45rem;align-items:center}
.admin-user-edit input{height:34px;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface-2);color:var(--text-primary);padding:0 9px;font:inherit;font-size:13px}
.admin-user-edit strong,.admin-user-edit span{grid-column:1/-1}
.admin-user-msg{grid-column:1/-1}
.admin-user-log{grid-column:1/-1;border-top:1px solid var(--border);padding-top:.6rem}
.event-log-list{display:flex;flex-direction:column;gap:.45rem;max-height:560px;overflow:auto}
.event-log-row{border:1px solid var(--border);border-radius:10px;background:var(--surface-1);padding:.5rem .65rem}
.event-log-row summary{cursor:pointer;display:flex;justify-content:space-between;gap:.8rem;color:var(--text-secondary);font-size:12px}
.event-log-row summary span{font-weight:650;color:var(--text-primary)}
.event-log-row pre{white-space:pre-wrap;font-size:11px;line-height:1.45;margin:.55rem 0 0;color:var(--text-secondary)}
.admin-course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.75rem;margin-top:1rem}
.admin-week-card{display:flex;flex-direction:column;text-decoration:none;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);padding:.85rem;color:var(--text-primary)}
.admin-week-card span{font-size:12px;color:var(--accent-text);font-weight:700}
.admin-week-card strong{margin:.25rem 0;line-height:1.35}
.admin-week-card em{font-style:normal;color:var(--text-secondary);font-size:12px}
.quiz-manager-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0}
.quiz-manager-head label{display:flex;align-items:center;gap:.7rem;font-weight:600}
.quiz-manager-head select,.quiz-settings-grid input,.quiz-settings-grid textarea,.quiz-json-input,.feedback-item textarea{border:1px solid var(--border-strong);border-radius:10px;background:var(--surface-1);color:var(--text-primary);font:inherit}
.quiz-manager-head select{height:40px;padding:0 10px;min-width:310px}
.quiz-admin-grid{display:grid;grid-template-columns:minmax(320px,.65fr) minmax(0,1.35fr);gap:1rem;margin:1rem 0}
.quiz-manager-tabs{display:flex;gap:.45rem;margin:1rem 0;border-bottom:1px solid var(--border);padding-bottom:.55rem}
.quiz-manager-tabs button{height:42px;padding:0 16px;border-radius:9px;display:inline-flex;align-items:center;gap:.45rem;background:var(--surface-1);color:var(--text-secondary)}
.quiz-manager-tabs button.active{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent-text);font-weight:700}
.quiz-manager-workspace[hidden]{display:none}
.quiz-manager-workspace{display:flex;flex-direction:column;gap:1rem}
.quiz-workspace-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}
.quiz-workspace-head p{font-size:12px;margin:.2rem 0 0}
.quiz-workspace-head>button{flex-shrink:0}
.quiz-list-toolbar{display:flex;align-items:center;gap:.42rem;flex-wrap:wrap;margin:.8rem 0;padding:.55rem;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}
.quiz-list-toolbar.professor{margin:.2rem 0 .8rem}
.quiz-list-toolbar-label{padding:0 .25rem;color:var(--text-muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.quiz-list-filter{min-height:36px;padding:.38rem .58rem;border-radius:9px;background:var(--surface-1);color:var(--text-secondary);display:inline-flex;align-items:center;gap:.38rem;font-size:12px;font-weight:700}
.quiz-list-filter:hover{border-color:var(--accent-border);color:var(--accent-text)}
.quiz-list-filter.active{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-text);box-shadow:0 3px 10px color-mix(in srgb,var(--accent) 12%,transparent)}
.quiz-list-filter b{display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:999px;background:var(--surface-2);color:var(--text-secondary);font-size:10px}
.quiz-list-filter.active b{background:var(--accent);color:#fff}
.quiz-list-toolbar-spacer{flex:1 1 20px}
.quiz-list-view-button{min-height:36px;padding:.38rem .62rem;border-radius:9px;background:var(--surface-1);color:var(--text-secondary);display:inline-flex;align-items:center;gap:.38rem;font-size:12px;font-weight:750}
.quiz-list-view-button:hover{border-color:var(--accent-border);color:var(--accent-text)}
.quiz-list-view-button.active{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-text);box-shadow:0 3px 10px color-mix(in srgb,var(--accent) 12%,transparent)}
.quiz-runs-layout{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:1rem;align-items:start}
.quiz-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;align-items:end}
.quiz-settings-grid label{display:flex;flex-direction:column;gap:.25rem;color:var(--text-secondary);font-size:13px}
.quiz-settings-grid input{height:38px;padding:0 9px}
.quiz-settings-grid textarea{padding:9px;resize:vertical;line-height:1.45}
.quiz-opening-label{grid-column:1/-1}
.quiz-run-list{display:flex;flex-direction:column;gap:.4rem;margin:.7rem 0}
.quiz-run-row{display:grid;grid-template-columns:minmax(0,1fr) 38px 38px;gap:.35rem;align-items:center}
.quiz-run-row>button:first-child{min-width:0;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.55rem .65rem;border-radius:10px;background:var(--surface-1)}
.quiz-run-row.active>button:first-child{border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent-text)}
.quiz-run-row-head{display:flex!important;align-items:center;justify-content:space-between;gap:.5rem;width:100%;color:inherit!important}
.quiz-run-row-head .quiz-list-status{font-size:9px;padding:.18rem .38rem}
.quiz-run-row strong{font-size:13px;line-height:1.25}
.quiz-run-row span{font-size:11px;color:var(--text-secondary)}
.quiz-run-row.active span{color:var(--accent-text)}
.quiz-run-row>button:not(:first-child){width:38px;height:38px;padding:0;border-radius:10px;justify-content:center}
.quiz-run-detail{min-height:210px;border:1px solid var(--border);border-radius:10px;background:var(--surface-1);padding:1rem}
.quiz-run-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.quiz-run-detail-head h2{font-size:20px;margin:.3rem 0 0}
.quiz-run-detail-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}
.quiz-status{display:inline-flex;padding:.2rem .48rem;border-radius:999px;font-size:11px;font-weight:700;background:var(--surface-2);color:var(--text-secondary)}
.quiz-status.open{background:color-mix(in srgb,#18a36b 14%,var(--surface-1));color:#08794a}
.quiz-status.scheduled{background:var(--accent-bg);color:var(--accent-text)}
.quiz-status.inactive{background:color-mix(in srgb,#9b5b54 10%,var(--surface-1));color:#8e4138}
.quiz-list-status{display:inline-flex;align-items:center;gap:.3rem;flex:0 0 auto;padding:.27rem .52rem;border:1px solid var(--border);border-radius:999px;background:var(--surface-1);color:var(--text-secondary);font-size:11px;font-weight:800;line-height:1.2;white-space:nowrap}
.quiz-list-status.active{border-color:color-mix(in srgb,#15865e 36%,var(--border));background:color-mix(in srgb,#19a66f 14%,var(--surface-1));color:#08754b}
.quiz-list-status.upcoming{border-color:color-mix(in srgb,#b77900 36%,var(--border));background:color-mix(in srgb,#f1a91b 16%,var(--surface-1));color:#8a5a00}
.quiz-list-status.scheduled{border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent-text)}
.quiz-list-status.closed{border-color:color-mix(in srgb,#776d60 28%,var(--border));background:color-mix(in srgb,#82786b 9%,var(--surface-1));color:var(--text-secondary)}
.quiz-list-status.passive{border-color:color-mix(in srgb,#9b5b54 25%,var(--border));background:color-mix(in srgb,#9b5b54 9%,var(--surface-1));color:#87443e}
.quiz-run-opening{color:var(--text-secondary);font-size:13px;line-height:1.5;margin:.8rem 0}
.quiz-run-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:0}
.quiz-run-facts>div:first-child{grid-column:1/-1}
.quiz-run-facts dt{font-size:10px;text-transform:uppercase;color:var(--text-muted);font-weight:700}
.quiz-run-facts dd{font-size:13px;margin:.12rem 0 0;color:var(--text-primary)}
.quiz-run-detail-empty{display:flex;align-items:center;justify-content:center;gap:.5rem;color:var(--text-muted)}
.quiz-run-detail-empty .ti{font-size:22px}
.quiz-run-msg{display:block;min-height:1.3em;margin-top:.65rem;font-size:12px}
.quiz-empty-state{min-height:150px;border:1px dashed var(--border-strong);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;text-align:center;color:var(--text-secondary);padding:1rem}
.quiz-empty-state .ti{font-size:26px;color:var(--accent)}
.quiz-empty-state span{font-size:12px;max-width:360px}
.quiz-empty-state.compact{min-height:120px}
.modal-eyebrow{font-size:11px;text-transform:uppercase;color:var(--accent-text);font-weight:700}
.quiz-run-modal-panel{width:min(860px,100%)}
.quiz-display-shell{--quiz-display-zoom:1;display:block;overflow:hidden;border:1px solid var(--border);border-radius:16px;background:var(--surface-2);color:var(--text-primary);box-shadow:0 12px 32px color-mix(in srgb,var(--text-primary) 6%,transparent);transition:background .18s ease,color .18s ease,border-color .18s ease}
.quiz-display-shell[data-quiz-theme="light"]{color-scheme:light;--surface-1:#fff;--surface-2:#f3f6f9;--surface-3:#e8eef4;--text-primary:#142436;--text-secondary:#4e6072;--text-muted:#758596;--border:#d7e0e8;--border-strong:#aebbc7;--accent:#1768b2;--accent-bg:#eaf4fd;--accent-border:#8dbce7;--accent-text:#145f9f;--success-bg:#e8f7f0;--success-text:#176b4a;--warning-bg:#fff2d8;--warning-text:#825400;--danger-bg:#fbe9e7;--danger-text:#923e37;background:#f3f6f9}
.quiz-display-shell[data-quiz-theme="dark"]{color-scheme:dark;--surface-1:#17212d;--surface-2:#0f1721;--surface-3:#223040;--text-primary:#f4f7fa;--text-secondary:#c8d3de;--text-muted:#94a5b5;--border:#344454;--border-strong:#607184;--accent:#64b4f4;--accent-bg:#123b5c;--accent-border:#3d82b8;--accent-text:#9bd2fb;--success-bg:#153d31;--success-text:#86ddba;--warning-bg:#4b3818;--warning-text:#ffd384;--danger-bg:#4b2728;--danger-text:#ffaaa4;background:#0f1721}
.quiz-display-controls{position:relative;z-index:6;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 11px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface-1) 94%,transparent);color:var(--text-secondary);box-shadow:0 7px 18px color-mix(in srgb,var(--text-primary) 5%,transparent)}
.quiz-display-control-group{display:flex;align-items:center;gap:5px;padding:4px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2)}
.quiz-display-control-label{display:inline-flex;align-items:center;gap:5px;padding:0 6px;color:var(--text-muted);font-size:10px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.quiz-display-control-label i{font-size:15px;color:var(--accent-text)}
.quiz-display-controls button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:34px;height:32px;padding:0 8px;border:1px solid transparent;border-radius:8px;background:var(--surface-1);color:var(--text-secondary);font-size:11px;font-weight:800}.quiz-display-controls button:hover:not(:disabled){border-color:var(--accent-border);color:var(--accent-text)}.quiz-display-controls button:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 28%,transparent);outline-offset:1px}.quiz-display-controls button:disabled{opacity:.38}.quiz-display-controls button.active{border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent-text);box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 12%,transparent)}
.quiz-display-controls .quiz-zoom-reset{min-width:72px}.quiz-display-controls .quiz-zoom-reset b{font-variant-numeric:tabular-nums}.quiz-display-controls>small{margin-left:auto;color:var(--text-muted);font-size:10px}
.quiz-attempt-content{box-sizing:border-box;zoom:var(--quiz-display-zoom);padding:16px;background:var(--surface-1);color:var(--text-primary);transform-origin:top left;transition:background .18s ease,color .18s ease}
.quiz-display-shell[data-quiz-theme="dark"] .quiz-student-preview-banner{border-color:#35597c;background:linear-gradient(100deg,#162f49,#292a50);color:#eef7ff}.quiz-display-shell[data-quiz-theme="dark"] .quiz-student-preview-banner small{color:#b7cce0}
.quiz-display-shell[data-quiz-theme="dark"] .quiz-listen-prompt{color:var(--text-primary)}
@media(max-width:620px){.quiz-display-controls{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch}.quiz-display-control-group{min-width:0;justify-content:space-between}.quiz-display-control-label{margin-right:auto}.quiz-display-controls>small{margin-left:0;text-align:center}.quiz-background-controls button{flex:1 1 auto}.quiz-attempt-content{padding:11px}}
.quiz-student-preview-panel{width:min(1180px,100%)}
.quiz-student-preview-body{width:min(1120px,100%);margin-inline:auto;padding:22px 28px 40px}
.question-draft-preview-modal{z-index:105}
.question-draft-preview-modal .quiz-student-preview-panel{max-height:min(900px,calc(100dvh - 44px));overflow:auto;resize:both}
.question-draft-preview-modal .quiz-student-preview-body{min-height:540px}
.question-draft-preview-modal.is-fullscreen .quiz-student-preview-panel{max-height:100dvh;resize:none}
.quiz-student-preview-banner{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding:13px 16px;border:1px solid #8cbbea;border-radius:12px;background:linear-gradient(100deg,#e8f4ff,#f3efff);color:#153a66}
.quiz-student-preview-banner>span{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;border-radius:11px;background:#1768b2;color:#fff;font-size:22px;box-shadow:0 7px 18px rgba(23,104,178,.2)}
.quiz-student-preview-banner>div{display:flex;flex-direction:column;gap:2px}.quiz-student-preview-banner strong{font-size:14px}.quiz-student-preview-banner small{color:#4f6680;font-size:12px}
.quiz-preview-loading,.quiz-preview-error{display:flex;min-height:55vh;align-items:center;justify-content:center;flex-direction:column;gap:10px;text-align:center;color:var(--text-muted)}
.quiz-preview-loading i{font-size:32px;color:var(--accent);animation:spin 1s linear infinite}.quiz-preview-error i{font-size:38px;color:var(--text-danger)}.quiz-preview-error h3{margin:2px 0;color:var(--text-primary)}.quiz-preview-error p{margin:0 0 8px}
.quiz-preview-result{width:min(720px,100%);margin:8vh auto 0;padding:38px;border:1px solid var(--accent-border);border-radius:18px;background:linear-gradient(145deg,var(--surface-2),var(--accent-bg));text-align:center;box-shadow:0 18px 45px rgba(20,65,110,.12)}
.quiz-preview-result-icon{display:inline-flex;align-items:center;justify-content:center;width:70px;height:70px;margin-bottom:14px;border-radius:20px;background:var(--accent);color:#fff;font-size:34px;box-shadow:0 10px 25px rgba(24,95,165,.24)}
.quiz-preview-result h2{margin:5px 0;font-size:42px}.quiz-preview-result h2 small{font-size:18px;color:var(--text-muted)}.quiz-preview-result>p:not(.modal-eyebrow){max-width:580px;margin:8px auto 18px;color:var(--text-secondary);line-height:1.5}
.quiz-preview-safety{display:flex;align-items:center;justify-content:center;gap:9px;margin:18px 0;padding:12px;border:1px solid #a7ddc9;border-radius:10px;background:#eaf8f3;color:#17624e;font-size:13px}.quiz-preview-safety i{font-size:21px}
.quiz-preview-result .complete-row{justify-content:center}
.quiz-run-modal-form{align-items:start}
.quiz-run-modal-form select{height:38px;padding:0 9px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface-1);color:var(--text-primary);font:inherit}
.quiz-pool-availability{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}
.quiz-pool-availability span{display:inline-flex;align-items:center;gap:.3rem;border:1px solid var(--border);border-radius:999px;background:var(--surface-1);padding:.3rem .55rem;font-size:12px;color:var(--text-secondary)}
.quiz-pool-availability b{color:var(--text-primary)}
.field-muted{opacity:.45}
.field-unit{display:flex;align-items:center;gap:.45rem}
.field-unit input{min-width:0;flex:1}
.field-unit em{font-size:12px;font-style:normal;color:var(--text-muted)}
.form-error{min-height:1.3em;margin:.7rem 0 0;color:#a13229;font-size:12px}
.quiz-attempt-summary{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.9rem}
.quiz-attempt-summary span{border:1px solid var(--border);background:var(--surface-1);border-radius:999px;padding:.35rem .6rem;font-size:12px;color:var(--text-secondary)}
.quiz-attempt-summary b{color:var(--text-primary)}
.quiz-attempt-groups{display:flex;flex-direction:column;gap:.85rem}
.quiz-attempt-group{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface-1)}
.attempt-group-head{display:flex;justify-content:space-between;align-items:center;padding:.65rem .75rem;background:var(--surface-2);font-size:13px;font-weight:700}
.attempt-group-head span{display:flex;align-items:center;gap:.4rem}
.attempt-group-head b{min-width:27px;height:27px;border-radius:999px;background:var(--surface-1);display:flex;align-items:center;justify-content:center;font-size:11px}
.attempt-empty{font-size:12px;color:var(--text-muted);padding:.75rem;margin:0}
.quiz-attempt-list{display:flex;flex-direction:column}
.quiz-attempt-row{display:grid;grid-template-columns:minmax(170px,1.25fr) minmax(170px,1fr) auto;gap:.75rem;align-items:center;padding:.7rem .75rem;border-top:1px solid var(--border)}
.quiz-attempt-row:first-child{border-top:0}
.attempt-person{display:flex;flex-direction:column;min-width:0}
.attempt-person strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.attempt-person>span{font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.attempt-time{display:flex;flex-direction:column;font-size:11px;color:var(--text-secondary)}
.attempt-time small{color:var(--text-muted)}
.attempt-score,.attempt-unfinished,.attempt-live{font-size:11px;border-radius:999px;padding:.28rem .5rem;white-space:nowrap}
.attempt-score{background:color-mix(in srgb,#18a36b 14%,var(--surface-1));color:#08794a}
.attempt-unfinished{background:color-mix(in srgb,#b44b3d 12%,var(--surface-1));color:#9b352b}
.attempt-live{display:flex;align-items:center;gap:.35rem;background:var(--accent-bg);color:var(--accent-text)}
.attempt-live span{width:7px;height:7px;border-radius:50%;background:#18a36b;box-shadow:0 0 0 3px color-mix(in srgb,#18a36b 18%,transparent)}
.attempt-result-actions{display:flex;align-items:flex-end;flex-direction:column;gap:.35rem}
.attempt-retake-btn{min-height:30px;padding:.28rem .5rem;border-color:var(--accent-border);color:var(--accent-text);font-size:11px;white-space:nowrap}
.retake-granted{display:inline-flex;align-items:center;gap:.25rem;border-radius:999px;padding:.28rem .5rem;background:var(--success-bg);color:var(--success-text);font-size:11px;font-weight:700;white-space:nowrap}
.attempt-feedback{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem}
.attempt-feedback textarea{border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--text-primary);padding:.55rem;font:inherit;resize:vertical}
.attempt-feedback button{align-self:end}
.quiz-attempt-overview{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.65rem;margin:.2rem 0 1rem}
.quiz-attempt-overview button{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto;column-gap:.55rem;min-width:0;padding:.75rem;text-align:left;border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:12px;background:linear-gradient(150deg,var(--surface-1),var(--surface-2));color:var(--text-primary);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.quiz-attempt-overview button:hover{transform:translateY(-2px);border-color:var(--accent-border);box-shadow:0 8px 18px rgba(22,65,105,.09)}
.quiz-attempt-overview button>span{grid-row:1/4;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;background:var(--accent-bg);color:var(--accent-text);font-size:18px}
.quiz-attempt-overview button>b{font-size:22px;line-height:1}.quiz-attempt-overview button>strong{font-size:12px;line-height:1.2}.quiz-attempt-overview button>small{min-width:0;margin-top:2px;color:var(--text-muted);font-size:10px;line-height:1.25}
.quiz-attempt-overview button:nth-child(2){border-top-color:#16845b}.quiz-attempt-overview button:nth-child(2)>span{background:color-mix(in srgb,#16845b 12%,var(--surface-1));color:#08794a}
.quiz-attempt-overview button:nth-child(4){border-top-color:#5a55c4}.quiz-attempt-overview button:nth-child(4)>span{background:color-mix(in srgb,#5a55c4 12%,var(--surface-1));color:#4d48ac}
.quiz-attempt-overview button:nth-child(5){border-top-color:#b15b26}.quiz-attempt-overview button:nth-child(5)>span{background:color-mix(in srgb,#b15b26 12%,var(--surface-1));color:#924617}
.quiz-attempt-overview button:nth-child(6){border-top-color:#77818b}.quiz-attempt-overview button:nth-child(6)>span{background:color-mix(in srgb,#77818b 12%,var(--surface-1));color:#59636c}
.quiz-attempt-directory{border:1px solid var(--border);border-radius:12px;background:var(--surface-1);overflow:hidden}
.quiz-attempt-directory>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem .9rem;cursor:pointer;list-style:none;background:var(--surface-2)}
.quiz-attempt-directory>summary::-webkit-details-marker{display:none}.quiz-attempt-directory>summary>span{display:grid;grid-template-columns:auto 1fr;column-gap:.55rem;align-items:center}.quiz-attempt-directory>summary>span>i{grid-row:1/3;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;background:var(--accent-bg);color:var(--accent-text);font-size:18px}.quiz-attempt-directory>summary b{font-size:13px}.quiz-attempt-directory>summary small{color:var(--text-muted);font-size:10px}.quiz-attempt-directory>summary>i{transition:transform .15s ease}.quiz-attempt-directory[open]>summary>i{transform:rotate(180deg)}
.quiz-attempt-directory-body{padding:.85rem}
.quiz-attempt-controls{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(145px,.7fr) minmax(170px,.8fr) minmax(90px,.35fr) auto;gap:.55rem;align-items:end;margin-bottom:.7rem}
.quiz-attempt-controls label{display:flex;min-width:0;flex-direction:column;gap:.25rem;color:var(--text-secondary);font-size:10px;font-weight:700}.quiz-attempt-controls select,.quiz-attempt-controls input{width:100%;height:38px;min-width:0;padding:0 .6rem;border:1px solid var(--border);border-radius:9px;background:var(--surface-1);color:var(--text-primary);font:inherit;font-size:12px;font-weight:500}
.quiz-attempt-search{position:relative}.quiz-attempt-search>i{position:absolute;left:.65rem;bottom:11px;color:var(--text-muted);font-size:16px}.quiz-attempt-search input{padding-left:2rem}
.quiz-attempt-view-switch{display:flex;gap:.3rem}.quiz-attempt-view-switch button{display:flex;align-items:center;justify-content:center;gap:.3rem;height:38px;padding:0 .6rem;border-radius:9px;font-size:11px}.quiz-attempt-view-switch button.active{border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent-text);font-weight:700}
.quiz-attempt-result-count{margin:.15rem 0 .55rem;color:var(--text-secondary);font-size:11px}.quiz-attempt-result-count b{color:var(--text-primary)}
.quiz-attempt-directory-results{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface-1)}
.quiz-student-result{display:grid;grid-template-columns:minmax(175px,1.2fr) minmax(160px,.95fr) minmax(135px,.75fr) auto;gap:.65rem;align-items:center;border-top:1px solid var(--border);padding:.65rem .7rem}.quiz-student-result:first-child{border-top:0}
.quiz-attempt-record-meta{display:flex;flex-direction:column;gap:.2rem;color:var(--text-secondary);font-size:10px}.quiz-attempt-record-meta span{display:flex;align-items:center;gap:.3rem}.quiz-attempt-record-meta i{color:var(--accent-text)}
.attempt-not-taken{display:inline-flex;align-items:center;gap:.3rem;padding:.28rem .5rem;border-radius:999px;background:var(--surface-2);color:var(--text-secondary);font-size:11px;white-space:nowrap}
.attempt-score{display:inline-flex;align-items:center;gap:.3rem}
.attempt-feedback-disclosure{grid-column:1/-1;border-top:1px dashed var(--border);padding-top:.45rem}.attempt-feedback-disclosure>summary{display:inline-flex;align-items:center;gap:.3rem;cursor:pointer;list-style:none;color:var(--accent-text);font-size:11px;font-weight:700}.attempt-feedback-disclosure>summary::-webkit-details-marker{display:none}.attempt-feedback-disclosure .attempt-feedback{margin-top:.45rem}
.quiz-attempt-directory-results.view-compact .quiz-student-result{min-height:58px;padding:.5rem .65rem}.quiz-attempt-directory-results.view-compact .attempt-person strong{font-size:12px}.quiz-attempt-directory-results.view-compact .attempt-result-actions{gap:.2rem}.quiz-attempt-directory-results.view-compact .attempt-feedback-disclosure{padding-top:.3rem}
.quiz-attempt-directory-results.view-list .quiz-student-result{padding:.85rem}.quiz-attempt-directory-results.view-list .attempt-person strong{font-size:14px}.quiz-attempt-directory-results.view-list .quiz-attempt-record-meta{font-size:11px}
.quiz-attempt-directory-results.view-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:.7rem;padding:.7rem;border:0;background:var(--surface-2)}
.quiz-attempt-directory-results.view-cards .quiz-student-result{grid-template-columns:minmax(0,1fr) auto;align-items:start;border:1px solid var(--border);border-radius:11px;background:var(--surface-1);padding:.8rem}.quiz-attempt-directory-results.view-cards .quiz-attempt-record-meta,.quiz-attempt-directory-results.view-cards .attempt-time{grid-column:1/-1}.quiz-attempt-directory-results.view-cards .attempt-result-actions{grid-column:2;grid-row:1;align-items:flex-end}.quiz-attempt-directory-results.view-cards .attempt-feedback-disclosure{grid-column:1/-1}
.quiz-attempt-pager{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;margin-top:.7rem}.quiz-attempt-pager button{display:flex;align-items:center;gap:.3rem;min-height:34px;padding:.35rem .6rem;border-radius:8px;font-size:11px}.quiz-attempt-pager span{color:var(--text-secondary);font-size:11px}.quiz-attempt-pager span b{color:var(--text-primary)}
.quiz-run-form{border-top:1px solid var(--border);padding-top:.8rem;margin-top:.6rem}
.toggle-line{display:flex!important;flex-direction:row!important;align-items:center!important;gap:.5rem;color:var(--text-primary)!important;font-size:14px!important}
.toggle-line input{width:18px;height:18px}
.week-part-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}
.week-part-msg{display:block;min-height:1.25em;margin-top:.65rem;font-size:12px}
.quiz-submissions-card{margin-top:1rem}
.quiz-json-input{width:100%;min-height:430px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.55;tab-size:2;resize:vertical}
.quiz-json-panel{width:min(1120px,96vw)}
.quiz-json-modal-input{min-height:62vh;background:var(--surface-1)}
.quiz-editor-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:.7rem}
.quiz-pool-count{display:inline-flex;align-items:center;margin-left:.45rem;padding:.18rem .45rem;border:1px solid var(--border);border-radius:999px;background:var(--surface-1);color:var(--text-secondary);font-size:11px;font-weight:600;vertical-align:middle}
.quiz-editor-tabs{display:flex;gap:.4rem}
.quiz-editor-tabs button{height:34px;padding:0 10px;border-radius:9px}
.quiz-editor-tabs button.active{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent-text);font-weight:700}
.quiz-editor-actions{display:flex;gap:.45rem;flex-wrap:wrap;align-items:center;margin-bottom:.8rem}
.quiz-ai-launch{border-color:#7868D8;background:linear-gradient(135deg,#F2EEFF,#E8F5FF);color:#4937A6;font-weight:800}
.quiz-ai-launch:hover{border-color:#5E4BC5;background:linear-gradient(135deg,#EAE3FF,#DCEFFF)}
.fig-modal-inner:has(.quiz-ai-platform-form){width:min(1680px,calc(100vw - 28px));max-width:none}
.quiz-ai-platform-form .platform-form-body{padding:0}
.quiz-ai-workshop{font-size:14px}
.quiz-ai-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 20px;border-bottom:1px solid var(--border);background:linear-gradient(120deg,color-mix(in srgb,#7257D7 10%,var(--surface-1)),color-mix(in srgb,#2C91D8 8%,var(--surface-1)))}
.quiz-ai-intro>div{display:flex;align-items:center;gap:11px;min-width:0}.quiz-ai-intro>div>i{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:10px;background:linear-gradient(135deg,#7257D7,#2C91D8);color:#fff;font-size:23px;box-shadow:0 8px 18px rgba(77,67,165,.2)}
.quiz-ai-intro b,.quiz-ai-intro small{display:block}.quiz-ai-intro b{font-size:15px}.quiz-ai-intro small{margin-top:2px;color:var(--text-muted);font-size:12px}.quiz-ai-intro p{max-width:650px;margin:0;color:var(--text-secondary);font-size:12.5px;line-height:1.5}
.quiz-ai-workshop [hidden]{display:none!important}
.quiz-ai-type-gate{padding:26px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 4%,var(--surface-1)),var(--surface-1))}
.quiz-ai-type-gate-head{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:13px;max-width:940px;margin:0 auto 20px}.quiz-ai-type-gate-head>span{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:linear-gradient(135deg,#7257D7,#2C91D8);color:#fff;font-size:17px;font-weight:900}.quiz-ai-type-gate-head b,.quiz-ai-type-gate-head small{display:block}.quiz-ai-type-gate-head b{font-size:20px}.quiz-ai-type-gate-head small{margin-top:4px;color:var(--text-secondary);font-size:13px;line-height:1.45}
.quiz-ai-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;max-width:1120px;margin:0 auto}.quiz-ai-type-grid>button{display:grid;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;gap:11px;min-height:92px;padding:14px;text-align:left;border:1px solid var(--border-strong);border-radius:13px;background:var(--surface-1);color:var(--text);box-shadow:0 5px 15px color-mix(in srgb,var(--text) 5%,transparent);cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.quiz-ai-type-grid>button:hover,.quiz-ai-type-grid>button:focus-visible{border-color:var(--accent);box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 14%,transparent);transform:translateY(-2px);outline:0}.quiz-ai-type-grid>button>i:first-child{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:color-mix(in srgb,var(--accent) 11%,var(--surface-2));color:var(--accent);font-size:21px}.quiz-ai-type-grid>button>i:last-child{color:var(--accent);font-size:17px}.quiz-ai-type-grid b,.quiz-ai-type-grid small{display:block}.quiz-ai-type-grid b{font-size:14px}.quiz-ai-type-grid small{margin-top:4px;color:var(--text-muted);font-size:11px;line-height:1.35}
.quiz-manual-type-picker{display:grid;gap:20px;padding:4px 0 8px}.quiz-manual-type-intro{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:13px;padding:15px 17px;border:1px solid var(--accent-border);border-radius:13px;background:linear-gradient(110deg,var(--accent-bg),var(--surface-1))}.quiz-manual-type-intro>span{display:grid;place-items:center;width:44px;height:44px;border-radius:11px;background:linear-gradient(135deg,#7257D7,#2C91D8);color:#fff;font-weight:900}.quiz-manual-type-intro b,.quiz-manual-type-intro small{display:block}.quiz-manual-type-intro b{font-size:17px}.quiz-manual-type-intro small{margin-top:3px;color:var(--text-secondary);line-height:1.45}.quiz-manual-type-picker .quiz-ai-type-grid{max-width:none}.quiz-manual-type-picker .quiz-ai-type-grid>button.selected{border-color:var(--accent);background:var(--accent-bg);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.quiz-manual-type-picker .quiz-ai-type-grid>button:not(.selected)>i:last-child{opacity:.18}
.quiz-ai-selected-type{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 20px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--accent) 7%,var(--surface-1))}.quiz-ai-selected-type>div{display:flex;align-items:center;gap:10px}.quiz-ai-selected-type>div>i{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--accent);color:#fff}.quiz-ai-selected-type small,.quiz-ai-selected-type b{display:block}.quiz-ai-selected-type small{color:var(--text-muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.quiz-ai-selected-type b{font-size:14px}.quiz-ai-selected-type>button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:7px 11px;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface-1);color:var(--text);font-weight:750;cursor:pointer}
.quiz-ai-grid{display:grid;grid-template-columns:minmax(350px,.92fr) minmax(350px,.92fr) minmax(390px,1.08fr);min-height:640px}
.quiz-ai-step{min-width:0;padding:20px;border-right:1px solid var(--border);background:var(--surface-1)}.quiz-ai-step:last-child{border-right:0}.quiz-ai-step>label{display:flex;flex-direction:column;gap:6px;margin:0 0 13px}.quiz-ai-step>label>span{color:var(--text);font-size:12.5px;font-weight:800}.quiz-ai-step>label>span small{color:var(--text-muted);font-size:11px;font-weight:600}.quiz-ai-step select,.quiz-ai-step textarea{width:100%;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-1);color:var(--text);font:13px/1.5 var(--font);padding:10px 11px}.quiz-ai-step select{min-height:43px}.quiz-ai-step textarea{resize:vertical}.quiz-ai-step textarea:focus,.quiz-ai-step select:focus{border-color:var(--accent);outline:2px solid color-mix(in srgb,var(--accent) 18%,transparent);outline-offset:1px}
.quiz-ai-step-title{display:grid;grid-template-columns:35px minmax(0,1fr);align-items:center;gap:10px;margin-bottom:17px}.quiz-ai-step-title>span{display:grid;place-items:center;width:35px;height:35px;border-radius:9px;background:linear-gradient(135deg,#7257D7,#2C91D8);color:#fff;font-size:15px;font-weight:900}.quiz-ai-step-title b,.quiz-ai-step-title small{display:block}.quiz-ai-step-title b{font-size:16px}.quiz-ai-step-title small{margin-top:2px;color:var(--text-muted);font-size:11.5px;line-height:1.35}
.quiz-ai-step .objective-selector{margin:12px 0;padding:11px}.quiz-ai-step .objective-selector-head{display:block}.quiz-ai-step .objective-selector-head p{font-size:11px}.quiz-ai-step .objective-selector-grid{grid-template-columns:1fr;max-height:250px;overflow:auto}.quiz-ai-step .objective-selector-grid label{min-height:55px}.quiz-ai-step .objective-selector-grid b{font-size:11px}.quiz-ai-step .objective-selector-grid small{font-size:10px}.quiz-ai-step .objective-code{font-size:10px}
.quiz-ai-build,.quiz-ai-validate{width:100%;justify-content:center;min-height:44px}.quiz-ai-exchange-actions{display:flex;align-items:center;gap:8px;margin:-3px 0 14px}.quiz-ai-exchange-actions button,.quiz-ai-exchange-actions a{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:7px 10px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1);color:var(--accent-text);font-size:12px;font-weight:750;text-decoration:none}.quiz-ai-exchange-actions button:disabled{opacity:.45}.quiz-ai-json{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;font-size:12px!important}.quiz-ai-status{min-height:40px;margin:10px 0 0;padding:9px 10px;border-radius:7px;color:var(--text-muted);font-size:11.5px;line-height:1.4}.quiz-ai-status.success{border:1px solid #A9D8BE;background:#EAF7F0;color:#176B3A}.quiz-ai-status.error{border:1px solid #E9B4AD;background:#FFF0EE;color:#A33A2B}
.quiz-ai-preview{background:color-mix(in srgb,var(--surface-2) 60%,var(--surface-1))}.quiz-ai-empty{display:grid;place-items:center;min-height:330px;padding:30px;border:1px dashed var(--border-strong);border-radius:10px;background:var(--surface-1);text-align:center}.quiz-ai-empty i{color:#7257D7;font-size:35px}.quiz-ai-empty b{margin-top:10px;font-size:15px}.quiz-ai-empty span{max-width:310px;color:var(--text-muted);font-size:12px;line-height:1.5}.quiz-ai-preview-card{padding:17px;border:1px solid var(--border-strong);border-top:4px solid #7257D7;border-radius:10px;background:var(--surface-1);box-shadow:0 10px 28px rgba(38,45,66,.08)}.quiz-ai-preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.quiz-ai-preview-head span,.quiz-ai-preview-head em{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-style:normal;font-weight:850;text-transform:uppercase}.quiz-ai-preview-head span{background:#FFF0D4;color:#8A5700}.quiz-ai-preview-head em{background:var(--accent-bg);color:var(--accent-text)}.quiz-ai-preview-card h3{margin:16px 0 13px;font-size:16px;line-height:1.45}.quiz-ai-preview-card ol{display:grid;gap:7px;margin:0;padding:0;list-style:none;counter-reset:quiz-ai-option}.quiz-ai-preview-card li{counter-increment:quiz-ai-option;display:grid;grid-template-columns:30px minmax(0,1fr) 20px;align-items:center;gap:8px;min-height:46px;padding:8px 10px;border:1px solid var(--border);border-radius:7px;background:var(--surface-2);font-size:12px;line-height:1.4}.quiz-ai-preview-card li:before{content:counter(quiz-ai-option,upper-alpha);display:grid;place-items:center;width:27px;height:27px;border-radius:6px;background:var(--surface-1);font-weight:900}.quiz-ai-preview-card li.correct{border-color:#73BE97;background:#EAF7F0;color:#176B3A}.quiz-ai-preview-card li.correct:before{background:#176B3A;color:#fff}.quiz-ai-preview-card li>i{font-size:17px}.quiz-ai-explanation{margin-top:14px;padding:11px;border-left:4px solid #2C91D8;background:var(--accent-bg)}.quiz-ai-explanation b{font-size:11px}.quiz-ai-explanation p{margin:5px 0 0;color:var(--text-secondary);font-size:11.5px;line-height:1.5}.quiz-ai-objective-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.quiz-ai-objective-chips span{padding:5px 8px;border:1px solid var(--accent-border);border-radius:999px;background:var(--surface-1);color:var(--accent-text);font-size:10px;font-weight:800}.quiz-ai-safety{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:9px;margin-top:13px;padding:11px;border:1px solid var(--border);border-radius:8px;background:var(--surface-1)}.quiz-ai-safety>i{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;background:#EAF7F0;color:#176B3A;font-size:19px}.quiz-ai-safety b,.quiz-ai-safety span{display:block}.quiz-ai-safety b{margin-bottom:2px;font-size:11px}.quiz-ai-safety span{color:var(--text-muted);font-size:10.5px;line-height:1.45}
@media(max-width:1200px){.quiz-ai-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quiz-ai-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quiz-ai-preview{grid-column:1/-1;border-top:1px solid var(--border)}.quiz-ai-step:nth-child(2){border-right:0}}
@media(max-width:760px){.quiz-ai-intro{align-items:flex-start;flex-direction:column}.quiz-ai-type-gate{padding:18px}.quiz-ai-type-grid{grid-template-columns:minmax(0,1fr)}.quiz-ai-selected-type{align-items:flex-start;flex-direction:column}.quiz-ai-grid{grid-template-columns:minmax(0,1fr)}.quiz-ai-step{border-right:0;border-bottom:1px solid var(--border)}.quiz-ai-preview{grid-column:auto}.quiz-ai-exchange-actions{align-items:stretch;flex-direction:column}.quiz-ai-exchange-actions>*{width:100%}}
.quiz-cards-panel{display:flex;flex-direction:column;gap:.35rem;max-height:720px;overflow:auto;padding-right:.25rem}
.question-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem;align-items:center;border:1px solid var(--border);background:var(--surface-1);border-radius:10px;padding:.35rem}
.question-list-row.inactive{opacity:.62}
.question-list-main{border:0;background:transparent;padding:.35rem .45rem;text-align:left;display:flex;align-items:center;gap:.65rem;min-width:0}
.question-list-main:hover{background:var(--surface-2)}
.q-list-num{width:30px;height:30px;border-radius:9px;background:var(--accent-bg);color:var(--accent-text);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;flex-shrink:0}
.q-list-text{display:flex;flex-direction:column;gap:.05rem;min-width:0}
.q-list-text strong{font-size:13px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.q-list-text em{font-style:normal;font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.question-list-actions{display:flex;gap:.25rem}
.question-list-actions button{height:32px;width:34px;padding:0;justify-content:center;border-radius:9px}
.quiz-question-panel{width:min(1180px,calc(100vw - 40px));max-width:1180px;resize:both}
.quiz-question-panel .ed-rich-input{min-height:180px}
.quiz-question-panel .ed-rich-toolbar{position:relative}
.rich-image{display:block;height:auto;max-width:100%;margin:.7rem auto;border-radius:6px}
.ed-rich-field{position:relative}
.ed-rich-input .rich-svg-image{position:relative;cursor:grab;touch-action:none;user-select:none;transition:outline-color .15s,box-shadow .15s}
.ed-rich-input .rich-svg-image:active{cursor:grabbing}
.ed-rich-input .rich-svg-image.ed-rich-svg-selected{outline:2px solid var(--accent);outline-offset:3px;box-shadow:0 0 0 7px color-mix(in srgb,var(--accent) 12%,transparent)}
.ed-rich-svg-transform-overlay{position:absolute;z-index:18;box-sizing:border-box;border:1px dashed color-mix(in srgb,var(--accent) 74%,#fff);pointer-events:none}
.ed-rich-svg-transform-overlay[hidden]{display:none}
.ed-rich-svg-transform-actions{position:absolute;left:0;top:-42px;display:flex;max-width:min(920px,calc(100vw - 64px));align-items:center;flex-wrap:wrap;gap:3px;min-height:34px;padding:3px;border:1px solid var(--accent-border);border-radius:9px;background:var(--surface-1);box-shadow:0 8px 22px rgba(9,43,73,.16);pointer-events:auto;white-space:nowrap}
.ed-rich-svg-transform-actions>span{display:inline-flex;align-items:center;gap:5px;padding:0 6px;color:var(--accent-text);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.ed-rich-svg-transform-actions button{display:grid!important;place-items:center;width:27px!important;min-width:27px!important;height:27px!important;min-height:27px!important;padding:0!important;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);color:var(--text-primary);cursor:pointer}
.ed-rich-svg-transform-actions button:hover,.ed-rich-svg-transform-actions button:focus-visible{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-text);outline:0}
.ed-rich-svg-transform-actions output{min-width:32px;color:var(--text-secondary);font-size:10px;font-weight:800;text-align:center}
.ed-rich-svg-transform-actions .ed-rich-svg-control-divider{width:1px;height:22px;margin:0 3px;padding:0;background:var(--border);font-size:0}
.ed-rich-svg-color-control{position:relative;display:inline-flex;align-items:center;justify-content:center;width:29px;height:27px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);color:var(--text-primary);cursor:pointer;overflow:hidden}
.ed-rich-svg-color-control i{position:absolute;left:3px;top:3px;z-index:1;padding:2px;border-radius:4px;background:color-mix(in srgb,var(--surface-1) 82%,transparent);font-size:11px;pointer-events:none}
.ed-rich-svg-color-control input{width:100%;height:100%;padding:0;border:0;background:transparent;cursor:pointer}
.ed-rich-svg-opacity-control{display:inline-flex;align-items:center;gap:4px;height:27px;padding:0 5px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);color:var(--text-primary)}
.ed-rich-svg-opacity-control i{font-size:13px}.ed-rich-svg-opacity-control input{width:70px;accent-color:var(--accent);cursor:pointer}.ed-rich-svg-opacity-control output{min-width:31px}
.ed-rich-svg-transform-actions .ed-rich-svg-delete{border-color:color-mix(in srgb,var(--danger-text) 38%,var(--border));color:var(--danger-text)}
.ed-rich-svg-transform-actions .ed-rich-svg-delete:hover,.ed-rich-svg-transform-actions .ed-rich-svg-delete:focus-visible{border-color:var(--danger-text);background:var(--danger-bg);color:var(--danger-text)}
.ed-rich-svg-transform-handle{position:absolute!important;z-index:2;display:grid!important;place-items:center;width:31px!important;min-width:31px!important;height:31px!important;min-height:31px!important;padding:0!important;border:2px solid #fff!important;border-radius:50%!important;background:var(--accent)!important;color:#fff!important;box-shadow:0 4px 12px rgba(9,43,73,.28);pointer-events:auto}
.ed-rich-svg-transform-handle i{font-size:15px}
.ed-rich-svg-transform-rotate{top:-17px;right:-17px;cursor:grab}
.ed-rich-svg-transform-scale{right:-17px;bottom:-17px;cursor:nwse-resize}
@media(max-width:760px){.ed-rich-svg-transform-actions{max-width:min(520px,calc(100vw - 32px));flex-wrap:nowrap;overflow-x:auto}.ed-rich-svg-transform-actions>span{display:none}.ed-rich-svg-opacity-control input{width:52px}}
.ed-rich-image-group{display:inline-flex;align-items:center;gap:4px}
.ed-rich-image-input{min-width:220px}
.question-modal-nav{display:flex;align-items:center;gap:.45rem}
.question-modal-nav button{height:34px;padding:0 10px;border-radius:9px}
.question-modal-nav .icon-btn{width:38px;height:38px;padding:0}
.question-modal-title{display:grid;gap:2px}.question-modal-title>span{color:var(--text-muted);font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.question-modal-title h2{margin:0}.question-type-confirmation{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px;margin-bottom:14px;padding:11px 13px;border:1px solid var(--accent-border);border-radius:11px;background:linear-gradient(110deg,var(--accent-bg),var(--surface-1))}.question-type-confirmation>i{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:var(--accent);color:#fff;font-size:18px}.question-type-confirmation small,.question-type-confirmation strong,.question-type-confirmation span{display:block}.question-type-confirmation small{color:var(--text-muted);font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.question-type-confirmation strong{margin-top:1px;font-size:14px}.question-type-confirmation span{margin-top:2px;color:var(--text-secondary);font-size:11px}
.question-attempt-analytics{margin:0 0 14px;padding:13px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(115deg,color-mix(in srgb,var(--accent) 6%,var(--surface-1)),var(--surface-1))}.question-analytics-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.question-analytics-head>span{display:flex;align-items:center;gap:7px}.question-analytics-head>span>i{color:var(--accent);font-size:18px}.question-analytics-head b{font-size:13px}.question-analytics-head small{color:var(--text-muted);font-size:10.5px}.question-analytics-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));overflow:hidden;border:1px solid var(--border);border-radius:10px;background:var(--surface-1)}.question-analytics-metrics article{display:flex;min-width:0;flex-direction:column;gap:2px;padding:10px 11px;border-right:1px solid var(--border)}.question-analytics-metrics article:last-child{border-right:0}.question-analytics-metrics strong{color:var(--accent-text);font-size:18px;line-height:1.1}.question-analytics-metrics span{color:var(--text-muted);font-size:9.5px;font-weight:750;line-height:1.25}.question-analytics-metrics article.good strong{color:var(--success-text)}.question-analytics-metrics article.bad strong{color:var(--danger-text)}.question-analytics-loading,.question-analytics-empty{display:flex;align-items:center;gap:10px;min-height:48px;color:var(--text-muted);font-size:11px}.question-analytics-loading i{color:var(--accent);font-size:18px;animation:spin 1s linear infinite}.question-analytics-empty>i{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:9px;background:var(--surface-2);color:var(--accent);font-size:18px}.question-analytics-empty span,.question-analytics-empty b,.question-analytics-empty small{display:block}.question-analytics-empty b{color:var(--text-primary);font-size:12px}.question-analytics-empty small{margin-top:2px;color:var(--text-muted);font-size:10.5px;line-height:1.4}.question-analytics-empty.error>i{background:var(--danger-bg);color:var(--danger-text)}
.question-stem{display:flex;flex-direction:column;gap:.25rem;color:var(--text-secondary);font-size:12px;font-weight:700}
.question-stem textarea,.question-options input,.question-meta input,.question-meta select{border:1px solid var(--border-strong);border-radius:9px;background:var(--surface-2);color:var(--text-primary);font:inherit;padding:8px 9px}
.question-stem textarea{resize:vertical;line-height:1.45}
.question-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem}
.modal-question-options{grid-template-columns:repeat(5,minmax(0,1fr))}
.quiz-question-panel .modal-question-options{grid-template-columns:1fr;gap:.5rem}
.quiz-question-panel .question-option-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:.55rem}.quiz-question-panel .question-option-row>span{height:38px;border-radius:9px;background:var(--accent-bg);color:var(--accent-text);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:850}
.quiz-question-panel .question-correct-toggle{display:block;cursor:pointer}.quiz-question-panel .question-correct-toggle input{position:absolute;opacity:0;pointer-events:none}.quiz-question-panel .question-correct-toggle span{display:flex;align-items:center;justify-content:center;gap:5px;min-width:92px;height:38px;padding:0 10px;border:1px solid var(--danger-text);border-radius:9px;background:var(--danger-bg);color:var(--danger-text);font-size:11px;font-weight:800;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.quiz-question-panel .question-correct-toggle span b{font:inherit}.quiz-question-panel .question-correct-toggle .state-on{display:none}.quiz-question-panel .question-correct-toggle input:checked+span{border-color:var(--success-text);background:var(--success-bg);color:var(--success-text)}.quiz-question-panel .question-correct-toggle input:checked+span .state-off{display:none}.quiz-question-panel .question-correct-toggle input:checked+span .state-on{display:inline}.quiz-question-panel .question-correct-toggle input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}
.quiz-question-panel .modal-question-options input{width:100%;min-width:0}
.question-stem small,.question-meta small{font-weight:500;color:var(--text-muted);margin-left:.35rem}
.question-options label{display:flex;flex-direction:column;gap:.2rem;color:var(--text-secondary);font-size:12px;font-weight:700}
.question-meta{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:.55rem}
.question-meta label{display:flex;flex-direction:column;gap:.25rem;color:var(--text-secondary);font-size:12px;font-weight:700}
.q-difficulty{display:inline-flex;align-items:center;border-radius:999px;padding:1px 7px;margin-right:4px;font-style:normal;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.q-difficulty.easy{background:var(--success-bg);color:var(--success-text)}
.q-difficulty.medium{background:var(--warning-bg);color:var(--warning-text)}
.q-difficulty.hard{background:var(--danger-bg);color:var(--danger-text)}
.quiz-weight-panel{grid-column:1/-1;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);padding:.65rem .75rem}
.quiz-weight-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.45rem;color:var(--text-secondary);font-size:12px;font-weight:700}
.quiz-weight-head strong{color:var(--success-text)}
.quiz-weight-head strong.invalid{color:var(--danger-text)}
.quiz-weight-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}
.quiz-weight-fields label.disabled{opacity:.42}
.online-quiz-box{margin-bottom:1rem}
.student-quiz-list-surface{position:relative;overflow:hidden;margin:-1rem;padding:1rem;border-radius:inherit;background:linear-gradient(145deg,color-mix(in srgb,var(--accent-bg) 48%,var(--surface-1)),color-mix(in srgb,#dff4ed 26%,var(--surface-1)) 55%,var(--surface-1));isolation:isolate}
.student-quiz-list-surface:before{content:"";position:absolute;z-index:-1;width:280px;height:280px;right:-115px;top:-155px;border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);border-radius:50%;box-shadow:0 0 0 46px color-mix(in srgb,var(--accent) 4%,transparent),0 0 0 94px color-mix(in srgb,var(--accent) 3%,transparent)}
.student-quiz-list-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.student-quiz-list-heading>i{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:13px;background:var(--accent);color:#fff;font-size:22px;box-shadow:0 9px 24px color-mix(in srgb,var(--accent) 24%,transparent)}
.student-quiz-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem;margin:.75rem 0}
.student-quiz-card{position:relative;display:flex;flex-direction:column;align-items:stretch;min-height:210px;padding:.85rem;text-align:left;border:1px solid var(--border);border-left-width:5px;border-radius:14px;background:color-mix(in srgb,var(--surface-2) 96%,transparent);color:var(--text-primary);box-shadow:0 8px 22px color-mix(in srgb,var(--text-primary) 5%,transparent);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease}
.student-quiz-card:hover{transform:translateY(-2px);border-color:var(--accent-border);box-shadow:0 13px 30px color-mix(in srgb,var(--text-primary) 9%,transparent)}
.student-quiz-card.selected{border-color:var(--accent);background:var(--surface-1);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 15%,transparent),0 14px 32px color-mix(in srgb,var(--accent) 12%,transparent)}
.student-quiz-card.status-active{border-left-color:#159a68}.student-quiz-card.status-upcoming{border-left-color:#d29113}.student-quiz-card.status-scheduled{border-left-color:var(--accent)}.student-quiz-card.status-closed,.student-quiz-card.status-passive{border-left-color:var(--border-strong)}
.student-quiz-card-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.7rem}.student-quiz-card-top>i{font-size:22px;color:var(--accent-text)}
.student-quiz-card>strong{font-size:16px;line-height:1.3}.student-quiz-card-meta{margin-top:.28rem;color:var(--text-secondary);font-size:12px}.student-quiz-card-window{display:flex;align-items:flex-start;gap:.35rem;margin-top:.55rem;color:var(--text-muted);font-size:11px;line-height:1.4}.student-quiz-card-window i{margin-top:1px;color:var(--accent-text)}
.student-quiz-card-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:.55rem;margin-top:auto;padding-top:.8rem;border-top:1px solid var(--border)}
.student-quiz-card-result{display:flex;flex-direction:column;gap:1px}.student-quiz-card-result b{color:var(--accent-text);font-size:14px}.student-quiz-card-result small{color:var(--text-muted);font-size:9px}.student-quiz-card-result.excellent b,.student-quiz-card-result.strong b{color:var(--success-text)}.student-quiz-card-result.developing b,.student-quiz-card-result.reflection b{color:var(--warning-text)}.student-quiz-card-result.review b{color:var(--danger-text)}
.student-quiz-card-open{display:inline-flex;align-items:center;gap:.2rem;color:var(--accent-text);font-size:11px;font-weight:800}.student-quiz-card.selected .student-quiz-card-open i{transform:rotate(180deg)}
.student-quiz-selected-detail{margin-top:.85rem;padding:.75rem;border:1px solid var(--accent-border);border-radius:16px;background:color-mix(in srgb,var(--surface-1) 96%,transparent);box-shadow:0 16px 36px color-mix(in srgb,var(--text-primary) 6%,transparent)}
.student-quiz-selected-detail .online-quiz-run{margin:.45rem 0 0;box-shadow:none}.student-quiz-detail-label{display:flex;align-items:center;gap:.35rem;color:var(--accent-text);font-size:10px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.student-quiz-expanded-list{margin-top:.65rem}
.online-quiz-run{position:relative;overflow:hidden;border:1px solid var(--border);border-left-width:5px;border-radius:14px;background:var(--surface-2);padding:1rem;margin:.75rem 0;box-shadow:0 7px 20px color-mix(in srgb,var(--text-primary) 5%,transparent)}
.online-quiz-run.status-active{border-left-color:#159a68;background:linear-gradient(100deg,color-mix(in srgb,#1aa36f 6%,var(--surface-2)),var(--surface-2) 36%)}
.online-quiz-run.status-upcoming{border-left-color:#d29113;background:linear-gradient(100deg,color-mix(in srgb,#e5a21b 7%,var(--surface-2)),var(--surface-2) 36%)}
.online-quiz-run.status-scheduled{border-left-color:var(--accent)}
.online-quiz-run.status-closed,.online-quiz-run.status-passive{border-left-color:var(--border-strong);box-shadow:none}
.online-quiz-opening{margin:.55rem 0;color:var(--text-primary);line-height:1.55}
.online-quiz-outcome{display:grid;grid-template-columns:minmax(120px,.72fr) minmax(180px,1.28fr);gap:.75rem;position:relative;overflow:hidden;margin:.75rem 0;padding:.65rem .75rem .8rem;border:1px solid var(--border);border-radius:11px;background:var(--surface-1)}
.online-quiz-outcome span{display:flex;flex-direction:column;gap:.08rem}.online-quiz-outcome small{color:var(--text-muted);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.online-quiz-outcome strong{font-size:14px;color:var(--text-primary)}
.online-quiz-outcome>i{position:absolute;inset:auto 0 0;height:5px;background:linear-gradient(90deg,var(--accent) var(--quiz-score),var(--surface-2) var(--quiz-score));content:""}
.online-quiz-outcome.excellent,.online-quiz-outcome.strong{border-color:color-mix(in srgb,#16966a 28%,var(--border))}.online-quiz-outcome.excellent>i,.online-quiz-outcome.strong>i{background:linear-gradient(90deg,#159a68 var(--quiz-score),var(--surface-2) var(--quiz-score))}
.online-quiz-outcome.developing{border-color:color-mix(in srgb,#d29113 30%,var(--border))}.online-quiz-outcome.developing>i{background:linear-gradient(90deg,#d29113 var(--quiz-score),var(--surface-2) var(--quiz-score))}
.online-quiz-outcome.review{border-color:color-mix(in srgb,#bd4b43 25%,var(--border))}.online-quiz-outcome.review>i{background:linear-gradient(90deg,#bd4b43 var(--quiz-score),var(--surface-2) var(--quiz-score))}
.quiz-attempt-counter{position:sticky;top:var(--topbar-height);z-index:4;display:grid;grid-template-columns:minmax(180px,1fr) auto;align-items:center;gap:12px;margin:12px 0 16px;padding:11px 14px 14px;border:1px solid var(--accent-border);border-radius:14px;background:color-mix(in srgb,var(--surface-1) 94%,var(--accent-bg));box-shadow:0 10px 28px color-mix(in srgb,var(--accent) 12%,transparent);backdrop-filter:blur(12px)}
.quiz-attempt-position{display:flex;align-items:center;gap:10px}.quiz-attempt-position>i{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--accent);color:#fff;font-size:21px}.quiz-attempt-position span,.quiz-attempt-metrics span{display:flex;flex-direction:column}.quiz-attempt-position small,.quiz-attempt-metrics small{color:var(--text-muted);font-size:10px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.quiz-attempt-position strong{margin-top:1px;color:var(--text-primary);font-size:18px}
.quiz-attempt-metrics{display:flex;align-items:center;gap:0}.quiz-attempt-metrics span{min-width:92px;padding:1px 14px;border-left:1px solid var(--border)}.quiz-attempt-metrics strong{margin-top:1px;color:var(--accent-text);font-size:18px}
.quiz-attempt-metrics .quiz-attempt-time{min-width:116px}.quiz-attempt-time strong{font-variant-numeric:tabular-nums;color:var(--accent);letter-spacing:.02em}.quiz-attempt-time.quiz-timer-warn strong,.quiz-attempt-time.quiz-timer-warn small{color:var(--warning-text)}
.quiz-attempt-progress{grid-column:1/-1;height:7px;overflow:hidden;border-radius:999px;background:var(--surface-2)}.quiz-attempt-progress>i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#24a57a);transition:width .22s ease}
.quiz-student-preview-modal .quiz-attempt-counter{top:10px}
.online-question{margin:.75rem 0}
.online-option{position:relative;display:flex;align-items:center;gap:12px;width:100%;padding:11px 13px;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface-2);cursor:pointer;transition:border-color .16s,background .16s,box-shadow .16s}
.online-option:hover{background:var(--surface-1);border-color:var(--accent-border)}
.online-option-input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}
.online-option .online-option-key{display:grid;place-items:center;flex:0 0 38px;height:38px;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface-1);color:var(--text-secondary);font-weight:800}
.online-option-text{min-width:0;line-height:1.45}
.online-option.selected,.online-option:has(.online-option-input:checked){border-color:var(--accent);background:var(--accent-bg);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}
.online-option.selected .online-option-key,.online-option:has(.online-option-input:checked) .online-option-key{border-color:var(--accent);background:var(--accent);color:#fff}
.online-option:focus-within{outline:3px solid color-mix(in srgb,var(--accent) 28%,transparent);outline-offset:2px}
.online-quiz-pager{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.8rem 0;padding:.7rem .8rem;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}
.online-question-progress{display:flex;flex-direction:column;gap:.15rem;color:var(--text-secondary)}
.online-question-progress strong{color:var(--text-primary)}
.online-question-progress span{font-size:12px;color:var(--accent-text)}
.online-pager-actions{display:flex;align-items:center;gap:.5rem}
.online-submit-row{margin-top:.8rem}
.online-attempt-row{border-top:1px solid var(--border);padding:.65rem 0;color:var(--text-secondary);font-size:13px}
.online-attempt-row:first-child{border-top:0}
.online-attempt-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.7rem}
.online-attempt-row>span:first-child{display:flex;flex-direction:column;gap:.08rem}.online-attempt-row>span:first-child small{color:var(--text-muted);font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.online-attempt-row .attempt-performance{align-self:start;padding:.25rem .48rem;border-radius:999px;background:var(--surface-1);font-size:11px}.online-attempt-row .attempt-performance.excellent,.online-attempt-row .attempt-performance.strong{background:var(--success-bg);color:var(--success-text)}.online-attempt-row .attempt-performance.developing{background:var(--warning-bg);color:var(--warning-text)}.online-attempt-row .attempt-performance.review{background:var(--danger-bg);color:var(--danger-text)}
.online-attempt-row p{grid-column:1/-1;margin:.2rem 0 0;color:var(--accent-text)}
.online-history-title{font-size:14px;margin:1rem 0 .2rem}
.reflection-feedback{margin-top:.8rem;color:var(--accent-text)}
.feedback-item{display:grid;gap:.55rem;border-bottom:1px solid var(--border);padding:.75rem 0}
.feedback-item:last-child{border-bottom:0}
.feedback-item span{display:block;color:var(--text-secondary);font-size:12px;margin-top:.15rem}
.feedback-item textarea{width:100%;padding:9px 10px;resize:vertical}
.feedback-item button{justify-self:start}
.reflection-answer-list{display:grid;gap:7px;margin:8px 0 11px}
.reflection-review-answer{display:grid;grid-template-columns:minmax(110px,145px) minmax(0,1fr);gap:10px;margin:0;padding:8px 10px;border-left:3px solid var(--accent);background:var(--surface-1);border-radius:0 var(--radius) var(--radius) 0;font-size:13px;line-height:1.5}
.reflection-review-answer b{color:var(--text-secondary)}.reflection-review-answer span{min-width:0;color:var(--text-primary)}
@media(max-width:560px){.reflection-review-answer{grid-template-columns:1fr;gap:2px}}
.feedback-note{margin:.1rem 0;color:var(--text-secondary);line-height:1.55}
.unavailable-week{max-width:720px;margin:2rem auto}
@media (max-width:1000px){
  .admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-two,.admin-form,.quiz-admin-grid,.quiz-runs-layout{grid-template-columns:1fr}
  .admin-user{grid-template-columns:1fr}
  .admin-user-edit,.question-options,.question-meta{grid-template-columns:1fr}
  .quiz-editor-head{align-items:stretch;flex-direction:column}
  .quiz-manager-head{align-items:stretch;flex-direction:column}
  .quiz-manager-head select{min-width:0;width:100%}
  .quiz-settings-grid,.week-part-grid,.quiz-weight-fields{grid-template-columns:1fr}
}
@media (max-width:1180px){
  .quiz-attempt-overview{grid-template-columns:repeat(3,minmax(0,1fr))}
  .quiz-attempt-controls{grid-template-columns:minmax(220px,1.3fr) minmax(150px,.7fr) minmax(170px,.8fr)}
  .quiz-attempt-view-switch{grid-column:2/4;justify-content:flex-end}
  .quiz-student-result{grid-template-columns:minmax(170px,1fr) minmax(145px,.8fr) auto}.quiz-student-result .attempt-time{grid-column:2}.quiz-student-result .attempt-result-actions{grid-column:3;grid-row:1/3}
}
@media (max-width:700px){
  .quiz-list-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.quiz-list-toolbar-label{grid-column:1/-1}.quiz-list-filter{justify-content:flex-start}.quiz-list-filter b{margin-left:auto}
  .student-quiz-list-toolbar .quiz-list-toolbar-spacer{display:none}.student-quiz-list-toolbar .quiz-list-view-button{justify-content:center}.student-quiz-card-grid{grid-template-columns:1fr}.student-quiz-list-heading>i{display:none}.student-quiz-selected-detail{padding:.5rem}
  .online-quiz-outcome{grid-template-columns:1fr}.quiz-head-top{align-items:flex-start;flex-direction:column}.online-attempt-row{grid-template-columns:1fr}.online-attempt-row .attempt-performance{justify-self:start}.online-attempt-row p{grid-column:1}
  .quiz-attempt-counter{top:66px;grid-template-columns:1fr;padding:10px 12px 12px}.quiz-attempt-metrics{justify-content:stretch}.quiz-attempt-metrics span{flex:1;min-width:0}.quiz-attempt-metrics span:first-child{padding-left:0;border-left:0}.quiz-student-preview-modal .quiz-attempt-counter{top:8px}
  .online-quiz-pager{align-items:stretch;flex-direction:column}
  .online-pager-actions{display:grid;grid-template-columns:1fr 1fr}
  .online-pager-actions button{justify-content:center;width:100%}
  .quiz-manager-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .quiz-manager-tabs button{justify-content:center;padding:0 8px}
  .question-analytics-head{align-items:flex-start;flex-direction:column}
  .question-analytics-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
  .question-analytics-metrics article:nth-child(3){border-right:0}
  .question-analytics-metrics article:nth-child(-n+3){border-bottom:1px solid var(--border)}
  .quiz-workspace-head{align-items:stretch;flex-direction:column}
  .quiz-workspace-head>button{align-self:flex-start}
  .quiz-run-detail-head{flex-direction:column}
  .quiz-run-facts{grid-template-columns:1fr}
  .quiz-run-facts>div:first-child{grid-column:auto}
  .quiz-attempt-row{grid-template-columns:minmax(0,1fr) auto}
  .attempt-time{grid-column:1/-1}
  .attempt-result-actions{align-items:flex-end}
  .attempt-feedback{grid-template-columns:1fr}
  .attempt-feedback button{justify-self:start}
  .quiz-attempt-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.quiz-attempt-overview button{padding:.6rem}.quiz-attempt-overview button>small{display:none}
  .quiz-attempt-directory>summary{padding:.7rem}.quiz-attempt-directory>summary small{white-space:nowrap;max-width:210px;overflow:hidden;text-overflow:ellipsis}
  .quiz-attempt-controls{grid-template-columns:1fr}.quiz-attempt-view-switch{grid-column:auto;justify-content:stretch}.quiz-attempt-view-switch button{flex:1}
  .quiz-student-result{grid-template-columns:minmax(0,1fr) auto}.quiz-student-result .quiz-attempt-record-meta,.quiz-student-result .attempt-time{grid-column:1/-1}.quiz-student-result .attempt-result-actions{grid-column:2;grid-row:1;align-items:flex-end}
  .quiz-attempt-directory-results.view-cards{grid-template-columns:1fr}
  .quiz-attempt-pager{justify-content:space-between}.quiz-attempt-pager button{font-size:0}.quiz-attempt-pager button i{font-size:16px}
  .quiz-run-modal{padding:8px}
  .quiz-run-modal-panel{max-height:96vh}
}
.nav-toggle{display:none}
.zoom-ctl{display:flex;align-items:center;gap:3px}
.zoom-label{font-size:12px;color:var(--text-secondary);min-width:40px;text-align:center}
.appearance{position:relative}
.appr-panel{position:absolute;right:0;top:46px;width:250px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:12px;padding:14px;box-shadow:0 10px 34px rgba(0,0,0,.16);z-index:30}
.appr-panel[hidden]{display:none}
.appr-group{margin-bottom:14px}
.appr-group:last-child{margin-bottom:0}
.appr-label{font-size:11px;color:var(--text-muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em}
.appr-themes{display:flex;gap:10px;flex-wrap:wrap}
.theme-swatch{width:34px;height:34px;border-radius:50%;border:2px solid var(--border-strong);cursor:pointer;padding:0}
.theme-swatch.active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}
.theme-swatch[data-theme="light"]{background:#faf9f5}.theme-swatch[data-theme="dark"]{background:#1d1c1a}.theme-swatch[data-theme="sepia"]{background:#f4ecd8}.theme-swatch[data-theme="contrast"]{border-color:#000;background:#fff}.theme-swatch[data-theme="bau-blue"]{background:linear-gradient(135deg,#F5FBFF 0%,#DDF0FF 55%,#0B6EBD 56%,#0B6EBD 100%)}.theme-swatch[data-theme="fresh"]{background:linear-gradient(135deg,#FFFDF7 0%,#DFF7F5 45%,#FF6B5A 46%,#F7B731 100%)}.theme-swatch[data-theme="blossom"]{background:linear-gradient(135deg,#FFF9FB 0%,#FBDFEA 50%,#C74B77 51%,#E795B6 100%)}.theme-swatch[data-theme="nature"]{background:linear-gradient(135deg,#F7FBF3 0%,#E2F2D9 50%,#3E7C32 51%,#8FC17F 100%)}.theme-swatch[data-theme="storm"]{background:linear-gradient(135deg,#171B26 0%,#272E40 52%,#7259E9 53%,#F8CE7C 100%)}.theme-swatch[data-theme="vortex"]{background:radial-gradient(circle at 35% 35%,#E4F5F6 0%,#6EC6CC 45%,#0F8B94 75%,#075E66 100%)}
.appr-row{display:flex;gap:6px}
.appr-opt{flex:1;padding:7px 4px;font-size:13px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-2);cursor:pointer;color:var(--text-primary)}
.appr-opt.active{background:var(--accent-bg);color:var(--accent-text);border-color:var(--accent-border);font-weight:500}
.appearance #presentBtn{display:inline-flex;align-items:center;justify-content:center;width:100%;gap:7px}
.theory-fig{margin:1.1rem 0 .4rem;background:var(--surface-1);border:1px solid var(--border);border-radius:12px;padding:1rem 1.1rem;cursor:zoom-in;position:relative}
.theory-fig svg{width:100%;height:auto;display:block}
.theory-fig figcaption{font-size:13px;color:var(--text-secondary);margin-top:.7rem;line-height:1.6}
.fig-zoom-hint{position:absolute;top:9px;right:11px;font-size:11px;color:var(--text-muted);display:inline-flex;align-items:center;gap:4px}
.fig-modal{position:fixed;inset:0;background:rgba(0,0,0,.62);display:flex;align-items:center;justify-content:center;z-index:var(--layer-modal,3000);padding:2rem}
.fig-modal[hidden]{display:none}
.fig-modal-inner{background:var(--surface-2);border-radius:14px;padding:1.6rem;max-width:1100px;width:100%;max-height:90vh;overflow:auto;position:relative}
.fig-modal-inner svg{width:100%;height:auto}
.fig-modal-close{position:absolute;top:12px;right:12px;z-index:1}

main{max-width:1120px;width:100%;margin:0;padding:1.6rem 1.5rem 3rem}
.foot{max-width:1120px;margin:0;width:100%;padding:1rem 1.5rem 2rem;color:var(--text-muted);font-size:12px;border-top:1px solid var(--border)}

.chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--text-secondary)}
.chip{padding:3px 10px;border-radius:var(--radius);background:var(--surface-1);border:1px solid var(--border)}
.chip-accent{background:var(--accent-bg);color:var(--accent-text);border-color:var(--accent-border);font-weight:500}
.lead{color:var(--text-secondary);line-height:1.7;margin:.2rem 0 0}
.lead.sm{margin:.2rem 0 1rem;font-size:15px}

.listen-card{margin:.35rem 0 1.1rem;border:1px solid var(--accent-border);border-radius:8px;background:var(--surface-1);overflow:hidden}
[data-study-mode] .listen-card{border-color:var(--accent-border);box-shadow:inset 4px 0 0 var(--accent)}
.listen-toggle{display:flex;width:100%;min-height:48px;align-items:center;justify-content:space-between;gap:12px;padding:7px 10px;border:0;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-bg) 72%,var(--surface-2)),var(--surface-2));color:var(--text-primary);font:inherit;cursor:pointer;text-align:left}
.listen-toggle:hover{background:color-mix(in srgb,var(--accent-bg) 88%,var(--surface-2))}
.listen-toggle-main,.listen-toggle-summary{display:flex;align-items:center;gap:8px;min-width:0}
.listen-icon{width:32px;height:32px;border-radius:7px;background:var(--surface-2);border:1px solid var(--border);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.listen-title{font-weight:700;color:var(--text-primary);line-height:1.2}
.listen-duration{font-size:12px;color:var(--text-muted);white-space:nowrap}
.listen-toggle-state{min-width:24px;color:var(--text-muted);font-size:11px;font-weight:800;text-transform:uppercase}
.listen-switch{position:relative;width:32px;height:18px;flex:0 0 32px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface-2);transition:background .16s,border-color .16s}
.listen-switch span{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--text-muted);transition:transform .16s,background .16s}
.listen-toggle[aria-expanded="true"] .listen-switch{border-color:var(--accent);background:var(--accent)}
.listen-toggle[aria-expanded="true"] .listen-switch span{background:#fff;transform:translateX(14px)}
.listen-toggle[aria-expanded="true"] .listen-toggle-state{color:var(--accent-text)}
.listen-toggle-chevron{color:var(--text-muted);transition:transform .16s}
.listen-toggle[aria-expanded="true"] .listen-toggle-chevron{transform:rotate(180deg)}
.listen-player{padding:8px 10px 10px;border-top:1px solid var(--border);background:var(--surface-2)}
.listen-player[hidden]{display:none}
.listen-controls{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.listen-controls[hidden],.listen-audio[hidden]{display:none}
.listen-audio{display:flex;align-items:center;gap:8px;justify-content:flex-start;flex-wrap:wrap;width:100%}
.listen-audio audio{display:none}
.listen-ai-note{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-muted);white-space:nowrap}
.listen-meter{flex:1 1 220px;min-width:180px}
.listen-seek{width:100%;accent-color:var(--accent);cursor:pointer}
.listen-progress{height:8px;border-radius:999px;background:var(--surface-1);border:1px solid var(--border);overflow:hidden}
.listen-progress span{display:block;height:100%;width:0;background:var(--accent);transition:width .25s linear}
.listen-time{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:2px;font-size:12px;color:var(--text-secondary);font-variant-numeric:tabular-nums}
.listen-meter-tts{flex-basis:190px}
.listen-btn{height:32px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-2);color:var(--text-primary);display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 9px;font:inherit;font-size:13px;cursor:pointer}
.listen-btn:hover{background:var(--surface-1);border-color:var(--accent-border)}
.listen-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}
.listen-btn[disabled]{opacity:.52;cursor:not-allowed;background:var(--surface-1);color:var(--text-muted)}
.listen-rate{height:32px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-2);color:var(--text-primary);padding:0 7px;font:inherit;font-size:12px}
.listen-voice{max-width:190px}

.card{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:1rem 1.25rem;margin:1rem 0}
.card-title{font-weight:500;margin-bottom:.5rem;display:flex;align-items:center;gap:8px}
.card ul{margin:0;padding-left:1.2rem;line-height:1.8;color:var(--text-secondary)}

.week-nav{margin-top:1.5rem}
.week-nav-label{display:flex;align-items:center;gap:6px;margin:0 0 6px 2px;color:var(--text-muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.week-nav-label .ti{font-size:15px;color:var(--accent)}
.tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:4px;margin-top:0;padding:6px;border:1px solid var(--border-strong);border-radius:8px;background-color:var(--surface-2);background-image:linear-gradient(90deg,rgba(55,138,221,.035) 1px,transparent 1px),linear-gradient(rgba(55,138,221,.035) 1px,transparent 1px);background-size:24px 24px;overflow:visible;box-shadow:inset 0 1px 0 rgba(255,255,255,.42)}
.tabs::-webkit-scrollbar{display:none}
.tab{display:inline-flex;align-items:center;justify-content:flex-start;gap:7px;width:100%;min-width:0;min-height:44px;padding:9px 10px;font-size:14px;font-weight:600;line-height:1.25;border:0;border-radius:5px;background:rgba(255,255,255,.18);color:var(--text-secondary);white-space:normal;overflow-wrap:anywhere;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}
.tab i{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;flex:0 0 27px;border-radius:5px;font-size:17px;color:var(--tab-color,var(--accent));background:var(--tab-wash,var(--accent-bg))}
.tab:hover{background:var(--surface-1);color:var(--text-primary);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.tab.active{background:var(--accent);color:#fff;font-weight:700;box-shadow:0 2px 7px rgba(0,0,0,.18)}
.tab.active i{color:#fff;background:rgba(255,255,255,.16)}
.tab.active:hover{background:var(--accent);color:#fff}
.tab-panel{display:none}
.tab-panel.active{display:block;padding-top:1.6rem;animation:panelIn .28s cubic-bezier(.2,.7,.3,1)}
@keyframes panelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.seclabel{display:flex;align-items:center;gap:10px;margin:2.2rem 0 .8rem}
.secnum{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--accent-bg);color:var(--accent-text);font-size:13px;font-weight:500;flex-shrink:0}

.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}
.fcell{background:var(--surface-1);border-radius:var(--radius);padding:.7rem .85rem}
.fcell-t{font-weight:500}
.fcell-d{font-size:13px;color:var(--text-secondary);margin-top:3px}

.topic-flow{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:1.15rem 0 1.45rem}
.topic-step{position:relative;overflow:hidden;background:var(--surface-2);border:1px solid color-mix(in srgb,var(--step-color) 48%,var(--border));border-radius:12px;padding:.85rem .9rem .95rem;min-height:144px;box-shadow:inset 0 4px 0 var(--step-color)}
.topic-step::after{content:"";position:absolute;right:-28px;top:-32px;width:92px;height:92px;border-radius:50%;background:color-mix(in srgb,var(--step-color) 13%,transparent);pointer-events:none}
.topic-step-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.65rem;position:relative;z-index:1}
.topic-step-num{width:25px;height:25px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--step-color);color:#fff;font-size:12px;font-weight:700}
.topic-step i{font-size:24px;color:var(--step-color)}
.topic-step-title{font-weight:650;line-height:1.25;margin-bottom:.3rem;position:relative;z-index:1}
.topic-step-desc{font-size:13px;color:var(--text-secondary);line-height:1.45;position:relative;z-index:1}

.callout{border-radius:12px;padding:.8rem 1rem;margin:.7rem 0;font-size:14px;line-height:1.6;display:flex;gap:11px}
.callout i{font-size:19px;flex-shrink:0;margin-top:1px}
.callout b{font-weight:500}
.callout-accent{background:var(--accent-bg);color:var(--accent-text)}
.callout-warning{background:var(--warning-bg);color:var(--warning-text)}
.callout-info{background:var(--surface-1);color:var(--text-secondary)}
.callout-info b{color:var(--text-primary)}
.easa-ref-line{margin:.6rem 0 1.2rem;font-size:13px}
.easa-ref-card{margin:1rem 0 1.2rem}
.easa-ref-card ul{margin:.55rem 0 0}

.dd{margin-top:.9rem}
.dd-toggle{width:100%;justify-content:space-between;display:flex;align-items:center;gap:8px}
.dd-body{display:none;font-size:14px;color:var(--text-secondary);line-height:1.7;margin-top:.6rem;padding:0 .2rem}
.dd.open .dd-body{display:block}
.theory-sec{margin-top:1.55rem;padding-left:1rem;border-left:3px solid color-mix(in srgb,var(--accent) 38%,var(--border));scroll-margin-top:80px}
.theory-sec.theory-standalone-paragraph{margin-top:1rem;padding-left:0;border-left:0}
.theory-standalone-paragraph>.rich-par:last-child{margin-bottom:0}
.theory-sec h3{font-size:17px;font-weight:650;margin:0 0 .45rem;color:var(--text-primary);line-height:1.35}
.theory-sec p{margin:0 0 .7rem;color:var(--text-secondary);line-height:1.75}
.gl-row{display:flex;gap:14px;padding:8px 0;border-top:1px solid var(--border);font-size:14px}
.gl-row:first-child{border-top:none;padding-top:0}
.gl-term{font-weight:500;min-width:160px;flex-shrink:0}
.gl-def{color:var(--text-secondary)}

button{font-family:inherit;font-size:14px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius);padding:9px 14px;cursor:pointer;color:var(--text-primary);display:inline-flex;align-items:center;gap:7px}
button:hover{background:var(--surface-1)}
button:active{transform:scale(.985)}
.btn-accent{background:var(--accent);border-color:var(--accent);color:#fff;transition:filter .15s,transform .15s,box-shadow .15s}
.btn-accent:hover{background:var(--accent);filter:brightness(1.06);transform:translateY(-2px);box-shadow:0 6px 14px rgba(0,0,0,.15)}

input[type=range]{-webkit-appearance:none;appearance:none;height:5px;border-radius:99px;background:var(--border-strong);outline:none}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--accent);cursor:pointer;border:2px solid var(--surface-2)}
input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--accent);cursor:pointer;border:2px solid var(--surface-2)}

.lab-host{margin-top:.4rem}
.lab-wrap{background:var(--surface-1);border-radius:12px;padding:.6rem .6rem 1rem}
.dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0}
.ctl{display:flex;align-items:center;gap:10px;margin:9px 0}
.ctl .nm{font-size:13px;color:var(--text-secondary);width:104px;display:flex;align-items:center;gap:7px}
.ctl output{font-size:13px;font-weight:500;width:74px;text-align:right}
.lab-concept-note{margin:.85rem 0 0;padding:.72rem .85rem;border-left:4px solid var(--accent);background:var(--accent-bg);color:var(--text-secondary);font-size:13px;line-height:1.55}
.lab-concept-note b{color:var(--text-primary)}
.metric{background:var(--surface-1);border-radius:var(--radius);padding:.7rem .85rem}
.metric .l{font-size:12px;color:var(--text-secondary)}
.metric .v{font-size:17px;font-weight:500;margin-top:3px}
.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:.7rem}
.eqb{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--radius);font-size:14px;font-weight:500;margin-top:12px}
.eqb.ok{background:var(--success-bg);color:var(--success-text)}
.eqb.warn{background:var(--warning-bg);color:var(--warning-text)}
.axiscard{background:var(--surface-2);border:1.5px solid var(--border);border-radius:12px;padding:.8rem;cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s,background .15s}
.axiscard .axis-eye{margin-left:auto;font-size:15px;color:var(--text-muted);transition:color .15s}
@media (hover:hover){
  .axiscard:hover{transform:translateY(-3px);box-shadow:0 6px 14px rgba(0,0,0,.10);border-color:#8E5BD9}
  .axiscard:hover .axis-eye{color:#8E5BD9}
}
.axiscard.active{border-color:#8E5BD9;background:rgba(142,91,217,.10);box-shadow:0 5px 14px rgba(142,91,217,.22);animation:fbpop .3s ease}
.axiscard.active .axis-eye{color:#8E5BD9}
.axiscard .axis-more{display:none;font-size:12.5px;line-height:1.55;color:var(--text-secondary);margin-top:8px;padding-top:8px;border-top:1px dashed var(--border-strong)}
.axiscard.active .axis-more{display:block;animation:panelIn .25s ease}

.placeholder{background:var(--surface-1);border:1px dashed var(--border-strong);border-radius:12px;padding:1.25rem;color:var(--text-secondary);font-size:14px;line-height:1.7}
.placeholder .pl-name{font-weight:500;color:var(--text-primary);display:flex;align-items:center;gap:8px;margin-bottom:.3rem}

.ss-list{margin:.2rem 0;padding-left:1.2rem;line-height:1.9;color:var(--text-secondary)}

.quiz-head{margin-bottom:1.4rem}
.quiz-head-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.quiz-head-title{font-size:16px;font-weight:500;display:inline-flex;align-items:center;gap:8px}
.quiz-score{font-size:13px;color:var(--text-secondary);font-weight:500;white-space:nowrap}
.quiz-pbar{height:9px;border-radius:99px;background:var(--surface-1);overflow:hidden;margin-top:11px;border:1px solid var(--border)}
.quiz-pbar span{display:block;height:100%;width:0;background:linear-gradient(90deg,#378ADD,#1D9E75);border-radius:99px;transition:width .5s cubic-bezier(.2,.7,.3,1)}
.quiz-head-hint{font-size:13px;color:var(--text-secondary);margin:.75rem 0 0;line-height:1.6}
.quiz{margin-bottom:1rem;border-radius:14px}
.q-stem{display:flex;gap:12px;align-items:flex-start;margin-bottom:1rem;font-size:15px;font-weight:500;line-height:1.5}
.q-num{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:500}
.q-text{padding-top:3px}
.unit-cats{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:1rem}
.unit-cat{padding:6px 13px;font-size:13px;border:1px solid var(--border-strong);border-radius:99px;background:var(--surface-2);cursor:pointer;color:var(--text-secondary)}
.unit-cat:hover{background:var(--surface-1)}
.unit-cat.active{background:var(--accent-bg);color:var(--accent-text);border-color:var(--accent-border);font-weight:500}
.unit-input{display:flex;gap:10px;align-items:center;margin-bottom:1.1rem}
.unit-input input[type=number]{flex:1;min-width:0;height:42px;font-size:18px;padding:0 12px;font-family:inherit;background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius)}
.unit-input select{height:42px}
.unit-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}
.u-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:10px 13px;border-radius:var(--radius);background:var(--surface-1);font-size:14px}
.u-row.active{background:var(--accent-bg);box-shadow:inset 0 0 0 1px var(--accent-border)}
.u-name{color:var(--text-secondary)}
.u-val{font-weight:500;font-size:17px;color:var(--text-primary)}
.u-row.active .u-val,.u-row.active .u-name{color:var(--accent-text)}
.u-ref-row{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-top:1px solid var(--border);font-size:14px}
.u-ref-row:first-child{border-top:none;padding-top:0}
.u-ref-k{color:var(--text-secondary)}
.u-ref-v{font-weight:500;text-align:right}
.exp{display:none;font-size:13px;color:var(--text-secondary);margin:8px 0 0;line-height:1.6}
.exp.show{display:block}
.qfeedback{display:none;font-size:13px;margin-top:10px;padding:10px 12px;border-radius:var(--radius);line-height:1.6}
.qfeedback.show{display:block;animation:panelIn .25s ease}
.qfeedback.good{background:var(--success-bg);color:var(--success-text)}
.qfeedback.bad{background:var(--danger-bg);color:var(--danger-text)}
.lab-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:1.3rem}
.lab-chip{padding:7px 15px;font-size:14px;border:1px solid var(--border-strong);border-radius:99px;background:var(--surface-2);cursor:pointer;color:var(--text-secondary)}
.lab-chip:hover{background:var(--surface-1)}
.lab-chip.active{background:var(--accent-bg);color:var(--accent-text);border-color:var(--accent-border);font-weight:500}
.lab-sub{display:none}
.lab-sub.active{display:block}
input[type=text],textarea{font-family:inherit;background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius)}
input[type=text]{height:36px;padding:0 11px;font-size:14px}
input[type=text]:focus,textarea:focus{outline:none;border-color:var(--accent)}
.greeting{font-size:13px;color:var(--text-secondary);white-space:nowrap}
.reflection-debrief{display:flex;align-items:center;gap:16px;padding:18px 20px;border:1px solid var(--accent-border);border-left:5px solid var(--accent);border-radius:var(--radius);background:var(--accent-bg);margin-bottom:16px}
.reflection-debrief-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:8px;background:var(--surface-2);color:var(--accent-text);border:1px solid var(--accent-border);font-size:25px}
.reflection-debrief>div{min-width:0;flex:1}.reflection-debrief h2{margin:1px 0 4px;font-size:22px}.reflection-debrief p{margin:0;color:var(--text-secondary);line-height:1.55}
.reflection-eyebrow{font-size:11px!important;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-text)!important}
.reflection-save-status{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;padding:7px 10px;border-radius:99px;border:1px solid var(--border);background:var(--surface-2);font-size:11px;color:var(--text-muted);white-space:nowrap}
.reflection-save-status.saving,.reflection-save-status.unsaved{color:#A15C00;border-color:#E6C48D;background:#FFF8E8}.reflection-save-status.saved{color:var(--success-text);border-color:#9BCDBB;background:var(--success-bg)}.reflection-save-status.error{color:var(--danger-text);border-color:#E8ADA4;background:var(--danger-bg)}
.reflection-layout{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:16px;align-items:start}
.reflection-step{min-width:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:16px}
.reflection-step-head{display:flex;align-items:center;gap:11px;padding-bottom:13px;border-bottom:1px solid var(--border);margin-bottom:2px}
.reflection-step-number{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:var(--accent);color:#fff;font-weight:800}
.reflection-step-head p{margin:0 0 1px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.reflection-step-head h3{margin:0;font-size:16px}
.reflection-objectives{padding-top:2px}
.reflect-row{padding:13px 0;border-top:1px solid var(--border)}
.reflect-row:first-child{border-top:none}
.reflect-obj{font-size:14px;margin-bottom:9px;color:var(--text-primary);line-height:1.5}
.rate-group{display:flex;gap:6px;flex-wrap:wrap}
.rate-btn{padding:6px 13px;font-size:13px;border:1.5px solid var(--border-strong);border-radius:99px;background:var(--surface-2);cursor:pointer;color:var(--text-secondary);transition:transform .12s,box-shadow .12s,background .12s,border-color .12s,color .12s}
@media (hover:hover){.rate-btn:hover{background:var(--surface-1);transform:translateY(-2px);box-shadow:0 4px 10px rgba(0,0,0,.10)}}
.rate-btn.active{font-weight:700;color:#fff;border-color:transparent;animation:fbpop .3s ease}
.rate-btn.active[data-level="0"]{background:#D85A30}
.rate-btn.active[data-level="1"]{background:#DE8A3B}
.rate-btn.active[data-level="2"]{background:#1D9E75}
.reflection-prompt-grid{display:grid;gap:10px;padding-top:12px}
.reflection-prompt{display:block;padding:12px;border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius);background:var(--surface-1)}
.reflection-prompt-learn{border-left-color:#7048A8}.reflection-prompt-flight{border-left-color:#0B7285}.reflection-prompt-revisit{border-left-color:#C77800}
.reflection-prompt>span{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:750;color:var(--text-primary)}.reflection-prompt>span i{font-size:18px}.reflection-prompt-learn>span i{color:#7048A8}.reflection-prompt-flight>span i{color:#0B7285}.reflection-prompt-revisit>span i{color:#C77800}
.reflection-prompt small{display:block;margin:3px 0 8px;color:var(--text-muted);font-size:11.5px;line-height:1.45}
.reflection-prompt textarea{display:block;width:100%;min-height:78px;padding:9px 10px;font-size:13px;line-height:1.55;resize:vertical;background:var(--surface-2)}
.reflection-feedback{margin-top:14px!important;padding:12px 14px;border:1px solid var(--accent-border);border-left:4px solid var(--accent);border-radius:var(--radius);background:var(--accent-bg);line-height:1.55}.reflection-feedback:empty{display:none}
.reflection-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 2px}.reflection-actions .muted{font-size:12px;line-height:1.45;flex:1;min-width:240px}
@media(max-width:960px){.reflection-layout{grid-template-columns:1fr}.reflection-debrief{align-items:flex-start;flex-wrap:wrap}.reflection-save-status{margin-left:64px}}
@media(max-width:560px){.reflection-debrief{padding:15px;gap:11px}.reflection-debrief-icon{width:40px;height:40px;flex-basis:40px;font-size:21px}.reflection-debrief h2{font-size:19px}.reflection-save-status{margin-left:0;width:100%;justify-content:center}.reflection-step{padding:12px}.rate-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.rate-btn{padding:7px 5px;white-space:normal}.reflection-prompt{padding:10px}.reflection-actions{align-items:stretch}.reflection-actions button{width:100%;justify-content:center}.reflection-actions .muted{min-width:0;width:100%}}

.bridge{border-top:1px solid var(--border);margin-top:.9rem;padding-top:.8rem;font-size:14px;color:var(--text-secondary)}
.complete-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:1.4rem}

/* ---------- Edit mode ---------- */
main.editor-main{max-width:1180px}
.editor-shell{width:100%}
.editor-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.editor-head h1{font-size:28px;margin:.35rem 0 .2rem}
.editor-week{display:flex;align-items:center;gap:8px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;min-width:260px}
.editor-week label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}
select{font-family:inherit;background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius);height:36px;padding:0 10px}
.editor-week select{flex:1;min-width:0}
.editor-ribbon{position:sticky;top:70px;z-index:4;display:flex;align-items:center;gap:7px;flex-wrap:wrap;background:color-mix(in srgb,var(--surface-2) 94%,transparent);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:var(--radius);padding:9px;margin:1rem 0;box-shadow:0 8px 26px rgba(0,0,0,.08)}
.ed-tool{width:36px;height:36px;padding:0;justify-content:center;border-radius:var(--radius)}
.ed-tool i{font-size:18px}
.ed-upload{display:inline-flex;align-items:center;justify-content:center;background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text-primary);cursor:pointer}
.ed-upload input{display:none}
.ed-ribbon-sep{width:1px;height:28px;background:var(--border);margin:0 2px}
.editor-status{font-size:12px;color:var(--text-muted);margin-left:auto}
.editor-status.good{color:var(--success-text)}
.editor-status.bad{color:var(--danger-text);font-weight:600}
.ed-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:.8rem 0 1rem}
.ed-tab{border-radius:999px;padding:8px 13px;color:var(--text-secondary)}
.ed-tab.active{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent-text);font-weight:600}
.editor-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:1rem;align-items:start}
.editor-panel{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}
.editor-work{min-width:0}
.editor-preview{position:sticky;top:148px;max-height:calc(100vh - 170px);overflow:auto}
.ed-preview-head{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-secondary);padding-bottom:.7rem;margin-bottom:.9rem;border-bottom:1px solid var(--border)}
.ed-preview-head i{font-size:18px;color:var(--accent)}
.ed-pane{display:none}
.ed-pane.active{display:block}
.ed-pane-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}
.ed-field{display:flex;flex-direction:column;gap:6px;margin-bottom:.9rem}
.ed-field span{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}
.ed-field input,.ed-field textarea{width:100%;font-size:14px;padding:10px 11px;line-height:1.55}
.ed-field input{height:40px}
.ed-field textarea{resize:vertical;min-height:84px}
.ed-two{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.ed-sections{display:flex;flex-direction:column;gap:.85rem}
.ed-section{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem}
.ed-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;font-size:13px;font-weight:700;color:var(--accent)}
.ed-remove-section{width:32px;height:32px}
.editor-canvas{min-height:620px;background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius);padding:1.1rem 1.2rem;color:var(--text-primary);outline:none;line-height:1.75}
.editor-canvas:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}
.editor-canvas h2{font-size:24px;margin:.2rem 0 .7rem}
.editor-canvas h3{font-size:17px;margin:1.2rem 0 .35rem}
.editor-canvas p{margin:.45rem 0;color:var(--text-secondary)}
.editor-canvas blockquote{margin:1rem 0;padding:.7rem 1rem;border-left:4px solid var(--accent);background:var(--accent-bg);color:var(--accent-text);border-radius:0 var(--radius) var(--radius) 0}
.ed-canvas-fig,.ed-inserted-image{margin:1rem 0;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:.8rem}
.ed-canvas-fig svg{width:100%;height:auto;display:block}
.ed-inserted-image img{max-width:100%;height:auto;display:block;border-radius:6px}
.ed-canvas-fig figcaption,.ed-inserted-image figcaption{font-size:12px;color:var(--text-muted);margin-top:.55rem}
#ed-preview-body .topic-flow{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}
#ed-preview-body .topic-step{min-height:126px}
#ed-preview-body .theory-sec{padding-left:.8rem}

[data-edit="1"] .topbar,[data-edit="1"] .foot{display:none}
[data-edit="1"] .content{width:100%}
main.editor-main{max-width:none;margin:0;padding:0}
.editor-object-shell{min-height:100vh;background:linear-gradient(180deg,var(--surface-1),var(--bg));width:100%}
.editor-fullbar{position:sticky;top:0;z-index:40;display:grid;grid-template-columns:auto auto minmax(180px,260px) 1fr auto;align-items:center;gap:10px;padding:10px 14px;background:color-mix(in srgb,var(--surface-2) 96%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);box-shadow:0 8px 30px rgba(0,0,0,.08)}
.editor-titlebar{display:flex;flex-direction:column;min-width:0}
.editor-titlebar strong{font-size:14px;line-height:1.2}
.editor-titlebar span{font-size:12px;color:var(--text-muted)}
.editor-content-editing-marker{min-height:36px;padding:0 10px;background:color-mix(in srgb,var(--accent-bg) 86%,var(--surface-1));box-shadow:0 3px 12px rgba(24,95,165,.12)}
.editor-content-editing-marker i{font-size:17px}
.editor-content-editing-marker>span{font-size:12px;text-transform:uppercase}
.editor-content-editing-marker small{padding-left:6px;border-left:1px solid var(--accent-border);color:var(--text-secondary);font-size:11px;font-weight:650;letter-spacing:0}
.editor-version{font-style:normal;font-size:11px;color:var(--accent-text);background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:999px;padding:1px 6px;margin-left:5px}
.editor-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.editor-actions button{height:36px;padding:0 11px}
.editor-fullbar .editor-status{margin-left:0;min-width:130px}
.ed-exit{white-space:nowrap}
.ed-object-layout{display:block;padding:18px;max-width:1600px;margin:0 auto}
.ed-object-board{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;box-shadow:0 12px 36px rgba(0,0,0,.08)}
.ed-doc-title{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}
.ed-doc-divider{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:1.3rem 0 .8rem;border-top:1px solid var(--border);padding-top:1rem}
.ed-doc-divider span{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:700}
.ed-doc-divider button,.ed-section-actions button,.ed-mini-btn{height:32px;padding:0 10px;font-size:13px}
.ed-doc-sections{display:flex;flex-direction:column;gap:12px}
.ed-doc-section{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem}
.ed-doc-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:.75rem}
.ed-doc-section-head div:first-child{display:flex;flex-direction:column;gap:2px;min-width:0}
.ed-doc-section-head span{font-size:12px;color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.ed-doc-section-head strong{font-size:15px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ed-section-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
.ed-object-stack{display:flex;flex-direction:column;gap:7px;margin:.6rem 0}
.ed-object-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:stretch}
.ed-object{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;text-align:left;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius);padding:12px 13px;color:var(--text-primary);transition:border-color .14s,background .14s,transform .12s,box-shadow .14s}
.ed-object:hover{background:var(--surface-2);border-color:var(--accent-border);box-shadow:0 6px 18px rgba(0,0,0,.07);transform:translateY(-1px)}
.ed-object-icon{width:34px;height:34px;border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center;background:var(--accent-bg);color:var(--accent-text);font-size:19px}
.ed-object-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.ed-object-label{font-size:13px;font-weight:700;line-height:1.3}
.ed-object-body{font-size:13px;color:var(--text-secondary);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ed-object-meta{font-size:11px;color:var(--text-muted);background:var(--surface-1);border:1px solid var(--border);border-radius:999px;padding:3px 8px;white-space:nowrap}
.ed-object-go{color:var(--text-muted);font-size:18px}
.ed-empty-state,.ed-empty-line{display:flex;align-items:center;gap:8px;color:var(--text-muted);background:var(--surface-1);border:1px dashed var(--border-strong);border-radius:var(--radius);padding:1rem;font-size:13px}
.editor-modal{position:fixed;inset:0;z-index:var(--layer-modal,3000);background:rgba(0,0,0,.48);display:flex;align-items:center;justify-content:center;padding:22px}
.editor-modal[hidden]{display:none}
.ed-modal-panel{width:min(960px,100%);min-width:min(680px,100%);max-height:92vh;overflow:auto;resize:both;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:0 24px 80px rgba(0,0,0,.28)}
.ed-modal-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:var(--surface-2);border-bottom:1px solid var(--border)}
.ed-modal-head h2{font-size:18px}
.ed-modal-body{padding:16px}
.ed-modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border);background:var(--surface-1)}
.ed-modal-actions [data-q-modal-preview]{margin-left:auto;border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent-text)}
.ed-modal-actions [data-q-modal-preview]+[data-q-modal-save]{margin-left:0}
.quiz-modal-window-controls{display:flex;align-items:center;gap:6px}
.quiz-run-modal.is-fullscreen,.quiz-question-modal.is-fullscreen{inset:0;width:100vw;height:100dvh;align-items:stretch;justify-content:stretch;padding:0}
.quiz-run-modal.is-fullscreen .ed-modal-panel,.quiz-question-modal.is-fullscreen .ed-modal-panel{display:flex;box-sizing:border-box;flex-direction:column;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;min-width:0;min-height:0;margin:0!important;overflow:hidden;resize:none;border:0;border-radius:0;box-shadow:none;transform:none!important}
.quiz-run-modal.is-fullscreen .ed-modal-head,.quiz-question-modal.is-fullscreen .ed-modal-head{position:relative;flex:0 0 auto}
.quiz-run-modal.is-fullscreen .ed-modal-body,.quiz-question-modal.is-fullscreen .ed-modal-body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.quiz-run-modal.is-fullscreen .ed-modal-actions,.quiz-question-modal.is-fullscreen .ed-modal-actions{flex:0 0 auto}
.quiz-run-modal.is-fullscreen .quiz-settings-grid{width:min(1180px,100%);margin-inline:auto}
.quiz-run-modal.is-fullscreen .quiz-pool-availability,.quiz-run-modal.is-fullscreen [data-objective-selector]{width:min(1180px,100%);margin-inline:auto}
.quiz-blank-toggle{grid-column:1/-1;align-items:flex-start!important}.quiz-blank-toggle small{display:block;margin-top:3px;color:var(--text-muted);font-weight:500}
.quiz-pool-home{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 240px;min-height:190px;margin:0 0 18px;overflow:hidden;border:1px solid #4c65b8;border-radius:18px;background:linear-gradient(125deg,#142451 0%,#283e89 55%,#176a7a 100%);color:#fff;box-shadow:0 16px 40px rgba(17,35,78,.18)}
.quiz-pool-home:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.13) 1px,transparent 0);background-size:20px 20px;mask-image:linear-gradient(90deg,#000,transparent)}
.quiz-pool-home-copy{position:relative;z-index:1;padding:30px 36px}.quiz-pool-home-copy>span{display:flex;align-items:center;gap:8px;color:#9ee7ff;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.quiz-pool-home-copy h2{margin:10px 0 6px;color:#fff;font-size:clamp(30px,4vw,48px);letter-spacing:-.035em}.quiz-pool-home-copy p{max-width:720px;margin:0;color:#d8e4ff;font-size:17px;line-height:1.45}
.quiz-pool-orbit{position:relative;align-self:center;justify-self:center;width:150px;height:150px;border:1px dashed #70e2e5;border-radius:50%;animation:quizOrbitSpin 28s linear infinite}.quiz-pool-orbit:before{content:"";position:absolute;inset:22px;border:1px solid rgba(255,255,255,.2);border-radius:50%}.quiz-pool-orbit b{position:absolute;inset:47px 34px;display:flex;align-items:center;justify-content:center;border-radius:20px;background:linear-gradient(145deg,#7589ff,#4d5bc1);box-shadow:0 10px 26px rgba(0,0,0,.25);font-size:17px;letter-spacing:.1em}.quiz-pool-orbit span{position:absolute;padding:4px 8px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:#142451;font-size:10px;font-weight:800}.quiz-pool-orbit span:nth-of-type(1){left:-14px;top:62px}.quiz-pool-orbit span:nth-of-type(2){right:-15px;top:25px}.quiz-pool-orbit span:nth-of-type(3){right:0;bottom:4px}@keyframes quizOrbitSpin{to{transform:rotate(360deg)}}.quiz-pool-orbit>*{animation:quizOrbitCounter 28s linear infinite}@keyframes quizOrbitCounter{to{transform:rotate(-360deg)}}
.quiz-pool-subtabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.quiz-pool-subtabs button{display:flex;align-items:center;gap:12px;min-height:66px;padding:10px 16px;text-align:left}.quiz-pool-subtabs button>i{font-size:24px;color:var(--accent)}.quiz-pool-subtabs button>span{display:flex;flex-direction:column}.quiz-pool-subtabs button small{margin-top:2px;color:var(--text-muted);font-weight:500}.quiz-pool-subtabs button.active{border-color:var(--accent);background:var(--accent-bg);box-shadow:0 5px 16px rgba(24,95,165,.1)}
.quiz-pool-controls{display:grid;grid-template-columns:minmax(280px,1fr) minmax(150px,210px) minmax(180px,240px) 105px;gap:10px;align-items:end;margin:14px 0;padding:13px;border:1px solid var(--border);border-radius:12px;background:var(--surface-1)}.quiz-pool-controls label{display:flex;flex-direction:column;gap:5px;margin:0;font-size:12px;font-weight:750;color:var(--text-secondary)}.quiz-pool-controls input,.quiz-pool-controls select{width:100%;min-height:44px}.quiz-pool-search{position:relative}.quiz-pool-search i{position:absolute;left:13px;bottom:13px;font-size:18px;color:var(--text-muted)}.quiz-pool-search input{padding-left:40px}.quiz-pool-pager{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:13px;padding:11px 3px 2px;color:var(--text-muted);font-size:13px}.quiz-pool-pager>div{display:flex;align-items:center;gap:6px}.quiz-pool-pager button{width:38px;height:38px;padding:0}.quiz-pool-pager strong{padding:0 8px;color:var(--text-secondary)}.quiz-pool-empty-filter{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:220px;border:1px dashed var(--border-strong);border-radius:12px;color:var(--text-muted);text-align:center}.quiz-pool-empty-filter i{font-size:36px;margin-bottom:8px}.quiz-pool-empty-filter strong{color:var(--text-primary)}
.q-type-badge{display:inline-flex;align-items:center;margin-right:6px;padding:2px 7px;border:1px solid var(--accent-border);border-radius:999px;background:var(--accent-bg);color:var(--accent-text);font-size:10px;font-style:normal;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.quiz-analytics-loading{display:flex;align-items:center;justify-content:center;gap:8px;min-height:180px;color:var(--text-muted)}.quiz-analytics-loading i{font-size:24px;animation:spin 1s linear infinite}.quiz-analytics-loading.error i{animation:none;color:var(--text-danger)}
.quiz-analytics-overview{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 30px;border:1px solid var(--accent-border);border-radius:15px;background:linear-gradient(110deg,var(--surface-2),color-mix(in srgb,var(--accent-bg) 72%,var(--surface-2)))}.quiz-analytics-overview h2{margin:3px 0;font-size:32px}.quiz-analytics-overview p{margin:0;color:var(--text-secondary)}.quiz-analytics-score{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:130px;min-height:110px;border:1px solid var(--accent-border);border-radius:50%;background:var(--surface-2);box-shadow:0 8px 24px rgba(24,95,165,.1)}.quiz-analytics-score strong{font-size:27px;color:var(--accent)}.quiz-analytics-score span{font-size:11px;font-weight:750;color:var(--text-muted);text-transform:uppercase}
.quiz-analytics-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:12px 0}.quiz-analytics-kpis article{display:flex;align-items:center;gap:10px;min-height:92px;padding:14px;border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:11px;background:var(--surface-2)}.quiz-analytics-kpis i{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:9px;background:var(--accent-bg);color:var(--accent);font-size:20px}.quiz-analytics-kpis div{display:flex;flex-direction:column}.quiz-analytics-kpis strong{font-size:21px}.quiz-analytics-kpis span{color:var(--text-muted);font-size:11px;font-weight:750;text-transform:uppercase}
.quiz-blank-rules{display:flex;align-items:center;gap:14px;margin-bottom:12px;padding:11px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface-1)}.quiz-blank-rules>div{display:flex;gap:7px;flex-wrap:wrap}.quiz-blank-rules span{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:700}.quiz-blank-rules .allows{background:#fff3d6;color:#8b5d00}.quiz-blank-rules .requires{background:#e3f5ed;color:#087555}
.quiz-analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.quiz-analytics-grid>.card{padding:0;overflow:hidden}.quiz-analytics-grid header,.quiz-category-analytics>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--border)}.quiz-analytics-grid header h3,.quiz-category-analytics h3{margin:2px 0 0}.quiz-analytics-grid header>i{font-size:28px;color:var(--accent)}.quiz-analytics-question-list article{padding:13px 18px;border-bottom:1px solid var(--border)}.quiz-analytics-question-list article:last-child{border-bottom:0}.quiz-analytics-question-list article>div:first-child{display:flex;gap:5px}.quiz-analytics-question-list h4{margin:6px 0 9px;font-size:14px;line-height:1.38}.quiz-analytics-empty{display:flex;align-items:center;gap:8px;padding:24px 18px;color:var(--text-muted)}
.quiz-analytics-bar>div{display:flex;justify-content:space-between;gap:10px;margin-bottom:5px;font-size:11px}.quiz-analytics-bar>div span{color:var(--text-muted)}.quiz-analytics-bar>i{display:block;height:8px;overflow:hidden;border-radius:99px;background:var(--surface-1)}.quiz-analytics-bar>i>span{display:block;height:100%;border-radius:inherit;background:#3576c3}.quiz-analytics-bar>i>.green{background:#19a47a}.quiz-analytics-bar>i>.amber{background:#d89a24}.quiz-analytics-bar>i>.red{background:#d15252}.quiz-category-analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.quiz-category-analytics{margin:0}.quiz-category-analytics>header p{max-width:500px;margin:0;color:var(--text-muted);font-size:12px}.quiz-category-analytics>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:18px}
.quiz-category-analytics>.quiz-category-leaders{display:grid;grid-template-columns:1fr;gap:0;padding:0;border-top:1px solid var(--border)}.quiz-category-leaders article{display:grid;grid-template-columns:minmax(90px,.3fr) minmax(0,1fr) minmax(0,1fr);gap:10px;padding:11px 18px;border-bottom:1px solid var(--border);font-size:11px}.quiz-category-leaders article:last-child{border-bottom:0}.quiz-category-leaders article>b{color:var(--text-secondary)}.quiz-category-leaders article>span{display:flex;align-items:flex-start;gap:5px;min-width:0;color:var(--text-muted)}.quiz-category-leaders article>span:first-of-type i{color:#16916e}.quiz-category-leaders article>span:last-of-type i{color:#c84b4b}.quiz-category-leaders em{overflow:hidden;font-style:normal;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:1000px){.quiz-pool-controls{grid-template-columns:1fr 1fr}.quiz-analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.quiz-analytics-grid,.quiz-category-analytics-grid{grid-template-columns:1fr}}@media(max-width:700px){.quiz-pool-home{grid-template-columns:1fr}.quiz-pool-orbit{display:none}.quiz-pool-home-copy{padding:24px}.quiz-pool-subtabs,.quiz-pool-controls{grid-template-columns:1fr}.quiz-pool-pager{align-items:flex-start;flex-direction:column}.quiz-analytics-overview{align-items:flex-start;flex-direction:column}.quiz-analytics-score{border-radius:12px}.quiz-analytics-kpis,.quiz-category-analytics>div{grid-template-columns:1fr}.quiz-category-leaders article{grid-template-columns:1fr}.quiz-blank-rules{align-items:flex-start;flex-direction:column}}
.quiz-question-modal.is-fullscreen .ed-modal-body{box-sizing:border-box;width:100%;max-width:1400px;margin-inline:auto}
.ed-preview-modal .ed-modal-panel{width:min(1080px,100%);padding:0}
.ed-preview-modal-body{padding:1.25rem 1.5rem 2rem;max-width:900px;margin:0 auto}
.preview-tabs{pointer-events:none}
.ed-image-tools{display:flex;gap:8px;flex-wrap:wrap;margin:.2rem 0 .9rem}
.ed-upload-wide{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 12px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius);cursor:pointer;font-size:14px}
.ed-upload-wide input{display:none}
.ed-image-preview{display:flex;align-items:center;justify-content:center;min-height:160px;background:var(--surface-1);border:1px dashed var(--border-strong);border-radius:var(--radius);overflow:hidden;color:var(--text-muted);font-size:13px;margin-left:auto;margin-right:auto;transition:max-width .15s}
.ed-image-preview img,.ed-image-preview svg{max-width:100%;height:auto;display:block}
.ed-range-field>div{display:flex;align-items:center;gap:10px}
.ed-range-field input{flex:1}
.ed-range-field output{font-size:13px;color:var(--text-secondary);min-width:42px;text-align:right}
.ed-svg-text-editor{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);padding:.8rem;margin:.4rem 0 1rem}
.ed-svg-text-title{display:flex;align-items:center;gap:7px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:700;margin-bottom:.55rem}
.ed-svg-text-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px}
.ed-svg-text-row{display:flex;flex-direction:column;gap:4px}
.ed-svg-text-row span{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ed-svg-text-row input{height:34px;padding:0 9px}
.ed-svg-text-empty{display:flex;align-items:center;gap:7px;color:var(--text-muted);font-size:13px}
.ed-svg-source-editor{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);padding:.8rem;margin:.4rem 0 1rem}
.ed-svg-source-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:.55rem}
.ed-svg-source-head span{display:flex;align-items:center;gap:7px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:700}
.ed-svg-source-head div{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ed-svg-source-head button{height:30px;padding:0 9px;font-size:12px}
.ed-svg-source-input{width:100%;min-height:240px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.45;tab-size:2;white-space:pre;overflow:auto;resize:vertical}
.ed-svg-source-note{margin-top:.45rem;font-size:12px;color:var(--text-muted)}
.ed-svg-source-note.good{color:var(--success-text)}
.ed-svg-source-note.bad{color:var(--danger)}
.ed-lab-card{border-left:4px solid var(--c-lift)}
.ed-lab-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:.15rem 0 .6rem;font-size:12px;color:var(--text-muted)}
.ed-lab-meta span,.ed-lab-badge{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border:1px solid var(--border);border-radius:999px;background:var(--surface-1)}
.ed-lab-badge.custom{color:var(--accent-text);border-color:var(--accent-border);background:var(--accent-bg)}
.ed-lab-badge.built{color:var(--success-text);border-color:color-mix(in srgb,var(--success-text) 35%,var(--border));background:var(--success-bg)}
.ed-lab-badge.missing{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--border));background:var(--surface-1)}
.ed-lab-source-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.ed-lab-source-actions button{height:34px;padding:0 10px;font-size:12px}
.ed-lab-source-editor{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);padding:.8rem;margin:.7rem 0 1rem}
.ed-lab-source-input{width:100%;min-height:320px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.45;tab-size:2;white-space:pre;overflow:auto;resize:vertical}
.ed-lab-preview-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);padding:.8rem;margin:.7rem 0 0}
.ed-lab-preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:.55rem}
.ed-lab-preview-head span{display:flex;align-items:center;gap:7px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:700}
.ed-lab-preview{min-height:220px;padding:.7rem;background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:var(--radius);overflow:auto}
.ed-lab-preview .lab-wrap{margin:0}
.theory-img{max-width:100%;height:auto;display:block;border-radius:6px}
.rich-par{margin:0 0 .7rem;color:var(--text-secondary);line-height:1.75}
.rich-par p{margin:.2rem 0 .7rem}
.rich-par ul,.rich-par ol{margin:.35rem 0 .7rem;padding-left:1.35rem}
.rich-par li{margin:.2rem 0}
.math-inline,.math-block{font-family:Georgia,"Times New Roman",serif;font-style:normal;color:var(--accent-text);background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:6px}
.math-inline{display:inline-flex;align-items:center;gap:2px;padding:1px 6px;margin:0 2px;vertical-align:baseline;white-space:nowrap}
.math-block{display:flex;justify-content:center;align-items:center;margin:.7rem 0;padding:.75rem 1rem;font-size:1.08em;overflow-x:auto}
.math-inline mjx-container{margin:0!important}
.math-block mjx-container{margin:0!important;max-width:100%}
.svg-math{background:transparent!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important;overflow:visible!important}
.svg-math mjx-container{max-width:100%!important}
.math-frac{display:inline-grid;grid-template-rows:auto auto;align-items:center;text-align:center;line-height:1.05;vertical-align:middle;margin:0 2px}
.math-frac span:first-child{border-bottom:1px solid currentColor;padding:0 3px}
.math-frac span:last-child{padding:0 3px}
.plot-block{display:block;margin:.85rem 0;padding:.65rem;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius)}
.plot-block.ed-plot-selected{outline:2px solid var(--accent);outline-offset:3px}
.plot-svg{width:100%;height:auto;display:block}
.plot-bg{fill:var(--surface-2);stroke:var(--border)}
.plot-grid{stroke:var(--border);stroke-width:1}
.plot-axis{stroke:var(--text-secondary);stroke-width:1.5}
.plot-curve{fill:none;stroke:var(--plot-color);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.plot-shape{fill:color-mix(in srgb,var(--plot-color) 15%,transparent);stroke:var(--plot-color);stroke-width:3}
.plot-label,.plot-title{fill:var(--text-secondary);font-size:13px;font-family:var(--font);font-style:normal}
.plot-title{font-weight:700;fill:var(--text-primary)}
.youtube-block{position:relative;display:block;margin:.9rem auto;padding:0;max-width:760px;aspect-ratio:16/9;background:#111;border:1px solid var(--border-strong);border-radius:var(--radius);overflow:hidden}
.youtube-block.ed-youtube-selected{outline:2px solid #c4302b;outline-offset:3px}
.youtube-block iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.float-box{position:relative;display:inline-block;max-width:min(280px,90%);padding:.65rem .8rem;margin:.25rem .5rem .45rem;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));color:var(--text-primary);line-height:1.45;font-size:.94em;box-shadow:0 8px 24px rgba(0,0,0,.08);vertical-align:middle}
.float-box.ed-float-selected{outline:2px solid var(--accent);outline-offset:3px}
.float-box-left{float:left;margin-left:0;margin-right:1rem}
.float-box-right{float:right;margin-left:1rem;margin-right:0}
.float-box-inline{float:none;margin:.15rem .35rem}
.float-box-full{display:block;float:none;max-width:none;margin:.7rem 0;clear:both}
.float-box-rounded{border-radius:var(--radius)}
.float-box-square{border-radius:0}
.float-box-pill{border-radius:22px;padding:.65rem 1rem}
.float-box::before{content:"";position:absolute;top:0;bottom:0;left:0;width:5px;border-radius:inherit;background:var(--float-box-accent,var(--accent));pointer-events:none}
.float-box-note{--float-box-accent:var(--accent)}
.float-box-example{--float-box-accent:var(--c-lift)}
.float-box-warning{--float-box-accent:var(--c-weight)}
.float-box-formula{--float-box-accent:var(--c-thrust);font-family:Georgia,"Times New Roman",serif}
.ed-rich-field{gap:0}
.ed-rich-toolbar{display:flex;flex-direction:column;gap:7px;padding:8px;background:var(--surface-1);border:1px solid var(--border-strong);border-bottom:none;border-radius:var(--radius) var(--radius) 0 0}
.ed-rich-toolbar>.ed-rich-row{width:100%;box-sizing:border-box}
.ed-rich-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;flex:0 0 100%}
.ed-rich-row+.ed-rich-row{padding-top:7px;border-top:1px solid var(--border)}
.ed-rich-row-primary{justify-content:flex-start}
.ed-rich-row-format{justify-content:flex-start}
.ed-rich-row-tools{justify-content:flex-start}
/* The editor opens with the controls for writing a paragraph and hides the rest
   behind "More tools". Hiding at the row keeps every control in the DOM, which the
   wiring and the position-keyed draft restore both depend on. The object guide is
   suppressed too, but never the inspector: an ancestor display:none would beat
   inspector.hidden = false and clicking a card would appear to do nothing. */
.ed-rich-toolbar[data-rich-tools="basic"] .ed-rich-row-format,
.ed-rich-toolbar[data-rich-tools="basic"] .ed-rich-row-tools,
.ed-rich-toolbar[data-rich-tools="basic"]+.ed-rich-object-tools:not(:has(.ed-rich-object-inspector:not([hidden]))){display:none}
.ed-rich-tool-group{display:inline-flex;align-items:center;gap:0;min-height:38px;padding:3px;border:1px solid var(--border-strong);border-radius:9px;background:color-mix(in srgb,var(--surface-2) 82%,var(--surface-1))}
.ed-rich-tool-label{display:inline-flex;align-items:center;gap:5px;padding:0 9px;color:var(--text-secondary);font-size:11px;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}
.ed-rich-tool-label i{color:var(--accent);font-size:15px}
.ed-rich-tool-group .ed-rich-select{height:30px;border-radius:6px;border-color:var(--border)}
.ed-rich-table-group .ed-rich-table-size{max-width:168px}
.ed-rich-table-group .ed-rich-table-style{max-width:148px}
.ed-rich-table-group .ed-rich-labelled-btn{height:30px;margin-left:3px}
.ed-rich-btn{width:34px;height:32px;padding:0;justify-content:center;border-radius:7px;background:var(--surface-2)}
.ed-rich-btn i{font-size:17px}
.ed-rich-labelled-btn{width:auto;min-width:0;padding:0 10px;gap:6px;white-space:nowrap}
.ed-rich-labelled-btn span{font-size:12px;font-weight:750}
.ed-rich-text-box-button{color:var(--accent-text);border-color:var(--accent-border);background:var(--accent-bg)}
.ed-rich-select{height:32px;max-width:118px;font-size:12px;padding:0 7px}
.ed-rich-mini-input{height:32px;width:128px;font-size:12px;padding:0 8px}
.ed-rich-link-group{display:inline-flex;align-items:center;gap:0;flex:0 0 auto}
.ed-rich-link-group .ed-rich-link-input{width:240px;max-width:min(52vw,240px);border-radius:7px 0 0 7px;border-right:0}
.ed-rich-link-group .ed-rich-btn{border-radius:0;border-left:1px solid var(--border-strong)}
.ed-rich-link-group .ed-rich-btn:last-child{border-radius:0 7px 7px 0}
.ed-rich-math-input{width:150px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.ed-rich-math-group{display:inline-flex;align-items:center;gap:0;flex:0 0 auto}
.ed-rich-math-group .ed-rich-math-input{width:252px;border-radius:7px 0 0 7px;border-right:0}
.ed-rich-math-group .ed-rich-btn{border-radius:0;border-left:1px solid var(--border-strong)}
.ed-rich-math-group .ed-rich-btn:last-child{border-radius:0 7px 7px 0}
.ed-rich-youtube-group{display:inline-flex;align-items:center;gap:0;flex:0 0 auto}
.ed-rich-youtube-group .ed-rich-youtube-input{width:210px;border-radius:7px 0 0 7px;border-right:0}
.ed-rich-youtube-group .ed-rich-youtube-size{max-width:76px;border-radius:0;border-left:1px solid var(--border-strong);border-right:0}
.ed-rich-youtube-group .ed-rich-btn{border-radius:0;border-left:1px solid var(--border-strong);color:#c4302b}
.ed-rich-youtube-group .ed-rich-btn:last-child{border-radius:0 7px 7px 0}
.ed-rich-color{height:32px;min-width:42px;display:inline-flex;align-items:center;justify-content:center;gap:3px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface-2);color:var(--text-secondary);cursor:pointer}
.ed-rich-color input{width:22px;height:22px;border:0;background:transparent;padding:0;cursor:pointer}
.ed-rich-svg-button{width:auto;min-width:104px;padding:0 10px;gap:6px;color:var(--accent-text);border-color:var(--accent-border);background:var(--accent-bg)}
.ed-rich-svg-button span{font-size:12px;font-weight:700}
.ed-emoji-pick{position:relative;display:inline-flex;align-items:center;gap:3px;padding:0 3px;border-left:1px solid var(--border)}
.ed-emoji-pick .ed-rich-btn{font-size:15px}
.ed-emoji-panel{position:fixed;z-index:120;width:360px;max-width:calc(100vw - 24px);max-height:420px;overflow:auto;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius);padding:9px;box-shadow:0 20px 55px rgba(0,0,0,.25)}
.ed-emoji-panel[hidden]{display:none}
.ed-emoji-search{width:100%;height:32px;margin-bottom:8px;padding:0 9px;font-size:12px}
.ed-emoji-groups{display:flex;flex-direction:column;gap:8px}
.ed-emoji-group-title{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin:2px 0 4px}
.ed-emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(32px,1fr));gap:4px}
.ed-emoji-grid .ed-rich-btn{font-size:17px;background:var(--surface-1)}
.ed-html-toggle.active,[data-rich-tools-toggle][aria-expanded="true"]{background:var(--accent);color:#fff;border-color:var(--accent)}
.ed-rich-object-tools{padding:5px;border-right:1px solid var(--border-strong);border-left:1px solid var(--border-strong);background:var(--surface-1)}
.ed-rich-object-guide{display:flex;align-items:center;gap:8px;min-height:38px;padding:6px 8px;border:1px dashed var(--accent-border);border-radius:8px;background:color-mix(in srgb,var(--accent-bg) 52%,var(--surface-2));color:var(--text-secondary)}
.ed-rich-object-guide[hidden],.ed-rich-object-inspector[hidden],.ed-rich-object-panel[hidden]{display:none!important}
.ed-rich-object-guide>i{display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border-radius:7px;background:var(--surface-2);color:var(--accent);font-size:16px}
.ed-rich-object-guide span{display:flex;min-width:0;flex-direction:column;gap:1px}
.ed-rich-object-guide b{color:var(--text-primary);font-size:12px}
.ed-rich-object-guide small{color:var(--text-muted);font-size:10px;line-height:1.3}
.ed-rich-object-inspector{overflow:hidden;border:1px solid var(--accent-border);border-radius:10px;background:var(--surface-2);box-shadow:0 10px 28px rgba(15,43,70,.08)}
.ed-rich-object-inspector>header{display:flex;align-items:center;gap:7px;min-height:42px;padding:5px 7px;border-bottom:1px solid var(--accent-border);background:color-mix(in srgb,var(--accent-bg) 70%,var(--surface-2))}
.ed-rich-object-handle{display:flex;min-width:0;align-items:center;gap:7px;margin-right:auto}
.ed-rich-object-handle>i{display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border-radius:7px;background:var(--accent);color:#fff;font-size:15px}
.ed-rich-object-handle>span{display:flex;min-width:0;flex-direction:column}
.ed-rich-object-handle small{color:var(--text-muted);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ed-rich-object-handle b{overflow:hidden;color:var(--text-primary);font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.ed-rich-object-live{display:inline-flex;align-items:center;gap:5px;color:var(--success-text);font-size:10px;font-weight:750;white-space:nowrap}
.ed-rich-object-done{display:inline-flex;min-height:30px;align-items:center;justify-content:center;gap:4px;padding:0 8px;border:1px solid var(--accent-border);border-radius:7px;background:var(--surface-2);color:var(--accent-text);font:inherit;font-size:11px;font-weight:750;cursor:pointer}
.ed-rich-object-done:hover,.ed-rich-object-done:focus-visible{border-color:var(--accent);background:var(--accent-bg);outline:none}
.ed-rich-object-panel{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:6px 8px;padding:7px 8px}
.ed-rich-object-panel-card{grid-template-columns:repeat(auto-fill,minmax(150px,190px));align-items:end;justify-content:start}
.ed-rich-card-copy{display:grid;grid-column:1/-1;grid-template-columns:minmax(170px,.75fr) minmax(260px,1.25fr);align-items:end;gap:6px 8px;padding:7px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--accent-bg) 42%,var(--surface-1))}
.ed-rich-card-copy[hidden]{display:none!important}
.ed-rich-card-copy>header{display:flex;grid-column:1/-1;align-items:center;gap:7px}.ed-rich-card-copy>header>i{display:grid;flex:0 0 27px;width:27px;height:27px;place-items:center;border-radius:7px;background:var(--accent-bg);color:var(--accent);font-size:16px}.ed-rich-card-copy>header>span{display:flex;min-width:0;flex-direction:column}.ed-rich-card-copy>header b{color:var(--text-primary);font-size:11px}.ed-rich-card-copy>header small{color:var(--text-muted);font-size:9px}
.ed-rich-card-copy label,.ed-rich-card-advanced label{display:flex;min-width:0;flex-direction:column;gap:2px;color:var(--text-secondary);font-size:9px;font-weight:750}.ed-rich-card-copy label>span,.ed-rich-card-advanced label>span{letter-spacing:.035em;text-transform:uppercase}
.ed-rich-card-copy input,.ed-rich-card-copy textarea{box-sizing:border-box;width:100%;min-height:30px;padding:5px 7px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface-2);color:var(--text-primary);font:inherit;font-size:11px;line-height:1.35;outline:none}.ed-rich-card-copy textarea{height:44px;min-height:44px;resize:vertical}.ed-rich-card-copy input:focus,.ed-rich-card-copy textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}
.ed-rich-card-advanced{grid-column:1/-1;min-width:0;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--surface-1) 72%,var(--surface-2))}
.ed-rich-card-advanced>summary{display:flex;min-height:34px;align-items:center;justify-content:space-between;gap:8px;padding:5px 8px;color:var(--text-secondary);cursor:pointer;list-style:none}.ed-rich-card-advanced>summary::-webkit-details-marker{display:none}.ed-rich-card-advanced>summary>span{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:7px;align-items:center}.ed-rich-card-advanced>summary>span>i{grid-row:1/3;color:var(--accent);font-size:16px}.ed-rich-card-advanced>summary b{color:var(--text-primary);font-size:11px}.ed-rich-card-advanced>summary small{color:var(--text-muted);font-size:9px}.ed-rich-card-advanced>summary>i{transition:transform .15s}.ed-rich-card-advanced[open]>summary>i{transform:rotate(180deg)}
.ed-rich-card-advanced>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,170px));align-items:end;justify-content:start;gap:6px 8px;padding:7px;border-top:1px solid var(--border)}.ed-rich-card-advanced .ed-rich-select{width:100%;height:30px;max-width:none;padding:0 6px;border-color:var(--border-strong);background:var(--surface-2);font-size:11px}
.ed-rich-card-row-tools,.ed-rich-row-controls{display:grid;grid-column:1/-1;grid-template-columns:minmax(0,1fr);align-items:center;gap:6px;min-width:0;padding:7px 8px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border));border-left:3px solid var(--accent);border-radius:8px;background:linear-gradient(120deg,color-mix(in srgb,var(--accent-bg) 68%,var(--surface-2)),var(--surface-2));box-shadow:0 4px 12px rgba(15,43,70,.045)}
:is(.ed-rich-card-row-tools,.ed-rich-row-controls)>header,:is(.ed-rich-card-row-tools,.ed-rich-row-controls)>.ed-rich-card-row-status,:is(.ed-rich-card-row-tools,.ed-rich-row-controls)>[data-rich-card-row-status]{display:flex;min-width:0;align-items:center;gap:8px;color:var(--text-secondary);font-size:11px;line-height:1.4}
:is(.ed-rich-card-row-tools,.ed-rich-row-controls)>header{grid-column:1/-1}
:is(.ed-rich-card-row-tools,.ed-rich-row-controls)>header>i,:is(.ed-rich-card-row-tools,.ed-rich-row-controls)>.ed-rich-card-row-status>i,:is(.ed-rich-card-row-tools,.ed-rich-row-controls)>[data-rich-card-row-status]>i{display:grid;flex:0 0 28px;width:28px;height:28px;place-items:center;border-radius:8px;background:var(--accent-bg);color:var(--accent);font-size:16px}
:is(.ed-rich-card-row-tools,.ed-rich-row-controls) b{color:var(--text-primary)}
:is(.ed-rich-card-row-tools,.ed-rich-row-controls) small{color:var(--text-muted);font-size:10px;line-height:1.4}
:is(.ed-rich-card-row-tools,.ed-rich-row-controls)>[data-rich-row-state]{min-width:0}
:is(.ed-rich-card-row-tools,.ed-rich-row-controls)>[data-rich-row-state][hidden]{display:none!important}
:is(.ed-rich-card-row-tools,.ed-rich-row-controls)>[data-rich-row-state="standalone"]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 7px;border:1px dashed var(--border-strong);border-radius:7px;background:color-mix(in srgb,var(--surface-1) 70%,transparent);color:var(--text-secondary);font-size:11px;line-height:1.35}
:is(.ed-rich-card-row-tools,.ed-rich-row-controls)>[data-rich-row-state="standalone"]>span{display:flex;min-width:180px;flex:1 1 auto;flex-direction:column}
:is(.ed-rich-card-row-tools,.ed-rich-row-controls)>[data-rich-row-state="standalone"]>div{display:flex;flex:0 1 auto;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
:is(.ed-rich-card-row-tools,.ed-rich-row-controls)>[data-rich-row-state="grouped"]{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}
.ed-rich-row-overview{display:grid;gap:5px;padding:6px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.ed-rich-row-overview>header{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}.ed-rich-row-overview>header>span{display:flex;min-width:0;flex-direction:column}.ed-rich-row-overview>header b{font-size:11px}.ed-rich-row-overview>header small,.ed-rich-row-overview>header em{color:var(--text-muted);font-size:9px}.ed-rich-row-overview>header em{font-style:normal;white-space:nowrap}
.ed-rich-row-overview>[data-rich-row-overview]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:5px}.ed-rich-row-overview button{display:grid;min-width:0;min-height:46px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;padding:5px 7px;border:1px solid var(--border);border-top:3px solid color-mix(in srgb,var(--accent) 48%,var(--border));border-radius:7px;background:var(--surface-1);color:var(--text-secondary);text-align:left}.ed-rich-row-overview button>span:first-child{display:grid;width:22px;height:22px;place-items:center;border-radius:999px;background:var(--accent-bg);color:var(--accent-text);font-size:9px;font-weight:850}.ed-rich-row-overview button>span:last-child{display:flex;min-width:0;flex-direction:column}.ed-rich-row-overview button b,.ed-rich-row-overview button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ed-rich-row-overview button b{color:var(--text-primary);font-size:10px}.ed-rich-row-overview button small{color:var(--text-muted);font-size:8px}.ed-rich-row-overview button:hover,.ed-rich-row-overview button:focus-visible{border-color:var(--accent);background:var(--accent-bg);outline:none}.ed-rich-row-overview button.active{border-color:var(--accent);border-top-color:var(--accent);background:color-mix(in srgb,var(--accent-bg) 72%,var(--surface-2));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 15%,transparent)}
.ed-rich-row-layout,.ed-rich-row-more{min-width:0;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--surface-1) 76%,var(--surface-2))}.ed-rich-row-layout>summary,.ed-rich-row-more>summary{display:flex;min-height:32px;align-items:center;justify-content:space-between;gap:8px;padding:4px 7px;color:var(--text-secondary);cursor:pointer;list-style:none}.ed-rich-row-layout>summary::-webkit-details-marker,.ed-rich-row-more>summary::-webkit-details-marker{display:none}.ed-rich-row-layout>summary>span,.ed-rich-row-more>summary>span{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:6px;align-items:center}.ed-rich-row-layout>summary>span>i,.ed-rich-row-more>summary>span>i{grid-row:1/3;color:var(--accent);font-size:15px}.ed-rich-row-layout>summary b,.ed-rich-row-more>summary b{font-size:10px}.ed-rich-row-layout>summary small{color:var(--text-muted);font-size:8px}.ed-rich-row-layout>summary>i,.ed-rich-row-more>summary>i{transition:transform .15s}.ed-rich-row-layout[open]>summary>i,.ed-rich-row-more[open]>summary>i{transform:rotate(180deg)}
.ed-rich-row-property-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,158px));align-items:end;justify-content:start;gap:6px 8px}
.ed-rich-row-layout>.ed-rich-row-property-grid{padding:6px 7px;border-top:1px solid var(--border)}
:is(.ed-rich-card-row-tools,.ed-rich-row-controls) label{display:flex;min-width:0;flex-direction:column;gap:2px;color:var(--text-secondary);font-size:9px;font-weight:750}
:is(.ed-rich-card-row-tools,.ed-rich-row-controls) label>span:first-child{letter-spacing:.035em;text-transform:uppercase}
:is(.ed-rich-card-row-tools,.ed-rich-row-controls) label>small{color:var(--text-muted);font-size:9px;font-weight:500;line-height:1.35}
:is(.ed-rich-card-row-tools,.ed-rich-row-controls) .ed-rich-select{width:100%;height:30px;max-width:none;padding:0 6px;border-color:var(--border-strong);background:var(--surface-2);font-size:11px}
:is(.ed-rich-card-row-tools,.ed-rich-row-controls) .ed-rich-row-columns,:is(.ed-rich-card-row-tools,.ed-rich-row-controls) .ed-rich-row-gap,:is(.ed-rich-card-row-tools,.ed-rich-row-controls) .ed-rich-row-sequence,:is(.ed-rich-card-row-tools,.ed-rich-row-controls) .ed-rich-row-marker-position,:is(.ed-rich-card-row-tools,.ed-rich-row-controls) .ed-rich-row-marker-shape{min-width:0}
.ed-rich-row-marker-bg,.ed-rich-row-marker-text{box-sizing:border-box;width:100%;height:30px;padding:3px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface-2);color:var(--text-primary);cursor:pointer}
.ed-rich-row-marker-bg:hover,.ed-rich-row-marker-text:hover{border-color:var(--accent)}
.ed-rich-row-marker-bg:focus-visible,.ed-rich-row-marker-text:focus-visible{border-color:var(--accent);outline:3px solid var(--accent-bg);outline-offset:1px}
.ed-rich-row-marker-bg:disabled,.ed-rich-row-marker-text:disabled,.ed-rich-row-marker-bg[aria-disabled="true"],.ed-rich-row-marker-text[aria-disabled="true"]{border-color:var(--border);background:var(--surface-1);opacity:.5;cursor:not-allowed}
.ed-rich-row-marker-bg::-webkit-color-swatch-wrapper,.ed-rich-row-marker-text::-webkit-color-swatch-wrapper{padding:0}
.ed-rich-row-marker-bg::-webkit-color-swatch,.ed-rich-row-marker-text::-webkit-color-swatch{border:0;border-radius:5px}
.ed-rich-row-marker-bg::-moz-color-swatch,.ed-rich-row-marker-text::-moz-color-swatch{border:0;border-radius:5px}
:is(.ed-rich-card-row-tools,.ed-rich-row-controls) label:has(>.ed-rich-row-marker-bg)>span:first-child::after,:is(.ed-rich-card-row-tools,.ed-rich-row-controls) label:has(>.ed-rich-row-marker-text)>span:first-child::after{content:"Per card";display:inline-flex;margin-left:4px;padding:1px 4px;border-radius:999px;background:var(--surface-1);color:var(--text-muted);font-size:7px;font-weight:800;letter-spacing:0;text-transform:none;vertical-align:middle}
.ed-rich-row-actions{display:flex;grid-column:1/-1;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap;padding-top:4px;border-top:1px solid color-mix(in srgb,var(--accent) 15%,var(--border))}
.ed-rich-row-actions-primary{justify-content:flex-start;padding-top:0;border-top:0}.ed-rich-row-more>.ed-rich-row-actions{padding:6px 7px;border-top:1px solid var(--border)}
.ed-rich-row-actions button,.ed-rich-row-actions .ed-rich-btn,:is(.ed-rich-card-row-tools,.ed-rich-row-controls)>[data-rich-row-state="standalone"]>div>button{display:inline-flex;width:auto;min-width:30px;min-height:30px;align-items:center;justify-content:center;gap:4px;padding:0 8px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface-2);color:var(--text-secondary);font:inherit;font-size:10px;font-weight:750;cursor:pointer}
.ed-rich-row-actions button:hover,.ed-rich-row-actions button:focus-visible,.ed-rich-row-actions .ed-rich-btn:hover,.ed-rich-row-actions .ed-rich-btn:focus-visible,:is(.ed-rich-card-row-tools,.ed-rich-row-controls)>[data-rich-row-state="standalone"]>div>button:hover,:is(.ed-rich-card-row-tools,.ed-rich-row-controls)>[data-rich-row-state="standalone"]>div>button:focus-visible{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-text);outline:none}
.ed-rich-row-actions button:disabled,:is(.ed-rich-card-row-tools,.ed-rich-row-controls) button[data-rich-row-action]:disabled{border-color:var(--border);background:var(--surface-1);color:var(--text-muted);opacity:.5;cursor:not-allowed}
.ed-rich-row-actions [data-rich-row-action="reset-marker-colors"]{margin-right:auto}
.ed-rich-row-actions [data-rich-row-action="reset-marker-colors"]:not(:disabled){border-color:var(--accent-border);border-style:dashed;background:color-mix(in srgb,var(--accent-bg) 58%,var(--surface-2));color:var(--accent-text)}
.ed-rich-row-actions [data-rich-row-action="reset-marker-colors"]:not(:disabled):hover,.ed-rich-row-actions [data-rich-row-action="reset-marker-colors"]:not(:disabled):focus-visible{border-style:solid;background:var(--accent-bg)}
.ed-rich-row-actions button[data-rich-row-action="remove"],.ed-rich-row-actions button[data-rich-card-row-action="remove"],.ed-rich-row-actions button[data-rich-row-action="delete-card"]{border-color:color-mix(in srgb,var(--danger-text) 28%,var(--border));color:var(--danger-text)}
.ed-rich-row-actions button[data-rich-row-action="remove"]:hover,.ed-rich-row-actions button[data-rich-card-row-action="remove"]:hover,.ed-rich-row-actions button[data-rich-row-action="delete-card"]:hover{background:var(--danger-bg)}
.ed-rich-object-panel>label{display:flex;min-width:0;flex-direction:column;gap:2px;color:var(--text-secondary);font-size:9px;font-weight:750}
.ed-rich-object-panel>label>span:first-child{letter-spacing:.035em;text-transform:uppercase}
.ed-rich-object-panel>label>small{color:var(--text-muted);font-size:9px;font-weight:500;line-height:1.35}
.ed-rich-object-panel .ed-rich-select{width:100%;height:30px;max-width:none;padding:0 6px;border-color:var(--border-strong);background:var(--surface-1);font-size:11px}
.ed-rich-card-width:disabled,.ed-rich-card-place:disabled,.ed-rich-card-width[aria-disabled="true"],.ed-rich-card-place[aria-disabled="true"]{border-style:dashed!important;background:color-mix(in srgb,var(--surface-1) 62%,var(--border))!important;color:var(--text-muted)!important;opacity:.66;cursor:not-allowed}
.ed-rich-object-panel-card label:has(>.ed-rich-card-width:disabled),.ed-rich-object-panel-card label:has(>.ed-rich-card-place:disabled),.ed-rich-object-panel-card label:has(>.ed-rich-card-width[aria-disabled="true"]),.ed-rich-object-panel-card label:has(>.ed-rich-card-place[aria-disabled="true"]){display:none}
.ed-rich-object-color{display:flex;height:32px;align-items:center;gap:7px;padding:3px 8px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface-1)}
.ed-rich-object-color input{flex:0 0 26px;width:26px;height:24px;padding:0;border:0;background:transparent;cursor:pointer}
.ed-rich-object-color output{overflow:hidden;color:var(--text-muted);font-size:10px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.ed-rich-object-panel-table{display:block;padding:6px}
.ed-rich-table-inspector{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(320px,1.05fr) minmax(380px,1.23fr);align-items:start;gap:6px}
.ed-rich-table-inspector>section{min-width:0;padding:6px;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--surface-1) 72%,var(--surface-2))}
.ed-rich-table-inspector section>header{display:flex;grid-column:1/-1;min-width:0;align-items:center;justify-content:space-between;gap:6px;margin-bottom:5px}
.ed-rich-table-inspector section>header>span{display:flex;min-width:0;flex-direction:column}
.ed-rich-table-inspector section>header b{color:var(--text-primary);font-size:11px}
.ed-rich-table-inspector section>header small{display:none}
.ed-rich-table-inspector button{display:inline-flex;min-height:28px;align-items:center;justify-content:center;gap:4px;padding:0 7px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface-2);color:var(--text-secondary);font:inherit;font-size:10px;font-weight:750;cursor:pointer}
.ed-rich-table-inspector button:hover,.ed-rich-table-inspector button:focus-visible{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-text);outline:none}
.ed-rich-table-layout-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-content:start;align-items:end;gap:5px}
.ed-rich-table-layout-tools .ed-rich-table-width-control{grid-column:1/-1}
.ed-rich-table-inspector label{display:flex;min-width:0;flex-direction:column;gap:2px;color:var(--text-secondary);font-size:9px;font-weight:750}
.ed-rich-table-inspector label>span:first-child{letter-spacing:.035em;text-transform:uppercase}
.ed-rich-table-inspector .ed-rich-select{width:100%;height:30px!important;min-height:30px!important;max-height:30px!important;max-width:none;padding:0 6px;border-color:var(--border-strong);background:var(--surface-2);font-size:10px!important}
.ed-rich-table-width-control>div{display:flex;height:30px;align-items:center;gap:5px}
.ed-rich-table-width-slider{display:flex;min-width:92px;height:30px;flex:1 1 auto;align-items:center;padding:0 8px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface-2);box-sizing:border-box}
.ed-rich-table-width-slider:has(.ed-rich-table-width-range:focus-visible){border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}
.ed-rich-table-width-range{-webkit-appearance:none!important;appearance:none!important;display:block;width:100%;min-width:70px;height:4px!important;min-height:4px!important;max-height:4px!important;flex:1 1 auto;margin:0!important;padding:0!important;border:0!important;border-radius:999px;background:var(--border-strong)!important;box-shadow:none!important;outline:0;accent-color:var(--accent)}
.ed-rich-table-width-range::-webkit-slider-runnable-track{width:100%;height:4px;border:0;border-radius:999px;background:var(--border-strong)}
.ed-rich-table-width-range::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;margin-top:-5px;border:2px solid var(--surface-2);border-radius:50%;background:var(--accent);box-shadow:0 1px 4px rgba(20,52,84,.22);cursor:pointer}
.ed-rich-table-width-range::-moz-range-track{width:100%;height:4px;border:0;border-radius:999px;background:var(--border-strong)}
.ed-rich-table-width-range::-moz-range-progress{height:4px;border-radius:999px;background:var(--accent)}
.ed-rich-table-width-range::-moz-range-thumb{width:14px;height:14px;border:2px solid var(--surface-2);border-radius:50%;background:var(--accent);box-shadow:0 1px 4px rgba(20,52,84,.22);cursor:pointer}
.ed-rich-table-width-value{display:flex;flex:0 0 62px;height:30px;align-items:center;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface-2);box-sizing:border-box}
.ed-rich-table-width-number{width:43px;height:28px!important;min-height:28px!important;max-height:28px!important;padding:0 2px 0 6px;border:0;background:transparent;color:var(--text-primary);font:inherit;font-size:10px!important;font-weight:750;outline:0}
.ed-rich-table-width-value b{color:var(--text-muted);font-size:10px}
.ed-rich-table-target-tools{display:grid;align-content:start;gap:5px}
.ed-rich-table-target-status{display:inline-flex;align-items:center;min-height:22px;padding:0 6px;border-radius:999px;background:var(--accent-bg);color:var(--accent-text);font-size:9px;font-weight:800;white-space:nowrap}
.ed-rich-table-targets{display:grid;grid-template-columns:repeat(4,minmax(62px,1fr));gap:3px}
.ed-rich-table-targets button[aria-checked="true"]{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 3px 9px color-mix(in srgb,var(--accent) 24%,transparent)}
.ed-rich-table-target-properties{display:grid;grid-template-columns:minmax(105px,.85fr) minmax(115px,1fr);align-items:end;gap:5px}
.ed-rich-table-color{display:flex;height:30px;min-height:30px;max-height:30px;align-items:center;gap:5px;padding:2px 5px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface-2);box-sizing:border-box}
.ed-rich-table-color-input{-webkit-appearance:none!important;appearance:none!important;box-sizing:border-box!important;min-height:0!important;max-height:30px!important;margin:0!important;padding:2px!important;overflow:hidden;border:1px solid var(--border-strong)!important;border-radius:7px;background:var(--surface-2)!important;cursor:pointer}
.ed-rich-table-color .ed-rich-table-color-input{width:34px!important;min-width:34px!important;max-width:34px!important;height:24px!important;min-height:24px!important;max-height:24px!important;flex:0 0 34px;border-radius:5px}
.ed-rich-table-color-input::-webkit-color-swatch-wrapper{padding:0}
.ed-rich-table-color-input::-webkit-color-swatch{border:0;border-radius:3px}
.ed-rich-table-color-input::-moz-color-swatch{border:0;border-radius:3px}
.ed-rich-table-color output{overflow:hidden;color:var(--text-muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.ed-rich-table-target-actions{display:flex;grid-column:1/-1;gap:4px;flex-wrap:wrap}
.ed-rich-table-target-actions button:last-child{margin-left:auto}
.ed-rich-table-border-tools{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:5px}
.ed-rich-table-border-group{display:grid;min-width:0;grid-template-columns:minmax(58px,1fr) minmax(58px,1fr) 48px;align-items:end;gap:4px;margin:0;padding:5px;border:1px solid var(--border);border-radius:7px}
.ed-rich-table-border-group legend{padding:0 4px;color:var(--text-primary);font-size:10px;font-weight:800}
.ed-rich-table-border-group>small{display:none}
.ed-rich-table-border-group .ed-rich-table-color-input{width:48px!important;min-width:48px!important;max-width:48px!important;height:30px!important;min-height:30px!important;max-height:30px!important}
.ed-rich-input{min-height:260px;max-height:54vh;overflow:auto;padding:14px 15px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:0 0 var(--radius) var(--radius);color:var(--text-primary);line-height:1.72;outline:none}
.ed-rich-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}
.ed-rich-input .rich-card-row.ed-rich-card-row-selected,.ed-rich-input .ed-rich-card-row-selected{position:relative;outline:2px dashed color-mix(in srgb,var(--accent) 76%,transparent);outline-offset:7px;border-radius:10px;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 8%,transparent)}
.ed-rich-input .ed-rich-object-selected{outline:3px solid color-mix(in srgb,var(--accent) 58%,transparent);outline-offset:4px;box-shadow:0 0 0 7px color-mix(in srgb,var(--accent) 11%,transparent)}
.ed-rich-input .ed-rich-object-selected::after{content:attr(data-rich-object-label) " selected";position:absolute;top:-13px;right:10px;z-index:2;display:inline-flex;align-items:center;max-width:calc(100% - 20px);height:24px;padding:0 9px;overflow:hidden;border:2px solid var(--surface-2);border-radius:999px;background:var(--accent);color:#fff;font-size:10px;font-weight:850;line-height:20px;letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;box-shadow:0 5px 14px rgba(20,52,84,.18);pointer-events:none}
.ed-rich-input table.ed-rich-object-selected::after{display:none}
.ed-rich-input table.ed-rich-table-selected{outline:3px solid color-mix(in srgb,var(--accent) 58%,transparent);outline-offset:5px}
.ed-rich-input table.ed-rich-table-target-whole{box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 13%,transparent)}
.ed-rich-input table .ed-rich-table-target{position:relative;box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--accent) 76%,transparent)!important}
.ed-rich-input .youtube-block iframe{pointer-events:none}
.ed-rich-input p{margin:.3rem 0 .75rem}
.ed-rich-input ul,.ed-rich-input ol{padding-left:1.35rem}
.ed-rich-input li{margin:.25rem 0}
.ed-rich-html-input{width:100%;min-height:320px;max-height:58vh;overflow:auto;padding:14px 15px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:0 0 var(--radius) var(--radius);color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.55;tab-size:2;resize:vertical;outline:none}
.ed-rich-html-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}
.ed-latex-panel{width:min(980px,94vw);resize:both;overflow:auto}
.ed-latex-body{display:grid;grid-template-columns:minmax(360px,1fr) minmax(280px,.8fr);gap:14px;align-items:stretch}
.ed-latex-input{min-height:190px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:15px;line-height:1.55}
.ed-latex-side{display:flex;flex-direction:column;gap:8px}
.ed-latex-label{font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}
.ed-latex-preview{min-height:118px;display:flex;align-items:center;justify-content:center;padding:12px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius);overflow:auto}
.ed-latex-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.ed-latex-examples button{height:auto;min-height:34px;padding:7px 9px;justify-content:flex-start;text-align:left;font-size:12px;background:var(--surface-2)}
@media (max-width:760px){:is(.ed-rich-card-row-tools,.ed-rich-row-controls)>[data-rich-row-state="standalone"]{align-items:stretch;flex-direction:column}:is(.ed-rich-card-row-tools,.ed-rich-row-controls)>[data-rich-row-state="standalone"]>div{justify-content:flex-start}}
@media (max-width:520px){.ed-rich-card-row-tools,.ed-rich-row-controls{padding:7px;border-left-width:3px}.ed-rich-row-property-grid{grid-template-columns:1fr 1fr}.ed-rich-row-property-grid label:has(>.ed-rich-row-marker-bg),.ed-rich-row-property-grid label:has(>.ed-rich-row-marker-text){grid-column:auto}.ed-rich-row-actions{justify-content:flex-start}.ed-rich-row-actions button{min-height:38px;flex:1 1 132px}.ed-rich-row-actions [data-rich-row-action="reset-marker-colors"]{margin-right:0}:is(.ed-rich-card-row-tools,.ed-rich-row-controls) .ed-rich-select,.ed-rich-row-marker-bg,.ed-rich-row-marker-text{height:38px}}
@media (max-width:900px){.ed-rich-object-panel{grid-template-columns:repeat(2,minmax(130px,1fr))}.ed-rich-object-panel-card{grid-template-columns:repeat(auto-fill,minmax(145px,190px))}}
@media (max-width:960px){.ed-rich-table-inspector{grid-template-columns:minmax(220px,.75fr) minmax(320px,1.25fr)}.ed-rich-table-border-tools{grid-column:1/-1}}
@media (max-width:680px){.ed-rich-table-inspector{grid-template-columns:1fr}.ed-rich-table-border-tools{grid-column:auto}}
@media (max-width:760px){.ed-latex-body{grid-template-columns:1fr}.ed-rich-math-group .ed-rich-math-input{width:160px}.ed-rich-tool-label{display:none}.ed-rich-table-group{flex:1 1 100%}.ed-rich-table-group .ed-rich-table-size{flex:1 1 150px;max-width:none}.ed-rich-table-group .ed-rich-table-style{flex:1 1 110px;max-width:none}.ed-rich-object-live{display:none}}
@media (max-width:520px){.ed-rich-object-inspector>header{flex-wrap:wrap}.ed-rich-object-done{min-height:38px;margin-left:34px}.ed-rich-object-panel,.ed-rich-object-panel-card{grid-template-columns:1fr 1fr}.ed-rich-card-copy{grid-template-columns:1fr}.ed-rich-card-copy>header{grid-column:1}.ed-rich-card-advanced>div{grid-template-columns:1fr 1fr}.ed-rich-row-overview>[data-rich-row-overview]{grid-template-columns:1fr 1fr}.ed-rich-object-panel .ed-rich-select{height:38px}.ed-rich-object-panel>label:has(>small),.ed-rich-object-panel>.ed-rich-card-row-tools,.ed-rich-object-panel>.ed-rich-row-controls{grid-column:1/-1}.ed-rich-labelled-btn span{display:inline}.ed-rich-input .ed-rich-object-selected::after{right:4px}.ed-rich-table-group{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px}.ed-rich-table-group .ed-rich-select{width:100%;min-width:0}.ed-rich-table-group .ed-rich-labelled-btn{grid-column:1/-1;margin-left:0}.ed-rich-object-panel-table{padding:6px}.ed-rich-table-inspector{grid-template-columns:1fr}.ed-rich-table-layout-tools{grid-template-columns:1fr 1fr}.ed-rich-table-width-control{grid-column:1/-1}.ed-rich-table-targets{grid-template-columns:1fr 1fr}.ed-rich-table-targets button,.ed-rich-table-inspector button{min-height:38px}.ed-rich-table-target-properties{grid-template-columns:1fr 1fr}.ed-rich-table-border-tools{grid-template-columns:1fr}.ed-rich-table-border-group{grid-template-columns:1fr 1fr 1fr}.ed-rich-table-inspector .ed-rich-select,.ed-rich-table-width-control>div,.ed-rich-table-width-slider,.ed-rich-table-width-value,.ed-rich-table-color,.ed-rich-table-border-group .ed-rich-table-color-input{height:38px!important;min-height:38px!important;max-height:38px!important}.ed-rich-table-color .ed-rich-table-color-input{height:30px!important;min-height:30px!important;max-height:30px!important}.ed-rich-table-width-number{height:36px!important;min-height:36px!important;max-height:36px!important}}
.ed-rich-svg-modal{z-index:150}
.ed-rich-svg-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;width:min(1120px,96vw);height:min(780px,92vh);overflow:hidden;resize:both}
.ed-rich-svg-panel .ed-modal-head{position:static;align-items:flex-start}
.ed-rich-svg-panel .ed-modal-head>div{min-width:0}
.ed-rich-svg-head-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.ed-rich-svg-head-actions .btn-accent{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 13px;border-radius:9px;font-size:12px;font-weight:800}
.ed-rich-svg-panel .ed-modal-head .eyebrow{color:var(--accent-text)}
.ed-rich-svg-panel .ed-modal-head h2{margin:2px 0 3px;font-size:24px}
.ed-rich-svg-panel .ed-modal-head p{margin:0;color:var(--text-muted);font-size:12px}
.ed-rich-svg-controls{display:grid;grid-template-columns:minmax(280px,1fr) minmax(180px,280px) auto;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface-1)}
.ed-rich-svg-controls label{position:relative;display:block}
.ed-rich-svg-controls label i{position:absolute;top:50%;left:12px;z-index:1;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}
.ed-rich-svg-controls input,.ed-rich-svg-controls select{width:100%;height:42px;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface-2);color:var(--text-primary);font:inherit}
.ed-rich-svg-controls input{padding:0 12px 0 38px}
.ed-rich-svg-controls select{padding:0 10px}
.ed-rich-svg-controls>button{min-height:42px;white-space:nowrap}
.ed-rich-svg-results{min-height:0;overflow:auto;padding:16px;background:color-mix(in srgb,var(--surface-1) 55%,var(--surface-2))}
.ed-rich-svg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ed-rich-svg-card{position:relative;display:grid;height:auto;min-height:250px;grid-template-rows:170px minmax(0,1fr);overflow:hidden;padding:0;text-align:left;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);color:var(--text-primary);box-shadow:none}
.ed-rich-svg-card:hover,.ed-rich-svg-card:focus-visible{border-color:var(--accent);background:var(--surface-2);box-shadow:0 10px 28px rgba(8,36,62,.12);transform:translateY(-1px)}
.ed-rich-svg-card.is-new{border-color:var(--success-text);box-shadow:0 0 0 3px color-mix(in srgb,var(--success-text) 13%,transparent)}
.ed-rich-svg-copy mark{display:inline-flex;align-items:center;gap:4px;width:max-content;max-width:100%;margin-bottom:3px;padding:3px 6px;border-radius:999px;background:var(--success-bg);color:var(--success-text);font-size:9px;font-weight:850;text-transform:uppercase}
.ed-rich-svg-preview{display:flex;align-items:center;justify-content:center;overflow:hidden;padding:12px;border-bottom:1px solid var(--border);background:var(--surface-1)}
.ed-rich-svg-preview svg{display:block;width:100%;height:100%;max-height:150px}
.ed-rich-svg-copy{display:grid;align-content:start;gap:3px;min-width:0;padding:12px 38px 12px 13px}
.ed-rich-svg-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.ed-rich-svg-copy small{color:var(--accent-text);font-size:10px;font-weight:700}
.ed-rich-svg-copy em{display:-webkit-box;overflow:hidden;margin-top:4px;color:var(--text-muted);font-size:11px;font-style:normal;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.ed-rich-svg-card>i{position:absolute;right:12px;bottom:14px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--accent-bg);color:var(--accent-text);font-size:16px}
.ed-rich-svg-loading,.ed-rich-svg-empty{display:flex;min-height:260px;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:var(--text-muted);text-align:center}
.ed-rich-svg-loading i,.ed-rich-svg-empty i{font-size:34px;color:var(--accent)}
.ed-rich-svg-loading i{animation:svg-rich-spin 1.1s linear infinite}
.ed-rich-svg-empty b{color:var(--text-primary);font-size:16px}
.ed-rich-svg-empty span{font-size:12px}
.ed-rich-svg-panel .ed-modal-actions{justify-content:flex-end}
.ed-rich-svg-panel .ed-modal-actions>span{display:inline-flex;align-items:center;gap:6px;margin-right:auto;color:var(--success-text);font-size:11px;font-weight:700}
@keyframes svg-rich-spin{to{transform:rotate(360deg)}}
@media(max-width:820px){.ed-rich-svg-panel{width:100%;height:96vh;resize:none}.ed-rich-svg-panel .ed-modal-head{gap:10px}.ed-rich-svg-head-actions .btn-accent span{display:none}.ed-rich-svg-controls{grid-template-columns:1fr}.ed-rich-svg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.ed-rich-svg-grid{grid-template-columns:1fr}.ed-rich-svg-card{min-height:220px}.ed-rich-svg-panel .ed-modal-actions>span{display:none}}
.ed-flow-page{max-width:850px;margin:0 auto;padding:.35rem .2rem 1rem}
.editor-object-shell .ed-object-layout{
  width:100%;
  max-width:none;
  margin:0;
  padding:18px clamp(16px,2vw,34px);
}
.editor-object-shell .ed-object-board{
  width:100%;
}
.editor-object-shell .ed-flow-page{
  width:100%;
  max-width:none;
  margin:0;
  padding:.35rem .2rem 1rem;
}
.ed-flow-object{position:relative;margin:.55rem 0;padding:.35rem .55rem;border:1px solid transparent;border-radius:var(--radius);transition:border-color .14s,background .14s,box-shadow .14s}
.ed-flow-object:hover{border-color:var(--accent-border);background:color-mix(in srgb,var(--accent-bg) 38%,transparent);box-shadow:0 8px 24px rgba(0,0,0,.05)}
.ed-flow-object h1{font-size:28px;line-height:1.16;margin:.55rem 0 .35rem}
.ed-flow-object h3{font-size:19px;line-height:1.35;margin:.25rem 0 .4rem}
.ed-flow-object p{color:var(--text-secondary);line-height:1.76;margin:.25rem 0}
.ed-flow-object .rich-par{margin:.25rem 0}
.ed-flow-object.is-inlineable .ed-flow-content{position:relative;border-radius:6px;cursor:text}
.ed-flow-object.is-inlineable .ed-flow-content:hover{box-shadow:inset 0 0 0 1px var(--c-lift);background:color-mix(in srgb,var(--success-bg) 42%,transparent)}
.ed-placeholder{display:flex;justify-content:flex-end;margin:.35rem 0 0}
.ed-handle{height:28px;padding:0 9px;border-radius:999px;font-size:12px;gap:5px;background:var(--surface-2);border:1px dashed var(--accent-border);color:var(--accent-text);box-shadow:none}
.ed-handle:hover{background:var(--accent-bg);border-style:solid}
.ed-handle i{font-size:14px}
.ed-handle-action{border-color:var(--border-strong);color:var(--text-secondary)}
.ed-inline-active{outline:2px solid var(--accent);outline-offset:4px;background:var(--surface-2);border-radius:6px;min-height:1.6em}
.ed-flow-content[contenteditable="true"],.ed-inline-active[contenteditable="true"]{cursor:text}
.ed-inline-actions{display:flex;justify-content:flex-end;margin:-.2rem .55rem .45rem}
.ed-section-flow-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin-bottom:.45rem}
.ed-section-flow-actions>span{margin-right:auto;font-size:12px;color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.ed-flow-section{padding:.9rem 1rem;background:var(--surface-2);border-color:var(--border)}
.ed-flow-card{margin:.1rem 0}
.ed-flow-topic{margin:.5rem 0}
.ed-flow-topic .topic-step{min-height:122px}
.ed-flow-figure{margin:.35rem 0;background:var(--surface-1)}
.ed-flow-empty{display:flex;align-items:center;justify-content:center;gap:8px;min-height:96px;border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-1);color:var(--text-muted);font-size:13px}
.ed-figure-empty{min-height:140px}
.ed-figure-empty-compact{min-height:34px;justify-content:flex-end;padding:.3rem .6rem;background:transparent;border-color:var(--accent-border);color:var(--accent-text)}
.ed-preview-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}

@media(max-width:860px){
  .sidebar{position:fixed;left:0;top:0;z-index:20;transform:translateX(-100%);transition:transform .2s;box-shadow:0 0 40px rgba(0,0,0,.15)}
  .sidebar.open{transform:translateX(0)}
  .sidebar.admin-sidebar{width:min(310px,90vw);padding-bottom:.7rem}
  .admin-side-close{display:inline-flex}
  .admin-side-top{position:sticky;top:0;z-index:2;background:color-mix(in srgb,var(--surface-1) 94%,transparent);backdrop-filter:blur(8px)}
  .brand-sub{display:none}
  .zoom-ctl{display:none}
  .appr-panel{right:-8px;width:min(286px,calc(100vw - 24px))}
  .theme-swatch{width:32px;height:32px}
  .editor-ribbon{top:var(--topbar-height)}
  [data-edit="1"] .topbar{display:flex}
  .editor-head{align-items:stretch;flex-direction:column}
  .editor-week{width:100%;min-width:0}
  .editor-grid{grid-template-columns:1fr}
  .editor-preview{position:static;max-height:none}
  .ed-two{grid-template-columns:1fr}
  .editor-fullbar{position:static;grid-template-columns:1fr;align-items:stretch}
  .editor-actions{justify-content:flex-start}
  .ed-object-layout{padding:10px}
  .ed-object-board{padding:.75rem}
  .ed-doc-title{grid-template-columns:1fr}
  .ed-doc-section-head{align-items:flex-start;flex-direction:column}
  .ed-section-actions{width:100%;justify-content:flex-start}
  .ed-object{grid-template-columns:auto minmax(0,1fr) auto}
  .ed-object-meta{display:none}
  .ed-flow-page{max-width:none}
  .ed-flow-object{padding:.3rem}
  .ed-placeholder,.ed-inline-actions,.ed-section-flow-actions{justify-content:flex-start}
  .ed-modal-panel{min-width:0;resize:vertical}
  .listen-controls,.listen-audio{justify-content:flex-start;min-width:0}
  .listen-btn{flex:0 0 auto}
  .listen-meter{flex:1 1 100%;min-width:0;order:3}
  .listen-meter-tts{order:4}
  .listen-rate{flex:0 0 96px}
  .listen-voice{flex:1 1 180px;max-width:none}
  .listen-toggle-summary{gap:6px}.listen-duration{display:none}
}
@media(min-width:861px){
  .app.sidebar-collapsed .sidebar{display:none}
  .app.sidebar-collapsed .content{width:100%}
  .app.sidebar-collapsed main,.app.sidebar-collapsed .foot{margin-right:auto;margin-left:auto}
}
.topbar-left{display:flex;min-width:0;flex:1 1 300px;align-items:center;gap:10px}
@container app-content (max-width:980px){
  .topbar .brand-sub{display:none}
  .content-editing-marker{padding:0 9px;font-size:11px}
}
@container app-content (max-width:720px){
  .topbar .zoom-ctl{display:none}
  .topbar .greeting{display:none}
  .content-editing-marker span{display:none}
  .content-editing-marker{width:32px;padding:0;justify-content:center}
}
[data-present] .sidebar,[data-present] .topbar,[data-present] .foot{display:none}
[data-present] main{max-width:1080px;margin:0 auto;padding-top:2.4rem}
.present-exit{position:fixed;top:14px;right:16px;z-index:80;display:none;align-items:center;gap:6px;font-size:13px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:99px;padding:8px 14px;cursor:pointer;color:var(--text-primary);box-shadow:0 4px 16px rgba(0,0,0,.15)}
[data-present] .present-exit{display:inline-flex}

/* Student study mode: an intentionally isolated, single-week workspace. */
.study-mode-bar{display:none}
[data-study-mode]{--study-bg:#F7F9FA;--study-pattern:rgba(49,82,110,.10)}
[data-study-mode] body{background-color:var(--study-bg);background-image:radial-gradient(circle,var(--study-pattern) .7px,transparent .85px);background-position:0 0;background-size:26px 26px}
[data-study-mode] .sidebar,[data-study-mode] .topbar,[data-study-mode] .foot,[data-study-mode] .week-standard-head,[data-study-mode] .week-neighbor-nav{display:none!important}
[data-study-mode] .app{display:block;min-height:100vh}
[data-study-mode] .content{width:100%;min-height:100vh}
[data-study-mode] main{max-width:1320px;margin:0 auto;padding:18px clamp(14px,3vw,34px) 48px}
[data-study-mode] .study-mode-bar{position:sticky;top:0;z-index:28;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:-18px calc(0px - clamp(14px,3vw,34px)) 22px;padding:12px clamp(14px,3vw,34px);border-bottom:2px solid var(--accent);background:color-mix(in srgb,var(--surface-1) 90%,var(--accent-bg));box-shadow:0 8px 24px rgba(20,35,50,.08)}
[data-study-mode] .week-nav{margin:0 0 20px;padding:11px;border:1px solid var(--accent-border);border-radius:9px;background:color-mix(in srgb,var(--surface-1) 96%,var(--accent-bg));box-shadow:inset 0 3px 0 var(--accent),0 7px 22px rgba(20,35,50,.07)}
[data-study-mode] .week-nav-label{margin:0 3px 9px;color:var(--text-muted)}
[data-study-mode] .tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:0;border:0;border-radius:0;background:transparent;background-image:none;box-shadow:none}
[data-study-mode] .tab{min-height:48px;padding:8px 10px;border:1px solid transparent;background:var(--surface-2);white-space:normal;line-height:1.25}
[data-study-mode] .tab:hover{border-color:var(--accent-border);background:var(--accent-bg);box-shadow:none}
[data-study-mode] .tab.active,[data-study-mode] .tab.active:hover{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 3px 9px color-mix(in srgb,var(--accent) 24%,transparent)}
.study-mode-identity,.study-mode-actions{display:flex;align-items:center;gap:11px;min-width:0}.study-mode-mark{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:8px;background:var(--accent);color:#fff;font-size:21px}.study-mode-identity>span:last-child{display:flex;min-width:0;flex-direction:column;gap:2px}.study-mode-identity small{color:var(--accent-text);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.study-mode-identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.study-mode-actions>span{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-size:11px;font-weight:700}.study-mode-actions>span i{color:var(--accent-text);font-size:16px}.study-mode-notes,.study-mode-exit{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:8px 12px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface-1);color:var(--text-primary);font:700 11px var(--font);cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease,box-shadow .15s ease,filter .15s ease}.study-mode-notes{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 20%,transparent)}.study-mode-notes i,.study-mode-exit i{color:inherit;pointer-events:none}.study-mode-notes:hover,.study-mode-notes:focus-visible,.study-mode-notes:active{border-color:var(--accent)!important;background:var(--accent)!important;color:#fff!important;-webkit-text-fill-color:#fff;filter:brightness(.92);transform:none}.study-mode-exit:hover,.study-mode-exit:focus-visible{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-text);filter:none;transform:none}.study-mode-exit:active{border-color:var(--accent);background:color-mix(in srgb,var(--accent-bg) 72%,var(--surface-1));color:var(--accent-text);transform:none}
.study-appearance-wrap{position:relative}.study-mode-appearance{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:8px 11px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface-1);color:var(--text-primary);font:700 11px var(--font);cursor:pointer}.study-mode-appearance i{color:var(--accent);font-size:16px;pointer-events:none}.study-mode-appearance:hover,.study-mode-appearance:focus-visible,.study-mode-appearance[aria-expanded="true"]{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-text);filter:none;transform:none}.study-appearance-panel{position:absolute;z-index:36;top:calc(100% + 8px);right:0;width:min(390px,calc(100vw - 28px));padding:13px;border:1px solid var(--accent-border);border-top:3px solid var(--accent);border-radius:8px;background:var(--surface-2);box-shadow:0 18px 46px rgba(10,25,40,.2)}.study-appearance-panel[hidden]{display:none}.study-appearance-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:11px}.study-appearance-head b{font-size:12px}.study-appearance-head small{color:var(--text-muted);font-size:8.5px}.study-appearance-label{display:block;margin:9px 0 5px;color:var(--text-muted);font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.study-background-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.study-background-options button{display:flex;min-width:0;min-height:53px;align-items:center;justify-content:center;gap:5px;flex-direction:column;padding:6px;border:1px solid var(--border);border-radius:6px;background-color:var(--surface-1);color:var(--text-secondary);font:700 8.5px var(--font);cursor:pointer}.study-background-options button i{color:var(--accent);font-size:18px}.study-background-options button:hover,.study-background-options button.active{border-color:var(--accent);color:var(--accent-text);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 20%,transparent)}.study-background-options button[data-study-background-choice="grid"]{background-color:#F7F9FA;background-image:radial-gradient(circle,rgba(49,82,110,.18) .7px,transparent .85px);background-size:13px 13px}.study-background-options button[data-study-background-choice="sky"]{background-color:#F5FAFD;background-image:repeating-linear-gradient(0deg,rgba(55,138,221,.06) 0,rgba(55,138,221,.06) 1px,transparent 1px,transparent 18px)}.study-background-options button[data-study-background-choice="blueprint"]{background-color:#F0F6FA;background-image:linear-gradient(rgba(24,95,165,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(24,95,165,.08) 1px,transparent 1px);background-size:16px 16px}.study-background-options button[data-study-background-choice="graph"]{background-color:#F7FBFC;background-image:linear-gradient(rgba(40,126,156,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(40,126,156,.13) 1px,transparent 1px),linear-gradient(rgba(40,126,156,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(40,126,156,.05) 1px,transparent 1px);background-size:20px 20px,20px 20px,5px 5px,5px 5px}.study-background-options button[data-study-background-choice="ruled"]{background-color:#FCFBF7;background-image:linear-gradient(90deg,transparent 0,transparent 18px,rgba(205,93,103,.14) 18px,rgba(205,93,103,.14) 19px,transparent 19px),repeating-linear-gradient(0deg,transparent 0,transparent 12px,rgba(67,130,180,.13) 12px,rgba(67,130,180,.13) 13px)}.study-background-options button[data-study-background-choice="flightlog"]{background-color:#F7FAF7;background-image:linear-gradient(90deg,transparent 0,transparent 32%,rgba(52,122,116,.11) 32%,rgba(52,122,116,.11) calc(32% + 1px),transparent calc(32% + 1px),transparent 67%,rgba(52,122,116,.11) 67%,rgba(52,122,116,.11) calc(67% + 1px),transparent calc(67% + 1px)),repeating-linear-gradient(0deg,rgba(52,122,116,.04) 0,rgba(52,122,116,.04) 1px,transparent 1px,transparent 13px)}.study-background-options button[data-study-background-choice="paper"]{background-color:#FCFAF4;background-image:repeating-linear-gradient(0deg,rgba(117,104,72,.035) 0,rgba(117,104,72,.035) 1px,transparent 1px,transparent 7px)}.study-background-options button[data-study-background-choice="dusk"]{background-color:#F4F3F7;background-image:radial-gradient(circle,rgba(92,83,118,.12) .7px,transparent .85px);background-size:14px 14px}.study-background-options button[data-study-background-choice="clear"]{background:#fff}.study-accent-options{display:flex;align-items:center;gap:8px}.study-accent-options button{display:grid;place-items:center;width:31px;height:31px;padding:0;border:2px solid transparent;border-radius:50%;background:transparent;cursor:pointer}.study-accent-options button>span{display:block;width:21px;height:21px;border:2px solid rgba(255,255,255,.75);border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px rgba(0,0,0,.18)}.study-accent-options button[data-study-accent-choice="blue"]>span{background:#185FA5}.study-accent-options button[data-study-accent-choice="teal"]>span{background:#087E8B}.study-accent-options button[data-study-accent-choice="amber"]>span{background:#B86B12}.study-accent-options button[data-study-accent-choice="rose"]>span{background:#B54268}.study-accent-options button[data-study-accent-choice="violet"]>span{background:#6E56CF}.study-accent-options button.active{border-color:var(--text-primary)}
[data-study-mode][data-study-accent="blue"]{--accent:#185FA5!important;--accent-bg:#E6F1FB!important;--accent-text:#0C447C!important;--accent-border:#85B7EB!important}
[data-study-mode][data-study-accent="teal"]{--accent:#087E8B!important;--accent-bg:#DDF5F4!important;--accent-text:#075B63!important;--accent-border:#79CACB!important}
[data-study-mode][data-study-accent="amber"]{--accent:#B86B12!important;--accent-bg:#FFF0D8!important;--accent-text:#754307!important;--accent-border:#E2B66F!important}
[data-study-mode][data-study-accent="rose"]{--accent:#B54268!important;--accent-bg:#FBE7EE!important;--accent-text:#7D2947!important;--accent-border:#DEA0B7!important}
[data-study-mode][data-study-accent="violet"]{--accent:#6E56CF!important;--accent-bg:#EEEAFB!important;--accent-text:#44348A!important;--accent-border:#B8AAEA!important}
[data-study-mode][data-study-background="sky"] body{background-color:#F5FAFD;background-image:repeating-linear-gradient(0deg,rgba(55,138,221,.032) 0,rgba(55,138,221,.032) 1px,transparent 1px,transparent 64px)}
[data-study-mode][data-study-background="blueprint"] body{background-color:#F0F6FA;background-image:linear-gradient(rgba(24,95,165,.052) 1px,transparent 1px),linear-gradient(90deg,rgba(24,95,165,.052) 1px,transparent 1px),linear-gradient(rgba(24,95,165,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(24,95,165,.022) 1px,transparent 1px);background-size:56px 56px,56px 56px,14px 14px,14px 14px}
[data-study-mode][data-study-background="graph"] body{background-color:#F7FBFC;background-image:linear-gradient(rgba(40,126,156,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(40,126,156,.075) 1px,transparent 1px),linear-gradient(rgba(40,126,156,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(40,126,156,.028) 1px,transparent 1px);background-size:80px 80px,80px 80px,16px 16px,16px 16px}
[data-study-mode][data-study-background="ruled"] body{background-color:#FCFBF7;background-image:linear-gradient(90deg,transparent 0,transparent 72px,rgba(205,93,103,.075) 72px,rgba(205,93,103,.075) 73px,transparent 73px),repeating-linear-gradient(0deg,transparent 0,transparent 31px,rgba(67,130,180,.075) 31px,rgba(67,130,180,.075) 32px)}
[data-study-mode][data-study-background="flightlog"] body{background-color:#F7FAF7;background-image:linear-gradient(90deg,transparent 0,transparent 24%,rgba(52,122,116,.065) 24%,rgba(52,122,116,.065) calc(24% + 1px),transparent calc(24% + 1px),transparent 57%,rgba(52,122,116,.065) 57%,rgba(52,122,116,.065) calc(57% + 1px),transparent calc(57% + 1px),transparent 80%,rgba(52,122,116,.065) 80%,rgba(52,122,116,.065) calc(80% + 1px),transparent calc(80% + 1px)),repeating-linear-gradient(0deg,rgba(52,122,116,.034) 0,rgba(52,122,116,.034) 1px,transparent 1px,transparent 48px)}
[data-study-mode][data-study-background="paper"] body{background-color:#FCFAF4;background-image:repeating-linear-gradient(0deg,rgba(117,104,72,.017) 0,rgba(117,104,72,.017) 1px,transparent 1px,transparent 7px),repeating-linear-gradient(90deg,rgba(117,104,72,.012) 0,rgba(117,104,72,.012) 1px,transparent 1px,transparent 11px)}
[data-study-mode][data-study-background="dusk"] body{background-color:#F4F3F7;background-image:radial-gradient(circle,rgba(92,83,118,.075) .7px,transparent .85px);background-size:28px 28px}
[data-study-mode][data-study-background="clear"] body{background:var(--bg);background-image:none}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode]{--study-bg:#1D2022;--study-pattern:rgba(170,187,200,.11)}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode][data-study-accent="blue"]{--accent:#65A9EA!important;--accent-bg:#183A58!important;--accent-text:#C6E2FB!important;--accent-border:#326996!important}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode][data-study-accent="teal"]{--accent:#4CC4C7!important;--accent-bg:#153F40!important;--accent-text:#BDEDEE!important;--accent-border:#2A7476!important}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode][data-study-accent="amber"]{--accent:#E2A85A!important;--accent-bg:#4B351A!important;--accent-text:#FFE0AE!important;--accent-border:#8B6736!important}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode][data-study-accent="rose"]{--accent:#E17B9D!important;--accent-bg:#4A2432!important;--accent-text:#F7C3D4!important;--accent-border:#8A4860!important}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode][data-study-accent="violet"]{--accent:#9D8AE8!important;--accent-bg:#342D5A!important;--accent-text:#DED6FC!important;--accent-border:#6656A7!important}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode][data-study-background="sky"] body{background-color:#172128;background-image:repeating-linear-gradient(0deg,rgba(95,160,210,.065) 0,rgba(95,160,210,.065) 1px,transparent 1px,transparent 64px)}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode][data-study-background="blueprint"] body{background-color:#142332;background-image:linear-gradient(rgba(110,174,224,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(110,174,224,.09) 1px,transparent 1px),linear-gradient(rgba(110,174,224,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(110,174,224,.035) 1px,transparent 1px);background-size:56px 56px,56px 56px,14px 14px,14px 14px}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode][data-study-background="graph"] body{background-color:#142729;background-image:linear-gradient(rgba(94,190,198,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(94,190,198,.10) 1px,transparent 1px),linear-gradient(rgba(94,190,198,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(94,190,198,.035) 1px,transparent 1px);background-size:80px 80px,80px 80px,16px 16px,16px 16px}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode][data-study-background="ruled"] body{background-color:#211F1C;background-image:linear-gradient(90deg,transparent 0,transparent 72px,rgba(220,111,123,.12) 72px,rgba(220,111,123,.12) 73px,transparent 73px),repeating-linear-gradient(0deg,transparent 0,transparent 31px,rgba(101,163,209,.11) 31px,rgba(101,163,209,.11) 32px)}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode][data-study-background="flightlog"] body{background-color:#182521;background-image:linear-gradient(90deg,transparent 0,transparent 24%,rgba(102,192,174,.10) 24%,rgba(102,192,174,.10) calc(24% + 1px),transparent calc(24% + 1px),transparent 57%,rgba(102,192,174,.10) 57%,rgba(102,192,174,.10) calc(57% + 1px),transparent calc(57% + 1px),transparent 80%,rgba(102,192,174,.10) 80%,rgba(102,192,174,.10) calc(80% + 1px),transparent calc(80% + 1px)),repeating-linear-gradient(0deg,rgba(102,192,174,.06) 0,rgba(102,192,174,.06) 1px,transparent 1px,transparent 48px)}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode][data-study-background="paper"] body{background-color:#211F1A;background-image:repeating-linear-gradient(0deg,rgba(213,193,139,.04) 0,rgba(213,193,139,.04) 1px,transparent 1px,transparent 7px),repeating-linear-gradient(90deg,rgba(213,193,139,.025) 0,rgba(213,193,139,.025) 1px,transparent 1px,transparent 11px)}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode][data-study-background="dusk"] body{background-color:#211E27;background-image:radial-gradient(circle,rgba(161,143,199,.11) .7px,transparent .85px);background-size:28px 28px}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode][data-study-background="clear"] body{background:var(--bg);background-image:none}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode] .study-background-options button[data-study-background-choice="grid"]{background-color:#1D2022;background-image:radial-gradient(circle,rgba(170,187,200,.17) .7px,transparent .85px)}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode] .study-background-options button[data-study-background-choice="sky"]{background-color:#172128;background-image:repeating-linear-gradient(0deg,rgba(95,160,210,.10) 0,rgba(95,160,210,.10) 1px,transparent 1px,transparent 18px)}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode] .study-background-options button[data-study-background-choice="blueprint"]{background-color:#142332;background-image:linear-gradient(rgba(110,174,224,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(110,174,224,.13) 1px,transparent 1px)}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode] .study-background-options button[data-study-background-choice="graph"]{background-color:#142729;background-image:linear-gradient(rgba(94,190,198,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(94,190,198,.15) 1px,transparent 1px),linear-gradient(rgba(94,190,198,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(94,190,198,.05) 1px,transparent 1px);background-size:20px 20px,20px 20px,5px 5px,5px 5px}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode] .study-background-options button[data-study-background-choice="ruled"]{background-color:#211F1C;background-image:linear-gradient(90deg,transparent 0,transparent 18px,rgba(220,111,123,.17) 18px,rgba(220,111,123,.17) 19px,transparent 19px),repeating-linear-gradient(0deg,transparent 0,transparent 12px,rgba(101,163,209,.16) 12px,rgba(101,163,209,.16) 13px)}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode] .study-background-options button[data-study-background-choice="flightlog"]{background-color:#182521;background-image:linear-gradient(90deg,transparent 0,transparent 32%,rgba(102,192,174,.15) 32%,rgba(102,192,174,.15) calc(32% + 1px),transparent calc(32% + 1px),transparent 67%,rgba(102,192,174,.15) 67%,rgba(102,192,174,.15) calc(67% + 1px),transparent calc(67% + 1px)),repeating-linear-gradient(0deg,rgba(102,192,174,.08) 0,rgba(102,192,174,.08) 1px,transparent 1px,transparent 13px)}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode] .study-background-options button[data-study-background-choice="paper"]{background-color:#211F1A;background-image:repeating-linear-gradient(0deg,rgba(213,193,139,.07) 0,rgba(213,193,139,.07) 1px,transparent 1px,transparent 7px)}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode] .study-background-options button[data-study-background-choice="dusk"]{background-color:#211E27;background-image:radial-gradient(circle,rgba(161,143,199,.16) .7px,transparent .85px)}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode] .study-background-options button[data-study-background-choice="clear"]{background:var(--bg)}
@media(max-width:900px){[data-study-mode] .tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){[data-study-mode] .study-mode-bar{align-items:stretch;flex-direction:column;gap:9px}.study-mode-actions{justify-content:space-between;padding-left:51px}.study-mode-identity strong{white-space:normal}.study-mode-actions>span{font-size:10px}}
@media(max-width:430px){[data-study-mode] .tabs{grid-template-columns:1fr}.study-mode-actions{align-items:stretch;flex-direction:column;padding-left:0}.study-mode-notes,.study-mode-exit{width:100%}}

/* Private study notebook */
body.study-notebook-docked .app{width:calc(100% - clamp(520px,46vw,760px) - 18px);transition:width .2s ease}
.study-notebook-modal{position:fixed;inset:0;z-index:3000;pointer-events:none}
.study-notebook-shell{position:absolute;top:50%;left:50%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(1180px,calc(100vw - 56px));height:min(820px,calc(100dvh - 56px));overflow:hidden;transform:translate(-50%,-50%);pointer-events:auto;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-1);box-shadow:0 24px 72px rgba(5,16,28,.28);transition:width .2s ease,height .2s ease,top .2s ease,left .2s ease,right .2s ease,bottom .2s ease,transform .2s ease,border-radius .2s ease}
.study-notebook-dragging .study-notebook-shell{transition:none}
.study-notebook-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:13px 14px 13px 18px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--accent-bg) 35%,var(--surface-1));user-select:none}
.study-notebook-drag-handle{min-width:0;flex:1;cursor:grab;touch-action:none}.study-notebook-dragging .study-notebook-drag-handle{cursor:grabbing}.study-notebook-drag-handle>span{display:inline-flex;align-items:center;gap:6px;color:var(--accent-text);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.study-notebook-head h2{overflow:hidden;margin:3px 0 2px;font-size:21px;text-overflow:ellipsis;white-space:nowrap}.study-notebook-head p{overflow:hidden;margin:0;color:var(--text-muted);font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.study-notebook-window-controls{display:flex;align-items:center;gap:5px;flex:0 0 auto}.study-notebook-window-controls .icon-btn{flex:0 0 34px;width:34px;height:34px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-1);color:var(--text-secondary);font-size:17px;filter:none;transform:none;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.study-notebook-window-controls .icon-btn>i{color:inherit;pointer-events:none}.study-notebook-window-controls .icon-btn:hover:not(:disabled),.study-notebook-window-controls .icon-btn:focus-visible{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-text);box-shadow:none;filter:none;transform:none}.study-notebook-window-controls button[aria-pressed="true"],.study-notebook-window-controls button[aria-pressed="true"]:hover{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-text);filter:none;transform:none}.study-notebook-window-controls [data-study-close]:hover:not(:disabled),.study-notebook-window-controls [data-study-close]:focus-visible{border-color:color-mix(in srgb,var(--danger-text) 45%,var(--border));background:var(--danger-bg);color:var(--danger-text)}.study-notebook-window-controls button:disabled{opacity:.35;cursor:not-allowed}
.study-notebook-modal[data-window-mode="docked"] .study-notebook-shell{top:9px;right:9px;bottom:9px;left:auto;width:clamp(520px,46vw,760px);height:auto;transform:none;border-radius:8px;box-shadow:0 16px 48px rgba(5,16,28,.22)}
.study-notebook-modal[data-window-mode="fullscreen"] .study-notebook-shell{inset:0;width:100vw;height:100dvh;transform:none;border:0;border-radius:0;box-shadow:none}
.study-notebook-modal[data-window-mode="minimized"] .study-notebook-shell{top:auto;right:16px;bottom:16px;left:auto;width:min(420px,calc(100vw - 32px));height:66px;transform:none;border-color:var(--accent-border);border-radius:8px;box-shadow:0 14px 38px rgba(5,16,28,.26)}
.study-notebook-modal[data-window-mode="minimized"] .study-notebook-body,.study-notebook-modal[data-window-mode="minimized"] .study-notebook-foot{display:none}.study-notebook-modal[data-window-mode="minimized"] .study-notebook-head{align-items:center;height:100%;padding:9px 10px 9px 14px;border:0}.study-notebook-modal[data-window-mode="minimized"] .study-notebook-drag-handle{cursor:default}.study-notebook-modal[data-window-mode="minimized"] .study-notebook-drag-handle>span,.study-notebook-modal[data-window-mode="minimized"] .study-notebook-head p{display:none}.study-notebook-modal[data-window-mode="minimized"] .study-notebook-head h2{margin:0;font-size:13px}.study-notebook-modal[data-window-mode="minimized"] [data-study-dock],.study-notebook-modal[data-window-mode="minimized"] [data-study-fullscreen]{display:none}
.study-notebook-body{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:0}
.study-checkpoint-nav{display:grid;grid-template-rows:auto auto minmax(0,1fr);min-height:0;border-right:1px solid var(--border);background:var(--surface-2)}
.study-checkpoint-nav-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 14px 8px}.study-checkpoint-nav-head>div{display:flex;flex-direction:column}.study-checkpoint-nav-head b{font-size:13px}.study-checkpoint-nav-head span{color:var(--text-muted);font-size:9px}.study-checkpoint-nav-head button{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border:1px solid var(--accent);border-radius:6px;background:var(--accent);color:#fff;cursor:pointer}
.study-checkpoint-search{position:relative;display:block;margin:0 12px 10px}.study-checkpoint-search i{position:absolute;top:50%;left:10px;transform:translateY(-50%);color:var(--text-muted);font-size:16px;pointer-events:none}.study-checkpoint-search input{width:100%;height:38px;padding:0 10px 0 34px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-1);color:var(--text);font:11px var(--font)}
.study-checkpoint-list{min-height:0;overflow:auto;padding:0 8px 12px}.study-checkpoint-item{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;min-height:62px;margin:0 0 5px;padding:8px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.study-checkpoint-item:hover{border-color:var(--border);background:var(--surface-1)}.study-checkpoint-item.active{border-color:var(--accent);background:var(--accent-bg);box-shadow:inset 3px 0 var(--accent)}.study-checkpoint-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:6px;background:var(--surface-1);color:var(--accent-text);font-size:16px}.study-checkpoint-item.active .study-checkpoint-icon{background:var(--accent);color:#fff}.study-checkpoint-item>span:nth-child(2){display:flex;min-width:0;flex-direction:column;gap:2px}.study-checkpoint-item b,.study-checkpoint-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.study-checkpoint-item b{font-size:10.5px}.study-checkpoint-item small{color:var(--text-muted);font-size:8px}.study-checkpoint-item em{display:inline-flex;align-items:center;gap:3px;color:var(--text-muted);font-size:8px;font-style:normal}.study-checkpoint-empty,.study-checkpoint-loading{display:flex;align-items:center;justify-content:center;min-height:150px;flex-direction:column;gap:6px;padding:18px;color:var(--text-muted);text-align:center}.study-checkpoint-empty i{font-size:25px}.study-checkpoint-empty b{color:var(--text-secondary);font-size:11px}.study-checkpoint-empty span{font-size:9px;line-height:1.4}.study-checkpoint-loading{flex-direction:row;min-height:120px;font-size:10px}.study-checkpoint-loading i{animation:career-spin 1s linear infinite}
.study-notebook-editor{min-width:0;min-height:0;overflow:auto;padding:17px 18px 22px}.study-editor-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:11px}.study-editor-head>label{display:flex;min-width:260px;max-width:720px;flex:1;flex-direction:column;gap:5px}.study-editor-head label>span{color:var(--text-muted);font-size:8.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.study-editor-head input{width:100%;height:43px;padding:0 11px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-1);color:var(--text);font:700 14px var(--font)}.study-editor-meta{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.study-editor-meta span{display:inline-flex;align-items:center;gap:4px;padding:5px 7px;border-radius:999px;background:var(--surface-2);color:var(--text-muted);font-size:8.5px;font-weight:700}
.study-editor-tabs{display:flex;align-items:center;gap:5px;margin-bottom:10px;border-bottom:1px solid var(--border)}.study-editor-tabs button{display:inline-flex;align-items:center;gap:6px;min-height:39px;margin-bottom:-1px;padding:8px 12px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--text-secondary);font:800 10.5px var(--font);cursor:pointer}.study-editor-tabs button:hover{color:var(--accent-text)}.study-editor-tabs button.active{border-bottom-color:var(--accent);color:var(--accent-text)}
.study-editor-panel{display:none}.study-editor-panel.active{display:block}.study-note-toolbar{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:7px;border:1px solid var(--border-strong);border-bottom:0;border-radius:7px 7px 0 0;background:var(--surface-2)}.study-history-controls{display:inline-flex;align-items:center;gap:3px;margin-right:3px;padding-right:6px;border-right:1px solid var(--border)}.study-note-toolbar button{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--border);border-radius:5px;background:var(--surface-1);color:var(--text);cursor:pointer}.study-note-toolbar button:hover:not(:disabled){border-color:var(--accent);color:var(--accent-text)}.study-note-toolbar button:disabled{opacity:.38;cursor:not-allowed}.study-note-input{min-height:430px;padding:18px;border:1px solid var(--border-strong);border-radius:0 0 7px 7px;background:var(--surface-1);color:var(--text);font-size:13px;line-height:1.65;outline:none}.study-note-input:empty:before{content:attr(data-placeholder);color:var(--text-muted);pointer-events:none}.study-note-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg)}
.study-diagram-tools{display:grid;min-width:0;gap:6px;margin-bottom:9px;padding:8px;border:1px solid var(--border);border-radius:7px;background:var(--surface-2)}.study-diagram-toolset{display:flex;min-width:0;align-items:center;gap:5px;flex-wrap:wrap}.study-diagram-toolset[hidden],.study-emoji-strip[hidden],.study-modify-inspector[hidden]{display:none!important}.study-tool-label{padding:0 4px;color:var(--text-muted);font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.study-tool-label:not(:first-child){margin-left:5px;padding-left:10px;border-left:1px solid var(--border)}.study-diagram-toolset button{position:relative;display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;padding:0;border:1px solid var(--border);border-radius:5px;background:var(--surface-1);color:var(--text-secondary);cursor:pointer}.study-diagram-toolset button i{font-size:18px}.study-diagram-toolset button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.study-diagram-toolset button:hover,.study-diagram-toolset button.active{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-text)}.study-diagram-properties{display:grid;grid-template-columns:86px minmax(150px,250px) minmax(150px,290px);align-items:end;justify-content:start;gap:7px;padding-top:7px;border-top:1px solid var(--border)}.study-diagram-properties label{display:flex;min-width:0;flex-direction:column;gap:4px}.study-diagram-properties label>span{overflow:hidden;color:var(--text-muted);font-size:8px;font-weight:800;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.study-diagram-properties input{width:100%;height:34px;padding:4px 8px;border:1px solid var(--border-strong);border-radius:5px;background:var(--surface-1);color:var(--text);font:10px var(--font)}.study-diagram-properties input:disabled{opacity:.48;cursor:not-allowed}.study-diagram-properties input[type=color]{padding:3px}.study-size-control input{padding:0}.study-diagram-tools[data-active-tool="emoji"] .study-diagram-properties label:last-child{max-width:150px}.study-emoji-strip{display:flex;min-width:0;align-items:center;gap:4px;overflow-x:auto;padding:1px 0}.study-emoji-strip button{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border:1px solid var(--border);border-radius:5px;background:var(--surface-1);font-size:16px;cursor:pointer}.study-emoji-strip button:hover,.study-emoji-strip button.active{border-color:var(--accent);background:var(--accent-bg);box-shadow:inset 0 0 0 1px var(--accent)}.study-modify-inspector{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:10px;padding:7px 8px;border:1px solid var(--accent-border);border-radius:6px;background:color-mix(in srgb,var(--accent-bg) 60%,var(--surface-1))}.study-modify-inspector>span{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 7px;min-width:0}.study-modify-inspector>span>i{grid-row:1/3;color:var(--accent-text);font-size:20px}.study-modify-inspector b{overflow:hidden;color:var(--text);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.study-modify-inspector small{overflow:hidden;color:var(--text-muted);font-size:8.5px;text-overflow:ellipsis;white-space:nowrap}.study-modify-inspector>div{display:flex;min-width:0;align-items:center;gap:5px;flex:0 1 auto;flex-wrap:wrap}.study-modify-inspector button{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:5px 8px;border:1px solid var(--border-strong);border-radius:5px;background:var(--surface-1);color:var(--text-secondary);font:700 8.5px var(--font);cursor:pointer}.study-modify-inspector button:hover:not(:disabled){border-color:var(--accent);color:var(--accent-text)}.study-modify-inspector button.danger{color:var(--danger-text)}.study-modify-inspector button:disabled{opacity:.4;cursor:not-allowed}
.study-canvas-wrap{position:relative;width:100%;overflow:hidden;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface-1)}.study-diagram-canvas{display:block;width:100%;height:auto;aspect-ratio:900/520;min-height:300px;color:var(--border-strong);cursor:crosshair;touch-action:none;user-select:none}.study-diagram-object{cursor:grab}.study-diagram-object:active{cursor:grabbing}.study-object-hit-area{fill:transparent;stroke:none;pointer-events:all}.study-diagram-object.selected>path:not(.study-bezier-guides path),.study-diagram-object.selected>line,.study-diagram-object.selected>circle:not(.study-bezier-guides circle),.study-diagram-object.selected>ellipse{filter:drop-shadow(0 0 4px color-mix(in srgb,var(--accent) 65%,transparent))}.study-object-label{paint-order:stroke;stroke:var(--surface-1);stroke-width:4px;stroke-linejoin:round;pointer-events:none}.study-bezier-guides path{fill:none;stroke:var(--text-muted);stroke-width:1.5;stroke-dasharray:6 5;vector-effect:non-scaling-stroke;pointer-events:none}.study-bezier-guides circle{fill:var(--surface-1);stroke:var(--accent);stroke-width:3;vector-effect:non-scaling-stroke;cursor:move}.study-diagram-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 1px 0}.study-diagram-foot>span{color:var(--text-muted);font-size:9px}.study-diagram-foot>div{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}.study-diagram-foot button{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:6px 8px;border:1px solid var(--border);border-radius:5px;background:var(--surface-1);color:var(--text-secondary);font:700 8.5px var(--font);cursor:pointer}.study-diagram-foot button:hover:not(:disabled){border-color:var(--accent);color:var(--accent-text)}.study-diagram-foot button:disabled{opacity:.4;cursor:not-allowed}
.study-notebook-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:62px;padding:10px 16px;border-top:1px solid var(--border);background:var(--surface-2)}.study-notebook-status{color:var(--text-muted);font-size:10px}.study-notebook-status.dirty{color:#8A5700}.study-notebook-status.error{color:var(--danger-text)}.study-notebook-status.saved{color:#176B3A}.study-notebook-status.working{color:var(--accent-text)}.study-notebook-foot>div{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.study-notebook-foot button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:39px;padding:8px 11px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-1);color:var(--text);font:700 10px var(--font);cursor:pointer}.study-notebook-foot .study-delete-checkpoint{color:var(--danger-text)}.study-notebook-foot .btn-accent{border-color:var(--accent);background:var(--accent);color:#fff}

.study-notebook-modal{--study-paper:#FFFEFB;--study-paper-ink:#202B34;--study-paper-rule:rgba(55,101,145,.09);--study-paper-major:rgba(55,101,145,.15);--study-watermark:rgba(24,95,165,.052)}
.study-notebook-modal[data-page-color="ivory"]{--study-paper:#FFFBF1;--study-paper-ink:#39342A;--study-paper-rule:rgba(132,104,51,.085);--study-paper-major:rgba(132,104,51,.14);--study-watermark:rgba(150,101,20,.048)}
.study-notebook-modal[data-page-color="sky"]{--study-paper:#F5FAFE;--study-paper-ink:#17354C;--study-paper-rule:rgba(34,118,181,.085);--study-paper-major:rgba(34,118,181,.14);--study-watermark:rgba(24,95,165,.052)}
.study-notebook-modal[data-page-color="mint"]{--study-paper:#F5FBF8;--study-paper-ink:#19382E;--study-paper-rule:rgba(26,128,91,.08);--study-paper-major:rgba(26,128,91,.135);--study-watermark:rgba(13,120,84,.05)}
.study-notebook-modal[data-page-color="slate"]{--study-paper:#F1F3F5;--study-paper-ink:#29333C;--study-paper-rule:rgba(80,99,116,.09);--study-paper-major:rgba(80,99,116,.15);--study-watermark:rgba(66,85,103,.052)}
.study-notebook-body{transition:grid-template-columns .2s ease}.study-notebook-modal[data-rail-collapsed="true"] .study-notebook-body{grid-template-columns:0 minmax(0,1fr)}.study-notebook-modal[data-rail-collapsed="true"] .study-checkpoint-nav{overflow:hidden;visibility:hidden;opacity:0;border:0}.study-checkpoint-nav{transition:opacity .15s ease,visibility .15s ease}
.study-page-controls{display:flex;align-items:center;gap:6px;min-height:41px;margin:0 0 10px;padding:6px 7px;border:1px solid var(--border);border-radius:7px;background:var(--surface-2)}.study-page-controls>span{display:inline-flex;align-items:center;gap:5px;margin-right:3px;color:var(--accent-text);font-size:8px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.study-page-controls select,.study-note-toolbar select{height:32px;max-width:180px;padding:0 25px 0 8px;border:1px solid var(--border-strong);border-radius:5px;background:var(--surface-1);color:var(--text-primary);font:700 9px var(--font)}
.study-note-toolbar label{display:flex;align-items:center;justify-content:center;gap:4px;height:34px;padding:4px 5px;border:1px solid var(--border);border-radius:5px;background:var(--surface-1);color:var(--text-secondary)}.study-note-toolbar label i{font-size:15px}.study-note-toolbar input[type="color"]{width:20px;height:22px;padding:0;border:0;background:transparent;cursor:pointer}
.study-ai-handoff{margin:0;border:1px solid var(--border-strong);border-bottom:0;background:color-mix(in srgb,var(--accent-bg) 42%,var(--surface-1))}.study-ai-handoff summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;padding:7px 10px;color:var(--text-secondary);cursor:pointer;list-style:none}.study-ai-handoff summary::-webkit-details-marker{display:none}.study-ai-handoff summary>span{display:inline-flex;align-items:center;gap:6px}.study-ai-handoff summary i:first-child{color:var(--accent-text)}.study-ai-handoff[open] summary>i{transform:rotate(180deg)}.study-ai-handoff-body{padding:0 10px 10px}.study-ai-handoff-body>p{max-width:920px;margin:0 0 8px;color:var(--text-secondary);font-size:9px;line-height:1.5}.study-ai-providers,.study-ai-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.study-ai-providers button,.study-ai-actions button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:32px;padding:6px 9px;border:1px solid var(--border-strong);border-radius:5px;background:var(--surface-1);color:var(--text-primary);font:700 9px var(--font);cursor:pointer}.study-ai-providers button:hover,.study-ai-actions button:hover{border-color:var(--accent);color:var(--accent-text)}.study-ai-actions{margin-top:6px;padding-top:6px;border-top:1px solid var(--border)}.study-ai-actions [data-study-ai-status]{flex:1 1 230px;color:var(--text-muted);font-size:8px}.study-ai-actions [data-study-ai-status].is-success{color:var(--success)}.study-ai-actions [data-study-ai-status].is-error{color:var(--danger)}.study-note-input blockquote{margin:10px 0;padding:9px 12px;border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent-bg) 55%,transparent);color:var(--study-paper-ink)}
.study-note-page,.study-canvas-wrap{position:relative;isolation:isolate;background-color:var(--study-paper);background-image:none;box-shadow:inset 0 0 42px rgba(76,65,41,.018)}.study-notebook-modal[data-page-style="ruled"] .study-note-page,.study-notebook-modal[data-page-style="ruled"] .study-canvas-wrap{background-image:repeating-linear-gradient(0deg,transparent 0,transparent 31px,var(--study-paper-rule) 31px,var(--study-paper-rule) 32px)}.study-notebook-modal[data-page-style="grid"] .study-note-page,.study-notebook-modal[data-page-style="grid"] .study-canvas-wrap{background-image:linear-gradient(var(--study-paper-rule) 1px,transparent 1px),linear-gradient(90deg,var(--study-paper-rule) 1px,transparent 1px);background-size:28px 28px}.study-notebook-modal[data-page-style="dots"] .study-note-page,.study-notebook-modal[data-page-style="dots"] .study-canvas-wrap{background-image:radial-gradient(circle,var(--study-paper-major) .85px,transparent 1px);background-size:22px 22px}.study-notebook-modal[data-page-style="technical"] .study-note-page,.study-notebook-modal[data-page-style="technical"] .study-canvas-wrap{background-image:linear-gradient(var(--study-paper-major) 1px,transparent 1px),linear-gradient(90deg,var(--study-paper-major) 1px,transparent 1px),linear-gradient(var(--study-paper-rule) 1px,transparent 1px),linear-gradient(90deg,var(--study-paper-rule) 1px,transparent 1px);background-size:96px 96px,96px 96px,24px 24px,24px 24px}.study-note-page{height:650px;min-height:650px;overflow:auto;border:1px solid var(--border-strong);border-radius:0 0 7px 7px}.study-note-input{position:relative;z-index:2;min-height:650px;border:0;background:transparent;color:var(--study-paper-ink)}.study-note-input:focus{border:0;box-shadow:inset 0 0 0 2px var(--accent)}.study-canvas-grid{display:none}
.study-note-box-tools{display:inline-flex;align-items:center;gap:4px;margin-left:auto;padding-left:7px;border-left:1px solid var(--border)}.study-note-toolbar .study-note-box-tools button{display:inline-flex;width:auto;min-width:34px;padding:0 9px;gap:5px;font:700 8.5px var(--font);white-space:nowrap}.study-note-box-tools button i{font-size:15px}
.study-note-block-layer{position:absolute;z-index:5;inset:0;pointer-events:none}.study-note-block{position:absolute;left:var(--study-block-x);top:var(--study-block-y);width:var(--study-block-w);height:var(--study-block-h);display:grid;grid-template-rows:32px minmax(0,1fr);overflow:hidden;pointer-events:auto;border-color:var(--study-block-border-color);border-width:var(--study-block-border-width);border-style:var(--study-block-border-style);border-radius:7px;background:color-mix(in srgb,var(--study-paper) 94%,transparent);box-shadow:0 8px 22px rgba(20,34,48,.12);transition:border-color .12s ease,box-shadow .12s ease}.study-note-block.selected{z-index:3;outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 12px 28px color-mix(in srgb,var(--accent) 20%,transparent)}.study-note-block-head{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:4px 5px 4px 9px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--accent-bg) 72%,var(--surface-1));color:var(--accent-text);cursor:grab;touch-action:none;user-select:none}.study-note-block-head:active{cursor:grabbing}.study-note-block-head span{display:inline-flex;align-items:center;gap:5px;overflow:hidden;font:800 8px var(--font);letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.study-note-block-head span b{overflow:hidden;text-overflow:ellipsis;font:inherit}.study-note-block-grip{opacity:.65;font-size:16px}.study-note-block-head button{display:grid;place-items:center;flex:0 0 23px;width:23px;height:23px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer}.study-note-block-head button:hover{background:var(--danger-bg);color:var(--danger-text)}.study-note-block-body{min-height:0;overflow:auto}.study-note-block-text{min-height:100%;padding:10px;color:var(--study-paper-ink);font-size:11px;line-height:1.5;outline:none}.study-note-block-text:empty:before{content:attr(data-placeholder);color:var(--text-muted);pointer-events:none}.study-note-block-text:focus{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 38%,transparent)}.study-note-block-diagram{display:block;width:100%;height:100%;min-height:0;background:color-mix(in srgb,var(--study-paper) 88%,var(--surface-1))}.study-note-block-resize{position:absolute;right:2px;bottom:2px;display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:4px;background:color-mix(in srgb,var(--surface-1) 88%,transparent);color:var(--accent-text);cursor:nwse-resize;touch-action:none}.study-note-block-resize i{pointer-events:none}
.study-note-block:not(.selected){grid-template-rows:0 minmax(0,1fr)}.study-note-block:not(.selected) .study-note-block-head{min-height:0;padding-top:0;padding-bottom:0;overflow:hidden;border-bottom:0;opacity:0;visibility:hidden;pointer-events:none}.study-note-block:not(.selected) .study-note-block-resize{opacity:0;visibility:hidden;pointer-events:none}.study-note-block:not(.selected) .study-note-block-text:empty:before{content:""}.study-note-block.selected .study-note-block-head,.study-note-block.selected .study-note-block-resize{opacity:1;visibility:visible}
.study-note-block-inspector{display:grid;grid-template-columns:auto minmax(150px,1.5fr) minmax(110px,.75fr) minmax(110px,.75fr) minmax(96px,.6fr) 82px auto;align-items:end;gap:7px;margin:0;padding:8px;border:1px solid var(--accent-border);border-bottom:0;background:color-mix(in srgb,var(--accent-bg) 55%,var(--surface-1))}.study-note-block-inspector[hidden]{display:none}.study-note-block-inspector-title{display:grid;align-content:center;align-self:stretch;grid-template-columns:auto auto;gap:1px 5px;color:var(--accent-text)}.study-note-block-inspector-title i{grid-row:1/3;align-self:center;font-size:17px}.study-note-block-inspector-title b{font-size:9px;white-space:nowrap}.study-note-block-inspector-title small{color:var(--text-muted);font-size:7.5px}.study-note-block-inspector label{display:grid;gap:3px;min-width:0}.study-note-block-inspector label>span{color:var(--text-muted);font-size:7.5px;font-weight:800;text-transform:uppercase}.study-note-block-inspector input:not([type="color"]),.study-note-block-inspector select{width:100%;height:32px;min-width:0;padding:0 8px;border:1px solid var(--border-strong);border-radius:5px;background:var(--surface-1);color:var(--text);font:700 9px var(--font)}.study-note-block-inspector input[type="color"]{width:100%;height:32px;padding:2px;border:1px solid var(--border-strong);border-radius:5px;background:var(--surface-1);cursor:pointer}.study-note-block-inspector.border-hidden .study-note-block-border-color{opacity:.45}.study-note-block-inspector>button{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:32px;padding:0 9px;border:1px solid var(--accent);border-radius:5px;background:var(--accent);color:#fff;font:800 8.5px var(--font);cursor:pointer}
.study-page-silhouette{position:absolute;z-index:0;inset:12% 10%;display:grid;place-items:center;color:var(--study-watermark);pointer-events:none}.study-page-silhouette>[data-page-mark]{display:none}.study-page-silhouette>i{font-size:clamp(130px,20vw,270px);line-height:1}.study-notebook-modal[data-page-silhouette="trainer"] [data-page-mark="trainer"],.study-notebook-modal[data-page-silhouette="jet"] [data-page-mark="jet"],.study-notebook-modal[data-page-silhouette="compass"] [data-page-mark="compass"],.study-notebook-modal[data-page-silhouette="airfoil"] [data-page-mark="airfoil"]{display:block}.study-watermark-airfoil{position:relative;width:min(62%,560px);height:23%;min-height:72px;border:10px solid currentColor;border-radius:72% 16% 60% 28%/62% 24% 55% 33%;transform:skewX(-8deg)}.study-watermark-airfoil:after{content:"";position:absolute;top:48%;right:3%;left:3%;border-top:5px solid currentColor;transform:skewX(8deg)}
.study-canvas-modebar{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding-bottom:8px;border-bottom:1px solid var(--border)}.study-canvas-modebar button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:36px;padding:7px 10px;border:1px solid var(--border-strong);border-radius:5px;background:var(--surface-1);color:var(--text-secondary);font:800 9px var(--font);cursor:pointer}.study-canvas-modebar button i{font-size:16px}.study-canvas-modebar button:hover{border-color:var(--accent);color:var(--accent-text)}.study-canvas-modebar button.active{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 3px 9px color-mix(in srgb,var(--accent) 22%,transparent)}.study-canvas-modebar small{margin-left:auto;color:var(--text-muted);font-size:8.5px}
.study-diagram-canvas{position:relative;z-index:2;color:var(--border-strong);cursor:default}.study-diagram-canvas[data-canvas-mode="insert"]{cursor:crosshair}.study-diagram-canvas[data-canvas-mode="modify"] .study-diagram-object{cursor:grab}.study-diagram-canvas[data-canvas-mode="modify"] .study-diagram-object:active{cursor:grabbing}.study-resize-overlay rect{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:8 5;vector-effect:non-scaling-stroke;pointer-events:none}.study-resize-overlay circle{fill:var(--surface-2);stroke:var(--accent);stroke-width:3;vector-effect:non-scaling-stroke;pointer-events:all}.study-resize-overlay circle[data-study-resize-handle="nw"],.study-resize-overlay circle[data-study-resize-handle="se"]{cursor:nwse-resize}.study-resize-overlay circle[data-study-resize-handle="ne"],.study-resize-overlay circle[data-study-resize-handle="sw"]{cursor:nesw-resize}.study-rotate-overlay>circle:first-child{fill:none;stroke:var(--accent);stroke-width:1.5;stroke-dasharray:7 6;vector-effect:non-scaling-stroke;pointer-events:none}.study-rotate-overlay line{stroke:var(--accent);stroke-width:2;stroke-dasharray:4 4;vector-effect:non-scaling-stroke;pointer-events:none}.study-rotate-overlay .study-rotate-centre{fill:var(--surface-1);stroke:var(--accent);stroke-width:2;vector-effect:non-scaling-stroke;pointer-events:none}.study-rotate-overlay .study-rotate-handle{fill:var(--accent);stroke:var(--surface-1);stroke-width:3;vector-effect:non-scaling-stroke;cursor:grab}.study-rotate-overlay .study-rotate-handle:active{cursor:grabbing}.study-diagram-object.selected>polyline{filter:drop-shadow(0 0 4px color-mix(in srgb,var(--accent) 65%,transparent))}

@media(max-width:980px){body.study-notebook-docked .app{width:100%}.study-notebook-modal[data-window-mode="docked"] .study-notebook-shell{inset:0;width:100vw;height:100dvh;border:0;border-radius:0}.study-notebook-body{grid-template-columns:240px minmax(0,1fr)}.study-editor-head{align-items:stretch;flex-direction:column}.study-editor-meta{justify-content:flex-start}.study-diagram-properties{grid-template-columns:80px minmax(140px,220px) minmax(140px,260px)}.study-modify-inspector{align-items:stretch;flex-direction:column}.study-modify-inspector>div{justify-content:flex-start}.study-diagram-canvas{min-height:250px}.study-diagram-foot{align-items:flex-start;flex-direction:column}.study-diagram-foot>div{justify-content:flex-start}.study-note-block-inspector{grid-template-columns:repeat(3,minmax(0,1fr))}.study-note-block-inspector-title{grid-column:1/-1}.study-note-block-inspector>button{align-self:end}}
@media(max-width:700px){.study-notebook-shell,.study-notebook-modal[data-window-mode="floating"] .study-notebook-shell{inset:0;width:100vw;max-width:100vw;height:100dvh;transform:none;border:0;border-radius:0}.study-notebook-modal[data-window-mode="minimized"] .study-notebook-shell{top:auto;right:8px;bottom:8px;left:auto;width:calc(100vw - 16px);height:62px;border:1px solid var(--accent-border);border-radius:8px}.study-notebook-head{padding:9px 9px 9px 13px}.study-notebook-head h2{font-size:16px}.study-notebook-head p{display:none}.study-notebook-drag-handle{cursor:default}.study-notebook-window-controls{gap:3px}.study-notebook-window-controls .icon-btn{width:32px;height:32px;flex-basis:32px}.study-notebook-window-controls [data-study-dock]{display:none}.study-notebook-body{min-width:0;grid-template-columns:1fr;grid-template-rows:205px minmax(0,1fr)}.study-checkpoint-nav{min-width:0;border-right:0;border-bottom:1px solid var(--border)}.study-checkpoint-nav-head{padding:9px 11px 6px}.study-checkpoint-search{margin:0 10px 7px}.study-checkpoint-list{display:flex;gap:6px;overflow:auto;padding:0 10px 9px}.study-checkpoint-item{flex:0 0 250px;margin:0}.study-checkpoint-empty,.study-checkpoint-loading{min-width:100%;min-height:70px}.study-notebook-editor{width:100%;min-width:0;padding:12px}.study-note-input{min-height:330px}.study-tool-label{display:none}.study-diagram-properties{grid-template-columns:72px minmax(120px,190px) minmax(110px,1fr)}.study-modify-inspector small{white-space:normal}.study-modify-inspector>div{width:100%}.study-diagram-canvas{min-height:220px}.study-notebook-foot{align-items:stretch;flex-direction:column-reverse;padding:8px 10px}.study-notebook-foot>div{display:grid;grid-template-columns:1fr 1fr}.study-notebook-foot .btn-accent{grid-column:1/-1;grid-row:1}.study-notebook-status{text-align:center}}
@media(max-width:430px){.study-notebook-body{grid-template-rows:185px minmax(0,1fr)}.study-checkpoint-item{flex-basis:220px}.study-editor-head>label{min-width:0}.study-diagram-tools{padding:7px}.study-diagram-toolset{gap:4px}.study-diagram-toolset button{flex-basis:34px;width:34px;height:34px}.study-diagram-properties{grid-template-columns:64px minmax(110px,1fr)}.study-diagram-properties label:last-child{grid-column:1/-1;max-width:170px}.study-modify-inspector button span{display:none}.study-diagram-foot>div{display:grid;width:100%;grid-template-columns:1fr 1fr}.study-diagram-foot button{justify-content:center}.study-diagram-canvas{min-height:190px}.study-notebook-foot button{padding:7px 8px;font-size:9px}}
@media(max-width:900px){.study-mode-actions{flex-wrap:wrap}.study-appearance-panel{right:auto;left:0}}
@media(max-width:700px){.study-page-controls{align-items:stretch;flex-wrap:wrap}.study-page-controls>span{width:100%}.study-page-controls label{flex:1 1 120px}.study-page-controls select{width:100%;max-width:none}.study-note-toolbar select{max-width:145px}.study-canvas-modebar small{width:100%;margin:2px 0 0}.study-notebook-modal[data-rail-collapsed="true"] .study-notebook-body{grid-template-columns:1fr;grid-template-rows:0 minmax(0,1fr)}.study-notebook-modal[data-rail-collapsed="true"] .study-checkpoint-nav{border:0}.study-appearance-wrap{width:100%}.study-mode-appearance{width:100%}.study-appearance-panel{right:0;left:auto}}
@media(max-width:430px){.study-background-options{grid-template-columns:repeat(2,minmax(0,1fr))}.study-note-toolbar select{width:100%;max-width:none}.study-note-toolbar{align-items:stretch}.study-note-toolbar button,.study-note-toolbar label{flex:1 0 34px}.study-canvas-modebar button{flex:1 1 calc(50% - 5px)}}
@media(max-width:700px){.study-note-block-inspector{grid-template-columns:repeat(2,minmax(0,1fr))}.study-note-block-inspector-title,.study-note-block-inspector>button{grid-column:1/-1}.study-note-block-inspector>button{width:100%}}
.study-week-loading{display:flex;align-items:center;justify-content:center;gap:12px;min-height:280px;padding:28px;color:var(--text-secondary);text-align:left}.study-week-loading>i{color:var(--accent-text);font-size:28px;animation:spin 1s linear infinite}.study-week-loading>div{display:grid;gap:4px}.study-week-loading strong{color:var(--text-primary);font-size:16px}.study-week-loading span{color:var(--text-muted);font-size:10px}
@media(max-width:620px){.study-ai-providers button{flex:1 1 calc(50% - 5px)}.study-ai-actions button{flex:1 1 100%}.study-ai-actions [data-study-ai-status]{flex-basis:100%}}

.tab:focus-visible,.icon-btn:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.tab:focus-visible{outline-offset:2px}
@media(prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
}

/* ---------- Cover / landing page ---------- */
.brand{text-decoration:none;color:inherit}
.cover{width:100%;max-width:none;margin:0;padding-top:.4rem}
.cover-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:2.2rem;align-items:center;margin:.4rem 0 2.6rem}
.cover-hero.is-plain{grid-template-columns:minmax(0,920px);justify-content:start}
.cover-hero-art svg{width:100%;height:auto;display:block}
.cover-art-figure{margin:0 auto}
.cover-art-figure.has-media{box-sizing:border-box;display:grid;place-items:center;width:100%;aspect-ratio:4/3;overflow:hidden;padding:12px;border:1px solid var(--border);border-radius:18px;background:var(--surface-1)}
.cover-art-figure.has-media img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.cover-art-figure figcaption{font-size:12px;color:var(--text-muted);text-align:center;margin-top:.5rem}
.course-home-visual-manager{margin:0 0 20px;padding:24px;border:1px solid var(--border-strong);border-radius:18px;background:linear-gradient(135deg,var(--surface-1),color-mix(in srgb,var(--surface-1) 92%,var(--accent-bg)));box-shadow:0 10px 28px rgba(25,49,67,.06)}
.course-home-visual-manager>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.course-home-visual-manager>header h2{margin:4px 0 5px;font-size:25px}
.course-home-visual-manager>header p{max-width:760px;margin:0;color:var(--text-secondary);line-height:1.45}
.course-home-visual-manager.is-compact{margin:0 0 16px;padding:18px;box-shadow:none}
.course-home-visual-manager.is-compact>header{gap:12px;margin-bottom:12px}
.course-home-visual-manager.is-compact>header h2{font-size:21px}
.course-home-visual-manager.is-compact>header p{font-size:13px;line-height:1.4}
.course-home-visual-source{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;padding:7px 10px;border:1px solid var(--accent-border);border-radius:999px;background:var(--accent-bg);color:var(--accent-text);font-size:11px;font-weight:850}
.course-home-visual-source i{font-size:16px}
.course-home-visual-layout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(380px,1.1fr);gap:20px;align-items:start}
.course-home-visual-manager.is-compact .course-home-visual-layout{grid-template-columns:minmax(230px,.55fr) minmax(0,1.45fr);gap:16px}
.course-home-visual-preview{display:grid;grid-template-rows:minmax(0,1fr) auto;min-width:0;aspect-ratio:4/3;margin:0;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--surface-2)}
.course-home-visual-manager.is-compact .course-home-visual-preview{aspect-ratio:16/10;padding:10px;border-radius:14px}
.course-home-visual-preview>img,.course-home-visual-preview>svg{display:block;width:100%;height:100%;min-height:0;object-fit:contain;object-position:center}
.course-home-visual-plain-preview{display:grid;place-content:center;justify-items:center;gap:10px;min-height:0;color:var(--text-secondary);text-align:center}
.course-home-visual-plain-preview>i{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:var(--accent-bg);color:var(--accent-text);font-size:27px}
.course-home-visual-plain-preview strong{color:var(--text-primary);font-size:15px}
.course-home-visual-plain-preview span{max-width:260px;color:var(--text-muted);font-size:11px;line-height:1.45}
.course-home-visual-preview figcaption{display:grid;gap:3px;padding-top:10px;border-top:1px solid var(--border)}
.course-home-visual-preview figcaption b{overflow:hidden;color:var(--text-primary);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.course-home-visual-preview figcaption span{overflow:hidden;color:var(--text-muted);font-size:10px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.course-home-visual-controls{display:grid;gap:12px}
.course-home-visual-manager.is-compact .course-home-visual-controls{gap:9px}
.course-home-visual-controls>label{display:grid;gap:7px;color:var(--text-primary);font-size:12px;font-weight:850}
.course-home-visual-manager.is-compact .course-home-visual-controls>label{gap:4px;font-size:11px}
.course-home-visual-controls textarea{box-sizing:border-box;width:100%;resize:vertical}
.course-home-visual-manager.is-compact .course-home-visual-controls textarea{min-height:58px}
.course-home-visual-choice{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px;border:1px solid var(--border);border-radius:13px;background:var(--surface-1)}
.course-home-visual-manager.is-compact .course-home-visual-choice{grid-template-columns:36px minmax(0,1fr) auto;gap:10px;padding:10px}
.course-home-visual-choice>i{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:var(--accent-bg);color:var(--accent-text);font-size:22px}
.course-home-visual-manager.is-compact .course-home-visual-choice>i{width:36px;height:36px;border-radius:10px;font-size:18px}
.course-home-visual-choice>div{display:grid;gap:4px;min-width:0}
.course-home-visual-choice b{font-size:13px}
.course-home-visual-choice small{color:var(--text-muted);font-size:10px;line-height:1.35}
.course-home-visual-choice input,.course-home-visual-choice select{box-sizing:border-box;width:100%;max-width:430px;margin-top:3px}
.course-home-visual-choice button{align-self:center;white-space:nowrap}
.course-home-visual-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:2px}
.course-home-visual-actions>span{display:inline-flex;align-items:center;gap:6px;color:#087760;font-size:11px;font-weight:800}
.course-home-visual-actions>span.is-working i{animation:spin 1s linear infinite}
.course-home-visual-actions>span.is-error{color:#a43b35}
.ed-authoritative-visual-note{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;margin:4px 0 14px;padding:14px;border:1px solid var(--accent-border);border-radius:13px;background:var(--accent-bg)}
.ed-authoritative-visual-note>i{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:var(--surface-1);color:var(--accent-text);font-size:22px}
.ed-authoritative-visual-note>div{display:grid;gap:4px}
.ed-authoritative-visual-note b{font-size:13px}
.ed-authoritative-visual-note span{color:var(--text-secondary);font-size:11px;line-height:1.4}
.ed-authoritative-visual-note a{white-space:nowrap}
.ed-home-preview-hero{margin:0;gap:1.2rem}
.ed-about-preview .card{margin-top:1rem}
.cover-hello{font-size:13.5px;color:var(--accent);font-weight:600;margin-bottom:.55rem;display:flex;align-items:center;gap:6px}
.cover-title{font-size:2.7rem;line-height:1.04;letter-spacing:-.5px;margin:.45rem 0 .7rem}
.cover-sub{font-size:1.04rem;color:var(--text-secondary);line-height:1.6;max-width:31rem;margin:0}
.cover-cta{display:flex;gap:.7rem;flex-wrap:wrap;margin:1.4rem 0 1rem}
.btn-primary{display:inline-flex;align-items:center;gap:.5rem;background:var(--accent);color:#fff;padding:.72rem 1.25rem;border-radius:11px;font-weight:600;font-size:.95rem;text-decoration:none;border:1px solid var(--accent);transition:filter .15s,transform .15s}
.btn-primary:hover{background:var(--accent);border-color:var(--accent);color:#fff;filter:brightness(1.07);transform:translateY(-1px)}
.btn-primary:disabled,.btn-primary[disabled]{background:var(--accent);border-color:var(--accent);color:#fff;opacity:.62;cursor:not-allowed;filter:none;transform:none}
.btn-primary:disabled:hover,.btn-primary[disabled]:hover{background:var(--accent);color:#fff;filter:none;transform:none}
.btn-ghost{display:inline-flex;align-items:center;gap:.5rem;padding:.72rem 1.1rem;border-radius:11px;border:1px solid var(--border-strong);color:var(--text-primary);text-decoration:none;font-size:.95rem;font-weight:500;background:var(--surface-1)}
.btn-ghost:hover{background:var(--surface-2)}
.cover-progress{display:flex;align-items:center;gap:.7rem;margin:.2rem 0 1rem}
.cover-prog-bar{flex:0 1 200px;height:7px;border-radius:99px;background:var(--surface-2);overflow:hidden;border:1px solid var(--border)}
.cover-prog-bar span{display:block;height:100%;background:var(--accent)}
.cover-prog-lbl{font-size:12.5px;color:var(--text-muted)}
.cover-author{font-size:13px;color:var(--text-muted)}
.cover-h2{font-size:1.45rem;margin:.4rem 0 .15rem}
.cover-glance-sub{margin:0 0 1.3rem;font-size:.95rem}
.cover-mods{display:grid;grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:1rem}
.cover-mod{background:var(--surface-1);border:1px solid var(--border);border-radius:14px;padding:1rem 1rem .7rem}
.cover-mod-h{font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);font-weight:700;margin-bottom:.55rem}
.cover-wk{display:flex;align-items:center;gap:.6rem;padding:.42rem .35rem;border-radius:9px;text-decoration:none;color:var(--text-primary);font-size:13.5px;line-height:1.3;transition:background .15s,transform .15s,box-shadow .15s}
.cover-wk:hover{background:var(--surface-2);transform:translateX(3px)}
.cover-wk:not(.done):hover .cover-wk-n{border-color:var(--accent);color:var(--accent)}
.cover-wk-n{width:23px;height:23px;border-radius:50%;background:var(--surface-2);border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-size:12px;color:var(--text-secondary);flex-shrink:0;font-weight:600}
.cover-wk.done .cover-wk-n{background:var(--c-lift);border-color:var(--c-lift);color:#fff}
.cover-wk-t{flex:1}
@media(max-width:760px){.cover-hero{grid-template-columns:1fr;gap:1.2rem}.cover-hero-art{order:-1;max-width:360px}.cover-title{font-size:2.2rem}}
@media(max-width:1050px){.course-home-visual-layout{grid-template-columns:1fr}.course-home-visual-preview{width:100%;max-width:680px;justify-self:center}.course-home-visual-choice{grid-template-columns:42px minmax(0,1fr)}.course-home-visual-choice button{grid-column:2;justify-self:start}}
@media(max-width:680px){.course-home-visual-manager{padding:17px}.course-home-visual-manager>header{align-items:flex-start;flex-direction:column}.course-home-visual-source{white-space:normal}.course-home-visual-layout{display:block}.course-home-visual-preview{margin-bottom:14px}.course-home-visual-choice,.ed-authoritative-visual-note{grid-template-columns:38px minmax(0,1fr)}.course-home-visual-choice>i,.ed-authoritative-visual-note>i{width:38px;height:38px}.course-home-visual-choice button,.ed-authoritative-visual-note a{grid-column:1/-1;width:100%;justify-content:center}.course-home-visual-actions{align-items:stretch;flex-direction:column}.course-home-visual-actions button{width:100%;justify-content:center}}
.nav-home{margin-bottom:.4rem;border-bottom:1px solid var(--border);border-radius:0;padding-bottom:.7rem}
.nav-home .nav-num{background:var(--accent-bg);color:var(--accent-text)}
.quiz-timer{display:inline-flex;align-items:center;gap:6px;margin:.35rem 0 0;font-size:13px;font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums}
.quiz-timer::before{content:"\ea70";font-family:"tabler-icons"}
.quiz-timer.quiz-timer-warn{color:var(--warning-text)}

/* --- Concept item analysis (#2) --- */
.ia-row{padding:.6rem .8rem;border:1px solid var(--border);border-radius:10px;margin-bottom:.5rem;background:var(--surface-1);border-left:4px solid var(--border-strong)}
.ia-row.ia-danger{border-left-color:#c0392b}
.ia-row.ia-warn{border-left-color:#b8860b}
.ia-row.ia-ok{border-left-color:var(--accent)}
.ia-q{font-size:14px;font-weight:600;margin-bottom:4px;line-height:1.35}
.ia-wk{display:inline-block;font-size:11px;font-weight:700;color:var(--accent-text);background:var(--accent-bg);border-radius:5px;padding:1px 6px;margin-right:6px;white-space:nowrap}
.ia-stat{font-size:13px;color:var(--text-secondary)}
.ia-stat b{color:var(--text-primary)}
.ia-distractor{font-size:13px;color:#b8860b;margin-top:4px;display:flex;align-items:flex-start;gap:5px}

/* --- Lecture readiness --- */
.rd-bar{display:flex;align-items:center;gap:12px;margin:.2rem 0 1rem;flex-wrap:wrap}
.rd-bar label{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary);font-weight:600}
.rd-bar select{padding:.45rem .6rem;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface-1);color:var(--text-primary);font-size:14px;max-width:320px}
.rd-h3{font-size:13px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary);margin:1.1rem 0 .45rem;display:flex;align-items:center;gap:6px}
.rd-note{padding:.45rem .65rem;border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:9px;margin-bottom:.35rem;background:var(--surface-1);font-size:13px;line-height:1.45}
.rd-note em{font-style:normal;font-weight:600;color:var(--text-secondary)}
.rd-table td{padding:5px 8px;text-align:center;border:1px solid var(--border);font-size:12.5px}
.rd-table td.mg-name{text-align:left;white-space:nowrap}
.rd-table tr.rd-bad td{background:rgba(192,57,43,.14)}
.rd-table tr.rd-warn td{background:rgba(184,134,11,.12)}
.rd-table .ti-check{color:var(--success-text,#1D9E75)}
.rd-table .ti-x{color:#c0392b}
.rd-nudge{margin:.7rem 0 0;font-size:13px;color:var(--text-secondary)}

/* --- Practice arcade (flashcards + match-up + streak) --- */
.pa-streak{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-secondary);padding:.6rem .8rem;border:1px dashed var(--border-strong);border-radius:12px;margin-bottom:1rem;background:var(--surface-1)}
.pa-streak b{color:var(--text-primary)}
.pa-flame{font-size:22px;filter:grayscale(1);opacity:.5}
.pa-flame.lit{filter:none;opacity:1;animation:paFlick 1.6s ease-in-out infinite}
@keyframes paFlick{0%,100%{transform:scale(1)}50%{transform:scale(1.12) rotate(-3deg)}}
.pa-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;align-items:start}
.pa-card{position:relative;overflow:hidden}
.pa-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#378ADD,#1D9E75)}
.pa-ico{font-size:18px;margin-right:2px}
.pa-sub{font-size:12.5px;color:var(--text-secondary);margin:-2px 0 .8rem}
.pa-empty,.pa-done{display:flex;align-items:center;gap:12px;padding:.9rem .4rem;font-size:14px}
.pa-done{flex-direction:column;text-align:center;gap:6px}
.pa-empty-emoji{font-size:34px;display:inline-block;animation:fbpop .5s ease}
.pa-done-t{font-weight:700}
/* flashcards */
.fc-top{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted);margin-bottom:.5rem}
.fc-prog{font-weight:800;color:var(--text-secondary)}
.fc-wk{font-weight:700;color:var(--accent-text);background:var(--accent-bg);border-radius:5px;padding:1px 6px}
.fc-boxlbl{margin-left:auto;letter-spacing:.04em}
.fc-card{perspective:900px;cursor:pointer;outline:none;height:200px}
.fc-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .45s cubic-bezier(.2,.7,.3,1.1)}
.fc-card.flipped .fc-inner{transform:rotateY(180deg)}
.fc-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem 1.2rem;text-align:center}
.fc-front{background:linear-gradient(140deg,#378ADD,#2B6FB3);color:#fff;box-shadow:0 8px 20px rgba(55,138,221,.30)}
.fc-card:focus-visible .fc-front{outline:3px solid var(--accent);outline-offset:2px}
.fc-term{font-size:22px;font-weight:800;line-height:1.25}
.fc-term.fc-long{font-size:16.5px;font-weight:600;line-height:1.5}
.fc-kind{font-weight:700;color:#B8860B;background:rgba(247,183,49,.16);border-radius:5px;padding:1px 6px}
.fc-hint{position:absolute;bottom:10px;font-size:11px;opacity:.75;display:inline-flex;align-items:center;gap:4px}
.fc-back{background:linear-gradient(140deg,#1D9E75,#157A5A);color:#fff;transform:rotateY(180deg);box-shadow:0 8px 20px rgba(29,158,117,.30)}
.fc-def{font-size:14.5px;line-height:1.55;font-weight:500;max-height:170px;overflow-y:auto}
@media (hover:hover){.fc-card:hover .fc-inner{transform:rotateY(8deg)}.fc-card.flipped:hover .fc-inner{transform:rotateY(172deg)}}
.fc-actions{display:flex;gap:10px;margin-top:.8rem;opacity:.35;pointer-events:none;transition:opacity .2s}
.fc-actions.show{opacity:1;pointer-events:auto}
.fc-actions button{flex:1;border:0;border-radius:11px;padding:.7rem 0;font-size:14px;font-weight:700;color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:transform .12s,box-shadow .12s}
button.fc-no{background:#DE8A3B}
button.fc-yes{background:#1D9E75}
@media (hover:hover){
  .fc-actions button:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgba(0,0,0,.18)}
  button.fc-no:hover{background:#DE8A3B}
  button.fc-yes:hover{background:#1D9E75}
}
/* match-up */
.mu-bar{display:flex;align-items:center;gap:14px;font-size:13px;color:var(--text-secondary);margin-bottom:.6rem}
.mu-stat{display:inline-flex;align-items:center;gap:5px}
.mu-new{margin-left:auto;padding:.4rem .7rem;font-size:12.5px}
.mu-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:8px}
.mu-col{display:flex;flex-direction:column;gap:8px}
.mu-item{border:1.5px solid var(--border-strong);border-radius:11px;background:var(--surface-1);color:var(--text-primary);padding:.55rem .7rem;font-size:13px;line-height:1.35;text-align:left;cursor:pointer;transition:transform .12s,box-shadow .12s,border-color .12s,background .12s}
.mu-l{font-weight:700}
@media (hover:hover){.mu-item:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 12px rgba(0,0,0,.10);border-color:var(--accent)}}
.mu-item.sel{border-color:#378ADD;background:rgba(55,138,221,.12);box-shadow:0 0 0 2px rgba(55,138,221,.25)}
.mu-item.hit{border-color:#1D9E75;background:rgba(29,158,117,.14);color:var(--text-muted);cursor:default;animation:fbpop .3s ease}
.mu-item.shake{animation:muShake .4s ease;border-color:#D85A30;background:rgba(216,90,48,.12)}
@keyframes muShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}
@media (max-width:640px){.mu-grid{grid-template-columns:1fr}}
/* myth buster */
.mb-start{text-align:center;padding:.6rem 0}
.mb-top{display:flex;align-items:center;gap:12px;margin-bottom:.6rem}
.mb-score{font-weight:800;font-size:14px;white-space:nowrap}
.mb-timer{flex:1;height:9px;border-radius:6px;background:var(--surface-2);border:1px solid var(--border);overflow:hidden}
.mb-timer span{display:block;height:100%;width:100%;background:linear-gradient(90deg,#D85A30,#F7B731);transition:width .2s linear}
.mb-card{min-height:96px;display:flex;align-items:center;justify-content:center;text-align:center;padding:.9rem 1rem;border-radius:14px;border:1.5px solid var(--border-strong);background:var(--surface-1);font-size:15.5px;font-weight:600;line-height:1.45;transition:border-color .15s,background .15s}
.mb-card.mb-right{border-color:#1D9E75;background:rgba(29,158,117,.12);animation:fbpop .3s ease}
.mb-card.mb-wrong{border-color:#D85A30;background:rgba(216,90,48,.12);animation:muShake .4s ease}
.mb-btns{display:flex;gap:10px;margin-top:.7rem}
.mb-btns button{flex:1;border:0;border-radius:12px;padding:.85rem 0;font-size:15px;font-weight:800;color:#fff;cursor:pointer;transition:transform .12s,box-shadow .12s}
button.mb-myth{background:#D85A30}
button.mb-fact{background:#1D9E75}
@media (hover:hover){
  .mb-btns button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 14px rgba(0,0,0,.18)}
  button.mb-myth:hover{background:#D85A30}
  button.mb-fact:hover{background:#1D9E75}
}
.mb-btns button:disabled{opacity:.6;cursor:default}
.mb-flash{min-height:24px;text-align:center;font-size:12.5px;margin-top:.5rem}
.mb-ok{color:#1D9E75;font-weight:800;animation:fbpop .3s ease;display:inline-block}
.mb-no{color:var(--text-secondary)}
/* estimation duel */
.ed-q{font-size:15.5px;font-weight:700;text-align:center;margin:.5rem 0 .9rem;line-height:1.45}
.ed-slider-row{display:flex;align-items:center;gap:10px}
.ed-slider-row input[type=range]{flex:1}
.ed-minmax{font-size:11.5px;color:var(--text-muted);white-space:nowrap}
.ed-val{text-align:center;font-size:22px;font-weight:800;margin:.5rem 0;color:var(--accent)}
.ed-reveal{margin:.4rem 0}
.ed-bar{position:relative;height:12px;border-radius:7px;background:var(--surface-2);border:1px solid var(--border);margin:.9rem 0 .4rem}
.ed-mark{position:absolute;top:-5px;width:4px;height:22px;border-radius:2px;transform:translateX(-50%)}
.ed-mark.ed-you{background:#378ADD}
.ed-mark.ed-ans{background:#1D9E75}
.ed-legend{display:flex;gap:14px;align-items:center;font-size:12.5px;color:var(--text-secondary);flex-wrap:wrap}
.ed-dot{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:4px;vertical-align:middle}
.ed-dot.ed-you{background:#378ADD}
.ed-dot.ed-ans{background:#1D9E75}
.ed-pts{margin-left:auto;font-weight:800;color:#1D9E75;font-size:15px;animation:fbpop .35s ease}
.ed-class{display:flex;align-items:flex-end;gap:12px;min-height:44px;margin-top:.3rem}
.ed-class-lbl{font-size:12px;color:var(--text-secondary);white-space:nowrap}
.ed-hist{display:inline-flex;align-items:flex-end;gap:2px;height:40px}
.ed-hist i{display:inline-block;width:9px;background:linear-gradient(180deg,#378ADD,#2B6FB3);border-radius:2px 2px 0 0}
/* you're the PIC */
.pic-list{display:flex;flex-direction:column;gap:8px;margin-top:.3rem}
.pic-brief{font-size:13.5px;color:var(--text-secondary);line-height:1.55;padding:.6rem .75rem;border-left:3px solid var(--accent);background:var(--surface-2);border-radius:8px;margin:.2rem 0 .7rem}
.pic-opts{display:flex;flex-direction:column;gap:8px}
.pic-opt{border:1.5px solid var(--border-strong);border-radius:11px;background:var(--surface-1);color:var(--text-primary);padding:.65rem .8rem;font-size:13.5px;line-height:1.45;text-align:left;cursor:pointer;transition:transform .12s,box-shadow .12s,border-color .12s,background .12s}
@media (hover:hover){.pic-opt:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 12px rgba(0,0,0,.10);border-color:var(--accent)}}
.pic-opt:disabled{opacity:.75;cursor:default}
.pic-opt.pic-good{border-color:#1D9E75;background:rgba(29,158,117,.14);opacity:1;animation:fbpop .3s ease}
.pic-opt.pic-mid{border-color:#DE8A3B;background:rgba(222,138,59,.14);opacity:1}
.pic-opt.pic-bad{border-color:#D85A30;background:rgba(216,90,48,.14);opacity:1;animation:muShake .4s ease}
/* label the diagram */
.lg-fig svg{width:100%;height:auto;max-height:280px}
.lg-bank{display:flex;flex-wrap:wrap;gap:8px;margin-top:.6rem}
.lg-bank .lg-lbl{flex:0 1 auto}
text.lg-slot{font-weight:800 !important;fill:#8E5BD9 !important;cursor:default}
text.lg-now{fill:#D85A30 !important;animation:paFlick 1.2s ease-in-out infinite}
text.lg-done{fill:#1D9E75 !important;animation:none}
/* lab medal chip */
.lab-medal{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--text-secondary);border:1px dashed var(--border-strong);border-radius:999px;padding:3px 10px;margin:0 0 .6rem;background:var(--surface-1)}
.lab-medal-ico{font-size:14px}
.lab-medal.lab-medal-gold{border-style:solid;border-color:#F7B731;background:rgba(247,183,49,.12);color:var(--text-primary)}
.lab-medal.pop{animation:fbpop .35s ease}
/* cover practice card */
.cover-practice{display:flex;align-items:center;gap:14px;margin:1.1rem 0 .4rem;padding:.8rem 1rem;border-radius:14px;text-decoration:none;color:var(--text-primary);border:1.5px solid var(--border-strong);background:linear-gradient(135deg,rgba(55,138,221,.10),rgba(29,158,117,.10));transition:transform .15s,box-shadow .15s}
.cover-practice:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.10)}
.cover-practice .pa-flame{font-size:26px}
.cp-txt{flex:1;font-size:14px}
.cp-txt em{display:block;font-style:normal;font-size:12.5px;color:var(--text-secondary)}
.cp-go{font-weight:800;font-size:13px;color:var(--accent);display:inline-flex;align-items:center;gap:5px;white-space:nowrap}

/* --- Share cards (Instagram/WhatsApp) --- */
.share-prev{display:flex;flex-direction:column;align-items:center;gap:14px;max-width:340px}
.share-prev img{width:100%;max-width:300px;border-radius:18px;box-shadow:0 14px 40px rgba(0,0,0,.35);display:block}
.share-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.share-hint{font-size:12px;color:var(--text-secondary);text-align:center;margin:0;line-height:1.5;max-width:300px}
.wg-share-btn{margin-top:12px;font-size:14px;padding:.6rem 1.1rem}
.wg-promo-share{margin-left:12px;border:1.5px solid rgba(255,255,255,.6);border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font-size:12.5px;font-weight:700;padding:4px 12px;cursor:pointer;transition:background .15s,transform .15s}
.wg-promo-share:hover{background:rgba(255,255,255,.28);transform:translateY(-1px)}
.wg-badge.shareable{cursor:pointer;position:relative}
.wg-bshare{position:absolute;top:8px;right:8px;font-size:10px;font-weight:800;color:#B8860B;background:rgba(247,183,49,.18);border-radius:999px;padding:2px 7px;opacity:0;transition:opacity .15s}
@media (hover:hover){.wg-badge.shareable:hover .wg-bshare{opacity:1}}
@media (hover:none){.wg-bshare{opacity:.85}}

/* --- Crew board / scoreboard --- */
.cover-board{background:linear-gradient(135deg,rgba(216,90,48,.10),rgba(247,183,49,.12))}
.bd-goal{position:relative;overflow:hidden}
.bd-goal::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#F7B731,#1D9E75)}
.bd-goal-line{font-size:13.5px;color:var(--text-secondary);margin:.2rem 0 .4rem}
.bd-goal-line b{color:var(--text-primary);font-size:15px}
.bd-me{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:.7rem .9rem;border-radius:12px;border:1.5px solid var(--accent);background:var(--accent-bg);margin:.4rem 0 .2rem;font-size:13.5px}
.bd-me-cs{font-weight:800;font-size:15px}
.bd-me-crew,.bd-me-xp{color:var(--text-secondary)}
.bd-me-pos{font-weight:800;color:var(--accent)}
.bd-edit{margin-left:auto;font-size:12px;color:var(--text-muted);text-decoration:none}
.bd-edit:hover{color:var(--accent)}
.bd-sub{font-size:11.5px;font-weight:400;color:var(--text-muted);text-transform:none;letter-spacing:0}
.bd-crews{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-top:.5rem}
.bd-crew{display:flex;align-items:center;gap:8px;padding:.65rem .8rem;border:1.5px solid var(--border);border-radius:12px;background:var(--surface-1);font-size:13.5px;transition:transform .15s,box-shadow .15s}
.bd-crew.mine{border-color:var(--accent);background:var(--accent-bg)}
@media (hover:hover){.bd-crew:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgba(0,0,0,.10)}}
.bd-medal{font-size:19px}
.bd-crew b{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bd-crew-n{color:var(--text-muted);font-size:11.5px;white-space:nowrap}
.bd-crew-xp{font-weight:800;white-space:nowrap}
.bd-rows{display:flex;flex-direction:column;gap:6px;margin-top:.5rem;max-width:560px}
.bd-row{display:flex;align-items:center;gap:10px;padding:.55rem .8rem;border:1px solid var(--border);border-radius:11px;background:var(--surface-1);font-size:13.5px;transition:transform .15s,box-shadow .15s}
@media (hover:hover){.bd-row:hover{transform:translateX(3px);box-shadow:0 4px 10px rgba(0,0,0,.08)}}
.bd-row.mine{border-color:var(--accent);background:var(--accent-bg);font-weight:600}
.bd-row.slim{padding:.4rem .8rem;font-size:13px}
.bd-row.bd-gap{margin-top:10px;border-style:dashed}
.bd-pos{width:34px;flex:none;font-weight:800;text-align:center}
.bd-cs{flex:1;font-weight:600}
.bd-real{font-style:normal;font-weight:400;color:var(--text-muted);font-size:12px}
.bd-crewtag{font-size:11px;color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:1px 8px;white-space:nowrap}
.bd-xp{font-variant-numeric:tabular-nums}
.bd-picker{max-width:460px;text-align:center;border:1.5px solid var(--border-strong);background:linear-gradient(150deg,rgba(55,138,221,.09),rgba(247,183,49,.10)),var(--surface-2)}
.bd-picker-emoji{font-size:44px;animation:fbpop .5s ease}
.bd-picker-t{font-size:20px;font-weight:800;margin:.2rem 0 .4rem}
.bd-picker .ed-field{text-align:left}
.bd-ideas{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin:-2px 0 .7rem}
.bd-idea{border:1px dashed var(--border-strong);border-radius:999px;background:var(--surface-1);color:var(--text-secondary);font-size:12px;padding:4px 11px;cursor:pointer;transition:transform .12s,border-color .12s,color .12s}
@media (hover:hover){.bd-idea:hover{transform:translateY(-2px);border-color:var(--accent);color:var(--accent)}}

/* --- UI polish layer --- */
.cover-wk-n{transition:border-color .15s,color .15s}
/* narrower screens form additional rows; every section remains visible */
@media (max-width:640px){
  .tabs{grid-template-columns:repeat(2,minmax(0,1fr));padding:4px}
  .tab{padding-inline:8px;font-size:13px}
}
@media (max-width:360px){
  .tabs{grid-template-columns:1fr}
}
/* completion note pops in when it appears */
#complete-note:not(:empty){animation:fbpop .35s ease;display:inline-block}
/* week-complete button celebrates */
#mark-complete.btn-accent:active{transform:scale(.96)}
/* chips get a hair of depth */
.chip-accent{box-shadow:0 2px 6px rgba(0,0,0,.08)}
.week-meta{gap:7px;margin-bottom:.7rem}
.week-meta>span.chip{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-color:transparent;background:var(--surface-2);color:var(--text-muted);box-shadow:none;cursor:default;font-weight:500}
.week-meta>span.chip .ti{font-size:13px;opacity:.8}
.week-meta .wk-picker-btn{min-height:32px;padding:5px 10px;border:1px solid var(--accent-border);border-radius:7px;background:var(--surface-1);color:var(--accent-text);font-weight:700;box-shadow:0 1px 3px rgba(0,0,0,.09)}
.week-meta .wk-picker-btn:hover,.week-meta .wk-picker-btn[aria-expanded="true"]{background:var(--accent-bg);border-color:var(--accent);box-shadow:0 2px 6px rgba(0,0,0,.12)}
/* test sub-tabs share the main tab motion */
/* generic ghost buttons lift too */
.btn-ghost{transition:background .15s,transform .15s,box-shadow .15s}
@media (hover:hover){.btn-ghost:hover{transform:translateY(-2px);box-shadow:0 5px 12px rgba(0,0,0,.10)}}

/* --- Wings: XP, ranks, badges --- */
.cover-arcade{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:10px;margin:1.1rem 0 .4rem}
.cover-arcade .cover-practice{margin:0}
.cover-wings{background:linear-gradient(135deg,rgba(247,183,49,.14),rgba(55,138,221,.10))}
.wg-mini-emoji{font-size:26px}
.wg-promo{margin:1rem 0 .2rem;padding:.7rem 1rem;border-radius:12px;font-size:14px;color:#fff;background:linear-gradient(135deg,#1D9E75,#378ADD);box-shadow:0 6px 16px rgba(29,158,117,.30);animation:fbpop .5s ease}
.wg-hero{display:flex;align-items:center;gap:18px;margin:.6rem 0 1rem}
.wg-emoji{font-size:58px;line-height:1;animation:fbpop .5s ease}
.wg-rank{font-size:26px;font-weight:800;margin:0 0 2px}
.wg-xpline{font-size:14px;color:var(--text-secondary)}
.wg-bar{display:block;height:12px;border-radius:7px;background:var(--surface-2);border:1px solid var(--border);overflow:hidden;margin-top:8px;max-width:420px}
.wg-bar span{display:block;height:100%;border-radius:7px;background:linear-gradient(90deg,#378ADD,#1D9E75);transition:width .8s cubic-bezier(.2,.7,.3,1)}
.wg-bar.mini{height:7px;margin-top:6px;max-width:230px}
.wg-bar.tiny{height:5px;margin:0;max-width:70px;display:inline-block;vertical-align:middle}
.wg-next{font-size:12.5px;color:var(--text-muted);margin-top:5px}
.wg-ladder{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12.5px;color:var(--text-muted);margin-top:.4rem}
.wg-step{padding:3px 9px;border-radius:999px;border:1px solid var(--border);background:var(--surface-1);white-space:nowrap}
.wg-step.done{border-color:#1D9E75;color:#1D9E75}
.wg-step.now{border-color:transparent;color:#fff;background:linear-gradient(135deg,#378ADD,#1D9E75);font-weight:700;box-shadow:0 3px 10px rgba(55,138,221,.30)}
.wg-sep{opacity:.5}
.wg-badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin-top:.6rem}
.wg-badge{border:1.5px solid var(--border);border-radius:14px;background:var(--surface-1);padding:.8rem .7rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px;transition:transform .15s,box-shadow .15s}
.wg-badge b{font-size:13px}
.wg-bdesc{font-size:11px;color:var(--text-muted);line-height:1.35}
.wg-bemoji{font-size:30px;filter:grayscale(1);opacity:.45}
.wg-badge.earned{border-color:#F7B731;background:linear-gradient(160deg,rgba(247,183,49,.12),var(--surface-1) 60%)}
.wg-badge.earned .wg-bemoji{filter:none;opacity:1}
@media (hover:hover){.wg-badge:hover{transform:translateY(-3px);box-shadow:0 8px 16px rgba(0,0,0,.10)}}
.wg-bprog{font-size:10.5px;color:var(--text-muted);display:inline-flex;align-items:center;gap:5px;margin-top:2px}
.pf-wings{font-size:.55em;font-weight:700;color:var(--accent-text);background:var(--accent-bg);border-radius:999px;padding:3px 10px;vertical-align:middle;white-space:nowrap}

/* --- Anonymous week feedback (student widget) --- */
.fb-card{margin-top:1.6rem;position:relative;overflow:hidden;border:1px solid var(--border-strong);background:
  linear-gradient(135deg,rgba(55,138,221,.09),rgba(29,158,117,.08) 52%,rgba(247,183,49,.10)) , var(--surface-1)}
.fb-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#378ADD,#1D9E75,#F7B731,#D85A30)}
.fb-head{display:flex;gap:14px;align-items:center;margin:.3rem 0 1rem}
.fb-head-mark{position:relative;display:grid;place-items:center;flex:0 0 auto;width:44px;height:44px;border-radius:12px;color:#fff;background:linear-gradient(145deg,#378ADD,#1D9E75);box-shadow:0 7px 18px rgba(55,138,221,.24)}
.fb-head-mark::after{content:"";position:absolute;inset:-4px;border:1px solid rgba(55,138,221,.4);border-radius:15px;animation:fbpulse 2.8s ease-out infinite}
.fb-head-mark i{font-size:23px;animation:fbfloat 2.8s ease-in-out infinite}
.fb-title{font-size:16px;font-weight:700;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fb-anon-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#fff;background:linear-gradient(135deg,#378ADD,#1D9E75);border-radius:999px;padding:2px 9px}
.fb-sub{font-size:12.5px;color:var(--text-secondary);margin-top:2px}
.fb-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:.55rem .7rem;border-radius:12px;margin-bottom:.45rem;background:var(--surface-1);border:1px solid var(--border);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .2s ease}
.fb-row:hover{transform:translateX(3px);border-color:var(--border-strong);box-shadow:0 4px 14px rgba(0,0,0,.08)}
.fb-row.answered{border-color:color-mix(in srgb,#1D9E75 34%,var(--border));background:color-mix(in srgb,#1D9E75 4%,var(--surface-1))}
.fb-row-icon{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:9px;color:#226DB2;background:#E7F2FD;transition:transform .2s ease,color .2s ease,background .2s ease}
.fb-row-icon i{font-size:19px}
.fb-row[data-key=clarity] .fb-row-icon{color:#9A6900;background:#FFF3CC}
.fb-row[data-key=workload] .fb-row-icon{color:#6550B9;background:#F0ECFF}
.fb-row[data-key=materials] .fb-row-icon{color:#087C64;background:#E1F5EF}
.fb-row[data-key=difficulty] .fb-row-icon{color:#C14D28;background:#FDE9E1}
.fb-row[data-key=readiness] .fb-row-icon{color:#A3375B;background:#FBE8EF}
.fb-row.answered .fb-row-icon{color:#fff;background:#1D9E75;animation:fbicon .38s ease}
.fb-label{flex:1;min-width:230px;font-size:13.5px;font-weight:500}
.fb-picked{display:block;font-size:11.5px;font-weight:800;margin-top:2px;opacity:0;transform:translateY(-3px);transition:opacity .2s,transform .2s;text-transform:uppercase;letter-spacing:.03em}
.fb-picked.show{opacity:1;transform:none}
.fb-pick-v1{color:#D85A30}.fb-pick-v2{color:#DE8A3B}.fb-pick-v3{color:#C9A227}.fb-pick-v4{color:#7CB342}.fb-pick-v5{color:#1D9E75}
.fb-picked.diff.fb-pick-v1{color:#5C8FD6}.fb-picked.diff.fb-pick-v2{color:#4FA6A0}.fb-picked.diff.fb-pick-v3{color:#1D9E75}.fb-picked.diff.fb-pick-v4{color:#DE8A3B}.fb-picked.diff.fb-pick-v5{color:#D85A30}
.fb-scale{display:inline-flex;gap:6px}
.fb-btn{width:46px;height:54px;border-radius:12px;border:1.5px solid var(--border-strong);background:var(--surface-1);cursor:pointer;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:0;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease}
.fb-emoji{font-size:21px;line-height:1;filter:grayscale(.85);opacity:.55;transition:filter .12s,opacity .12s,transform .12s}
.fb-num{font-size:10px;color:var(--text-muted);font-weight:700}
@media (hover:hover){
  .fb-btn:hover{transform:translateY(-4px) scale(1.07);box-shadow:0 8px 16px rgba(0,0,0,.14);border-color:transparent}
  .fb-btn:hover .fb-emoji{filter:none;opacity:1;transform:scale(1.18)}
}
.fb-btn.active{border-color:transparent;box-shadow:0 5px 14px rgba(0,0,0,.18)}
.fb-btn.active .fb-emoji{filter:none;opacity:1}
.fb-btn.active .fb-num{color:#fff}
.fb-row[data-kind=agree] .fb-btn.active.fb-v1{background:#D85A30}
.fb-row[data-kind=agree] .fb-btn.active.fb-v2{background:#DE8A3B}
.fb-row[data-kind=agree] .fb-btn.active.fb-v3{background:#C9A227}
.fb-row[data-kind=agree] .fb-btn.active.fb-v4{background:#7CB342}
.fb-row[data-kind=agree] .fb-btn.active.fb-v5{background:#1D9E75}
.fb-row[data-kind=difficulty] .fb-btn.active.fb-v1{background:#5C8FD6}
.fb-row[data-kind=difficulty] .fb-btn.active.fb-v2{background:#4FA6A0}
.fb-row[data-kind=difficulty] .fb-btn.active.fb-v3{background:#1D9E75}
.fb-row[data-kind=difficulty] .fb-btn.active.fb-v4{background:#DE8A3B}
.fb-row[data-kind=difficulty] .fb-btn.active.fb-v5{background:#D85A30}
@keyframes fbpop{0%{transform:scale(.8)}55%{transform:scale(1.16)}100%{transform:scale(1)}}
@keyframes fbicon{0%{transform:rotate(-8deg) scale(.85)}60%{transform:rotate(5deg) scale(1.12)}100%{transform:none}}
@keyframes fbpulse{0%,35%{opacity:.55;transform:scale(.86)}75%,100%{opacity:0;transform:scale(1.25)}}
@keyframes fbfloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-2px) rotate(7deg)}}
.fb-btn.pop{animation:fbpop .3s ease}
.fb-comment{margin-top:.7rem}
.fb-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:.8rem}
button.fb-send{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:11px;padding:.7rem 1.2rem;font-size:.95rem;font-weight:600;color:#fff;cursor:pointer;background:linear-gradient(135deg,#378ADD,#1D9E75);box-shadow:0 4px 12px rgba(29,158,117,.25);transition:transform .12s,box-shadow .12s,opacity .12s}
button.fb-send:hover:not(:disabled){background:linear-gradient(135deg,#378ADD,#1D9E75);transform:translateY(-2px);box-shadow:0 8px 18px rgba(29,158,117,.35)}
button.fb-send:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.fb-count{font-size:12px;font-weight:700;color:var(--text-muted);border:1px dashed var(--border-strong);border-radius:999px;padding:3px 10px}
.fb-count.done{color:#1D9E75;border-color:#1D9E75;border-style:solid}
.fb-thanks{text-align:center;padding:1.2rem 0 .9rem}
.fb-thanks .fb-big{font-size:46px;display:inline-block;animation:fbpop .5s ease}
.fb-thanks-t{font-size:16px;font-weight:700;margin:.4rem 0 .2rem}
@media (prefers-reduced-motion:reduce){.fb-head-mark::after,.fb-head-mark i,.fb-btn.pop,.fb-row.answered .fb-row-icon,.fb-thanks .fb-big{animation:none}.fb-row,.fb-btn,.fb-emoji{transition:none}}
@media(max-width:640px){.fb-row{align-items:flex-start}.fb-row-icon{margin-top:2px}.fb-label{min-width:calc(100% - 50px)}.fb-scale{width:100%;justify-content:space-between;padding-left:46px}.fb-btn{width:min(46px,16vw)}}
.fbagg-row{display:flex;align-items:center;gap:10px;margin-bottom:.4rem;font-size:13px}
.fbagg-label{width:190px;flex:none;color:var(--text-secondary)}
.fbagg-bar{flex:1;height:9px;border-radius:5px;background:var(--surface-2);overflow:hidden}
.fbagg-fill{display:block;height:100%;background:#1D9E75;border-radius:5px}
.fbagg-fill.warn{background:#c0392b}

/* --- Weekly release --- */
.rel-config{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:.4rem 0 1rem;padding:.7rem .8rem;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}
.rel-config label{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--text-secondary);font-weight:600}
.rel-config input,.rel-config select{padding:.4rem .5rem;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-1);color:var(--text-primary);font-size:13px}
.rel-config .dtp{min-width:170px}.rel-config .dtp-field{height:38px;font-size:13px}
.rel-row{display:flex;align-items:center;gap:10px;padding:.45rem .55rem;border:1px solid var(--border);border-radius:9px;margin-bottom:.35rem;background:var(--surface-1);font-size:13px}
.rel-row.rel-closed{opacity:.82}
.rel-dot{width:10px;height:10px;border-radius:50%;flex:none}
.rel-dot.on{background:#1D9E75}
.rel-dot.off{background:#c0392b}
.rel-wk{font-weight:700;width:34px;flex:none}
.rel-title{flex:1;min-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rel-when{font-size:12px;color:var(--text-muted);white-space:nowrap}
.rel-btns{display:inline-flex;border:1px solid var(--border-strong);border-radius:8px;overflow:hidden;flex:none}
.rel-btn{border:0;background:var(--surface-1);color:var(--text-secondary);font-size:12px;padding:4px 10px;cursor:pointer;border-right:1px solid var(--border)}
.rel-btn:last-child{border-right:0}
.rel-btn.active{background:var(--accent-bg);color:var(--accent-text);font-weight:700}
.nav-item.locked{opacity:.55}
.nav-item.locked .nav-num{background:var(--surface-2);color:var(--text-muted)}
.cover-wk.locked{opacity:.55}

/* --- Student profile --- */
.profile-link{color:inherit;text-decoration:none;border-bottom:1px dotted var(--text-muted)}
.profile-link:hover{color:var(--accent);border-bottom-color:var(--accent)}
.pf-no{font-size:.6em;color:var(--text-muted);font-weight:500}
.pf-links{display:flex;gap:10px;margin:.4rem 0 1.1rem;flex-wrap:wrap}
.pf-table td.mg-name a{font-weight:600}
.pf-table tr.pf-empty td{color:var(--text-muted)}
.pf-flag{display:inline-block;font-size:10.5px;font-weight:700;border-radius:5px;padding:1px 6px;text-transform:uppercase;letter-spacing:.02em;vertical-align:middle}
.pf-flag.pf-blind{background:rgba(192,57,43,.16);color:#c0392b}
.pf-flag.pf-under{background:rgba(41,128,185,.15);color:#2980b9}
.pf-feedback{margin-top:5px;font-size:12.5px;color:var(--text-secondary);font-style:italic}
.profile-back{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);text-decoration:none;font-size:13px;font-weight:650;margin:.35rem 0 .15rem}.profile-back:hover{color:var(--accent-text)}
.profile-tabs{display:flex;align-items:center;gap:5px;padding:5px;margin:.75rem 0 1rem;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);width:max-content;max-width:100%;flex-wrap:wrap}.profile-tab{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border-radius:7px;text-decoration:none;color:var(--text-secondary);font-size:13.5px;font-weight:700}.profile-tab:hover{background:var(--surface-1);color:var(--text-primary)}.profile-tab.active{background:var(--accent);color:#fff;box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 24%,transparent)}
.profile-context{display:flex;align-items:center;justify-content:space-between;gap:16px;border-left:4px solid var(--accent);background:var(--accent-bg);padding:12px 16px;margin:.2rem 0 .8rem;border-radius:0 8px 8px 0}.profile-context span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-text);font-weight:800}.profile-context h2{font-size:18px;margin:2px 0}.profile-context p{font-size:12.5px;color:var(--text-secondary);margin:0}.profile-mini-stats{margin-top:.75rem}.profile-readiness-table{min-width:860px;width:100%}.profile-readiness-table td{padding:8px;text-align:center;border-bottom:1px solid var(--border)}.profile-readiness-table td:first-child,.profile-readiness-table td:last-child{text-align:left}.readiness-state{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:10px;text-transform:uppercase;letter-spacing:.03em;font-weight:800;white-space:nowrap}.readiness-state.ready{background:rgba(29,158,117,.15);color:#157a5a}.readiness-state.in-progress{background:rgba(184,134,11,.16);color:#8a6508}.readiness-state.not-started{background:var(--surface-2);color:var(--text-muted)}

/* Decision dashboard and cohort analytics */
.decision-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:1rem;margin:1rem 0}.decision-grid>.card{margin:0;min-width:0}.decision-stat{display:flex;align-items:center;gap:12px;padding:.85rem}.decision-stat .stat-icon{width:38px;height:38px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:20px}.decision-stat .stat-icon.blue{background:rgba(55,138,221,.15);color:#246eb4}.decision-stat .stat-icon.green{background:rgba(29,158,117,.15);color:#157a5a}.decision-stat .stat-icon.amber{background:rgba(222,138,59,.16);color:#9a590f}.decision-stat .stat-icon.violet{background:rgba(113,80,190,.14);color:#6542b0}.decision-stat b{font-size:1.55rem;line-height:1.05}.decision-stat div>span{display:block;margin-top:3px;line-height:1.35}
.trend-chart{min-width:0}.trend-chart svg{display:block;width:100%;height:auto;min-height:210px;overflow:visible}.trend-grid{stroke:var(--border);stroke-width:1}.trend-axis,.trend-label{fill:var(--text-muted);font:11px system-ui,sans-serif}.trend-bar{fill:color-mix(in srgb,var(--accent) 35%,var(--surface-2))}.trend-line{fill:none;stroke:#1d9e75;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.trend-dot{fill:#1d9e75;stroke:var(--surface-1);stroke-width:2}.trend-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:2px;color:var(--text-secondary);font-size:11.5px}.trend-legend span{display:inline-flex;align-items:center;gap:6px}.trend-key{display:inline-block;width:18px;height:7px;border-radius:3px}.trend-key.bar{background:color-mix(in srgb,var(--accent) 35%,var(--surface-2))}.trend-key.line{height:3px;background:#1d9e75}.chart-empty{padding:3rem 1rem;text-align:center}
.attention-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}.attention-head p{font-size:12.5px;margin:2px 0}.attention-list{display:flex;flex-direction:column;gap:7px}.attention-row{display:grid;grid-template-columns:48px minmax(0,1fr) 30px;gap:10px;align-items:center;border:1px solid var(--border);border-left:4px solid var(--border-strong);border-radius:8px;background:var(--surface-1);padding:8px 9px}.attention-row.high{border-left-color:#c0392b}.attention-row.watch{border-left-color:#c17a17}.attention-score{width:42px;height:42px;border-radius:7px;background:var(--surface-2);display:flex;flex-direction:column;align-items:center;justify-content:center}.attention-score b{font-size:16px;line-height:1;color:var(--text-primary)}.attention-score small{font-size:8px;text-transform:uppercase;color:var(--text-muted);margin-top:3px}.attention-person>a{font-weight:750;color:var(--text-primary);text-decoration:none}.attention-person>a:hover{color:var(--accent-text)}.attention-person>span{display:block;color:var(--text-muted);font-size:11.5px;margin-top:2px}.attention-reasons{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}.attention-reasons em{font-style:normal;font-size:10px;color:var(--text-secondary);background:var(--surface-2);border-radius:4px;padding:2px 5px}.attention-open{display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);width:28px;height:28px;border-radius:6px;text-decoration:none}.attention-open:hover{background:var(--accent-bg);color:var(--accent-text)}.signal-note{display:flex;align-items:flex-start;gap:6px;color:var(--text-muted);font-size:10.5px;line-height:1.4;margin:9px 0 0}.empty-good{display:flex;align-items:center;gap:10px;padding:16px;border:1px solid rgba(29,158,117,.25);background:rgba(29,158,117,.08);border-radius:8px}.empty-good>i{font-size:26px;color:#1d9e75}.empty-good strong,.empty-good span{display:block}.empty-good span{font-size:12px;color:var(--text-secondary);margin-top:2px}
.next-action-list{display:flex;flex-direction:column;gap:7px}.next-action{display:grid;grid-template-columns:34px minmax(0,1fr) 18px;align-items:center;gap:9px;border:1px solid var(--border);border-radius:8px;padding:9px;text-decoration:none;color:var(--text-primary);background:var(--surface-1)}.next-action:hover{border-color:var(--accent-border);background:var(--accent-bg)}.next-action>i:first-child{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;background:var(--surface-2);color:var(--accent-text);font-size:17px}.next-action.high>i:first-child{background:rgba(192,57,43,.12);color:#c0392b}.next-action.medium>i:first-child{background:rgba(193,122,23,.13);color:#a06413}.next-action strong,.next-action small{display:block}.next-action strong{font-size:12.5px}.next-action small{font-size:10.5px;color:var(--text-muted);line-height:1.35;margin-top:2px}.next-action>i:last-child{color:var(--text-muted)}
.reflection-review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.reflection-review-head p{font-size:12.5px;margin:2px 0}.reflection-review-head label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--text-secondary)}.reflection-review-head select{height:38px;max-width:360px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface-1);color:var(--text-primary);padding:0 10px;font:inherit}
@media(max-width:900px){.decision-grid{grid-template-columns:1fr}.trend-chart svg{min-height:180px}.attention-head{flex-direction:column}.attention-head .btn-ghost{align-self:flex-start}.reflection-review-head{flex-direction:column}.reflection-review-head label,.reflection-review-head select{width:100%;max-width:none}}
@media(max-width:580px){.profile-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.profile-tab{justify-content:center;padding:8px 5px;font-size:12px}.profile-context{padding:10px 12px}.decision-stat{align-items:flex-start}.trend-chart{overflow-x:auto}.trend-chart svg{width:680px;max-width:none}.attention-row{grid-template-columns:42px minmax(0,1fr)}.attention-open{grid-column:2;justify-self:end;grid-row:2}.attention-reasons em{font-size:9.5px}.reflection-review-head label{align-items:flex-start;flex-direction:column}}

/* --- Confidence calibration --- */
#confCalibration h3{font-size:13px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary);margin:1.1rem 0 .45rem;display:flex;align-items:center;gap:6px}
.cc-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;padding:.5rem .7rem;border:1px solid var(--border);border-left:4px solid var(--border-strong);border-radius:9px;margin-bottom:.4rem;background:var(--surface-1);font-size:13px}
.cc-row.cc-blind{border-left-color:#c0392b}
.cc-row.cc-under{border-left-color:#2980b9}
.cc-row.cc-reteach{border-left-color:#b8860b}
.cc-who{font-weight:600}
.cc-who em,.cc-nums em{font-style:normal;color:var(--text-muted);font-size:12px}
.cc-week{font-size:11px;font-weight:700;color:var(--accent-text);background:var(--accent-bg);border-radius:5px;padding:1px 6px;white-space:nowrap}
.cc-nums{color:var(--text-secondary)}
.cc-nums b{color:var(--text-primary)}
.cc-note{flex-basis:100%;font-size:12px;color:var(--text-muted)}

/* --- Mastery grid --- */
.mg-scroll{overflow-x:auto}
.mg-table{border-collapse:collapse;font-size:12px;min-width:640px}
.mg-table th{padding:4px 6px;color:var(--text-secondary);font-weight:600;text-align:center;border-bottom:1px solid var(--border-strong)}
.mg-table .mg-name{text-align:left;white-space:nowrap;padding:4px 10px 4px 2px;font-weight:600}
.mg-table .mg-name em{font-style:normal;color:var(--text-muted);font-weight:400;font-size:11px}
.mg-cell{width:34px;min-width:34px;text-align:center;padding:5px 2px;border:1px solid var(--border);font-variant-numeric:tabular-nums}
.mg-cell.mg-ok{background:rgba(29,158,117,.18);color:var(--text-primary)}
.mg-cell.mg-warn{background:rgba(184,134,11,.20);color:var(--text-primary)}
.mg-cell.mg-bad{background:rgba(192,57,43,.20);color:var(--text-primary)}
.mg-cell.mg-none{background:var(--surface-2)}
.mg-cell.mg-total{font-weight:700}

/* --- Mixed review (#3) --- */
.review-src{font-size:12px;color:var(--text-secondary);margin:-2px 0 10px;display:inline-flex;align-items:center;gap:5px}
.review-actions{margin:.2rem 0 1rem}

/* --- Printable one-page revision sheet (#6) --- */
.revision-sheet{display:none}
.confidential-print-footer{display:none}
.theory-opener{padding:26px 24px;border-radius:16px;background:linear-gradient(135deg,var(--accent-bg),transparent);border:1px solid var(--accent-border)}
.theory-opener-eyebrow{display:inline-block;margin-bottom:6px;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--accent-text)}
.theory-opener h3{margin:0 0 8px;font-size:24px}
.theory-opener-lead{font-size:15px}
.theory-keyterms-grid{display:grid;gap:8px}
.theory-keyterms .gl-row{display:grid;grid-template-columns:minmax(120px,220px) 1fr;gap:12px;padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-1)}
.theory-keyterms .gl-term{font-weight:700;color:var(--accent-text)}
.theory-keyterms .gl-def{color:var(--text-secondary)}
.theory-links-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.theory-links-list a,.theory-links-list li>span{display:flex;align-items:flex-start;gap:10px;padding:10px 13px;border:1px solid var(--border);border-radius:10px;text-decoration:none;color:var(--text-primary);background:var(--surface-1)}
.theory-links-list a:hover{border-color:var(--accent-border);background:var(--accent-bg)}
.theory-links-list i{margin-top:2px;color:var(--accent-text)}
.theory-link-copy{display:flex;flex-direction:column;gap:2px}
.theory-link-copy small{color:var(--text-secondary)}
.ed-link-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:6px 0}
.rich-table{width:100%;max-width:100%;border-collapse:collapse;margin:.9rem auto;font-size:.95em}
.rich-table th,.rich-table td{padding:8px 11px;border:1px solid var(--border);text-align:left;vertical-align:top}
.rich-table th{background:var(--surface-1);font-weight:700}
.rich-table caption{caption-side:bottom;padding:6px 0;font-size:.85em;color:var(--text-secondary)}
.rich-table-striped tbody tr:nth-child(even) td{background:var(--surface-1)}
.rich-table-minimal th,.rich-table-minimal td{border-left:0;border-right:0;border-top:0}
.rich-table-minimal th{background:transparent;border-bottom-width:2px}
.rich-table-accent thead th{background:var(--accent);color:#fff;border-color:var(--accent)}
.rich-table-compact th,.rich-table-compact td{padding:4px 8px;font-size:.88em}
.rich-table-soft{border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid var(--accent-border);border-radius:10px}
.rich-table-soft th,.rich-table-soft td{border-width:0 0 1px}
.rich-table-soft thead th{border-bottom:2px solid var(--accent-border);background:var(--accent-bg);color:var(--accent-text)}
.rich-table-soft tbody tr:last-child td{border-bottom:0}
.rich-table-comparison{border-collapse:separate;border-spacing:3px}
.rich-table-comparison th,.rich-table-comparison td{border:0;text-align:center}
.rich-table-comparison thead th{background:var(--accent);color:#fff}
.rich-table-comparison tbody td{background:var(--surface-1)}
.rich-table-comparison tr>*:first-child{text-align:left;font-weight:750}
.rich-table-comparison tbody td:first-child{background:var(--accent-bg);color:var(--accent-text)}
.rich-table-rubric thead th{border-bottom:3px solid var(--accent);background:color-mix(in srgb,var(--accent-bg) 72%,var(--surface-1));color:var(--accent-text);text-align:center}
.rich-table-rubric thead th:first-child{width:30%;text-align:left}
.rich-table-rubric tbody td{vertical-align:middle}
.rich-table-rubric tbody td:first-child{font-weight:750;color:var(--text-primary)}
.rich-table-rubric tbody tr:nth-child(even) td:not(:first-child){background:var(--surface-1)}
.rich-table-schedule thead th{border-bottom:2px solid var(--accent);background:var(--accent-bg);color:var(--accent-text)}
.rich-table-schedule tbody tr:nth-child(odd) td{background:color-mix(in srgb,var(--surface-1) 72%,transparent)}
.rich-table-schedule tbody td:first-child{width:18%;min-width:90px;border-left:4px solid var(--accent);color:var(--accent-text);font-weight:750;white-space:nowrap}
.rich-table-data{font-variant-numeric:tabular-nums}
.rich-table-data th,.rich-table-data td{border-right:0;border-left:0;text-align:right}
.rich-table-data th:first-child,.rich-table-data td:first-child{text-align:left}
.rich-table-data thead th{border-bottom:2px solid var(--text-secondary);background:transparent}
.rich-table-data tbody tr:nth-child(even) td{background:var(--surface-1)}
.rich-table-facts{border-collapse:separate;border-spacing:0 5px}
.rich-table-facts th{border:0;border-bottom:2px solid var(--accent-border);background:transparent;color:var(--accent-text)}
.rich-table-facts tbody td{border-width:1px 0;background:var(--surface-1)}
.rich-table-facts tbody td:first-child{width:32%;border-left-width:1px;background:var(--accent-bg);color:var(--accent-text);font-weight:750}
.rich-table-facts tbody td:last-child{border-right-width:1px}
.rich-table-align-left{margin-right:auto;margin-left:0}
.rich-table-align-center{margin-right:auto;margin-left:auto}
.rich-table-align-right{margin-right:0;margin-left:auto}
.rich-table th.rich-table-cell-style-subtle,.rich-table td.rich-table-cell-style-subtle{background:var(--surface-1)!important;color:var(--text-primary)}
.rich-table th.rich-table-cell-style-emphasis,.rich-table td.rich-table-cell-style-emphasis{background:var(--accent)!important;color:#fff;font-weight:800}
.rich-table th.rich-table-cell-style-highlight,.rich-table td.rich-table-cell-style-highlight{background:var(--warning-bg)!important;color:var(--warning-text);font-weight:750}
.rich-table th.rich-table-cell-style-positive,.rich-table td.rich-table-cell-style-positive{background:var(--success-bg)!important;color:var(--success-text);font-weight:750}
.rich-table th.rich-table-cell-style-critical,.rich-table td.rich-table-cell-style-critical{background:var(--danger-bg)!important;color:var(--danger-text);font-weight:750}
.rich-table th.rich-table-cell-style-total,.rich-table td.rich-table-cell-style-total{background:var(--surface-1)!important;color:var(--text-primary);font-weight:850}
.rich-table.rich-table-custom-borders{border-collapse:separate;border-spacing:0;border:var(--rich-table-outer-width,1px) var(--rich-table-outer-style,solid) var(--rich-table-outer-color,var(--border))!important}
.rich-table.rich-table-custom-borders>*>tr>th,.rich-table.rich-table-custom-borders>*>tr>td{border:0!important;border-right:var(--rich-table-inner-width,1px) var(--rich-table-inner-style,solid) var(--rich-table-inner-color,var(--border))!important;border-bottom:var(--rich-table-inner-width,1px) var(--rich-table-inner-style,solid) var(--rich-table-inner-color,var(--border))!important}
.rich-table.rich-table-custom-borders>*>tr>.rich-table-edge-right{border-right:0!important}
.rich-table.rich-table-custom-borders>*>tr>.rich-table-edge-bottom{border-bottom:0!important}
@media(max-width:620px){.rich-table{display:block;max-width:100%;overflow-x:auto}.rich-table th,.rich-table td{min-width:92px}.rich-table-comparison th,.rich-table-comparison td,.rich-table-rubric th,.rich-table-rubric td,.rich-table-schedule th,.rich-table-schedule td,.rich-table-data th,.rich-table-data td{min-width:108px}.rich-table-rubric tr>*:first-child,.rich-table-schedule tr>*:first-child{min-width:140px}}
@media print{.rich-table{display:table!important;overflow:visible!important;font-size:9pt;break-inside:auto}.rich-table thead{display:table-header-group}.rich-table tr{break-inside:avoid;break-after:auto}.rich-table th,.rich-table td{padding:5pt 6pt;color:#111!important;border-color:#999!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.rich-table.rich-table-custom-borders{border-color:var(--rich-table-outer-color,#999)!important}.rich-table.rich-table-custom-borders>*>tr>th,.rich-table.rich-table-custom-borders>*>tr>td{border-right-color:var(--rich-table-inner-color,#999)!important;border-bottom-color:var(--rich-table-inner-color,#999)!important}}
.editor-modal.is-fullscreen{inset:0;width:100vw;height:100dvh;align-items:stretch;justify-content:stretch;padding:0}
.editor-modal.is-fullscreen .ed-modal-panel{display:flex;box-sizing:border-box;flex-direction:column;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;min-width:0;min-height:0;margin:0!important;overflow:hidden;resize:none;border:0;border-radius:0;box-shadow:none;transform:none!important}
.editor-modal.is-fullscreen .ed-modal-body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.editor-modal.is-fullscreen .ed-rich-input{min-height:38vh}
.ed-modal-maximize i{font-size:17px}
