:root,:root[data-theme=alexandria]{color:var(--text);background:var(--page);--page: #faf8f4;--page-gradient: rgba(9, 76, 178, .08);--page-gradient-end: rgba(250, 248, 244, 0);--surface: #ffffff;--surface-soft: rgba(255, 255, 255, .88);--surface-subtle: #f4f1e9;--text: #221f1a;--text-strong: #111014;--muted: #75705f;--muted-strong: #524d3f;--border: #eae5d8;--border-strong: #ddd6c4;--input-bg: #fdfcf9;--accent: #094cb2;--accent-secondary: #0a3d8f;--accent-tertiary: #6d5e00;--accent-ring: rgba(9, 76, 178, .16);--notice-bg: #e7f4ee;--notice-text: #126041;--error-bg: #fae8e4;--error-text: #9e271b;--positive: #177245;--negative: #b33425;--hover: #f4f1e9;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 999px;--shadow-1: 0 1px 2px rgba(30, 25, 10, .06);--shadow-2: 0 18px 36px rgba(30, 25, 10, .1), 0 2px 8px rgba(30, 25, 10, .05);--button-primary-bg: #094cb2;--font-heading: "Noto Serif", Georgia, serif;--font-body: "Public Sans", Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-label: "Public Sans", Inter, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;font-family:var(--font-body);font-size:16px;line-height:1.5}:root[data-theme=onyx]{--page: #000000;--page-gradient: rgba(240, 200, 90, .08);--page-gradient-end: rgba(0, 0, 0, 0);--surface: #131313;--surface-soft: rgba(19, 19, 19, .88);--surface-subtle: #1f1f1f;--text: #e2e2e2;--text-strong: #ffffff;--muted: #93939d;--muted-strong: #c2c6d6;--border: #262626;--border-strong: #424754;--input-bg: #000000;--accent: #f0c85a;--accent-secondary: #d4a017;--accent-tertiary: #b08d57;--accent-ring: rgba(240, 200, 90, .18);--notice-bg: #1c2a18;--notice-text: #9fd88a;--error-bg: #2c1414;--error-text: #ff9d8f;--positive: #6fcf7a;--negative: #ff6f61;--hover: #1a1a1a;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 999px;--shadow-1: 0 1px 2px rgba(0, 0, 0, .6);--shadow-2: 0 20px 40px rgba(0, 0, 0, .65), 0 0 0 1px rgba(240, 200, 90, .06);--button-primary-bg: linear-gradient(135deg, #f0c85a, #c9962c);--font-heading: "Hanken Grotesk", Inter, sans-serif;--font-body: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-label: Inter, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}:root[data-theme=kinetic]{--page: #051424;--page-gradient: rgba(56, 189, 248, .14);--page-gradient-end: rgba(5, 20, 36, 0);--surface: #0d1c2d;--surface-soft: rgba(13, 28, 45, .86);--surface-subtle: #122131;--text: #d4e4fa;--text-strong: #f4faff;--muted: #8c909f;--muted-strong: #c2c6d6;--border: #1c2b3c;--border-strong: #424754;--input-bg: #010f1f;--accent: #38bdf8;--accent-secondary: #2dd4bf;--accent-tertiary: #7bd0ff;--accent-ring: rgba(56, 189, 248, .2);--notice-bg: #0d3325;--notice-text: #6ee7b7;--error-bg: #35141a;--error-text: #fca5a5;--positive: #34d399;--negative: #fb7185;--hover: #122131;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 999px;--shadow-1: 0 1px 2px rgba(0, 0, 0, .35);--shadow-2: 0 22px 44px rgba(0, 0, 0, .45), 0 0 0 1px rgba(56, 189, 248, .08);--button-primary-bg: linear-gradient(135deg, #38bdf8, #2dd4bf);--font-heading: "Hanken Grotesk", Inter, sans-serif;--font-body: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-label: Inter, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}:root[data-theme=refined-candy]{--page: #fdf6fb;--page-gradient: rgba(158, 0, 181, .1);--page-gradient-end: rgba(253, 246, 251, 0);--surface: #ffffff;--surface-soft: rgba(255, 255, 255, .9);--surface-subtle: #f8ecf7;--text: #2a1730;--text-strong: #170c1c;--muted: #7c6a86;--muted-strong: #5a4a63;--border: #f0dcef;--border-strong: #e2bfe1;--input-bg: #fefaff;--accent: #9e00b5;--accent-secondary: #6b38d4;--accent-tertiary: #c026d3;--accent-ring: rgba(158, 0, 181, .16);--notice-bg: #e7f4ee;--notice-text: #126041;--error-bg: #fae8e4;--error-text: #9e271b;--positive: #177245;--negative: #b33425;--hover: #f8ecf7;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 22px;--radius-full: 999px;--shadow-1: 0 1px 3px rgba(90, 0, 105, .08);--shadow-2: 0 16px 36px rgba(90, 0, 105, .14), 0 2px 8px rgba(90, 0, 105, .07);--button-primary-bg: linear-gradient(135deg, #9e00b5, #6b38d4);--font-heading: Inter, sans-serif;--font-body: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-label: Inter, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}:root[data-text-size=small]{font-size:14px}:root[data-text-size=medium]{font-size:16px}:root[data-text-size=large]{font-size:18px}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--accent)}::-webkit-scrollbar-corner{background:transparent}*{box-sizing:border-box}body{margin:0;min-width:320px;background:linear-gradient(180deg,var(--page-gradient),var(--page-gradient-end) 320px),var(--page)}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.62}a{color:inherit}.app-shell{min-height:100dvh;background:var(--page)}.app-sidebar{position:fixed;top:0;left:0;bottom:0;width:250px;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--border);z-index:30;overflow-y:auto;transform:translate(0);transition:transform .22s ease}.app-sidebar-header{position:relative;padding:20px 18px 16px;border-bottom:1px solid var(--border)}.app-sidebar-title{font-size:1.3rem;font-weight:800;color:var(--text-strong);margin:2px 0 0}.app-sidebar-close{display:none;position:absolute;top:14px;right:12px}.app-nav-list{display:flex;flex-direction:column;gap:2px;padding:10px;flex:1}.app-nav-btn{display:flex;align-items:center;gap:10px;width:100%;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--muted-strong);padding:9px 10px;font-size:.85rem;font-weight:600;text-align:left;transition:background .12s,color .12s}.app-nav-btn:hover{background:var(--hover);color:var(--text)}.app-nav-btn.active{background:var(--accent-ring);border-color:var(--accent);color:var(--accent);font-weight:700}.app-nav-icon{flex-shrink:0;opacity:.9}.app-sidebar-footer{padding:14px 16px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px}.app-user-block{display:flex;flex-direction:column;gap:8px}.app-user-name{font-size:.82rem;font-weight:700;color:var(--text);word-break:break-all;display:flex;align-items:center;gap:6px}.app-logout-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}.app-topbar{margin-left:250px;position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;padding:12px 24px;background:var(--surface-soft);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--border)}.topbar-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-left:auto}.app-sidebar-toggle{display:none;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:5px 10px;font-size:1rem}.app-main{margin-left:250px;padding:24px 28px 28px;width:min(1200px,calc(100% - 250px))}.eyebrow{margin:0 0 4px;color:var(--muted-strong);font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-family:var(--font-heading);font-size:clamp(1.55rem,2.4vw,2.35rem);line-height:1.08;letter-spacing:0}h2{margin-bottom:6px;font-family:var(--font-heading);font-size:1rem;letter-spacing:0}.primary-button{min-height:32px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:5px 12px;font-size:.82rem;text-decoration:none;font-weight:700;font-family:var(--font-label);transition:transform .12s ease,box-shadow .12s ease}.settings-menu{position:relative}.settings-trigger{display:inline-grid;place-items:center;width:30px;height:30px;min-height:30px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:0;font-size:1rem}.settings-trigger:hover,.settings-trigger:focus-visible,.settings-trigger.active-icon-button{border-color:var(--accent);outline:none}.settings-menu-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:10;display:grid;gap:6px;min-width:132px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-2);padding:7px}.settings-menu-panel button{min-height:34px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text);padding:7px 9px;text-align:left;font-weight:800}.settings-menu-panel button:hover,.settings-menu-panel button:focus-visible,.settings-menu-panel .active-menu-item{border-color:var(--accent);background:var(--hover);outline:none}.header-select{display:inline-flex;flex-direction:row;align-items:center;gap:6px;font-size:.7rem;font-weight:700;white-space:nowrap}.header-select select{min-height:30px;border-color:var(--border-strong);background:var(--surface);font-weight:800;font-size:.78rem}.theme-menu,.text-size-menu{position:relative}.theme-palette{position:absolute;top:calc(100% + 8px);right:0;z-index:10;display:grid;grid-template-columns:repeat(2,20px);gap:7px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-2);padding:7px}.theme-swatch{position:relative;width:20px;height:20px;min-height:20px;border:1px solid var(--border-strong);border-radius:50%;padding:0;box-shadow:inset 0 0 0 2px #ffffff6b}.theme-menu-trigger{width:30px;height:30px;min-height:30px}.theme-menu-trigger:before{position:absolute;right:4px;bottom:4px;width:0;height:0;border-top:4px solid var(--text);border-right:3px solid transparent;border-left:3px solid transparent;content:""}.text-size-trigger{display:inline-grid;place-items:center;width:30px;height:30px;min-height:30px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:0;font-size:.82rem;font-weight:900}.text-size-trigger:hover,.text-size-trigger:focus-visible{border-color:var(--accent);outline:none}.text-size-palette{position:absolute;top:calc(100% + 8px);right:0;z-index:10;display:grid;gap:6px;min-width:42px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-2);padding:7px}.text-size-option{display:inline-grid;place-items:center;width:28px;height:28px;min-height:28px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-subtle);color:var(--text);padding:0;font-weight:900}.text-size-option:hover,.text-size-option:focus-visible,.text-size-option.active-text-size{border-color:var(--accent);background:var(--accent);color:var(--page);outline:none}.theme-swatch-alexandria{background:linear-gradient(135deg,#faf8f4 0 50%,#094cb2 50% 100%)}.theme-swatch-onyx{background:linear-gradient(135deg,#0a0a0c 0 50%,#f0c85a 50% 100%)}.theme-swatch-kinetic{background:linear-gradient(135deg,#051424 0 50%,#38bdf8 50% 100%)}.theme-swatch-refined-candy{background:linear-gradient(135deg,#fdf6fb 0 50%,#9e00b5 50% 100%)}.theme-swatch:hover,.theme-swatch:focus-visible,.theme-swatch.active-theme{border-color:var(--accent);outline:none}.theme-swatch.active-theme:after{position:absolute;inset:-5px;border:2px solid var(--accent);border-radius:50%;content:""}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.metric{min-height:94px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-soft);padding:16px}.metric span{display:block;margin-bottom:8px;color:var(--muted);font-size:.85rem;font-weight:700}.metric strong{display:block;font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.15}.workspace{display:grid;grid-template-columns:minmax(280px,.75fr);gap:14px;margin-bottom:18px}.refresh-page{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-bottom:18px}.refresh-panel,.side-panel,.enrollments-section,.learning-guidance-section,.strategy-builder-section,.management-page,.management-form,.admin-section{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.admin-section{max-width:420px}.refresh-panel{display:grid;grid-template-columns:1fr;align-items:start;gap:16px;padding:18px}.refresh-panel p,.side-panel p,.table-toolbar p{margin-bottom:0;color:var(--muted)}label{display:grid;gap:7px;color:var(--muted-strong);font-size:.84rem;font-weight:800}input,select,textarea{width:100%;min-height:42px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text);padding:9px 12px}textarea{min-height:96px;resize:vertical}input[type=checkbox]{width:18px;min-height:18px;accent-color:var(--accent)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.reports-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;align-items:end;margin-bottom:22px}.reports-filters label{display:grid;gap:6px}.reports-filters input,.reports-filters select{min-height:44px}.reports-filters input[type=date]{cursor:pointer}.reports-filter-actions{display:flex;gap:10px;justify-content:flex-start;align-items:center;margin-top:4px}.reports-filters-advanced{border-bottom:1px solid var(--border);padding:18px}.report-tabs{display:flex;gap:8px;overflow-x:auto;border-bottom:1px solid var(--border);padding:0 18px 14px}.report-tabs button{min-height:34px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--muted-strong);padding:7px 12px;font-weight:800;white-space:nowrap}.report-tabs .active-report-tab{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.reports-summary{display:grid;grid-template-columns:repeat(8,minmax(120px,1fr));gap:10px;padding:18px}.reports-card{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-height:44px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:10px 12px}.reports-card-label{color:var(--muted);font-size:.78rem;font-weight:800;white-space:nowrap}.reports-card-value{color:var(--text-strong);font-size:.95rem;font-weight:900;white-space:nowrap}.reports-section{display:grid;gap:12px;padding:18px}.reports-section h3{margin:0}.study-action-badge,.strategy-status{display:inline-flex;align-items:center;min-height:24px;border:1px solid var(--border-strong);border-radius:var(--radius-full);padding:2px 8px;font-size:.76rem;font-weight:900}.study-action-badge-success,.strategy-status-active{color:var(--positive)}.study-action-badge-failure,.strategy-status-closed{color:var(--negative)}.muted-text{color:var(--muted)}@media(max-width:860px){.reports-filters{grid-template-columns:1fr 1fr}.reports-summary,.idea-form-grid,.ideas-grid,.review-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.reports-filters{grid-template-columns:1fr}.reports-filter-actions{justify-content:stretch}.reports-summary,.idea-form-grid,.ideas-grid,.review-list-grid{grid-template-columns:1fr}.idea-type-toggle,.idea-form-actions,.idea-card-header,.learning-guidance-actions{flex-direction:column;align-items:stretch}}.primary-button{border-color:transparent;background:var(--button-primary-bg);color:var(--surface)}.primary-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-1)}.selected-file,.notice,.error{grid-column:1 / -1;padding:10px 12px;border-radius:var(--radius-sm);font-weight:700}.selected-file{background:var(--surface-subtle);color:var(--muted-strong)}.notice{background:var(--notice-bg);color:var(--notice-text)}.error{background:var(--error-bg);color:var(--error-text)}.side-panel{padding:18px}dl{display:grid;gap:12px;margin:14px 0 0}dl div{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--border);padding-top:12px}dt{color:var(--muted)}dd{margin:0;font-weight:800}.enrollments-section,.learning-guidance-section,.strategy-builder-section,.management-page,.management-form{overflow:hidden}.strategy-toolbar button,.table-toolbar button,.strategy-actions button,.row-actions button{min-height:36px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:7px 12px;font-weight:800}.strategy-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:18px}.subject-field{position:relative}.subject-suggestions{position:absolute;top:calc(100% + 6px);left:0;z-index:5;display:grid;width:100%;max-height:260px;overflow-y:auto;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-2);padding:6px}.subject-suggestions button,.subject-suggestions span{min-height:34px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text);padding:7px 9px;text-align:left;font-weight:800}.subject-suggestions button:hover{background:var(--hover)}.subject-suggestions span{color:var(--muted);font-weight:700}.checkbox-label{display:flex;align-items:center;align-self:end;min-height:42px;flex-direction:row}.notes-field{grid-column:span 2}.strategy-form-grid>.save-study-plan{grid-column:1 / 2;justify-self:start;align-self:center;margin-top:6px}.strategy-message{margin:0 18px 18px}.field-note{display:block;color:var(--muted);font-size:.76rem;font-weight:700}.strategy-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;border-top:1px solid var(--border);padding:18px}.strategy-card{display:grid;gap:14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-soft);padding:16px}.strategy-card h3{margin:0 0 4px;color:var(--text-strong)}.strategy-card p{margin:0;color:var(--muted)}.strategy-actions{display:flex;gap:10px}.learning-guidance-actions{display:flex;justify-content:flex-end;gap:8px}.ideas-section,.review-list-section{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden}.idea-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:18px;border-top:1px solid var(--border)}.idea-type-toggle{display:flex;align-items:end;gap:8px}.idea-type-toggle button,.idea-form-actions button{min-height:36px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:7px 12px;font-weight:800}.active-idea-type{border-color:var(--accent)!important;background:var(--accent)!important;color:var(--page)!important}.idea-form-actions{display:flex;align-items:end;gap:8px}.ideas-grid,.review-list-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;border-top:1px solid var(--border);padding:18px}.idea-card{display:grid;gap:14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-soft);padding:16px}.idea-card-header{display:flex;align-items:start;justify-content:space-between;gap:12px}.idea-card-header h3{margin:0 0 4px}.idea-card-header p{margin:0;color:var(--muted)}.idea-thesis{margin:0;color:var(--text)}.review-list-card dl div{align-items:baseline}.plan-draft-note{margin:0 0 8px}.subject-chip{display:inline-flex;align-items:center;min-height:26px;border-radius:var(--radius-full);padding:4px 10px;font-size:.76rem;font-weight:900;white-space:nowrap}.subject-chip-priority{border:1px solid var(--border-strong);background:var(--surface-subtle)}.subject-chip-priority-low{color:var(--positive)}.subject-chip-priority-medium{color:#a06a00}.subject-chip-priority-high{color:var(--negative)}.subject-chip-priority-unknown{color:var(--muted)}.subject-chip-status-strong{background:var(--notice-bg);color:var(--notice-text)}.subject-chip-status-needs-work{background:var(--error-bg);color:var(--error-text)}.subject-chip-status-steady,.subject-chip-status-weak{background:var(--surface-subtle);color:var(--muted-strong)}.enrollment-ai-cell{display:grid;gap:4px}.enrollment-ai-panel{display:grid;gap:8px;min-width:170px}.enrollment-ai-row{display:flex;align-items:center}.enrollment-ai-confidence,.learning-guidance-weak-status{color:var(--muted);font-size:.76rem;font-weight:700}.subject-chip-focus{background:var(--accent-ring);color:var(--accent)}.subject-chip-priority-error{color:var(--negative)}.enrollments-inline-message{margin:18px 18px 0}.enrollment-link-button{min-height:32px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--accent);padding:6px 10px;font-weight:800;white-space:nowrap}.enrollment-link-button:hover{border-color:var(--accent);background:var(--hover)}.enrollment-subject-link{border:0;background:transparent;color:var(--accent);padding:0;font-weight:800;text-align:left}.enrollment-subject-link:hover{text-decoration:underline}.learning-guidance-actions button{min-height:36px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:7px 12px;font-weight:800}.learning-guidance-actions button:hover{border-color:var(--accent)}.learning-guidance-card-selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-ring)}.learning-guidance-card-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.study-action-action-btn{border-color:var(--border-strong);color:var(--text)}.study-action-action-btn.study-action-action-high{border-color:var(--negative)!important;color:var(--negative)!important}.study-action-action-btn.study-action-action-high:hover{background:var(--negative)!important;color:var(--page)!important}.row-actions{display:inline-flex;justify-content:flex-end;gap:8px}.row-actions .btn-success{border-color:var(--positive);color:var(--positive)}.row-actions .btn-success:hover{background:var(--positive);color:var(--page)}.row-actions .btn-failure{border-color:var(--negative);color:var(--negative)}.row-actions .btn-failure:hover{background:var(--negative);color:var(--page)}.study-action-fields{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;text-align:left}.study-action-fields strong{align-self:center;color:var(--text-strong)}.study-action-label-success{color:var(--positive)!important}.study-action-label-needs-work{color:var(--negative)!important}.study-action-fields label{min-width:120px}.study-action-info{display:flex;flex-direction:column;gap:2px;font-size:.72rem;color:var(--muted-strong);white-space:nowrap}.study-action-info strong{font-size:.85rem;color:var(--text)}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;background:#090e0c85;padding:18px}.confirm-dialog{width:min(460px,100%);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:18px;box-shadow:var(--shadow-2)}.confirm-dialog p{margin:14px 0 0;color:var(--muted);font-weight:700}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.dialog-actions button:not(.primary-button){min-height:40px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:9px 14px;font-weight:800}.strategy-empty{grid-column:1 / -1;display:grid;place-items:center;border:1px dashed var(--border-strong);border-radius:var(--radius-sm)}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--border);padding:18px}.toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.info-button{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;min-height:24px;border:0;background:transparent;color:var(--muted-strong);padding:0;line-height:0}.info-button svg{display:block;width:19px;height:19px}.info-popover{position:relative;margin-left:auto}.info-button:hover,.info-button:focus-visible{border-color:var(--accent);color:var(--accent);outline:none}.learning-guidance-help{position:absolute;top:calc(100% + 10px);right:-2px;z-index:15;display:none;width:min(340px,80vw);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-2);padding:12px}.info-popover:hover .learning-guidance-help,.info-popover:focus-within .learning-guidance-help,.learning-guidance-help.open-help{display:block}.learning-guidance-help dl{gap:8px;margin:0}.learning-guidance-help dl div{display:grid;gap:4px;border-top:0;padding-top:0}.learning-guidance-help dt{font-weight:900}.learning-guidance-help dd{color:var(--muted);font-size:.86rem;font-weight:700}.csv-import-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:min(100%,520px)}.csv-import-context{color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.file-action-button{display:inline-grid;position:relative;place-items:center;width:auto;min-height:36px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:7px 12px;font-size:.86rem;font-weight:800;cursor:pointer}.file-action-button:hover{border-color:var(--accent)}.file-action-button input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;background:transparent}.csv-file-name{max-width:170px;overflow:hidden;color:var(--muted-strong);font-size:.84rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.csv-import-actions .primary-button{min-height:36px;padding:7px 12px}.toolbar-messages{display:grid;gap:8px;border-bottom:1px solid var(--border);padding:10px 18px}.toolbar-messages .notice,.toolbar-messages .error{margin:0}.search-input{max-width:320px}.table-frame{overflow-x:auto}.learning-guidance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px}.learning-guidance-card{display:grid;gap:16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-soft);padding:16px}.learning-guidance-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.learning-guidance-card h3{margin:0 0 4px;color:var(--text-strong);font-size:1.05rem;letter-spacing:0}.learning-guidance-card p{margin-bottom:0;color:var(--muted)}.learning-guidance-study-insight{display:grid;gap:8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:10px}.learning-guidance-study-insight div{display:flex;justify-content:space-between;gap:12px}.learning-guidance-study-insight span{color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.learning-guidance-study-insight strong{color:var(--text-strong)}.learning-guidance-study-insight p{margin:0;color:var(--muted-strong);font-size:.88rem}.priority-pill{min-width:68px;border-radius:var(--radius-full);padding:4px 9px;text-align:center;font-size:.76rem;font-weight:800}.priority-normal{background:var(--notice-bg);color:var(--notice-text)}.strategy-note{margin:0;border-top:1px solid var(--border);padding:14px 18px 18px;color:var(--muted);font-weight:700}.learning-guidance-empty{grid-column:1 / -1;display:grid;place-items:center;border:1px dashed var(--border-strong);border-radius:var(--radius-sm)}.study-insight-section{overflow:hidden}.study-insight-message{margin:12px 18px 0}.study-insight-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:18px}.study-insight-metric{display:grid;gap:5px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-soft);padding:12px}.study-insight-metric span{color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.study-insight-metric strong{color:var(--text-strong);font-size:1.05rem}.study-insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0 18px 18px}.study-insight-card{display:grid;gap:14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-soft);padding:16px}.study-insight-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.study-insight-card h3{margin:0 0 4px;color:var(--text-strong)}.study-insight-card p{margin:0;color:var(--muted)}.study-insight-priority{min-width:68px;border-radius:var(--radius-full);padding:4px 9px;text-align:center;font-size:.76rem;font-weight:900}.priority-high{background:var(--error-bg);color:var(--error-text)}.priority-medium{background:#fff2cf;color:#805b00}.priority-low{background:var(--notice-bg);color:var(--notice-text)}.study-insight-factors{display:flex;gap:8px;flex-wrap:wrap}.study-insight-factors span{border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);color:var(--muted-strong);padding:4px 8px;font-size:.78rem;font-weight:800}.study-insight-card-actions{display:flex;justify-content:flex-end}.study-insight-notes{display:grid;gap:6px;border-top:1px solid var(--border);padding:14px 18px 18px}.study-insight-detail-panel{display:grid;gap:16px;border-top:1px solid var(--border);margin-top:18px;padding:18px}.study-insight-subject-picker{min-width:180px}.study-insight-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.study-insight-detail-card{display:grid;gap:10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-soft);padding:16px}.study-insight-detail-card h3{margin:0}.study-insight-detail-highlight{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.study-insight-notes p{margin:0;color:var(--muted);font-weight:700}.study-insight-empty{margin:18px;border:1px dashed var(--border-strong);border-radius:var(--radius-sm);padding:48px 18px}.advisor-backdrop{z-index:120}.advisor-dialog{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(760px,100%);max-height:min(760px,calc(100dvh - 36px));border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);box-shadow:var(--shadow-2);overflow:hidden}.advisor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border);padding:16px 18px}.advisor-header h3{margin:0 0 4px;color:var(--text-strong);font-size:1rem}.advisor-header p{margin:0;color:var(--muted);font-size:.86rem;font-weight:700}.advisor-close{display:inline-grid;place-items:center;width:32px;height:32px;min-height:32px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-weight:900}.advisor-messages{display:flex;flex-direction:column;gap:12px;overflow-y:auto;background:var(--surface-subtle);padding:16px 18px}.advisor-message{display:grid;gap:10px;max-width:min(92%,640px);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px}.advisor-message-assistant{align-self:flex-start;background:var(--surface)}.advisor-message-user{align-self:flex-end;border-color:var(--accent);background:var(--accent);color:var(--page)}.advisor-message-text{white-space:pre-line;font-size:.92rem;font-weight:700}.advisor-card-list{display:grid;gap:8px}.advisor-card{display:grid;gap:6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-soft);padding:10px}.advisor-card strong{color:var(--text-strong);font-size:.86rem}.advisor-card ul{display:grid;gap:5px;margin:0;padding-left:18px;color:var(--muted-strong);font-size:.84rem;font-weight:700}.advisor-followups{display:flex;flex-wrap:wrap;gap:8px}.advisor-followups button{border:1px solid var(--border-strong);border-radius:var(--radius-full);background:var(--surface);color:var(--text);padding:5px 10px;font-size:.78rem;font-weight:800}.advisor-typing{margin:0;color:var(--muted);font-size:.84rem;font-weight:800}.advisor-input{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;border-top:1px solid var(--border);padding:12px 18px}.advisor-input textarea{width:100%;min-height:48px;resize:vertical}table{width:100%;min-width:1040px;border-collapse:collapse}th,td{border-bottom:1px solid var(--border);padding:12px 14px;text-align:right;white-space:nowrap}tbody th{color:var(--text-strong);text-align:left}thead th:first-child,tbody th:first-child{position:sticky;left:0;background:var(--surface);z-index:1}thead th{background:var(--surface-subtle);color:var(--muted-strong);font-size:.78rem;text-transform:uppercase}.sort-button{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;width:100%;min-height:28px;border:0;background:transparent;color:inherit;padding:0;font-weight:800;text-transform:uppercase}thead th:first-child .sort-button{justify-content:flex-start}tbody tr:hover th,tbody tr:hover td{background:var(--hover)}.positive{color:var(--positive)}.negative{color:var(--negative)}.empty-state{height:170px;color:var(--muted);text-align:center}.study-plan-required{display:grid;place-items:center;min-height:220px;border:1px dashed var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);padding:24px;font-weight:800}@media(max-width:980px){.app-shell{padding:18px}.table-toolbar{align-items:flex-start;flex-direction:column}.csv-import-actions{justify-content:flex-start;min-width:0;width:100%}.summary-grid,.workspace,.refresh-page,.refresh-panel,.learning-guidance-grid,.study-insight-grid,.study-insight-summary,.strategy-form-grid,.strategy-list{grid-template-columns:1fr}.notes-field{grid-column:auto}.search-input{max-width:none}}@media(max-width:620px){.app-shell{padding:14px 14px calc(80px + env(safe-area-inset-bottom,0))}.summary-grid{grid-template-columns:1fr 1fr}.header-select{flex:1 1 150px}.theme-menu,.text-size-menu{flex:0 0 auto}.advisor-dialog{width:100%;max-height:calc(100dvh - 20px)}.advisor-message{max-width:100%}.advisor-input{grid-template-columns:1fr}}@media(max-width:860px){.app-sidebar{transform:translate(-100%)}.app-sidebar.open{transform:translate(0)}.app-sidebar-close{display:block}.app-sidebar-toggle{display:inline-flex;align-items:center;justify-content:center}.app-topbar,.app-main{margin-left:0}.app-main{width:100%}}.auth-shell{position:relative;display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:24px}.demo-btn{position:fixed;top:20px;right:20px;z-index:5;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:8px 16px;font-size:.85rem;font-weight:700;box-shadow:var(--shadow-1)}.demo-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.demo-btn:disabled{opacity:.6}.zacian-badge{display:inline-flex;align-items:center;gap:10px;background:#10080f;padding:7px 14px 7px 10px;border-radius:8px;text-decoration:none;line-height:1}.zacian-mark{display:grid;place-items:center;flex-shrink:0;width:24px;height:24px;border:1.5px solid #ff4d67;border-radius:3px;transform:rotate(45deg)}.zacian-mark span{display:inline-block;transform:rotate(-45deg);color:#ff4d67;font:700 12px/1 Inter,sans-serif}.zacian-wordmark{font:700 13px/1 Inter,sans-serif;letter-spacing:.1em;color:#f5f4f7}.zacian-wordmark span{color:#ff4d67}.zacian-badge-mark-only{padding:5px}.auth-zacian-badge{position:absolute;top:24px;left:24px}.app-sidebar-header-row{display:flex;align-items:center;gap:12px}.sidebar-zacian-badge.zacian-badge-mark-only{padding:0;background:none}.sidebar-zacian-badge .zacian-mark{width:38px;height:38px}.sidebar-zacian-badge .zacian-mark span{font-size:18px}.auth-card{width:100%;max-width:400px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:36px 32px 28px;box-shadow:var(--shadow-2)}.auth-card h1{margin-bottom:16px;font-size:1.5rem}.auth-tabs{display:flex;gap:8px;margin-bottom:20px}.auth-tab{flex:1;min-height:34px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--muted-strong);padding:7px 12px;font-weight:800}.auth-tab-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-form label{display:flex;flex-direction:column;gap:6px;font-size:.875rem;font-weight:600;color:var(--text-strong)}.auth-form input{width:100%}.password-input-wrap{position:relative;display:flex;align-items:center}.password-input-wrap input{padding-right:40px}.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;padding:0;cursor:pointer;color:var(--muted);display:flex;align-items:center;line-height:1;transition:color .15s}.password-toggle:hover{color:var(--text-strong)}.auth-form .primary-button{margin-top:4px}.auth-msg{margin:0}.auth-switch{margin:20px 0 0;font-size:.875rem;color:var(--muted);text-align:center}.app-install-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--accent);color:#fff;font-size:.875rem;position:sticky;top:0;z-index:200}.app-install-banner-icon{font-size:1.5rem;flex-shrink:0}.app-install-banner-text{display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.3}.app-install-banner-text strong{font-weight:700}.app-install-banner-text span{opacity:.88;font-size:.78rem}.app-install-banner-btn{flex-shrink:0;background:#fff;color:var(--accent);font-weight:700;font-size:.82rem;padding:6px 14px;border-radius:20px;text-decoration:none;white-space:nowrap}.app-install-banner-btn:hover{opacity:.9}.app-install-banner-dismiss{background:none;border:none;color:#fff;opacity:.7;cursor:pointer;font-size:1rem;padding:4px;flex-shrink:0;line-height:1}.app-install-banner-dismiss:hover{opacity:1}.auth-download{margin:12px 0 0;text-align:center}.auth-download a,.app-download-link{color:var(--accent);font-size:.8rem;font-weight:800;text-decoration:none}.auth-download a:hover,.app-download-link:hover{text-decoration:underline}.link-btn{background:none;border:none;padding:0;color:var(--accent);font-weight:700;font-size:inherit;cursor:pointer;text-decoration:underline}.role-badge{background:var(--accent);color:var(--page);border-radius:var(--radius-sm);padding:1px 6px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.access-panel{border-top:1px solid var(--border);padding-top:14px;margin-top:4px}.access-panel h4{margin:0 0 10px;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-strong)}.access-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:6px}.access-member{display:flex;align-items:center;gap:8px;font-size:.875rem}.access-member-name{flex:1;font-weight:600}.access-role{border-radius:var(--radius-sm);padding:1px 8px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.access-role-owner{background:var(--accent);color:var(--page)}.access-role-editor{background:var(--notice-bg);color:var(--notice-text)}.access-role-viewer{background:var(--surface-subtle);color:var(--muted-strong);border:1px solid var(--border)}.access-revoke{background:none;border:none;padding:2px 6px;font-size:.75rem;color:var(--error-text);cursor:pointer;border-radius:var(--radius-sm)}.access-revoke:hover{background:var(--error-bg)}.access-grant-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.access-grant-form select{flex:1;min-width:120px}.access-grant-form .primary-button{min-height:36px;padding:6px 14px}.access-loading,.access-empty{font-size:.875rem;color:var(--muted);margin:0 0 10px}.admin-shell{display:flex;min-height:100dvh;background:var(--page)}.admin-sidebar{position:fixed;top:0;left:0;bottom:0;width:220px;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--border);z-index:20;overflow-y:auto;transform:translate(0);transition:transform .22s ease}.admin-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:20px 16px 14px;border-bottom:1px solid var(--border)}.admin-sidebar-title{display:block;font-size:1.15rem;font-weight:800;color:var(--text-strong);margin-top:2px}.admin-menu-close{display:none;border:none;background:transparent;color:var(--muted);font-size:1.1rem;padding:4px 8px;border-radius:var(--radius-sm)}.admin-nav-list{list-style:none;margin:10px 0 0;padding:0 8px;flex:1}.admin-nav-btn{display:flex;align-items:center;gap:10px;width:100%;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--muted-strong);padding:9px 10px;font-size:.875rem;font-weight:600;text-align:left;margin-bottom:2px;transition:background .12s,color .12s}.admin-nav-btn:hover{background:var(--hover);color:var(--text)}.admin-nav-btn.active{background:var(--accent-ring);border-color:var(--accent);color:var(--accent)}.admin-nav-icon{font-size:.9rem;opacity:.7}.admin-sidebar-footer{padding:14px 16px;border-top:1px solid var(--border)}.admin-user-name{font-size:.8rem;color:var(--muted);margin:0 0 8px;word-break:break-all}.admin-logout-btn{width:100%;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:transparent;color:var(--text);padding:7px 12px;font-size:.82rem;font-weight:700}.admin-logout-btn:hover{border-color:var(--negative);color:var(--negative)}.admin-main{flex:1;margin-left:220px;display:flex;flex-direction:column;min-height:100dvh}.admin-topbar{display:flex;align-items:center;gap:16px;padding:14px 24px;border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:10}.admin-page-title{flex:1;margin:0;font-size:1rem;font-weight:700;color:var(--text-strong)}.admin-menu-toggle{display:none;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:5px 10px;font-size:1rem}.admin-back-link{font-size:.82rem;color:var(--muted-strong);text-decoration:none;border:1px solid var(--border);border-radius:var(--radius-sm);padding:5px 10px;white-space:nowrap}.admin-back-link:hover{border-color:var(--accent);color:var(--accent)}.admin-content{flex:1;padding:24px}.admin-overlay{display:none;position:fixed;inset:0;background:#0006;z-index:15}.admin-section-body{max-width:1100px}.admin-stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}.admin-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-1);padding:18px 16px;display:flex;flex-direction:column;gap:4px}.admin-stat-alert{border-color:var(--negative);background:var(--error-bg)}.admin-stat-value{font-size:2rem;font-weight:800;color:var(--text-strong);line-height:1}.admin-stat-label{font-size:.78rem;font-weight:700;color:var(--muted-strong);text-transform:uppercase;letter-spacing:.04em}.admin-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-1);overflow:hidden}.admin-card-title{margin:0 0 12px;font-size:.9rem;font-weight:700;color:var(--text-strong);padding:14px 16px 0}.admin-card-list{display:flex;flex-direction:column;gap:8px}.admin-form-card{padding:16px;margin-bottom:16px}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.admin-search{flex:1;min-width:180px;max-width:320px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text);padding:7px 12px;font-size:.875rem}.admin-meta{font-size:.8rem;color:var(--muted)}.admin-table{width:100%;border-collapse:collapse;font-size:.875rem}.admin-table th{padding:10px 16px;text-align:left;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-strong);border-bottom:1px solid var(--border);white-space:nowrap}.admin-table td{padding:10px 16px;border-bottom:1px solid var(--border);vertical-align:middle}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:var(--hover)}.admin-table-compact td,.admin-table-compact th{padding:7px 12px}.admin-help-layout{display:grid;gap:16px}.admin-help-panel{overflow-x:auto}.admin-help-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border-bottom:1px solid var(--border)}.admin-help-header h3{margin:4px 0 0;font-size:1rem}.admin-help-total{flex:0 0 auto;color:var(--accent);font-size:.9rem;font-weight:800}.admin-help-table td{min-width:120px}.admin-help-table td:last-child{min-width:220px}.admin-help-domain-name{display:block;margin-top:2px;color:var(--muted);font-size:.78rem;line-height:1.35}.admin-help-faq{display:grid;gap:10px}.admin-faq-item{padding:0}.admin-faq-item summary{cursor:pointer;padding:14px 16px;font-weight:800}.admin-faq-item p{margin:0;padding:0 16px 16px;color:var(--muted);line-height:1.55}.admin-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px 16px;padding:0}.admin-form-grid label{display:flex;flex-direction:column;gap:5px;font-size:.82rem;font-weight:700;color:var(--muted-strong)}.admin-form-grid input,.admin-form-grid select{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text);padding:8px 10px;font-size:.875rem;width:100%}.admin-form-grid input:focus,.admin-form-grid select:focus{outline:2px solid var(--accent-ring);border-color:var(--accent)}.admin-symbol-picker{min-width:min(100%,320px)}.admin-combobox{position:relative}.admin-suggestions{position:absolute;z-index:20;top:calc(100% + 6px);left:0;right:0;max-height:280px;overflow-y:auto;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-2)}.admin-suggestion{display:grid;grid-template-columns:minmax(72px,auto) 1fr;gap:10px;align-items:center;width:100%;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;color:var(--text);padding:9px 10px;text-align:left;font-size:.82rem}.admin-suggestion:last-child{border-bottom:0}.admin-suggestion:hover,.admin-suggestion:focus{background:var(--hover);outline:none}.admin-suggestion strong{color:var(--text-strong)}.admin-suggestion span,.admin-selected-subject{min-width:0;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.admin-selected-subject{font-size:.76rem;font-weight:600}.admin-checkbox-label{flex-direction:row!important;align-items:center;gap:8px!important;font-size:.875rem!important;color:var(--text)!important}.admin-form-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;grid-column:1 / -1}.admin-form-actions button{min-height:34px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:6px 14px;font-size:.82rem;font-weight:700}.admin-filter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px 14px;padding:14px 16px}.admin-filter-grid label{display:flex;flex-direction:column;gap:4px;font-size:.78rem;font-weight:700;color:var(--muted-strong)}.admin-filter-grid input,.admin-filter-grid select{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text);padding:7px 9px;font-size:.82rem}.admin-row-actions{display:flex;gap:6px;justify-content:flex-end}.admin-row-actions button{min-height:28px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:3px 10px;font-size:.78rem;font-weight:700}.admin-row-actions button:hover{border-color:var(--accent)}.admin-danger-btn{color:var(--negative)!important;border-color:transparent!important}.admin-danger-btn:hover{border-color:var(--negative)!important;background:var(--error-bg)!important}.admin-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-full);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.badge-success{background:var(--notice-bg);color:var(--notice-text)}.badge-failure{background:var(--error-bg);color:var(--error-text)}.badge-admin{background:var(--accent-ring);color:var(--accent)}.badge-user{background:var(--surface-subtle);color:var(--muted-strong)}.admin-expandable-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.admin-expandable-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:14px 16px}.admin-expandable-body{padding:12px 16px 14px;border-top:1px solid var(--border)}.admin-health-row{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 16px;font-size:.875rem}.admin-health-label{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--text-strong)}.admin-health-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.dot-ok{background:var(--positive)}.dot-fail{background:var(--negative)}.dot-unknown{background:var(--muted)}.admin-empty{padding:40px;text-align:center;color:var(--muted);font-size:.875rem}@media(max-width:768px){.admin-sidebar{transform:translate(-100%)}.admin-sidebar.open{transform:translate(0)}.admin-menu-close{display:block}.admin-main{margin-left:0}.admin-menu-toggle,.admin-overlay{display:block}.admin-stat-grid{grid-template-columns:repeat(2,1fr)}.study-insight-detail-grid{grid-template-columns:1fr}}.page-shell{padding:24px 0}.page-header{margin-bottom:24px}.page-header h2{margin:0 0 4px;font-size:1.6rem;color:var(--text-strong)}.page-subtitle{margin:0;color:var(--muted);font-size:.9rem}.page-header-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.notice-banner{background:var(--notice-bg);color:var(--notice-text);padding:12px 16px;border-radius:var(--radius-sm);border-left:3px solid var(--positive);margin-bottom:16px}.error-banner{background:var(--error-bg);color:var(--error-text);padding:12px 16px;border-radius:var(--radius-sm);border-left:3px solid var(--negative);margin-bottom:16px}.primary-btn{background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);padding:9px 18px;font-weight:700;cursor:pointer;transition:opacity .15s,transform .1s}.primary-btn:hover:not(:disabled){opacity:.87}.primary-btn:active:not(:disabled){transform:scale(.98)}.secondary-btn{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:9px 16px;color:var(--text);font-weight:600;cursor:pointer;transition:border-color .12s,background .12s}.secondary-btn:hover{background:var(--hover);border-color:var(--accent)}.danger-btn{background:var(--error-bg);color:var(--error-text);border:none;border-radius:var(--radius-sm);padding:8px 16px;cursor:pointer}.icon-btn{background:none;border:none;cursor:pointer;font-size:1rem;padding:5px 8px;border-radius:var(--radius-sm);transition:background .12s}.icon-btn:hover{background:var(--hover)}.icon-btn.danger:hover{color:var(--error-text)}.page-greeting{margin:0 0 6px;font-family:var(--font-heading);font-size:clamp(1.9rem,3.2vw,2.6rem);font-weight:800;line-height:1.1;letter-spacing:-.02em;color:var(--text-strong)}.page-greeting-sub{margin:0;color:var(--muted);font-size:.98rem}.icon-badge{width:40px;height:40px;min-width:40px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.icon-badge-lg{width:52px;height:52px;min-width:52px;font-size:1.4rem}.icon-badge-blue{background:#3b82f626;color:#3b82f6}.icon-badge-green{background:#10b98126;color:#10b981}.icon-badge-purple{background:#7c3aed26;color:#7c3aed}.icon-badge-orange{background:#f59e0b26;color:#f59e0b}.icon-badge-red{background:#ef444426;color:#ef4444}.icon-badge-teal{background:#14b8a626;color:#14b8a6}.icon-badge-muted{background:var(--surface-subtle);color:var(--muted)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;margin-bottom:28px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-1);padding:16px;display:flex;align-items:center;gap:12px}.stat-card-clickable{cursor:pointer;transition:box-shadow .15s,transform .15s}.stat-card-clickable:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}.stat-body{display:flex;flex-direction:column}.stat-value{font-size:1.4rem;font-weight:700;color:var(--text-strong)}.stat-label{font-size:.75rem;color:var(--muted)}.hero-card{display:flex;align-items:center;gap:20px;background:linear-gradient(135deg,var(--accent-ring),transparent 65%),var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:22px;margin-bottom:20px}.hero-card-thumb{width:92px;height:92px;border-radius:var(--radius-md);background:var(--surface-subtle);display:flex;align-items:center;justify-content:center;font-size:2.4rem;flex-shrink:0}.hero-card-body{flex:1;min-width:0}.hero-card-top-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.hero-card-chip{display:inline-block;padding:3px 10px;border-radius:var(--radius-full);background:var(--accent-ring);color:var(--accent);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.hero-card-link{font-size:.8rem;font-weight:700;color:var(--accent)}.hero-card h3{margin:0 0 4px;font-size:1.25rem}.hero-card-meta{margin:0 0 10px;color:var(--muted);font-size:.85rem}.hero-card-progress-row{display:flex;align-items:center;gap:12px}.hero-card-progress-row .progress-bar-wrap{flex:1}.hero-card-progress-row span{font-size:.78rem;font-weight:700;color:var(--muted);white-space:nowrap}.ring-card{background:var(--button-primary-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:22px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;color:var(--page)}:root[data-theme=alexandria] .ring-card,:root[data-theme=refined-candy] .ring-card{color:#fff}.ring-card h3{margin:0;font-size:1.05rem;color:inherit}.ring-card p{margin:0;font-size:.82rem;opacity:.92}.progress-ring{position:relative;display:inline-flex;align-items:center;justify-content:center}.progress-ring-track{stroke:#ffffff4d}.progress-ring-fill{stroke:currentColor;transition:stroke-dashoffset .6s ease}.progress-ring-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.progress-ring-value{font-size:1.4rem;font-weight:800;line-height:1}.progress-ring-sublabel{font-size:.65rem;opacity:.9;margin-top:2px}.tip-card{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-md);box-shadow:var(--shadow-1);padding:16px 18px}.tip-card-title{display:flex;align-items:center;gap:8px;font-weight:700;font-size:.88rem;margin-bottom:8px;color:var(--text-strong)}.tip-card p{margin:0;font-size:.83rem;color:var(--muted-strong);line-height:1.5}.dashboard-side-col{display:flex;flex-direction:column;gap:16px}.dashboard-hero-row{display:grid;grid-template-columns:2fr 1fr;gap:20px;align-items:stretch;margin-bottom:8px}.dashboard-hero-row .hero-card{margin-bottom:0;height:100%}.section-header{display:flex;align-items:center;justify-content:space-between;margin:24px 0 12px}.section-header h3{margin:0}.subject-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-bottom:28px}.subject-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-1);padding:16px;transition:box-shadow .15s,transform .15s}.subject-card:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}.subject-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.subject-code{font-weight:700;font-size:.85rem;color:var(--accent);font-family:var(--font-mono)}.subject-name{font-size:.9rem;margin-bottom:10px}.subject-card-footer{display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted);margin-top:6px}.progress-bar-wrap{background:var(--border);border-radius:var(--radius-full);height:6px;overflow:hidden}.progress-bar{background:var(--button-primary-bg);height:100%;border-radius:var(--radius-full);transition:width .4s}.path-badge{font-size:.7rem;font-weight:700;padding:2px 7px;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em}.path-badge-cs{background:#dbeafe;color:#1e40af}.path-badge-law{background:#fee2e2;color:#991b1b}.path-badge-finance{background:#dcfce7;color:#166534}.path-badge-medicine{background:#fce7f3;color:#9d174d}.path-badge-arts{background:#fed7aa;color:#9a3412}.path-badge-language{background:#e0e7ff;color:#3730a3}.path-badge-custom,.path-badge-gray{background:var(--surface-subtle);color:var(--muted)}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}.action-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-1);padding:16px;text-align:left;display:flex;align-items:center;gap:12px;cursor:pointer;transition:box-shadow .15s,transform .15s}.action-card:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}.action-body{display:flex;flex-direction:column;gap:2px}.action-label{font-weight:600;font-size:.9rem}.action-desc{font-size:.75rem;color:var(--muted)}.bar-chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:22px}.bar-chart-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.bar-chart-card-header h3{margin:0}.bar-chart-pill{padding:4px 12px;border-radius:var(--radius-full);background:var(--surface-subtle);border:1px solid var(--border);font-size:.75rem;font-weight:700;color:var(--muted-strong)}.bar-chart{display:flex;align-items:flex-end;gap:14px;height:200px;padding-top:10px}.bar-chart-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%}.bar-chart-track{flex:1;width:100%;max-width:34px;display:flex;align-items:flex-end;background:var(--border);border-radius:var(--radius-sm);overflow:hidden}.bar-chart-fill{width:100%;background:var(--button-primary-bg);border-radius:var(--radius-sm);min-height:4px;transition:height .6s cubic-bezier(.2,.7,.3,1)}.bar-chart-label{font-size:.72rem;color:var(--muted);font-weight:600}.milestone-list{display:flex;flex-direction:column;gap:10px}.milestone-card{display:flex;align-items:center;gap:12px;background:var(--surface-subtle);border-radius:var(--radius-md);padding:12px 14px}.milestone-card-locked{opacity:.55}.milestone-card h4{margin:0 0 2px;font-size:.88rem}.milestone-card p{margin:0;font-size:.76rem;color:var(--muted)}.time-by-subject-row{margin-bottom:14px}.time-by-subject-row:last-child{margin-bottom:0}.time-by-subject-head{display:flex;justify-content:space-between;font-size:.85rem;font-weight:600;margin-bottom:6px}.time-by-subject-head span:last-child{color:var(--muted);font-weight:500}.course-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin-bottom:28px}.course-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s}.course-card:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}.course-card-banner{height:84px;display:flex;align-items:center;justify-content:center;font-size:2.6rem;background:linear-gradient(135deg,var(--accent-ring),var(--surface-subtle))}.course-card-body{padding:16px;display:flex;flex-direction:column;gap:4px;flex:1}.course-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.course-card-top .inline-select{font-size:.72rem;padding:2px 6px}.course-card-body h3{margin:2px 0 0;font-size:1.05rem;line-height:1.3}.course-card-code{font-size:.75rem;color:var(--muted);font-family:var(--font-mono);margin-bottom:8px}.course-card-progress-row{display:flex;justify-content:space-between;font-size:.78rem;color:var(--muted);margin:8px 0 6px}.course-card-actions{display:flex;align-items:center;gap:6px;margin-top:14px}.course-card-actions .primary-btn{flex:1}.focus-timer-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:40px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;max-width:560px;margin:0 auto}.focus-timer-status{margin:0;font-size:.9rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.focus-timer-subject-picker select{font-family:var(--font-heading);font-size:1.3rem;font-weight:700;border:none;background:transparent;color:var(--accent);text-align:center;padding:4px}.focus-timer-subject{margin:0;color:var(--accent);font-family:var(--font-heading)}.focus-timer-ring-wrap{margin:28px 0;color:var(--accent)}.focus-timer-ring-wrap .progress-ring-value{font-size:2.6rem;font-family:var(--font-mono)}.focus-timer-ring-wrap .progress-ring-sublabel{font-size:.75rem;letter-spacing:.08em;color:var(--muted)}.focus-timer-controls{display:flex;align-items:center;gap:18px}.focus-timer-btn{width:48px;height:48px;border-radius:var(--radius-full);border:1px solid var(--border-strong);background:var(--surface-subtle);color:var(--text);display:flex;align-items:center;justify-content:center;transition:border-color .15s,transform .15s}.focus-timer-btn:hover{border-color:var(--accent);transform:translateY(-1px)}.focus-timer-btn-primary{width:64px;height:64px;background:var(--button-primary-bg);border:none;color:var(--surface)}.focus-timer-btn-primary:hover{transform:scale(1.05)}.focus-queue-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px;max-width:560px;margin:0 auto}.focus-queue-item{width:100%;display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border);border-left:3px solid transparent;border-radius:var(--radius-md);padding:10px 14px;text-align:left;transition:border-color .15s,background .15s}.focus-queue-item:hover:not(:disabled){border-left-color:var(--accent)}.focus-queue-item-active{border-left-color:var(--accent);background:var(--accent-ring)}.focus-queue-text{display:flex;flex-direction:column;gap:1px;min-width:0}.focus-queue-title{font-weight:700;font-size:.9rem}.focus-queue-sub{font-size:.76rem;color:var(--muted)}.empty-state{text-align:center;padding:48px 24px;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.empty-state-icon{font-size:3rem;display:block;margin-bottom:12px}.empty-state h3{margin:0 0 8px;color:var(--text)}.form-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-1);padding:20px;margin-bottom:24px}.form-card h3{margin:0 0 16px}.form-row{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end}.form-field{display:flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:600;color:var(--muted-strong);min-width:150px}.form-field input,.form-field select,.form-field textarea{background:var(--input-bg);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;color:var(--text);font-size:.9rem;transition:border-color .12s,box-shadow .12s}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.form-actions{display:flex;gap:10px;align-items:center;padding-top:16px}.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-1)}.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table th{text-align:left;padding:12px 16px;border-bottom:1px solid var(--border);color:var(--muted);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:var(--surface-subtle)}.data-table th:first-child{border-top-left-radius:var(--radius-md)}.data-table th:last-child{border-top-right-radius:var(--radius-md)}.data-table td{padding:12px 16px;border-bottom:1px solid var(--border);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--hover)}.inline-select{background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 6px;font-size:.8rem}.progress-cell{display:flex;align-items:center;gap:8px}.progress-cell input[type=range]{width:80px}.action-cell{display:flex;gap:4px}.stats-row{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}.stat-pill{background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius-full);padding:4px 12px;font-size:.8rem}.stat-pill-due{background:#fef3c7;border-color:#fbbf24;color:#92400e}.stat-pill-ok{background:#dcfce7;border-color:#86efac;color:#166534}.review-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:24px;margin-bottom:24px;display:flex;flex-direction:column;align-items:center;gap:16px}.review-progress{font-size:.85rem;color:var(--muted)}.flashcard{background:var(--surface-subtle);border:2px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-1);padding:28px;text-align:center;width:100%;max-width:560px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.flashcard:hover{border-color:var(--accent);box-shadow:var(--shadow-2)}.flashcard-subject{font-size:.75rem;font-weight:700;color:var(--accent);margin-bottom:12px}.flashcard-question{font-size:1.1rem;font-weight:600;margin-bottom:8px}.flashcard-answer{margin-top:16px;padding-top:16px;color:var(--muted-strong)}.flashcard-hint{font-size:.8rem;color:var(--muted);margin:8px 0 0}.quality-buttons{text-align:center}.quality-label{margin:0 0 10px;font-size:.85rem;color:var(--muted)}.quality-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.quality-btn{color:#fff;border:none;border-radius:var(--radius-sm);padding:8px 12px;font-size:.8rem;font-weight:600;cursor:pointer}.flashcard-list-meta{display:flex;gap:8px;align-items:center;font-size:.8rem}.flashcard-list-meta .icon-btn{margin-left:auto}.reps-badge{font-size:.7rem;font-weight:700;color:var(--positive)}.flashcard-layout{display:flex;gap:24px;align-items:flex-start}.flashcard-main-area{flex:1;min-width:0}.flashcard-controls-panel{width:260px;flex-shrink:0;display:flex;flex-direction:column;gap:18px;position:sticky;top:20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:18px}.flashcard-panel-label{margin:0 0 8px;font-size:.72rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.flashcard-panel-section .ai-generate-btn,.flashcard-panel-section .shuffle-btn{width:100%;justify-content:center}@media(max-width:900px){.flashcard-layout{flex-direction:column}.flashcard-controls-panel{width:100%;position:static}}.subject-filter-row{display:flex;gap:6px;flex-wrap:wrap}.subject-filter-count{display:inline-block;margin-left:4px;padding:0 5px;border-radius:var(--radius-full);background:#7f7f7f38;font-size:.72em;font-weight:700}.filter-chip-active .subject-filter-count{background:#ffffff47}.shuffle-btn{white-space:nowrap}.flashcard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}@keyframes flashcard-pop-in{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}.flashcard-grid-item{display:flex;flex-direction:column;gap:8px;animation:flashcard-pop-in .4s cubic-bezier(.2,.7,.3,1) backwards;animation-delay:var(--stagger, 0ms)}.flip-card{height:190px;cursor:pointer;display:flex;flex-direction:column;text-align:left;border:2px solid var(--border);border-top:4px solid var(--card-accent, var(--accent));border-radius:var(--radius-md);box-shadow:var(--shadow-1);background:var(--surface-subtle);padding:18px;overflow-y:auto;transition:border-color .15s,box-shadow .15s,transform .2s ease}.flip-card:hover{border-color:var(--accent);box-shadow:var(--shadow-2);transform:translateY(-4px)}.flip-card-question{margin:0;font-size:.95rem;font-weight:600;line-height:1.4;flex-shrink:0}.flip-card-answer-wrap{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .35s ease,opacity .3s ease}.flip-card-flipped .flip-card-answer-wrap{grid-template-rows:1fr;opacity:1}.flip-card-answer-inner{overflow:hidden;min-height:0}.flip-card-divider{border:none;border-top:1px solid var(--border);margin:10px 0}.flip-card-answer{margin:0;font-size:.9rem;font-weight:500;line-height:1.4;color:var(--muted-strong)}.flip-card .flashcard-hint{margin-top:auto;padding-top:8px;flex-shrink:0}.review-date{color:var(--muted);font-size:.75rem;margin-left:auto}.ai-badge{font-size:.7rem;font-weight:700;padding:2px 7px;border-radius:var(--radius-full);background:var(--accent-ring);color:var(--accent)}.ai-generate-btn{border-color:var(--accent);color:var(--accent);white-space:nowrap;flex-shrink:0}.ai-generate-btn:hover:not(:disabled){background:var(--accent-ring)}.view-mode-switcher{display:inline-flex;flex-wrap:wrap;background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius-full);padding:3px;gap:2px}.flashcard-panel-section .view-mode-switcher{width:100%}.flashcard-panel-section .view-mode-btn{flex:1;text-align:center}.view-mode-btn{border:none;background:transparent;padding:6px 14px;border-radius:var(--radius-full);font-size:.82rem;font-weight:600;color:var(--muted-strong);cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.view-mode-btn-active{background:var(--button-primary-bg);color:var(--surface)}.flashcard-grid-comfortable{grid-template-columns:repeat(auto-fill,minmax(420px,1fr))}.flashcard-grid-comfortable .flip-card{height:260px}.flashcard-grid-comfortable .flip-card-question,.flashcard-grid-comfortable .flip-card-answer{font-size:1.15rem}.slide-mode{display:flex;flex-direction:column;align-items:center;gap:14px;padding:6px 0 30px}.slide-progress-track{width:100%;max-width:640px;height:6px;background:var(--border);border-radius:var(--radius-full);overflow:hidden}.slide-progress-fill{height:100%;background:var(--button-primary-bg);transition:width .3s ease}.slide-counter{font-size:.85rem;font-weight:600;color:var(--muted-strong)}.slide-stage{display:flex;align-items:center;gap:16px;width:100%;max-width:720px;justify-content:center}.slide-nav-btn{flex-shrink:0;width:44px;height:44px;border-radius:var(--radius-full);border:1px solid var(--border-strong);background:var(--surface);font-size:1.4rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,border-color .15s,transform .15s,color .15s;color:var(--text)}.slide-nav-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);transform:scale(1.08)}.slide-nav-btn:disabled{opacity:.35;cursor:not-allowed}@keyframes slide-card-in{0%{opacity:0;transform:translate(14px) scale(.98)}to{opacity:1;transform:none}}.slide-card-wrap{flex:1;display:flex;flex-direction:column;gap:10px;max-width:560px;animation:slide-card-in .35s cubic-bezier(.2,.7,.3,1)}.slide-card-meta{justify-content:center}.slide-card-meta .icon-btn{margin-left:8px}.slide-flip-card{height:320px;width:100%;align-items:center;text-align:center;padding:32px}.slide-flip-card .flip-card-question,.slide-flip-card .flip-card-answer{font-size:1.3rem}.slide-keyboard-hint{font-size:.75rem;color:var(--muted)}.difficulty-badge{font-size:.7rem;font-weight:700;padding:2px 7px;border-radius:var(--radius-full)}.difficulty-easy{background:#dcfce7;color:#166534}.difficulty-medium{background:#fef3c7;color:#92400e}.difficulty-hard{background:#fee2e2;color:#991b1b}.filter-row{margin-bottom:16px}.filter-row input{width:100%;max-width:340px;background:var(--input-bg);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px}.path-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:24px}.path-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-1);padding:16px;cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;flex-direction:column;gap:6px}.path-card:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}.path-card-active{border-color:var(--accent)}.path-card-icon{font-size:1.5rem}.path-card-name{font-weight:700;font-size:.95rem}.path-card-desc{font-size:.72rem;color:var(--muted)}.filter-bar{display:flex;gap:12px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.search-input{flex:1;min-width:200px;background:var(--input-bg);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;font:inherit}.filter-chips{display:flex;gap:6px;flex-wrap:wrap}.filter-chip{background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius-full);padding:4px 12px;font-size:.8rem;cursor:pointer}.filter-chip-active{background:var(--accent);color:#fff;border-color:var(--accent)}.subject-catalogue{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.catalogue-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:18px;display:flex;flex-direction:column;gap:10px;transition:box-shadow .15s,transform .15s}.catalogue-card:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}.catalogue-card-header{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.catalogue-name{margin:0;font-size:1rem}.catalogue-desc{margin:0;font-size:.85rem;color:var(--muted)}.catalogue-card-footer{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:auto;padding-top:8px;border-top:1px solid var(--border)}.catalogue-hours{font-size:.78rem;color:var(--muted)}.catalogue-tags{font-size:.72rem;color:var(--muted);flex:1}.catalogue-enroll-action{display:grid;justify-items:end;gap:5px;margin-left:auto}.catalogue-enroll-btn{padding:6px 14px;font-size:.82rem}.catalogue-enroll-error{max-width:230px;color:var(--error-text);font-size:.75rem;font-weight:700;line-height:1.3;text-align:right}.goals-list{display:flex;flex-direction:column;gap:12px}.goal-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-1);padding:16px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:8px}.goal-card-inactive{opacity:.6}.goal-card-header{display:flex;align-items:center;gap:10px}.goal-card-body{display:flex;gap:16px;font-size:.85rem;color:var(--muted);flex-wrap:wrap}.goal-card-actions{grid-column:2;grid-row:1 / 3;display:flex;flex-direction:column;gap:6px;align-items:flex-end}.goal-status{font-size:.72rem;font-weight:700;padding:2px 7px;border-radius:var(--radius-full)}.goal-active{background:#dcfce7;color:#166534}.goal-inactive{background:var(--surface-subtle);color:var(--muted)}.method-badge{font-size:.72rem;padding:2px 7px;border-radius:var(--radius-full);background:var(--surface-subtle);color:var(--muted)}.method-desc{font-size:.8rem;color:var(--muted);margin:8px 0 0;font-style:italic}.urgent{color:var(--negative);font-weight:600}.time-breakdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-1);padding:16px;margin-bottom:20px}.time-breakdown h3{margin:0 0 14px;font-size:.9rem;color:var(--muted)}.time-row{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:.85rem}.time-row-code{font-weight:700;font-family:monospace;min-width:70px;color:var(--accent)}.time-bar-wrap{flex:1;background:var(--border);border-radius:var(--radius-full);height:8px;overflow:hidden}.time-bar{background:var(--accent);height:100%;border-radius:var(--radius-full)}.time-row-value{min-width:60px;text-align:right;color:var(--muted)}.sessions-list{display:flex;flex-direction:column;gap:8px}.session-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-1);padding:12px 16px;display:flex;align-items:center;gap:12px}.session-type-icon{font-size:1.2rem;flex-shrink:0}.session-body{flex:1;display:flex;flex-direction:column;gap:2px}.session-code{font-weight:700;font-size:.85rem;font-family:monospace;color:var(--accent)}.session-type{font-size:.78rem;color:var(--muted)}.session-notes{font-size:.8rem;color:var(--muted-strong)}.session-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:.8rem;color:var(--muted)}.session-duration{font-weight:700}.achievement-progress-wrap{background:var(--border);border-radius:var(--radius-full);height:10px;overflow:hidden;margin-bottom:8px;position:relative}.achievement-progress-bar{background:var(--accent);height:100%;border-radius:var(--radius-full);transition:width .6s}.achievement-progress-label{font-size:.8rem;color:var(--muted);margin-bottom:20px;display:block}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.achievement-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-1);padding:16px;display:flex;gap:14px;align-items:flex-start;transition:box-shadow .15s}.achievement-card.achievement-earned{box-shadow:var(--shadow-2)}.achievement-earned{border-color:var(--accent)}.achievement-locked{opacity:.5}.achievement-icon{font-size:2rem;flex-shrink:0}.achievement-body{display:flex;flex-direction:column;gap:4px}.achievement-title{font-weight:700}.achievement-desc{font-size:.82rem;color:var(--muted)}.achievement-date{font-size:.75rem;color:var(--accent)}.achievement-locked-label{font-size:.75rem;color:var(--muted)}.career-layout,.mentor-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);gap:16px}.career-panel,.career-side-panel,.mentor-panel{border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-1);background:var(--surface);padding:18px}.career-filter-grid,.mentor-profile-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.career-job-list,.mentor-profile-list,.mentor-connection-list,.mentor-feedback-list{display:grid;gap:12px}.career-job-card{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:16px;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-1);background:var(--surface-soft);padding:16px}.career-company,.career-skills,.mentor-profile-card span{color:var(--muted);font-size:.8rem;font-weight:700}.career-job-card h3,.mentor-profile-card h4{margin:4px 0 6px}.career-tags{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.career-tags span,.mentor-connection-row strong{border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface-subtle);color:var(--muted-strong);padding:3px 8px;font-size:.74rem;font-weight:800}.decision-badge{display:grid;align-content:start;gap:3px;border-left:1px solid var(--border);padding-left:16px}.readiness-score{color:var(--accent);font-size:1.45rem;font-weight:900}.readiness-label{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.mentor-profile-card p,.mentor-feedback-list p{color:var(--muted);font-size:.84rem}.decision-label{font-size:.82rem;font-weight:800}.decision-apply-today .decision-label,.decision-apply .decision-label{color:var(--positive)}.decision-investigate .decision-label{color:var(--accent-tertiary)}.decision-save .decision-label{color:var(--accent)}.decision-skip .decision-label{color:var(--negative)}.match-breakdown{display:grid;gap:6px;margin:10px 0}.match-bar{display:grid;grid-template-columns:70px 1fr 34px;align-items:center;gap:8px;font-size:.74rem;color:var(--muted)}.match-bar-track{height:6px;border-radius:var(--radius-full);background:var(--surface-subtle);overflow:hidden}.match-bar-fill{height:100%;background:var(--accent);border-radius:var(--radius-full)}.match-bar-value{text-align:right;font-weight:700}.career-skills-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.skill-chip{border:1px solid var(--border);border-radius:var(--radius-full);background:var(--notice-bg);color:var(--notice-text);padding:3px 9px;font-size:.72rem;font-weight:700}.skill-chip-missing{background:var(--surface-subtle);color:var(--muted-strong)}.match-reasons{margin:8px 0 0;padding-left:18px;color:var(--muted);font-size:.8rem;display:grid;gap:3px}.career-source-link{display:inline-block;margin-top:10px;color:var(--accent);font-weight:700;font-size:.82rem}.career-digest-strip{display:flex;gap:24px;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-1);background:var(--surface);padding:14px 18px;margin-bottom:16px}.digest-stat{display:flex;align-items:baseline;gap:6px}.digest-stat strong{font-size:1.3rem;color:var(--accent)}.digest-stat span{color:var(--muted);font-size:.8rem;font-weight:600}.career-profile-panel,.digital-twin-panel,.skill-roi-panel{border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-1);background:var(--surface);padding:18px;margin-bottom:16px}.career-profile-form{display:grid;gap:10px;margin:12px 0}.form-field-checkbox{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;color:var(--muted-strong)}.twin-skill-list{display:grid;gap:12px;margin:12px 0 0;padding:0;list-style:none}.twin-skill-row{display:grid;gap:4px}.twin-skill-head{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;font-weight:700}.twin-level-badge{border-radius:var(--radius-full);padding:2px 8px;font-size:.7rem;font-weight:800;text-transform:uppercase}.twin-level-expert{background:var(--notice-bg);color:var(--notice-text)}.twin-level-strong{background:var(--surface-subtle);color:var(--accent)}.twin-level-medium{background:var(--surface-subtle);color:var(--accent-tertiary)}.twin-level-beginner{background:var(--surface-subtle);color:var(--muted)}.twin-evidence{color:var(--muted);font-size:.74rem}.skill-roi-panel ul{list-style:none;margin:12px 0 0;padding:0}.skill-roi-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--border)}.skill-roi-row:first-of-type{border-top:none}.skill-roi-delta{margin-left:8px;color:var(--positive);font-weight:800;font-size:.8rem}.mentor-layout{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}.mentor-profile-form{grid-template-columns:repeat(2,minmax(0,1fr))}.mentor-profile-form label:nth-child(3),.mentor-profile-form button{grid-column:span 2}.mentor-profile-card,.mentor-connection-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-1);background:var(--surface-soft);padding:12px}.mentor-request-note{min-height:70px;margin:10px 0 12px}.mentor-workspace{margin-top:16px}.mentor-workspace-header,.mentor-message-form{display:flex;align-items:center;gap:12px;margin-bottom:14px}.mentor-workspace-header h3{margin:0;flex:1}.mentor-thread-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.48fr);gap:16px}.mentor-messages{display:grid;gap:8px;min-height:180px;max-height:360px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-subtle);padding:12px}.mentor-message{justify-self:start;max-width:76%;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:8px 10px;color:var(--text);font-size:.88rem}.mentor-message.mine{justify-self:end;border-color:var(--accent)}.mentor-feedback form{display:grid;gap:8px}.mentor-feedback-list article{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);padding:10px}@media(max-width:920px){.career-layout,.mentor-layout,.mentor-thread-grid{grid-template-columns:1fr}.career-filter-grid,.mentor-profile-form{grid-template-columns:1fr 1fr}}@media(max-width:620px){.career-job-card,.career-filter-grid,.mentor-profile-form,.mentor-profile-card,.mentor-connection-row,.mentor-workspace-header,.mentor-message-form{grid-template-columns:1fr;flex-direction:column;align-items:stretch}.decision-badge{border-left:0;border-top:1px solid var(--border);padding:12px 0 0}.mentor-profile-form label:nth-child(3),.mentor-profile-form button{grid-column:auto}}.suggested-questions{margin-bottom:24px}.suggested-questions h3{margin:0 0 12px;color:var(--muted);font-size:.95rem;font-weight:400}.question-chips{display:flex;flex-wrap:wrap;gap:8px}.question-chip{background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text);padding:6px 14px;font-size:.82rem;cursor:pointer;transition:background .15s,border-color .15s,color .15s;text-align:left}.question-chip:hover,.question-chip:focus-visible{background:var(--hover);border-color:var(--accent);color:var(--text-strong);outline:none}.chat-history{display:flex;flex-direction:column;gap:14px;margin-bottom:16px;max-height:480px;overflow-y:auto;padding-right:4px}.chat-message{display:flex;gap:12px;align-items:flex-start}.chat-role{font-size:1.2rem;flex-shrink:0;margin-top:2px}.chat-content{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 14px;font-size:.9rem;line-height:1.6;flex:1;white-space:pre-wrap}.chat-message-user .chat-content{background:var(--surface-subtle)}.chat-typing{color:var(--muted);font-style:italic}.chat-input-form{display:flex;gap:10px;align-items:flex-end}.chat-input{flex:1;background:var(--input-bg);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:10px 14px;font:inherit;font-size:.9rem}.chat-input::placeholder{color:var(--muted);opacity:1}.chat-input:focus{outline:none;border-color:var(--accent)}.management-list{display:flex;flex-direction:column;gap:12px}.management-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.management-card-header{display:flex;gap:10px;align-items:flex-start;flex:1}.management-card-desc{margin:4px 0 0;font-size:.85rem;color:var(--muted)}.management-card-actions{display:flex;gap:8px;flex-shrink:0}.modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-card{background:var(--surface);border-radius:var(--radius-lg);padding:24px;width:min(480px,90vw);display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow-2),0 20px 60px #00000040}.modal-card h3{margin:0}.modal-actions{display:flex;gap:10px}.study-source-viewer{background:var(--surface);border-radius:var(--radius-lg);width:min(960px,95vw);height:min(85vh,900px);display:flex;flex-direction:column;box-shadow:var(--shadow-2),0 20px 60px #00000040;overflow:hidden}.study-source-viewer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border)}.study-source-viewer-head h3{margin:0;font-size:1rem}.study-source-viewer-body{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--surface) 85%,black)}.study-source-viewer-body iframe{width:100%;height:100%;border:0}.study-source-viewer-body img{max-width:100%;max-height:100%;object-fit:contain}.study-source-section-title{margin:28px 0 12px;font-size:1rem}.study-source-section-title:first-child{margin-top:0}.admin-path-group{margin-bottom:24px}.admin-path-header{margin:0 0 10px;font-size:.9rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 0;border-bottom:2px solid var(--border)}.admin-subject-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.admin-subject-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;display:flex;align-items:center;gap:8px;font-size:.82rem}.admin-subject-name{flex:1}.admin-subject-hours{color:var(--muted);font-size:.75rem;white-space:nowrap}.muted-text{color:var(--muted);font-size:.9rem;padding:16px 0}.course-shell{display:flex;min-height:100dvh;background:var(--page)}.course-sidebar{position:fixed;top:0;left:0;bottom:0;width:280px;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--border);z-index:20;overflow-y:auto}.course-sidebar-header{padding:18px 18px 16px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:10px}.course-back-btn{display:inline-flex;align-items:center;gap:6px;width:fit-content;color:var(--muted-strong);font-size:.82rem;font-weight:600;padding:4px 0}.course-back-btn:hover{color:var(--accent)}.course-sidebar-title{font-size:1.05rem;font-weight:800;color:var(--text-strong)}.course-progress-bar{height:6px;border-radius:var(--radius-full);background:var(--border);overflow:hidden}.course-progress-fill{height:100%;background:var(--accent);border-radius:var(--radius-full);transition:width .25s ease}.course-progress-label{font-size:.75rem;color:var(--muted);font-weight:600}.course-lesson-list{list-style:none;margin:8px 0 0;padding:6px 10px;flex:1}.course-lesson-btn{display:flex;align-items:flex-start;gap:10px;width:100%;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;padding:10px;text-align:left;margin-bottom:2px;transition:background .12s,border-color .12s}.course-lesson-btn:hover:not(:disabled){background:var(--hover)}.course-lesson-btn.course-lesson-active{background:var(--accent-ring);border-color:var(--accent)}.course-lesson-btn.course-lesson-locked{opacity:.55;cursor:not-allowed}.course-lesson-icon{color:var(--muted);margin-top:1px;flex-shrink:0}.course-lesson-active .course-lesson-icon,.course-lesson-btn:not(.course-lesson-locked) .course-lesson-icon{color:var(--accent)}.course-lesson-text{display:flex;flex-direction:column;gap:2px;min-width:0}.course-lesson-title{font-size:.85rem;font-weight:700;color:var(--text)}.course-lesson-summary{font-size:.72rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.lessons-subject-picker{max-width:440px;margin-bottom:20px}.lessons-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:22px}.lessons-panel-header h3{margin:0 0 10px}.lessons-chapter-list{list-style:none;margin:16px 0 0;padding:0}.lessons-chapter-list .course-lesson-btn{border:1px solid var(--border);padding:14px;margin-bottom:8px;align-items:center}.lessons-chapter-list .course-lesson-btn:hover:not(:disabled){border-color:var(--accent)}.lessons-chapter-minutes{flex-shrink:0;font-size:.75rem;color:var(--muted);white-space:nowrap}.course-main{flex:1;margin-left:280px;max-width:min(1200px,100%);padding:40px 48px 60px}.course-content-header{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:24px;border-bottom:1px solid var(--border);padding-bottom:16px}.course-content-header h2{margin:0;font-size:1.6rem;color:var(--text-strong)}.course-content-header-controls{display:flex;align-items:center;gap:12px;flex-shrink:0}.course-lesson-minutes{font-size:.8rem;color:var(--muted);font-weight:600;white-space:nowrap}.course-tab-strip{display:flex;gap:6px;margin-bottom:24px;flex-wrap:wrap}.course-tab{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--muted-strong);padding:7px 13px;font-size:.82rem;font-weight:700}.course-tab:hover{border-color:var(--accent);color:var(--text)}.course-tab-active{border-color:var(--accent);background:var(--accent-ring);color:var(--accent)}.course-content-body{display:flex;flex-direction:column;gap:16px;font-size:1rem;line-height:1.7}.quiz-panel{display:flex;flex-direction:column;gap:16px}.quiz-question-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-1);padding:18px 20px}.quiz-question-text{margin:0 0 12px;font-weight:700;color:var(--text-strong)}.quiz-options{display:flex;flex-direction:column;gap:8px}.quiz-option{text-align:left;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-subtle);color:var(--text);padding:9px 12px;font-size:.9rem}.quiz-option:hover:not(:disabled){border-color:var(--accent)}.quiz-option:disabled{cursor:default}.quiz-option-correct{border-color:var(--positive);background:var(--notice-bg);color:var(--notice-text);font-weight:700}.quiz-option-wrong{border-color:var(--negative);background:var(--error-bg);color:var(--error-text)}.quiz-explanation{margin:12px 0 0;padding-top:12px;border-top:1px solid var(--border);font-size:.85rem;color:var(--muted-strong)}.challenge-panel{display:flex;flex-direction:column;gap:14px}.challenge-header{display:flex;align-items:center;gap:12px}.challenge-header h3{margin:0;color:var(--text-strong)}.challenge-solution{background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 18px;display:flex;flex-direction:column;gap:12px}.lesson-block-heading{font-size:1.15rem;font-weight:800;color:var(--text-strong);margin:8px 0 0}.lesson-block-paragraph{margin:0;color:var(--text);white-space:pre-line}.lesson-block-list{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:6px}.lesson-block-code{background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 16px;overflow-x:auto;font-size:.85rem;font-family:ui-monospace,SF Mono,Consolas,monospace;white-space:pre}.lesson-block-callout{border-radius:var(--radius-md);padding:14px 16px;font-size:.92rem;border:1px solid var(--border)}.lesson-callout-note{background:var(--notice-bg);color:var(--notice-text);border-color:transparent}.lesson-callout-warning{background:var(--error-bg);color:var(--error-text);border-color:transparent}.lesson-block-link{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent-ring);color:var(--accent);padding:9px 16px;font-size:.9rem;font-weight:700;text-decoration:none}.lesson-block-link:hover{background:var(--accent);color:var(--surface)}.lesson-block-diagram{margin:4px 0;padding:16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-subtle);text-align:center}.lesson-block-diagram-svg{display:flex;justify-content:center;overflow-x:auto}.lesson-block-diagram-svg svg{max-width:100%;height:auto}.lesson-block-diagram figcaption{margin-top:10px;font-size:.8rem;color:var(--muted);font-style:italic}.course-content-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:32px;padding-top:20px;border-top:1px solid var(--border)}.course-content-footer .secondary-btn{display:inline-flex;align-items:center;gap:6px}.lesson-ai-notes{margin-top:20px;padding:18px 20px;border:1px dashed var(--accent);border-radius:var(--radius-md);background:var(--accent-ring);display:flex;flex-direction:column;gap:14px}.lesson-ai-notes-header{display:flex;align-items:center;gap:7px;font-weight:800;color:var(--accent);font-size:.95rem}.lesson-ai-notes-sub{margin:-8px 0 0;font-size:.78rem;color:var(--muted-strong)}.lesson-ai-notes .lesson-block-heading:first-of-type{margin-top:0}.lesson-coach-widget{position:fixed;right:24px;bottom:24px;z-index:500;display:flex;flex-direction:column;align-items:flex-end;gap:12px}.lesson-coach-fab{width:52px;height:52px;border-radius:50%;border:none;background:var(--accent);color:var(--surface);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-2);flex-shrink:0}.lesson-coach-fab:hover{filter:brightness(1.08)}.lesson-coach-panel{width:min(360px,calc(100vw - 48px));max-height:min(520px,calc(100vh - 140px));display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);overflow:hidden}.lesson-coach-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border);font-weight:800;color:var(--text-strong)}.lesson-coach-header span{display:inline-flex;align-items:center;gap:7px}.lesson-coach-messages{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;min-height:160px}.lesson-coach-empty{margin:0;font-size:.85rem;color:var(--muted-strong);line-height:1.6}.lesson-coach-bubble{max-width:88%;padding:9px 12px;border-radius:var(--radius-md);font-size:.88rem;line-height:1.5;white-space:pre-line}.lesson-coach-bubble-user{align-self:flex-end;background:var(--accent);color:var(--surface)}.lesson-coach-bubble-assistant{align-self:flex-start;background:var(--surface-subtle);color:var(--text);border:1px solid var(--border)}.lesson-coach-typing{font-style:italic;color:var(--muted)}.lesson-coach-error{align-self:stretch;background:var(--error-bg);color:var(--error-text);border-radius:var(--radius-sm);padding:8px 11px;font-size:.8rem}.lesson-coach-saved-tag{margin-top:8px;display:flex;align-items:center;gap:5px;font-size:.72rem;font-weight:700;color:var(--accent)}.lesson-coach-save-btn{margin-top:8px;display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:transparent;color:var(--muted-strong);padding:4px 9px;font-size:.72rem;font-weight:700}.lesson-coach-save-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.lesson-coach-save-btn:disabled{opacity:.6}.lesson-coach-input-row{display:flex;align-items:center;gap:8px;padding:10px;border-top:1px solid var(--border)}.lesson-coach-input-row input{flex:1;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-subtle);color:var(--text);padding:9px 12px;font-size:.85rem}.lesson-coach-input-row .icon-btn{background:var(--accent);color:var(--surface);border-radius:var(--radius-sm);padding:9px}.lesson-coach-input-row .icon-btn:disabled{opacity:.5}@media(max-width:640px){.lesson-coach-widget{right:14px;bottom:14px}.lesson-coach-panel{width:calc(100vw - 28px)}}@media(max-width:860px){.course-sidebar{width:240px}.course-main{margin-left:240px;padding:24px 18px 40px}}@media(max-width:640px){.course-shell{flex-direction:column}.course-sidebar{position:static;width:100%;height:auto;max-height:260px}.course-main{margin-left:0}}:root[data-theme=alexandria] .stat-card,:root[data-theme=alexandria] .catalogue-card,:root[data-theme=alexandria] .achievement-card,:root[data-theme=alexandria] .management-card,:root[data-theme=alexandria] .flip-card,:root[data-theme=alexandria] .table-wrap,:root[data-theme=refined-candy] .stat-card,:root[data-theme=refined-candy] .catalogue-card,:root[data-theme=refined-candy] .achievement-card,:root[data-theme=refined-candy] .management-card,:root[data-theme=refined-candy] .flip-card,:root[data-theme=refined-candy] .table-wrap{border:none;box-shadow:var(--shadow-1)}:root[data-theme=alexandria] .course-sidebar-title,:root[data-theme=alexandria] .lesson-block-heading,:root[data-theme=alexandria] .catalogue-name,:root[data-theme=alexandria] .app-sidebar-title{font-family:var(--font-heading)}:root[data-theme=onyx] .primary-button:hover:not(:disabled){box-shadow:var(--shadow-1),0 0 20px #f0c85a40}:root[data-theme=onyx] .achievement-card.achievement-earned{box-shadow:var(--shadow-2),0 0 0 1px #f0c85a33}:root[data-theme=onyx] .course-lesson-btn.course-lesson-active{box-shadow:0 0 0 1px #f0c85a26}:root[data-theme=kinetic] .lesson-block-callout,:root[data-theme=kinetic] .chat-content,:root[data-theme=kinetic] .flip-card,:root[data-theme=kinetic] .stat-card{background:#38bdf80d;border:1px solid transparent;border-image:linear-gradient(135deg,#7bd0ff59,#7bd0ff00) 1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}:root[data-theme=kinetic] .lesson-callout-note{background:#2dd4bf1a}:root[data-theme=kinetic] .lesson-callout-warning{background:#fb71851a}.stat-value,.course-progress-label,.flashcard-subject{font-family:var(--font-mono)}.primary-button:not(:disabled):hover{filter:brightness(1.04)}.workspace-intro{padding:28px;margin-bottom:24px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.workspace-intro h2{margin:6px 0 12px;font-size:clamp(1.6rem,3vw,2.3rem)}.workspace-intro>p:last-child{max-width:65ch;color:var(--muted-strong);margin-bottom:0}.workspace-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;margin:16px 0 24px}.workspace-action{display:flex;flex-direction:column;gap:12px;padding:22px;text-align:left;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.workspace-action:hover{border-color:var(--accent);background:var(--hover)}.workspace-action:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.workspace-action strong{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;font-size:1rem}.workspace-action svg{flex-shrink:0;color:var(--accent)}.workspace-action>span{color:var(--muted-strong);font-size:.9rem;line-height:1.6}.workspace-more button{margin:0 8px 8px 0;padding:9px 14px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);background:var(--surface)}.workspace-more button:hover{background:var(--hover);border-color:var(--accent)}.workspace-nav-more{margin-top:16px;border-top:1px solid var(--border);padding-top:12px}.workspace-nav-more summary{padding:8px 10px;cursor:pointer;color:var(--muted-strong);font-size:.82rem;font-weight:600}.workspace-topbar-title{color:var(--muted-strong);font-size:.9rem;margin-right:auto;font-weight:600}.app-topbar .topbar-controls{width:100%}.mentor-layout.mentor-layout-focused{grid-template-columns:minmax(0,1fr)}.workspace-sidebar-overlay{display:none}@media(max-width:860px){.workspace-sidebar-overlay{display:block;position:fixed;inset:0;z-index:25;border:0;border-radius:0;background:#0006}.workspace-intro{padding:20px}.workspace-topbar-title{width:100%}}.app-topbar .role-switcher select{max-width:100%}
