@font-face{font-family:generalSans;src:url(/_next/static/media/eb38d80f1efefe0e-s.p.woff2) format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:generalSans;src:url(/_next/static/media/c769b9ad37242ab7-s.p.woff2) format("woff2");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:generalSans Fallback;src:local("Arial");ascent-override:99.89%;descent-override:23.74%;line-gap-override:9.89%;size-adjust:101.11%}.__className_947414{font-family:generalSans,generalSans Fallback}.__variable_947414{--font-general-sans:"generalSans","generalSans Fallback"}@font-face{font-family:jetbrainsMono;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");font-display:swap;font-weight:100 800;font-style:normal}@font-face{font-family:jetbrainsMono Fallback;src:local("Arial");ascent-override:77.57%;descent-override:22.82%;line-gap-override:0.00%;size-adjust:131.49%}.__className_6e2a5c{font-family:jetbrainsMono,jetbrainsMono Fallback;font-style:normal}.__variable_6e2a5c{--font-jetbrains-mono:"jetbrainsMono","jetbrainsMono Fallback"}

/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial}}}@layer theme{:host,:root{--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:var(--font-mono);--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);--font-display:var(--font-display)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*,:after,:before{box-sizing:border-box}*{border-radius:0;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-display);font-size:var(--t-body);-webkit-font-smoothing:antialiased;line-height:1.45}h1,h2,h3,h4{letter-spacing:-.02em;font-weight:500;line-height:1.1;font-size:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button,input,select,textarea{font:inherit;color:inherit;background:0 0;border:0}ol,ul{list-style:none}:focus-visible{outline:1px solid var(--ink);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}}@layer components{.shell{width:100%;padding-inline:var(--gutter)}.mono{font-family:var(--font-mono);font-size:var(--t-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);font-weight:400;line-height:1.33}.mono--ink{color:var(--ink)}.mono--faint{color:var(--ink-faint)}.mono--sm{font-size:var(--t-mono-sm)}.mono--sentence{text-transform:none;letter-spacing:-.01em}.btn{min-height:40px;font-family:var(--font-mono);font-size:var(--t-mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--ink);background:var(--paper);color:var(--ink);transition:background .24s var(--ease),color .24s var(--ease);justify-content:center;align-items:center;gap:.7em;padding:10px 16px;display:inline-flex}.btn--solid,.btn:hover{background:var(--ink);color:var(--paper)}.btn--solid:hover{background:var(--paper);color:var(--ink)}.btn--sm{min-height:34px;font-size:var(--t-mono-sm);padding:7px 12px}.btn:disabled{opacity:.55;cursor:default}.btn:disabled:hover{background:var(--paper);color:var(--ink)}.btn--solid:disabled:hover{background:var(--ink);color:var(--paper)}.sync__pip{border:1px solid;flex:none;width:7px;height:7px}.btn.is-running .sync__pip{animation:sync-blink .9s steps(2) infinite}@keyframes sync-blink{0%,49%{background:0 0}50%,to{background:currentColor}}.tag{border:1px solid var(--line-strong);font-family:var(--font-mono);font-size:var(--t-mono-sm);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);white-space:nowrap;padding:2px 7px;display:inline-block}.tag--course{border-left-width:3px}.app{height:100dvh;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);flex-direction:column;display:flex;overflow:hidden}.capture,.marquee,.nav,.showroom,.upnext{flex:none}.nav{border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top)}.nav__inner{min-height:var(--nav-h);flex-wrap:wrap;align-items:center;gap:10px 20px;padding-block:8px;display:flex}.nav__mark{white-space:nowrap;margin-right:auto}.nav__health{flex-wrap:wrap;gap:4px 16px;display:flex}.nav__sync{flex:none}.nav__syncwrap{flex:none;align-items:center;gap:10px;display:flex}.nav__settings{color:var(--ink-mute);white-space:nowrap;border-bottom:1px solid #0000}.nav__settings:hover{color:var(--ink);border-bottom-color:var(--ink)}.settings{max-width:72ch;padding-block:28px 60px}.settings__crumb{color:var(--ink-mute);margin-bottom:26px}.settings__crumb a{color:var(--ink);border-bottom:1px solid var(--line-strong)}.settings__body{gap:38px}.settings__block,.settings__body{flex-direction:column;display:flex}.settings__block{gap:12px}.settings__h{font-size:var(--t-mono);color:var(--ink)}.settings__p{color:var(--ink-mute);line-height:1.55}.settings__p a{color:var(--ink);border-bottom:1px solid var(--line-strong)}.settings__p code{font-family:var(--font-mono);color:var(--ink)}.settings__form{flex-direction:column;gap:8px;display:flex}.settings__paste{font-family:var(--font-mono);font-size:var(--t-mono-sm);resize:vertical}.settings__row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.settings__note{min-height:1.2em}.settings__list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.settings__course{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;padding-block:10px;display:flex}.settings__course:last-child{border-bottom:1px solid var(--line)}.settings__coursename{overflow-wrap:anywhere;min-width:0}.settings__pick{align-items:center;gap:8px;display:flex}.settings__pick .field__select{min-width:150px}.nav__syncnote{text-align:right;max-width:34ch}.nav__warn{border-top:1px solid var(--line);color:var(--ink);padding-block:7px}.nav__warn,.upnext{background:var(--paper-warm)}.upnext{border-bottom:1px solid var(--line)}.upnext__inner{padding-block:16px 0}.upnext__lead{flex-wrap:wrap;align-items:flex-end;gap:16px 44px;margin-bottom:14px;display:flex}.upnext__count{flex-wrap:wrap;align-items:baseline;gap:24px;display:flex}.upnext__stat--alarm .mono,.upnext__stat--alarm .upnext__num{color:var(--void)}.upnext__stat{align-items:baseline;gap:8px;display:flex}.upnext__num{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(2rem,4.5vw,3rem);font-weight:500;line-height:.9}.upnext__clear{padding-block:14px 18px}.upnext__list{overscroll-behavior-x:contain;border-top:1px solid var(--line);margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);display:flex;overflow-x:auto}.chip{border-right:1px solid var(--line);flex-direction:column;gap:3px;min-width:210px;padding:10px 18px;display:flex}.chip:last-child{border-right:0}.chip.is-tomorrow{background:var(--alarm-tint)}.chip.is-tomorrow .chip__when{color:var(--alarm)}.chip.is-soon{background:var(--soon-tint)}.chip.is-soon .chip__when{color:var(--soon)}.chip.is-filled{color:var(--paper)}.chip.is-overdue{background:var(--void)}.chip.is-today{background:var(--alarm-deep)}.chip.is-filled .mono{color:#ffffffb8}.chip.is-filled .tag{color:#ffffffd1;border-color:#ffffff57}.chip__title{font-size:var(--t-body);line-height:1.25}.chip__link{align-self:flex-start}.chip__link:focus-visible,.chip__link:hover{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.chip.is-filled .chip__via,.chip.is-filled .ext{color:#fff9}.chip.is-filled .chip__link:hover .chip__via,.chip.is-filled .chip__link:hover .ext{color:inherit}.chip.is-filled :focus-visible{outline-color:var(--paper)}.chip__course{align-self:flex-start;margin-top:2px}.horizon{flex:320px;min-width:0;max-width:620px}.horizon__plot{height:30px;position:relative}.horizon__base{background:var(--line-strong);height:1px;right:0}.horizon__base,.horizon__past{position:absolute;bottom:0;left:0}.horizon__past{background:var(--void);height:3px}.horizon__day{background:var(--line);width:1px;height:3px;position:absolute;bottom:0}.horizon__day.is-week{background:var(--line-strong);height:7px}.horizon__tick{background:var(--ink);width:1px;position:absolute;bottom:1px}.horizon__tick.is-soon{background:var(--soon);width:2px}.horizon__tick.is-tomorrow{background:var(--alarm);width:2px}.horizon__tick.is-today{background:var(--alarm-deep);width:2px}.horizon__tick.is-overdue{background:var(--void);width:2px}.horizon__axis{height:13px;margin-top:6px;position:relative}.horizon__label{white-space:nowrap;position:absolute;transform:translate(-50%)}.horizon__axis .horizon__label:first-child{transform:none}.board{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;flex:1;grid-auto-columns:100%;grid-auto-flow:column;min-height:0;display:grid;overflow-x:auto}@media (min-width:760px){.board{grid-auto-columns:50%}}@media (min-width:1200px){.board{scroll-snap-type:none;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-columns:auto;grid-auto-flow:row;overflow-x:hidden}}.col{border-right:1px solid var(--line);scroll-snap-align:start;flex-direction:column;min-width:0;min-height:0;display:flex}.col:last-child{border-right:0}.col__head{padding:12px var(--col-pad) 10px;border-bottom:1px solid var(--line);flex:none}.col__headline{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.col__title{letter-spacing:.1em}.col__tabs{white-space:nowrap;gap:14px;display:flex}.col__tab{color:var(--ink-faint);transition:color .16s var(--ease),border-color .16s var(--ease);border-bottom:1px solid #0000;padding-bottom:2px;position:relative}.col__tab:before{content:"";position:absolute;inset:-10px -7px}.col__tab:hover{color:var(--ink-mute)}.col__tab[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--ink)}.col__n{font-variant-numeric:tabular-nums}.col__next{margin-top:3px}.col__scroll{overscroll-behavior:contain;min-height:0;padding:0 var(--col-pad) 40px;flex:1;overflow-y:auto}.col__empty{padding-block:20px}.item,.items{display:grid}.item{border-top:1px solid var(--line);grid-template-columns:30px minmax(0,1fr);grid-template-areas:"check body"".due"".where"".link"".notes";gap:2px 8px;padding-block:11px}.items .item:first-child{border-top:0}.item__check{grid-area:check;justify-content:flex-start;align-items:start;min-height:44px;margin-top:-8px;padding-top:8px;display:flex}.item__box{border:1px solid var(--line-strong);width:14px;height:14px;transition:background .16s var(--ease),border-color .16s var(--ease);margin-top:2px}.item__check:hover .item__box{border-color:var(--ink)}.item.is-done .item__box{background:var(--ink);border-color:var(--ink)}.item__body{grid-area:body}.item__title{color:var(--ink);line-height:1.3;display:block}.item__due{grid-area:due;gap:8px}.item__due,.item__meta{flex-wrap:wrap;align-items:center;display:flex}.item__meta{gap:6px}.item__where{flex-wrap:wrap;grid-area:where;align-items:baseline;gap:4px 10px;margin-top:3px;display:flex}.item__room{color:var(--ink);border-bottom:1px solid var(--line-strong);padding-bottom:1px}.item.is-past .item__title{color:var(--ink-mute)}.item.is-past .item__room{color:var(--ink-faint);border-bottom-color:var(--line)}.item.is-soon,.item.is-tomorrow{margin-inline:calc(var(--col-pad) * -1);padding-inline:var(--col-pad)}.item.is-tomorrow{background:var(--alarm-tint);border-top-color:var(--alarm-rule)}.item.is-tomorrow .item__title{font-weight:500}.item.is-tomorrow .item__due .mono:first-child{color:var(--alarm);font-weight:500}.item.is-soon{background:var(--soon-tint);border-top-color:var(--soon-rule)}.item.is-soon .item__due .mono:first-child{color:var(--soon);font-weight:500}.item.is-filled{color:var(--paper);margin-inline:calc(var(--col-pad) * -1);padding-inline:var(--col-pad)}.item.is-today{background:var(--alarm-deep);border-top-color:var(--alarm-deep)}.item.is-overdue{background:var(--void);border-top-color:var(--void)}.item.is-filled .item__title{color:var(--paper);font-weight:500}.item.is-filled .mono{color:#ffffffb8}.item.is-filled .tag{color:#ffffffd1;border-color:#ffffff57;border-left-color:#ffffff57!important}.item.is-filled .item__box{border-color:#fff9}.item.is-filled .item__room{color:var(--paper);border-bottom-color:#fff6}.item.is-filled .item__check:hover .item__box{border-color:var(--paper)}.item.is-done .item__room{color:var(--ink-faint);border-bottom-color:var(--line)}.item.is-done .item__title{color:var(--ink-faint);font-weight:400;text-decoration:line-through;text-decoration-thickness:1px}.item.is-done .mono{color:var(--ink-faint)}.item.is-done.is-filled,.item.is-done.is-soon,.item.is-done.is-tomorrow{color:var(--ink);border-top-color:var(--line);background:0 0;margin-inline:0;padding-inline:0}.item.is-done.is-soon .item__title,.item.is-done.is-tomorrow .item__title{font-weight:400}.item.is-done.is-soon .item__due .mono:first-child,.item.is-done.is-tomorrow .item__due .mono:first-child{color:var(--ink-faint);font-weight:400}.item.is-done.is-filled .item__title,.item.is-done.is-filled .mono{color:var(--ink-faint)}.item.is-done.is-filled .tag{border-color:var(--line-strong);color:var(--ink-mute)}.item.is-proposed{border-left:1px dashed var(--line-strong);padding-left:10px}.item.is-missing .item__title{color:var(--ink-faint);font-style:italic}@keyframes item-leave{to{opacity:0}}.exam.is-leaving,.item.is-leaving{animation:item-leave .2s var(--ease) .9s forwards}.item__link:focus-visible,.item__link:hover{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.ext{vertical-align:0;width:10px;height:10px;color:var(--ink-faint);transition:color .16s var(--ease);margin-left:6px;display:inline-block}.chip__via,.exam__via,.item__via{color:var(--ink-faint);white-space:nowrap;margin-left:8px}.chip__via .ext,.exam__via .ext,.item__via .ext{margin-left:4px}a:focus-visible .chip__via,a:focus-visible .exam__via,a:focus-visible .ext,a:focus-visible .item__via,a:hover .chip__via,a:hover .exam__via,a:hover .ext,a:hover .item__via{color:inherit}.item.is-filled .ext,.item.is-filled .item__via{color:#fff9}.item.is-filled .item__link:hover .ext,.item.is-filled .item__link:hover .item__via{color:inherit}.item.is-filled :focus-visible{outline-color:var(--paper)}.login{min-height:100dvh;padding:var(--gutter);background:var(--paper-warm);place-items:center;display:grid}.login__card{background:var(--paper);border:1px solid var(--line);width:100%;max-width:420px;padding:clamp(28px,5vw,44px)}.login__title{font-size:var(--t-h3);max-width:24ch;margin-top:18px}.login__note{color:var(--ink-mute);margin-top:12px}.login__btn{width:100%;margin-top:28px}.login__error{border-top:1px solid var(--line);color:var(--ink);margin-top:16px;padding-top:14px}:root{--t-write:1rem;--t-title-in:clamp(1.35rem,2.4vw,1.75rem);--sheet-rail:340px}.capture{border-bottom:1px solid var(--line)}.capture__inner{padding-block:10px 8px}.capture__row{align-items:center;gap:10px;display:flex}.capture__line{min-width:0;min-height:38px;font-family:var(--font-mono);letter-spacing:.01em;border-bottom:1px solid var(--line-strong);transition:border-color .18s var(--ease);flex:1;padding:4px 2px;font-size:.8125rem}.capture__line:focus{border-bottom-color:var(--ink)}.capture__line::placeholder{color:var(--ink-faint)}.capture__more{flex:none}@media (max-width:640px){.capture__row{flex-wrap:wrap;gap:8px 10px}.capture__line{flex:100%}.capture__more{margin-left:auto}.ribbon:has(.chipmark--ghost){display:none}}.capture__kbd{font-size:var(--t-mono-sm);opacity:.62;letter-spacing:0}.ribbon{flex-wrap:wrap;align-items:center;gap:6px 8px;min-height:26px;padding-top:7px;display:flex}.ribbon__read{flex:none}.ribbon__error{color:var(--alarm)}.chipmark,.ribbon__saved{color:var(--ink)}.chipmark{border:1px solid var(--line-strong);font-family:var(--font-mono);font-size:var(--t-mono-sm);letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;align-items:baseline;gap:6px;padding:3px 8px;display:inline-flex}.chipmark--course{border-left-width:3px}.chipmark--none{color:var(--ink-faint);border-style:dashed}.chipmark--ghost{color:var(--ink-mute);border-style:dashed}.chipmark--ghost em{color:var(--ink-faint);letter-spacing:.04em;text-transform:none;font-style:normal}.sheet{z-index:40;padding:clamp(0px,5vh,56px) var(--gutter);background:#11111057;grid-template-rows:auto;align-content:start;display:grid;position:fixed;inset:0;overflow-y:auto}.sheet__panel{background:var(--paper);border:1px solid var(--ink);width:100%;max-width:984px;animation:sheet-in .2s var(--ease) both;margin-inline:auto}@keyframes sheet-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.sheet__form{flex-direction:column;display:flex}.sheet__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:11px 18px;display:flex}.sheet__close{color:var(--ink-mute);border-bottom:1px solid #0000;gap:8px;display:inline-flex}.sheet__close:hover{color:var(--ink);border-bottom-color:var(--line-strong)}.sheet__close span{color:var(--ink-faint)}.sheet__body{display:grid}@media (min-width:900px){.sheet__body{grid-template-columns:minmax(0,1fr) var(--sheet-rail)}.sheet__rail{border-left:1px solid var(--line);border-top:0}}.sheet__page{min-width:0;padding:22px clamp(18px,3vw,34px) 26px}.sheet__title{width:100%;font-family:var(--font-display);font-size:var(--t-title-in);letter-spacing:-.025em;border-bottom:1px solid var(--line);transition:border-color .18s var(--ease);padding-bottom:12px;font-weight:500;line-height:1.14;display:block}.sheet__title:focus{border-bottom-color:var(--ink)}.sheet__title::placeholder{color:var(--ink-faint)}.sheet__rail{flex-direction:column;align-content:start;gap:18px;padding:18px clamp(18px,3vw,22px) 22px}.sheet__foot,.sheet__rail{border-top:1px solid var(--line);display:flex}.sheet__foot{background:var(--paper-warm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 18px}.sheet__msg{flex:200px;min-height:1.2em}.sheet__foot .ribbon__error,.sheet__msg,.sheet__msg:not(:empty){color:var(--ink-mute)}.sheet__actions{gap:8px;margin-left:auto;display:flex}.sheet__delete{color:var(--ink-mute);border-bottom:1px solid var(--line-strong);white-space:nowrap;padding-bottom:1px}.sheet__delete:hover{color:var(--ink);border-bottom-color:var(--ink)}.sheet__confirm{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.sheet__twintext{color:var(--ink-mute)}.sheet__twintext a{color:var(--ink);border-bottom:1px solid var(--line-strong)}.sheet__twintext a:hover{border-bottom-color:var(--ink)}.sheet__twinactions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.sheet__also{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.sheet__alsorow{justify-content:space-between;align-items:baseline;gap:10px;min-width:0;display:flex}.sheet__alsorow>span{overflow-wrap:anywhere;min-width:0}.sheet__also a{border-bottom:1px solid var(--line-strong)}.sheet__also a:hover{border-bottom-color:var(--ink)}.field__head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.field__reset{color:var(--ink-faint);white-space:nowrap;border-bottom:1px solid #0000}.field__reset:hover{color:var(--ink);border-bottom-color:var(--ink)}.sheet__resetrow{justify-content:flex-end;margin-bottom:4px;display:flex}.field{flex-direction:column;gap:7px;display:flex}.field__label{color:var(--ink-mute)}.field__pair{grid-template-columns:minmax(0,1fr) 128px;gap:6px;display:grid}.field__note{margin-top:2px}.control{border:1px solid var(--line-strong);background:var(--paper);width:100%;min-height:34px;color:var(--ink);padding:7px 9px;font-size:.8125rem}.control:focus{border-color:var(--ink)}.field__select{position:relative}.field__select:after{content:"▾";color:var(--ink-mute);pointer-events:none;font-size:11px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}select.control{appearance:none;cursor:pointer;padding-right:26px}.segmented{border:1px solid var(--line-strong);display:flex}.segmented__opt{text-align:center;border-right:1px solid var(--line-strong);color:var(--ink-mute);white-space:nowrap;transition:background .16s var(--ease),color .16s var(--ease);flex:auto;padding:7px 8px}.segmented__opt:last-child{border-right:0}.segmented__opt:hover{color:var(--ink)}.segmented__opt.is-on{background:var(--ink);color:var(--paper)}.editor{margin-top:18px}.editor__bar{border:1px solid var(--line);flex-wrap:wrap;width:fit-content;max-width:100%;display:flex}.editor__cmd{border-right:1px solid var(--line);color:var(--ink-mute);transition:background .14s var(--ease),color .14s var(--ease);padding:7px 13px}.editor__cmd:last-child{border-right:0}.editor__cmd:hover{color:var(--ink);background:var(--paper-warm)}.editor__cmd.is-on{background:var(--ink);color:var(--paper)}.editor__page{margin-top:14px;position:relative}.editor__placeholder{color:var(--ink-faint);pointer-events:none;position:absolute;inset:0 0 auto}.editor__placeholder,.editor__surface{font-size:var(--t-write);line-height:1.62}.editor__surface{max-width:62ch;min-height:26vh;max-height:44vh;overflow-y:auto}.editor__surface p{min-height:1.62em}.editor__surface ol,.editor__surface p+p,.editor__surface ul{margin-top:.35em}.editor__surface strong{font-weight:500}.editor__surface ol,.editor__surface ul{padding-left:0}.editor__surface li{padding-left:22px;list-style:none;position:relative}.editor__surface ul li:before{content:"—";color:var(--ink-faint);position:absolute;left:0}.editor__surface ol{counter-reset:n}.editor__surface ol li{counter-increment:n}.editor__surface ol li:before{content:counter(n) ".";font-family:var(--font-mono);color:var(--ink-faint);font-size:.78em;position:absolute;left:0}.editor__surface a{border-bottom:1px solid var(--line-strong)}.editor__surface code{font-family:var(--font-mono);font-size:.85em}.item__notes{grid-area:notes;margin-top:4px}.item__linkedit{flex-wrap:wrap;grid-area:link;align-items:center;gap:8px;margin-top:6px;display:flex}.item__linkedit .control{flex:220px;min-height:32px;padding:5px 8px}.item__linkerr{flex-basis:100%}.item__disclose{color:var(--ink-mute);border-bottom:1px solid var(--line-strong);padding-bottom:1px}.item__disclose:hover{color:var(--ink)}.item.is-filled .item__disclose{color:#ffffffc7;border-bottom-color:#ffffff57}.prose{border-left:1px solid var(--line);color:var(--ink-mute);margin-top:8px;padding-left:11px;font-size:.875rem;line-height:1.5}.prose ol,.prose p+p,.prose ul{margin-top:.4em}.prose strong{color:var(--ink);font-weight:500}.prose li{padding-left:18px;position:relative}.prose ul li:before{content:"—";color:var(--ink-faint);position:absolute;left:0}.prose ol{counter-reset:n}.prose ol li{counter-increment:n}.prose ol li:before{content:counter(n) ".";font-family:var(--font-mono);color:var(--ink-faint);font-size:.78em;position:absolute;left:0}.prose a{border-bottom:1px solid var(--line-strong);color:var(--ink)}.prose code{font-family:var(--font-mono);font-size:.85em}.item.is-filled .prose{color:#fffc;border-left-color:#ffffff4d}.item.is-filled .prose a,.item.is-filled .prose strong{color:var(--paper)}.exam{border:1px solid var(--line-strong);border-top:3px solid var(--exam-hue,var(--ink));background:var(--paper);color:var(--ink);grid-template-columns:auto minmax(0,1fr);grid-template-areas:"count id""count at""count room";align-content:start;gap:3px 15px;padding:13px 15px 14px;display:grid}.exam__count{flex-direction:column;grid-area:count;align-items:flex-start;gap:1px;min-width:2.6ch;display:flex}.exam__num{font-family:var(--font-display);letter-spacing:-.035em;font-variant-numeric:tabular-nums;font-size:clamp(1.6rem,2.6vw,2.2rem);font-weight:500;line-height:.86}.exam__num.is-clock{letter-spacing:-.01em;font-size:1.0625rem;line-height:1.2}.exam__unit{color:var(--ink-mute)}.exam__id{flex-direction:column;grid-area:id;gap:2px;min-width:0;display:flex}.exam__course{color:var(--ink-mute)}.exam__title{font-size:var(--t-body);line-height:1.2}.exam__link:focus-visible,.exam__link:hover{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.exam__at{color:var(--ink);grid-area:at;justify-content:space-between;align-items:baseline;gap:10px;margin-top:3px;display:flex}.exam__edit{color:var(--ink-mute);border-bottom:1px solid var(--line-strong);padding-bottom:1px}.exam__edit:hover{color:var(--ink);border-bottom-color:var(--ink)}.exam__room,.exam__sat{color:var(--ink-mute);grid-area:room}.exam__sat{border-bottom:1px solid var(--line-strong);place-self:end}.exam__sat:hover{color:var(--ink);border-bottom-color:var(--ink)}.exam[data-ramp]{--exam-ink:var(--ink);--exam-mute:#1a1a1aad;--exam-rule:#1a1a1a4d}.exam[data-ramp="5"]{--exam-fill:var(--exam-5)}.exam[data-ramp="4"]{--exam-fill:var(--exam-4)}.exam[data-ramp="3"]{--exam-fill:var(--exam-3)}.exam[data-ramp="2"]{--exam-fill:var(--exam-2)}.exam[data-ramp="1"]{--exam-fill:var(--exam-1)}.exam[data-ramp="0"]{--exam-fill:var(--exam-0);--exam-ink:var(--paper);--exam-mute:#ffffffc7;--exam-rule:#fff6}.exam.is-near,.marquee .exam.is-near{background:var(--exam-fill);color:var(--exam-ink)}.exam.is-near{border-color:var(--exam-fill);border-top-color:var(--exam-hue,var(--exam-fill))}.exam.is-near .exam__course,.exam.is-near .exam__room,.exam.is-near .exam__unit,.marquee .exam.is-near .exam__course,.marquee .exam.is-near .exam__room,.marquee .exam.is-near .exam__unit{color:var(--exam-mute)}.exam.is-near .exam__at,.marquee .exam.is-near .exam__at{color:var(--exam-ink)}.exam.is-near .exam__edit,.exam.is-near .exam__sat,.marquee .exam.is-near .exam__edit{color:var(--exam-mute);border-bottom-color:var(--exam-rule)}.exam.is-near .exam__edit:hover{color:var(--exam-ink);border-bottom-color:var(--exam-ink)}.exam.is-near .exam__via,.exam.is-near .ext,.marquee .exam.is-near .exam__via,.marquee .exam.is-near .ext{color:var(--exam-mute)}.exam.is-near .exam__link:hover .exam__via,.exam.is-near .exam__link:hover .ext{color:inherit}.exam.is-near :focus-visible,.marquee .exam.is-near :focus-visible{outline-color:var(--exam-ink)}.exam.is-done,.exam.is-past{background:var(--paper);border-color:var(--line);border-top-color:var(--line-strong);color:var(--ink-faint)}.exam.is-done .exam__at,.exam.is-done .exam__title,.exam.is-past .exam__at,.exam.is-past .exam__title{color:var(--ink-mute)}.exam.is-done .exam__title{text-decoration:line-through;text-decoration-thickness:1px}.examstack{gap:10px;padding-block:12px;display:grid}@media (min-width:1200px){.board.board--weighted{grid-template-columns:.72fr 1.4fr 1fr .88fr}.board.board--three{grid-template-columns:repeat(3,minmax(0,1fr))}}.stack{flex-direction:column;flex:1;min-height:0;display:flex}.marquee{background:var(--void);color:var(--ink-invert);border-bottom:1px solid var(--void)}.marquee__inner{padding-block:12px 14px}.marquee__title{color:var(--ink-invert);letter-spacing:.11em}.marquee__clear,.marquee__note{color:var(--ink-invert-mute)}.marquee__clear{align-self:center;padding:10px 16px}.marquee__track{border:1px solid var(--line-invert);align-items:stretch;display:flex;overflow:hidden}.marquee__blocks{overscroll-behavior-x:contain;flex:1;min-width:0;display:flex;overflow-x:auto}.marquee__label{border-right:1px solid var(--line-invert);flex-direction:column;flex:none;justify-content:space-between;gap:12px;width:104px;padding:13px 14px 14px;display:flex}.marquee .exam{color:var(--ink-invert);border:0;border-right:1px solid var(--line-invert);border-top:3px solid var(--exam-hue,var(--ink-invert));background:0 0;flex:0 0 clamp(238px,25%,322px)}.marquee .exam:last-child{border-right:0}.marquee .exam .exam__course,.marquee .exam .exam__room,.marquee .exam .exam__unit{color:var(--ink-invert-mute)}.marquee .exam .exam__at{color:var(--ink-invert)}.marquee .exam .exam__edit{border-bottom-color:var(--line-invert)}.marquee .exam .exam__edit,.marquee .exam .exam__via,.marquee .exam .ext{color:var(--ink-invert-mute)}.marquee .exam .exam__link:hover .exam__via,.marquee .exam .exam__link:hover .ext{color:inherit}.marquee .exam :focus-visible{outline-color:var(--paper)}@media (max-width:640px){.marquee__track{flex-direction:column}.marquee__label{border-right:0;border-bottom:1px solid var(--line-invert);flex-direction:row;justify-content:space-between;align-items:baseline;gap:14px;width:auto;padding:9px 13px}}.agenda{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.agenda__inner{max-width:1100px;margin-inline:auto;padding-block:0 72px}.agenda__empty{padding-block:28px}.day{border-top:1px solid var(--line)}.agenda .day:first-child{border-top:0}.day__head{z-index:1;background:var(--paper);border-bottom:1px solid var(--line);align-items:baseline;gap:10px;padding-block:11px 8px;display:flex;position:sticky;top:0}.day__name{letter-spacing:.11em}.day__body{min-width:0}.day__n{font-variant-numeric:tabular-nums;margin-left:auto}@media (min-width:860px){.agenda .day{grid-template-columns:168px minmax(0,1fr);display:grid}.agenda .day__head{text-align:right;background:0 0;border-bottom:0;flex-direction:column;align-self:start;align-items:flex-end;gap:3px;padding:14px 26px 14px 0}.agenda .day__n{margin-left:0}.agenda .day__body{border-left:1px solid var(--line);padding:2px 0 14px 26px}.agenda .item.is-filled,.agenda .item.is-soon,.agenda .item.is-tomorrow{margin-inline:-12px;padding-inline:12px}}.day.is-overdue .day__name{color:var(--void);font-weight:500}.day.is-done .day__name{color:var(--ink-faint)}.day__exams{gap:8px;padding-block:10px;display:grid}.agenda .exam{grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"count id at room";align-items:center;gap:0 26px;padding-block:11px}.agenda .exam .exam__at,.agenda .exam .exam__room{text-align:right;margin-top:0}.agenda .exam .exam__at{justify-content:flex-end}.agenda .exam .exam__sat{grid-area:room;place-self:center end}@media (max-width:640px){.agenda .exam{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"count id""count at""count room";align-items:start;gap:3px 15px}.agenda .exam .exam__at,.agenda .exam .exam__room{text-align:left}}.segmented--layout{border-color:var(--line-strong);flex:none}.segmented--layout .segmented__opt{font-size:var(--t-mono-sm);padding:6px 11px}.showroom{background:var(--paper-warm);border-bottom:1px dashed var(--line-strong)}.showroom__inner{flex-wrap:wrap;align-items:center;gap:10px 16px;padding-block:9px;display:flex}.showroom__tag{color:var(--ink)}.showroom__blurb{color:var(--ink-mute);flex:240px;min-width:0}.showroom__reset{color:var(--ink-mute);border-bottom:1px solid var(--line-strong);font-family:var(--font-mono);font-size:var(--t-mono-sm);letter-spacing:.09em;text-transform:uppercase}.showroom__reset:hover{color:var(--ink);border-bottom-color:var(--ink)}}@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:760px){.container{max-width:760px}}@media (min-width:900px){.container{max-width:900px}}@media (min-width:1200px){.container{max-width:1200px}}.block{display:block}.contents{display:contents}.hidden{display:none}.inline{display:inline}.table{display:table}.border{border-style:var(--tw-border-style);border-width:1px}.font-display{font-family:var(--font-display)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.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))}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}:root{--paper:#fff;--paper-warm:#f4f2ef;--void:#111110;--ink:#1a1a1a;--ink-mute:#6b6b6b;--ink-faint:#9a958e;--ink-invert:#f4f2ef;--ink-invert-mute:#f4f2ef94;--line:#dcd8d2;--line-strong:#c3bdb4;--line-invert:#f4f2ef33;--alarm:#b3341f;--alarm-deep:#7a2114;--alarm-tint:#f7e8e4;--alarm-rule:#ecd6d0;--soon:#8a6207;--soon-tint:#f8efd8;--soon-rule:#e7d6a9;--exam-5:#fde8d0;--exam-4:#fbd3a6;--exam-3:#f8b977;--exam-2:#f29a48;--exam-1:#e07a22;--exam-0:#b85a0e;--font-display:var(--font-general-sans),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:var(--font-jetbrains-mono),ui-monospace,SFMono-Regular,Menlo,monospace;--t-h2:clamp(1.875rem,4.2vw,3.25rem);--t-h3:clamp(1.125rem,1.7vw,1.4375rem);--t-body:.9375rem;--t-mono:.75rem;--t-mono-sm:.6875rem;--gutter:clamp(16px,3vw,32px);--col-pad:clamp(12px,1.4vw,20px);--nav-h:52px;--ease:cubic-bezier(.2,.6,.2,1)}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}