@font-face{font-family:Noto Sans Arabic Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/noto-sans-arabic-arabic-wght-normal.26655915.woff2) format("woff2-variations");unicode-range:u+06??,u+0750-077f,u+0870-088e,u+0890-0891,u+0897-08e1,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc,u+102e0-102fb,u+10e60-10e7e,u+10ec2-10ec4,u+10efc-10eff,u+1ee00-1ee03,u+1ee05-1ee1f,u+1ee21-1ee22,u+1ee24,u+1ee27,u+1ee29-1ee32,u+1ee34-1ee37,u+1ee39,u+1ee3b,u+1ee42,u+1ee47,u+1ee49,u+1ee4b,u+1ee4d-1ee4f,u+1ee51-1ee52,u+1ee54,u+1ee57,u+1ee59,u+1ee5b,u+1ee5d,u+1ee5f,u+1ee61-1ee62,u+1ee64,u+1ee67-1ee6a,u+1ee6c-1ee72,u+1ee74-1ee77,u+1ee79-1ee7c,u+1ee7e,u+1ee80-1ee89,u+1ee8b-1ee9b,u+1eea1-1eea3,u+1eea5-1eea9,u+1eeab-1eebb,u+1eef0-1eef1}@font-face{font-family:Noto Sans Arabic Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/noto-sans-arabic-math-wght-normal.89bbb1b8.woff2) format("woff2-variations");unicode-range:u+0302-0303,u+0305,u+0307-0308,u+0310,u+0312,u+0315,u+031a,u+0326-0327,u+032c,u+032f-0330,u+0332-0333,u+0338,u+033a,u+0346,u+034d,u+0391-03a1,u+03a3-03a9,u+03b1-03c9,u+03d1,u+03d5-03d6,u+03f0-03f1,u+03f4-03f5,u+2016-2017,u+2034-2038,u+203c,u+2040,u+2043,u+2047,u+2050,u+2057,u+205f,u+2070-2071,u+2074-208e,u+2090-209c,u+20d0-20dc,u+20e1,u+20e5-20ef,u+2100-2112,u+2114-2115,u+2117-2121,u+2123-214f,u+2190,u+2192,u+2194-21ae,u+21b0-21e5,u+21f1-21f2,u+21f4-2211,u+2213-2214,u+2216-22ff,u+2308-230b,u+2310,u+2319,u+231c-2321,u+2336-237a,u+237c,u+2395,u+239b-23b7,u+23d0,u+23dc-23e1,u+2474-2475,u+25af,u+25b3,u+25b7,u+25bd,u+25c1,u+25ca,u+25cc,u+25fb,u+266d-266f,u+27c0-27ff,u+2900-2aff,u+2b0e-2b11,u+2b30-2b4c,u+2bfe,u+3030,u+ff5b,u+ff5d,u+1d400-1d7ff,u+1ee??}@font-face{font-family:Noto Sans Arabic Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/noto-sans-arabic-symbols-wght-normal.46e93d54.woff2) format("woff2-variations");unicode-range:u+0001-000c,u+000e-001f,u+007f-009f,u+20dd-20e0,u+20e2-20e4,u+2150-218f,u+2190,u+2192,u+2194-2199,u+21af,u+21e6-21f0,u+21f3,u+2218-2219,u+2299,u+22c4-22c6,u+2300-243f,u+2440-244a,u+2460-24ff,u+25a0-27bf,u+28??,u+2921-2922,u+2981,u+29bf,u+29eb,u+2b??,u+4dc0-4dff,u+fff9-fffb,u+10140-1018e,u+10190-1019c,u+101a0,u+101d0-101fd,u+102e0-102fb,u+10e60-10e7e,u+1d2c0-1d2d3,u+1d2e0-1d37f,u+1f0??,u+1f100-1f1ad,u+1f1e6-1f1ff,u+1f30d-1f30f,u+1f315,u+1f31c,u+1f31e,u+1f320-1f32c,u+1f336,u+1f378,u+1f37d,u+1f382,u+1f393-1f39f,u+1f3a7-1f3a8,u+1f3ac-1f3af,u+1f3c2,u+1f3c4-1f3c6,u+1f3ca-1f3ce,u+1f3d4-1f3e0,u+1f3ed,u+1f3f1-1f3f3,u+1f3f5-1f3f7,u+1f408,u+1f415,u+1f41f,u+1f426,u+1f43f,u+1f441-1f442,u+1f444,u+1f446-1f449,u+1f44c-1f44e,u+1f453,u+1f46a,u+1f47d,u+1f4a3,u+1f4b0,u+1f4b3,u+1f4b9,u+1f4bb,u+1f4bf,u+1f4c8-1f4cb,u+1f4d6,u+1f4da,u+1f4df,u+1f4e3-1f4e6,u+1f4ea-1f4ed,u+1f4f7,u+1f4f9-1f4fb,u+1f4fd-1f4fe,u+1f503,u+1f507-1f50b,u+1f50d,u+1f512-1f513,u+1f53e-1f54a,u+1f54f-1f5fa,u+1f610,u+1f650-1f67f,u+1f687,u+1f68d,u+1f691,u+1f694,u+1f698,u+1f6ad,u+1f6b2,u+1f6b9-1f6ba,u+1f6bc,u+1f6c6-1f6cf,u+1f6d3-1f6d7,u+1f6e0-1f6ea,u+1f6f0-1f6f3,u+1f6f7-1f6fc,u+1f7??,u+1f800-1f80b,u+1f810-1f847,u+1f850-1f859,u+1f860-1f887,u+1f890-1f8ad,u+1f8b0-1f8bb,u+1f8c0-1f8c1,u+1f900-1f90b,u+1f93b,u+1f946,u+1f984,u+1f996,u+1f9e9,u+1fa00-1fa6f,u+1fa70-1fa7c,u+1fa80-1fa89,u+1fa8f-1fac6,u+1face-1fadc,u+1fadf-1fae9,u+1faf0-1faf8,u+1fb??}@font-face{font-family:Noto Sans Arabic Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/noto-sans-arabic-latin-ext-wght-normal.9781e609.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Noto Sans Arabic Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/noto-sans-arabic-latin-wght-normal.2b52b515.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:"Noto Sans Arabic Variable",sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.static{position:static}.isolate{isolation:isolate}.block{display:block}.grid{display:grid}.hidden{display:none}.table{display:table}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--bg:#faf7f9;--surface:#fff;--ink:#382e42;--muted:#706578;--primary:#725787;--primary-dark:#4c3a5e;--primary-soft:#f0e7f2;--border:#e7dfea;--brand-plum:#4c3a5e;--brand-lavender:#a48eb9;--brand-paper:#fcf9f8;--danger:#a84858;--radius:14px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);margin:0;font-family:Noto Sans Arabic Variable,Tahoma,sans-serif;font-size:14px;line-height:1.65}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{text-decoration:none}a,button{color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--primary);outline-offset:4px}button{transition:background .15s,border-color .15s,box-shadow .15s}h1,h2,h3,p{margin:0}h1{letter-spacing:-.7px;font-size:30px;line-height:1.7}h1,h2{font-weight:650}h2{font-size:20px}h3{font-size:16px;font-weight:650}svg{flex-shrink:0}::selection{background:var(--primary-soft)}fieldset{min-width:0;margin:0}.sr-only,fieldset{border:0;padding:0}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.muted,.tiny-label{color:var(--muted)}.tiny-label{font-size:13px}.text-button{color:var(--primary-dark);background:0 0;border:0;align-items:center;gap:7px;padding:3px;font-weight:550;display:inline-flex}.text-button:hover{text-decoration:underline}.button{white-space:nowrap;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:8px 17px;font-weight:550;display:inline-flex}.primary{background:var(--primary);color:#fff;box-shadow:0 2px 3px #49316612}.primary:hover{background:var(--primary-dark)}.secondary{background:var(--surface);border-color:var(--border);color:var(--ink)}.secondary:hover{background:var(--primary-soft);border-color:#cfc4df}.subtle{color:var(--muted);background:0 0}.subtle:hover{background:var(--primary-soft);color:var(--primary-dark)}.danger{background:var(--danger);color:#fff}.danger:hover{background:#91374a}.danger-text{color:var(--danger)}.icon-button{background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;min-width:36px;min-height:36px;display:inline-flex}.icon-button:hover{background:var(--primary-soft)}.skip-link{z-index:100;background:var(--surface);padding:12px;position:fixed;top:0;right:20px;transform:translateY(-120%)}.skip-link:focus{transform:translateY(0)}.brand{direction:rtl;flex-shrink:0;align-items:center;gap:3%;width:132px;line-height:1;display:inline-flex}.brand-fragment{flex-shrink:0;display:block;position:relative;overflow:hidden}.brand-symbol{aspect-ratio:443/446;width:42%}.brand-wordmark{aspect-ratio:693/343;width:55%}.brand-logo{mix-blend-mode:multiply;max-width:none;height:auto;display:block;position:absolute}.brand-symbol .brand-logo{width:490.293%;top:-29.596%;left:-110.835%}.brand-wordmark .brand-logo{width:313.42%;top:-55.977%;left:-139.394%}.auth-main .brand,.loading-page .brand{width:144px}.brand-link{background:0 0;border:0;padding:0;display:inline-flex}.demo-banner{background:var(--primary-soft);min-height:32px;color:var(--muted);justify-content:center;align-items:center;gap:24px;padding:5px 16px;font-size:12px;display:flex}.demo-banner a{white-space:nowrap;align-items:center;font-weight:650;display:inline-flex}.demo-banner a:hover{text-decoration:underline}.app-header{background:var(--surface);border-bottom:1px solid var(--border)}.header-inner{justify-content:space-between;align-items:center;gap:30px;max-width:1560px;height:82px;margin:auto;padding:0 48px;display:flex}.app-header nav{align-self:stretch;align-items:stretch;gap:34px;margin-inline-start:40px;display:flex}.app-header nav :is(button,a){color:var(--muted);background:0 0;border:0;align-items:center;gap:8px;padding:0 3px;display:flex;position:relative}.app-header nav :is(button,a):hover{color:var(--primary-dark)}.app-header nav button.active{color:var(--primary-dark);font-weight:650}.app-header nav button.active:after{content:"";background:var(--primary);border-radius:4px 4px 0 0;height:3px;position:absolute;bottom:0;left:0;right:0}.account-control{align-items:center;gap:15px;display:flex}.profile-button{background:0 0;border:0;align-items:center;gap:9px;display:flex}.profile-name{text-overflow:ellipsis;max-width:110px;font-size:13px;overflow:hidden}.avatar{background:var(--primary-soft);width:34px;height:34px;color:var(--muted);border-radius:50%;place-items:center;font-size:17px;display:grid}.main-container{max-width:1560px;min-height:calc(100vh - 115px);margin:auto;padding:34px 48px 22px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px;display:flex}.heading-eyebrow{margin-bottom:1px}.title-row{align-items:center;gap:12px;display:flex}.semester-label{background:var(--primary-soft);direction:ltr;border:1px solid #e2dbea;border-radius:5px;padding:6px 8px;line-height:1}.semester-label,.semester-meta{color:var(--muted);font-size:12px}.semester-meta{flex-wrap:wrap;align-items:center;gap:12px;margin-top:3px;display:flex}.semester-meta>span{align-items:center;gap:6px;display:inline-flex}.meta-separator{background:var(--border);width:1px;height:12px}.current-semester-week{color:var(--primary-dark)}.heading-actions{align-items:center;gap:10px;display:flex}.semester-picker select{border-color:var(--border);background:0 0;max-width:175px;min-height:42px;padding:7px 10px;font-size:12px}.planner-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;padding-bottom:17px;display:flex}.view-tabs{background:var(--primary-soft);border:1px solid #e9e5ee;border-radius:11px;flex-shrink:0;gap:3px;padding:4px;display:flex}.view-tabs button{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:7px 18px;font-size:13px;display:flex}.view-tabs .selected{background:var(--surface);color:var(--primary-dark);border-color:#e8e1f0;font-weight:650;box-shadow:0 1px 4px #49375a12}.toolbar-end{align-items:center;gap:7px;display:flex}.filter-toggle{min-height:39px;padding:7px 13px;font-size:13px}.has-filter{color:var(--primary);border-color:#a997be}.filter-dot{background:var(--primary);border-radius:50%;width:5px;height:5px}.date-nav{align-items:center;gap:4px;font-size:12px;display:flex}.date-nav>span{text-align:center;min-width:140px}.today-button{font-size:13px}.filter-bar{justify-content:space-between;gap:12px;padding-top:15px}.filter-bar,.filter-selects{align-items:center;display:flex}.filter-selects{gap:9px}.filter-selects select{background:0 0;min-width:136px;min-height:34px;padding:4px 10px;font-size:12px}.calendar-hint{color:var(--muted);font-size:12px}.clear-filter{font-size:12px}.subject-legend{flex-wrap:wrap;align-items:center;gap:8px 23px;padding:17px 0 18px;display:flex}.legend-item{min-height:25px;color:var(--muted);background:0 0;border:0;align-items:center;gap:7px;padding:1px 0;font-size:12px;display:inline-flex}.legend-item>span{border-radius:2px;width:7px;height:7px}.legend-active{color:var(--ink);text-underline-offset:5px;font-weight:650;text-decoration:underline}.filter-empty{background:var(--primary-soft);border-radius:8px;margin-bottom:12px;padding:12px;font-size:13px}.semester-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 17px;display:grid}.week-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 2px 5px #30213f02}.week-card.current-week{border-color:#a593bd;box-shadow:0 0 0 2px #c9b8dc23}.week-card-header{background:#fcfbfd;border-bottom:1px solid #efedf4;justify-content:space-between;align-items:center;gap:7px;padding:13px 13px 10px;display:flex}.current-week .week-card-header{background:var(--primary-soft)}.week-card-header h3{align-items:center;gap:7px;display:flex}.week-card-header p{margin-top:2px}.week-card-header p,.week-count{color:var(--muted);font-size:12px}.week-count{white-space:nowrap;background:var(--primary-soft);border-radius:4px;padding:2px 5px}.busy-count{color:#a47789;background:#f3e9ed}.current-badge{color:#fff;background:#8b76a6;border-radius:4px;padding:1px 5px;font-size:12px;font-weight:500;line-height:1.5}.week-days{padding:5px 10px 9px}.semester-day{border-bottom:1px solid #f5f3f7;align-items:center;gap:5px;min-height:31px;display:flex}.semester-day:last-child{border:0}.day-label{width:74px;min-width:74px;color:var(--muted);text-align:start;background:0 0;border:0;justify-content:space-between;align-self:stretch;align-items:center;gap:3px;padding:0;display:flex}.day-label time{min-width:20px;min-height:20px;color:var(--muted);border-radius:5px;place-items:center;display:grid}.is-today .day-label{color:var(--primary-dark);font-weight:700}.is-today .day-label time{background:var(--primary);color:#fff}.is-today{background:var(--primary-soft)}.past-day .day-label{color:var(--muted)}.outside-day{opacity:.4}.day-events{flex:1;gap:3px;min-width:0}.day-events,.empty-day-add{align-items:center;display:flex}.empty-day-add{color:#0000;background:0 0;border:0;border-radius:5px;justify-content:center;width:100%;min-height:29px}.empty-day-add:focus-visible,.empty-day-add:hover{background:var(--primary-soft);color:var(--muted)}.more-events{background:var(--primary-soft);color:var(--muted);border:0;border-radius:4px;min-height:24px;padding:1px 3px;font-size:12px}.event-chip{--tone-bg:#ede7f5;--tone-ink:#77638e;--tone-line:#a894c2;text-align:start;background:var(--tone-bg);width:100%;min-width:0;color:var(--tone-ink);border:0;border-inline-start:2px solid var(--tone-line);border-radius:4px;min-height:23px;padding:3px 6px;line-height:1.55;display:block}.event-chip:hover{filter:brightness(.97);box-shadow:0 0 0 1px var(--tone-line)}.event-chip-main{align-items:center;gap:3px;min-width:0;display:flex}.event-chip-main>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.event-chip.completed .event-chip-main{-webkit-text-decoration:line-through #ab9daf;text-decoration:line-through #ab9daf}.tone-lavender{--tone-bg:#eee8f6;--tone-ink:#71598c;--tone-line:#ae99c9}.tone-blue{--tone-bg:#eaf0f9;--tone-ink:#59799f;--tone-line:#94b0d4}.tone-rose{--tone-bg:#f7eaf0;--tone-ink:#a66d80;--tone-line:#d3a3b2}.tone-green{--tone-bg:#eaf2e9;--tone-ink:#698463;--tone-line:#a3ba9d}.tone-amber{--tone-bg:#f8f1e4;--tone-ink:#9b8051;--tone-line:#cebb92}.tone-teal{--tone-bg:#e4f1ef;--tone-ink:#568681;--tone-line:#98beba}.tone-gray{--tone-bg:#eef0f3;--tone-ink:#6d7586;--tone-line:#a4aab7}.planner-footer{color:#92899c;align-items:center;gap:24px;padding:20px 0 0;font-size:12px;display:flex}.planner-footer>span{align-items:center;gap:6px;display:flex}.today-key{background:var(--primary);border-radius:2px;width:8px;height:8px}.footer-wordmark{margin-inline-start:auto}.week-view{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;min-height:480px;display:grid}.day-column{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:17px;padding:14px 10px}.day-column,.day-column>header{flex-direction:column;display:flex}.day-column>header{border-bottom:1px solid var(--border);color:var(--muted);align-items:center;padding-bottom:13px;font-size:13px}.day-column>header>button{color:var(--ink);background:0 0;border:0;border-radius:8px;padding:0}.day-column time{place-items:center;width:45px;font-size:26px;font-weight:600;line-height:1.8;display:grid}.day-column>header .muted{font-size:12px}.current-day-column{background:#fefcff;border-color:#b09bc9}.current-day-column time{color:var(--primary-dark);background:var(--primary-soft);border-radius:8px}.column-events{flex-direction:column;flex:1;gap:10px;display:flex}.event-chip.expanded{border-radius:7px;padding:11px 10px;font-size:13px}.event-chip.expanded .event-chip-main>span{white-space:normal}.event-meta{opacity:.85;margin-top:5px;font-size:12px;display:block}.event-time{align-items:center;gap:5px;display:flex}.event-time,.quiet-day{margin-top:10px;font-size:12px}.quiet-day{text-align:center;color:#8b7d97}.column-add{border:1px dashed var(--border);color:#9687a4;background:0 0;border-radius:7px;justify-content:center;align-items:center;gap:5px;min-height:36px;font-size:12px;display:flex}.column-add:hover{background:var(--primary-soft)}.day-view{grid-template-columns:290px 1fr;gap:26px;max-width:1080px;margin:5px auto 30px;display:grid}.day-summary{color:#78618e;background:#efebf5;border-radius:14px;align-self:start;padding:28px 25px}.day-summary>h2{color:var(--ink);margin-top:10px;font-size:28px}.day-summary>p{font-size:14px}.day-summary dl{gap:35px;margin:25px 0;display:flex}.day-summary dt{font-size:13px}.day-summary dd{color:var(--ink);margin:0;font-size:26px}.next-event{border-top:1px solid #ded5e8;flex-direction:column;gap:6px;padding-top:18px;font-size:13px;display:flex}.next-event strong{font-weight:600}.day-agenda{background:var(--surface);border:1px solid var(--border);border-radius:14px;min-width:0;padding:26px}.day-agenda h2{align-items:center;gap:10px;margin-bottom:25px;font-size:18px;display:flex}.day-agenda h2 span{background:var(--primary-soft);color:var(--primary);border-radius:6px;padding:2px 9px;font-size:12px}.agenda-row{grid-template-columns:82px 1fr;align-items:start;gap:15px;margin-bottom:15px;display:grid}.agenda-time{color:var(--muted);padding-top:11px;font-size:12px}.day-agenda>.button{border-style:dashed;width:100%;margin-top:15px}.agenda-empty{text-align:center;color:var(--muted);padding:45px 10px}.agenda-empty svg{color:#a492b8;margin:auto auto 14px}.agenda-empty h3{font-size:17px}.agenda-empty p{margin-top:4px;font-size:14px}.onboarding{text-align:center;max-width:650px;margin:65px auto}.onboarding-icon{width:86px;height:86px;color:var(--primary);background:#eae3f2;border:1px solid #ddd2e9;border-radius:24px;place-items:center;margin:0 auto 24px;display:grid}.onboarding>.tiny-label{display:block}.onboarding h1{margin:10px 0;font-size:30px}.onboarding p{color:var(--muted);font-size:16px;line-height:2}.onboarding>.button{margin-top:27px}.onboarding-steps{border-top:1px solid var(--border);color:var(--muted);justify-content:center;gap:30px;margin:35px 0;padding:24px 0 0;font-size:13px;list-style:none;display:flex}.onboarding-steps li{align-items:center;gap:8px;display:flex}.onboarding-steps span{width:22px;height:22px;color:var(--primary);background:#ede7f5;border-radius:50%;place-items:center;font-size:12px;display:grid}.onboarding-nudge{color:var(--primary-dark);background:#eeebf5;border-radius:11px;align-items:center;gap:14px;margin-bottom:20px;padding:16px 20px;display:flex}.onboarding-nudge>div{flex-direction:column;flex:1;gap:2px;display:flex}.onboarding-nudge strong{font-size:14px;font-weight:600}.onboarding-nudge span{color:var(--muted);font-size:12px}.subjects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:35px;display:grid}.subject-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;grid-template-columns:46px 1fr;gap:18px;padding:25px;display:grid}.subject-icon{background:var(--tone-bg);color:var(--tone-ink);border-radius:10px;align-self:start;place-items:center;min-height:46px;display:grid}.subject-card h2{font-size:18px}.subject-code{color:var(--muted);font-size:12px;display:inline-block}.subject-card-actions,.subject-card>p{grid-column:1/-1}.subject-card>p{color:var(--muted);border-bottom:1px solid var(--border);padding-bottom:20px;font-size:13px}.subject-card-actions{justify-content:space-between;align-items:center;display:flex}.subject-card-actions .button{min-height:36px;font-size:13px}.empty-subjects{text-align:center;color:var(--muted);grid-column:1/-1;padding:70px 20px}.empty-subjects svg{color:var(--primary);margin:auto auto 20px}.empty-subjects .button{margin-top:20px}.empty-subjects .button svg{color:inherit;margin:0}.settings-grid{grid-template-columns:1fr 1fr;gap:25px;max-width:1000px;display:grid}.settings-card{border:1px solid var(--border);background:var(--surface);border-radius:14px;align-self:start;padding:28px}.settings-card h2{margin-bottom:24px}.settings-card h3{margin-bottom:9px}.settings-actions{align-items:center;gap:18px;margin:24px 0 12px;display:flex}.account-email{text-align:start;color:var(--muted);margin:-14px 0 24px;font-size:13px}.modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;background:#2d203b56;animation:fade-in .15s;position:fixed;inset:0}.modal{background:var(--surface);z-index:51;border:1px solid #eee8f3;border-radius:19px;outline:none;width:min(520px,100% - 36px);max-height:calc(100dvh - 50px);padding:27px 28px;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 20px 80px #291b4330}.modal-heading{justify-content:space-between;align-items:start;gap:16px;margin-bottom:25px;display:flex}.modal-heading h2{font-size:21px;line-height:1.8}.modal-heading p{color:var(--muted);margin-top:4px;font-size:12px}.modal-heading .icon-button{color:#9b90a5;margin-top:1px}.form-stack label{flex-direction:column;gap:7px;margin-bottom:19px;font-size:13px;font-weight:550;display:flex}.form-stack label:has(.required){position:relative}.required{display:none}.optional{color:#84768f;font-size:12px;font-weight:400}.form-stack label>.optional{display:inline}.form-stack input,.form-stack select,.form-stack textarea,select{background:var(--surface);width:100%;min-height:44px;color:var(--ink);border:1px solid #dfd8e8;border-radius:8px;outline:none;padding:9px 11px;font-size:14px;line-height:1.6}.form-stack input::placeholder,.form-stack textarea::placeholder{color:#aca2b6;font-weight:400}.form-stack input:focus,.form-stack select:focus,.form-stack textarea:focus,select:focus{border-color:#a08ab9;box-shadow:0 0 0 3px #eee6f6}.form-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.form-actions{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:22px;padding-top:19px;display:flex}.form-actions>.primary{min-width:125px}.field-hint{color:#968a9f;font-size:12px;line-height:1.9}.form-error{color:#a04255;background:#fdf0f3;border:1px solid #f5dfe6;border-radius:8px;margin:12px 0;padding:10px 13px;font-size:13px}.extra-details{border-top:1px solid var(--border);margin-top:3px;padding-top:12px}.extra-details summary{color:var(--primary-dark);cursor:pointer;align-items:center;gap:7px;padding:4px 0 12px;font-size:13px;list-style:none;display:flex}.extra-details summary::-webkit-details-marker{display:none}.extra-details[open] summary svg{transform:rotate(180deg)}.extra-details label:last-child{margin-bottom:0}.color-field legend{margin-bottom:14px;font-size:13px;font-weight:550}.color-options{flex-wrap:wrap;gap:12px;display:flex}.color-options .color-option{cursor:pointer;align-items:center;gap:7px;margin-bottom:6px;display:flex}.color-option input{opacity:0;width:1px;min-height:0;position:absolute}.color-option>span{background:var(--swatch);color:#fff;border:3px solid #fff;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;box-shadow:0 0 0 1px #0000}.color-option:has(input:checked)>span{box-shadow:0 0 0 1px var(--swatch)}.color-option:has(input:focus-visible)>span{outline-offset:4px;outline:3px solid #ac98c3}.color-option small{color:var(--muted);font-size:12px;font-weight:400}.confirm-modal h2{margin-bottom:13px;font-size:20px}.confirm-modal p{color:var(--muted);font-size:14px;line-height:1.9}.detail-badges{color:var(--muted);flex-wrap:wrap;align-items:center;gap:9px;font-size:12px;display:flex}.detail-subject{background:var(--tone-bg);color:var(--tone-ink);border-radius:5px;padding:4px 10px}.completed-badge{color:#698365;gap:4px;display:flex}.event-details dl{color:#84738f;flex-direction:column;gap:16px;margin:27px 0;font-size:14px;display:flex}.event-details dl div{align-items:center;gap:12px;display:flex}.event-details dd{color:var(--ink);margin:0}.event-description{white-space:pre-wrap;overflow-wrap:anywhere;background:#f7f5fa;border-radius:9px;margin-bottom:25px;padding:15px;font-size:14px;line-height:1.9}.complete-button{width:100%}.detail-actions{border-top:1px solid var(--border);justify-content:space-between;margin-top:18px;padding-top:18px}.detail-actions,.loading-page{align-items:center;display:flex}.loading-page{text-align:center;flex-direction:column;justify-content:center;gap:22px;min-height:100dvh;padding:30px}.loading-page>p{color:var(--muted);max-width:560px;font-size:16px}.loading-page>h1{font-size:25px}.loading-page>.spin{color:var(--primary);margin-top:25px}.spin{animation:spin 1s linear infinite}.confirmation-card{flex-direction:column;align-items:stretch;gap:20px;width:100%;max-width:480px;display:flex}.confirmation-card>.brand{align-self:center}.confirmation-card h1{font-size:25px}.confirmation-card>p,.confirmation-status{color:var(--muted);font-size:15px;line-height:1.9}.resend-form{text-align:start;margin-block:20px}.resend-form .button{width:100%;margin-top:14px}.resend-form label{margin-bottom:14px}.confirmation-card .resend-form{margin-block:0}.confirmation-status{margin-block:12px}.form-stack fieldset:disabled .button{opacity:.6}.auth-page{background:var(--brand-paper);grid-template-columns:1fr 47%;min-height:100dvh;display:grid}.auth-main{flex-direction:column;padding:45px 11% 25px;display:flex}.auth-form-wrap{width:100%;max-width:390px;margin:auto;padding:45px 0}.auth-form-wrap h1{margin:8px 0;font-size:30px;line-height:1.7}.auth-form-wrap>p{margin-bottom:30px;font-size:15px}.auth-form-wrap .form-stack>.button,.auth-form-wrap fieldset>.button{width:100%;margin-top:9px}.auth-form-wrap label{margin-bottom:20px}.password-input{display:flex;position:relative}.password-input input{padding-inline-start:45px}.password-input>.icon-button{position:absolute;top:4px;right:5px}.auth-switch{text-align:center;color:var(--muted);margin-top:24px;font-size:13px}.divider{color:#a295ad;align-items:center;gap:12px;margin:24px 0;font-size:12px;display:flex}.divider:after,.divider:before{content:"";background:var(--border);flex:1;height:1px}.demo-link{width:100%;font-size:13px}.auth-footer{text-align:center;color:#ac9fb5;font-size:12px}.auth-story{background:#eee5f1;flex-direction:column;align-items:start;padding:55px 13% 40px;display:flex;overflow:hidden}.story-top{color:#756183;align-items:center;gap:9px;margin-bottom:clamp(45px,8vh,90px);font-size:12px;display:flex}.auth-story h2{color:var(--brand-plum);letter-spacing:-1px;font-size:clamp(36px,4vw,56px);font-weight:600;line-height:1.5}.auth-story>p{color:#756183;margin-top:20px;font-size:16px;line-height:2}.paper-preview{background:#fefcff;border:1px solid #e2d8eb;border-radius:14px;align-self:center;width:calc(100% + 10px);min-width:300px;max-width:380px;margin-top:55px;padding:22px 20px;transform:rotate(-4deg);box-shadow:0 18px 30px #6850800e}.paper-header{color:#7e6497;border-bottom:1px solid #e9e0f0;align-items:center;gap:8px;padding-bottom:16px;font-size:13px;display:flex}.paper-header>span{background:#ede6f4;border-radius:4px;margin-inline-start:auto;padding:2px 6px;font-size:12px}.paper-day{color:#9784a6;border-bottom:1px solid #f0eaf5;align-items:center;gap:16px;min-height:45px;font-size:12px;display:flex}.paper-day>span:first-child{min-width:45px}.paper-line{background:#f2edf7;flex:1;height:1px}.paper-day .event-chip{min-height:27px;font-size:12px}.story-caption{color:#756183;margin-top:auto;padding-top:45px;font-size:12px}.setup-note{color:#857098;background:#f4eff9;border:1px solid #e9e0f1;border-radius:9px;margin:18px 0;padding:12px 14px;font-size:12px}.success-message{color:#76618b;padding:24px 0}.success-message p{margin:14px 0 25px;font-size:14px}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (min-width:1600px){.week-card-header{padding:15px 16px 12px}.semester-day{min-height:36px}.day-label{width:81px;min-width:81px}.day-label,.event-chip{font-size:12px}.week-days{padding-inline:14px}.week-card-header h3{font-size:15px}.week-card-header p{font-size:12px}}@media (max-width:1190px){.header-inner{grid-template-columns:1fr auto;gap:12px;height:auto;padding:14px 30px 0;display:grid}.app-header nav{grid-area:2/1/auto/-1;justify-content:space-between;margin:0}.app-header nav :is(button,a){min-height:54px}.account-control{grid-area:1/2}.main-container{padding:28px 30px}.semester-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.heading-actions{flex-direction:column-reverse;align-items:stretch}.semester-picker select{min-height:30px;padding-block:4px}.week-card-header{padding:12px 15px 9px}.week-card-header h3{font-size:15px}.week-card-header p{font-size:12px}.semester-day{min-height:35px}.day-label,.event-chip{font-size:12px}.toolbar-end{gap:2px}.date-nav>span{min-width:115px;font-size:12px}.view-tabs button{padding:7px 12px}.week-view{gap:7px}.day-column{padding:13px 7px}.event-chip.expanded{padding:9px 7px;font-size:12px}.event-meta{font-size:12px}.subjects-grid{gap:16px}.subject-card{padding:20px}}@media (max-width:900px){.header-inner{padding:14px 24px 0}.main-container{padding:25px 24px}.app-header nav{gap:25px;margin:0}.heading-actions .semester-picker,.profile-name{display:none}.page-heading h1{font-size:27px}.planner-toolbar{flex-wrap:wrap}.toolbar-end{margin-inline-start:auto}.date-nav{order:0}.today-button{padding-inline:9px}.calendar-hint{display:none}.day-label{width:65px;min-width:65px;font-size:12px}.event-chip{padding-inline:4px;font-size:12px}.week-card-header{padding:12px 10px 9px}.week-card-header h3{font-size:13px}.week-card-header p,.week-count{font-size:12px}.week-days{padding-inline:8px}.subject-legend{gap:6px 17px}.subjects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.day-view{grid-template-columns:230px 1fr;gap:17px}.day-summary{padding:24px 20px}.day-agenda{padding:24px 18px}.agenda-row{grid-template-columns:70px 1fr}.auth-main{padding:35px 9% 25px}.auth-story{padding:50px 10% 30px}.auth-story h2{font-size:36px}.paper-preview{min-width:250px;padding:18px 14px}.paper-header>span{display:none}.settings-grid{gap:16px}.settings-card{padding:23px}.settings-actions{flex-direction:column;align-items:start}}@media (max-width:740px){.week-view{grid-template-columns:1fr;gap:12px;min-height:0}.day-column{grid-template-columns:80px 1fr;gap:13px;padding:15px;display:grid}.day-column>header{border:0;border-inline-end:1px solid var(--border);grid-row:1/3;justify-content:center;padding:0;padding-inline-end:12px}.column-events{gap:7px}.quiet-day{text-align:start;align-self:start;margin:0}.column-add{grid-column:2;min-height:35px}.week-view .event-chip.expanded{padding:12px;font-size:14px}.week-view .event-meta{font-size:12px}.week-view .event-time{margin-top:5px;font-size:12px}.auth-page{grid-template-columns:1fr}.auth-story{display:none}.auth-main{min-height:100dvh;padding:28px max(25px,8vw) 25px}.auth-form-wrap{padding:40px 0}.auth-form-wrap h1{font-size:29px}.auth-form-wrap>p{font-size:16px}.auth-form-wrap label{font-size:14px}.auth-form-wrap input{min-height:48px;font-size:16px}}@media (max-width:640px){body{font-size:14px}.demo-banner{justify-content:space-between;gap:10px;font-size:12px;line-height:1.8}.demo-banner>span{max-width:260px}.header-inner{grid-template-columns:1fr auto;gap:10px;height:auto;min-height:69px;padding:14px 18px 0;display:grid}.brand{width:100px}.app-header nav{grid-area:2/1/auto/-1;justify-content:space-between;gap:12px}.app-header nav :is(button,a){flex-direction:column;flex:1;justify-content:center;gap:4px;min-height:54px;font-size:14px;line-height:1.6}.app-header nav svg{width:17px;height:17px}.account-control{grid-area:1/2;gap:2px}.profile-button{padding:0}.avatar{width:29px;height:29px;font-size:14px}.account-control>.icon-button{display:none}.main-container{padding:23px 18px}.page-heading{flex-wrap:wrap;align-items:start;gap:8px;margin-bottom:22px}.heading-eyebrow{margin-bottom:3px}.tiny-label{font-size:12px}.page-heading h1{letter-spacing:-.7px;font-size:26px}.semester-label{padding:5px;font-size:12px}.semester-meta{gap:7px;margin-top:7px;font-size:12px;line-height:1.8}.semester-meta svg{width:13px}.current-semester-week{flex-basis:100%}.heading-actions{flex-direction:row;justify-content:space-between;align-items:center;width:100%;margin-top:12px}.heading-actions .semester-picker{order:1;display:block}.heading-actions .semester-picker select{max-width:165px;font-size:12px}.heading-actions .button{min-height:41px;padding-inline:16px;font-size:13px}.planner-toolbar{gap:12px;padding-bottom:13px}.view-tabs{gap:1px;width:100%;padding:3px}.view-tabs button{flex:1;min-height:40px;padding:8px 10px;font-size:12px}.view-tabs button svg{width:15px}.toolbar-end{justify-content:space-between;width:100%}.date-nav>span{min-width:112px}.filter-toggle{min-height:36px;padding:6px 10px;font-size:12px}.today-button{min-height:35px;font-size:12px}.filter-bar{padding:12px 0 0;display:none}.filters-expanded{display:block}.filter-selects{gap:7px}.filter-selects label{flex:1}.filter-selects select{min-width:0;min-height:38px;font-size:12px}.subject-legend{gap:5px 13px;padding:14px 0}.legend-item{min-height:28px;font-size:12px}.legend-item>span{width:6px;height:6px}.semester-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.week-card-header{padding:10px 9px 8px;position:relative}.week-card-header h3{gap:4px;font-size:12px}.week-card-header p{font-size:12px}.week-count{display:none}.current-badge{padding:1px 3px;font-size:12px}.week-days{padding:4px 6px 7px}.semester-day{gap:3px;min-height:39px}.day-label{flex-direction:column;justify-content:center;width:34px;min-width:34px;padding:2px 0;font-size:12px;line-height:1.25}.day-label time{min-width:18px;min-height:18px;font-size:12px}.event-chip{border-inline-start-width:2px;padding:3px 4px;font-size:12px;line-height:1.6}.event-chip-main>span{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.more-events{padding:0 2px;font-size:12px}.planner-footer{justify-content:space-between;gap:13px;padding-top:17px;font-size:12px}.footer-wordmark{display:none!important}.day-view{grid-template-columns:1fr;gap:15px}.day-summary{grid-template-columns:1fr auto;gap:3px 15px;padding:19px 22px;display:grid}.day-summary>svg{display:none}.day-summary>h2{margin:0;font-size:23px}.day-summary>p{font-size:12px}.day-summary>dl{grid-area:1/2/3;align-items:center;gap:20px;margin:0}.day-summary dt{font-size:12px}.day-summary dd{font-size:21px}.next-event{grid-column:1/-1;grid-template-columns:1fr auto;margin-top:12px;padding-top:12px;font-size:12px;display:grid}.next-event strong{grid-column:1}.next-event span:last-child{grid-area:2/2}.day-agenda{padding:20px 16px}.day-agenda .event-chip.expanded{font-size:14px}.day-agenda .event-meta{font-size:12px}.agenda-row{grid-template-columns:69px 1fr;gap:7px}.subjects-grid{grid-template-columns:1fr;margin-top:20px}.subject-card{gap:15px;padding:22px}.settings-grid{grid-template-columns:1fr;gap:20px}.settings-actions{flex-direction:row;align-items:center}.settings-card{padding:23px}.onboarding{margin:45px auto}.onboarding h1{font-size:25px}.onboarding p{font-size:14px}.onboarding-steps{gap:16px;font-size:12px}.onboarding-steps li{flex-direction:column;gap:8px}.onboarding-nudge{flex-wrap:wrap;gap:9px;padding:14px}.onboarding-nudge>svg{width:17px}.onboarding-nudge span,.onboarding-nudge strong{font-size:12px}.onboarding-nudge .button{min-height:35px;margin-inline-start:auto;padding:5px 12px;font-size:12px}.modal{border-radius:17px;width:calc(100% - 24px);max-height:calc(100dvh - 28px);padding:23px 21px}.modal-heading{gap:8px;margin-bottom:20px}.modal-heading h2{font-size:20px}.modal-heading p{font-size:12px}.form-stack input,.form-stack select,.form-stack textarea{font-size:16px}.form-stack label{font-size:13px}.form-grid{gap:11px}.form-actions{margin-top:20px}.color-options{gap:11px}.color-option>span{width:32px;height:32px}.color-option small{font-size:12px}.auth-main .brand,.loading-page .brand{width:136px}.auth-main .tiny-label{font-size:12px}}@media (max-width:360px){.header-inner,.main-container{padding-inline:12px}.app-header nav{gap:14px}.profile-button{display:none}.semester-grid{grid-template-columns:1fr}.week-card-header h3{font-size:15px}.week-card-header p{font-size:12px}.week-count{display:inline-block}.day-label{flex-direction:row;justify-content:space-between;width:85px;min-width:85px}.day-label,.event-chip{font-size:12px}.semester-day{min-height:37px}.week-days{padding-inline:12px}.form-grid{grid-template-columns:1fr;gap:0}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important}}.week-card-header h3{font-size:14px}.day-label{width:82px;min-width:82px}.day-label,.day-label time,.event-chip{font-size:12px}.event-chip{min-height:26px}.semester-day{min-height:34px}.current-badge,.week-count{font-size:12px}.semester-picker select{font-size:14px}.legend-item{font-size:13px}.agenda-time,.day-summary dt,.event-chip.expanded,.form-stack label{font-size:14px}.auth-form-wrap>p{font-size:16px}.past-day .event-chip{opacity:.9}@media (max-width:900px){.semester-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.week-card-header h3{font-size:14px}.week-card-header p{font-size:12px}}@media (max-width:640px){.semester-grid{grid-template-columns:1fr}.week-days{padding:5px 13px 10px}.semester-day{min-height:39px}.day-label{flex-direction:row;justify-content:space-between;width:92px;min-width:92px}.day-label,.day-label time,.event-chip{font-size:13px}.event-chip-main>span{white-space:nowrap;display:block}.week-card-header{padding:14px}.week-card-header h3{font-size:15px}.week-count{display:inline-block}.agenda-time,.current-semester-week,.day-summary dt,.legend-item{font-size:12px}}.filter-bar{display:none}.filter-bar.filters-expanded{display:flex}@media (max-width:640px){.filter-bar.filters-expanded{display:block}.account-control>.icon-button{display:inline-flex}.account-control .profile-button{display:none}}.subject-card-open{text-align:start;border-radius:8px;grid-column:1/-1;grid-template-columns:46px minmax(0,1fr);gap:14px;width:100%;display:grid}.subject-card-name{min-width:0}.subject-card-name h2{overflow-wrap:anywhere}.subject-open-hint{color:var(--primary);grid-column:1/-1;align-items:center;gap:6px;font-size:14px;display:flex}.subject-card-open:hover .subject-open-hint{text-decoration:underline}.modal-wide{width:min(760px,100% - 36px)}.subject-detail h3{font-size:18px}.assessment-heading{justify-content:space-between;align-items:start;gap:20px;margin-bottom:24px;display:flex}.assessment-heading p{color:var(--muted);margin-top:7px;font-size:14px;line-height:1.9}.assessment-total{text-align:center;color:var(--primary);background:#f3eef9;border-radius:12px;flex:0 0 132px;padding:12px}.assessment-total strong{font-size:28px;line-height:1.4;display:block}.assessment-total span{font-size:12px;display:block}.assessment-list{gap:12px;padding:0;list-style:none;display:grid}.assessment-editor,.assessment-list li{border:1px solid var(--border);overflow-wrap:anywhere;border-radius:12px;padding:18px}.assessment-item-heading{justify-content:space-between;align-items:baseline;gap:14px;display:flex}.assessment-item-heading h4{font-size:16px}.assessment-marks{color:var(--primary);flex-shrink:0;font-size:14px}.assessment-marks b{font-size:19px}.assessment-period{color:var(--muted);align-items:center;gap:6px;margin-top:8px;font-size:14px;display:inline-flex}.assessment-details{white-space:pre-wrap;margin-top:10px;font-size:16px;line-height:1.9}.assessment-empty{border:1px dashed var(--border);color:var(--muted);background:#faf8fc;border-radius:12px;padding:25px;font-size:16px;line-height:1.9}.assessment-empty svg{color:var(--primary);margin-bottom:10px}.course-notes{border-top:1px solid var(--border);margin:24px 0;padding-top:22px}.course-notes p{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:8px;font-size:16px;line-height:1.9}.assessment-edit-list{gap:16px;display:grid}.assessment-editor-heading{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:14px;font-size:14px;display:flex}.assessment-name-marks{grid-template-columns:minmax(0,1fr) 115px;gap:14px;display:grid}.assessment-editor label{font-size:14px}.assessment-editor label:last-child{margin-bottom:0}.assessment-form .course-notes-label{margin-top:26px;font-size:16px}.add-assessment{margin-top:16px}@media (max-width:600px){.assessment-heading{flex-wrap:wrap;gap:12px}.assessment-total{flex-basis:auto;align-items:center;gap:12px;padding:8px 14px;display:flex}.assessment-total span{font-size:14px}.assessment-item-heading{flex-wrap:wrap;gap:4px 12px}.assessment-editor,.assessment-list li{padding:14px}.assessment-name-marks{grid-template-columns:minmax(0,1fr) 90px;gap:10px}.assessment-form .form-grid{grid-template-columns:1fr;gap:0}.subject-detail>.button{width:100%}}.week-pending{background:#faf8fd;border:1px dashed #cbbadb;border-radius:12px;margin-bottom:16px;padding:16px}.week-pending h4{color:var(--primary);flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:12px;font-size:14px;font-weight:600;line-height:1.8;display:flex}.week-pending h4>span{margin-inline-start:auto;font-size:13px}.week-pending-list{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:10px;display:grid}.week-pending-compact{border:0;border-bottom:1px dashed #d8cce5;border-radius:0;margin:0;padding:12px}.week-pending-compact h4{margin-bottom:8px}.week-pending-compact .week-pending-list{grid-template-columns:1fr;gap:7px}.week-pending-compact .event-chip{padding:7px 9px;font-size:14px}.week-pending-compact .event-chip-main>span{white-space:normal;overflow-wrap:anywhere}.week-pending-compact .event-time{display:none}.week-pending .event-meta{font-size:13px}.week-schedule-hint{margin:-5px 0 20px;line-height:1.9}.detail-week-range{color:var(--muted);margin-top:6px;font-size:14px;display:block}.day-week-context{color:var(--primary);background:#faf8fd;border:1px dashed #cbbadb;border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px;padding:18px;display:flex}.day-week-context p{flex:200px;font-size:14px;line-height:1.9}.day-week-context .text-button{font-size:14px}.assessment-results-summary{background:#faf8fd;border:1px solid #ded5e9;border-radius:12px;margin:0 0 22px;padding:16px 18px}.assessment-results-summary>div{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;display:flex}.assessment-results-summary span{color:var(--muted);font-size:14px}.assessment-results-summary strong{color:var(--primary);font-size:19px}.assessment-results-summary p{color:var(--muted);margin-top:8px;font-size:14px}.assessment-result-row{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:14px;padding-top:12px;display:flex}.result-status{color:#72687d;background:#f1eef4;border-radius:6px;padding:4px 9px;font-size:14px}.result-awaiting_grade{color:#87611a;background:#fff4dd}.result-graded{color:#316951;background:#eaf4ef}.earned-score{color:var(--ink);font-size:16px}.assessment-result-row .text-button{min-height:36px;margin-inline-start:auto;font-size:14px}.result-form{border-top:1px dashed var(--border);margin-top:16px;padding-top:16px}.result-fields label,.result-form label{font-size:14px}.result-calendar-note{color:var(--muted);margin:0 0 18px;font-size:14px;line-height:1.9}.assessment-editor .result-fields{border-top:1px solid var(--border);margin-top:18px;padding-top:18px}@media (max-width:600px){.result-fields.form-grid{grid-template-columns:1fr;gap:0}.assessment-results-summary{padding:14px}.result-form .form-actions{flex-wrap:wrap}}html[data-theme=ocean]{--bg:#f4f8fb;--surface:#fff;--ink:#203745;--muted:#526c7b;--primary:#245f85;--primary-dark:#184662;--primary-soft:#e3eff7;--border:#cfdee8;--brand-plum:#184662;--brand-lavender:#7fa9c4;--brand-paper:#f4f8fb}html[data-theme=forest]{--bg:#f5f8f1;--surface:#fff;--ink:#293a27;--muted:#5d6d55;--primary:#496343;--primary-dark:#30472c;--primary-soft:#e8efdf;--border:#d7e0cf;--brand-plum:#30472c;--brand-lavender:#8ca27a;--brand-paper:#f5f8f1}html[data-theme=rose]{--bg:#fff7f7;--surface:#fff;--ink:#482d35;--muted:#805b66;--primary:#99465e;--primary-dark:#773148;--primary-soft:#f8e6eb;--border:#efd6dd;--brand-plum:#773148;--brand-lavender:#c5889a;--brand-paper:#fff7f7}html[data-theme=sand]{--bg:#faf7ef;--surface:#fffefa;--ink:#443827;--muted:#756650;--primary:#80603b;--primary-dark:#5e4327;--primary-soft:#f1e8d6;--border:#e4d9c4;--brand-plum:#5e4327;--brand-lavender:#b5a07a;--brand-paper:#faf7ef}.personalization fieldset{border:0;margin:22px 0 0;padding:0}.personalization legend{margin-bottom:12px;font-weight:600}.theme-options{flex-wrap:wrap;gap:10px;display:flex}.theme-options button{border:1px solid var(--border);background:var(--surface);border-radius:10px;align-items:center;gap:8px;padding:12px;display:flex}.theme-options button>span:first-child{border-radius:50%;width:22px;height:22px}.address-options button[aria-pressed=true],.theme-options button[aria-pressed=true]{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-dark);box-shadow:inset 0 0 0 1px var(--primary)}.theme-check{font-weight:700}.address-options{flex-wrap:wrap;gap:10px;margin:16px 0;display:flex}.address-options button{background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:10px 18px}.countdown-intro{align-items:center;gap:18px;margin-bottom:24px;display:flex}.countdown-intro>svg{color:var(--primary)}.countdown-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0;display:grid}.countdown-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:28px}.countdown-card h2{overflow-wrap:anywhere;margin:12px 0 4px}.countdown-card>p{color:var(--muted)}.countdown-first{border-top:4px solid var(--primary)}.countdown-digits{justify-content:space-between;gap:8px;margin:30px 0;display:flex}.countdown-digits div{text-align:center;flex:1;min-width:0}.countdown-digits strong{color:var(--primary-dark);font-variant-numeric:tabular-nums;font-size:clamp(26px,4vw,48px);line-height:1.4;display:block}.countdown-digits span{color:var(--muted);font-size:12px}.countdown-today{color:var(--primary);margin:24px 0;font-size:44px;display:block}.countdown-empty{text-align:center;background:var(--surface);border:1px dashed var(--border);border-radius:18px;margin:24px 0;padding:60px 20px}.countdown-empty p{margin:12px 0 24px}.countdown-notice{background:var(--primary-soft);border-radius:10px;margin-top:16px;padding:14px}nav a[aria-current=page]{color:var(--primary);border-bottom:3px solid var(--primary)}@media (max-width:700px){.countdown-grid{grid-template-columns:1fr}.countdown-card{padding:20px}.header-inner nav{max-width:100%;overflow-x:auto}.header-inner nav>*{flex-shrink:0}}.exam-files{border-block:1px solid var(--border,#e5dcea);margin-block:1rem;padding-block:1.25rem}.exam-files h3{align-items:center;gap:.5rem;display:flex}.exam-files p{margin-block:.65rem;font-size:.875rem}.exam-files ul{padding:0;list-style:none}.exam-files li{align-items:center;gap:.5rem;padding-block:.65rem;display:flex}.exam-files li>span{overflow-wrap:anywhere;flex:1;min-width:0}.language-switcher{color:var(--muted);align-items:center;gap:10px;font-size:14px;display:inline-flex}.language-switcher select{background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:9px;min-height:42px;padding:8px 12px}.language-switcher select:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.auth-topbar{justify-content:space-between;align-items:center;gap:24px;display:flex}.auth-topbar .brand-link{flex-shrink:0}.language-switcher--compact{background:var(--surface);border:1px solid var(--border);min-height:44px;color:var(--muted);border-radius:12px;flex-shrink:0;gap:6px;padding-inline:10px 4px}.language-switcher--compact select{border:0;border-radius:8px;min-height:42px;padding:6px;font-size:13px}.header-inner.drawer-header{direction:rtl;flex-wrap:nowrap;height:82px;padding-block:12px;display:flex}.header-brand-controls{align-items:center;gap:18px;display:flex}html[dir=ltr] .drawer-header .account-control{direction:ltr}@media (max-width:640px){.header-inner.drawer-header{height:74px}.header-brand-controls{gap:10px}.auth-topbar{gap:12px}}@media (max-width:360px){.auth-topbar .brand{width:115px}}html[dir=ltr] body{text-align:start}html[dir=ltr] .direction-icon{transform:scaleX(-1)}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.mobile-account-links,.mobile-course-files,.mobile-semester-caption,.mobile-subject-tabs{display:none}@media (max-width:640px){.app-shell{padding-bottom:env(safe-area-inset-bottom)}.app-header{border:0;background:var(--bg)}.header-inner{display:flex;height:74px;min-height:0;padding:10px 20px;gap:15px}.app-header .header-inner nav{display:none}.header-inner .brand{width:105px}.account-control .profile-button{display:flex;min-height:44px;min-width:44px;justify-content:center}.account-control .profile-name,.account-control>.icon-button{display:none}.account-control .avatar{height:38px;width:38px;font-size:16px}.main-container{padding:10px 20px 22px;min-height:0}.page-heading{position:relative;padding-bottom:0;margin-bottom:16px;display:block}.page-heading>div:first-child{padding-inline-end:52px}.page-heading .heading-eyebrow,.page-heading .semester-label,.page-heading .semester-meta{display:none}.page-heading h1{font-size:27px;line-height:1.5}.mobile-semester-caption{display:block;color:var(--muted);font-size:12px;margin-top:3px}.page-heading .heading-actions{margin:7px 0 0;width:auto;display:block}.page-heading .semester-picker select{border:0;background-color:transparent;color:var(--muted);padding-inline-start:0;min-height:36px;max-width:240px;font-size:12px}.page-heading .mobile-heading-add{position:absolute;inset-inline-end:0;top:2px;height:44px;width:44px;min-height:44px;padding:0;border-radius:14px}.mobile-heading-add span{display:none}.planner-toolbar{border:0;gap:8px;padding:0;margin-bottom:7px}.view-tabs{flex-direction:row-reverse;border-radius:12px;padding:4px}.view-tabs button{min-height:40px;border-radius:9px;padding:7px 3px}.view-tabs button svg{display:none}.toolbar-end{flex-wrap:wrap;gap:0}.date-nav{order:-1;flex-basis:100%;justify-content:space-between;padding:3px 0}.date-nav>span{font-size:12px;flex:1;text-align:center;min-width:0}.date-nav .icon-button{min-width:44px;min-height:44px}.toolbar-end .filter-toggle{border:0;background:transparent;padding-inline-end:0;min-height:44px}.toolbar-end .today-button{padding-inline-start:0;min-height:44px}.filter-selects select{font-size:16px}.mobile-upcoming{display:flex;width:100%;text-align:start;gap:14px;align-items:center;background:none;border:0;border-top:1px solid var(--border);margin-top:18px;padding:16px 0}.mobile-upcoming-number{display:block;background:var(--primary-soft);color:var(--primary);padding:8px 10px;border-radius:12px;font-size:10px;text-align:center}.mobile-upcoming-number b{display:block;font-size:24px}.mobile-upcoming strong{font-size:14px}.mobile-upcoming small{display:block;color:var(--muted);font-size:11px}.mobile-upcoming-link{display:flex;align-items:center;color:var(--primary);font-size:12px;margin-top:4px}.mobile-week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin:0 0 20px}.mobile-week-strip button{min-height:72px;min-width:0;border:0;border-radius:13px;background:transparent;color:var(--muted);padding:6px 0;display:flex;flex-direction:column;align-items:center;gap:3px}.mobile-week-strip button>span{font-size:10px}.mobile-week-strip b{font-size:19px;font-weight:600;color:var(--ink)}.mobile-week-strip i{width:4px;height:4px;border-radius:50%}.mobile-week-strip i.has-events{background:var(--primary)}.mobile-week-strip .selected{background:var(--primary);color:white}.mobile-week-strip .selected b{color:white}.mobile-week-strip .selected i.has-events{background:white}.mobile-day-heading{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:12px}.mobile-day-heading h2{font-size:16px}.mobile-day-heading h2 small,.mobile-day-heading>span{font-size:11px;color:var(--muted);font-weight:400}.mobile-event{width:100%;border:1px solid var(--border);border-radius:14px;background:var(--surface);padding:14px 12px;display:flex;align-items:center;gap:10px;text-align:start;margin-bottom:10px;min-height:80px}.mobile-event-line{width:3px;align-self:stretch;border-radius:4px;background:var(--tone-ink,var(--primary));flex-shrink:0}.mobile-event-copy{flex:1;min-width:0}.mobile-event-copy strong{display:flex;align-items:center;gap:4px;font-size:14px;font-weight:600;overflow-wrap:anywhere}.mobile-event-copy small{color:var(--muted);display:block;font-size:11px;margin-top:3px}.mobile-event-time{font-size:11px;max-width:60px;text-align:center}.mobile-event>svg{color:var(--muted)}.mobile-event.completed strong{text-decoration:line-through}.mobile-add-day{font-size:12px;min-height:44px}.mobile-quiet-day{display:grid;justify-items:center;color:var(--muted);border:1px dashed var(--border);border-radius:14px;padding:25px 15px;gap:8px}.mobile-week .week-pending{margin-top:14px;padding:13px;background:var(--primary-soft)}.mobile-week .week-pending h4{font-size:12px}.semester-grid{grid-template-columns:1fr}.semester-day .day-label{min-width:54px}.semester-day .day-events{min-width:0}.semester-day .event-chip{height:auto;min-height:36px;width:100%}.semester-day .event-chip-main>span{display:block;overflow:visible;white-space:normal;overflow-wrap:anywhere}.subjects-grid{gap:12px;margin-top:0}.subject-card{padding:15px;border-radius:15px;gap:10px}.subject-card h2{font-size:17px}.subject-card-open{gap:11px}.subject-open-hint{font-size:11px}.subject-card-actions{padding-top:8px}.subject-card-actions .button{min-height:44px}.settings-grid{gap:14px}.settings-card{padding:18px}.mobile-account-links{display:flex;flex-direction:column;align-items:stretch;gap:8px}.mobile-account-links h2{margin-bottom:4px}.modal:not(.confirm-modal){top:auto;bottom:0;left:0;transform:none;width:100%;max-width:100%;max-height:calc(100dvh - env(safe-area-inset-top) - 30px);border-radius:25px 25px 0 0;padding:13px 20px max(24px,env(safe-area-inset-bottom));scroll-padding-bottom:24px}.modal:not(.confirm-modal):before{content:"";display:block;height:4px;width:36px;background:var(--border);border-radius:5px;margin:0 auto 15px}.modal-heading .icon-button{min-width:44px;min-height:44px;color:var(--primary)}.mobile-subject-tabs,.modal-heading .icon-button{background:var(--primary-soft);border-radius:12px}.mobile-subject-tabs{display:flex;padding:4px;margin-bottom:18px;gap:3px}.mobile-subject-tabs button{flex:1;min-height:44px;background:transparent;border:0;font-size:12px;border-radius:9px}.mobile-subject-tabs button[aria-pressed=true]{background:var(--surface);font-weight:650}.subject-tab-files .subject-detail{display:none}.subject-tab-files .mobile-course-files{display:block}.subject-tab-grades .subject-detail:not([data-editing=true]) .course-notes,.subject-tab-notes .subject-detail:not([data-editing=true])>:not(.course-notes):not(.button){display:none}.course-file-event{border:1px solid var(--border);border-radius:12px;margin-top:12px;padding:10px}.course-file-toggle{border:0;display:flex;align-items:center;gap:10px;width:100%;min-height:55px;text-align:start;background:transparent}.course-file-toggle>span{flex:1;min-width:0}.course-file-toggle strong{font-size:13px;display:block;overflow-wrap:anywhere}.course-file-toggle small{display:block;font-size:11px;color:var(--muted)}.course-files-empty{padding:20px 0;color:var(--muted)}.countdown-intro{display:none}.countdown-grid{gap:14px}.countdown-card{border-radius:17px;padding:18px}.countdown-card h2{font-size:20px;overflow-wrap:anywhere}.countdown-digits{gap:8px}.countdown-digits strong{font-size:28px}.countdown-digits>div{min-width:0;flex:1}.planner-footer{margin-top:18px}}.tasks-page{max-width:1100px;margin:0 auto}.tasks-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:15px 0 32px}.tasks-heading h1{font-size:36px;margin:4px 0;letter-spacing:-.8px}.tasks-heading p{margin:0;color:var(--muted)}.tasks-heading .button{white-space:nowrap}.tasks-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:16px;border-bottom:1px solid var(--border);padding-bottom:18px}.tasks-tabs{display:flex;background:var(--primary-soft);padding:4px;border-radius:12px;gap:4px}.tasks-tabs button{min-width:90px;min-height:44px;padding:6px 16px;border:0;background:transparent;border-radius:9px}.tasks-tabs button[aria-pressed=true]{background:var(--surface);color:var(--primary);font-weight:650}.tasks-period-nav{display:flex;align-items:center;gap:6px;flex:1;justify-content:center}.tasks-period-nav>span{text-align:center;font-size:13px}.tasks-period-nav .icon-button{min-width:44px;min-height:44px}.tasks-date-actions{display:flex;align-items:center;gap:10px}.tasks-date-actions input{max-width:150px;min-height:44px;padding:8px;color:var(--muted);font-size:12px}.tasks-date-actions .text-button{min-height:44px;white-space:nowrap}.tasks-progress{display:flex;align-items:center;gap:15px;margin:25px 0 12px;font-size:12px;color:var(--muted)}.tasks-progress progress{flex:1;width:100%;max-width:230px;height:6px;appearance:none;border:0;border-radius:5px;background:var(--primary-soft);accent-color:var(--primary)}.tasks-progress progress::-webkit-progress-bar{background:var(--primary-soft);border-radius:5px}.tasks-progress progress::-webkit-progress-value{background:var(--primary);border-radius:5px}.tasks-progress progress::-moz-progress-bar{background:var(--primary);border-radius:5px}.tasks-filters{display:flex;gap:6px;margin-bottom:24px}.tasks-filters button{background:none;border:0;border-bottom:2px solid transparent;min-height:44px;padding:6px 14px;color:var(--muted);font-size:13px}.tasks-filters button[aria-pressed=true]{color:var(--primary);border-color:var(--primary);font-weight:650}.tasks-week-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:26px;align-items:start}.task-group{margin-bottom:24px;min-width:0}.task-group h2{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:17px}.task-group h2 span{margin-inline-start:auto;font-size:12px;color:var(--muted);font-weight:400}.task-week-goals{padding:20px;background:var(--primary-soft);border-radius:16px}.task-week-goals .text-button{margin-top:14px;min-height:44px}.task-group-hint{color:var(--muted);font-size:12px;margin:0 0 15px}.task-list{padding:0;margin:0;list-style:none;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--surface)}.task-row{display:flex;align-items:flex-start;gap:10px;padding:17px 12px}.task-row+.task-row{border-top:1px solid var(--border)}.task-check{flex-shrink:0;border:0;background:transparent;padding:0;position:relative;width:44px;height:44px;display:grid;place-items:center;color:var(--primary)}.task-check:before{content:"";position:absolute;inset:10px;border:1.5px solid var(--muted);border-radius:7px}.task-check[aria-checked=true]:before{background:var(--primary);border-color:var(--primary)}.task-check svg{z-index:1;color:white}.task-copy{flex:1;min-width:0;padding-top:9px}.task-copy strong{font-size:15px;font-weight:600;overflow-wrap:anywhere}.task-copy p{font-size:12px;color:var(--muted);margin:5px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.task-copy small{display:block;font-size:11px;color:var(--muted);margin-top:7px}.task-done .task-copy strong{text-decoration:line-through;color:var(--muted)}.task-row-actions{display:flex;flex-direction:column}.task-row-actions .icon-button{width:44px;height:44px}.tasks-empty{text-align:center;padding:45px 20px;border:1px dashed var(--border);border-radius:16px;color:var(--muted)}.tasks-empty svg{margin:0 auto}.tasks-empty h2{font-size:20px;color:var(--ink);margin-top:12px}.tasks-empty p{margin:10px auto 20px}.tasks-empty .button{display:inline-flex}.tasks-footnote{color:var(--muted);font-size:12px;margin:26px 0}.tasks-status{display:flex;align-items:center;flex-direction:column;gap:15px;padding:45px 10px}.task-form{display:grid;gap:18px}.task-form label{display:block;font-weight:600}.task-form input,.task-form select,.task-form textarea{display:block;width:100%;margin-top:7px;font-weight:400}.task-form .field-hint{margin:-10px 0 0}@media (max-width:900px){.tasks-toolbar{gap:10px}.tasks-date-actions{width:100%;justify-content:flex-end}.tasks-week-layout{gap:16px}}@media (max-width:640px){.tasks-heading{margin:2px 0 22px;align-items:flex-start;gap:8px}.tasks-heading .tiny-label{display:none}.tasks-heading h1{font-size:27px}.tasks-heading p{font-size:12px}.tasks-heading .button{min-height:44px;font-size:12px;padding:8px 11px;margin-top:4px}.tasks-tabs{width:100%}.tasks-tabs button{flex:1}.tasks-period-nav{flex-basis:100%}.tasks-period-nav>span{flex:1;font-size:12px}.tasks-date-actions{justify-content:space-between}.tasks-toolbar{padding-bottom:12px;gap:6px}.tasks-progress{gap:9px;font-size:11px}.tasks-progress span{white-space:nowrap}.tasks-filters{margin-bottom:18px}.tasks-week-layout{display:block}.task-week-goals{padding:14px}.task-row{padding:10px 3px;gap:3px}.task-copy strong{font-size:14px}.task-group h2{font-size:15px}.task-group h2 span{font-size:11px}.task-form input,.task-form select,.task-form textarea{font-size:16px}.tasks-empty{padding:30px 15px}}.lectures-page{max-width:1160px;margin:0 auto;padding-top:18px}.lectures-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:25px}.lectures-heading h1{font-size:30px;margin:0 0 8px;line-height:1.5}.lecture-semester select{width:auto;border:0;background:transparent;padding:4px 0;color:var(--muted);font-size:14px}.lectures-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;border-block:1px solid var(--border);padding:16px 0}.lecture-calendar-actions,.lecture-week-nav{display:flex;gap:10px;align-items:center}.lecture-week-nav>div{display:grid;text-align:center;min-width:170px;gap:3px}.lecture-week-nav strong{font-size:18px}.lecture-today-heading{display:grid;gap:3px}.lecture-today-heading strong{font-size:18px}.lecture-today-heading span,.lecture-week-nav span,.lecture-week-summary{font-size:14px;color:var(--muted)}.lecture-calendar-actions input{width:148px;min-height:42px}.lecture-view-switch{display:flex;gap:3px;background:var(--primary-soft);padding:4px;border-radius:12px}.lecture-view-switch button{display:flex;align-items:center;gap:6px;padding:7px 12px;min-height:40px;border-radius:9px;font-size:14px}.lecture-view-switch button[aria-pressed=true]{background:var(--surface);color:var(--primary-dark);box-shadow:0 2px 5px #00000009}.lecture-week-summary{display:flex;justify-content:space-between;gap:12px;margin:19px 0 26px}.lecture-agenda,.lecture-today{max-width:790px;margin:0 auto}.lecture-day{display:grid;grid-template-columns:72px minmax(0,1fr);gap:22px;padding-bottom:24px}.lecture-day-date{display:flex;flex-direction:column;align-items:center;gap:2px;padding-top:4px;font-size:14px;color:var(--muted)}.lecture-day-date strong{font-size:27px;font-weight:500;line-height:1.6;color:var(--ink);width:48px;text-align:center}.lecture-day-date small{font-size:12px;color:var(--primary)}.lecture-day.is-today .lecture-day-date strong{background:var(--primary);color:#fff;border-radius:50%}.lecture-day-content{display:grid;align-content:start;gap:10px;min-width:0}.lecture-card{display:block;width:100%;text-align:start;border:1px solid transparent;border-inline-start:4px solid color-mix(in srgb,var(--lecture-ink) 65%,transparent);border-radius:11px;padding:15px 19px;background:var(--lecture-bg);color:var(--lecture-ink);transition:filter .12s}.lecture-card:hover{filter:brightness(.975)}.lecture-card strong{display:block;font-size:18px;font-weight:650;line-height:1.6;margin-bottom:6px;overflow-wrap:anywhere}.lecture-card-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:7px;font-size:14px;margin-bottom:5px}.lecture-card-top span:last-child,.lecture-time{display:flex;align-items:center;gap:7px}.lecture-time{font-size:16px;line-height:1.8}.lecture-time svg{flex:0 0 auto}.lecture-card p{font-size:14px;line-height:1.7;margin:5px 0 0;overflow-wrap:anywhere}.lecture-conflict{display:block;margin-top:8px;font-size:14px;font-weight:600}.lecture-free{color:var(--muted);font-size:14px;margin:0;padding:18px 5px;border-bottom:1px solid var(--border)}.lecture-week{display:flex;overflow-x:auto;gap:12px;padding-bottom:12px}.lecture-week .lecture-day{display:block;flex:1 0 160px;min-width:160px;padding-bottom:0}.lecture-week .lecture-day-date{margin-bottom:14px}.lecture-week .lecture-card{padding:12px}.lecture-week .lecture-card strong{font-size:16px}.lecture-week .lecture-time{font-size:14px;flex-wrap:wrap}.lecture-footer{gap:8px;font-size:14px;color:var(--muted);margin:25px 0}.lecture-footer,.lecture-status{display:flex;justify-content:center;align-items:center}.lecture-status{min-height:220px;flex-direction:column;gap:15px}.lecture-empty{text-align:center;padding:35px 15px 45px}.lecture-empty>svg{color:var(--primary)}.lecture-empty h2{font-size:22px;margin:12px 0}.lecture-empty p{font-size:16px;margin-bottom:23px;color:var(--muted)}.lecture-form fieldset{border:0;padding:0;margin:0;display:grid;gap:18px;min-width:0}.lecture-field-label,.lecture-form label{display:block;font-size:14px;font-weight:600}.lecture-form label>input,.lecture-form label>select,.lecture-form label>textarea{display:block;width:100%;margin-top:7px;font-size:16px}.lecture-form-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.lecture-day-choices{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.lecture-day-choices button{border:1px solid var(--border);border-radius:9px;padding:8px 10px;min-height:44px;font-size:14px}.lecture-day-choices button[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:white}.lecture-optional{color:var(--muted);font-weight:400}.lecture-form .form-actions{margin-top:25px;flex-wrap:wrap}@media (max-width:640px){.lectures-page{padding-top:0}.lectures-heading{margin-bottom:14px;gap:10px}.lectures-heading h1{font-size:25px}.lecture-add{padding:10px;min-height:46px;font-size:13px;gap:4px}.lectures-toolbar{gap:12px;padding:12px 0}.lecture-week-nav{width:100%;justify-content:space-between}.lecture-calendar-actions{flex:1;flex-wrap:wrap;gap:8px}.lecture-calendar-actions .button{font-size:14px;padding:6px 10px;min-height:42px}.lecture-calendar-actions input{width:133px;font-size:14px}.lecture-view-switch{width:100%}.lecture-view-switch button{flex:1;justify-content:center}.lecture-week-summary{margin:16px 0 20px;font-size:12px}.lecture-day{grid-template-columns:47px minmax(0,1fr);gap:12px;padding-bottom:24px}.lecture-day-date{font-size:12px}.lecture-day-date strong{font-size:24px;width:42px;line-height:1.75}.lecture-card{padding:11px 12px}.lecture-card strong{font-size:16px}.lecture-card-top{font-size:13px}.lecture-time{font-size:14px}.lecture-footer{align-items:flex-start;font-size:13px}.lecture-footer svg{flex:0 0 auto;margin-top:3px}}@media (max-width:360px){.lectures-heading{align-items:flex-start}.lecture-add span{max-width:60px}.lecture-form-pair{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.lecture-card{transition:none}}.lecture-course-code{display:block;font-size:13px;margin:-2px 0 7px;overflow-wrap:anywhere}.lecture-modal,.lecture-modal .modal-heading{--surface:#fff;background:#fff;color-scheme:light}.lecture-form input,.lecture-form select,.lecture-form textarea{background:#fff;color:var(--ink);border:1px solid var(--border);border-radius:8px;padding:10px 12px;min-height:44px}.lecture-form textarea{resize:vertical;min-height:88px}.lecture-save-status{color:var(--muted);font-size:14px;line-height:1.8;margin:15px 0}.lecture-details dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}.lecture-details dt{color:var(--muted);font-size:13px;margin-bottom:5px}.lecture-details dd{margin:0;font-size:16px;line-height:1.8;overflow-wrap:anywhere}.lecture-details-notes{margin:24px 0;border-top:1px solid var(--border);padding-top:18px}.lecture-details h3{font-size:15px;margin:0 0 8px}.lecture-details-notes p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;margin:0}.lecture-details .form-actions{margin-top:25px}.lecture-day.is-today{background:transparent}@media (max-width:360px){.lecture-details dl{grid-template-columns:1fr}}