.lesson-list{display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden}.filters{padding:1rem;background-color:var(--bg);border-bottom:1px solid var(--border);flex-shrink:0}.filters-top-row{display:flex;gap:.5rem}.search-input{flex:1;min-width:0;font-size:.875rem}.filters-toggle{display:flex;align-items:center;gap:.375rem;flex-shrink:0;padding:.5rem .75rem;font-size:.8125rem;font-weight:500;background-color:var(--surface);color:var(--text);border:1px solid var(--border);white-space:nowrap}.filters-toggle:hover{background-color:var(--border)}.filters-toggle.expanded{border-color:var(--primary);color:var(--primary)}.filters-active-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.125rem;height:1.125rem;padding:0 .25rem;border-radius:999px;background-color:var(--primary);color:#fff;font-size:.6875rem;font-weight:700}.filters-toggle-chevron{flex-shrink:0;transition:transform .15s}.filters-toggle.expanded .filters-toggle-chevron{transform:rotate(90deg)}.filters-options{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}.course-filter{min-width:150px}.lessons-container{flex:1;overflow-y:auto;padding:0 1rem 1rem}.course-group:first-child{margin-top:1rem}.loading,.empty-state{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-light);font-size:1.125rem}.lessons-list{display:flex;flex-direction:column;gap:.5rem}.lessons-list .lesson-card{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1rem;padding:.625rem 1rem}.lessons-list .lesson-header{display:flex;align-items:flex-start;gap:.625rem;margin-bottom:0;flex:1;min-width:160px}.lessons-list .lesson-header h3{margin-bottom:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3;flex:1 1 auto;min-width:0}.lesson-number-prefix{margin-right:.3rem;font-weight:400;color:var(--text-light)}.lessons-list .lesson-meta{margin-bottom:0;flex:1 1 100%;min-width:0}.lessons-list .lesson-progress{flex:1 1 100%;min-width:0}.course-group{margin-bottom:1.5rem}.course-group:last-child{margin-bottom:0}.course-group-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:700;margin-bottom:.75rem;padding:.5rem 0;border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;position:sticky;top:0;z-index:1;background-color:var(--surface)}.course-group-title.collapsed{margin-bottom:1rem}.course-group-title:hover{color:var(--primary)}.course-group-chevron{flex-shrink:0;transition:transform .15s}.course-group-title.collapsed .course-group-chevron{transform:rotate(90deg)}.course-group-count{font-weight:400;color:var(--text-light)}.lesson-card{padding:1rem;background-color:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:.5rem;cursor:pointer;transition:all .2s}.lesson-card:hover{border-color:var(--primary);box-shadow:0 4px 12px #2563eb1a;transform:translateY(-2px)}.lesson-card:active{transform:translateY(0)}.lesson-header{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.75rem}.lesson-header h3{font-size:1rem;font-weight:600;margin-bottom:.25rem;line-height:1.3}.watched-check{color:var(--success);font-weight:700;flex-shrink:0}.queue-toggle-btn{display:flex;align-items:center;gap:.25rem;flex-shrink:0;margin-left:auto;padding:.25rem .5rem;font-size:.75rem;font-weight:600;color:var(--text-light);background-color:var(--bg);border:1px solid var(--border);border-radius:999px;cursor:pointer;white-space:nowrap}.queue-toggle-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.queue-toggle-btn.queued{color:var(--primary);background-color:#eff6ff;border-color:var(--primary)}.queue-toggle-btn:disabled{opacity:.6;cursor:default}.lessons-list .lesson-header .queue-toggle-btn{margin-left:auto}.lesson-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.badge{display:inline-block;font-size:.75rem;padding:.25rem .5rem;border-radius:.25rem}.badge-position{background-color:#dbeafe;color:#1e40af}.badge-chapter{background-color:var(--bg);color:var(--text-light)}.lesson-progress{display:flex;align-items:center;gap:.5rem}.lesson-progress-bar{flex:1;height:3px;background-color:var(--border);border-radius:999px;overflow:hidden}.lesson-progress-fill{height:100%;background-color:var(--success);opacity:.8}.lesson-progress-label{flex-shrink:0;font-size:.75rem;color:var(--text-light)}@media (max-width: 640px){.filters{padding:.75rem}.filters-options{flex-direction:column}.course-filter{width:100%}.lessons-container{padding:.75rem}.lesson-card{padding:.875rem}}.note-editor{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background-color:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:.5rem;margin-bottom:1rem}.note-input-row{display:flex;gap:.75rem;align-items:stretch}.note-textarea{flex:1;min-width:0;min-height:100px;padding:.75rem;font-size:.875rem;resize:vertical}.editor-options{display:flex;flex-direction:column;gap:.5rem}.timestamp-row{display:flex;align-items:center;gap:.75rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem}.checkbox-label input[type=checkbox]{width:auto;margin:0;cursor:pointer}.input-field{font-size:.875rem;padding:.5rem}.class-details-row{display:flex;gap:.5rem;margin-left:1.5rem}.class-details-row input[type=date]{flex-shrink:0;width:150px}.class-details-row input[type=text]{flex:1}.timestamp-field{max-width:90px;font-family:monospace;font-weight:600}.editor-actions{display:flex;gap:.75rem;justify-content:flex-end}.save-btn{background-color:var(--success)}.save-btn:hover{background-color:#059669}.captured-frame-preview{display:flex;flex-direction:column;gap:.375rem;align-items:center;flex-shrink:0;width:120px}.captured-frame-preview img{width:100%;border-radius:.375rem;border:1px solid var(--border)}.captured-frame-saved-label{font-size:.6875rem;font-weight:600;color:var(--success)}.remove-frame-btn{width:100%;background-color:transparent;color:var(--danger);font-size:.6875rem;padding:.25rem .375rem}.remove-frame-btn:hover{background-color:#ef44441a}.nudge-controls{display:flex;flex-wrap:wrap;gap:.25rem;justify-content:center}.nudge-btn{min-width:auto;padding:.25rem .375rem;font-size:.6875rem;font-family:monospace;background-color:var(--bg);color:var(--text);border:1px solid var(--border)}.nudge-btn:hover{background-color:var(--border)}.capture-frame-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.375rem;flex-shrink:0;width:120px;min-height:100px;background-color:var(--bg);color:var(--primary);border:1px dashed var(--primary);font-size:.75rem;text-align:center}.capture-frame-btn:hover{background-color:var(--surface)}@media (max-width: 640px){.note-editor{padding:.75rem;gap:.5rem}.note-input-row{flex-direction:row}.note-input-row:has(.captured-frame-preview){flex-direction:column}.capture-frame-btn{width:44px;min-height:44px;height:44px;padding:0;gap:0}.capture-frame-btn span{display:none}.captured-frame-preview{width:100%;flex-direction:row}.captured-frame-preview img{width:80px}.editor-options{gap:.375rem}.class-details-row{flex-direction:column;margin-left:0}.class-details-row input[type=date]{width:100%}.editor-actions{gap:.5rem}.editor-actions button{flex:1;min-width:auto}}.note-line-action{display:inline-flex;align-items:baseline;gap:.25rem}.note-action-badge{color:var(--warning);font-size:.9em}.note-line-action-done{color:var(--text-light);text-decoration:line-through;text-decoration-color:var(--border)}.note-action-badge-done{color:var(--success);text-decoration:none}.note-mention{display:inline;background:none;border:none;border-radius:.25rem;padding:0 .15rem;margin:0;font:inherit;font-weight:600;cursor:pointer;line-height:inherit}.note-mention-link{color:var(--primary);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.note-mention-link:hover{background-color:#2563eb1a}.note-mention-tag{color:#7c3aed;background-color:#7c3aed14}.note-mention-tag:hover{background-color:#7c3aed2e}.note-mention.not-found{color:var(--danger);background-color:#ef44441a;font-style:italic;font-weight:400;cursor:default}.image-note-overlay-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:2rem;background-color:#000000bf;z-index:200}.image-note-overlay{position:relative;display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:720px;max-height:90vh;padding:1.5rem;background-color:var(--surface);color:var(--text);border-radius:.5rem;box-shadow:0 20px 60px #00000073;overflow-y:auto}.image-note-overlay-close{position:absolute;top:.625rem;right:.625rem;display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;background-color:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:50%;z-index:1}.image-note-overlay-close:hover{background-color:var(--danger);border-color:var(--danger);color:#fff}.image-note-overlay-image-wrap{display:flex;justify-content:center}.image-note-overlay-image{max-width:100%;max-height:70vh;border-radius:.375rem;border:1px solid var(--border)}.image-note-overlay-content{margin:0;font-size:.9375rem;line-height:1.6;white-space:pre-wrap}@media (max-width: 640px){.image-note-overlay-backdrop{padding:0}.image-note-overlay{max-width:none;max-height:none;width:100%;height:100%;border-radius:0;padding:3.5rem 1rem 1.5rem}.image-note-overlay-image{max-height:55vh}.image-note-overlay-close{top:.75rem;right:.75rem;width:2.75rem;height:2.75rem}}.note-item{position:relative;padding:.75rem;background-color:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:.375rem;transition:background-color .4s,border-color .4s}.note-item.highlighted{background-color:#fef9c3;border-color:var(--warning)}.note-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.5rem}.note-meta{display:flex;gap:.5rem;flex-wrap:wrap;font-size:.75rem}.note-timestamp{padding:.25rem .5rem;background-color:var(--primary);color:#fff;border-radius:.25rem;cursor:pointer;font-weight:600;font-family:monospace}.note-class,.note-date{padding:.25rem .5rem;background-color:var(--primary);opacity:.7;color:#fff;border-radius:.25rem}.note-author{font-style:italic;opacity:.7;font-size:.75rem}.note-public-toggle{display:flex;align-items:center;gap:.25rem;font-size:.75rem;cursor:pointer;white-space:nowrap}.note-public-toggle input[type=checkbox]{width:auto;margin:0;cursor:pointer}.note-pending-badge{padding:.25rem .5rem;background-color:var(--warning);color:#fff;border-radius:.25rem}.note-actions{display:flex;gap:.25rem;flex-shrink:0}.icon-btn{display:flex;align-items:center;justify-content:center;padding:.375rem;background-color:transparent;color:var(--text-light);min-width:auto;border-radius:.25rem}.icon-btn:hover{background-color:var(--bg);color:var(--text)}.icon-btn.active{background-color:var(--primary);color:#fff}.icon-btn.active:hover{background-color:var(--primary-dark);color:#fff}.cancel-edit:hover,.delete-note:hover{background-color:#ef444426;color:var(--danger)}.note-content{margin:0;font-size:.875rem;line-height:1.5;white-space:pre-wrap}.note-edit-textarea{width:100%;min-height:70px;font-size:.875rem;line-height:1.5;padding:.5rem;resize:vertical}.note-footer{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.note-created-at{margin:0;font-size:.75rem;color:var(--text-light)}.note-history-toggle{background:none;color:var(--primary);font-size:.75rem;padding:0;min-width:auto}.note-history-toggle:hover{text-decoration:underline;background:none}.note-history{margin-top:.625rem;padding-top:.625rem;border-top:1px dashed var(--border);display:flex;flex-direction:column;gap:.5rem}.note-history-empty{margin:0;font-size:.75rem;color:var(--text-light)}.note-history-entry{padding:.5rem;background-color:var(--bg);border-radius:.25rem}.note-history-date{margin:0 0 .25rem;font-size:.6875rem;color:var(--text-light)}.note-history-content{margin:0;font-size:.8125rem;color:var(--text-light);white-space:pre-wrap}.note-history-arrow{font-weight:400;opacity:.8}.delete-confirm-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.625rem;padding:.75rem;background-color:var(--surface);border-radius:.375rem}.delete-confirm-overlay p{margin:0;font-size:.875rem;font-weight:500}.delete-confirm-actions{display:flex;gap:.5rem}.delete-confirm-cancel{background-color:var(--text-light)}.delete-confirm-cancel:hover{background-color:#475569}.delete-confirm-yes{background-color:var(--danger)}.delete-confirm-yes:hover{background-color:#dc2626}.capture-frame-btn{display:flex;align-items:center;gap:.5rem;align-self:flex-start;margin-top:.5rem;background-color:transparent;color:var(--primary);border:1px dashed var(--primary);font-size:.75rem;padding:.375rem .625rem}.staged-frame-thumb{height:20px;border-radius:.1875rem}.capture-frame-btn:hover{background-color:var(--bg)}.note-body-with-image{display:flex;gap:.75rem;align-items:flex-start}.note-image-link{display:block;flex-shrink:0;padding:0;background:none;border:none;min-width:auto;cursor:pointer}.note-image{max-width:140px;border-radius:.375rem;border:1px solid var(--border)}.note-body-with-image .note-content{flex:1;min-width:0}@media (max-width: 640px){.note-item{padding:.5rem}.note-header{margin-bottom:.3125rem}.note-footer{margin-top:.3125rem}}.transcript-viewer{display:flex;flex-direction:column;height:100%;overflow:hidden}.transcript-viewer.empty{display:flex;align-items:center;justify-content:center;color:var(--text-light);padding:2rem}.transcript-search{padding:.5rem;font-size:.875rem;border-radius:.375rem;margin-bottom:.75rem}.transcript-content{flex:1;overflow-y:auto;padding-right:.5rem}.transcript-line{margin:.5rem 0;font-size:.875rem;line-height:1.5}.transcript-line mark{background-color:var(--warning);color:#000;padding:.1em .3em;border-radius:.2em;font-weight:600}.transcript-segment{display:flex;gap:.625rem;padding:.375rem .5rem;margin:.125rem 0;border-radius:.375rem;cursor:pointer;font-size:.875rem;line-height:1.5}.transcript-segment:hover{background-color:var(--border)}.transcript-segment.active{background-color:var(--primary);color:#fff}.segment-time{flex-shrink:0;font-family:monospace;font-weight:600;color:var(--text-light);min-width:2.75rem}.transcript-segment.active .segment-time{color:#ffffffd9}.segment-text{flex:1}.no-results{text-align:center;color:var(--text-light);padding:2rem;margin:0}.transcript-content::-webkit-scrollbar{width:6px}.transcript-content::-webkit-scrollbar-track{background:transparent}.transcript-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.transcript-content::-webkit-scrollbar-thumb:hover{background:var(--text-light)}.drills-panel{flex:1;overflow-y:auto;padding:1rem}.drills-chapters-hint{margin:0 0 .75rem;font-size:.75rem;color:var(--text-light)}.drills-list{display:flex;flex-direction:column;gap:.375rem}.drill-row{display:flex;align-items:center;gap:.5rem}.drill-item{flex:1;display:flex;align-items:baseline;gap:.5rem;padding:.625rem .75rem;border-radius:.375rem;border:1px solid var(--border);background-color:var(--surface);color:var(--text);cursor:pointer;font-size:.8125rem;text-align:left;min-width:0}.drill-item:hover{background-color:var(--border)}.drill-item.active{border-color:var(--primary);background-color:var(--border)}.drill-number{flex-shrink:0;font-weight:600;color:var(--text-light)}.drill-title{min-width:0}.drills-empty{color:var(--text-light);text-align:center;padding:2rem}.drill-chapter-controls{flex-shrink:0;display:flex;align-items:center;gap:.25rem}.drill-chapter-btn{flex-shrink:0;font-size:.75rem;font-weight:600;padding:.4rem .55rem;border-radius:.375rem;border:1px solid var(--border);background-color:var(--surface);color:var(--text-light);cursor:pointer;white-space:nowrap}.drill-chapter-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.drill-chapter-btn:disabled{opacity:.5;cursor:default}.drill-chapter-jump{color:var(--warning);border-color:var(--warning)}.drill-chapter-jump:hover:not(:disabled){color:var(--warning);border-color:var(--warning);background-color:#f59e0b1a}.drill-chapter-clear{padding:.4rem .5rem}.drill-chapter-mark{font-size:.7rem}@media (max-width: 640px){.drill-row{flex-wrap:wrap}.drill-chapter-controls{width:100%;padding-left:.25rem}}.handout-viewer{flex:1;width:100%;height:100%;min-height:0;border:none;background-color:#f8fafc}.technique-encounters{display:flex;flex-direction:column;gap:1.25rem;padding:1rem;overflow-y:auto;flex:1}.technique-encounters h4{margin:0 0 .5rem;font-size:.9375rem}.rollup-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.625rem}.rollup-card{padding:.75rem .625rem;background-color:var(--surface);border:1px solid var(--border);border-radius:.5rem;text-align:center}.rollup-card-empty{opacity:.55}.rollup-card-label{font-size:.75rem;color:var(--text-light);margin-bottom:.25rem}.rollup-card-value{font-weight:700;font-size:.9375rem;color:var(--text)}.rollup-card-count{font-size:.6875rem;color:var(--text-light);margin-top:.125rem}.encounter-log-form{padding:1rem;background-color:var(--surface);border:1px solid var(--border);border-radius:.5rem}.encounter-form-row{display:flex;gap:.5rem;margin-bottom:.5rem}.encounter-form-row .input-field{font-size:.875rem;padding:.5rem;flex:1;min-width:0}.encounter-note-textarea{width:100%;min-height:50px;padding:.5rem;font-size:.875rem;resize:vertical;margin-bottom:.5rem}.log-encounter-btn{background-color:var(--success)}.log-encounter-btn:hover{background-color:#059669}.encounter-hint{margin:.625rem 0 0;font-size:.75rem;color:var(--text-light)}.encounter-hint code{background-color:var(--bg);padding:.05rem .3rem;border-radius:.2rem}.encounter-history{display:flex;flex-direction:column;gap:.5rem}.encounters-empty{color:var(--text-light);font-size:.875rem;margin:0}.encounter-entry{padding:.625rem .75rem;background-color:var(--surface);border:1px solid var(--border);border-radius:.375rem}.encounter-entry-header{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.encounter-context-badge{font-size:.75rem;font-weight:600;padding:.125rem .5rem;border-radius:999px;color:#fff}.encounter-context-drilled{background-color:#2563eb}.encounter-context-lesson{background-color:#7c3aed}.encounter-context-private_session{background-color:#db2777}.encounter-context-rolling{background-color:#ea580c}.encounter-date{font-size:.8125rem;color:var(--text-light)}.encounter-outcome{font-size:.75rem;font-weight:600;padding:.0625rem .4rem;border-radius:.25rem}.encounter-outcome-worked{color:var(--success);background:#10b9811f}.encounter-outcome-didnt{color:var(--danger);background:#ef44441f}.encounter-outcome-unsure{color:var(--warning);background:#f59e0b1f}.encounter-delete-btn{margin-left:auto;background:none;color:var(--text-light);padding:.125rem}.encounter-delete-btn:hover{color:var(--danger)}.encounter-entry-note{margin:.375rem 0 .25rem;font-size:.8125rem;color:var(--text)}.encounter-source{font-size:.6875rem;color:var(--text-light);font-style:italic}.encounter-view-note-btn{background:none;border:none;color:var(--primary);font-size:.6875rem;font-style:normal;font-weight:600;padding:0;min-width:auto}.encounter-view-note-btn:hover{text-decoration:underline;background:none}@media (max-width: 640px){.rollup-grid{grid-template-columns:repeat(2,1fr)}.encounter-form-row{flex-direction:column}}.shared-links-panel{display:flex;flex-direction:column;gap:1.25rem;padding:1rem;overflow-y:auto;flex:1}.shared-links-panel h4{margin:0 0 .5rem;font-size:.9375rem}.share-create-form{padding:1rem;background-color:var(--surface);border:1px solid var(--border);border-radius:.5rem}.share-hint{font-size:.8125rem;color:var(--text-light);margin:0 0 .75rem}.share-devices-hint{margin-top:.5rem;margin-bottom:0}.share-range-row{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}.share-mark-btn{font-size:.8125rem;padding:.5rem .75rem;background-color:var(--bg);color:var(--text);border:1px solid var(--border)}.share-mark-btn:hover{background-color:var(--border)}.share-mark-btn:disabled{opacity:.5;cursor:not-allowed}.share-clear-btn{font-size:.8125rem;padding:.5rem .75rem;background:none;border:1px solid var(--border);color:var(--text-light)}.share-note-textarea{width:100%;min-height:50px;padding:.5rem;font-size:.875rem;resize:vertical;margin-bottom:.625rem}.share-expiry-row{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.625rem}.share-expiry-field{display:flex;flex-direction:column;gap:.25rem;font-size:.8125rem;color:var(--text-light)}.share-expiry-checkbox{flex-direction:row;align-items:center;gap:.375rem}.share-expiry-checkbox input[type=checkbox]{width:auto;margin:0;cursor:pointer}.share-views-input{width:5.5rem}.share-error{color:var(--danger);font-size:.8125rem;margin:.375rem 0}.share-create-btn{margin-top:.25rem}.share-created-banner{display:flex;align-items:center;gap:.75rem;margin-top:.75rem;padding:.5rem .75rem;background-color:var(--success);color:#fff;border-radius:.375rem;font-size:.8125rem}.share-created-banner button{background-color:#fff3;padding:.25rem .625rem;font-size:.75rem}.share-created-banner button:hover{background-color:#ffffff4d}.share-links-empty{color:var(--text-light);font-size:.875rem}.share-link-row{padding:.75rem .875rem;background-color:var(--surface);border:1px solid var(--border);border-radius:.5rem;margin-bottom:.625rem}.share-link-row-inactive{opacity:.65}.share-link-row-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.share-link-range{font-weight:600;font-size:.875rem;font-variant-numeric:tabular-nums}.share-link-status{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;padding:.125rem .5rem;border-radius:999px}.share-link-status-active{background-color:#10b98126;color:var(--success)}.share-link-status-inactive{background-color:#64748b26;color:var(--text-light)}.share-link-note-preview{margin:.375rem 0;font-size:.8125rem;color:var(--text)}.share-link-meta{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.6875rem;color:var(--text-light);margin:.375rem 0}.share-link-actions{display:flex;gap:.5rem;margin-top:.5rem}.share-link-actions button{font-size:.75rem;padding:.3125rem .625rem}.share-revoke-btn{background:none;border:1px solid var(--border);color:var(--text)}.share-revoke-btn:hover{border-color:var(--danger);color:var(--danger);background:none}.share-revoke-confirm{display:flex;gap:.375rem}@media (max-width: 640px){.share-expiry-row{flex-direction:column}}.lesson-viewer{display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden}.viewer-header{display:flex;align-items:center;gap:1rem;padding:1rem;background-color:var(--surface);color:var(--text);border-bottom:1px solid var(--border);flex-shrink:0}.lesson-title{flex:1;min-width:0}.lesson-title h2{font-size:1.25rem;font-weight:600;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-course-inline{font-size:.8125rem;font-weight:400;color:var(--text-light)}.watched-badge{padding:.25rem .75rem;background-color:var(--success);color:#fff;border-radius:.25rem;font-size:.875rem;white-space:nowrap}.offline-data-badge,.pending-sync-badge{padding:.25rem .75rem;border-radius:.25rem;font-size:.8125rem;white-space:nowrap}.offline-data-badge{background-color:var(--text-light);color:#fff}.pending-sync-badge{background-color:var(--warning);color:#fff}.offline-video-btn{width:auto;padding:0 .6rem;font-size:.75rem;white-space:nowrap}.offline-video-btn.saved{color:var(--success);border-color:var(--success)}.viewer-content{display:flex;gap:1rem;flex:1;padding:1rem;overflow:hidden}.content-column{display:flex;flex-direction:column;flex:1;gap:1rem;min-width:0;overflow:hidden}.video-panel{display:flex;flex-direction:column;flex-shrink:0}.video-wrapper{position:relative;display:flex;flex-direction:column;gap:1rem}.video-wrapper video{width:100%;max-height:85vh;background-color:#000;border-radius:.5rem}.video-unavailable{width:100%;max-height:85vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.375rem;background-color:#000;color:#fff;border-radius:.5rem;text-align:center;padding:1rem}.video-unavailable p{margin:0}.video-unavailable-hint{color:#aaa;font-size:.875rem}.video-resize-handle{flex-shrink:0;height:14px;margin:-.25rem 0;display:flex;align-items:center;justify-content:center;cursor:row-resize;touch-action:none}.video-resize-handle-grip{width:40px;height:4px;border-radius:999px;background-color:var(--border)}.video-resize-handle:hover .video-resize-handle-grip,.video-resize-handle.dragging .video-resize-handle-grip{background-color:var(--primary)}.video-wrapper:fullscreen{display:flex;flex-direction:column;justify-content:center;gap:.5rem;padding:1rem;background-color:#000}.video-wrapper:fullscreen video{max-height:80vh;border-radius:0}.video-wrapper.has-custom-fullscreen video::-webkit-media-controls-fullscreen-button{display:none}.drill-badge{position:absolute;top:.75rem;left:.75rem;z-index:1;display:flex;align-items:center;gap:.5rem;max-width:calc(100% - 1.5rem);padding:.4rem .4rem .4rem .75rem;font-size:.8125rem;font-weight:600;color:#fff;background-color:#0f172abf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;border-radius:999px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drill-badge:hover{background-color:#0f172ae6}.drill-badge-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;font-size:.75rem;background-color:#ffffff26;border-radius:50%}.up-next-overlay{position:absolute;left:.75rem;right:.75rem;bottom:.75rem;z-index:2;display:flex;justify-content:center}.up-next-card{display:flex;align-items:center;gap:1rem;max-width:100%;padding:.75rem 1rem;background-color:#0f172aeb;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:.75rem;color:#fff}.up-next-info{display:flex;flex-direction:column;gap:.125rem;min-width:0}.up-next-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:#fff9}.up-next-title{font-size:.875rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:32ch}.up-next-actions{display:flex;gap:.5rem;flex-shrink:0}.up-next-cancel,.up-next-play{font-size:.8125rem;font-weight:600;padding:.5rem .75rem;border-radius:.5rem;cursor:pointer;white-space:nowrap}.up-next-cancel{background-color:#ffffff1f;color:#fff;border:none}.up-next-cancel:hover{background-color:#fff3}.up-next-play{background-color:var(--primary);color:#fff;border:none}.up-next-play:hover{filter:brightness(1.1)}@media (max-width: 640px){.up-next-card{flex-direction:column;align-items:stretch;gap:.625rem;width:100%}.up-next-title{max-width:none}.up-next-actions{width:100%}.up-next-cancel,.up-next-play{flex:1}}.note-timeline{position:relative;height:10px;border-radius:999px;background-color:var(--border);cursor:pointer;margin-top:-.5rem}.note-timeline-fill{position:absolute;top:0;left:0;bottom:0;border-radius:999px;background-color:var(--primary);pointer-events:none}.note-marker{position:absolute;top:50%;width:6px;height:6px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid var(--surface);background-color:var(--primary);cursor:pointer;padding:0}.note-marker:hover,.note-marker.active{background-color:var(--warning);width:8px;height:8px}.chapter-marker{position:absolute;top:-1px;width:8px;height:8px;transform:translate(-50%,-50%) rotate(45deg);border:none;background-color:var(--warning);cursor:pointer;padding:0;box-shadow:0 0 0 2px var(--surface)}.chapter-marker:hover{width:10px;height:10px}.chapter-strip{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.5rem}.chapter-chip{font-size:.75rem;font-weight:600;padding:.3rem .625rem;border-radius:999px;border:1px solid var(--warning);background-color:#f59e0b1a;color:var(--warning);cursor:pointer;white-space:nowrap}.chapter-chip:hover{background-color:#f59e0b33}.video-controls{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.video-controls-row{display:contents}.skip-buttons{display:flex;gap:.375rem;flex-shrink:0}.skip-btn{display:flex;align-items:center;gap:.25rem;min-width:auto;padding:.5rem .625rem;font-size:.75rem;background-color:var(--surface);color:var(--text);border:1px solid var(--border)}.skip-btn:hover{background-color:var(--bg)}.copy-link-btn{min-width:2rem;justify-content:center}.play-pause-btn{padding:.5rem .875rem;background-color:var(--primary);color:#fff;border-color:var(--primary)}.play-pause-btn:hover{background-color:var(--primary-dark)}.speed-slider-wrap{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.speed-slider{width:110px;accent-color:var(--primary);height:1.5rem}.speed-slider::-webkit-slider-thumb{width:1.375rem;height:1.375rem}.speed-slider::-moz-range-thumb{width:1.375rem;height:1.375rem;border:none}.speed-slider-label{flex-shrink:0;font-size:.8125rem;font-weight:700;font-family:monospace;color:var(--text);min-width:2.5rem}.handout-link{display:flex;align-items:center;gap:.375rem;flex-shrink:0;padding:.5rem .75rem;background-color:var(--surface);color:var(--primary);border:1px solid var(--border);border-radius:.375rem;font-size:.875rem;font-weight:500;text-decoration:none}.handout-link:hover{background-color:var(--bg)}.no-video{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-light);background-color:var(--surface);border-radius:.5rem}.add-to-sheet-btn{min-width:2rem;justify-content:center}.add-to-sheet-panel{margin-top:.75rem;padding:1rem;background-color:var(--surface);border:1px solid var(--border);border-radius:.625rem}.add-to-sheet-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.875rem}.add-to-sheet-title{font-weight:600;font-size:.9375rem}.add-to-sheet-close{background:none;color:var(--text-light);font-size:1.125rem;line-height:1;padding:0 .25rem;flex-shrink:0}.add-to-sheet-row{margin-bottom:.875rem}.add-to-sheet-row:last-of-type{margin-bottom:1rem}.add-to-sheet-timestamp{width:6rem;margin-right:.5rem}.add-to-sheet-timestamp-label{font-family:monospace;font-size:.8125rem;color:var(--text-light)}.add-to-sheet-actions{display:flex;justify-content:flex-end;gap:.5rem}.add-to-sheet-cancel{background-color:var(--bg);color:var(--text);border:1px solid var(--border)}.add-to-sheet-save{background-color:var(--success)}.add-to-sheet-save:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 640px){.add-to-sheet-panel{margin:.75rem 1rem 0}}.info-panel{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;border-radius:.5rem;border:1px solid var(--border)}.tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0;background-color:var(--surface)}.tab{flex:1;min-width:0;padding:.75rem;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-weight:500;color:var(--text-light);transition:all .2s;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tab.active{border-bottom-color:var(--primary);color:var(--primary)}.tab-label-short{display:none}.notes-columns{flex:1;overflow:hidden;display:flex;gap:1rem;padding:1rem}.notes-existing{flex:1;min-width:0;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.notes-composer{flex:1;min-width:0;overflow-y:auto}.hide-shared-notes-toggle{font-size:.75rem;color:var(--text-light);margin-bottom:-.5rem}.empty-notes{color:var(--text-light);text-align:center;padding:2rem}@media (max-width: 768px){.viewer-header{flex-wrap:wrap;padding:.75rem;gap:.5rem}.lesson-title{order:2;width:100%}.watched-badge{order:3}.lesson-title h2{font-size:1rem}.viewer-content{flex-direction:column;padding:.75rem;gap:.5rem}.content-column{min-height:0}.video-wrapper video{max-height:32vh}.video-unavailable{height:32vh}}@media (max-width: 640px){.viewer-header{padding:.5rem}.lesson-title h2{font-size:.875rem}.viewer-content{padding:.5rem}.tab{padding:.625rem .25rem;font-size:.8125rem}.tab-label-full{display:none}.tab-label-short{display:inline}.video-controls{gap:.5rem;row-gap:.5rem}.video-controls-row{display:flex;align-items:center;gap:.5rem;width:100%}.video-controls-row-transport,.video-controls-row-speed{justify-content:flex-start}.speed-slider-wrap{flex:1;min-width:0}.speed-slider{width:100%}.handout-link{padding:.4375rem .625rem;font-size:.8125rem}.notes-columns{flex-direction:column;overflow-y:auto;padding:.5rem;gap:.5rem}.notes-composer{order:-1;flex:0 0 auto;overflow-y:visible}.notes-existing{flex:0 0 auto;overflow-y:visible;gap:.5rem}}@media (orientation: landscape) and (max-height: 500px){.viewer-header{padding:.375rem .75rem;gap:.5rem;padding-left:max(.75rem,env(safe-area-inset-left));padding-right:max(.75rem,env(safe-area-inset-right))}.lesson-title h2{font-size:.875rem}.lesson-course-inline{font-size:.75rem}.watched-badge,.offline-data-badge,.pending-sync-badge{padding:.1875rem .5rem;font-size:.75rem}.viewer-content{padding:.5rem;padding-left:max(.5rem,env(safe-area-inset-left));padding-right:max(.5rem,env(safe-area-inset-right));gap:.5rem}.content-column{flex-direction:row;gap:.5rem;min-height:0}.video-panel{flex:0 1 56%;max-width:56%;min-height:0;height:100%}.video-wrapper{height:100%;min-height:0;gap:.375rem}.video-wrapper video,.video-unavailable{height:auto!important;flex:1 1 auto;min-height:0;max-height:none;object-fit:contain}.video-resize-handle{display:none}.note-timeline{flex-shrink:0;margin-top:0}.chapter-strip{flex-shrink:0;max-height:2.25rem;overflow-y:auto;margin-top:.25rem}.video-controls{flex-shrink:0;gap:.375rem;row-gap:.375rem}.video-controls-row{display:flex;align-items:center;gap:.375rem;width:100%}.speed-slider-wrap{flex:1;min-width:0}.speed-slider{width:100%}.info-panel{flex:1 1 44%;min-width:0;height:100%;min-height:0}.tab{padding:.5rem .25rem;font-size:.75rem}.tab-label-full{display:none}.tab-label-short{display:inline}.notes-columns{flex-direction:column;overflow-y:auto;padding:.5rem;gap:.5rem}.notes-composer{order:-1;flex:0 0 auto;overflow-y:visible}.notes-existing{flex:0 0 auto;overflow-y:visible;gap:.5rem}}.login-page{display:flex;align-items:center;justify-content:center;height:100dvh;width:100vw;background-color:var(--bg);padding:1rem}.login-card{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:360px;padding:2rem;background-color:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:.75rem}.login-card h1{text-align:center;font-size:1.5rem}.login-card label{display:flex;flex-direction:column;gap:.375rem;font-size:.875rem;font-weight:500}.login-card input{font-size:1rem;padding:.625rem}.login-card button{margin-top:.5rem;padding:.75rem;font-size:1rem}.login-error{padding:.5rem .75rem;background-color:#ef444426;border:1px solid var(--danger);color:var(--danger);border-radius:.375rem;font-size:.875rem}.settings-page{display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden}.settings-header{display:flex;align-items:center;gap:1rem;padding:1rem;padding-top:max(1rem,env(safe-area-inset-top));background-color:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.settings-header h2{font-size:1.25rem;font-weight:600}.settings-body{flex:1;overflow-y:auto;padding:1.5rem}.settings-loading{color:var(--text-light)}.settings-section{max-width:420px;padding:1.25rem;background-color:var(--surface);border:1px solid var(--border);border-radius:.5rem}.settings-section+.settings-section{margin-top:1.25rem}.course-toggle-row{display:flex;align-items:center;gap:.625rem;font-size:.9375rem;cursor:pointer}.settings-description-inline{margin:.5rem 0 0}.settings-label{display:block;font-weight:600;margin-bottom:.375rem}.settings-description{margin:0 0 .75rem;font-size:.875rem;color:var(--text-light)}.settings-select{font-size:.9375rem;font-weight:600;padding:.5rem .75rem}.settings-saved{margin-left:.75rem;font-size:.8125rem;color:var(--success);font-weight:600}.offline-video-list{list-style:none;margin:0 0 .75rem;padding:0;display:flex;flex-direction:column;gap:.5rem}.offline-video-list-item{display:flex;align-items:center;gap:.625rem;padding:.5rem .75rem;background-color:var(--bg);border-radius:.375rem;font-size:.875rem}.offline-video-list-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:capitalize}.offline-video-list-size{flex-shrink:0;color:var(--text-light);font-size:.75rem;font-family:monospace}.offline-video-remove-btn{flex-shrink:0;font-size:.75rem;padding:.25rem .625rem;min-width:auto;background:none;border:1px solid var(--border);color:var(--danger, #dc2626)}.offline-video-remove-btn:hover{background-color:#dc262614}.settings-section-logout{max-width:420px;margin-top:1.25rem;padding-top:1.25rem;border:none;background:none}.settings-section-logout .logout-button{background-color:var(--surface);border:1px solid var(--danger, #dc2626);color:var(--danger, #dc2626);font-size:.875rem;font-weight:600;padding:.5rem 1rem;border-radius:.375rem}.settings-section-logout .logout-button:hover{background-color:var(--danger, #dc2626);color:#fff}.quiz-page{display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden;padding-bottom:env(safe-area-inset-bottom)}.quiz-page button{-webkit-tap-highlight-color:transparent}.quiz-topbar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.625rem .75rem;background-color:var(--surface);border-bottom:1px solid var(--border)}.quiz-scoreboard{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem .375rem .5rem;background:linear-gradient(135deg,#f973161f,#f9731608);border:1px solid rgba(249,115,22,.25);border-radius:999px}.quiz-streak-flame{font-size:1.375rem;line-height:1;filter:grayscale(1) opacity(.45);transform-origin:center;animation:quiz-streak-pop .35s cubic-bezier(.34,1.56,.64,1)}.quiz-streak-flame.lit{filter:none;animation:quiz-streak-pop .35s cubic-bezier(.34,1.56,.64,1),quiz-flame-flicker 1.6s ease-in-out .35s infinite}.quiz-streak-count{font-size:1.375rem;font-weight:800;color:var(--primary);line-height:1;animation:quiz-streak-pop .35s cubic-bezier(.34,1.56,.64,1);font-variant-numeric:tabular-nums}.quiz-stats-summary{font-size:.75rem;font-weight:600;color:var(--text-light);white-space:nowrap;padding-left:.5rem;border-left:1px solid var(--border)}@keyframes quiz-streak-pop{0%{transform:scale(.55)}60%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes quiz-flame-flicker{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.08) rotate(-4deg)}}.quiz-settings-toggle{flex-shrink:0;display:flex;align-items:center;gap:.4375rem;min-height:2.25rem;padding:.4375rem .75rem;font-size:.75rem;font-weight:600;color:var(--text-light);background-color:var(--bg);border:1px solid var(--border);border-radius:999px;white-space:nowrap}.quiz-settings-toggle-icon{font-size:.8125rem}.quiz-settings-panel{flex-shrink:0;padding:.625rem .75rem;background-color:var(--surface);border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:.5rem;animation:quiz-settings-open .18s ease-out}@keyframes quiz-settings-open{0%{opacity:0;transform:translateY(-.375rem)}to{opacity:1;transform:translateY(0)}}.quiz-program-tabs,.quiz-mode-tabs{display:flex;gap:.375rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.quiz-program-tabs::-webkit-scrollbar,.quiz-mode-tabs::-webkit-scrollbar{display:none}.quiz-program-tab,.quiz-mode-tab{flex-shrink:0;min-height:2.25rem;padding:.5rem .875rem;font-size:.8125rem;font-weight:600;background-color:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:999px;white-space:nowrap}.quiz-program-tab.active,.quiz-mode-tab.active{background-color:var(--primary);border-color:var(--primary);color:#fff}.quiz-mode-tab:disabled{opacity:.4}.quiz-mode-row{display:flex;align-items:center;gap:.5rem}.quiz-mode-label{flex-shrink:0;font-size:.75rem;color:var(--text-light)}.quiz-mode-row .quiz-mode-tabs{flex:1;min-width:0}.quiz-speed-row{display:flex;align-items:center;gap:.5rem}.quiz-prioritize-weak-row{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text);cursor:pointer;margin-top:.625rem}.quiz-prioritize-weak-row input{width:auto;margin:0}.quiz-accuracy-link{display:block;width:100%;margin-top:.75rem;padding:0;background:none;border:none;color:var(--primary);font-size:.8125rem;font-weight:600;text-align:left;cursor:pointer}.quiz-accuracy-link:hover{text-decoration:underline}.quiz-speed-label{flex-shrink:0;font-size:.75rem;color:var(--text-light)}.quiz-speed-options{display:flex;gap:.375rem}.quiz-speed-btn{min-height:1.875rem;padding:.3rem .7rem;font-size:.75rem;font-weight:600;font-family:monospace;background-color:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:999px}.quiz-speed-btn.active{background-color:var(--primary);border-color:var(--primary);color:#fff}.quiz-body{flex:1;overflow-y:auto;display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:.75rem;max-width:640px;width:100%;margin:0 auto}.quiz-loading{color:var(--text-light);padding:2rem}.quiz-video-wrap{position:relative;width:100%;flex-shrink:0}.quiz-video-wrap video{width:100%;max-height:40vh;border-radius:.75rem;background:#000;display:block}.quiz-video-unavailable{width:100%;min-height:30vh;max-height:40vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.375rem;background:#000;color:#fff;border-radius:.75rem;text-align:center;padding:1rem}.quiz-video-unavailable p{margin:0}.quiz-video-unavailable-hint{color:#aaa;font-size:.875rem}.quiz-feedback{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.125rem;overflow:hidden;border-radius:.75rem;pointer-events:none;animation:quiz-feedback-pop .25s ease-out}.quiz-feedback.correct{background-color:#10b981d1}.quiz-feedback.incorrect{background-color:#ef4444d9}.quiz-feedback-icon{font-size:4rem;line-height:1;color:#fff;font-weight:700;text-shadow:0 2px 8px rgba(0,0,0,.25);animation:quiz-feedback-icon-bounce .5s cubic-bezier(.34,1.56,.64,1)}.quiz-feedback-text{font-size:1.375rem;font-weight:800;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.25)}.quiz-feedback-answer{margin-top:.25rem;font-size:.9375rem;font-weight:600;color:#fff;text-align:center;padding:0 1rem}@keyframes quiz-feedback-pop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes quiz-feedback-icon-bounce{0%{opacity:0;transform:scale(.2) rotate(-15deg)}60%{opacity:1;transform:scale(1.25) rotate(5deg)}to{opacity:1;transform:scale(1) rotate(0)}}.quiz-confetti{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.quiz-confetti-piece{position:absolute;top:-8%;border-radius:2px;opacity:0;animation-name:quiz-confetti-fall;animation-timing-function:cubic-bezier(.25,.46,.45,.94);animation-fill-mode:forwards}@keyframes quiz-confetti-fall{0%{opacity:1;transform:translate(0) rotate(0)}to{opacity:0;transform:translate(var(--confetti-drift, 0),380%) rotate(var(--confetti-rotate, 220deg))}}@media (prefers-reduced-motion: reduce){.quiz-confetti-piece,.quiz-feedback-icon,.quiz-streak-flame,.quiz-streak-count{animation:none!important}}.quiz-option-group{width:100%}.quiz-lesson-hint{margin:0 0 .75rem;padding:.625rem 1rem;font-size:1.0625rem;font-weight:700;text-align:center;color:#fff;background-color:var(--primary);border-radius:.625rem}.quiz-lesson-hint-meta{display:block;font-weight:500;opacity:.85;font-size:.75rem;margin-top:.1875rem}.quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.quiz-option{min-height:5rem;padding:.875rem 1rem;font-size:1.25rem;font-weight:700;text-align:center;display:flex;align-items:center;justify-content:center;background-color:var(--surface);color:var(--text);border:2px solid var(--border);border-radius:.875rem;box-shadow:0 2px 0 var(--border);transition:border-color .1s,background-color .1s,box-shadow .1s,transform .1s}.quiz-option:active:not(:disabled){transform:scale(.96) translateY(1px);box-shadow:0 0 0 var(--border)}.quiz-option.selected{border-color:var(--primary);background-color:var(--bg);box-shadow:0 2px 0 var(--primary)}.quiz-option.correct{border-color:var(--success);background-color:#10b98124;box-shadow:0 2px 0 var(--success);font-weight:800;animation:quiz-option-correct-pulse .4s ease-out}.quiz-option.incorrect{border-color:var(--danger);background-color:#ef44441f;box-shadow:0 2px 0 var(--danger)}.quiz-option:disabled{cursor:default}@keyframes quiz-option-correct-pulse{0%{transform:scale(1)}40%{transform:scale(1.05)}to{transform:scale(1)}}@media (max-width: 480px){.quiz-topbar,.quiz-settings-panel{padding:.5rem .625rem}.quiz-stats-summary{display:none}.quiz-settings-toggle-summary{max-width:6.5rem;overflow:hidden;text-overflow:ellipsis}.quiz-video-wrap video{max-height:32vh;border-radius:.625rem}.quiz-body{padding:.625rem;gap:.625rem}.quiz-option{min-height:5.25rem;font-size:1.1875rem;padding:.75rem}.quiz-feedback-icon{font-size:3.5rem}.quiz-feedback-text{font-size:1.25rem}}@media (max-height: 480px){.quiz-video-wrap video{max-height:28vh}.quiz-option{min-height:3.75rem;font-size:1.0625rem}}@media (min-width: 641px){.quiz-scoreboard{gap:.625rem;padding:.5rem 1rem .5rem .75rem}.quiz-streak-flame,.quiz-streak-count{font-size:1.75rem}.quiz-stats-summary{font-size:.875rem}.quiz-option{min-height:5.5rem;font-size:1.375rem}}.quiz-accuracy-page{padding:1.5rem;overflow-y:auto;flex:1;max-width:760px;margin:0 auto;width:100%}.quiz-accuracy-header h2{margin:0 0 .375rem}.quiz-accuracy-subtitle{color:var(--text-light);font-size:.875rem;margin:0 0 1.25rem;max-width:60ch}.quiz-accuracy-filters{display:flex;gap:.625rem;align-items:center;margin-bottom:1rem;flex-wrap:wrap}.quiz-accuracy-min-attempts{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--text-light)}.quiz-accuracy-count{font-size:.8125rem;color:var(--text-light);margin:0 0 .875rem}.quiz-accuracy-empty{color:var(--text-light);font-size:.875rem}.quiz-accuracy-list{display:flex;flex-direction:column;gap:.625rem}.quiz-accuracy-row{display:flex;flex-direction:column;gap:.5rem;width:100%;background-color:var(--surface);border:1px solid var(--border);border-radius:.625rem;padding:.75rem .875rem;text-align:left;cursor:pointer}.quiz-accuracy-row:hover{border-color:var(--primary)}.quiz-accuracy-row-main{display:flex;flex-direction:column;gap:.125rem}.quiz-accuracy-row-title{font-weight:600;font-size:.9375rem}.quiz-accuracy-row-meta{font-size:.75rem;color:var(--text-light)}.quiz-accuracy-row-stats{display:flex;align-items:center;gap:.625rem}.quiz-accuracy-bar-track{flex:1;height:.5rem;background-color:var(--bg);border-radius:999px;overflow:hidden}.quiz-accuracy-bar-fill{height:100%;border-radius:999px}.quiz-accuracy-bar-fill.weak{background-color:var(--danger)}.quiz-accuracy-bar-fill.mid{background-color:var(--warning)}.quiz-accuracy-bar-fill.strong{background-color:var(--success)}.quiz-accuracy-pct{flex-shrink:0;font-size:.8125rem;font-weight:700;min-width:2.75rem;text-align:right}.quiz-accuracy-pct.weak{color:var(--danger)}.quiz-accuracy-pct.mid{color:var(--warning)}.quiz-accuracy-pct.strong{color:var(--success)}.quiz-accuracy-row-count{flex-shrink:0;font-size:.75rem;color:var(--text-light);font-family:monospace}.quick-capture-page{flex:1;min-height:0;overflow-y:auto;padding:1.5rem;max-width:760px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:1.25rem}.quick-capture-header h2{margin:0}.quick-capture-title-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.375rem}.quick-capture-help-btn{display:flex;align-items:center;gap:.3rem;background:none;border:1px solid var(--border);color:var(--text-light);font-size:.75rem;padding:.25rem .5rem;width:auto;border-radius:999px;flex-shrink:0}.quick-capture-help-btn:hover{color:var(--primary);border-color:var(--primary)}.quick-capture-subtitle{margin:0;font-size:.8125rem;color:var(--text-light);line-height:1.5}.quick-capture-subtitle code{background-color:var(--bg);border:1px solid var(--border);border-radius:.25rem;padding:.05rem .3rem;font-size:.75rem}.quick-capture-composer{display:flex;flex-direction:column;gap:.625rem;background-color:var(--surface);border:1px solid var(--border);border-radius:.5rem;padding:.875rem}.quick-capture-textarea{width:100%;min-height:160px;resize:vertical;font-size:.9375rem;line-height:1.5;padding:.75rem}.quick-capture-actions{display:flex;justify-content:flex-end;align-items:center;gap:.625rem}.quick-capture-draft-status{margin-right:auto;display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--text-light)}.quick-capture-discard-btn{background:none;border:none;width:auto;padding:0;font-size:.75rem;color:var(--text-light);text-decoration:underline;cursor:pointer}.quick-capture-discard-btn:hover{color:var(--danger)}.mic-btn{display:flex;align-items:center;gap:.375rem;background-color:transparent;color:var(--text);border:1px solid var(--border)}.mic-btn:hover{background-color:var(--bg)}.mic-btn.listening{background-color:var(--danger);color:#fff;border-color:var(--danger);animation:mic-pulse 1.4s ease-in-out infinite}@keyframes mic-pulse{0%,to{opacity:1}50%{opacity:.7}}.save-btn:disabled{opacity:.5;cursor:not-allowed}.quick-capture-suggestions{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;padding-top:.125rem}.quick-capture-suggestions-label{font-size:.75rem;color:var(--text-light);margin-right:.125rem}.suggestion-chip{display:inline-flex;align-items:stretch;border-radius:999px;overflow:hidden;border:1px solid transparent}.suggestion-chip-lesson{border-color:#2563eb59;background-color:#2563eb14}.suggestion-chip-context{border-color:#7c3aed59;background-color:#7c3aed14}.suggestion-chip-accept{background:none;border:none;font-size:.8125rem;font-weight:600;padding:.3rem .5rem;min-width:auto;border-radius:0}.suggestion-chip-lesson .suggestion-chip-accept{color:var(--primary-dark)}.suggestion-chip-context .suggestion-chip-accept{color:#7c3aed}.suggestion-chip-accept:hover{background-color:#0000000f}.suggestion-chip-dismiss{background:none;border:none;border-left:1px solid rgba(0,0,0,.08);color:var(--text-light);font-size:.9375rem;line-height:1;padding:.3rem .45rem;min-width:auto;border-radius:0}.suggestion-chip-dismiss:hover{background-color:#ef444426;color:var(--danger)}.quick-capture-action-items{background-color:var(--surface);border:1px solid var(--border);border-radius:.5rem;padding:.875rem}.quick-capture-action-items h3{margin:0 0 .5rem;font-size:.9375rem}.quick-capture-action-items ul{list-style:none;display:flex;flex-direction:column;gap:.375rem}.quick-capture-action-items li{font-size:.875rem}.quick-capture-list h3{margin:0 0 .625rem;font-size:.9375rem}.quick-capture-empty{color:var(--text-light);font-size:.875rem}.quick-note-item{position:relative;background-color:var(--surface);border:1px solid var(--border);border-radius:.5rem;padding:.75rem;margin-bottom:.625rem;transition:background-color .4s,border-color .4s}.quick-note-item .delete-confirm-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.625rem;padding:.75rem;background-color:var(--surface);border-radius:.5rem}.quick-note-item .delete-confirm-overlay p{margin:0;font-size:.875rem;font-weight:500}.quick-note-item .delete-confirm-actions{display:flex;gap:.5rem}.quick-note-item .delete-confirm-cancel{background-color:var(--text-light)}.quick-note-item .delete-confirm-cancel:hover{background-color:#475569}.quick-note-item .delete-confirm-yes{background-color:var(--danger)}.quick-note-item .delete-confirm-yes:hover{background-color:#dc2626}.quick-note-item.highlighted{background-color:#fef9c3;border-color:var(--warning)}.quick-note-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap}.quick-note-date{font-size:.75rem;color:var(--text-light)}.quick-note-actions{display:flex;align-items:center;gap:.375rem;margin-left:auto}.quick-note-delete-btn{display:flex;align-items:center;justify-content:center;background:none;color:var(--text-light);padding:.25rem;min-width:auto}.quick-note-delete-btn:hover{background-color:#ef444426;color:var(--danger)}.quick-note-icon-btn{display:flex;align-items:center;justify-content:center;background-color:transparent;color:var(--text-light);padding:.25rem;min-width:auto;border-radius:.25rem}.quick-note-icon-btn:hover{background-color:var(--bg);color:var(--text)}.quick-note-icon-btn.active{background-color:var(--primary);color:#fff}.quick-note-icon-btn.active:hover{background-color:var(--primary-dark);color:#fff}.quick-note-cancel-edit:hover{background-color:#ef444426;color:var(--danger)}.quick-note-edit-textarea{width:100%;min-height:70px;font-size:.875rem;line-height:1.5;padding:.5rem;resize:vertical}.quick-note-content{margin:0;font-size:.875rem;line-height:1.5;white-space:pre-wrap}.quick-note-history-toggle{background:none;color:var(--primary);font-size:.75rem;padding:0;min-width:auto;margin-top:.5rem}.quick-note-history-toggle:hover{text-decoration:underline;background:none}.quick-note-history{margin-top:.625rem;padding-top:.625rem;border-top:1px dashed var(--border);display:flex;flex-direction:column;gap:.5rem}.quick-note-history-empty{margin:0;font-size:.75rem;color:var(--text-light)}.quick-note-history-entry{padding:.5rem;background-color:var(--bg);border-radius:.25rem}.quick-note-history-date{margin:0 0 .25rem;font-size:.6875rem;color:var(--text-light)}.quick-note-history-content{margin:0;font-size:.8125rem;color:var(--text-light);white-space:pre-wrap}.quick-note-history-arrow{font-weight:400;opacity:.8}.diff-added{background-color:#10b9812e;color:var(--text);text-decoration:none;border-radius:.15rem}.diff-removed{background-color:#ef444426;color:var(--text-light);text-decoration:line-through;border-radius:.15rem}@media (max-width: 640px){.quick-capture-page{padding:1rem}}.practice-sheets-page{padding:1.5rem;overflow-y:auto;flex:1;max-width:720px;margin:0 auto;width:100%}.practice-sheets-header h2{margin:0 0 .375rem}.practice-sheets-subtitle{color:var(--text-light);font-size:.875rem;margin:0 0 1rem;max-width:60ch}.new-sheet-btn{background-color:var(--primary);margin-bottom:1.25rem}.sheet-builder{padding:1.25rem;background-color:var(--surface);border:1px solid var(--border);border-radius:.625rem;margin-bottom:1.5rem}.builder-mode-toggle{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.builder-mode-toggle button{flex:1;min-width:8.5rem;background-color:var(--bg);color:var(--text);border:1px solid var(--border);font-size:.8125rem}.builder-mode-toggle button.active{background-color:var(--primary);color:#fff;border-color:var(--primary)}.builder-hint{font-size:.8125rem;color:var(--text-light);margin:0 0 .875rem}.builder-notes-filters{display:flex;gap:1rem}.builder-notes-filters>div{flex:1}.selected-lessons{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.625rem}.saved-sheets-list h3{font-size:.9375rem;margin:0 0 .75rem}.sheets-empty{color:var(--text-light);font-size:.875rem}.saved-sheet-row{display:flex;align-items:stretch;gap:.5rem;margin-bottom:.5rem}.saved-sheet-link{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.75rem 1rem;background-color:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:.5rem;text-align:left}.saved-sheet-link:hover{border-color:var(--primary)}.saved-sheet-name{font-weight:600;font-size:.9375rem}.saved-sheet-meta{font-size:.75rem;color:var(--text-light)}.saved-sheet-delete-btn{background:none;color:var(--text-light);padding:0 .75rem;border:1px solid var(--border);border-radius:.5rem}.saved-sheet-delete-btn:hover{color:var(--danger);border-color:var(--danger)}@media (max-width: 640px){.practice-sheets-page{padding:1rem}.builder-notes-filters{flex-direction:column;gap:.75rem}}.practice-sheet-view{padding:1.5rem;overflow-y:auto;flex:1;max-width:760px;margin:0 auto;width:100%}.sheet-view-empty{color:var(--text-light);font-size:.875rem}.sheet-view-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:.5rem}.sheet-back-btn{background:none;color:var(--primary);padding:.375rem 0}.sheet-toolbar-actions{display:flex;gap:.5rem}.sheet-rebuild-btn{background-color:var(--bg);color:var(--text);border:1px solid var(--border);font-size:.8125rem}.sheet-print-btn{background-color:var(--primary);font-size:.8125rem}.sheet-view-header{margin-bottom:1.25rem}.sheet-view-header h2{margin:0 0 .25rem}.sheet-view-meta{font-size:.8125rem;color:var(--text-light);margin:0}.sheet-sections{display:flex;flex-direction:column;gap:1rem}.sheet-section{background-color:var(--surface);border:1px solid var(--border);border-radius:.625rem;overflow:hidden}.sheet-section-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.875rem 1.125rem;background:none;color:var(--text);border:none;border-radius:0;text-align:left}.sheet-section-header:hover{background-color:var(--bg)}.sheet-section-title{display:flex;align-items:baseline;gap:.625rem;flex-wrap:wrap}.sheet-section-technique{font-weight:700;font-size:1.0625rem}.sheet-section-course{font-size:.8125rem;color:var(--text-light)}.sheet-section-chevron{transition:transform .15s ease;color:var(--text-light);flex-shrink:0}.sheet-section-chevron.collapsed{transform:rotate(-90deg)}.sheet-section-body{padding:0 1.125rem 1.125rem;display:flex;flex-direction:column;gap:1rem}.sheet-section-body.collapsed{display:none}.sheet-rollup-row{display:flex;flex-wrap:wrap;gap:.5rem}.sheet-rollup-chip{font-size:.75rem;font-weight:600;padding:.25rem .625rem;border-radius:999px;background-color:#2563eb1a;color:var(--primary-dark)}.sheet-rollup-chip-empty{background-color:var(--bg);color:var(--text-light)}.sheet-action-items h4,.sheet-notes h4{margin:0 0 .5rem;font-size:.8125rem;text-transform:uppercase;letter-spacing:.02em;color:var(--text-light)}.sheet-action-items ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.sheet-action-item-label{display:flex;align-items:flex-start;gap:.5rem;font-size:.9375rem;cursor:pointer}.sheet-action-item-label input{margin-top:.2rem;flex-shrink:0;width:1.0625rem;height:1.0625rem;cursor:pointer}.sheet-action-item-done .sheet-action-item-label span{color:var(--text-light);text-decoration:line-through}.sheet-notes{display:flex;flex-direction:column;gap:.625rem}.sheet-note{padding:.625rem .75rem;background-color:var(--bg);border-radius:.375rem;font-size:.875rem;line-height:1.5}.sheet-snippets{margin-bottom:1.25rem;padding:1.125rem;background-color:var(--surface);border:1px solid var(--border);border-radius:.625rem}.sheet-snippets-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem}.sheet-snippets-header h3{margin:0;font-size:1rem}.sheet-snippet-add-toggle{background-color:var(--bg);color:var(--text);border:1px solid var(--border);font-size:.8125rem;padding:.375rem .75rem}.sheet-snippet-form{padding:.875rem;margin-bottom:.875rem;background-color:var(--bg);border:1px solid var(--border);border-radius:.5rem}.sheet-snippet-form-lesson{margin-bottom:1rem}.sheet-snippet-form-row{display:flex;gap:1rem;margin-bottom:1rem}.sheet-snippet-form-row>div{flex:1;max-width:12rem}.sheet-snippet-note-input{width:100%;resize:vertical;font-family:inherit}.sheet-snippet-list{display:flex;flex-direction:column;gap:.625rem}.sheet-snippet{padding:.625rem .75rem;background-color:var(--bg);border-radius:.375rem}.sheet-snippet-main{display:flex;align-items:baseline;flex-wrap:wrap;gap:.5rem}.sheet-snippet-link{color:var(--primary-dark);font-weight:600;font-size:.9375rem;text-decoration:none}.sheet-snippet-link:hover{text-decoration:underline}.sheet-snippet-time{font-weight:400;color:var(--text-light);font-size:.8125rem}.sheet-snippet-course{font-size:.75rem;color:var(--text-light)}.sheet-snippet-delete-btn{margin-left:auto;background:none;color:var(--text-light);font-size:1rem;line-height:1;padding:0 .25rem}.sheet-snippet-delete-btn:hover{color:var(--danger, #b91c1c)}.sheet-snippet-note{margin-top:.375rem;font-size:.875rem;line-height:1.5}.builder-section{margin-bottom:1rem}.builder-label{display:block;font-size:.8125rem;font-weight:600;color:var(--text-light);margin-bottom:.375rem}.builder-search-input{width:100%}.lesson-option-list{margin-top:.375rem;border:1px solid var(--border);border-radius:.375rem;overflow:hidden}.lesson-option{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:.5rem .75rem;background:var(--surface);color:var(--text);border:none;border-bottom:1px solid var(--border);border-radius:0;text-align:left}.lesson-option:last-child{border-bottom:none}.lesson-option:hover{background-color:var(--bg)}.lesson-option-title{font-weight:600;font-size:.875rem}.lesson-option-course{font-size:.75rem;color:var(--text-light)}.selected-lesson-chip{display:inline-flex;align-items:center;gap:.375rem;background-color:#2563eb1a;color:var(--primary-dark);font-size:.8125rem;font-weight:600;padding:.25rem .5rem .25rem .75rem;border-radius:999px}.selected-lesson-chip button{background:none;color:inherit;font-size:1rem;line-height:1;padding:0}.build-sheet-btn{background-color:var(--success);width:100%}.build-sheet-btn:hover{background-color:#059669}.build-sheet-btn:disabled{opacity:.5;cursor:not-allowed}.weekly-grid{display:flex;flex-direction:column;gap:1.5rem}.weekly-grid-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:.625rem;background-color:var(--surface)}.weekly-grid-table{width:100%;border-collapse:collapse;font-size:.875rem}.weekly-grid-table th,.weekly-grid-table td{padding:.625rem .5rem;border-bottom:1px solid var(--border);text-align:center}.weekly-grid-table thead th{color:var(--text-light);font-size:.75rem;text-transform:uppercase;letter-spacing:.02em;font-weight:600}.weekly-grid-technique-col{text-align:left!important;min-width:10rem;display:flex;flex-direction:column;gap:.125rem}thead .weekly-grid-technique-col{display:table-cell}.weekly-grid-technique-name{font-weight:700}.weekly-grid-course{font-size:.75rem;color:var(--text-light)}.weekly-grid-check-cell input[type=checkbox]{width:1.125rem;height:1.125rem;cursor:pointer}.slice-cheatsheet h3{margin:0 0 .75rem;font-size:1rem}.slice-cheatsheet-lesson{margin-bottom:1.125rem}.slice-cheatsheet-lesson h4{margin:0 0 .375rem;font-size:.9375rem;color:var(--primary-dark)}.slice-cheatsheet-list{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.625rem}.slice-cheatsheet-list li{display:flex;flex-direction:column;gap:.125rem;font-size:.875rem}.slice-title{font-weight:700}.slice-field{color:var(--text-light);font-size:.8125rem}.slice-mistake{color:var(--danger, #b91c1c)}@media (max-width: 640px){.practice-sheet-view{padding:0}.sheet-view-toolbar{position:sticky;top:0;z-index:5;background-color:var(--bg);padding:.75rem 1rem;margin-bottom:0;border-bottom:1px solid var(--border)}.sheet-view-header{padding:1rem 1rem .75rem;margin-bottom:.5rem}.sheet-snippets{margin:0 1rem 1.25rem;border-radius:.5rem}.sheet-snippet-form-row{flex-direction:column;gap:.75rem}.sheet-snippet-form-row>div{max-width:none}.sheet-sections{gap:0}.sheet-section{border-left:none;border-right:none;border-radius:0;border-top:none}.sheet-section-header{padding:1.125rem 1rem;min-height:3rem}.sheet-section-technique{font-size:1.125rem}.sheet-section-body{padding:0 1rem 1.25rem}.sheet-rollup-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.sheet-rollup-chip{text-align:center;padding:.5rem;border-radius:.5rem;font-size:.8125rem}.sheet-action-item-label{font-size:1rem;padding:.375rem 0}.sheet-action-item-label input{width:1.375rem;height:1.375rem}.sheet-toolbar-actions button,.sheet-back-btn{padding:.625rem .75rem;font-size:.875rem}.weekly-grid{padding:0 1rem;gap:1.25rem}.weekly-grid-technique-col{position:sticky;left:0;background-color:var(--surface);min-width:8rem}.weekly-grid-table th,.weekly-grid-table td{padding:.625rem .5rem}.weekly-grid-check-cell input[type=checkbox]{width:1.375rem;height:1.375rem}}@media print{.no-print,.no-print-toggle{display:none!important}.practice-sheet-view{max-width:none;padding:0;overflow:visible}.sheet-section-header{cursor:default;padding:.5rem 0}.sheet-section-chevron{display:none}.sheet-section-body,.sheet-section-body.collapsed{display:flex!important;padding:0 0 .75rem}.sheet-section{border:none;border-bottom:2px solid #000;border-radius:0;break-inside:avoid;page-break-inside:avoid;margin-bottom:.75rem}.sheet-note{background:none;border:1px solid #ccc}.sheet-snippets{background:none;border:1px solid #000;break-inside:avoid;page-break-inside:avoid}.sheet-snippet{background:none;border:1px solid #ccc;break-inside:avoid;page-break-inside:avoid}.sheet-snippet-link{color:#000;text-decoration:underline}.sheet-snippet-time,.sheet-snippet-course{color:#333}.sheet-rollup-chip{background:none;border:1px solid #999;color:#000}.sheet-action-item-label input{accent-color:#000}.weekly-grid-wrap{border:1px solid #000;border-radius:0}.weekly-grid-table th,.weekly-grid-table td{border:1px solid #999;color:#000}.weekly-grid-technique-col{position:static;background:none}.weekly-grid-check-cell input[type=checkbox]{accent-color:#000}.slice-cheatsheet-lesson{break-inside:avoid;page-break-inside:avoid}.slice-field,.weekly-grid-course{color:#333}}.technical-slices-page{padding:1.5rem;overflow-y:auto;flex:1;max-width:760px;margin:0 auto;width:100%}.technical-slices-header h2{margin:0 0 .375rem}.technical-slices-subtitle{color:var(--text-light);font-size:.875rem;margin:0 0 1.25rem;max-width:60ch}.technical-slices-filters{display:flex;gap:.625rem;margin-bottom:1rem}.technical-slices-filters .input-field:first-child{flex:1}.technical-slices-count{font-size:.8125rem;color:var(--text-light);margin:0 0 .875rem}.technical-slices-empty{color:var(--text-light);font-size:.875rem}.technical-slices-list{display:flex;flex-direction:column;gap:1rem}.slice-lesson-card{background-color:var(--surface);border:1px solid var(--border);border-radius:.625rem;overflow:hidden}.slice-lesson-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.5rem;width:100%;padding:.875rem 1.125rem;background:none;color:var(--text);border:none;border-radius:0;border-bottom:1px solid var(--border);text-align:left}.slice-lesson-header:hover{background-color:var(--bg)}.slice-lesson-title{font-weight:700;font-size:1rem}.slice-lesson-course{font-size:.8125rem;color:var(--text-light)}.slice-lesson-slices{margin:0;padding:.75rem 1.125rem 1rem 2rem;display:flex;flex-direction:column;gap:.75rem}.slice-lesson-slices li{display:flex;flex-direction:column;gap:.125rem;font-size:.875rem}.slice-lesson-slices .slice-title{font-weight:700}.slice-lesson-slices .slice-field{color:var(--text-light);font-size:.8125rem}@media (max-width: 640px){.technical-slices-page{padding:1rem}.technical-slices-filters{flex-direction:column}}.watch-queue-page{padding:1.5rem;overflow-y:auto;flex:1;max-width:760px;margin:0 auto;width:100%}.watch-queue-header h2{margin:0 0 1rem}.watch-queue-empty{color:var(--text-light);font-size:.875rem}.watch-queue-play-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;font-size:.9375rem;font-weight:700;padding:.75rem 1rem;margin-bottom:1rem;background-color:var(--primary);color:#fff;border:none;border-radius:.625rem;cursor:pointer}.watch-queue-play-btn:hover{filter:brightness(1.05)}.watch-queue-list{display:flex;flex-direction:column;gap:.625rem}.watch-queue-item{display:flex;align-items:center;gap:.5rem;background-color:var(--surface);border:1px solid var(--border);border-radius:.625rem;padding:.375rem .5rem}.watch-queue-item.busy{opacity:.5}.watch-queue-item.dragging{position:relative;z-index:1;background-color:var(--bg);box-shadow:0 4px 14px #00000026}.watch-queue-position{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:999px;background-color:var(--bg);color:var(--text-light);font-size:.8125rem;font-weight:700}.watch-queue-main{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:.125rem;text-align:left;background:none;border:none;padding:.5rem;color:var(--text);min-width:0}.watch-queue-main:hover{background-color:var(--bg);border-radius:.5rem}.watch-queue-title{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:.9375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.watch-queue-meta{font-size:.8125rem;color:var(--text-light)}.watch-queue-drag-handle{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;background:none;border:none;color:var(--text-light);cursor:grab;border-radius:.375rem;touch-action:none}.watch-queue-drag-handle:hover{color:var(--primary);background-color:var(--bg)}.watch-queue-item.dragging .watch-queue-drag-handle{cursor:grabbing;color:var(--primary)}.watch-queue-remove-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:none;border:none;color:var(--text-light);cursor:pointer;border-radius:.375rem;margin-left:.125rem}.watch-queue-remove-btn:hover{color:#dc2626;background-color:var(--bg)}@media (max-width: 640px){.watch-queue-page{padding:1rem}.watch-queue-item{padding:.25rem .375rem}.watch-queue-position{width:1.5rem;height:1.5rem;font-size:.75rem}}.dashboard-page{padding:1.5rem;overflow-y:auto;flex:1;max-width:960px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:1.5rem}.dashboard-loading{color:var(--text-light);font-size:.875rem}.dashboard-section{background-color:var(--surface);border:1px solid var(--border);border-radius:.625rem;padding:1rem}.dashboard-section h3{margin:0 0 .75rem;font-size:.9375rem}.dashboard-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.dashboard-section-header h3{margin:0}.dashboard-see-all{background:none;color:var(--primary);font-size:.75rem;padding:0;min-width:auto}.dashboard-see-all:hover{text-decoration:underline;background:none}.dashboard-continue-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;background-color:var(--bg);border:1px solid var(--border);border-radius:.5rem;padding:.75rem 1rem;cursor:pointer}.dashboard-continue-card:hover{border-color:var(--primary)}.dashboard-continue-title{margin:0;font-weight:600}.dashboard-continue-meta{margin:.125rem 0 0;font-size:.8125rem;color:var(--text-light)}.dashboard-continue-progress{display:flex;flex-direction:column;align-items:flex-end;gap:.125rem;font-weight:700;color:var(--primary);flex-shrink:0}.dashboard-continue-time{font-weight:400;font-size:.75rem;color:var(--text-light);font-family:monospace}.dashboard-columns{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.dashboard-empty{margin:0;font-size:.8125rem;color:var(--text-light)}.dashboard-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.dashboard-list-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .625rem;border-radius:.5rem;cursor:pointer}.dashboard-list-item:hover{background-color:var(--bg)}.dashboard-list-item-static{cursor:default}.dashboard-list-item-static:hover{background-color:transparent}.dashboard-list-title{margin:0;font-size:.875rem;font-weight:500}.dashboard-activity-verb{color:var(--text-light);font-weight:400}.dashboard-list-meta{margin:.125rem 0 0;font-size:.75rem;color:var(--text-light)}.dashboard-list-tag{flex-shrink:0;font-size:.75rem;color:var(--text-light);white-space:nowrap}.dashboard-quick-links{display:flex;flex-wrap:wrap;gap:.625rem}.dashboard-quick-links button{background-color:var(--bg);color:var(--text);border:1px solid var(--border);font-size:.8125rem;padding:.5rem .875rem;width:auto}.dashboard-quick-links button:hover{border-color:var(--primary);color:var(--primary)}@media (max-width: 640px){.dashboard-page{padding:1rem;gap:1rem}.dashboard-columns{grid-template-columns:1fr;gap:1rem}}.help-page{padding:1.5rem;padding-top:max(1.5rem,env(safe-area-inset-top));overflow-y:auto;flex:1;max-width:720px;margin:0 auto;width:100%}.help-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}.help-header h2{margin:0}.help-back-btn{display:flex;align-items:center;gap:.25rem;background:none;border:1px solid var(--border);color:var(--text);font-size:.8125rem;padding:.375rem .625rem;width:auto;border-radius:.5rem}.help-back-btn:hover{background-color:var(--bg)}.help-section{background-color:var(--surface);border:1px solid var(--border);border-radius:.625rem;padding:1rem 1.25rem;margin-bottom:1rem}.help-section h3{margin:0 0 .625rem}.help-section h4{margin:1rem 0 .375rem;font-size:.9375rem}.help-section p{font-size:.875rem;line-height:1.6;color:var(--text);margin:0 0 .75rem}.help-section code{background-color:var(--bg);border:1px solid var(--border);border-radius:.25rem;padding:.05rem .3rem;font-size:.8125rem}.help-syntax-table{width:100%;border-collapse:collapse;margin-bottom:.75rem;font-size:.8125rem}.help-syntax-table td{padding:.375rem .5rem;border-bottom:1px solid var(--border)}.help-syntax-table td:first-child{white-space:nowrap;width:1%}.help-list{margin:0;padding-left:1.25rem;font-size:.875rem;line-height:1.6;display:flex;flex-direction:column;gap:.5rem}.help-section ol{font-size:.875rem;line-height:1.6;padding-left:1.25rem;display:flex;flex-direction:column;gap:.5rem;margin:0 0 .75rem}@media (max-width: 640px){.help-page{padding:1rem}}.help-hub-page{padding:1.5rem;overflow-y:auto;flex:1;max-width:760px;margin:0 auto;width:100%}.help-hub-header h2{margin:0 0 .375rem}.help-hub-subtitle{color:var(--text-light);font-size:.875rem;line-height:1.5;margin:0 0 1.25rem;max-width:60ch}.help-hub-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border)}.help-hub-tab{font-size:.875rem;font-weight:600;padding:.625rem .25rem;width:auto;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-light);margin-bottom:-1px}.help-hub-tab+.help-hub-tab{margin-left:.75rem}.help-hub-tab:hover{color:var(--text)}.help-hub-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.help-hub-content{display:flex;flex-direction:column;gap:1.75rem}.help-category-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-light);margin:0 0 .625rem}.help-accordion-item{background-color:var(--surface);border:1px solid var(--border);border-radius:.625rem;margin-bottom:.625rem}.help-accordion-item summary{display:flex;align-items:center;gap:.625rem;padding:.75rem 1rem;font-size:.9375rem;font-weight:600;cursor:pointer;list-style:none}.help-accordion-item summary::-webkit-details-marker{display:none}.help-accordion-chevron{display:inline-flex;font-size:.625rem;color:var(--text-light);transition:transform .15s ease;flex-shrink:0}.help-accordion-item[open]>summary .help-accordion-chevron{transform:rotate(90deg)}.help-accordion-body{padding:0 1.125rem 1rem}.help-accordion-body p{font-size:.875rem;line-height:1.6;color:var(--text);margin:0 0 .75rem}.help-accordion-body p:last-child{margin-bottom:0}.help-accordion-body code{background-color:var(--bg);border:1px solid var(--border);border-radius:.25rem;padding:.05rem .3rem;font-size:.8125rem;word-break:break-word}.help-accordion-body .help-list{margin:0;padding-left:1.25rem;font-size:.875rem;line-height:1.6;display:flex;flex-direction:column;gap:.5rem}.help-accordion-body ol.help-list{padding-left:1.5rem}.help-inline-link{display:inline;width:auto;background:none;border:none;padding:0;margin:0;font:inherit;font-weight:600;color:var(--primary);text-decoration:underline;cursor:pointer}@media (max-width: 640px){.help-hub-page{padding:1rem}.help-accordion-item summary{padding:.75rem}.help-accordion-body{padding:0 .875rem .875rem}}.activity-log{position:absolute;top:calc(100% + .5rem);right:0;width:340px;max-width:calc(100vw - 2rem);max-height:70vh;display:flex;flex-direction:column;background-color:var(--bg);border:1px solid var(--border);border-radius:.5rem;box-shadow:0 12px 32px #00000059;overflow:hidden;z-index:50}.activity-log-header{padding:.75rem 1rem;border-bottom:1px solid var(--border);flex-shrink:0}.activity-log-header h3{font-size:.9375rem;font-weight:600;margin:0;color:var(--text)}.activity-list{overflow-y:auto;padding:.5rem;display:flex;flex-direction:column;gap:.375rem}.activity-empty{padding:1rem .5rem;margin:0;font-size:.8125rem;color:var(--text-light);text-align:center}.activity-entry{display:flex;align-items:flex-start;gap:.625rem;padding:.5rem .625rem;background-color:var(--surface);color:var(--text);border-radius:.375rem;cursor:pointer;transition:background-color .15s}.activity-entry:hover{background-color:var(--primary)}.activity-entry-static{cursor:default}.activity-entry-static:hover{background-color:var(--surface)}.activity-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;margin-top:.0625rem}.activity-icon.watched{background-color:var(--success);color:#fff}.activity-icon.watching{background-color:var(--primary);color:#fff}.activity-icon.note{background-color:var(--warning);color:#000}.activity-icon.encounter{background-color:#7c3aed;color:#fff}.activity-body{flex:1;min-width:0}.activity-line{display:flex;gap:.375rem;font-size:.8125rem;flex-wrap:wrap}.activity-verb{color:var(--text-light)}.activity-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-snippet{margin:.25rem 0 0;font-size:.75rem;color:var(--text-light);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-when{flex-shrink:0;font-size:.75rem;color:var(--text-light);white-space:nowrap}.activity-view-all{flex-shrink:0;width:100%;padding:.625rem;background:none;border:none;border-top:1px solid var(--border);border-radius:0;color:var(--primary);font-size:.8125rem;font-weight:600}.activity-view-all:hover{background-color:var(--surface)}@media (max-width: 640px){.activity-log{position:fixed;top:3.5rem;right:.75rem;left:.75rem;width:auto;max-width:none}.activity-snippet{white-space:normal}}.search-panel{position:absolute;top:calc(100% + .5rem);left:0;width:380px;max-width:calc(100vw - 2rem);max-height:70vh;display:flex;flex-direction:column;background-color:var(--bg);border:1px solid var(--border);border-radius:.5rem;box-shadow:0 12px 32px #00000059;overflow:hidden;z-index:50}.search-panel-input-row{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--border);color:var(--text-light);flex-shrink:0}.search-panel-input{flex:1;border:none;background:none;color:var(--text);font-size:.9375rem;padding:0}.search-panel-input:focus{outline:none}.search-panel-filters{display:flex;flex-wrap:wrap;gap:.375rem;padding:.625rem 1rem;border-bottom:1px solid var(--border);flex-shrink:0}.search-filter-chip{flex-shrink:0;min-height:1.75rem;padding:.25rem .75rem;border:1px solid var(--border);border-radius:999px;background-color:var(--surface);color:var(--text-light);font-size:.75rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}.search-filter-chip:hover{border-color:var(--primary)}.search-filter-chip.active{background-color:var(--primary);border-color:var(--primary);color:#fff}.search-panel-results{overflow-y:auto;padding:.5rem;display:flex;flex-direction:column;gap:.75rem;flex:1;min-height:0}.search-panel-empty{padding:1rem .5rem;margin:0;font-size:.8125rem;color:var(--text-light);text-align:center}.search-group{display:flex;flex-direction:column;gap:.25rem}.search-group-label{margin:.25rem .375rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-light)}.search-result{display:flex;flex-direction:column;align-items:flex-start;gap:.1875rem;width:100%;padding:.5rem .625rem;background-color:var(--surface);color:var(--text);border-radius:.375rem;text-align:left;cursor:pointer;transition:background-color .15s}.search-result:hover{background-color:var(--primary);color:#fff}.search-result:hover .search-result-snippet,.search-result:hover .search-result-time{color:#ffffffd9}.search-result-title{font-size:.8125rem;font-weight:600}.search-result-time{font-weight:400;color:var(--text-light);font-family:monospace}.search-result-snippet{font-size:.8125rem;color:var(--text-light);line-height:1.4}.search-result-snippet mark{background-color:#2563eb40;color:inherit;border-radius:.15rem}@media (max-width: 640px){.search-panel{position:fixed;top:3.25rem;left:.5rem;right:.5rem;width:auto;max-width:none}.search-panel-filters{padding:.5rem .75rem;gap:.5rem}.search-filter-chip{min-height:2.75rem;padding:.5rem 1rem;font-size:.875rem}}.more-menu{position:absolute;top:calc(100% + .5rem);right:0;width:220px;display:flex;flex-direction:column;padding:.375rem;background-color:var(--bg);border:1px solid var(--border);border-radius:.5rem;box-shadow:0 12px 32px #00000059;z-index:50}.more-menu-item{display:flex;align-items:center;gap:.625rem;padding:.5rem .625rem;background:none;border:none;border-radius:.375rem;color:var(--text);font-size:.875rem;text-align:left}.more-menu-item svg{flex-shrink:0;color:var(--text-light)}.more-menu-item:hover{background-color:var(--surface)}.more-menu-item.active{background-color:var(--surface);color:var(--primary)}.more-menu-item.active svg{color:var(--primary)}.more-menu-divider{height:1px;background-color:var(--border);margin:.375rem .25rem}.continue-watching-banner{display:flex;align-items:stretch;flex-shrink:0;background-color:var(--surface);border-bottom:1px solid var(--border)}.continue-watching-main{flex:1;display:flex;align-items:center;gap:.75rem;min-width:0;background:none;color:var(--text);text-align:left;padding:.625rem .75rem}.continue-watching-main:hover,.continue-watching-main:active{background-color:var(--bg)}.continue-watching-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:2rem;height:2rem;border-radius:999px;background-color:var(--bg);color:var(--primary)}.continue-watching-text{display:flex;flex-direction:column;min-width:0;flex:1}.continue-watching-label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--primary)}.continue-watching-title{font-size:.875rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.continue-watching-meta{font-size:.75rem;color:var(--text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.continue-watching-progress{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;flex-shrink:0}.continue-watching-progress-track{width:5rem;height:4px;border-radius:999px;background-color:var(--border);overflow:hidden}.continue-watching-progress-fill{display:block;height:100%;background-color:var(--primary);border-radius:999px}.continue-watching-progress-label{font-size:.6875rem;font-family:monospace;color:var(--text-light);white-space:nowrap}.continue-watching-dismiss{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:2.5rem;color:var(--text-light)}.continue-watching-dismiss:hover,.continue-watching-dismiss:active{background-color:var(--bg);color:var(--text)}@media (max-width: 640px){.continue-watching-main{padding:.5rem .625rem;gap:.625rem}.continue-watching-icon{width:1.75rem;height:1.75rem}.continue-watching-progress-label{display:none}.continue-watching-progress-track{width:2.5rem}}@media (orientation: landscape) and (max-height: 500px){.continue-watching-progress{display:none}}@media (min-width: 641px){.continue-watching-main{padding:.625rem 1rem}.continue-watching-title{font-size:.9375rem}}.feedback-capture-panel{position:absolute;top:calc(100% + .5rem);right:0;width:320px;max-width:calc(100vw - 2rem);display:flex;flex-direction:column;gap:.625rem;padding:.875rem 1rem 1rem;background-color:var(--bg);border:1px solid var(--border);border-radius:.5rem;box-shadow:0 12px 32px #00000059;z-index:50}.feedback-capture-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.feedback-capture-title{font-size:.8125rem;font-weight:600;color:var(--text)}.feedback-capture-close{background:none;border:none;color:var(--text-light);font-size:1.125rem;line-height:1;padding:0;cursor:pointer}.feedback-capture-close:hover{color:var(--text)}.feedback-capture-textarea{width:100%;resize:vertical;font-size:.875rem;padding:.5rem .625rem;border:1px solid var(--border);border-radius:.375rem;background-color:var(--surface);color:var(--text)}.feedback-capture-types{display:flex;gap:.375rem}.feedback-type-chip{flex-shrink:0;padding:.25rem .75rem;border:1px solid var(--border);border-radius:999px;background-color:var(--surface);color:var(--text-light);font-size:.75rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}.feedback-type-chip:hover{border-color:var(--primary)}.feedback-type-chip.active{background-color:var(--primary);border-color:var(--primary);color:#fff}.feedback-capture-error{margin:0;font-size:.75rem;color:var(--danger, #dc2626)}.feedback-capture-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.feedback-capture-hint{font-size:.6875rem;color:var(--text-light)}.feedback-capture-save{font-size:.8125rem;font-weight:600;padding:.375rem .875rem;background-color:var(--primary);border:1px solid var(--primary);color:#fff;border-radius:.375rem}.feedback-capture-save:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 640px){.feedback-capture-panel{right:-.5rem;width:calc(100vw - 1.5rem)}}.activity-history-page{padding:1.5rem;overflow-y:auto;flex:1;max-width:760px;margin:0 auto;width:100%}.activity-history-header h2{margin:0 0 .375rem}.activity-history-subtitle{color:var(--text-light);font-size:.875rem;margin:0 0 1.25rem;max-width:60ch}.activity-history-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.activity-history-filter{font-size:.8125rem;font-weight:600;padding:.375rem .75rem;border-radius:999px;border:1px solid var(--border);background-color:var(--surface);color:var(--text-light)}.activity-history-filter:hover{border-color:var(--primary);color:var(--text)}.activity-history-filter.active{background-color:var(--primary);border-color:var(--primary);color:#fff}.activity-history-error{color:var(--danger, #dc2626);font-size:.875rem}.activity-history-empty{color:var(--text-light);font-size:.875rem}.activity-history-groups{display:flex;flex-direction:column;gap:1.5rem}.activity-history-date{margin:0 0 .625rem;font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-light)}.activity-history-list{display:flex;flex-direction:column;gap:.5rem}.activity-history-entry{display:flex;align-items:flex-start;gap:.625rem;padding:.625rem .75rem;background-color:var(--surface);border:1px solid var(--border);border-radius:.5rem}.activity-history-entry.clickable{cursor:pointer}.activity-history-entry.clickable:hover{border-color:var(--primary)}.activity-history-entry .activity-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;margin-top:.0625rem}.activity-history-entry .activity-icon.watched{background-color:var(--success);color:#fff}.activity-history-entry .activity-icon.watching{background-color:var(--primary);color:#fff}.activity-history-entry .activity-icon.note,.activity-history-entry .activity-icon.quick_note{background-color:var(--warning);color:#000}.activity-history-entry .activity-icon.encounter{background-color:#7c3aed;color:#fff}.activity-history-body{flex:1;min-width:0}.activity-history-line{display:flex;align-items:baseline;gap:.375rem;font-size:.8125rem;flex-wrap:wrap}.activity-history-line .activity-verb{color:var(--text-light)}.activity-history-line .activity-title{font-weight:600}.activity-history-line .activity-when{margin-left:auto;flex-shrink:0;font-size:.75rem;color:var(--text-light)}.activity-history-body .activity-snippet{margin:.25rem 0 0;font-size:.8125rem;color:var(--text-light)}.activity-history-footer{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-top:1.5rem;padding-top:1rem}.activity-history-count{margin:0;font-size:.75rem;color:var(--text-light)}.activity-history-load-more{font-size:.875rem;font-weight:600;padding:.5rem 1.25rem;border:1px solid var(--border);border-radius:.375rem;background-color:var(--surface);color:var(--text)}.activity-history-load-more:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.activity-history-load-more:disabled{opacity:.6;cursor:default}@media (max-width: 640px){.activity-history-page{padding:1rem}}.curriculum-programs-page{padding:1.5rem;overflow-y:auto;flex:1;max-width:860px;margin:0 auto;width:100%}.curriculum-programs-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.curriculum-programs-header h2{margin:0 0 .375rem}.curriculum-programs-subtitle{color:var(--text-light);font-size:.875rem;margin:0;max-width:60ch}.new-program-btn{flex-shrink:0;font-size:.875rem;font-weight:600;padding:.5rem 1rem;border-radius:.375rem}.new-program-form{flex-shrink:0;display:flex;align-items:center;gap:.5rem}.new-program-month{font-size:.875rem;padding:.5rem .625rem}.new-program-cancel{font-size:.875rem;padding:.5rem .75rem;background:none;border:1px solid var(--border);color:var(--text-light)}.new-program-cancel:hover{color:var(--text)}.curriculum-programs-empty{color:var(--text-light);font-size:.875rem}.curriculum-programs-list{display:flex;flex-direction:column;gap:.75rem}.curriculum-program-card-wrap{display:flex;flex-direction:column}.curriculum-program-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;background-color:var(--surface);border:1px solid var(--border);border-radius:.625rem;padding:1rem 1.25rem}.manage-access-btn.active{border-color:var(--primary);color:var(--primary)}.curriculum-program-access-panel{background-color:var(--surface);border:1px solid var(--border);border-top:none;border-radius:0 0 .625rem .625rem;padding:.875rem 1.25rem 1rem;margin-top:-.5rem}.curriculum-program-access-status{margin:0;font-size:.8125rem;color:var(--text-light)}.curriculum-program-access-hint{margin:0 0 .625rem;font-size:.8125rem;color:var(--text-light)}.curriculum-program-access-error{margin:0 0 .625rem;font-size:.8125rem;color:var(--danger, #dc2626)}.curriculum-program-access-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.375rem 1rem}.curriculum-program-access-item label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;cursor:pointer}.curriculum-program-card-main{flex:1;min-width:0;cursor:pointer}.curriculum-program-card-main h3{margin:0 0 .25rem}.curriculum-program-card-meta{margin:0;font-size:.8125rem;color:var(--text-light)}.curriculum-program-card-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.curriculum-program-card-actions button{font-size:.8125rem;padding:.375rem .75rem;background:none;border:1px solid var(--border);color:var(--text);border-radius:.375rem}.curriculum-program-card-actions button:hover{border-color:var(--primary);color:var(--primary)}.curriculum-program-card-actions .delete-btn:hover{border-color:var(--danger, #dc2626);color:var(--danger, #dc2626)}.curriculum-program-delete-confirm{display:flex;gap:.375rem}.curriculum-program-delete-confirm .confirm-yes{background-color:var(--danger, #dc2626);border-color:var(--danger, #dc2626);color:#fff}@media (max-width: 640px){.curriculum-programs-page{padding:1rem}.curriculum-programs-header{flex-direction:column}.new-program-form{flex-wrap:wrap}.curriculum-program-card{flex-direction:column;align-items:stretch}.curriculum-program-card-actions{flex-wrap:wrap}}.curriculum-builder-page{padding:1.5rem;overflow-y:auto;flex:1;max-width:760px;margin:0 auto;width:100%}.curriculum-builder-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem}.curriculum-builder-back{background:none;border:none;color:var(--primary);font-size:.875rem;padding:0;min-width:auto}.curriculum-builder-save-status{flex:1;font-size:.8125rem;color:var(--text-light);text-align:center}.curriculum-builder-print-link{background:none;border:none;color:var(--primary);font-size:.875rem;padding:0;min-width:auto;font-weight:600}.curriculum-builder-name{width:100%;font-size:1.5rem;font-weight:700;border:none;padding:.25rem 0;margin-bottom:.25rem;background:none}.curriculum-builder-period{width:100%;font-size:.9375rem;color:var(--text-light);border:none;padding:.25rem 0;margin-bottom:1.25rem;background:none}.curriculum-builder-name:focus,.curriculum-builder-period:focus{outline:none;border-bottom:1px solid var(--primary)}.builder-label{display:block;font-size:.75rem;font-weight:600;color:var(--text-light);margin-bottom:.25rem}.curriculum-builder-standing{background-color:var(--surface);border:1px solid var(--border);border-radius:.5rem;padding:.875rem 1rem;margin-bottom:1.5rem}.curriculum-builder-weeks{display:flex;flex-direction:column;gap:1.25rem}.curriculum-builder-week{background-color:var(--surface);border:1px solid var(--border);border-radius:.625rem;padding:1rem 1.25rem}.curriculum-builder-week-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.curriculum-builder-week-header h3{margin:0}.remove-week-btn,.remove-day-btn{background:none;border:none;color:var(--text-light);font-size:.8125rem;padding:.125rem .375rem;min-width:auto}.remove-week-btn:hover,.remove-day-btn:hover{color:var(--danger, #dc2626)}.curriculum-builder-week-fields{display:flex;gap:1rem;margin-bottom:1rem}.curriculum-builder-week-fields label{flex:1}.curriculum-builder-week-fields input{width:100%}.curriculum-builder-days{display:flex;flex-direction:column;gap:.5rem}.curriculum-builder-day{background-color:var(--bg);border:1px solid var(--border);border-radius:.5rem;padding:.625rem}.curriculum-builder-day-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.day-label-select{flex-shrink:0;width:90px;font-weight:600;font-size:.8125rem}.curriculum-builder-entries{display:flex;flex-direction:column;gap:.375rem}.curriculum-builder-entry{display:flex;align-items:flex-start;gap:.5rem}.remove-entry-btn{flex-shrink:0;background:none;border:none;color:var(--text-light);font-size:1rem;line-height:1;padding:.375rem .25rem;min-width:auto}.remove-entry-btn:hover{color:var(--danger, #dc2626)}.add-entry-btn{align-self:flex-start;font-size:.75rem;padding:.25rem .625rem;background:none;border:1px dashed var(--border);color:var(--text-light)}.add-entry-btn:hover{border-color:var(--primary);color:var(--primary)}.slot-text,.slot-lesson,.slot-picker{flex:1;min-width:0}.slot-text{display:flex;gap:.5rem}.slot-text input{flex:1;min-width:0}.slot-pick-btn{flex-shrink:0;font-size:.75rem;padding:.375rem .625rem;background:none;border:1px solid var(--border);color:var(--text)}.slot-pick-btn:hover{border-color:var(--primary);color:var(--primary)}.slot-lesson{display:flex;align-items:center;gap:.5rem;padding:.375rem .625rem;background-color:#2563eb14;border:1px solid rgba(37,99,235,.3);border-radius:.375rem}.slot-lesson-line{flex:1;font-size:.8125rem;font-weight:600;color:var(--primary-dark)}.slot-clear-btn{flex-shrink:0;background:none;border:none;color:var(--primary-dark);font-size:1rem;line-height:1;padding:0;min-width:auto}.slot-picker-input{width:100%}.slot-picker-options{margin-top:.375rem;border:1px solid var(--border);border-radius:.375rem;overflow:hidden}.slot-picker-option{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:.5rem .75rem;background:var(--surface);color:var(--text);border:none;border-bottom:1px solid var(--border);border-radius:0}.slot-picker-option:last-child{border-bottom:none}.slot-picker-option:hover{background-color:var(--bg)}.slot-picker-option-title{font-weight:600;font-size:.8125rem}.slot-picker-option-course{font-size:.75rem;color:var(--text-light)}.slot-picker-cancel{margin-top:.375rem;font-size:.75rem;background:none;border:none;color:var(--text-light);padding:0;min-width:auto}.curriculum-builder-day-header .remove-day-btn{flex-shrink:0;margin-left:auto}.add-day-btn,.add-week-btn{align-self:flex-start;font-size:.8125rem;padding:.375rem .75rem;background:none;border:1px dashed var(--border);color:var(--text-light)}.add-day-btn:hover,.add-week-btn:hover{border-color:var(--primary);color:var(--primary)}.add-week-btn{align-self:stretch}@media (max-width: 640px){.curriculum-builder-page{padding:1rem}.curriculum-builder-week-fields{flex-direction:column;gap:.5rem}.curriculum-builder-entry{flex-wrap:wrap}}.curriculum-view-page{padding:1.5rem;overflow-y:auto;flex:1;max-width:760px;margin:0 auto;width:100%}.curriculum-view-empty{color:var(--text-light);font-size:.875rem}.curriculum-view-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;gap:.5rem}.curriculum-view-back{background:none;color:var(--primary);padding:.375rem 0}.curriculum-view-toolbar-actions{display:flex;align-items:center;gap:.5rem}.curriculum-view-handouts-toggle{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--text);cursor:pointer}.curriculum-view-toolbar-actions button{font-size:.8125rem;padding:.375rem .75rem;background:none;border:1px solid var(--border);color:var(--text)}.curriculum-print-btn{background-color:var(--primary)!important;color:#fff;border-color:var(--primary)!important}.curriculum-sheet-title{margin:0 0 .25rem;font-size:1.5rem}.curriculum-sheet-period{margin:0 0 .75rem;color:var(--text-light);font-size:.9375rem}.curriculum-sheet-standing{margin:0 0 1.25rem;padding:.625rem .875rem;background-color:var(--surface);border:1px solid var(--border);border-radius:.375rem;font-size:.9375rem}.curriculum-sheet-week{margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}.curriculum-sheet-week:last-child{border-bottom:none}.curriculum-sheet-week h2{font-size:1.0625rem;margin:0 0 .5rem}.curriculum-sheet-line{margin:.25rem 0;font-size:.9375rem}.curriculum-sheet-line a,.curriculum-sheet-standing a{color:var(--primary)}.curriculum-sheet-days{display:flex;flex-direction:column;gap:.25rem}.curriculum-sheet-day-row{display:grid;grid-template-columns:3.25rem 1fr;column-gap:.75rem;align-items:start}.curriculum-sheet-day-label{font-weight:700;font-size:.9375rem}.curriculum-sheet-day-content{font-size:.9375rem}.curriculum-sheet-entries{margin:0;padding-left:1.25rem}.curriculum-sheet-entries li{margin:.125rem 0}.curriculum-sheet-entries a,.curriculum-sheet-day-content a{color:var(--primary)}@media (max-width: 640px){.curriculum-view-page{padding:1rem}}.curriculum-sheet-handouts{margin-top:1.5rem;padding-top:1.25rem;border-top:2px solid var(--border)}.curriculum-sheet-handouts-title{font-size:1.125rem;margin:0 0 1rem}.curriculum-sheet-handout{margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}.curriculum-sheet-handout:last-child{border-bottom:none}.curriculum-sheet-handout-title{font-size:1rem;margin:0 0 .5rem}.curriculum-sheet-handout-body{font-size:.9375rem}.curriculum-sheet-handout-body h1,.curriculum-sheet-handout-body h2,.curriculum-sheet-handout-body h3{font-size:.9375rem;margin:.75rem 0 .375rem}.curriculum-sheet-handout-body p{margin:.375rem 0}.curriculum-sheet-handout-body ul,.curriculum-sheet-handout-body ol{margin:.375rem 0;padding-left:1.25rem}.curriculum-sheet-handout-body .toc{display:none}@media print{.no-print{display:none!important}.curriculum-view-page{max-width:none;padding:0;overflow:visible}.curriculum-sheet-week{break-inside:avoid;page-break-inside:avoid;border-bottom:1px solid #000}.curriculum-sheet-day-row{break-inside:avoid;page-break-inside:avoid}.curriculum-sheet-standing{border:1px solid #000;background:none}.curriculum-sheet-handout{break-inside:avoid;page-break-inside:avoid;border-bottom:1px solid #000}.curriculum-sheet-handouts{border-top:2px solid #000}}.admin-page{display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden}.admin-header{display:flex;align-items:center;gap:1rem;padding:1rem;background-color:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.admin-header h2{font-size:1.25rem;font-weight:600}.admin-body{flex:1;overflow-y:auto;padding:1.5rem}.admin-loading{color:var(--text-light)}.admin-error{margin:0 0 1rem;font-size:.875rem;color:var(--danger, #dc2626)}.admin-section{max-width:760px;padding:1.25rem;background-color:var(--surface);border:1px solid var(--border);border-radius:.5rem}.admin-section+.admin-section{margin-top:1.25rem}.admin-section-wide{max-width:100%}.admin-section-label{display:block;font-weight:600;margin-bottom:.375rem}.admin-section-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.admin-section-header .admin-section-label{margin-bottom:0}.admin-refresh-btn{font-size:.8125rem;padding:.25rem .625rem;background:none;border:1px solid var(--border);color:var(--text);border-radius:.375rem;white-space:nowrap}.admin-refresh-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.admin-refresh-btn:disabled{opacity:.6;cursor:not-allowed}.admin-description{margin:0 0 .75rem;font-size:.875rem;color:var(--text-light)}.admin-description-inline{margin:.5rem 0 0}.admin-add-user-form{display:flex;gap:.5rem;margin-bottom:.75rem}.admin-add-user-input{flex:1;max-width:320px;font-size:.875rem;padding:.375rem .625rem;border:1px solid var(--border);border-radius:.375rem;background-color:var(--bg);color:var(--text)}.admin-add-user-btn{font-size:.8125rem;padding:.375rem .75rem;background-color:var(--primary);border:1px solid var(--primary);color:#fff;border-radius:.375rem;white-space:nowrap}.admin-add-user-btn:disabled{opacity:.6;cursor:not-allowed}.admin-checkbox-label{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--text-light);cursor:pointer;width:fit-content}.admin-table-wrap{overflow-x:auto;margin-top:.75rem}.admin-table{width:100%;border-collapse:collapse;font-size:.875rem}.admin-table th{text-align:left;padding:.5rem .75rem;color:var(--text-light);font-weight:600;border-bottom:1px solid var(--border);white-space:nowrap}.admin-table td{padding:.5rem .75rem;border-bottom:1px solid var(--border);white-space:nowrap}.admin-table tr:last-child td{border-bottom:none}.admin-table input[type=checkbox]{width:1.05rem;height:1.05rem;cursor:pointer}.admin-table input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.admin-row-deactivated{opacity:.55}.admin-removed-badge{font-size:.75rem;color:var(--text-light);white-space:nowrap}.admin-table .delete-btn{font-size:.8125rem;padding:.25rem .625rem;background:none;border:1px solid var(--border);color:var(--text);border-radius:.375rem;white-space:nowrap}.admin-table .delete-btn:hover{border-color:var(--danger, #dc2626);color:var(--danger, #dc2626)}.admin-backup-download-btn{display:inline-block;text-decoration:none}.admin-table .admin-backup-download-btn:hover{border-color:var(--primary);color:var(--primary)}.admin-remove-confirm{display:flex;gap:.375rem;white-space:nowrap}.admin-remove-confirm button{font-size:.8125rem;padding:.25rem .625rem;background:none;border:1px solid var(--border);color:var(--text);border-radius:.375rem}.admin-remove-confirm .confirm-yes{background-color:var(--danger, #dc2626);border-color:var(--danger, #dc2626);color:#fff}.admin-row-actions{display:flex;gap:.375rem;white-space:nowrap}.admin-row-actions button{font-size:.8125rem;padding:.25rem .625rem;background:none;border:1px solid var(--border);color:var(--text);border-radius:.375rem}.admin-edit-row td{background-color:var(--bg)}.admin-edit-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem;padding:.5rem 0}.admin-edit-field{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem;color:var(--text-light)}.admin-edit-field input{font-size:.875rem;padding:.375rem .5rem;min-width:14rem}.admin-edit-courses{width:100%}.course-toggle-list{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto;margin-top:.375rem}.course-toggle-row{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--text);cursor:pointer;white-space:nowrap}.admin-select{font-size:.875rem;padding:.375rem .625rem;margin-bottom:.75rem}.admin-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.375rem;max-height:320px;overflow-y:auto}.admin-history-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .75rem;background-color:var(--bg);border-radius:.375rem;font-size:.875rem}.admin-history-username{font-weight:600}.admin-history-time{color:var(--text-light);font-size:.8125rem;white-space:nowrap}.integrity-results{margin-top:1rem}.integrity-check-group{padding:.75rem;margin-top:.75rem;background-color:var(--bg);border:1px solid var(--border);border-radius:.375rem}.integrity-check-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.admin-audit-item{display:flex;flex-direction:column;align-items:stretch;gap:.25rem}.admin-audit-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.admin-shared-login-item{display:flex;flex-direction:column;align-items:stretch;gap:.375rem}.admin-shared-login-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.admin-shared-login-devices{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.125rem;font-size:.8125rem;color:var(--text-light)}.admin-shared-login-ip{font-weight:600;color:var(--text)}.admin-shared-login-ua{word-break:break-word}.integrity-check-label{font-weight:600;font-size:.875rem}.integrity-check-description{margin:.25rem 0 0;font-size:.8125rem}.integrity-count-badge{font-size:.75rem;font-weight:600;padding:.125rem .5rem;border-radius:1rem;white-space:nowrap}.integrity-count-ok{background-color:var(--success-bg, #dcfce7);color:var(--success, #16a34a)}.integrity-count-bad{background-color:var(--danger-bg, #fee2e2);color:var(--danger, #dc2626)}.integrity-item-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.375rem;max-height:320px;overflow-y:auto}.integrity-item{font-size:.8125rem;padding:.375rem .5rem;background-color:var(--surface);border-radius:.25rem;word-break:break-word}.admin-error-log-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.375rem;max-height:420px;overflow-y:auto}.admin-error-log-item{background-color:var(--bg);border-radius:.375rem;overflow:hidden}.admin-error-log-summary{display:flex;align-items:center;gap:.75rem;width:100%;padding:.5rem .75rem;background:none;border:none;color:var(--text);font-size:.875rem;text-align:left;cursor:pointer}.admin-error-log-time{color:var(--text-light);font-size:.8125rem;white-space:nowrap;flex-shrink:0}.admin-error-log-route{font-family:monospace;font-size:.8125rem;color:var(--text-light);white-space:nowrap;flex-shrink:0}.admin-error-log-message{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--danger, #dc2626)}.admin-error-log-toggle{flex-shrink:0;color:var(--text-light);font-size:.75rem}.admin-error-log-stack{margin:0 .75rem .75rem;padding:.625rem .75rem;background-color:var(--surface);border:1px solid var(--border);border-radius:.375rem;font-size:.75rem;white-space:pre-wrap;word-break:break-word;max-height:320px;overflow-y:auto}.admin-audit-action{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--primary)}.admin-audit-target{font-size:.875rem;color:var(--text)}.feedback-type-badge{display:inline-block;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--primary);margin-right:.25rem}.admin-shared-link-revoke-btn{align-self:flex-start;font-size:.75rem;padding:.3125rem .625rem;background:none;border:1px solid var(--border);color:var(--text)}.admin-shared-link-revoke-btn:hover{border-color:var(--danger, #dc2626);color:var(--danger, #dc2626)}.health-body{max-width:760px}.health-toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem;flex-wrap:wrap}.health-generated-at{margin:0}.health-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.health-stat{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background-color:var(--bg);border-radius:.375rem}.health-stat-label{font-size:.75rem;color:var(--text-light);font-weight:600;text-transform:uppercase;letter-spacing:.02em}.health-stat-value{font-size:1.0625rem;font-weight:600}.health-stat-sub{font-size:.8125rem;font-weight:400;color:var(--text-light)}.health-db-path{margin:.75rem 0 0;font-family:monospace;font-size:.75rem;word-break:break-all}.health-pending-list{margin:.75rem 0 0;padding-left:1.25rem;font-size:.875rem;color:var(--text)}.health-pending-list li{margin-bottom:.25rem}.shared-link-page{height:100%;overflow-y:auto;display:flex;justify-content:center;padding:1.5rem 1rem 3rem;background-color:var(--bg)}.shared-link-card{width:100%;max-width:640px;background-color:var(--surface);border:1px solid var(--border);border-radius:.75rem;padding:1.25rem;height:fit-content}.shared-link-brand{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-light);margin-bottom:.75rem}.shared-link-status{color:var(--text-light);padding:2rem 0;text-align:center}.shared-link-error{padding:1.5rem 0;text-align:center;color:var(--text)}.shared-link-error p{margin:0 0 .5rem}.shared-link-error-hint{font-size:.875rem;color:var(--text-light)}.shared-link-title{font-size:1.25rem;margin:0 0 .25rem}.shared-link-range{font-size:.8125rem;color:var(--text-light);margin:0 0 .75rem;font-variant-numeric:tabular-nums}.shared-link-video-wrap{position:relative;width:100%;border-radius:.5rem;overflow:hidden;background:#000}.shared-link-video{width:100%;max-height:70vh;display:block}.shared-link-replay-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#0f172ad9;color:#fff;font-size:.9375rem;padding:.625rem 1.125rem;border-radius:999px}.shared-link-replay-btn:hover{background-color:#0f172af2}.shared-link-note{margin-top:1rem;padding:.875rem 1rem;background-color:var(--bg);border:1px solid var(--border);border-radius:.5rem}.shared-link-note p{margin:0;white-space:pre-wrap;font-size:.9375rem}.shared-link-footer-note{margin-top:1.25rem;font-size:.75rem;color:var(--text-light);text-align:center}.app{display:flex;flex-direction:column;height:100dvh;width:100vw;overflow:hidden}.app-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;padding-top:max(1rem,env(safe-area-inset-top));background-color:var(--primary);color:#fff;border-bottom:1px solid var(--border);flex-shrink:0}.app-header h1{font-size:1.5rem;font-weight:700}.header-left{display:flex;align-items:center;gap:.75rem}.menu-toggle{display:flex;align-items:center;justify-content:center;background-color:#ffffff26;padding:.5rem;flex-shrink:0}.menu-toggle:hover{background-color:#ffffff4d}.desktop-wordmark-button{background:none;color:#fff;font-size:1.0625rem;font-weight:700;letter-spacing:.02em;padding:.375rem .5rem}.desktop-wordmark-button:hover{background-color:#ffffff26}.header-right{display:flex;align-items:center;gap:1rem}.activity-anchor{position:relative}.activity-bell{display:flex;align-items:center;justify-content:center;background-color:#ffffff26;padding:.5rem}.activity-bell:hover{background-color:#ffffff4d}.settings-button{display:flex;align-items:center;justify-content:center;background-color:#ffffff26;padding:.5rem}.settings-button:hover{background-color:#ffffff4d}.settings-button.active{background-color:#ffffff59}.username{font-size:.875rem;opacity:.9}.username-button{background-color:#ffffff26;padding:.375rem .75rem;border-radius:999px}.username-button:hover{background-color:#ffffff4d}.username-button.active{background-color:#ffffff59}.app-body{flex:1;display:flex;overflow:hidden}.nav-column{display:flex;flex-direction:column;flex-shrink:0;width:min(360px,88vw);overflow:hidden;background-color:var(--surface);border-right:1px solid var(--border);transition:width .2s ease}.nav-column.collapsed{width:0;border-right:none}.nav-lesson-list{display:flex;flex-direction:column;flex:1;min-height:0}.nav-lesson-list .lesson-list{flex:1;min-height:0}.app-welcome{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-light);font-size:1rem;padding:2rem;text-align:center}.app-main{flex:1;overflow:hidden;display:flex;flex-direction:column;min-width:0}@media print{.app-header,.nav-column,.continue-watching-banner{display:none!important}body,.app,.app-body,.app-main{height:auto!important;overflow:visible!important;display:block!important;background:#fff!important}}@media (max-width: 640px){.app-header{padding:.75rem}.app-header h1{font-size:1.25rem}.header-left{flex-shrink:0}.header-right{gap:.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;min-width:0}.header-right::-webkit-scrollbar{display:none}.header-right>*{flex-shrink:0}}.mobile-topbar{justify-content:space-between}.mobile-back-button{display:flex;align-items:center;gap:.25rem;background:none;color:#fff;font-size:1rem;font-weight:500;padding:.25rem .5rem .25rem .25rem;margin-left:-.25rem}.mobile-back-button:hover{background-color:#ffffff26}.mobile-avatar-button{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;background-color:#fff3;color:#fff;font-size:.875rem;font-weight:700;flex-shrink:0}.mobile-avatar-button:hover{background-color:#ffffff59}.mobile-topbar-right{display:flex;align-items:center;gap:.5rem}.mobile-topbar-icon-button{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;background:none;color:#fff;flex-shrink:0}.mobile-topbar-icon-button:hover{background-color:#fff3}.mobile-wordmark-button{display:flex;align-items:center;background:none;color:#fff;font-size:1rem;font-weight:700;letter-spacing:.02em;padding:.25rem .5rem .25rem .25rem;margin-left:-.25rem}.mobile-wordmark-button:hover{background-color:#ffffff26}.mobile-main{position:relative;min-height:0}.mobile-screen-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;background-color:var(--bg)}.mobile-screen-overlay .search-panel,.mobile-screen-overlay .activity-log{position:static;width:100%;max-width:100%;max-height:100%;flex:1;border:none;border-radius:0;box-shadow:none}.mobile-more-screen{display:flex;flex-direction:column;height:100%;overflow-y:auto;background-color:var(--bg);padding:.5rem}.mobile-more-item{display:flex;align-items:center;gap:.875rem;background-color:var(--surface);color:var(--text);padding:.875rem 1rem;border-radius:.5rem;margin-bottom:.5rem;font-size:.9375rem;font-weight:500;text-align:left}.mobile-more-item svg{flex-shrink:0;color:var(--text-light)}.mobile-more-item:hover,.mobile-more-item:active{background-color:var(--border)}.mobile-more-divider{height:1px;background-color:var(--border);margin:.5rem .25rem 1rem}.bottom-tab-bar{display:flex;flex-shrink:0;background-color:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0)}.tab-bar-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.125rem;background:none;color:var(--text-light);padding:.5rem .25rem .375rem;border-radius:0;font-size:.6875rem;font-weight:500}.tab-bar-item:active{background-color:var(--border)}.tab-bar-item.active{color:var(--primary)}@media (orientation: landscape) and (max-height: 500px){.app-mobile .app-header{padding-top:max(.375rem,env(safe-area-inset-top));padding-bottom:.375rem;padding-left:max(.75rem,env(safe-area-inset-left));padding-right:max(.75rem,env(safe-area-inset-right))}.mobile-avatar-button{width:1.75rem;height:1.75rem;font-size:.75rem}.bottom-tab-bar{padding-bottom:env(safe-area-inset-bottom,0);padding-left:max(.25rem,env(safe-area-inset-left));padding-right:max(.25rem,env(safe-area-inset-right))}.tab-bar-item{padding:.25rem;gap:0}.tab-bar-item svg{width:20px;height:20px}.tab-bar-item span{display:none}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #2563eb;--primary-dark: #1e40af;--bg: #f1f5f9;--surface: #ffffff;--text: #1e293b;--text-light: #64748b;--border: #e2e8f0;--success: #10b981;--warning: #f59e0b;--danger: #ef4444}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:var(--bg);color:var(--text);line-height:1.6}html,body,#root{height:100%;width:100%;overflow:hidden}button{font-family:inherit;cursor:pointer;border:none;border-radius:.375rem;padding:.5rem 1rem;background-color:var(--primary);color:#fff;font-size:.875rem;font-weight:500;transition:background-color .2s}button:hover{background-color:var(--primary-dark)}button:active{opacity:.8}input,textarea,select{font-family:inherit;border:1px solid var(--border);border-radius:.375rem;padding:.5rem;background-color:var(--bg);color:var(--text)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}
