:root,[data-color-scheme=dark]{--focus-ring:0 0 0 3px var(--color-focus-ring);--focus-outline:2px solid var(--color-primary);--status-bg-opacity:0.15;--status-border-opacity:0.25;--select-caret-light:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23134252' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--select-caret-dark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")}:root,[data-color-scheme=light]{--color-brown-600-rgb:94,82,64;--color-teal-500-rgb:33,128,141;--color-slate-900-rgb:19,52,59;--color-background:var(--color-cream-50);--color-surface:var(--color-cream-100);--color-text:var(--color-slate-900);--color-text-secondary:var(--color-slate-500);--color-primary:var(--color-teal-500);--color-primary-hover:var(--color-teal-600);--color-primary-active:var(--color-teal-700);--color-secondary:rgba(var(--color-brown-600-rgb), 0.12);--color-secondary-hover:rgba(var(--color-brown-600-rgb), 0.2);--color-secondary-active:rgba(var(--color-brown-600-rgb), 0.25);--color-border:rgba(var(--color-brown-600-rgb), 0.2);--color-btn-primary-text:var(--color-cream-50);--color-card-border:rgba(var(--color-brown-600-rgb), 0.12);--color-card-border-inner:rgba(var(--color-brown-600-rgb), 0.12);--color-error:var(--color-red-500);--color-success:var(--color-teal-500);--color-warning:var(--color-orange-500);--color-info:var(--color-slate-500);--color-focus-ring:rgba(var(--color-teal-500-rgb), 0.4)}h1,h2,h3,h4,h5,h6,html{color:var(--color-text)}.btn,a{text-decoration:none}html,textarea.form-control{font-family:var(--font-family-base)}.add-meeting-btn,.btn--full-width,.container,.form-control,.notes-tab{width:100%}.day-indicator,.nav-btn,.sr-only{white-space:nowrap}:root{--color-white:rgba(255, 255, 255, 1);--color-black:rgba(0, 0, 0, 1);--color-cream-50:rgba(252, 252, 249, 1);--color-cream-100:rgba(255, 255, 253, 1);--color-gray-200:rgba(245, 245, 245, 1);--color-gray-300:rgba(167, 169, 169, 1);--color-gray-400:rgba(119, 124, 124, 1);--color-slate-500:rgba(98, 108, 113, 1);--color-brown-600:rgba(94, 82, 64, 1);--color-charcoal-700:rgba(31, 33, 33, 1);--color-charcoal-800:rgba(38, 40, 40, 1);--color-slate-900:rgba(19, 52, 59, 1);--color-teal-300:rgba(50, 184, 198, 1);--color-teal-400:rgba(45, 166, 178, 1);--color-teal-500:rgba(33, 128, 141, 1);--color-teal-600:rgba(29, 116, 128, 1);--color-teal-700:rgba(26, 104, 115, 1);--color-teal-800:rgba(41, 150, 161, 1);--color-red-400:rgba(255, 84, 89, 1);--color-red-500:rgba(192, 21, 47, 1);--color-orange-400:rgba(230, 129, 97, 1);--color-orange-500:rgba(168, 75, 47, 1);--color-slate-500-rgb:98,108,113;--color-red-500-rgb:192,21,47;--color-red-400-rgb:255,84,89;--color-orange-500-rgb:168,75,47;--color-orange-400-rgb:230,129,97;--color-bg-1:rgba(59, 130, 246, 0.08);--color-bg-2:rgba(245, 158, 11, 0.08);--color-bg-3:rgba(34, 197, 94, 0.08);--color-bg-4:rgba(239, 68, 68, 0.08);--color-bg-5:rgba(147, 51, 234, 0.08);--color-bg-6:rgba(249, 115, 22, 0.08);--color-bg-7:rgba(236, 72, 153, 0.08);--color-bg-8:rgba(6, 182, 212, 0.08);--color-select-caret:rgba(var(--color-slate-900-rgb), 0.8);--color-success-rgb:33,128,141;--color-error-rgb:192,21,47;--color-warning-rgb:168,75,47;--color-info-rgb:98,108,113;--font-family-base:"FKGroteskNeue","Geist","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-family-mono:"Berkeley Mono",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--font-size-xs:11px;--font-size-sm:12px;--font-size-base:14px;--font-size-md:14px;--font-size-lg:16px;--font-size-xl:18px;--font-size-2xl:20px;--font-size-3xl:24px;--font-size-4xl:30px;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:550;--font-weight-bold:600;--line-height-tight:1.2;--line-height-normal:1.5;--letter-spacing-tight:-0.01em;--space-0:0;--space-1:1px;--space-2:2px;--space-4:4px;--space-6:6px;--space-8:8px;--space-10:10px;--space-12:12px;--space-16:16px;--space-20:20px;--space-24:24px;--space-32:32px;--radius-sm:6px;--radius-base:8px;--radius-md:10px;--radius-lg:12px;--radius-full:9999px;--shadow-xs:0 1px 2px rgba(0, 0, 0, 0.02);--shadow-sm:0 1px 3px rgba(0, 0, 0, 0.04),0 1px 2px rgba(0, 0, 0, 0.02);--shadow-md:0 4px 6px -1px rgba(0, 0, 0, 0.04),0 2px 4px -1px rgba(0, 0, 0, 0.02);--shadow-lg:0 10px 15px -3px rgba(0, 0, 0, 0.04),0 4px 6px -2px rgba(0, 0, 0, 0.02);--shadow-inset-sm:inset 0 1px 0 rgba(255, 255, 255, 0.15),inset 0 -1px 0 rgba(0, 0, 0, 0.03);--duration-fast:150ms;--duration-normal:250ms;--ease-standard:cubic-bezier(0.16, 1, 0.3, 1);--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1280px}[data-color-scheme=dark]{--color-gray-400-rgb:119,124,124;--color-teal-300-rgb:50,184,198;--color-gray-300-rgb:167,169,169;--color-gray-200-rgb:245,245,245;--color-bg-1:rgba(29, 78, 216, 0.15);--color-bg-2:rgba(180, 83, 9, 0.15);--color-bg-3:rgba(21, 128, 61, 0.15);--color-bg-4:rgba(185, 28, 28, 0.15);--color-bg-5:rgba(107, 33, 168, 0.15);--color-bg-6:rgba(194, 65, 12, 0.15);--color-bg-7:rgba(190, 24, 93, 0.15);--color-bg-8:rgba(8, 145, 178, 0.15);--color-background:var(--color-charcoal-700);--color-surface:var(--color-charcoal-800);--color-text:var(--color-gray-200);--color-text-secondary:rgba(var(--color-gray-300-rgb), 0.7);--color-primary:var(--color-teal-300);--color-primary-hover:var(--color-teal-400);--color-primary-active:var(--color-teal-800);--color-secondary:rgba(var(--color-gray-400-rgb), 0.15);--color-secondary-hover:rgba(var(--color-gray-400-rgb), 0.25);--color-secondary-active:rgba(var(--color-gray-400-rgb), 0.3);--color-border:rgba(var(--color-gray-400-rgb), 0.3);--color-error:var(--color-red-400);--color-success:var(--color-teal-300);--color-warning:var(--color-orange-400);--color-info:var(--color-gray-300);--color-focus-ring:rgba(var(--color-teal-300-rgb), 0.4);--color-btn-primary-text:var(--color-slate-900);--color-card-border:rgba(var(--color-gray-400-rgb), 0.15);--color-card-border-inner:rgba(var(--color-gray-400-rgb), 0.15);--shadow-inset-sm:inset 0 1px 0 rgba(255, 255, 255, 0.1),inset 0 -1px 0 rgba(0, 0, 0, 0.15);--color-border-secondary:rgba(var(--color-gray-400-rgb), 0.2);--color-select-caret:rgba(var(--color-gray-200-rgb), 0.8);--color-success-rgb:var(--color-teal-300-rgb);--color-error-rgb:var(--color-red-400-rgb);--color-warning-rgb:var(--color-orange-400-rgb);--color-info-rgb:var(--color-gray-300-rgb)}[data-color-scheme=light]{--color-success-rgb:var(--color-teal-500-rgb);--color-error-rgb:var(--color-red-500-rgb);--color-warning-rgb:var(--color-orange-500-rgb);--color-info-rgb:var(--color-slate-500-rgb)}html{font-size:var(--font-size-base);line-height:var(--line-height-normal);background-color:var(--color-background);-webkit-font-smoothing:antialiased;box-sizing:border-box}.timer-time,code,pre{font-family:var(--font-family-mono)}body{margin:0;padding:0}*,::after,::before{box-sizing:inherit}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}h1{font-size:var(--font-size-4xl)}.logo-icon,h2{font-size:var(--font-size-3xl)}.btn,textarea.form-control{font-size:var(--font-size-base)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-md)}p{margin:0 0 var(--space-16) 0}a{color:var(--color-primary);transition:color var(--duration-fast) var(--ease-standard)}a:hover{color:var(--color-primary-hover)}code,pre{font-size:calc(var(--font-size-base) * .95);background-color:var(--color-secondary);border-radius:var(--radius-sm)}code{padding:var(--space-1) var(--space-4)}pre{padding:var(--space-16);margin:var(--space-16) 0;overflow:auto;border:1px solid var(--color-border)}pre code{background:0 0;padding:0}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-8) var(--space-16);border-radius:var(--radius-base);font-weight:500;line-height:1.5;cursor:pointer;transition:all var(--duration-normal) var(--ease-standard);border:none;position:relative}.btn:focus-visible{outline:0;box-shadow:var(--focus-ring)}.card:hover,.course-card:hover,.dashboard-card:hover{box-shadow:var(--shadow-md)}.btn--primary,.nav-btn.active,.notes-tab.active{background:var(--color-primary);color:var(--color-btn-primary-text)}.add-btn:hover,.btn--primary:hover{background:var(--color-primary-hover)}.btn--primary:active{background:var(--color-primary-active)}.btn--secondary,.nav-btn:hover{background:var(--color-secondary);color:var(--color-text)}.btn--secondary:hover{background:var(--color-secondary-hover)}.btn--secondary:active{background:var(--color-secondary-active)}.btn--outline{background:0 0;border:1px solid var(--color-border);color:var(--color-text)}.card,.form-control{background-color:var(--color-surface)}.action-btn:hover,.btn--outline:hover,.edit-name-btn:hover,.notes-tab:hover{background:var(--color-secondary)}.btn--sm{padding:var(--space-4) var(--space-12);font-size:var(--font-size-sm);border-radius:var(--radius-sm)}.btn--lg{padding:var(--space-10) var(--space-20);font-size:var(--font-size-lg);border-radius:var(--radius-md)}.form-control,select.form-control{padding:var(--space-8) var(--space-12)}.form-control,.name-editor{border:1px solid var(--color-border)}.btn:disabled{opacity:.5;cursor:not-allowed}.form-control{display:block;font-size:var(--font-size-md);line-height:1.5;color:var(--color-text);border-radius:var(--radius-base);transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.form-label,.status{font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.assignment-description,.note-text{line-height:var(--line-height-normal)}select.form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:var(--select-caret-light);background-repeat:no-repeat;background-position:right var(--space-12) center;background-size:16px;padding-right:var(--space-32)}@media (prefers-color-scheme:dark){:root{--color-gray-400-rgb:119,124,124;--color-teal-300-rgb:50,184,198;--color-gray-300-rgb:167,169,169;--color-gray-200-rgb:245,245,245;--color-bg-1:rgba(29, 78, 216, 0.15);--color-bg-2:rgba(180, 83, 9, 0.15);--color-bg-3:rgba(21, 128, 61, 0.15);--color-bg-4:rgba(185, 28, 28, 0.15);--color-bg-5:rgba(107, 33, 168, 0.15);--color-bg-6:rgba(194, 65, 12, 0.15);--color-bg-7:rgba(190, 24, 93, 0.15);--color-bg-8:rgba(8, 145, 178, 0.15);--color-background:var(--color-charcoal-700);--color-surface:var(--color-charcoal-800);--color-text:var(--color-gray-200);--color-text-secondary:rgba(var(--color-gray-300-rgb), 0.7);--color-primary:var(--color-teal-300);--color-primary-hover:var(--color-teal-400);--color-primary-active:var(--color-teal-800);--color-secondary:rgba(var(--color-gray-400-rgb), 0.15);--color-secondary-hover:rgba(var(--color-gray-400-rgb), 0.25);--color-secondary-active:rgba(var(--color-gray-400-rgb), 0.3);--color-border:rgba(var(--color-gray-400-rgb), 0.3);--color-error:var(--color-red-400);--color-success:var(--color-teal-300);--color-warning:var(--color-orange-400);--color-info:var(--color-gray-300);--color-focus-ring:rgba(var(--color-teal-300-rgb), 0.4);--color-btn-primary-text:var(--color-slate-900);--color-card-border:rgba(var(--color-gray-400-rgb), 0.2);--color-card-border-inner:rgba(var(--color-gray-400-rgb), 0.15);--shadow-inset-sm:inset 0 1px 0 rgba(255, 255, 255, 0.1),inset 0 -1px 0 rgba(0, 0, 0, 0.15);--button-border-secondary:rgba(var(--color-gray-400-rgb), 0.2);--color-border-secondary:rgba(var(--color-gray-400-rgb), 0.2);--color-select-caret:rgba(var(--color-gray-200-rgb), 0.8);--focus-ring:0 0 0 3px var(--color-focus-ring);--focus-outline:2px solid var(--color-primary);--status-bg-opacity:0.15;--status-border-opacity:0.25;--select-caret-light:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23134252' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--select-caret-dark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--color-success-rgb:var(--color-teal-300-rgb);--color-error-rgb:var(--color-red-400-rgb);--color-warning-rgb:var(--color-orange-400-rgb);--color-info-rgb:var(--color-gray-300-rgb)}select.form-control{background-image:var(--select-caret-dark)}}[data-color-scheme=dark] select.form-control{background-image:var(--select-caret-dark)}[data-color-scheme=light] select.form-control{background-image:var(--select-caret-light)}.form-control:focus{border-color:var(--color-primary);outline:var(--focus-outline)}.form-label{display:block;margin-bottom:var(--space-8)}.form-group,.meeting-rows,.session-notes textarea{margin-bottom:var(--space-16)}.card{border-radius:var(--radius-lg);border:1px solid var(--color-card-border);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow var(--duration-normal) var(--ease-standard)}.card__body,.course-body{padding:var(--space-16)}.card__footer,.card__header{padding:var(--space-16);border-bottom:1px solid var(--color-card-border-inner)}.status{display:inline-flex;align-items:center;padding:var(--space-6) var(--space-12);border-radius:var(--radius-full)}.status--success{background-color:rgba(var(--color-success-rgb,33,128,141),var(--status-bg-opacity));color:var(--color-success);border:1px solid rgba(var(--color-success-rgb,33,128,141),var(--status-border-opacity))}.status--error{background-color:rgba(var(--color-error-rgb,192,21,47),var(--status-bg-opacity));color:var(--color-error);border:1px solid rgba(var(--color-error-rgb,192,21,47),var(--status-border-opacity))}.status--warning{background-color:rgba(var(--color-warning-rgb,168,75,47),var(--status-bg-opacity));color:var(--color-warning);border:1px solid rgba(var(--color-warning-rgb,168,75,47),var(--status-border-opacity))}.status--info{background-color:rgba(var(--color-info-rgb,98,108,113),var(--status-bg-opacity));color:var(--color-info);border:1px solid rgba(var(--color-info-rgb,98,108,113),var(--status-border-opacity))}.container{margin-right:auto;margin-left:auto;padding-right:var(--space-16);padding-left:var(--space-16)}@media (min-width:640px){.container{max-width:var(--container-sm)}}@media (min-width:768px){.container{max-width:var(--container-md)}}@media (min-width:1024px){.container{max-width:var(--container-lg)}}@media (min-width:1280px){.container{max-width:var(--container-xl)}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:var(--space-4)}.gap-8{gap:var(--space-8)}.gap-16{gap:var(--space-16)}.m-0,.meeting-row input,.meeting-row select,.modal-header h3,.view-header h2{margin:0}.mt-8,.my-8{margin-top:var(--space-8)}.mb-8,.my-8{margin-bottom:var(--space-8)}.mx-8{margin-left:var(--space-8);margin-right:var(--space-8)}.p-0{padding:0}.day-section h4,.py-8{padding-bottom:var(--space-8)}.py-8{padding-top:var(--space-8)}.px-8{padding-left:var(--space-8);padding-right:var(--space-8)}.py-16{padding-top:var(--space-16);padding-bottom:var(--space-16)}.px-16{padding-left:var(--space-16);padding-right:var(--space-16)}.block,.note-editor.active,.view.active{display:block}.app,.logo{display:flex}[data-color-scheme=dark] .btn--outline{border:1px solid var(--color-border-secondary)}@font-face{font-family:FKGroteskNeue;src:url('https://r2cdn.perplexity.ai/fonts/FKGroteskNeue.woff2') format('woff2')}.app{min-height:100vh;flex-direction:column}.header-content,.view-header{justify-content:space-between}.header{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:var(--space-16) 0;position:sticky;top:0;z-index:100}.header-content{display:flex;align-items:center}.logo{align-items:center;gap:var(--space-12);font-weight:var(--font-weight-bold);font-size:var(--font-size-xl)}.name-editor,.user-greeting{gap:var(--space-8);display:flex}.logo-text{color:var(--color-primary)}.user-info{position:relative}.user-greeting{align-items:center;font-size:var(--font-size-lg)}.edit-name-btn{background:0 0;border:none;cursor:pointer;padding:var(--space-4);border-radius:var(--radius-sm);transition:background-color var(--duration-fast) var(--ease-standard)}.clear-name-btn,.nav-btn,.save-name-btn{transition:all var(--duration-fast) var(--ease-standard);cursor:pointer}.name-editor{position:absolute;top:100%;right:0;background:var(--color-surface);border-radius:var(--radius-base);padding:var(--space-12);align-items:center;box-shadow:var(--shadow-lg);z-index:1000;min-width:200px}.course-actions,.note-actions{top:var(--space-12);right:var(--space-12)}.name-input{flex:1;min-width:120px}.clear-name-btn,.save-name-btn{background:0 0;border:1px solid var(--color-border);padding:var(--space-4) var(--space-8);border-radius:var(--radius-sm)}.save-name-btn:hover{background:var(--color-success);color:var(--color-btn-primary-text);border-color:var(--color-success)}.clear-name-btn:hover{background:var(--color-error);color:var(--color-btn-primary-text);border-color:var(--color-error)}.nav{background:var(--color-bg-1);border-bottom:1px solid var(--color-border)}.nav-list{display:flex;list-style:none;margin:0;padding:0;gap:var(--space-4);overflow-x:auto}.nav-btn{background:0 0;border:none;padding:var(--space-12) var(--space-16);font-size:var(--font-size-base);color:var(--color-text-secondary);border-radius:var(--radius-base);font-weight:var(--font-weight-medium)}.add-btn,.course-code,.schedule-time{font-size:var(--font-size-sm)}.main{flex:1;padding:var(--space-24) 0}.note-editor,.view{display:none}.view-header{display:flex;align-items:center;margin-bottom:var(--space-24)}.analytics-grid,.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-24)}.dashboard-card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-card-border);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow var(--duration-normal) var(--ease-standard)}.dashboard-card-header{padding:var(--space-16);border-bottom:1px solid var(--color-card-border-inner);display:flex;justify-content:space-between;align-items:center;background:var(--color-bg-2)}.dashboard-card-header h3{margin:0;font-size:var(--font-size-lg)}.dashboard-card-body{padding:var(--space-16);max-height:300px;overflow-y:auto}.add-btn{background:var(--color-primary);color:var(--color-btn-primary-text);border:none;padding:var(--space-6) var(--space-12);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard)}.schedule-item{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-12);margin-bottom:var(--space-8);border-radius:var(--radius-base);background:var(--color-bg-3);border-left:4px solid var(--color-primary)}.schedule-time{font-weight:var(--font-weight-semibold);color:var(--color-text)}.meeting-time,.schedule-course{font-weight:var(--font-weight-medium);color:var(--color-text)}.assignment-title,.course-name,.schedule-day-name{font-weight:var(--font-weight-semibold)}.course-name,.note-date,.schedule-location,.stat-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.no-schedule{text-align:center;color:var(--color-text-secondary);font-style:italic;padding:var(--space-16)}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-20)}.course-card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-card-border);overflow:hidden;box-shadow:var(--shadow-sm);transition:all var(--duration-normal) var(--ease-standard);opacity:1}.modal-content,.toast{box-shadow:var(--shadow-lg)}.course-action-btn,.remove-meeting-btn{transition:background-color var(--duration-fast) var(--ease-standard);cursor:pointer}.course-card:hover{transform:translateY(-2px)}.course-card.deleting{opacity:.5;transform:scale(.95)}.course-header{padding:var(--space-16);color:#fff;position:relative}.course-actions{position:absolute;display:flex;gap:var(--space-8)}.course-action-btn{background:rgba(255,255,255,.2);border:none;color:#fff;padding:var(--space-6);border-radius:var(--radius-sm)}.course-action-btn:hover{background:rgba(255,255,255,.3)}.course-code{opacity:.9;margin-bottom:var(--space-4)}.course-name{font-size:var(--font-size-xl);margin-bottom:var(--space-8)}.course-info,.course-instructor,.schedule-day-name,.schedule-meeting{font-size:var(--font-size-sm)}.course-instructor{opacity:.9}.course-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-16);color:var(--color-text-secondary)}.course-schedule h4,.schedule-day{margin-bottom:var(--space-12)}.course-schedule{margin-top:var(--space-16)}.course-schedule h4{font-size:var(--font-size-base);color:var(--color-text)}.schedule-day-name,.schedule-meeting,.section-header h4{margin-bottom:var(--space-4)}.schedule-day-name{color:var(--color-text)}.schedule-meeting{background:var(--color-bg-4);padding:var(--space-8);border-radius:var(--radius-sm)}.meeting-location{color:var(--color-text-secondary)}.meeting-type{background:var(--color-secondary);color:var(--color-text);padding:var(--space-2) var(--space-6);border-radius:var(--radius-sm);font-size:var(--font-size-xs);display:inline-block;margin-top:var(--space-4)}.meeting-editor-section{margin-top:var(--space-20);padding-top:var(--space-20);border-top:1px solid var(--color-border)}.section-header h4{color:var(--color-text)}.section-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-16)}.meeting-row{display:grid;grid-template-columns:1fr 2fr 2fr 1fr auto;gap:var(--space-12);align-items:center;padding:var(--space-12);background:var(--color-bg-1);border-radius:var(--radius-base);margin-bottom:var(--space-8)}.add-meeting-btn,.timer-buttons{justify-content:center}.remove-meeting-btn{background:var(--color-error);color:#fff;border:none;padding:var(--space-6) var(--space-8);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.assignment-item,.note-item{border:1px solid var(--color-card-border)}.remove-meeting-btn:hover{background:var(--color-red-500)}.assignments-filters{display:flex;gap:var(--space-16);margin-bottom:var(--space-24)}.assignment-item{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-16);margin-bottom:var(--space-16);display:flex;justify-content:space-between;align-items:flex-start;transition:all var(--duration-normal) var(--ease-standard);opacity:1}.assignment-item.deleting,.note-item.deleting,.todo-item.deleting{opacity:.5;transform:scale(.98)}.assignment-content,.notes-content,.toast-content{flex:1}.assignment-header{display:flex;align-items:center;gap:var(--space-12);margin-bottom:var(--space-8)}.assignment-title{font-size:var(--font-size-lg);margin:0}.assignment-course{background:var(--color-secondary);color:var(--color-text);padding:var(--space-4) var(--space-8);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.action-btn,.assignment-description,.assignment-meta,.assignment-status-select{font-size:var(--font-size-sm)}.assignment-meta{display:flex;gap:var(--space-16);margin-bottom:var(--space-8);color:var(--color-text-secondary)}.assignment-description{color:var(--color-text-secondary)}.assignment-actions{display:flex;flex-direction:column;gap:var(--space-8);align-items:flex-end}.assignment-status-select{padding:var(--space-6) var(--space-8)}.action-buttons,.toast-actions,.todo-actions{display:flex;gap:var(--space-4)}.action-btn{background:0 0;border:1px solid var(--color-border);padding:var(--space-6);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard)}.calendar-day,.notes-tab{transition:background-color var(--duration-fast) var(--ease-standard);cursor:pointer}.priority-high,.priority-low,.priority-medium{padding:var(--space-2) var(--space-6);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.delete-btn:hover{background:var(--color-error);color:#fff;border-color:var(--color-error)}.priority-high{background:rgba(var(--color-error-rgb),.15);color:var(--color-error);border:1px solid rgba(var(--color-error-rgb),.25);border-radius:var(--radius-sm)}.priority-medium{background:rgba(var(--color-warning-rgb),.15);color:var(--color-warning);border:1px solid rgba(var(--color-warning-rgb),.25);border-radius:var(--radius-sm)}.priority-low{background:rgba(var(--color-success-rgb),.15);color:var(--color-success);border:1px solid rgba(var(--color-success-rgb),.25);border-radius:var(--radius-sm)}.calendar-nav{display:flex;align-items:center;gap:var(--space-16)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--color-border);border:1px solid var(--color-border);border-radius:var(--radius-base);overflow:hidden;margin-top:var(--space-16)}.calendar-header{background:var(--color-bg-5);padding:var(--space-12);text-align:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text)}.calendar-day{background:var(--color-surface);padding:var(--space-8);min-height:100px;position:relative;display:flex;flex-direction:column}.calendar-day:hover{background:var(--color-bg-1)}.calendar-day.other-month{background:var(--color-bg-2);color:var(--color-text-secondary)}.calendar-day.today{background:var(--color-bg-3);border:2px solid var(--color-primary)}.calendar-day.holiday{background:var(--color-bg-6);border-left:4px solid var(--color-warning)}.calendar-day.cleared{background:var(--color-bg-7);border-left:4px solid var(--color-info);opacity:.7}.day-number{font-weight:var(--font-weight-medium);margin-bottom:var(--space-4)}.cleared-day-indicator,.holiday-indicator{text-align:center;font-weight:var(--font-weight-semibold);margin-bottom:var(--space-16)}.day-indicators{display:flex;flex-direction:column;gap:var(--space-2);flex:1}.day-indicator{font-size:var(--font-size-xs);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-btn-primary-text);text-align:center;overflow:hidden;text-overflow:ellipsis}.day-indicator.assignment{background:var(--color-error)}.day-indicator.todo{background:var(--color-warning)}.day-indicator.cleared,.day-indicator.holiday{background:var(--color-info);color:#fff}.holiday-indicator{background:var(--color-bg-6);border:1px solid var(--color-warning);color:var(--color-warning);padding:var(--space-12);border-radius:var(--radius-base)}.cleared-day-indicator{background:var(--color-bg-7);border:1px solid var(--color-info);color:var(--color-info);padding:var(--space-12);border-radius:var(--radius-base)}.day-section h4,.note-text,.notes-tab,.todo-text{color:var(--color-text)}.stat-value,.streak-number,.timer-time{font-weight:var(--font-weight-bold)}.day-section{margin-bottom:var(--space-20)}.day-section h4{margin-bottom:var(--space-12);border-bottom:1px solid var(--color-border)}.day-assignments-list,.day-classes,.day-todos-list{display:flex;flex-direction:column;gap:var(--space-8)}.day-assignment-item,.day-class-item,.day-todo-item{background:var(--color-bg-1);padding:var(--space-12);border-radius:var(--radius-base);border-left:4px solid var(--color-primary)}.day-assignment-item{border-left-color:var(--color-error)}.day-todo-item{border-left-color:var(--color-warning)}.notes-courses{display:flex;gap:var(--space-24)}.notes-tabs{min-width:200px;border-right:1px solid var(--color-border);padding-right:var(--space-24)}.notes-tab{display:block;padding:var(--space-12) var(--space-16);background:0 0;border:none;text-align:left;border-radius:var(--radius-base);margin-bottom:var(--space-4)}.note-item,.todo-item{padding:var(--space-16);transition:all var(--duration-normal) var(--ease-standard);background:var(--color-surface);opacity:1}.notes-list{display:flex;flex-direction:column;gap:var(--space-16)}.note-item{border-radius:var(--radius-lg);position:relative}.notes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-20)}.note-actions{position:absolute;display:flex;gap:var(--space-4)}.note-text{margin-bottom:var(--space-8)}.note-editor textarea{width:100%;min-height:100px;margin-bottom:var(--space-12)}.note-editor-actions{display:flex;gap:var(--space-8);justify-content:flex-end}.timer-buttons,.todo-item,.todo-meta,.todos-list{gap:var(--space-12);display:flex}.todos-list{flex-direction:column}.todo-item{border:1px solid var(--color-card-border);border-radius:var(--radius-lg);align-items:center}.todo-item.completed{opacity:.7}.todo-checkbox{width:20px;height:20px;border:2px solid var(--color-border);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);flex-shrink:0}.session-notes,.timer-display{border:1px solid var(--color-card-border)}.todo-checkbox.checked{background:var(--color-success);border-color:var(--color-success);color:#fff}.todo-content{flex:1;display:flex;justify-content:space-between;align-items:center}.todo-text{font-size:var(--font-size-base)}.todo-item.completed .todo-text{text-decoration:line-through;color:var(--color-text-secondary)}.todo-meta{align-items:center;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.timer-container{max-width:500px;margin:0 auto;text-align:center}.timer-display{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-32);margin-bottom:var(--space-24)}.analytics-card,.session-notes{background:var(--color-surface);padding:var(--space-20)}.timer-time{font-size:3rem;color:var(--color-primary);margin-bottom:var(--space-8)}.star,.timer-status{color:var(--color-text-secondary)}.timer-status{font-size:var(--font-size-lg)}.timer-controls{margin-bottom:var(--space-24)}.timer-controls select{margin-bottom:var(--space-16);max-width:300px}.session-notes{border-radius:var(--radius-lg);text-align:left}.session-rating,.stat,.streak-display{text-align:center}.rating-stars{display:flex;justify-content:center;gap:var(--space-4);margin-top:var(--space-8)}.star{font-size:var(--font-size-2xl);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard)}.star.active,.star:hover{color:var(--color-warning)}.analytics-card{border:1px solid var(--color-card-border);border-radius:var(--radius-lg)}.analytics-card h3{margin-bottom:var(--space-16);text-align:center}.streak-display{padding:var(--space-32)}.modal-body,.modal-footer,.modal-header{padding:var(--space-20)}.streak-number{font-size:4rem;color:var(--color-primary)}.modal-close,.streak-label{color:var(--color-text-secondary)}.streak-label{font-size:var(--font-size-lg);margin-top:var(--space-8)}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:1;visibility:visible;transition:all var(--duration-normal) var(--ease-standard)}.modal.hidden{opacity:0;visibility:hidden}.modal-content{background:var(--color-surface);border-radius:var(--radius-lg);max-width:500px;width:90%;max-height:90vh;overflow-y:auto;transform:scale(1);transition:transform var(--duration-normal) var(--ease-standard)}.modal.hidden .modal-content{transform:scale(.95)}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-card-border-inner)}.modal-close{background:0 0;border:none;font-size:var(--font-size-2xl);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard)}.modal-close:hover{color:var(--color-text)}.modal-footer{display:flex;gap:var(--space-12);justify-content:flex-end;border-top:1px solid var(--color-card-border-inner)}.toast,.toast-container{display:flex;gap:var(--space-8)}.toast-container{position:fixed;top:var(--space-20);right:var(--space-20);z-index:2000;flex-direction:column}.toast{background:var(--color-surface);border:1px solid var(--color-card-border);border-radius:var(--radius-base);padding:var(--space-12) var(--space-16);max-width:300px;align-items:center;transform:translateX(100%);transition:transform var(--duration-normal) var(--ease-standard)}.toast.show{transform:translateX(0)}.toast.success{border-left:4px solid var(--color-success)}.toast.error{border-left:4px solid var(--color-error)}.toast.undo{background:var(--color-warning);color:var(--color-btn-primary-text);border:none}.toast-btn{background:0 0;border:1px solid currentColor;color:currentColor;padding:var(--space-4) var(--space-8);border-radius:var(--radius-sm);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard)}.toast-btn:hover{background:currentColor;color:var(--color-surface)}.progress-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16)}.stat{padding:var(--space-16);background:var(--color-bg-3);border-radius:var(--radius-base)}.course-summary,.note-preview{padding:var(--space-12);border-radius:var(--radius-base)}.stat-value{font-size:var(--font-size-2xl);color:var(--color-primary);margin-bottom:var(--space-4)}.course-credits,.loading{color:var(--color-text-secondary)}.course-summary{background:var(--color-bg-4);margin-bottom:var(--space-8)}.course-summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.course-code{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.course-credits{font-size:var(--font-size-xs)}.note-preview{background:var(--color-bg-5);margin-bottom:var(--space-8)}@media (max-width:768px){.analytics-grid,.courses-grid,.dashboard-grid,.meeting-row{grid-template-columns:1fr}.meeting-row{gap:var(--space-8)}.calendar-day{min-height:80px;font-size:var(--font-size-sm)}.modal-content{width:95%;margin:var(--space-20)}.assignments-filters,.notes-courses{flex-direction:column}.assignment-item{flex-direction:column;gap:var(--space-12)}.assignment-actions{flex-direction:row;align-items:center;align-self:flex-start}.notes-tabs{min-width:auto;border-right:none;border-bottom:1px solid var(--color-border);padding-right:0;padding-bottom:var(--space-16);margin-bottom:var(--space-16)}.timer-buttons{flex-wrap:wrap}.header-content{flex-direction:column;gap:var(--space-12);text-align:center}.nav-list{justify-content:center;flex-wrap:wrap}}.fade-in{animation:fadeIn var(--duration-normal) var(--ease-standard)}.fade-out{animation:fadeOut var(--duration-normal) var(--ease-standard)}@keyframes fadeIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.loading{display:flex;align-items:center;justify-content:center;padding:var(--space-20)}.spinner{border:2px solid var(--color-border);border-top:2px solid var(--color-primary);border-radius:50%;width:20px;height:20px;animation:1s linear infinite spin;margin-right:var(--space-8)}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}:focus-visible{outline:var(--focus-outline);outline-offset:2px}@media (prefers-contrast:high){.modal{background:rgba(0,0,0,.8)}.assignment-item,.calendar-day,.course-card,.note-item,.todo-item{border-width:2px}}.hidden{display:none!important}.sessions-list{max-width:500px;margin:32px auto 0;display:flex;flex-direction:column;gap:16px}.study-session-card{position:relative;background:var(--color-surface,#fff);border:1px solid var(--color-card-border,#e0e0e0);border-radius:10px;box-shadow:0 1px 4px rgba(0,0,0,.04);padding:18px 42px 18px 20px;font-size:15px;color:var(--color-text,#1d1d1d);transition:box-shadow .15s}.study-session-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.1)}.study-session-delete{position:absolute;top:13px;right:14px;font-size:18px;color:var(--color-error,#b00);background:0 0;border:none;cursor:pointer;font-family:inherit;line-height:1;padding:2px 7px;border-radius:50%;transition:background .15s}.study-session-delete:hover{background:var(--color-error,#ffd2d2);color:#fff}.study-session-details{margin-bottom:8px;font-weight:500;color:var(--color-primary,#21808d)}.study-session-notes{color:#444;font-size:14px}