@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--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;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:-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-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{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}html,:host{-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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{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}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,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{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-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{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.isolate{isolation:isolate}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.grayscale{--tw-grayscale:grayscale(100%);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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}}.schoology-file-label{margin:12px 0;display:inline-flex;position:relative;overflow:hidden}.schoology-file-label input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.schoology-settings .actions{flex-wrap:wrap;margin:12px 0}.schoology-settings .announcement{margin:12px 0}.schoology-coverage{margin-top:14px}.schoology-coverage p{overflow-wrap:anywhere;margin:10px 0}.source-coverage{margin-bottom:14px}:root{--paper:#090705;--paper-deep:#040302;--paper-raised:#120f0b;--paper-soft:#191511;--ink:#f1eade;--ink-soft:#bfbab0;--ink-muted:#908c84;--ink-faint:#534f4a;--line:#8a867e;--line-soft:#35322d;--chalk-fill:#e7e0d4;--chalk-ink:#090705;--alert-red:#d8151e;--alert-ink:#f1eade;--danger:var(--ink);--warning:var(--ink-soft);--text:var(--ink);--muted:var(--ink-muted);--subtle:var(--ink-faint);--accent:var(--ink);--accent-ink:var(--paper);--panel:var(--paper-raised);--panel-2:var(--paper-soft);--panel-3:#221f1a;--radius:3px;--font-display:"Marker Felt", "Chalkboard SE", "Bradley Hand", "Segoe Print", cursive;--font-body:"Avenir Next", Avenir, "Trebuchet MS", ui-sans-serif, sans-serif;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-state:cubic-bezier(.65, 0, .35, 1);--shadow-float:10px 14px 0 #00000047;--shadow-card:4px 6px 0 #00000038;--shadow-card-soft:4px 6px 0 #0000002e;--shadow-card-hover:7px 10px 0 #00000047;--shadow-drag:12px 16px 0 #00000057;--shadow-control:3px 4px 0 #00000059;--shadow-header:0 9px 24px #00000038;--shadow-text:-1px 2px 0 #000c;--shadow-doodle:1px 1px 0 #00000080;--texture-blend:screen;--contour-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M2 4 Q18 1 34 3 T66 2 T98 4 Q100 20 98 38 T99 69 T96 97 Q78 99 60 97 T27 99 T3 96 Q1 76 3 56 T2 4Z' fill='none' stroke='%23d8d2c5' stroke-width='.75' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E")}@supports (color:lab(0% 0 0)){:root{--paper:lab(1.98744% .323899 1.07082);--paper-deep:lab(.904613% .143103 .47622);--paper-raised:lab(4.44436% .686906 2.2975);--paper-soft:lab(7.23656% .926107 3.21851);--ink:lab(93.0972% .880331 6.85806);--ink-soft:lab(75.6877% .732839 5.71457);--ink-muted:lab(58.2782% .585437 4.57107);--ink-faint:lab(33.9111% .500947 3.81857);--line:lab(55.9581% .587553 4.57256);--line-soft:lab(21.1498% .52394 3.83589);--chalk-fill:lab(89.617% .883639 6.8604);--chalk-ink:lab(1.98744% .323899 1.07082);--alert-red:lab(46.7455% 69.423 50.7381);--alert-ink:lab(93.0972% .880331 6.85806);--panel-3:lab(11.8522% .957541 3.76855)}}html[data-theme=light]{--paper:#f5eee1;--paper-deep:#e8e0d2;--paper-raised:#fdf8f0;--paper-soft:#f0e7d6;--ink:#1d1711;--ink-soft:#423c34;--ink-muted:#5a544d;--ink-faint:#7f7973;--line:#665f58;--line-soft:#bab3a8;--chalk-fill:#241e18;--chalk-ink:#f7f1e6;--alert-red:#b7191c;--alert-ink:#f9f5ec;--danger:var(--ink);--warning:var(--ink-soft);--text:var(--ink);--muted:var(--ink-muted);--subtle:var(--ink-faint);--accent:var(--ink);--accent-ink:var(--paper);--panel:var(--paper-raised);--panel-2:var(--paper-soft);--panel-3:#e3dac9;--shadow-float:10px 14px 0 #44382729;--shadow-card:4px 6px 0 #44382724;--shadow-card-soft:4px 6px 0 #4438271c;--shadow-card-hover:7px 10px 0 #44382729;--shadow-drag:12px 16px 0 #44382733;--shadow-control:3px 4px 0 #44382733;--shadow-header:0 9px 24px #4438271f;--shadow-text:-1px 2px 0 #fffcf4e6;--shadow-doodle:1px 1px 0 #fffcf4cc;--texture-blend:multiply;--contour-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M2 4 Q18 1 34 3 T66 2 T98 4 Q100 20 98 38 T99 69 T96 97 Q78 99 60 97 T27 99 T3 96 Q1 76 3 56 T2 4Z' fill='none' stroke='%23514b42' stroke-width='.75' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E")}@supports (color:lab(0% 0 0)){html[data-theme=light]{--paper:lab(94.2573% .879318 6.85731);--paper-deep:lab(89.6254% 1.05089 8.01824);--paper-raised:lab(97.7195% .562727 4.55543);--paper-soft:lab(91.9563% 1.27852 9.56579);--ink:lab(8.3614% 1.80754 5.08666);--ink-soft:lab(25.7678% 1.81344 5.94881);--ink-muted:lab(36.2096% 1.53576 5.16418);--ink-faint:lab(51.2901% 1.28159 4.40105);--line:lab(40.8501% 1.52594 5.15677);--line-soft:lab(73.376% .902385 6.87391);--chalk-fill:lab(11.8433% 1.77246 5.64328);--chalk-ink:lab(95.4115% .770986 6.08798);--alert-red:lab(40.095% 59.891 42.9038);--alert-ink:lab(96.5595% .563145 4.55573);--panel-3:lab(87.3133% 1.22789 9.18362)}}*{box-sizing:border-box}html{background:var(--paper-deep);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:radial-gradient(ellipse at 18% 12%, var(--ink), transparent 26rem), radial-gradient(ellipse at 82% 64%, var(--ink), transparent 32rem), repeating-linear-gradient(97deg, transparent 0 88px, var(--ink) 89px, transparent 90px 170px), var(--paper);min-height:100dvh;margin:0;overflow-x:clip}@supports (color:color-mix(in lab, red, red)){body{background:radial-gradient(ellipse at 18% 12%, color-mix(in oklch, var(--ink) 2.5%, transparent), transparent 26rem), radial-gradient(ellipse at 82% 64%, color-mix(in oklch, var(--ink) 1.8%, transparent), transparent 32rem), repeating-linear-gradient(97deg, transparent 0 88px, color-mix(in oklch, var(--ink) 1.2%, transparent) 89px, transparent 90px 170px), var(--paper)}}body{color:var(--text);font-family:var(--font-body);letter-spacing:-.012em;font-size:15px}body:before{z-index:1000;pointer-events:none;content:"";opacity:.28;background:linear-gradient(7deg, transparent 11%, var(--ink) 11.15%, transparent 11.3%), linear-gradient(-4deg, transparent 69%, var(--ink) 69.1%, transparent 69.25%), repeating-radial-gradient(circle at 30% 20%, var(--ink) 0 .5px, transparent .7px 5px);position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){body:before{background:linear-gradient(7deg, transparent 11%, color-mix(in oklch, var(--ink) 3.5%, transparent) 11.15%, transparent 11.3%), linear-gradient(-4deg, transparent 69%, color-mix(in oklch, var(--ink) 2.5%, transparent) 69.1%, transparent 69.25%), repeating-radial-gradient(circle at 30% 20%, color-mix(in oklch, var(--ink) 2.8%, transparent) 0 .5px, transparent .7px 5px)}}body:before{mix-blend-mode:var(--texture-blend)}html.theme-changing body,html.theme-changing .app-header,html.theme-changing .widget,html.theme-changing .content-card,html.theme-changing .course-card,html.theme-changing .course-menu,html.theme-changing .popover,html.theme-changing .search-box,html.theme-changing .select,html.theme-changing .input,html.theme-changing .button,html.theme-changing .icon-button,html.theme-changing .segmented,html.theme-changing .calendar-day,html.theme-changing .calendar-event{transition:background-color .18s var(--ease-state), color .18s var(--ease-state), border-color .18s var(--ease-state), box-shadow .18s var(--ease-state)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}button,select{letter-spacing:.01em}::selection{background:var(--ink);color:var(--paper)}:focus-visible{outline:2px dashed var(--ink);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3,.brand,.button,.nav-link,.section-label,.eyebrow,.status-pill,.course-code,.course-index,.segmented,.material-kind{font-family:var(--font-display)}h1{letter-spacing:.015em;text-transform:uppercase;margin-bottom:8px;font-size:clamp(2.8rem,4.2vw,4.9rem);font-weight:700;line-height:.9}h2{letter-spacing:.025em;font-size:1.38rem;line-height:1}h3{font-size:1.05rem}.sketch-icon{flex:none;overflow:visible}.sketch-icon-echo{opacity:.24}.app-header{z-index:50;border-bottom:2px solid var(--ink-soft);background:var(--paper);grid-template-columns:220px minmax(450px,1fr) max-content;align-items:center;column-gap:16px;height:78px;padding:0 clamp(24px,3vw,48px);display:grid;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.app-header{background:color-mix(in oklch, var(--paper) 94%, transparent)}}.app-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}html[data-theme=light] .app-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:#f8f6ef}.app-header:after{content:"";opacity:.28;background:var(--ink);clip-path:polygon(0 45%,18% 12%,36% 56%,52% 20%,70% 58%,88% 26%,100% 50%,100% 76%,80% 60%,57% 88%,35% 62%,16% 92%,0 68%);height:3px;position:absolute;bottom:-6px;left:1.2%;right:2.5%}.brand{text-transform:uppercase;align-items:center;font-weight:700;display:flex}.brand-copy{line-height:1;display:grid}.brand-copy strong{letter-spacing:.08em;font-size:20px}.brand-copy small{color:var(--muted);font-family:var(--font-body);letter-spacing:.19em;text-transform:uppercase;margin-top:4px;font-size:8px;font-weight:650}.primary-nav{justify-content:center;align-items:stretch;gap:4px;height:100%;display:flex}.nav-link{min-width:112px;color:var(--muted);text-transform:uppercase;transition:color .12s linear, transform .22s var(--ease-out);justify-content:center;align-items:center;gap:8px;padding:0 13px;font-size:14px;font-weight:700;display:flex;position:relative}.nav-link:hover{color:var(--ink);transform:translateY(-1px)rotate(-.4deg)}.nav-link.active{color:var(--ink)}.nav-link.active:after{content:"";background:var(--ink);opacity:.78;clip-path:polygon(0 50%,12% 30%,24% 55%,38% 24%,52% 58%,67% 34%,81% 63%,100% 32%,99% 66%,81% 82%,66% 58%,52% 88%,37% 56%,24% 84%,11% 58%,0 76%);height:7px;position:absolute;bottom:14px;left:12px;right:12px}.nav-button{cursor:pointer;background:0 0;border:0;height:100%}.nav-dropdown{height:100%;position:relative}.chevron-open{transform:rotate(180deg)}.course-menu{overscroll-behavior:contain;border:2px solid var(--ink-soft);background:var(--paper-raised);width:298px;max-height:min(480px,100dvh - 96px);box-shadow:var(--shadow-float);animation:pop-in .26s var(--ease-out) both;padding:10px;position:absolute;top:68px;left:50%;overflow-y:auto;transform:translate(-50%)rotate(-.25deg)}.course-menu:after,.popover:after,.content-card:after,.course-card:after,.widget:after{z-index:-1;border:1px solid var(--ink-soft);position:absolute;inset:4px -5px -5px 3px}@supports (color:color-mix(in lab, red, red)){.course-menu:after,.popover:after,.content-card:after,.course-card:after,.widget:after{border:1px solid color-mix(in oklch, var(--ink-soft) 46%, transparent)}}.course-menu:after,.popover:after,.content-card:after,.course-card:after,.widget:after{content:"";pointer-events:none;transform:rotate(.22deg)}.course-menu-all{border-bottom:1px dashed var(--line);color:var(--muted);font-family:var(--font-display);text-transform:uppercase;padding:10px 12px 13px;font-size:13px;font-weight:700;display:block}.course-menu-item{transition:background .12s linear, transform .18s var(--ease-out);align-items:center;gap:12px;padding:12px;display:flex}.course-menu-item:hover,.course-menu-all:hover{color:var(--ink);background:var(--paper-soft);transform:translate(3px)}.course-menu-item strong,.course-menu-item small{display:block}.course-menu-item strong{margin-bottom:3px;font-size:13px}.course-menu-item small{color:var(--muted);font-size:10px}.course-menu-code{width:42px;color:var(--ink-soft);font-family:var(--font-display);letter-spacing:.08em;font-size:12px}.header-tools{justify-content:flex-end;align-items:center;gap:14px;display:flex}.header-tools>*{flex-shrink:0}.search-box{border:1.5px solid var(--line);background:var(--paper-raised);width:172px;height:38px;color:var(--muted);align-items:center;gap:9px;padding:0 11px;display:flex;transform:rotate(.2deg)}.search-box input{width:100%;color:var(--text);background:0 0;border:0;outline:0;font-size:12px}.search-box input::placeholder,textarea::placeholder{color:var(--ink-muted);opacity:1}.global-search{position:relative}.search-results{width:410px;max-height:min(560px,100vh - 105px);top:48px;right:0;overflow:auto}.search-results-heading{border-bottom:1px dashed var(--line);color:var(--ink);font-family:var(--font-display);letter-spacing:.07em;text-transform:uppercase;justify-content:space-between;padding:13px 15px 10px;font-size:13px;font-weight:750;display:flex}.search-results-heading span{color:var(--muted);font-size:9px}.search-result{border-bottom:1px dashed var(--line-soft);transition:transform .18s var(--ease-out), background .1s linear, color .1s linear;grid-template-columns:70px minmax(0,1fr) 18px;align-items:center;gap:12px;padding:12px 14px;display:grid}.search-result:last-of-type{border-bottom:0}.search-result:hover,.search-result:focus-visible{z-index:1;background:var(--ink);color:var(--paper);outline-offset:-3px;transform:translate(5px)rotate(-.25deg)}.search-result-kind{color:var(--muted);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:750}.search-result strong,.search-result small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.search-result strong{margin-bottom:4px;font-size:12px}.search-result small{color:var(--muted);font-size:10px}.search-result:hover .search-result-kind,.search-result:hover small,.search-result:focus-visible .search-result-kind,.search-result:focus-visible small{color:var(--paper)}.search-empty{color:var(--muted);font-family:var(--font-display);text-align:center;padding:28px 18px;font-size:13px;transform:rotate(-.5deg)}.icon-button{border:1.5px solid var(--line);background:var(--paper-raised);cursor:pointer;width:40px;height:40px;transition:transform .2s var(--ease-out), background .12s linear;border-radius:1px;flex-shrink:0;place-items:center;display:grid;position:relative}.icon-button:nth-of-type(2n){transform:rotate(.8deg)}.icon-button:hover{background:var(--ink);color:var(--paper);transform:translateY(-2px)rotate(-2deg)}.icon-button.active{background:var(--ink);color:var(--paper)}.unread-dot{background:var(--alert-red);min-width:19px;height:19px;color:var(--alert-ink);border:2px solid var(--paper);font-family:var(--font-display);border-radius:50% 46% 52% 43%;place-items:center;padding:0 4px;font-size:9px;font-weight:800;line-height:1;display:grid;position:absolute;top:-7px;right:-7px;transform:rotate(4deg)}.theme-toggle{transform:rotate(-.7deg)}.theme-toggle .sketch-icon{transition:transform .26s var(--ease-out)}.theme-toggle:hover .sketch-icon{transform:rotate(18deg)scale(1.12)}.notification-trigger{position:relative}.popover{z-index:20;border:2px solid var(--ink-soft);background:var(--paper-raised);width:380px;box-shadow:var(--shadow-float);animation:pop-in .26s var(--ease-out) both;position:absolute;top:51px;right:0}.popover-header{border-bottom:1px dashed var(--line);min-height:58px;font-family:var(--font-display);text-transform:uppercase;justify-content:space-between;align-items:center;padding:14px 17px;font-size:18px;font-weight:700;display:flex}.page-shell{width:min(1360px,100vw - 260px);margin:0 auto;padding:clamp(42px,5vw,72px) 0 92px}.page-heading{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:38px;display:flex}.page-heading>div{position:relative}.page-heading>div:after{content:"";opacity:.42;background:var(--ink);clip-path:polygon(0 42%,12% 26%,23% 58%,38% 25%,51% 68%,65% 36%,80% 60%,100% 35%,99% 72%,82% 79%,64% 60%,51% 93%,37% 54%,23% 86%,10% 57%,0 75%);height:7px;position:absolute;bottom:-14px;left:-6px;right:-22px}.eyebrow{color:var(--ink-soft);letter-spacing:.14em;text-transform:uppercase;margin:0 0 12px;font-size:12px;font-weight:750}.page-subtitle{max-width:62ch;color:var(--muted);margin-bottom:0;font-size:14px;line-height:1.55}.actions{align-items:center;gap:10px;display:flex}.button{border:1.5px solid var(--line);background:var(--paper-raised);text-transform:uppercase;cursor:pointer;min-height:38px;transition:transform .18s var(--ease-out), background .12s linear, color .12s linear;border-radius:1px;justify-content:center;align-items:center;gap:8px;padding:0 15px;font-size:13px;font-weight:700;display:inline-flex;position:relative}.button:after{border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);content:"";pointer-events:none;position:absolute;inset:3px -4px -4px 3px}.button:hover{background:var(--ink);color:var(--paper);transform:translateY(-2px)rotate(-.6deg)}.button.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.button.primary:hover{background:var(--paper);color:var(--ink)}.button.ghost{background:0 0;border-style:dashed}.button.danger{border-style:dashed}.button:disabled{opacity:.38;cursor:default;transform:none}.dashboard-grid{grid-template-columns:minmax(0,2fr) minmax(280px,1fr);align-items:start;gap:18px;display:grid}.dashboard-grid>[data-widget=notifications]{grid-column:1/-1;min-height:122px}.dashboard-sidebar{gap:18px;min-width:0;display:grid}.widget{z-index:0;border:2px solid var(--ink-soft);border-radius:var(--radius);background:var(--paper-raised);height:auto;min-height:0;box-shadow:var(--shadow-card);animation:widget-arrive .52s var(--ease-out) both;transition:transform .22s var(--ease-out), box-shadow .18s var(--ease-out);position:relative;overflow:visible}.widget:nth-child(2){animation-delay:60ms;transform:rotate(-.12deg)}.widget:nth-child(3){animation-delay:.11s;transform:rotate(.15deg)}.widget:nth-child(4){animation-delay:.15s;transform:rotate(-.08deg)}.widget-header{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:center;min-height:62px;padding:17px 20px 14px;display:flex}.widget-title{font-family:var(--font-display);letter-spacing:.045em;text-transform:uppercase;align-items:center;gap:10px;font-size:17px;font-weight:750;display:flex}.widget-kicker{color:var(--subtle);font-size:11px}.widget-body{scrollbar-width:thin;scrollbar-color:var(--line-soft) transparent;max-height:calc(100% - 62px);padding:18px 20px;overflow:auto}.notification-strip{grid-template-columns:180px 1fr auto auto;align-items:center;gap:24px;min-height:88px;padding:0 24px;display:grid}.notification-strip-link{cursor:pointer;width:100%;height:100%;min-height:100%;transition:background .14s linear;position:absolute;inset:0}.notification-strip-link>*{color:var(--ink)}.notification-strip-link .recent-note span{color:var(--ink-soft)}.notification-strip-link:hover{background:var(--paper-soft)}.notification-alert-mark{border:2px solid var(--alert-red);width:34px;height:34px;color:var(--alert-red);font-family:var(--font-display);border-radius:53% 47% 49% 51%;place-items:center;font-size:22px;font-weight:850;line-height:1;display:grid;transform:rotate(3deg)}.unread-count{align-items:center;gap:14px;display:flex}.unread-count strong{font-family:var(--font-display);text-transform:uppercase;font-size:15px;display:block}.unread-count small{color:var(--muted)}.unread-number{border:2px solid var(--ink);width:45px;height:45px;font-family:var(--font-display);border-radius:48% 52% 46% 54%;place-items:center;font-size:20px;font-weight:750;display:grid;transform:rotate(-3deg)}.recent-note strong{margin-bottom:5px;font-size:13px;display:block}.recent-note span{color:var(--muted);font-size:12px}.text-link{color:var(--muted);font-family:var(--font-display);text-transform:uppercase;transition:color .12s linear, transform .18s var(--ease-out);align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.text-link:hover{color:var(--ink);transform:translate(3px)rotate(-.4deg)}.list-footer-link{margin-top:16px}.back-link{margin-bottom:26px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.course-directory{grid-template-columns:repeat(4,minmax(0,1fr))}.course-order-hint{color:var(--muted);align-items:center;gap:7px;margin:0 0 14px;font-size:10px;display:flex}.sortable-course-card{z-index:0;touch-action:none;min-width:0;height:100%;transition:filter .16s linear;position:relative}.sortable-course-card:hover,.sortable-course-card:focus-within{z-index:3}.sortable-course-card:nth-child(2n) .course-card{transform:rotate(.35deg)}.sortable-course-card.dragging{filter:drop-shadow(var(--shadow-drag))}.sortable-course-card.dragging .course-card{transform:rotate(-1.2deg)scale(1.015)}.course-card{z-index:0;border:1.5px solid var(--line);background:var(--paper-deep);min-height:330px;transition:transform .24s var(--ease-out), background .14s linear;flex-direction:column;display:flex;position:relative;overflow:visible}.course-card:nth-child(2n){transform:rotate(.35deg)}.course-card:hover,.course-card:focus-within{z-index:2;background:var(--ink);color:var(--paper);transform:translateY(-5px)rotate(-1deg)}.sortable-course-card:hover .course-card,.sortable-course-card:focus-within .course-card{transform:translateY(-5px)rotate(-1deg)}.course-card:hover:after,.course-card:focus-within:after{border-color:currentColor}.course-card-link{min-height:122px;color:inherit;justify-content:space-between;align-items:flex-start;gap:18px;padding:22px 20px 18px;display:flex}.course-card-link:hover .course-name{text-underline-offset:6px;-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.course-name{z-index:1;max-width:100%;font-family:var(--font-display);letter-spacing:.015em;text-transform:uppercase;margin:0;font-size:clamp(1.5rem,2vw,2.15rem);line-height:.96;position:relative}.course-arrow{flex:none;margin-top:3px}.course-card-dashboard{height:100%;min-height:186px}.course-card-dashboard .course-card-link{min-height:104px;padding-right:58px}.course-card-teacher-summary{border-top:1px dashed var(--line);flex-direction:column;justify-content:center;gap:6px;min-height:80px;margin-top:auto;padding:14px 20px 16px;display:flex}.course-card-teacher-summary span{color:var(--muted);font-family:var(--font-display);letter-spacing:.13em;text-transform:uppercase;font-size:9px;font-weight:800}.course-card-teacher-summary strong{font-family:var(--font-display);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:16px;line-height:1.08;overflow:hidden}.course-drag-handle{z-index:4;border:1px dashed var(--line);background:var(--paper-raised);width:32px;height:32px;color:var(--muted);cursor:grab;transition:transform .18s var(--ease-out), background .12s linear, color .12s linear;place-items:center;display:grid;position:absolute;top:13px;right:13px;transform:rotate(2deg)}.course-drag-handle:hover,.course-drag-handle:focus-visible{background:var(--ink);color:var(--paper);transform:rotate(-4deg)scale(1.06)}.course-drag-handle:active{cursor:grabbing}.course-card-dashboard:hover .course-card-teacher-summary span,.course-card-dashboard:focus-within .course-card-teacher-summary span{color:var(--paper)}.course-card-dashboard:hover .course-drag-handle,.course-card-dashboard:focus-within .course-drag-handle{border-color:var(--paper)}.course-card-dashboard:hover .course-drag-handle:not(:hover):not(:focus-visible),.course-card-dashboard:focus-within .course-drag-handle:not(:hover):not(:focus-visible){background:var(--paper);color:var(--ink)}.teacher-contacts{min-width:0}.teacher-contacts-label{color:var(--muted);font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px;font-size:10px;font-weight:800}.teacher-contact-list{flex-direction:column;gap:12px;display:flex}.teacher-contact{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 14px;min-width:0;display:grid}.teacher-identity{min-width:0}.teacher-name{font-family:var(--font-display);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:17px;line-height:1.08;display:block;overflow:hidden}.teacher-email{max-width:100%;min-height:26px;color:var(--muted);cursor:copy;background:0 0;border:0;align-items:center;gap:5px;margin:2px 0 0;padding:0;font-size:10px;display:inline-flex}.teacher-email span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.teacher-email:hover{color:var(--ink)}.teacher-unavailable{color:var(--muted);margin-top:4px;font-size:10px;display:block}.teacher-copy-feedback{min-height:12px;color:var(--muted);font-family:var(--font-display);letter-spacing:.08em;opacity:0;text-transform:uppercase;transition:opacity .12s linear, transform .18s var(--ease-out);font-size:8px;font-weight:750;display:block;transform:translateY(-2px)}.teacher-copy-feedback.visible{opacity:1;transform:none}.teacher-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.teacher-action{white-space:nowrap;min-height:32px;padding:0 9px;font-size:9px}.teacher-contacts-card{border-top:1px dashed var(--line);margin-top:auto;padding:15px 20px 20px}.teacher-contacts-card .teacher-contact{grid-template-columns:1fr}.teacher-contacts-card .teacher-actions{justify-content:flex-start}.course-card:hover .teacher-contacts-label,.course-card:hover .teacher-email,.course-card:hover .teacher-unavailable,.course-card:hover .teacher-copy-feedback,.course-card:focus-within .teacher-contacts-label,.course-card:focus-within .teacher-email,.course-card:focus-within .teacher-unavailable,.course-card:focus-within .teacher-copy-feedback{color:var(--paper)}.course-card:hover .teacher-action.primary,.course-card:focus-within .teacher-action.primary{border-color:var(--paper);background:var(--paper);color:var(--ink)}.course-card:hover .teacher-action.ghost,.course-card:focus-within .teacher-action.ghost{border-color:var(--paper);color:var(--paper)}.course-card:hover .teacher-action.ghost:hover,.course-card:focus-within .teacher-action.ghost:hover{background:var(--paper);color:var(--ink)}.list{flex-direction:column;display:flex}.list-section+.list-section{margin-top:22px}.section-label{color:var(--muted);letter-spacing:.11em;text-transform:uppercase;margin:0 0 10px;font-size:12px;font-weight:750}.section-label.overdue{color:var(--ink);border-bottom:3px double var(--ink);display:inline-block;transform:rotate(-1deg)}.assignment-row{border-bottom:1px dashed var(--line-soft);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-height:62px;padding:10px 3px;display:grid}.assignment-row:last-child{border-bottom:0}.assignment-row:hover .assignment-title{text-underline-offset:4px;-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.assignment-list-row{grid-template-columns:32px minmax(0,1fr) auto auto}.completed-assignment-row,.compact-assignment-row{grid-template-columns:28px minmax(0,1fr) auto}.assignment-list-row.has-teachers{grid-template-columns:32px minmax(170px,1fr) minmax(340px,.9fr) auto auto}.completed-assignment-row.has-teachers{grid-template-columns:28px minmax(170px,1fr) minmax(340px,.9fr) auto}.assignment-row>a{min-width:0}.assignment-main-link{align-self:center}.teacher-contacts-row{border-left:1px dashed var(--line);min-width:0;padding-left:14px}.teacher-contacts-row .teacher-contacts-label{margin-bottom:5px;font-size:8px}.teacher-contacts-row .teacher-contact-list{gap:8px}.teacher-contacts-row .teacher-name{font-size:13px}.teacher-contacts-row .teacher-email{min-height:21px;font-size:9px}.teacher-contacts-row .teacher-action{min-height:29px;padding-inline:7px;font-size:8px}.assignment-check{border:1.5px solid var(--ink-soft);background:var(--paper-deep);width:25px;height:25px;color:var(--ink);cursor:pointer;transition:transform .18s var(--ease-out), background .1s linear, color .1s linear;border-radius:3px 1px 4px 2px;flex:none;place-items:center;padding:0;display:grid;position:relative;transform:rotate(-2deg)}.assignment-check:after{border-right:1px solid var(--line);border-bottom:1px solid var(--line);content:"";pointer-events:none;position:absolute;inset:2px -3px -3px 2px}.assignment-check svg{fill:none;stroke:currentColor;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;opacity:0;width:25px;height:22px;overflow:visible;transform:rotate(-5deg)scale(.55)}.assignment-check svg path{--check-opacity:1;stroke-dasharray:48;stroke-dashoffset:48px}.assignment-check .check-echo{--check-opacity:.25;opacity:.25;transform:translate(1px,1px)}.assignment-check:hover{transform:translateY(-2px)rotate(5deg)scale(1.08)}.assignment-check.checked{background:var(--ink);color:var(--paper);transform:rotate(2deg)}.assignment-check.checked svg{opacity:1;animation:check-scratch-in .42s var(--ease-out) both}.assignment-check.checked svg path{animation:check-line-draw .52s 70ms var(--ease-out) forwards}.assignment-check.checked svg .check-echo{animation-delay:.17s}.assignment-check.locked{cursor:not-allowed;opacity:.7}.assignment-check.compact{width:19px;height:19px}.assignment-check.compact svg{width:19px;height:17px}.assignment-detail-actions{align-items:center;gap:10px;display:flex}.done-label{color:var(--muted);font-family:var(--font-display);text-transform:uppercase;font-size:10px;font-weight:750;transform:rotate(-1deg)}.assignment-title{white-space:nowrap;text-overflow:ellipsis;margin-bottom:5px;font-size:13px;font-weight:650;display:block;overflow:hidden}.assignment-meta{color:var(--muted);font-size:10px}.points{color:var(--muted);text-align:right;font-size:11px}.status-pill{border:1px solid var(--line);min-height:25px;color:var(--ink-soft);letter-spacing:.035em;text-transform:uppercase;background:0 0;border-radius:50% 44% 49% 46%/28% 35% 31% 38%;align-items:center;padding:2px 9px 0;font-size:10px;font-weight:700;display:inline-flex;transform:rotate(-.5deg)}.status-pill.overdue{border:2px double var(--ink);color:var(--ink);background:var(--paper-deep)}.status-select{min-width:128px}.status-not-started{border-style:dashed!important}.status-in-progress{border-style:double!important;border-width:3px!important}.status-ready{background:var(--ink-soft)!important;color:var(--paper)!important}.status-submitted,.status-graded{background:var(--ink)!important;color:var(--paper)!important}.grade-row{border-bottom:1px dashed var(--line-soft);grid-template-columns:1fr auto;align-items:center;gap:16px;padding:14px 2px;display:grid}.grade-row:last-child{border-bottom:0}.grade-course{align-items:center;gap:9px;font-size:12px;font-weight:650;display:flex}.grade-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;align-items:baseline;gap:6px;font-size:22px;font-weight:750;display:flex}.grade-value small{color:var(--muted);font-size:11px}.progress-track{border:1px solid var(--line);background:0 0;height:8px;display:block;overflow:hidden;transform:rotate(-.3deg)}.progress-fill{background:repeating-linear-gradient(95deg, var(--ink) 0 5px, var(--ink-soft) 5px 7px);height:100%;display:block}.grade-progress{margin-top:9px}.stats-row{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.stat{border:1px dashed var(--line);background:var(--paper-deep);padding:14px;position:relative}.stat:nth-child(2){transform:rotate(.7deg)}.stat-value{font-family:var(--font-display);margin-bottom:3px;font-size:28px;font-weight:750;display:block}.stat-label{color:var(--muted);font-size:10px}.announcement{border-bottom:1px dashed var(--line-soft);padding:14px 0}.announcement:last-child{border:0}.announcement strong{margin-bottom:5px;font-size:12px;display:block}.announcement p{color:var(--muted);margin:0;font-size:11px;line-height:1.55}.mini-calendar{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.mini-day{aspect-ratio:1;color:var(--muted);place-items:center;font-size:10px;display:grid}.mini-day.today{border:1.5px solid var(--ink);color:var(--ink);font-family:var(--font-display);border-radius:50% 44% 52% 48%;font-weight:750;transform:rotate(-6deg)}.widget-caption{color:var(--muted);font-size:11px}.widget-footnote{color:var(--muted);margin-top:18px;font-size:11px}[data-widget=upcoming] .widget-body{padding:9px 15px 11px}[data-widget=courses] .widget-body{max-height:none;overflow:visible}[data-widget=upcoming] .list-section+.list-section{margin-top:9px}[data-widget=upcoming] .section-label{letter-spacing:.09em;margin-bottom:3px;font-size:9px}[data-widget=upcoming] .assignment-row{z-index:0;min-height:49px;transition:transform .22s var(--ease-out), background .12s linear, color .12s linear, box-shadow .22s var(--ease-out), border-color .12s linear;border:1px solid #0000;gap:9px;margin-inline:-7px;padding:6px 8px;position:relative}[data-widget=upcoming] .assignment-title{margin-bottom:3px;font-size:13px;line-height:1.15}[data-widget=upcoming] .assignment-meta{font-size:10px;line-height:1.25}[data-widget=upcoming] .status-pill{min-height:22px;padding-inline:7px;font-size:9px}[data-widget=upcoming] .assignment-check.compact{width:19px;height:19px}[data-widget=upcoming] .assignment-check.compact svg{width:19px;height:17px}[data-widget=upcoming] .assignment-row:hover,[data-widget=upcoming] .assignment-row:focus-within{z-index:2;border-color:var(--ink);background:var(--ink);color:var(--paper);box-shadow:var(--shadow-card-hover);transform:translateY(-5px)rotate(-.7deg)scale(1.018)}[data-widget=upcoming] .assignment-row:hover .assignment-meta,[data-widget=upcoming] .assignment-row:focus-within .assignment-meta{color:var(--paper)}[data-widget=upcoming] .assignment-row:hover .status-pill,[data-widget=upcoming] .assignment-row:focus-within .status-pill{border-color:var(--paper);color:var(--paper)}[data-widget=upcoming] .assignment-row:hover .assignment-check,[data-widget=upcoming] .assignment-row:focus-within .assignment-check{border-color:var(--paper);background:var(--paper);color:var(--ink)}[data-widget=upcoming] .list-footer-link{margin-top:8px;font-size:10px}.filter-bar{align-items:center;gap:12px;margin-bottom:22px;display:flex}.assignment-search{width:280px;height:42px}.select,.input{border:1.5px solid var(--line);background:var(--paper-raised);height:42px;color:var(--text);border-radius:1px;outline:none;padding:0 12px}.select:hover,.input:hover{border-color:var(--ink)}.input{min-width:240px}.content-card{z-index:0;border:2px solid var(--ink-soft);border-radius:var(--radius);background:var(--paper-raised);box-shadow:var(--shadow-card-soft);position:relative}.content-card-header{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:66px;padding:17px 22px;display:flex}.content-card-header h2{text-transform:uppercase;margin:0}.content-card-body{padding:22px}.content-grid{grid-template-columns:minmax(0,1fr) 360px;gap:24px;display:grid}.stack{flex-direction:column;gap:22px;display:flex}.course-nav{border-bottom:1px dashed var(--line);gap:4px;width:fit-content;margin:0 0 30px;padding:4px 0 10px;display:flex}.course-nav a{color:var(--muted);font-family:var(--font-display);text-transform:uppercase;padding:9px 14px;font-size:13px;font-weight:750;position:relative}.course-nav a:hover,.course-nav a.active{color:var(--ink)}.course-nav a.active:after{background:var(--ink);content:"";clip-path:polygon(0 40%,25% 10%,50% 65%,75% 20%,100% 52%,98% 90%,72% 53%,50% 96%,24% 47%,0 78%);height:4px;position:absolute;bottom:2px;left:8px;right:8px}.detail-header{border-bottom:2px solid var(--ink-soft);justify-content:space-between;align-items:center;gap:28px;margin:-22px 0 36px;padding:36px 0 32px;display:flex;position:relative}.detail-header:after{background:var(--ink);content:"";opacity:.25;height:3px;position:absolute;bottom:-6px;left:0;right:4%;transform:rotate(.15deg)}.detail-header .course-code{margin-bottom:12px}.detail-header h1{font-size:clamp(3.1rem,5vw,5.5rem)}.course-header-copy{flex:1;min-width:0}.course-heading-row{justify-content:space-between;align-items:flex-end;gap:clamp(24px,4vw,64px);display:flex}.course-title-block{flex:auto;min-width:0}.detail-meta{color:var(--muted);gap:24px;margin-top:17px;font-size:12px;display:flex}.teacher-contacts-header{border-left:1px dashed var(--line);flex:0 360px;min-width:300px;margin-bottom:2px;padding-left:18px}.teacher-contacts-header .teacher-contacts-label{margin-bottom:6px;font-size:8px}.teacher-contacts-header .teacher-contact-list{gap:8px}.teacher-contacts-header .teacher-contact{grid-template-columns:minmax(120px,1fr) auto;gap:8px}.teacher-contacts-header .teacher-name{font-size:14px}.teacher-contacts-header .teacher-email{min-height:21px;font-size:9px}.teacher-contacts-header .teacher-copy-feedback{min-height:8px;font-size:7px}.teacher-contacts-header .teacher-actions{justify-content:flex-start;gap:5px}.teacher-contacts-header .teacher-action{min-height:28px;padding-inline:7px;font-size:8px}.teacher-contacts-detail{border:1px dashed var(--line);background:var(--paper-deep);max-width:760px;margin-top:26px;padding:14px 16px}.assignment-page-heading{align-items:flex-start}.assignment-page-heading>div:first-child{flex:1;min-width:0}.course-header-grade{z-index:0;border:2px solid var(--ink-soft);background:var(--paper-raised);min-width:196px;transition:transform .22s var(--ease-out), background .12s linear;grid-template-columns:1fr auto;align-items:end;gap:3px 14px;padding:16px 18px;display:grid;position:relative;transform:rotate(1deg)}.course-header-grade:after{border:1px solid var(--line-soft);content:"";z-index:-1;position:absolute;inset:4px -5px -5px 3px}.course-header-grade>span{color:var(--muted);font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;grid-column:1/-1;font-size:10px;font-weight:750}.course-header-grade strong{font-family:var(--font-display);letter-spacing:.02em;font-size:34px}.course-header-grade small{color:var(--ink);justify-content:flex-end;align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.course-header-grade:hover{background:var(--ink);color:var(--paper);transform:translateY(-3px)rotate(-1deg)}.course-header-grade:hover>span,.course-header-grade:hover small{color:var(--paper)}.course-overview-grid{grid-template-columns:minmax(0,1fr) 380px}.course-materials-card{min-height:540px}.course-code{color:var(--ink-soft);letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:750}.material-node{border-bottom:1px dashed var(--line-soft)}.material-row{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:11px;width:100%;min-height:58px;padding:0 17px;display:flex}.material-row:hover{background:var(--ink);color:var(--paper)}.material-children{border-left:2px double var(--line);margin:0 16px 14px 40px}.material-indent{width:14px}.material-kind{color:var(--muted);text-transform:uppercase;margin-left:auto;font-size:10px}.material-row:hover .material-kind{color:var(--paper)}.notification-item{border-bottom:1px dashed var(--line-soft);cursor:pointer;transition:background .12s linear, transform .18s var(--ease-out);background:0 0;grid-template-columns:13px 1fr auto;gap:13px;padding:16px 17px;display:grid}.notification-list-button{width:100%;color:inherit;text-align:left;border-top:0;border-left:0;border-right:0}.notification-item:hover{background:var(--ink);color:var(--paper);transform:translate(3px)}.notification-item:last-child{border-bottom:0}.notification-item.unread{background:var(--paper-soft)}.notification-item.unread:hover{background:var(--ink)}.notification-bullet{border:1.5px solid var(--ink);opacity:0;border-radius:50% 44% 48% 54%;width:9px;height:9px;margin-top:5px}.notification-item.unread .notification-bullet{opacity:1;background:var(--ink)}.notification-copy strong{margin-bottom:5px;font-size:12px;display:block}.notification-copy p{color:var(--muted);margin:0;font-size:11px;line-height:1.5}.notification-item:hover .notification-copy p,.notification-item:hover .notification-age{color:var(--paper)}.notification-age{color:var(--subtle);font-size:10px}.calendar-toolbar{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.calendar-grid-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.calendar-label{font-family:var(--font-display);text-transform:uppercase;margin-left:8px;font-size:17px}.segmented{border:1.5px solid var(--line);background:var(--paper-raised);padding:3px;display:flex;transform:rotate(.3deg)}.segmented button{color:var(--muted);cursor:pointer;text-transform:uppercase;background:0 0;border:0;padding:7px 12px;font-size:12px}.segmented button.active{background:var(--ink);color:var(--paper);transform:rotate(-1deg)}.calendar-weekdays{color:var(--muted);font-family:var(--font-display);text-align:center;text-transform:uppercase;grid-template-columns:repeat(7,1fr);margin-bottom:9px;font-size:12px;display:grid}.month-grid{border-top:1.5px solid var(--line);border-left:1.5px solid var(--line);grid-template-columns:repeat(7,1fr);display:grid}.calendar-day{border-right:1px dashed var(--line-soft);border-bottom:1px dashed var(--line-soft);background:var(--paper-raised);min-height:132px;padding:10px}.calendar-day:nth-child(3n){background:var(--paper-raised)}@supports (color:color-mix(in lab, red, red)){.calendar-day:nth-child(3n){background:color-mix(in oklch, var(--paper-raised) 84%, var(--ink) 4%)}}.calendar-day.outside{opacity:.32}.calendar-date{min-width:24px;min-height:24px;color:var(--muted);place-items:center;margin-bottom:10px;font-size:11px;display:inline-grid}.calendar-date.today{border:1.5px solid var(--ink);color:var(--ink);font-family:var(--font-display);border-radius:50% 46% 52% 43%;font-weight:750;transform:rotate(-7deg)}.calendar-event{border:1px solid var(--line-soft);background:var(--paper-deep);white-space:nowrap;text-overflow:ellipsis;margin-bottom:6px;padding:6px 7px;font-size:9px;line-height:1.25;display:block;overflow:hidden;transform:rotate(-.25deg)}.calendar-event.has-check{grid-template-columns:19px minmax(0,1fr);align-items:center;gap:6px;padding-left:5px;display:grid}.calendar-event.has-check>span{text-overflow:ellipsis;min-width:0;overflow:hidden}.calendar-event small{color:var(--muted);font-family:var(--font-display);letter-spacing:.08em;margin-bottom:3px;font-size:8px;display:block}.week-grid .calendar-day{min-height:400px}.week-event{white-space:normal;padding:9px 8px}.submission-box textarea{resize:vertical;border:1.5px dashed var(--line);background:var(--paper-deep);width:100%;min-height:168px;color:var(--text);border-radius:1px;outline:0;padding:14px;line-height:1.55}.submission-box textarea:focus{border-style:solid;border-color:var(--ink)}.file-drop{border:1.5px dashed var(--line);width:100%;color:var(--muted);cursor:pointer;transition:background .12s linear, color .12s linear, transform .18s var(--ease-out);background:0 0;justify-items:center;gap:8px;margin-top:12px;padding:24px;display:grid}.file-drop:hover{background:var(--ink);color:var(--paper);transform:rotate(-.4deg)}.attached-file{grid-template-columns:20px 1fr}.attached-file .assignment-title{margin:0}.submit-button{width:100%;margin-top:15px}.submission-note{margin-top:24px}.reading-copy{max-width:70ch;color:var(--ink-soft);font-size:15px;line-height:1.8}.score-big{font-family:var(--font-display);letter-spacing:.02em;margin-top:30px;font-size:56px;font-weight:750;line-height:1}.grade-table{border-collapse:collapse;width:100%}.grade-table th,.grade-table td{border-bottom:1px dashed var(--line-soft);text-align:left;padding:15px 13px;font-size:12px}.grade-table th{color:var(--muted);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.table-meta{color:var(--muted);margin-top:4px;font-size:10px}.grade-summary-card{align-self:start;transform:rotate(.5deg)}.grade-card-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.grade-card{transition:transform .22s var(--ease-out), background .12s linear;padding:22px}.grade-card:nth-child(2n){transform:rotate(.35deg)}.grade-card:hover{background:var(--ink);color:var(--paper);transform:translateY(-5px)rotate(-.6deg)}.grade-card:hover .muted-copy,.grade-card:hover .course-code,.grade-card:hover .text-link{color:var(--paper)}.grade-card-link{margin-top:24px}.grades-page .grade-card-grid{margin-bottom:clamp(38px,5vw,64px)}.what-if-panel{scroll-margin-top:110px;overflow:hidden}.what-if-header{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:center;gap:28px;min-height:116px;padding:24px 28px;display:flex}.what-if-header h2{text-transform:uppercase;align-items:center;gap:10px;margin-bottom:8px;font-size:clamp(1.55rem,2.5vw,2.25rem);display:flex}.what-if-header p:last-child{color:var(--muted);margin:0}.what-if-private{border:1px dashed var(--line);color:var(--muted);font-family:var(--font-display);letter-spacing:.07em;text-transform:uppercase;flex:none;align-items:center;gap:7px;padding:9px 11px;font-size:9px;font-weight:750;display:inline-flex;transform:rotate(.8deg)}.what-if-layout{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);display:grid}.what-if-controls{gap:25px;padding:clamp(24px,3vw,38px);display:grid}.what-if-fieldset{border:0;min-width:0;margin:0;padding:0}.what-if-fieldset legend,.what-if-slider strong{color:var(--muted);font-family:var(--font-display);letter-spacing:.11em;text-transform:uppercase;margin-bottom:10px;font-size:10px;font-weight:800}.what-if-course-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.what-if-course-tabs button{border:1px dashed var(--line);min-width:0;min-height:58px;color:var(--muted);cursor:pointer;transition:transform .18s var(--ease-out), background .12s linear, color .12s linear;background:0 0;justify-content:space-between;align-items:center;gap:8px;padding:0 13px;display:flex}.what-if-course-tabs button:nth-child(2n){transform:rotate(.5deg)}.what-if-course-tabs button:hover{color:var(--ink);transform:translateY(-2px)rotate(-.7deg)}.what-if-course-tabs button.active{background:var(--ink);color:var(--paper);border-style:solid;transform:rotate(-.6deg)}.what-if-course-tabs button span{font-family:var(--font-display);letter-spacing:.05em;text-overflow:ellipsis;font-size:13px;font-weight:800;overflow:hidden}.what-if-course-tabs button small{font-size:9px}.what-if-slider{gap:8px;display:grid}.what-if-slider>span{justify-content:space-between;align-items:baseline;gap:18px;display:flex}.what-if-slider strong{color:var(--ink);margin:0}.what-if-slider output{font-family:var(--font-display);font-size:21px;font-weight:800}.what-if-slider small{color:var(--muted);font-size:10px}.what-if-slider input{width:100%;height:22px;accent-color:var(--ink);cursor:ew-resize;margin:0}.what-if-formula{border:1px dashed var(--line-soft);background:var(--paper-deep);color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;padding:13px 15px;font-size:10px;display:flex}.what-if-reset{color:var(--muted);cursor:pointer;font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;background:0 0;border:0;justify-self:start;align-items:center;gap:7px;padding:2px 0;font-size:10px;font-weight:750;display:inline-flex}.what-if-reset:hover{color:var(--ink)}.what-if-result{border-left:1px dashed var(--line);background:var(--paper-soft);flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;padding:clamp(30px,4vw,52px);display:flex;position:relative}.what-if-result:after{content:"maybe!";width:58px;height:24px;color:var(--muted);font-family:var(--font-display);font-size:10px;position:absolute;top:22px;right:24px;transform:rotate(5deg)}.what-if-score{font-family:var(--font-display);align-items:flex-start;margin-top:10px;line-height:.8;display:flex}.what-if-score strong{letter-spacing:-.035em;font-size:clamp(4.5rem,8vw,7.4rem)}.what-if-score span{margin:7px 0 0 5px;font-size:24px}.what-if-letter{border:2px solid var(--ink);width:52px;height:52px;font-family:var(--font-display);border-radius:50% 45% 52% 47%;place-items:center;font-size:22px;font-weight:850;display:grid;position:absolute;top:51%;right:clamp(28px,4vw,52px);transform:rotate(7deg)}.what-if-change{margin:18px 0 24px;font-size:12px;font-weight:700}.what-if-comparison{gap:12px;width:100%;display:grid}.what-if-comparison>span{grid-template-columns:48px 1fr;align-items:center;gap:10px;display:grid}.what-if-comparison small{color:var(--muted);font-family:var(--font-display);text-transform:uppercase;font-size:9px;font-weight:750}.what-if-comparison i{background:var(--ink);clip-path:polygon(0 20%,12% 0,30% 24%,52% 5%,70% 28%,88% 7%,100% 20%,99% 82%,78% 65%,58% 94%,34% 71%,16% 96%,0 78%);max-width:100%;height:6px;transition:width .26s var(--ease-out);display:block}.what-if-comparison>span:first-child i{opacity:.35}.what-if-note{color:var(--muted);margin:24px 0 0;font-size:10px;line-height:1.55}.muted-copy{color:var(--muted)}.empty{text-align:center;color:var(--muted);padding:54px 24px}.empty .sketch-icon{color:var(--ink);margin:0 auto 12px;display:block}.empty strong{color:var(--ink);font-family:var(--font-display);text-transform:uppercase;margin-bottom:7px;font-size:18px;display:block}.not-found-action{margin-top:14px}.feedback-page{max-width:1120px}.feedback-form{padding:clamp(20px,3vw,32px)}.feedback-form>.feedback-handoff{margin-bottom:24px}.feedback-fields,.feedback-categories{border:0;min-width:0;margin:0;padding:0}.feedback-fields{gap:24px;display:grid}.feedback-categories legend,.feedback-field>label{margin-bottom:10px;font-size:14px;font-weight:750}.feedback-category-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.feedback-category{border:1.5px solid var(--line-soft);border-radius:var(--radius);cursor:pointer;background:var(--paper);align-items:flex-start;gap:10px;padding:14px;display:flex}.feedback-category:hover{border-color:var(--ink-soft)}.feedback-category.selected{border-color:var(--accent);background:var(--paper-soft)}.feedback-category:focus-within{outline:2px solid var(--accent);outline-offset:3px}.feedback-category input{accent-color:var(--accent);flex-shrink:0;margin-top:4px}.feedback-category strong,.feedback-category small{display:block}.feedback-category strong{font-size:14px}.feedback-category small{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.45}.feedback-field{min-width:0;display:grid}.feedback-field>label>span{color:var(--muted);margin-left:5px;font-size:12px;font-weight:400}.feedback-field>p{color:var(--muted);margin:-3px 0 12px;font-size:13px;line-height:1.6}.feedback-field .input{border-radius:var(--radius);width:100%;min-width:0}.feedback-field .input:focus{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:3px}.feedback-field textarea.input{resize:vertical;height:auto;min-height:180px;padding:12px;line-height:1.6}.feedback-count{color:var(--muted);text-align:right;margin-top:6px;font-size:11px}.feedback-actions{flex-wrap:wrap;gap:10px;display:flex}.feedback-draft-status{color:var(--muted);margin:16px 0 0;font-size:12px}.feedback-notes{grid-template-columns:minmax(200px,.65fr) minmax(0,1.35fr);align-items:center;gap:24px;margin-bottom:24px;padding:24px;display:grid}.feedback-notes h2{margin:0}.feedback-notes>div>p:not(.eyebrow){color:var(--text);margin:0;font-size:14px;line-height:1.7}.feedback-notes>div>p:not(.eyebrow)+p{margin-top:10px}.feedback-handoff{border:1px dashed var(--accent);border-radius:var(--radius);background:var(--paper-soft);padding:16px}.feedback-handoff p{margin:8px 0 0;font-size:13px;line-height:1.7}.feedback-error{color:var(--alert-red);margin:0;font-size:13px}@media (max-width:800px){.feedback-notes{grid-template-columns:minmax(0,1fr);gap:16px;padding:20px}}@media (max-width:400px){.feedback-category-options{grid-template-columns:minmax(0,1fr)}.feedback-actions .button{justify-content:center;width:100%}}.settings-page{max-width:960px}.settings-stack{flex-direction:column;gap:20px;display:flex}.settings-card{grid-template-columns:48px 1fr auto;align-items:center;gap:18px;padding:22px;display:grid}.settings-card :is(h2,h3){text-transform:uppercase;margin-bottom:7px}.settings-card p{color:var(--muted);margin:0}.settings-icon{border:1.5px dashed var(--ink);place-items:center;width:42px;height:42px;display:grid;transform:rotate(-3deg)}.appearance-card{transform:rotate(-.08deg)}.appearance-options{gap:2px}.appearance-options button{align-items:center;gap:6px;display:inline-flex}.appearance-options button:focus-visible{outline-offset:-2px}.event-row{grid-template-columns:22px 1fr}body:after{z-index:0;pointer-events:none;content:"";opacity:.44;background:radial-gradient(circle at 4% 21%, var(--ink) 0 1px, transparent 1.7px), radial-gradient(circle at 96% 18%, var(--ink-soft) 0 1.5px, transparent 2px), radial-gradient(circle at 91% 72%, var(--ink) 0 .8px, transparent 1.5px), radial-gradient(circle at 8% 84%, var(--ink-soft) 0 1.2px, transparent 1.8px), repeating-linear-gradient(174deg, transparent 0 118px, var(--ink) 119px, transparent 121px 231px);position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){body:after{background:radial-gradient(circle at 4% 21%, var(--ink) 0 1px, transparent 1.7px), radial-gradient(circle at 96% 18%, var(--ink-soft) 0 1.5px, transparent 2px), radial-gradient(circle at 91% 72%, var(--ink) 0 .8px, transparent 1.5px), radial-gradient(circle at 8% 84%, var(--ink-soft) 0 1.2px, transparent 1.8px), repeating-linear-gradient(174deg, transparent 0 118px, color-mix(in oklch, var(--ink) 2.5%, transparent) 119px, transparent 121px 231px)}}body:after{background-size:31px 37px,47px 41px,29px 43px,53px 39px,auto}.page-shell{z-index:2;animation:page-crash-in .72s var(--ease-out) both;position:relative}.chaos-layer{z-index:4;pointer-events:none;color:var(--ink-soft);font-family:var(--font-display);position:fixed;inset:78px 0 0;overflow:hidden}.chaos-doodle,.chaos-arrow,.margin-note,.ink-splat{opacity:.42;filter:drop-shadow(var(--shadow-doodle));animation:ink-materialize .76s var(--ease-out) both, margin-drift 8s var(--ease-state) infinite alternate;display:none;position:absolute}.chaos-doodle{stroke-width:3px;width:88px}.chaos-doodle .doodle-echo,.chaos-arrow .doodle-echo{opacity:.3;transform:translate(2px,2px)}.doodle-a{animation-delay:.11s,1.2s;top:5%;left:.7%;transform:rotate(-14deg)}.doodle-b{width:104px;animation-delay:.26s,.4s;top:38%;right:.5%;transform:rotate(12deg)}.doodle-c{width:72px;animation-delay:.39s,1.8s;bottom:8%;right:2.4%;transform:rotate(-11deg)}.doodle-d{width:70px;animation-delay:.51s,.8s;bottom:3%;left:1.1%;transform:rotate(9deg)}.doodle-e{width:60px;animation-delay:.64s,2.4s;top:8%;right:2%;transform:rotate(14deg)}.doodle-f{width:76px;animation-delay:.71s,1.5s;top:61%;left:1.3%;transform:rotate(-8deg)}.margin-note{width:82px;max-width:82px;color:var(--ink-soft);letter-spacing:.025em;text-transform:uppercase;font-size:12px;font-weight:700;line-height:1.08}.margin-note:after{content:"";opacity:.65;clip-path:polygon(0 51%,12% 20%,26% 57%,39% 16%,51% 65%,67% 24%,82% 68%,100% 29%,99% 76%,83% 86%,67% 50%,51% 95%,38% 48%,25% 89%,10% 57%,0 81%);transform-origin:0;width:84%;height:5px;animation:scribble-swipe .68s .95s var(--ease-out) both;background:currentColor;margin-top:4px;display:block}.margin-note b,.margin-note em{color:var(--ink);letter-spacing:.12em;margin-bottom:3px;font-size:9px;font-style:normal;display:block}.note-a{animation-delay:.38s,1.1s;top:24%;left:12px;transform:rotate(-8deg)}.note-b{animation-delay:.52s,2s;top:52%;right:12px;transform:rotate(7deg)}.note-c{animation-delay:.68s,.3s;bottom:24%;right:12px;transform:rotate(-6deg)}.note-d{animation-delay:.81s,1.7s;bottom:20%;left:12px;transform:rotate(5deg)}.chaos-arrow{fill:none;stroke:currentColor;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;width:88px}.arrow-a{animation-delay:.28s,.5s;top:13%;left:14px;transform:rotate(18deg)}.arrow-b{width:88px;animation-delay:.74s,1.9s;bottom:5%;right:14px;transform:rotate(-20deg)}.ink-splat{width:74px;height:74px;color:var(--ink);animation:splat-in .62s var(--ease-out) both, splat-pulse 5s var(--ease-state) infinite alternate}.ink-splat:before,.ink-splat:after,.ink-splat i{content:"";background:currentColor;border-radius:48% 52% 39% 61%;display:block;position:absolute}.ink-splat:before{inset:25% 23% 21% 24%;transform:rotate(19deg)}.ink-splat:after{width:8%;height:8%;top:12%;left:20%}.ink-splat i:first-child{width:5px;height:5px;top:4%;right:13%}.ink-splat i:nth-child(2){width:4px;height:4px;bottom:22%;right:5%}.ink-splat i:nth-child(3){width:7px;height:7px;bottom:11%;left:3%}.ink-splat i:nth-child(4){width:3px;height:3px;top:34%;left:9%}.ink-splat i:nth-child(5){width:3px;height:8px;bottom:6%;right:24%;transform:rotate(28deg)}.splat-a{opacity:.16;animation-delay:.12s,1s;top:2%;left:24px;transform:rotate(-15deg)scale(.7)}.splat-b{opacity:.2;animation-delay:.48s,.2s;top:31%;right:24px;transform:rotate(30deg)scale(.48)}.splat-c{opacity:.17;animation-delay:.72s,1.7s;bottom:38%;left:36px;transform:rotate(-20deg)scale(.35)}.widget,.content-card,.course-card,.course-menu,.popover,.search-box,.select,.input,.button,.segmented{border-radius:2px 7px 3px 5px/5px 2px 7px 3px}.widget:before,.content-card:before,.course-card:before,.course-menu:before,.popover:before{z-index:3;pointer-events:none;content:"";opacity:.64;background:center / 100% 100% no-repeat var(--contour-image);animation:3.8s steps(2,end) infinite alternate contour-nerves;position:absolute;inset:-5px -4px -4px -5px;transform:rotate(-.12deg)}.widget:nth-child(2n):before,.course-card:nth-child(2n):before,.grade-card:nth-child(2n):before{animation-delay:-1.9s;transform:rotate(.18deg)scaleX(.998)}.content-card:nth-child(3n):before{animation-delay:-.8s}.page-heading h1{transform-origin:0 100%;text-shadow:2px 1px 0 var(--ink), var(--shadow-text)}@supports (color:color-mix(in lab, red, red)){.page-heading h1{text-shadow:2px 1px 0 color-mix(in oklch, var(--ink) 28%, transparent), var(--shadow-text)}}.page-heading h1{animation:heading-drop .68s var(--ease-out) both, title-fidget 7s 1.1s var(--ease-state) infinite alternate}.page-heading .eyebrow{animation:note-swipe-in .54s .16s var(--ease-out) both}.page-heading .page-subtitle{animation:note-swipe-in .56s .26s var(--ease-out) both}.page-heading>div:after{transform-origin:0;animation:scribble-swipe .78s .41s var(--ease-out) both, underline-worry 3.2s 1.4s steps(2, end) infinite alternate}.app-header{box-shadow:var(--shadow-header);animation:header-drop .62s var(--ease-out) both}.app-header:after{transform-origin:0;animation:scribble-swipe .94s .28s var(--ease-out) both, underline-worry 4s 1.4s steps(2, end) infinite alternate}.brand-copy strong{animation:note-swipe-in .54s .26s var(--ease-out) both;display:inline-block}.primary-nav .nav-link{animation:nav-fall-in .52s var(--ease-out) both}.primary-nav>:first-child .nav-link{animation-delay:.21s}.primary-nav>:nth-child(2){animation-delay:.28s}.primary-nav>:nth-child(3){animation-delay:.35s}.primary-nav>:nth-child(4){animation-delay:.42s}.nav-link.active:after{transform-origin:0;animation:scribble-swipe .44s var(--ease-out) both, underline-worry 2.2s .6s steps(2, end) infinite alternate}.nav-link:hover .sketch-icon,.button:hover .sketch-icon,.text-link:hover .sketch-icon{animation:icon-panic .36s var(--ease-out) both}.unread-dot{animation:unread-panic 1.5s var(--ease-state) infinite alternate}.button:hover{transform:translateY(-4px)rotate(-1.4deg)scale(1.035)}.button:active{transform:translateY(1px)rotate(.6deg)scale(.97)}.icon-button:hover{transform:translateY(-4px)rotate(-7deg)scale(1.08)}.customize-button:hover{transform:rotate(-13deg)scale(1.18)}.course-card:hover,.grade-card:hover,.sortable-course-card:hover .course-card,.sortable-course-card:focus-within .course-card{transform:translateY(-8px)rotate(-1.6deg)scale(1.018)}.course-card:hover .course-arrow{animation:arrow-escape .56s var(--ease-out) both}.course-header-grade:hover{transform:translateY(-6px)rotate(-2deg)scale(1.035)}.notification-item:hover{transform:translate(7px)rotate(-.35deg)}.material-row{transition:transform .19s var(--ease-out), background .1s linear}.material-row:hover{transform:translate(8px)rotate(-.25deg)}.assignment-row{transition:transform .19s var(--ease-out), background .1s linear}.assignment-row:hover{transform:translate(5px)rotate(-.18deg)}.status-pill{transition:transform .18s var(--ease-out)}.assignment-row:hover .status-pill{transform:rotate(2deg)scale(1.06)}.file-drop:hover{transform:rotate(-1deg)scale(1.015)}.widget{animation:widget-arrive .64s var(--ease-out) both}.widget:first-child{animation-delay:.1s}.widget:nth-child(2){animation-delay:.19s}.widget:nth-child(3){animation-delay:.27s}.widget:nth-child(4){animation-delay:.34s}.widget:nth-child(5){animation-delay:.4s}.widget:nth-child(6){animation-delay:.45s}.widget:hover:not(.editing){z-index:3;box-shadow:var(--shadow-card-hover);transform:translateY(-4px)rotate(-.1deg)}.widget.editing .widget-title{animation:.42s steps(2,end) infinite alternate edit-shiver}.widget.dragging>*{animation:dragged-off-page .33s var(--ease-out) both}.widget-header{position:relative;overflow:hidden}.widget-header:before{content:"";opacity:.24;background:var(--ink);clip-path:polygon(0 30%,15% 70%,30% 20%,49% 74%,64% 24%,82% 67%,100% 19%,98% 86%,82% 51%,64% 92%,48% 54%,30% 87%,14% 51%,0 76%);transform-origin:0;width:82px;height:4px;animation:scribble-swipe .74s .52s var(--ease-out) both;position:absolute;bottom:3px;right:12px}[data-widget=courses] .widget-header:after{content:"open a book maybe"}[data-widget=upcoming] .widget-header:after{content:"uh oh →"}[data-widget=grades] .widget-header:after{content:"numbers! scary!"}[data-widget=announcements] .widget-header:after{content:"pretend we read these"}[data-widget=calendar] .widget-header:after{content:"days keep happening"}[data-widget=progress] .widget-header:after{content:"technically moving"}.widget-header:after{color:var(--muted);font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;animation:note-swipe-in .52s .6s var(--ease-out) both;font-size:8px;position:absolute;top:10px;right:18px;transform:rotate(3deg)}.course-card,.grade-card,.notification-item,.material-row,.assignment-list-row,.calendar-day{animation:list-slap-in .56s var(--ease-out) both}.course-card:nth-child(2),.grade-card:nth-child(2),.notification-item:nth-child(2),.material-node:nth-child(2) .material-row,.assignment-list-row:nth-child(2),.calendar-day:nth-child(2){animation-delay:55ms}.course-card:nth-child(3),.grade-card:nth-child(3),.notification-item:nth-child(3),.material-node:nth-child(3) .material-row,.assignment-list-row:nth-child(3),.calendar-day:nth-child(3){animation-delay:.1s}.course-card:nth-child(4),.grade-card:nth-child(4),.notification-item:nth-child(4),.material-node:nth-child(4) .material-row,.assignment-list-row:nth-child(4),.calendar-day:nth-child(4){animation-delay:.145s}.course-card:nth-child(n+5),.grade-card:nth-child(n+5),.notification-item:nth-child(n+5),.material-node:nth-child(n+5) .material-row,.assignment-list-row:nth-child(n+5),.calendar-day:nth-child(n+5){animation-delay:.19s}.calendar-event{transition:transform .18s var(--ease-out), background .1s linear;animation:event-scrawl .43s .26s var(--ease-out) both}.calendar-event:hover{z-index:2;background:var(--ink);color:var(--paper);transform:rotate(-1.5deg)scale(1.06)}.calendar-date.today,.mini-day.today{animation:2.1s steps(2,end) infinite alternate today-circle}.progress-fill{transform-origin:0;animation:progress-scribble 1s .36s var(--ease-out) both}.score-big{animation:score-stamp .72s .26s var(--ease-out) both, title-fidget 6s 1.2s var(--ease-state) infinite alternate;display:inline-block}@keyframes page-crash-in{0%{opacity:0;transform:translateY(22px)rotate(.18deg)scale(.992)}to{opacity:1;transform:none}}@keyframes header-drop{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:none}}@keyframes heading-drop{0%{opacity:0;transform:translateY(-24px)rotate(-4deg)scale(1.08)}to{opacity:1;transform:none}}@keyframes note-swipe-in{0%{opacity:0;transform:translate(-18px)rotate(-3deg)}to{opacity:1;transform:none}}@keyframes nav-fall-in{0%{opacity:0;transform:translateY(-18px)rotate(3deg)}to{opacity:1;transform:none}}@keyframes scribble-swipe{0%{opacity:0;transform:scaleX(0)rotate(-2deg)}to{opacity:1;transform:scaleX(1)rotate(0)}}@keyframes underline-worry{0%{opacity:.32;transform:rotate(-.25deg)scaleX(.995)}to{opacity:.56;transform:rotate(.35deg)scaleX(1.012)}}@keyframes ink-materialize{0%{opacity:0;transform:translateY(18px)rotate(-16deg)scale(.65)}}@keyframes margin-drift{0%{translate:0 -2px;rotate:-1deg}to{translate:2px 3px;rotate:1.2deg}}@keyframes splat-in{0%{opacity:0;transform:scale(.05)rotate(-45deg)}}@keyframes splat-pulse{0%{opacity:.12;translate:0;rotate:-1deg}to{opacity:.24;translate:2px -2px;rotate:2deg}}@keyframes contour-nerves{0%{opacity:.48;transform:translate(-1px)rotate(-.14deg)scale(.999)}to{opacity:.76;transform:translate(1px,1px)rotate(.14deg)scale(1.002)}}@keyframes title-fidget{0%{transform:rotate(-.25deg)translateY(0)}to{transform:rotate(.2deg)translateY(-2px)}}@keyframes icon-panic{0%{transform:rotate(0)scale(1)}35%{transform:rotate(-13deg)scale(1.15)}70%{transform:rotate(9deg)scale(1.08)}to{transform:rotate(-2deg)scale(1.12)}}@keyframes arrow-escape{0%{opacity:1;transform:none}45%{opacity:0;transform:translate(16px,-16px)rotate(12deg)}46%{opacity:0;transform:translate(-10px,10px)}to{opacity:1;transform:none}}@keyframes unread-panic{0%{opacity:.76;transform:rotate(4deg)scale(.88)}to{opacity:1;transform:rotate(-3deg)scale(1.12)}}@keyframes edit-shiver{0%{transform:rotate(-.2deg)translate(-1px)}to{transform:rotate(.2deg)translate(1px,-1px)}}@keyframes dragged-off-page{0%{transform:rotate(0)scale(1)}to{transform:rotate(2deg)scale(1.025)}}@keyframes list-slap-in{0%{opacity:0;transform:translate(-18px)rotate(-1.2deg)}to{opacity:1}}@keyframes event-scrawl{0%{opacity:0;transform:scaleX(.2)rotate(-2deg)}to{opacity:1}}@keyframes today-circle{0%{transform:rotate(-8deg)scale(.96)}to{transform:rotate(-3deg)scale(1.08)}}@keyframes progress-scribble{0%{opacity:.2;transform:scaleX(0)skew(-12deg)}to{opacity:1;transform:scaleX(1)}}@keyframes score-stamp{0%{opacity:0;transform:scale(1.8)rotate(-12deg)}to{opacity:1;transform:none}}@keyframes check-scratch-in{0%{opacity:0;transform:scale(.35)rotate(-18deg)}to{opacity:1;transform:scale(1)rotate(-5deg)}}@keyframes check-line-draw{0%{stroke-dashoffset:48px;opacity:0}to{stroke-dashoffset:0;opacity:var(--check-opacity)}}@media (min-width:1440px){.chaos-doodle,.chaos-arrow,.margin-note,.ink-splat{display:block}}@keyframes pop-in{0%{opacity:0;transform:translateY(-7px)rotate(-.5deg)}to{opacity:1}}@keyframes widget-arrive{0%{opacity:0}to{opacity:1}}@keyframes sketch-arrive{0%{opacity:0;transform:translateY(14px)rotate(-.5deg)}to{opacity:1}}@keyframes chalk-flicker{0%{opacity:.32}to{opacity:.72}}@media (max-width:1240px){.app-header{grid-template-columns:190px minmax(430px,1fr) auto;padding-inline:24px}.nav-link{min-width:96px;padding-inline:8px}.header-tools .search-box{display:none}.course-directory,.grade-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-shell{width:calc(100vw - 48px)}.content-grid,.course-overview-grid{grid-template-columns:minmax(0,1fr) 320px}.assignment-list-row.has-teachers{grid-template-columns:32px minmax(0,1fr) auto auto}.completed-assignment-row.has-teachers{grid-template-columns:28px minmax(0,1fr) auto}.assignment-row.has-teachers .teacher-contacts-row{border-top:1px dashed var(--line-soft);border-left:0;grid-column:2/-1;padding:10px 0 2px}}@media (max-width:1050px){.app-header{grid-template-columns:160px 1fr auto;padding-inline:18px}.brand-copy small,.nav-link>.sketch-icon{display:none}.nav-link{min-width:88px}.page-shell{width:calc(100vw - 36px)}.content-grid,.course-overview-grid{grid-template-columns:1fr}.course-header-grade{min-width:176px}.teacher-contact{grid-template-columns:1fr}.teacher-contacts-header .teacher-contact{grid-template-columns:minmax(120px,1fr) auto}.teacher-actions{justify-content:flex-start}.dashboard-grid{gap:12px}.notification-strip{grid-template-columns:150px 1fr auto auto}}@media (max-width:900px){html{scroll-padding-top:132px}body:before,body:after,.chaos-layer{display:none}.app-header{min-height:calc(122px + env(safe-area-inset-top));height:auto;padding:env(safe-area-inset-top) 16px 10px;background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none;grid-template:"brand tools"62px"nav nav"48px/minmax(0,1fr) auto;gap:0 14px}.brand{grid-area:brand}.primary-nav{overscroll-behavior-inline:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;grid-area:nav;justify-content:flex-start;width:100%;min-width:0;height:48px;overflow-x:auto}.primary-nav::-webkit-scrollbar{display:none}.header-tools{grid-area:tools}.nav-dropdown{height:48px}.nav-link{flex:1 0 auto;min-width:102px;height:48px;padding-inline:10px}.nav-link.active:after{bottom:2px}.course-menu{top:45px}.page-shell{width:calc(100% - 32px);padding:34px 0 68px}.dashboard-grid,.content-grid,.course-overview-grid{grid-template-columns:minmax(0,1fr)}.dashboard-grid>[data-widget=notifications]{grid-column:1}.course-directory,.grade-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.what-if-layout{grid-template-columns:1fr}.what-if-result{border-top:1px dashed var(--line);border-left:0}.page-heading,.detail-header{align-items:flex-start}.course-heading-row{flex-direction:column;align-items:flex-start}.teacher-contacts-header{border-top:1px dashed var(--line);border-left:0;width:100%;min-width:0;max-width:560px;padding:14px 0 0}.course-nav{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.grade-table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.calendar-grid-scroll{margin-inline:-2px}.calendar-weekdays,.month-grid{min-width:720px}}@media (max-width:680px){h1{overflow-wrap:anywhere;font-size:clamp(2.4rem,14vw,3.8rem)}.app-header{padding-inline:14px}.brand-copy strong{font-size:18px}.header-tools{gap:12px}.icon-button{width:36px;height:36px}.nav-link{min-width:94px;font-size:12px}.course-menu{top:calc(114px + env(safe-area-inset-top));width:auto;max-height:calc(100dvh - 134px - env(safe-area-inset-top));position:fixed;left:14px;right:14px;overflow-y:auto;transform:none}.popover,.search-results{top:calc(66px + env(safe-area-inset-top));width:auto;max-height:calc(100dvh - 86px - env(safe-area-inset-top));position:fixed;left:14px;right:14px;overflow-y:auto}.page-shell{width:calc(100% - 28px);padding-top:28px}.page-heading{flex-direction:column;gap:20px;margin-bottom:30px}.page-heading>div:after{right:0}.page-heading>.actions,.page-heading>.button{align-self:flex-start}.page-subtitle{font-size:13px}.dashboard-grid,.dashboard-sidebar{gap:14px}.course-grid,.course-directory,.grade-card-grid{grid-template-columns:1fr}.what-if-header{flex-direction:column;align-items:flex-start;padding:20px}.what-if-private{flex:none}.what-if-controls,.what-if-result{padding:24px 20px}.what-if-course-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.what-if-letter{top:92px;right:24px}.widget-header,.content-card-header{min-height:58px;padding:15px 17px}.widget-body,.content-card-body{padding:17px}.notification-strip{grid-template-columns:minmax(0,1fr) auto;align-content:center;gap:12px 16px;min-height:154px;padding:18px}.notification-strip .recent-note{grid-area:2/1/auto/-1;min-width:0}.notification-strip .text-link{grid-area:3/1}.notification-alert-mark{position:absolute;top:18px;right:18px}.filter-bar{flex-direction:column;align-items:stretch;gap:9px}.assignment-search,.filter-bar .select{width:100%}.input,.select{min-width:0}.assignment-list-row,.assignment-list-row.has-teachers,.completed-assignment-row,.completed-assignment-row.has-teachers{grid-template-columns:28px minmax(0,1fr);align-items:start}.assignment-row.has-teachers .teacher-contacts-row,.assignment-list-row .status-select,.assignment-list-row .status-pill,.completed-assignment-row .points{grid-column:2}.assignment-list-row .status-select{width:100%}.assignment-list-row .status-pill,.completed-assignment-row .points{justify-self:start}.assignment-page-heading .assignment-detail-actions{flex-wrap:wrap;width:100%}.assignment-page-heading .status-select{flex:1}.detail-header{flex-direction:column;margin-top:-10px;padding-top:26px}.detail-header h1{font-size:clamp(2.6rem,15vw,4.3rem)}.detail-meta{flex-wrap:wrap;gap:8px 18px}.course-header-grade{width:100%;min-width:0}.course-nav{width:100%;margin-bottom:22px}.course-nav a{flex:none;padding-inline:12px}.teacher-contacts-header .teacher-contact{grid-template-columns:1fr}.teacher-contacts-header .teacher-actions{justify-content:flex-start}.calendar-toolbar{flex-direction:column;align-items:flex-start;gap:12px}.calendar-toolbar .actions{flex-wrap:wrap;width:100%}.calendar-label{order:-1;width:100%;margin:0 0 2px}.calendar-toolbar .segmented{align-self:flex-start}.calendar-grid-scroll{margin-inline:-14px;padding-inline:14px}.calendar-day{min-height:116px}.settings-card{grid-template-columns:42px minmax(0,1fr);padding:18px}.settings-card>:last-child{grid-column:1/-1;justify-self:stretch}.settings-card>.button{width:100%}.appearance-options{grid-template-columns:repeat(3,1fr);display:grid}.appearance-options button{justify-content:center;padding-inline:8px}}@media (hover:none),(pointer:coarse){*,:before,:after{animation-iteration-count:1!important}.sortable-course-card{touch-action:pan-y}.course-drag-handle{touch-action:none}.button:hover,.icon-button:hover,.widget:hover:not(.editing),.course-card:hover,.grade-card:hover,.notification-item:hover,.material-row:hover,.assignment-row:hover,.file-drop:hover{transform:none}}html[data-style=professional]{--paper:#0c1015;--paper-deep:#06090e;--paper-raised:#12161c;--paper-soft:#191d24;--ink:#e7ecf0;--ink-soft:#b8bec5;--ink-muted:#8f969e;--ink-faint:#585e65;--line:#737b85;--line-soft:#2b3138;--chalk-fill:#e7ecf0;--chalk-ink:#0c1015;--alert-red:#ee6e63;--alert-ink:#f5f9fc;--danger:#ee6e63;--danger-soft:#381613;--warning:#deae62;--warning-soft:#31240e;--success:#67ba7d;--success-soft:#132718;--text:var(--ink);--muted:var(--ink-muted);--subtle:var(--ink-faint);--accent:#659cd7;--accent-hover:#7dafe5;--accent-soft:#102336;--accent-ink:#06090e;--panel:var(--paper-raised);--panel-2:var(--paper-soft);--panel-3:#1f242b;--radius:4px;--font-display:"Avenir Next", Avenir, "Century Gothic", "Trebuchet MS", ui-sans-serif, sans-serif;--font-body:"Avenir Next", Avenir, "Century Gothic", "Trebuchet MS", ui-sans-serif, sans-serif;--shadow-float:0 18px 44px #04081052;--shadow-card:none;--shadow-card-soft:none;--shadow-card-hover:none;--shadow-drag:0 14px 30px #04081042;--shadow-control:none;--shadow-header:none;--shadow-text:none}@supports (color:lab(0% 0 0)){html[data-style=professional]{--paper:lab(4.40947% -.405975 -3.30295);--paper-deep:lab(2.45793% -.24838 -2.28414);--paper-raised:lab(7.18491% -.630595 -4.65493);--paper-soft:lab(10.6331% -.752881 -5.0746);--ink:lab(93.0335% -.877798 -2.85856);--ink-soft:lab(76.7891% -1.29417 -4.27552);--ink-muted:lab(61.706% -1.48588 -4.97552);--ink-faint:lab(39.6643% -1.45194 -4.95859);--line:lab(51.2592% -1.85683 -6.37058);--line-soft:lab(19.9387% -1.46963 -5.27382);--chalk-fill:lab(93.0335% -.877798 -2.85856);--chalk-ink:lab(4.40947% -.405975 -3.30295);--alert-red:lab(62.5107% 49.6918 31.1717);--alert-ink:lab(97.6754% -.662327 -2.14626);--danger:lab(62.5107% 49.6918 31.1717);--danger-soft:lab(12.4764% 17.0577 10.4327);--warning:lab(74.5267% 11.5151 45.8578);--warning-soft:lab(15.3329% 4.25641 16.4251);--success:lab(69.0662% -36.3961 22.6516);--success-soft:lab(13.4917% -11.5033 7.14297);--accent:lab(62.519% -6.09061 -36.0541);--accent-hover:lab(69.5562% -6.34417 -32.8112);--accent-soft:lab(12.8249% -2.21261 -15.3748);--accent-ink:lab(2.45793% -.24838 -2.28414);--panel-3:lab(14.1106% -.82171 -5.44303)}}html[data-style=professional][data-theme=light]{--paper:#f4f7fb;--paper-deep:#e8edf3;--paper-raised:#fafcfe;--paper-soft:#ebf1f7;--ink:#131921;--ink-soft:#313942;--ink-muted:#4e5661;--ink-faint:#79818b;--line:#6d7985;--line-soft:#ced5dd;--chalk-fill:#131921;--chalk-ink:#f5f9fc;--alert-red:#b32322;--alert-ink:#f5f9fc;--danger:#b32322;--danger-soft:#fce5e2;--warning:#960;--warning-soft:#fcecd5;--success:#00612c;--success-soft:#e0f0e3;--accent:#004280;--accent-hover:#003268;--accent-soft:#dde9f9;--accent-ink:#f5f9fc;--panel-3:#dee5ee;--shadow-float:0 18px 44px #18274029;--shadow-drag:0 14px 30px #18274024}@supports (color:lab(0% 0 0)){html[data-style=professional][data-theme=light]{--paper:lab(97.0954% -.662327 -2.14621);--paper-deep:lab(93.6126% -.984818 -3.2144);--paper-raised:lab(98.837% -.443995 -1.43219);--paper-soft:lab(94.7706% -1.1974 -3.92522);--ink:lab(8.30091% -1.0343 -6.41901);--ink-soft:lab(23.3835% -1.32062 -7.19418);--ink-muted:lab(36.1483% -1.41019 -7.23143);--ink-faint:lab(53.5577% -1.34879 -6.54491);--line:lab(50.0882% -2.39682 -8.45775);--line-soft:lab(84.9082% -1.4022 -4.63194);--chalk-fill:lab(8.30091% -1.0343 -6.41901);--chalk-ink:lab(97.6754% -.662327 -2.14626);--alert-red:lab(40.2064% 56.6397 39.4962);--alert-ink:lab(97.6754% -.662327 -2.14626);--danger:lab(40.2064% 56.6397 39.4962);--danger-soft:lab(92.8181% 7.5337 4.42854);--warning:lab(47.6336% 17.8342 68.5836);--warning-soft:lab(94.2532% 3.10531 13.2094);--success:lab(35.3771% -37.0337 23.5725);--success-soft:lab(93.376% -7.46518 4.56376);--accent:lab(27.0805% 2.96006 -44.081);--accent-hover:lab(20.0236% 5.20812 -42.291);--accent-soft:lab(91.8346% -2.18385 -9.0143);--accent-ink:lab(97.6754% -.662327 -2.14626);--panel-3:lab(90.7073% -1.50895 -4.98763)}}html[data-style=professional] *,html[data-style=professional] :before,html[data-style=professional] :after{transition-duration:0s!important;animation:none!important}html[data-style=professional] body{background:var(--paper);letter-spacing:-.006em;font-size:15px}html[data-style=professional] body:before,html[data-style=professional] body:after,html[data-style=professional] .chaos-layer,html[data-style=professional] .sketch-icon-drawn,html:not([data-style=professional]) .professional-icon{display:none}html[data-style=professional] .professional-icon{display:block}html[data-style=professional] ::selection{background:var(--accent);color:var(--accent-ink)}html[data-style=professional] :focus-visible{outline:2px solid var(--accent);outline-offset:3px}html[data-style=professional] h1{letter-spacing:-.04em;text-transform:none;font-size:clamp(2.4rem,3.7vw,4.1rem);font-weight:700;line-height:1}html[data-style=professional] h2{letter-spacing:-.02em;font-size:1.3rem;line-height:1.15}html[data-style=professional] h3{letter-spacing:-.012em;font-size:1.05rem}html[data-style=professional] :is(.button,.nav-link,.section-label,.eyebrow,.status-pill,.course-code,.course-index,.segmented button,.material-kind,.course-name,.course-card-teacher-summary strong,.teacher-name,.widget-title,.content-card-header h2,.course-nav a,.search-results-heading,.search-result-kind,.popover-header,.unread-count strong,.calendar-label,.empty strong,.settings-card :is(h2,h3)){text-transform:none}html[data-style=professional] .page-heading h1{text-shadow:none;transform:none}html[data-style=professional] .page-heading>div:after,html[data-style=professional] .app-header:after,html[data-style=professional] .detail-header:after,html[data-style=professional] .widget:before,html[data-style=professional] .widget:after,html[data-style=professional] .content-card:before,html[data-style=professional] .content-card:after,html[data-style=professional] .course-card:before,html[data-style=professional] .course-card:after,html[data-style=professional] .course-menu:before,html[data-style=professional] .course-menu:after,html[data-style=professional] .popover:before,html[data-style=professional] .popover:after,html[data-style=professional] .button:after,html[data-style=professional] .widget-header:before,html[data-style=professional] .widget-header:after,html[data-style=professional] .assignment-check:after,html[data-style=professional] .course-header-grade:after{display:none}html[data-style=professional] .app-header{border-bottom:1px solid var(--line-soft);background:var(--paper-raised);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}html[data-style=professional] .brand-copy strong{letter-spacing:-.02em;font-size:19px}html[data-style=professional] .brand-copy small{letter-spacing:.08em}html[data-style=professional] .nav-link{color:var(--muted);letter-spacing:.01em;font-size:13px;transform:none}html[data-style=professional] .nav-link:hover,html[data-style=professional] .nav-link.active{color:var(--accent);transform:none}html[data-style=professional] .nav-link.active:after{opacity:1;background:var(--accent);clip-path:none;height:2px;bottom:0;left:14px;right:14px;transform:none}html[data-style=professional] :is(.widget,.content-card,.course-card,.course-menu,.popover,.search-box,.select,.input,.button,.icon-button,.segmented,.calendar-event,.course-header-grade,.teacher-contacts-detail,.submission-box textarea,.file-drop,.settings-icon){border-radius:var(--radius)}html[data-style=professional] :is(.widget,.content-card,.course-card){border:1px solid var(--line-soft);background:var(--paper-raised);box-shadow:none;transform:none}html[data-style=professional] :is(.course-menu,.popover){border:1px solid var(--line-soft);background:var(--paper-raised);box-shadow:var(--shadow-float)}html[data-style=professional] .course-menu{transform:translate(-50%)}html[data-style=professional] .course-menu-all,html[data-style=professional] .search-results-heading,html[data-style=professional] .popover-header,html[data-style=professional] .content-card-header,html[data-style=professional] .widget-header,html[data-style=professional] .course-card-teacher-summary,html[data-style=professional] .teacher-contacts-card,html[data-style=professional] .teacher-contacts-row,html[data-style=professional] .teacher-contacts-header,html[data-style=professional] .material-node,html[data-style=professional] .notification-item,html[data-style=professional] .assignment-row,html[data-style=professional] .grade-row,html[data-style=professional] .grade-table th,html[data-style=professional] .grade-table td{border-color:var(--line-soft);border-style:solid}html[data-style=professional] .course-menu-item:hover,html[data-style=professional] .course-menu-all:hover,html[data-style=professional] .search-result:hover,html[data-style=professional] .search-result:focus-visible,html[data-style=professional] .material-row:hover,html[data-style=professional] .notification-item:hover,html[data-style=professional] .notification-item.unread:hover,html[data-style=professional] .assignment-row:hover,html[data-style=professional] .assignment-row:focus-within,html[data-style=professional] .calendar-event:hover,html[data-style=professional] .file-drop:hover{background:var(--paper-soft);color:var(--text);transform:none}html[data-style=professional] .search-result:hover :is(.search-result-kind,small),html[data-style=professional] .search-result:focus-visible :is(.search-result-kind,small),html[data-style=professional] .material-row:hover .material-kind,html[data-style=professional] .notification-item:hover :is(.notification-copy p,.notification-age){color:var(--muted)}html[data-style=professional] .search-empty,html[data-style=professional] .course-menu-item,html[data-style=professional] .course-menu-all,html[data-style=professional] .search-result,html[data-style=professional] .text-link,html[data-style=professional] .material-row,html[data-style=professional] .notification-item,html[data-style=professional] .assignment-row,html[data-style=professional] .calendar-event,html[data-style=professional] .file-drop{transform:none}html[data-style=professional] .search-box,html[data-style=professional] :is(.select,.input){border:1px solid var(--line-soft);background:var(--paper-raised);transform:none}html[data-style=professional] :is(.search-box:focus-within,.select:focus,.input:focus,.submission-box textarea:focus){border-color:var(--accent)}html[data-style=professional] .button{border:1px solid var(--line-soft);background:var(--paper-raised);letter-spacing:.01em;font-size:12px;transform:none}html[data-style=professional] .button:hover,html[data-style=professional] .button:active{border-color:var(--accent);background:var(--accent-soft);color:var(--text);transform:none}html[data-style=professional] .button.primary{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}html[data-style=professional] .button.primary:hover{border-color:var(--accent-hover);background:var(--accent-hover);color:var(--accent-ink)}html[data-style=professional] .button.ghost{background:0 0;border-style:solid}html[data-style=professional] .button.danger{border-color:var(--danger);color:var(--danger);border-style:solid}html[data-style=professional] .button.danger:hover{background:var(--danger-soft)}html[data-style=professional] .icon-button{border:1px solid var(--line-soft);background:var(--paper-raised);transform:none}html[data-style=professional] .icon-button:hover,html[data-style=professional] .icon-button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);transform:none}html[data-style=professional] .theme-toggle,html[data-style=professional] .theme-toggle:hover .sketch-icon,html[data-style=professional] .customize-button:hover{transform:none}html[data-style=professional] .unread-dot{background:var(--danger);font-family:var(--font-body);border-radius:999px;transform:none}html[data-style=professional] .segmented{border:1px solid var(--line-soft);background:var(--paper-deep);padding:3px;transform:none}html[data-style=professional] .segmented button{letter-spacing:.01em;border-radius:2px;font-size:11px}html[data-style=professional] .segmented button:hover{color:var(--text);background:var(--paper-soft)}html[data-style=professional] .segmented button.active{background:var(--accent);color:var(--accent-ink);transform:none}html[data-style=professional] .notification-strip-link:hover{background:var(--paper-soft)}html[data-style=professional] .notification-alert-mark{border:1px solid var(--danger);color:var(--danger);font-family:var(--font-body);border-radius:999px;transform:none}html[data-style=professional] .unread-number{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--paper-soft);color:var(--accent);transform:none}html[data-style=professional] .text-link{color:var(--accent);letter-spacing:.01em;font-size:12px}html[data-style=professional] .text-link:hover{color:var(--accent-hover);transform:none}html[data-style=professional] .text-link{text-transform:none}html[data-style=professional] .widget-title{letter-spacing:-.01em;font-weight:650}html[data-style=professional] .assignment-title,html[data-style=professional] .course-card-teacher-summary strong,html[data-style=professional] .teacher-name{font-weight:600}html[data-style=professional] .course-card-teacher-summary span,html[data-style=professional] .teacher-contacts-label{letter-spacing:.07em}html[data-style=professional] .sortable-course-card:nth-child(2n) .course-card,html[data-style=professional] .sortable-course-card.dragging .course-card,html[data-style=professional] .course-card:nth-child(2n),html[data-style=professional] .course-card:hover,html[data-style=professional] .course-card:focus-within,html[data-style=professional] .grade-card:nth-child(2n),html[data-style=professional] .grade-card:hover,html[data-style=professional] .widget:nth-child(2),html[data-style=professional] .widget:nth-child(3),html[data-style=professional] .widget:nth-child(4),html[data-style=professional] .widget:hover:not(.editing),html[data-style=professional] .grade-summary-card,html[data-style=professional] .appearance-card{transform:none}html[data-style=professional] .course-card:hover,html[data-style=professional] .course-card:focus-within,html[data-style=professional] .grade-card:hover,html[data-style=professional] .widget:hover:not(.editing){border-color:var(--accent);background:var(--paper-raised);color:var(--text);box-shadow:none}html[data-style=professional] .course-card-link:hover .course-name,html[data-style=professional] .assignment-row:hover .assignment-title{text-decoration:none}html[data-style=professional] .course-card:hover :is(.teacher-contacts-label,.teacher-email,.teacher-unavailable,.teacher-copy-feedback,.course-card-teacher-summary span),html[data-style=professional] .course-card:focus-within :is(.teacher-contacts-label,.teacher-email,.teacher-unavailable,.teacher-copy-feedback,.course-card-teacher-summary span){color:var(--muted)}html[data-style=professional] .course-card:hover .teacher-action.primary,html[data-style=professional] .course-card:focus-within .teacher-action.primary{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}html[data-style=professional] .course-card:hover .teacher-action.ghost,html[data-style=professional] .course-card:focus-within .teacher-action.ghost{border-color:var(--line-soft);color:var(--text)}html[data-style=professional] .course-drag-handle{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--paper-raised);transform:none}html[data-style=professional] .course-drag-handle:hover,html[data-style=professional] .course-drag-handle:focus-visible{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);transform:none}html[data-style=professional] .section-label.overdue{color:var(--danger);border-bottom:0;transform:none}html[data-style=professional] .assignment-check{border:1px solid var(--line);background:var(--paper-raised);color:var(--accent-ink);border-radius:3px;transform:none}html[data-style=professional] .assignment-check:hover{border-color:var(--accent);background:var(--accent-soft);transform:none}html[data-style=professional] .assignment-check.checked{border-color:var(--accent);background:var(--accent);transform:none}html[data-style=professional] .assignment-check svg{transform:none}html[data-style=professional] .assignment-check svg path{stroke-dashoffset:0}html[data-style=professional] .assignment-check .check-echo{display:none}html[data-style=professional] .done-label{transform:none}html[data-style=professional] .status-pill{border:1px solid var(--line-soft);background:var(--paper-soft);color:var(--ink-soft);border-radius:999px;transform:none}html[data-style=professional] .status-pill.overdue{border:1px solid var(--danger);background:var(--danger-soft);color:var(--danger)}html[data-style=professional] .status-not-started{border-style:solid!important}html[data-style=professional] .status-in-progress{border:1px solid var(--accent)!important;color:var(--accent)!important}html[data-style=professional] .status-ready{border-color:var(--warning)!important;background:var(--warning-soft)!important;color:var(--warning)!important}html[data-style=professional] :is(.status-submitted,.status-graded){border-color:var(--success)!important;background:var(--success-soft)!important;color:var(--success)!important}html[data-style=professional] .progress-track{background:var(--paper-soft);border:0;border-radius:999px;height:7px;transform:none}html[data-style=professional] .progress-fill{border-radius:inherit;background:var(--accent);transform:none}html[data-style=professional] .stat{border:1px solid var(--line-soft);background:var(--paper-deep);transform:none}html[data-style=professional] .mini-day.today,html[data-style=professional] .calendar-date.today{background:var(--accent);color:var(--accent-ink);border:0;border-radius:3px;transform:none}html[data-style=professional] .course-nav{border-color:var(--line-soft);border-style:solid}html[data-style=professional] .course-nav a.active{color:var(--accent)}html[data-style=professional] .course-nav a.active:after{background:var(--accent);clip-path:none;height:2px;bottom:0;left:10px;right:10px}html[data-style=professional] .detail-header{border-bottom:1px solid var(--line-soft)}html[data-style=professional] .detail-header h1{font-size:clamp(2.7rem,4.4vw,4.8rem)}html[data-style=professional] .course-header-grade{border:1px solid var(--line-soft);background:var(--paper-raised);transform:none}html[data-style=professional] .course-header-grade:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--text);transform:none}html[data-style=professional] .course-header-grade:hover>span{color:var(--muted)}html[data-style=professional] .course-header-grade:hover small{color:var(--accent)}html[data-style=professional] .material-children{border-left:1px solid var(--line-soft)}html[data-style=professional] .notification-item.unread{background:var(--accent-soft)}html[data-style=professional] .notification-bullet{border-color:var(--accent);border-radius:999px}html[data-style=professional] .notification-item.unread .notification-bullet{background:var(--accent)}html[data-style=professional] .month-grid{border-color:var(--line-soft);border-width:1px}html[data-style=professional] .calendar-day{border-color:var(--line-soft);background:var(--paper-raised);border-style:solid}html[data-style=professional] .calendar-day:nth-child(3n){background:var(--paper-raised)}html[data-style=professional] .calendar-event{border:1px solid var(--line-soft);background:var(--paper-deep);transform:none}html[data-style=professional] .submission-box textarea,html[data-style=professional] .file-drop{border:1px solid var(--line-soft);background:var(--paper-deep)}html[data-style=professional] .settings-icon{border:1px solid var(--line-soft);background:var(--accent-soft);color:var(--accent);transform:none}html[data-style=professional] .style-options{gap:2px}html[data-style=professional] .style-options button{align-items:center;gap:6px;display:inline-flex}@media (max-width:680px){.style-options{grid-template-columns:repeat(2,1fr);display:grid}.style-options button{justify-content:center;padding-inline:8px}}:root{--overdue-ink:#ffaaa5;--overdue-fill:#382222;--overdue-border:#96514e}html[data-theme=light]{--overdue-ink:#9b2825;--overdue-fill:#fce9e6;--overdue-border:#d99892}.assignment-view-switch{width:fit-content;margin-bottom:20px}html .assignment-overdue,html[data-style=professional] .assignment-overdue,html[data-style=professional] .assignment-overdue:hover,html[data-style=professional] .assignment-overdue:focus-within,html [data-widget=upcoming] .assignment-row.assignment-overdue:hover,html [data-widget=upcoming] .assignment-row.assignment-overdue:focus-within{background:var(--overdue-fill);color:var(--overdue-ink);border-left:3px solid var(--overdue-border);padding:12px}html .assignment-overdue .assignment-meta,html [data-widget=upcoming] .assignment-overdue:hover .assignment-meta,html [data-widget=upcoming] .assignment-overdue:focus-within .assignment-meta,html .section-label.overdue{color:var(--overdue-ink)}html .assignment-overdue .status-pill.overdue{background:var(--overdue-fill);color:var(--overdue-ink);border-color:var(--overdue-border)}.assignment-dismiss{white-space:normal;border:1px solid var(--overdue-border);background:var(--overdue-fill);width:fit-content;max-width:100%;color:var(--overdue-ink);font:inherit;cursor:pointer;border-radius:5px;grid-column:2/-1;justify-self:start;padding:6px 10px;font-size:12px;line-height:1.4}.assignment-dismiss:hover{text-decoration:underline}.assignment-dismiss:focus-visible{outline:2px solid var(--overdue-ink);outline-offset:3px}.assignment-restore{grid-column:2/-1;justify-self:start}.calendar-event .assignment-dismiss{font-size:11px}.assignment-detail-actions{flex-wrap:wrap}html:not([data-style=professional]) .assignment-dismiss{font-family:var(--font-display);letter-spacing:.035em;text-transform:uppercase;background:0 0;border:1.5px solid;border-radius:3px 1px 5px 2px;padding:8px 12px 6px;font-size:12px;font-weight:750;transition:transform .14s,background .14s;position:relative;transform:rotate(-1deg)}html:not([data-style=professional]) .assignment-dismiss:after{content:"";opacity:.6;pointer-events:none;border-bottom:1px solid;border-right:1px solid;border-radius:2px 4px 2px 5px;position:absolute;inset:2px -3px -3px 2px}html:not([data-style=professional]) .assignment-dismiss:hover{background:var(--overdue-ink);transform:translateY(-1px)rotate(1deg)}@supports (color:color-mix(in lab, red, red)){html:not([data-style=professional]) .assignment-dismiss:hover{background:color-mix(in srgb, var(--overdue-ink) 10%, transparent)}}html:not([data-style=professional]) .assignment-dismiss:hover{text-decoration:none}:is(.assignment-row:has(.assignment-scratch-out),.calendar-event:has(.assignment-scratch-out),.assignment-page-heading:has(.assignment-scratch-out)){isolation:isolate;pointer-events:none;position:relative}.assignment-scratch-out{z-index:10;pointer-events:none;color:var(--overdue-ink);position:absolute;inset:0;overflow:hidden}.assignment-scratch-out svg{width:100%;height:100%;display:block;overflow:visible}.assignment-scratch-out path{fill:none;stroke:currentColor;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1px;animation:.44s linear forwards assignment-scratch-draw}.assignment-scratch-out .scratch-pass-1{stroke-width:1.8px;opacity:.8;animation-delay:.22s}.assignment-scratch-out .scratch-pass-2{stroke-width:1.2px;opacity:.65;animation-duration:.3s;animation-delay:.44s}@keyframes assignment-scratch-draw{to{stroke-dashoffset:0}}html:is([data-coolness=muted],[data-coolness=dead]) *,html:is([data-coolness=muted],[data-coolness=dead]) :before,html:is([data-coolness=muted],[data-coolness=dead]) :after{scroll-behavior:auto!important;animation:none!important}html[data-coolness=muted][data-style=sketch] *,html[data-coolness=muted][data-style=sketch] :before,html[data-coolness=muted][data-style=sketch] :after{transition:opacity .12s ease-out,color .12s ease-out,background-color .12s ease-out,border-color .12s ease-out,box-shadow .12s ease-out!important}html[data-coolness=dead] *,html[data-coolness=dead] :before,html[data-coolness=dead] :after{transition:none!important}html:is([data-coolness=muted],[data-coolness=dead]) .chaos-layer,html:is([data-coolness=muted],[data-coolness=dead]) .widget-header:after,html:is([data-coolness=muted],[data-coolness=dead]) .what-if-result:after{display:none}html:is([data-coolness=muted],[data-coolness=dead]) :is(.nav-link,.course-menu-item,.course-menu-all,.search-result,.icon-button,.theme-toggle .sketch-icon,.button,.text-link,.widget,.course-card,.course-drag-handle,.teacher-copy-feedback,.assignment-check,.assignment-row,.status-pill,.course-header-grade,.notification-item,.material-row,.file-drop,.grade-card,.what-if-course-tabs button,.calendar-event,.assignment-dismiss,.segmented button){transform:none!important}html:is([data-coolness=muted],[data-coolness=dead]) .assignment-check.checked svg{transform:none}html:is([data-coolness=muted],[data-coolness=dead]) .assignment-check.checked svg path{stroke-dashoffset:0}@keyframes coolness-fade-in{0%{opacity:0}to{opacity:1}}html[data-coolness=muted][data-style=sketch] :is(.page-shell,.course-menu,.search-results,.popover){animation:.14s ease-out both coolness-fade-in!important}html:is([data-coolness=muted],[data-coolness=dead]) .sortable-course-card{transition:none!important}@media (max-width:680px){.coolness-options{grid-template-columns:repeat(3,1fr);display:grid}.coolness-options button{padding-inline:8px}}.course-material-action{max-width:680px;margin-top:20px}.course-material-action.compact{margin-top:0;padding:0 20px 16px}.course-material-action.compact .button{width:100%;font-size:11px}.material-export-status{color:var(--muted);overflow-wrap:anywhere;margin:9px 0 0;font-size:12px;line-height:1.5}.material-export-status:empty{display:none}.material-location-controls{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.material-location-controls .material-export-status{max-width:350px;margin:0}.course-card-dashboard:hover .material-export-status,.course-card-dashboard:focus-within .material-export-status{color:inherit}@media (max-width:760px){.material-destination-card{grid-template-columns:42px minmax(0,1fr)}.material-destination-card .material-location-controls{grid-column:1/-1}.material-location-controls .segmented{width:100%}.material-location-controls .segmented button{flex:1;padding-inline:6px}}.settings-section-stack{flex-direction:column;gap:20px;display:flex}.settings-section-title{border-bottom:1px solid var(--line);margin:0 0 18px;padding-bottom:12px}.settings-stack>.settings-section+.settings-section{margin-top:20px}.settings-card h3{font-size:18px}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}@property --tw-ease{syntax:"*";inherits:false}
