/* LearnAhead / paper & plum. Loaded last to unify the existing feature modules. */
:root{color-scheme:light;--paper:#f7f6f2;--surface:#fff;--text:#292733;--quiet:#74717e;--edge:#e7e4ed;--accent:#7050b0;--wash:#f0eafa}
body{background:var(--paper);color:var(--text);margin:0;font-family:Inter,"Segoe UI",sans-serif}
#lh{--ink:var(--text);--muted:var(--quiet);--line:var(--edge);--bg:var(--paper);--aqua:var(--accent);background:var(--paper);color:var(--text);font-family:Inter,"Segoe UI",sans-serif}
button,input,textarea,select{font:inherit}button,a,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #a58bcc!important;outline-offset:3px} [hidden]{display:none!important}
.lh-app-header{background:#fffffff2;border-bottom:1px solid var(--edge);backdrop-filter:blur(16px)}
.lh-header-inner{max-width:1440px;height:82px;padding:0 40px;gap:28px}.lh-brand{gap:11px;font-size:23px;letter-spacing:-1px;color:var(--text);font-weight:750}.lh-brand-logo{width:160px;height:40px;object-fit:contain;mix-blend-mode:normal;filter:none;background:#172333;border-radius:9px;padding:3px 8px}.lh-nav{background:transparent;border:0;gap:5px;padding:0;border-radius:0}.lh-nav button{color:#77717f;font-size:13px;padding:13px 17px;border-radius:11px;font-weight:600;display:flex;align-items:center;gap:8px}.lh-nav button.active{background:var(--wash);color:#674399;box-shadow:none}.lh-nav button:hover:not(.active){background:#f6f3f9;color:var(--accent)}.lh-nav svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.7}.lh-user{color:var(--quiet)}.lh-avatar{background:#eee7db;color:#716149;border:3px solid white;box-shadow:0 0 0 1px #e6dfd1;width:36px;height:36px}
.lh-main{max-width:1360px;padding:0 40px 48px}.student-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:34px 0 24px}.student-heading h1{font-size:32px;letter-spacing:-1.2px;line-height:1.15;margin:0;font-weight:650}.student-heading .student-date{font-size:12px;color:var(--quiet);display:flex;align-items:center;gap:8px}.student-date:before{content:'';width:6px;height:6px;background:#7a9b76;border-radius:50%}.student-heading p{margin:6px 0 0;color:var(--quiet);font-size:13px}.lh-page>.lh-head{margin:0 0 20px;gap:10px}.lh-primary,#lh-calendar .lh-calhead #lh-new{background:var(--accent);color:white;border:1px solid var(--accent);box-shadow:0 3px 7px #7050b019;border-radius:10px;font-size:13px;font-weight:600;padding:11px 17px;min-height:42px}.lh-primary:hover,#lh-calendar .lh-calhead #lh-new:hover{background:#5d3e99;border-color:#5d3e99;box-shadow:0 5px 14px #7050b025}.lh-secondary{background:white;border:1px solid var(--edge);color:#595360;border-radius:10px;min-height:38px;font-size:12px;padding:9px 13px;box-shadow:none}.lh-secondary:hover{background:#f5f1fa;border-color:#d0bedf}.lh-import-badge{background:var(--wash);color:#765796;border:0;font-size:10px;letter-spacing:0;padding:6px 9px;border-radius:6px}.lh-calendar-note,.lh-mobile-calendar-hint{color:var(--quiet);font-size:11px}.lh-calendar-note:empty,[role=status]:empty{display:none}.lh-eyebrow{color:var(--accent)}
/* Calendar is one quiet, continuous sheet. */
#lh-calendar{padding-top:0}.lh-calendar{background:white;border:1px solid var(--edge);border-radius:18px;box-shadow:0 5px 24px #33244504;padding:22px;overflow:visible}#lh-calendar .lh-calhead{margin:0 0 17px;gap:16px}.lh-month-controls{gap:8px;flex-wrap:wrap}.lh-calhead h2{font-size:17px;color:var(--text);font-weight:650;letter-spacing:-.3px}.lh-calhead #calendar-prev,.lh-calhead #calendar-next{width:32px;height:32px;background:#f7f5fa;border:1px solid var(--edge);color:#62546e;border-radius:8px;font-size:23px}.lh-calhead #calendar-today{height:auto;min-height:32px;color:var(--accent);background:var(--wash);border:0;font-size:11px}.lh-course-filter select{border:1px solid var(--edge);background:white;color:#62596c;max-width:170px;min-height:42px;padding:9px 12px;border-radius:10px;font-size:12px}.lh-calendar-legend{color:#736c7d;border:0;gap:10px 19px;font-size:11px;padding:0 0 20px}.lh-calendar-legend i{height:7px;width:7px}.student-calendar-scroll{overflow-x:auto;border:1px solid var(--edge);border-radius:11px}.lh-calendar .lh-week{background:#faf9fc;color:#8b8493;border:0;border-bottom:1px solid var(--edge);padding:13px 0;font-size:10px;letter-spacing:1px}.lh-calendar .lh-days{padding:0;gap:0;grid-auto-rows:minmax(148px,auto)}.lh-calendar .lh-day{background:white;border-right:1px solid var(--edge);border-bottom:1px solid var(--edge);border-radius:0;padding:12px 9px;min-height:148px}.lh-calendar .lh-day:nth-child(7n){border-right:0}.lh-calendar .lh-day:nth-child(n+8){border-bottom:0}.lh-calendar .lh-day:nth-child(7n),.lh-calendar .lh-day:nth-child(7n-1){background:#fcfbfd}.lh-calendar .lh-day.today{background:#f5f0fb}.lh-day>b{color:#7a7383;font-size:12px;font-weight:500;margin:0 0 12px}.lh-day.today>b{color:#6d459c;font-weight:700}.lh-day .lh-event{padding:7px 8px!important;border-radius:5px;box-shadow:none;margin:5px 0;line-height:1.45;font-size:11px}.lh-day .lh-event strong{font-weight:600}.lh-day .lh-event small{font-size:10px}.lh-day .lh-event:hover{filter:brightness(.97);transform:translateX(2px)}
.lh-day .lh-event[data-category=work]{background:#fce8e8!important;color:#963737!important;border-left-color:#dc2626!important}.lh-day .lh-event[data-category=on-campus]{background:#fff0df!important;color:#934713!important;border-left-color:#ea580c!important}.lh-day .lh-event[data-category=birthdays]{background:#fff6cd!important;color:#80651a!important;border-left-color:#eab308!important}.lh-day .lh-event[data-category=gym]{background:#e4f3e7!important;color:#306540!important;border-left-color:#16a34a!important}.lh-day .lh-event[data-category=school]{background:#e9effc!important;color:#3a5790!important;border-left-color:#2563eb!important}.lh-day .lh-event[data-category=holidays]{background:#f1e8fa!important;color:#79429e!important;border-left-color:#9333ea!important}.lh-day .lh-event[data-category=tasks]{background:#eeedf0!important;color:#625d6b!important;border-left-color:#9ca3af!important}
#lh-calendar .lh-sync{padding:8px 4px;margin:8px 0;color:var(--quiet)}.lh-sync strong{color:#696071;font-size:11px}.lh-sync p{color:#8c8593;font-size:11px}.lh-sync strong:before{background:#89a484}.lh-imports{background:white;border:1px solid var(--edge);border-radius:14px;box-shadow:none;margin-top:10px}.lh-import-summary{padding:20px 22px;color:#4b4257;font-size:14px}.lh-summary-hint{color:var(--accent)}.lh-import-methods{max-width:780px;padding-top:20px}.lh-import-method{background:#faf9fc;border:1px solid var(--edge);color:#54485f;border-radius:10px}.lh-import-method.active{background:var(--wash);border-color:#b89ed6}.lh-import-method>span{color:var(--accent)}.lh-import-method small,.lh-import-form small{color:var(--quiet)}.lh-import-form label{color:#62576d;font-size:12px}.lh-import-form input,.lh-import-form select{background:white;color:var(--text);border:1px solid var(--edge);border-radius:9px}.lh-import-sources{border-color:var(--edge)}.lh-import-sources>summary{color:#62576d}.lh-source-row{border-color:var(--edge)}.lh-source-row strong{color:var(--text)}.lh-source-row small{color:var(--quiet)}
/* Workbench. Large purposeful actions, compact history. */
.lh-study-flow{max-width:none;margin:0 0 32px}.lh-study-panel h2{color:var(--text);font-size:25px}.lh-chooser{gap:20px}#study-step-1 .lh-choice{min-height:235px;display:flex;align-items:flex-start;flex-direction:column;justify-content:space-between;padding:28px;border:1px solid #e2d8ef;background:#eee7f7;border-radius:18px;box-shadow:none}#study-step-1 .lh-choice:nth-child(2){background:#e8eee6;border-color:#dae3d8}.lh-choice:after{color:#796887;font-size:23px;top:27px;right:27px}#study-step-1 .lh-choice .lh-icon{background:#ffffff95!important;color:#765294!important;border:0;width:47px;height:47px;border-radius:13px;font-size:24px}#study-step-1 .lh-choice:nth-child(2) .lh-icon{color:#5e7855!important}#study-step-1 .lh-choice h3{font-size:25px;color:#3e2b53;letter-spacing:-.8px}#study-step-1 .lh-choice:nth-child(2) h3{color:#33462e}#study-step-1 .lh-choice-copy p{font-size:13px;color:#786788;max-width:360px;line-height:1.6;margin-top:9px}#study-step-1 .lh-choice:nth-child(2) p{color:#64735e}.lh-choice:not(:disabled):hover{border-color:#a68dbf;box-shadow:0 10px 24px #49345c0c}.lh-flow-description{color:var(--quiet)}#study-step-3,.lh-ai-results{background:white;border:1px solid var(--edge);border-radius:18px;padding:30px;max-width:880px;margin:0 auto}.lh-study-panel>label{color:#5d5268}.lh-study-panel textarea{background:#fcfbfd;border:1px solid var(--edge);color:var(--text);border-radius:12px;font:14px "Segoe UI",sans-serif}.lh-study-panel textarea::placeholder{color:#938a9e}.lh-materials-divider{color:#93879e}.lh-materials-divider:before,.lh-materials-divider:after{background:var(--edge)}.lh-study-panel .lh-materials-upload{background:#faf8fd;border:1px dashed #c6b2df;border-radius:12px;padding:22px}.lh-materials-upload>span,.lh-materials-upload strong{color:var(--accent)}.lh-materials-upload small,.lh-materials-upload input{color:var(--quiet)}.lh-flow-actions{border-color:var(--edge)}#study-materials-status{color:#745299}.lh-study-file{border-color:var(--edge)}#study-history{margin-top:30px;padding:23px;background:#fff;border:1px solid var(--edge);border-radius:16px}#study-history h3{color:#51475e;font-size:16px;margin:0 0 14px}.lh-history-row{grid-template-columns:100px 1fr;border-color:#eeeaf2;padding:16px 12px;border-radius:8px;color:var(--text)}.lh-history-row:hover{background:#faf7fd}.lh-history-row>span{color:var(--accent);font-size:12px}.lh-history-row small,#study-history-list>p{color:var(--quiet);font-size:12px}.lh-ai-answer,.lh-ai-feedback,.lh-ai-summary{color:var(--text)}.lh-ai-results h2{color:var(--text)}.lh-ai-options button{font-size:14px;background:#faf8fc;color:var(--text);border:1px solid var(--edge)}#ai-settings a{color:var(--accent)}
/* Course reference cards and notes. */
.lh-coursegrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.lh-expandable-course,.lh-expandable-course[open]{background:white;border:1px solid var(--edge);border-radius:16px;box-shadow:0 4px 14px #32234403;overflow:hidden}.lh-expandable-course{border-top:4px solid #c1a9de}.lh-expandable-course:nth-child(3n+2){border-top-color:#aac5a2}.lh-expandable-course:nth-child(3n){border-top-color:#ddb896}.lh-course-toggle{padding:25px 22px;min-height:145px}.lh-course-toggle:hover{background:#faf8fd}.lh-course-toggle .lh-courseicon{background:#f1ebf8;color:#8863ad;border:0;border-radius:12px}.lh-course-heading h3{color:var(--text);font-size:18px;line-height:1.4}.lh-course-heading small{color:var(--quiet);font-size:12px}.lh-course-expand-icon{color:var(--accent)}.lh-syllabus-highlights{padding:0 22px 22px;border-color:var(--edge)}.lh-syllabus-highlights h4{color:var(--accent);font-size:10px}.lh-syllabus-highlights h5{color:#50455d;font-size:12px}.lh-syllabus-highlights li{color:#756b7e;font-size:13px}.lh-syllabus-highlights .lh-highlight-note{color:var(--quiet)}.lh-syllabus-highlights .lh-course-syllabus{color:var(--accent)}.lh-course-remove{color:#a34848!important;border-color:#ecd5d5!important}.lh-courses-empty{margin:0;background:#fff;border:1px solid var(--edge);border-radius:18px;padding:50px 32px}.lh-courses-empty h2{color:var(--text)}.lh-courses-empty p{color:var(--quiet)}.lh-empty-icon{color:var(--accent)}#notes-grid{gap:22px}.lh-notes-empty{padding:14px 0 35px}.lh-notes-intro{text-align:left;margin-bottom:25px}.lh-notes-intro h2{font-size:22px;letter-spacing:-.6px}.lh-notes-intro p{color:var(--quiet);font-size:13px}.lh-note-starters{max-width:none;gap:20px}.lh-note-starter{min-height:255px;border-radius:12px;box-shadow:0 4px 0 #00000004;transform:none!important;padding:26px}.lh-note-starter:hover{box-shadow:0 10px 28px #57416015;translate:0 -4px}.lh-note-starter strong{font-size:18px}.lh-sticky{border-radius:12px;box-shadow:0 5px 20px #392d4708;padding:26px;min-height:240px}.lh-sticky footer{padding-top:16px;border-top:1px solid #0000000c}.lh-sticky button:hover{background:#ffffffa0}
/* A softer conversational space, with the composer anchored below the chat. */
.lh-support{max-width:920px;margin:0 auto;background:white;border:1px solid var(--edge);border-radius:20px;padding:28px}.lh-support header{padding-bottom:20px;border-bottom:1px solid var(--edge)}.lh-support h1{font-size:24px;font-weight:600;color:#4d425d;letter-spacing:-.8px}.lh-support header p,.lh-support small{color:#89808f;font-size:11px}.lh-support-welcome{color:#8a739a;text-align:center;font-size:22px;padding:45px 0;letter-spacing:-.5px}#support-chat{min-height:240px;max-height:45vh;padding:12px 0}.lh-chat-bubble{background:#f7f5fa;border:1px solid #eee8f3;color:#51485c;border-radius:14px 14px 14px 3px;max-width:85%}.lh-chat-bubble.user{background:#eee7f7;border-color:#e5daf0;border-radius:14px 14px 3px 14px}.lh-chat-bubble strong{color:#8865a5}.lh-chat-bubble p{font-size:14px}#support-input{background:#fcfbfd;color:var(--text);border:1px solid #ded4e8;min-height:94px;border-radius:12px;font-size:14px}.lh-support-actions label{color:var(--quiet)}.student-prompts{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:0 0 22px}.student-prompts button{border:1px solid var(--edge);border-radius:30px;background:white;color:#79668b;padding:9px 14px;font-size:12px}.student-prompts button:hover{background:var(--wash)}
/* Dialogs and forms share the same visual language, including body-mounted dialogs. */
.lh-task-dialog,.lh-event-dialog{background:white;color:var(--text);border:1px solid var(--edge);border-radius:20px;padding:28px;box-shadow:0 30px 100px #33204530;color-scheme:light}.lh-task-dialog::backdrop,.lh-event-dialog::backdrop{background:#30223e55;backdrop-filter:blur(5px)}.lh-task-header h2,.lh-event-dialog h2{color:var(--text);font-size:25px}.lh-task-dialog label{color:#62556e;font-size:12px}.lh-task-dialog label span{color:var(--quiet)}.lh-task-dialog input,.lh-task-dialog select,.lh-task-dialog textarea{background:#fcfbfd;color:var(--text);border:1px solid #e3dce9;border-radius:9px;font-size:14px;padding:12px}.lh-task-dialog input::placeholder,.lh-task-dialog textarea::placeholder{color:#998ea3}.lh-task-dialog p,.lh-event-dialog p{color:#766980;line-height:1.6}.lh-syllabus-upload{background:#faf7fd;border-color:#e4d8ed}.lh-syllabus-upload small{color:var(--quiet)}input[type=file]::file-selector-button{background:#eee8f5;color:#72548f;border:0;border-radius:6px;padding:8px 11px;margin-right:12px}.lh-event-dialog .lh-primary{color:white}.lh-credit-pack{background:#f6f1fb;border-color:#ddcfea}.lh-credit-pack span{color:#786789}.lh-history-question{border-color:var(--edge)}.lh-preview-event{border-color:var(--edge)}.lh-import-error,#task-error,#course-error{color:#ac4040!important}
@media(min-width:1000px){#lh-space>.lh-head,#lh-courses>.lh-head,#lh-notes>.lh-head{margin-top:-62px;margin-bottom:24px;min-height:42px}.lh-study-flow{clear:both}}
@media(max-width:1100px){.lh-header-inner{padding:0 24px;gap:12px}.lh-nav button{padding:12px 10px}.lh-main{padding:0 24px 35px}.lh-user>span{display:none}.lh-coursegrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.lh-header-inner{height:auto;padding:16px 24px;flex-wrap:wrap}.lh-nav{order:3;width:100%;justify-content:space-between}.lh-nav button{flex:1;justify-content:center}.student-heading{margin-top:26px}.student-heading h1{font-size:28px}.student-date{display:none!important}.lh-calendar-actions{margin-left:0}.lh-note-starters{grid-template-columns:repeat(2,minmax(0,1fr))}.lh-coursegrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.lh-header-inner{padding:12px 16px 8px;gap:12px}.lh-brand-logo{width:145px;height:36px}.lh-nav{gap:0;overflow:auto}.lh-nav button{padding:10px 7px;font-size:11px;flex-direction:column;gap:6px}.lh-nav svg{width:18px;height:18px}.lh-main{padding:0 14px 28px}.student-heading{margin:24px 0 20px}.student-heading h1{font-size:27px}.lh-calendar{padding:14px;border-radius:14px;overflow:visible}.student-calendar-scroll{width:100%}.lh-calendar .lh-week,.lh-calendar .lh-days{min-width:700px}.lh-calendar .lh-day{min-height:135px}.lh-calendar-legend{font-size:10px;gap:8px 13px;padding-bottom:12px}.lh-month-controls{gap:6px}.lh-calhead h2{font-size:14px}.lh-calendar-actions{width:100%;gap:8px}.lh-calendar-actions .lh-course-filter{flex:1}.lh-course-filter select{width:100%;max-width:none}.lh-calhead #calendar-period{font-size:9px}.lh-chooser,.lh-coursegrid{grid-template-columns:1fr}#study-step-1 .lh-choice{padding:24px;min-height:200px}#study-step-1 .lh-choice h3{font-size:23px}.lh-page>.lh-head{justify-content:flex-end;flex-wrap:wrap}#study-step-3,.lh-ai-results{padding:22px}#study-history{padding:18px}.lh-history-row{grid-template-columns:1fr;padding:14px 0}.lh-history-row small{grid-column:1}.lh-support{padding:20px}.lh-support header{gap:12px}.lh-support h1{font-size:21px}.lh-support header button{font-size:10px;min-width:70px}.lh-support-actions{gap:8px}.lh-support-actions label{font-size:11px}.lh-support-welcome{font-size:20px}.lh-note-starters{gap:12px}.lh-note-starter{padding:20px;min-height:225px}.lh-note-starter strong{font-size:16px}.lh-task-dialog input,.lh-task-dialog textarea,.lh-task-dialog select,.lh-study-panel textarea,#support-input{font-size:16px}.lh-task-dialog,.lh-event-dialog{padding:22px;max-width:calc(100vw - 28px)}.lh-courses-empty{padding:30px 24px}.lh-source-row{flex-wrap:wrap}}
@media(prefers-reduced-motion:no-preference){button,a,summary{transition:background .18s,color .18s,border-color .18s,box-shadow .18s,transform .18s,translate .18s}.lh-page.active{animation:student-enter .28s ease-out}dialog[open]{animation:student-enter .2s ease-out}.lh-expandable-course[open] .lh-syllabus-highlights{animation:student-enter .2s ease-out}@keyframes student-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.lh-note-starter:hover{translate:none}}

.lh-brand-logo{width:190px;height:42px;object-fit:cover;padding:0}.lh-day.today{box-shadow:inset 0 3px 0 #b298d0}.lh-calendar-legend i{box-shadow:none}@media(max-width:650px){.lh-brand-logo{width:160px;height:36px}}

.lh-support header h2{font-size:18px;font-weight:600;color:#62516f;margin:0}.lh-support-welcome{padding:25px 0}#support-chat{min-height:185px}.lh-support-actions{margin-bottom:16px}
