@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff")}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-arabic-arabic-400-normal-CyU-ddYS.woff2)format("woff2"),url(/assets/ibm-plex-sans-arabic-arabic-400-normal-EA1o-u_Q.woff)format("woff")}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-arabic-arabic-500-normal-C4MQITzh.woff2)format("woff2"),url(/assets/ibm-plex-sans-arabic-arabic-500-normal-DPXcppbm.woff)format("woff")}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-arabic-arabic-600-normal-0pRdybE_.woff2)format("woff2"),url(/assets/ibm-plex-sans-arabic-arabic-600-normal-MJZ0liF5.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff")}:root{--ink:#1e2a5a;--ink-soft:#4a5680;--paper:#fbfcfe;--grid:#e3e9f4;--margin:#d2484b;--marker:#f5d547;--ok:#1f7a4d;--surface:#fff;--line:#ccd5e6;--cell:24px;--radius:6px;--font:"IBM Plex Sans", "IBM Plex Sans Arabic", system-ui, sans-serif;--font-code:"IBM Plex Mono", ui-monospace, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font);color:var(--ink);font-size:100%;line-height:1.5}:root[dir=rtl]{line-height:1.7}:root[data-theme=dark]{--ink:#e7ebf6;--ink-soft:#a5afcb;--paper:#131a33;--grid:#1d2646;--margin:#e46a6c;--marker:#e8c93e;--ok:#57c48c;--surface:#18213f;--line:#2d3a63;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}body{background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-size:var(--cell) var(--cell);min-block-size:100vh;margin:0}::selection{background:var(--marker);color:#1e2a5a}:focus-visible{outline:3px solid var(--marker);outline-offset:2px}h1,h2,h3{margin-block:0 calc(var(--cell) * .5);font-weight:600;line-height:1.2}h1{font-size:2rem}h2{font-size:1.375rem}p{margin-block:0 var(--cell)}a{color:inherit;-webkit-text-decoration-color:var(--margin);text-decoration-color:var(--margin);text-underline-offset:3px}.sheet{min-block-size:100vh;padding-block:calc(var(--cell) * 3);padding-inline:calc(var(--cell) * 3) var(--cell);border-inline-start:2px solid var(--margin);margin-inline-start:max(var(--cell), calc((100vw - 40rem) / 2 - var(--cell) * 3))}.sheet__column{max-inline-size:28rem}.sheet__brand{justify-content:space-between;align-items:center;gap:var(--cell);margin-block-end:calc(var(--cell) * 2);font-weight:600;display:flex}.sheet__logo{border-radius:var(--radius);display:inline-flex}.sheet__tools{align-items:center;gap:8px;display:flex}.logo{block-size:48px;inline-size:auto;display:block}.logo--dark,:root[data-theme=dark] .logo--light{display:none}:root[data-theme=dark] .logo--dark{display:block}.theme-toggle{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);block-size:36px;inline-size:36px;color:var(--ink);cursor:pointer;justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-toggle:hover{border-color:var(--ink)}.lede{color:var(--ink-soft)}.divider{block-size:0;margin-block:calc(var(--cell) * 2);border:0;border-block-start:1px dashed var(--line)}.language-switcher{display:inline-block;position:relative}.language-switcher__button{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-block-size:36px;color:var(--ink);font:inherit;cursor:pointer;align-items:center;gap:8px;padding-block:4px;padding-inline:10px;display:inline-flex}.language-switcher__caret{color:var(--ink-soft);font-size:.8em}.flag{block-size:15px;inline-size:20px;box-shadow:0 0 0 1px var(--line);object-fit:cover;border-radius:2px;flex:none}.language-switcher__list{z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-inline-size:100%;margin:0;padding:4px;list-style:none;position:absolute;inset-block-start:calc(100% + 4px);inset-inline-end:0;box-shadow:0 6px 18px #1e2a5a1f}.language-switcher__list:focus{outline:none}.language-switcher__list li{cursor:pointer;white-space:nowrap;border-radius:4px;align-items:center;gap:8px;padding-block:6px;padding-inline:8px;display:flex}.language-switcher__list li.is-active{background:var(--grid)}.language-switcher__list li[aria-selected=true]{font-weight:600}.form{gap:var(--cell);display:grid}.field{gap:4px;display:grid}.field__label{font-weight:500}.field__hint{color:var(--ink-soft);font-size:.875rem}.input,.select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-block-size:44px;padding-block:10px;padding-inline:12px}.input:focus-visible,.select:focus-visible{outline:3px solid var(--marker);outline-offset:0;border-color:var(--ink)}.input[aria-invalid=true]{border-color:var(--margin)}.button{font:inherit;border-radius:var(--radius);border:2px solid var(--ink);background:var(--ink);min-block-size:44px;color:var(--paper);cursor:pointer;justify-self:start;padding-inline:20px;font-weight:600}a.button,label.button{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.button:disabled{opacity:.6;cursor:progress}.button--quiet{color:var(--ink);background:0 0}.button--small{border-width:1px;min-block-size:32px;padding-inline:12px;font-size:.875rem}.link-button{font:inherit;color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--margin);text-decoration-color:var(--margin);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0}.alert{border-inline-start:4px solid var(--margin);background:var(--surface);margin:0;padding-block:8px;padding-inline:12px}.alert--ok{border-inline-start-color:var(--ok)}.code{--code-cells:7;--code-cell:48px;font-family:var(--font-code);text-transform:uppercase;color:var(--ink);letter-spacing:calc(var(--code-cell) - .6em);inline-size:calc(var(--code-cell) * var(--code-cells) + 2px);block-size:calc(var(--code-cell) + 2px);border:1px solid var(--ink);background-color:var(--surface);background-image:linear-gradient(90deg, var(--ink) 1px, transparent 1px);background-size:var(--code-cell) 100%;background-position:calc(var(--code-cell) - 1px) 0;caret-color:var(--margin);direction:ltr;border-radius:0;padding-inline-start:calc((var(--code-cell) - .6em) / 2);font-size:28px;font-weight:600}.code:focus-visible{outline:4px solid var(--marker);outline-offset:0}.code::placeholder{color:var(--line)}.code--display{line-height:calc(var(--code-cell));-webkit-user-select:all;user-select:all;display:inline-block}@media (width<=420px){.code{--code-cell:40px;font-size:24px}}html{scrollbar-gutter:stable}.topbar{padding-block:10px 0;padding-inline:var(--cell);background:var(--surface);border-block-end:1px solid var(--line)}.topbar__row{align-items:center;gap:8px var(--cell);flex-wrap:wrap;display:flex}.topbar__org{margin-inline-end:auto;font-weight:600}.topbar__tools{align-items:center;gap:10px;display:flex}.nav{margin-inline:calc(var(--cell) * -1);padding-block:8px;padding-inline:var(--cell);scrollbar-width:thin;gap:4px;display:flex;overflow-x:auto}.nav a{border-radius:var(--radius);white-space:nowrap;flex:none;padding-block:6px;padding-inline:12px;text-decoration:none}.nav a[aria-current=page]{background:var(--marker);color:#1e2a5a}.topbar .topbar__tools .topbar__menu,.nav__logout{display:none}@media (width<=720px){.topbar__org{flex:100%}.topbar__org .select{inline-size:100%}.topbar__tools{flex:1;gap:8px}.topbar .topbar__tools .topbar__logout{display:none}.topbar .topbar__tools .topbar__menu{gap:6px;margin-inline-start:auto;display:inline-flex}.nav{flex-direction:column;display:none;overflow:visible}.nav--open{display:flex}.nav a,.nav__logout{padding-block:10px}.nav__logout{color:var(--ink);font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;padding-inline:12px;display:block}}.workspace{min-block-size:calc(100vh - 64px);padding-block:calc(var(--cell) * 2);padding-inline:calc(var(--cell) * 2) var(--cell);border-inline-start:2px solid var(--margin);max-inline-size:64rem;margin-inline-start:var(--cell)}.inline-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.table{border-collapse:collapse;background:var(--surface);inline-size:100%}.table th,.table td{text-align:start;border-block-end:1px solid var(--line);vertical-align:middle;padding-block:10px;padding-inline:12px}.table th{color:var(--ink-soft);font-weight:500}.table-wrap{overflow-x:auto}.status--active{color:var(--ok)}.status--revoked,.status--expired,.status--exhausted{color:var(--ink-soft)}.choice-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.choice{justify-content:space-between;align-items:center;gap:var(--cell);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding-block:12px;padding-inline:16px;text-decoration:none;display:flex}.choice:hover{border-color:var(--ink)}.cohort-grid{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr))}.cohort-grid .choice{flex-direction:column;align-items:flex-start;gap:2px}.table--compact{inline-size:auto}.cohort-name{font-size:1.25rem;font-weight:600}.tag-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tag-list li{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding-block:6px;padding-inline:12px}.scale-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.scale{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);justify-items:start;gap:4px;padding-block:12px;padding-inline:16px;display:grid}.scale--default{border-inline-start:4px solid var(--marker)}.badge{border-radius:var(--radius);background:var(--marker);color:#1e2a5a;margin-inline-start:8px;padding-block:1px;padding-inline:8px;font-size:.8125rem}.muted{color:var(--ink-soft)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}@media (width<=640px){.sheet{padding-inline:calc(var(--cell) * 1.5) var(--cell);padding-block:calc(var(--cell) * 2)}.workspace{padding-inline:var(--cell) 12px;margin-inline-start:12px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.contents{flex-wrap:wrap;gap:4px 16px;margin-block-end:var(--cell);font-size:.9rem;display:flex}.contents a{color:var(--ink-soft)}section[id]{scroll-margin-block-start:var(--cell)}.tree,.tree ul{margin:0;padding-inline-start:0;list-style:none}.tree ul{border-inline-start:1px dashed var(--line);padding-inline-start:var(--cell)}.tree li{padding-block:4px}.mono{font-family:var(--font-code)}.curriculum-period th{text-align:start;padding-block-start:var(--cell)}.hours{text-align:end;font-variant-numeric:tabular-nums}.segmented{border:1px solid var(--line);border-radius:var(--radius);margin-block-end:var(--cell);display:inline-flex;overflow:hidden}.segmented__item{background:var(--surface);color:var(--ink-soft);font:inherit;cursor:pointer;border:0;padding-block:6px;padding-inline:14px}.segmented__item+.segmented__item{border-inline-start:1px solid var(--line)}.segmented__item--on{background:var(--ink);color:var(--paper)}.input--code{font-family:var(--font-code);letter-spacing:.15em;text-transform:uppercase}.steps{margin-block:0 var(--cell);padding-inline-start:1.25em}.steps li{padding-block:2px}.dropzone{padding:var(--cell);background:var(--surface);border:1px dashed var(--ink-soft);border-radius:var(--radius);justify-items:start;gap:8px;margin-block-end:12px;display:grid}.progress-block{max-inline-size:28rem;margin-block:12px var(--cell);gap:4px;display:grid}.progress{block-size:12px;inline-size:100%;accent-color:var(--ok)}.notice{border-inline-start:4px solid var(--ok);background:var(--surface);padding-block:8px;padding-inline:12px}.checkbox{align-items:center;gap:8px;margin-block:12px;display:inline-flex}.import-table td{vertical-align:top}.row--error{background:color-mix(in srgb, var(--margin) 8%, var(--surface))}.issue{color:var(--margin)}.ok{color:var(--ok)}.cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr));gap:12px;margin-block-start:var(--cell);display:grid}.login-card{color:#111;break-inside:avoid;page-break-inside:avoid;background:#fff;border:1px dashed #888;padding:14px 16px}.login-card__head{color:#555;justify-content:space-between;gap:8px;font-size:.8rem;display:flex}.login-card__cohort{font-weight:600}.login-card__name{margin-block:4px 8px;font-size:1.05rem}.login-card__body{justify-content:space-between;align-items:center;gap:12px;display:flex}.login-card__creds{grid-template-columns:auto 1fr;gap:2px 10px;margin:0;display:grid}.login-card__creds dt{color:#555;font-size:.85rem}.login-card__creds dd{font-family:var(--font-code);text-align:start;margin:0;font-size:1.05rem;font-weight:600}.login-card__qr{flex:none}.login-card__hint{color:#555;margin-block:8px 0;font-size:.75rem}@media print{@page{size:A4;margin:10mm}body{background:#fff!important}.topbar,.no-print{display:none!important}.workspace{border:0!important;max-inline-size:none!important;padding:0!important}.cards{grid-template-columns:1fr 1fr;gap:6mm;margin:0}}.file-picker{cursor:pointer;align-items:center;gap:12px;display:inline-flex}.file-picker:focus-within .button{outline:3px solid var(--marker);outline-offset:2px}.file-picker .button{align-items:center;display:inline-flex}.login-card__parents{border-block-start:1px dotted #888;margin-block-start:8px;padding-block-start:6px}.login-card__parent-code{font-family:var(--font-code);letter-spacing:.1em;margin:2px 0 0;font-weight:600}.child-card{padding:var(--cell);background:var(--surface);border:1px solid var(--line);border-inline-start:4px solid var(--marker);border-radius:var(--radius);max-inline-size:40rem}.child-card__name{margin-block:0 12px;font-size:1.25rem}.facts{gap:6px;margin:0 0 12px;display:grid}.facts__row{gap:12px;display:flex}.facts dt{min-inline-size:7rem;color:var(--ink-soft)}.facts dd{margin:0}.parent-code{flex-wrap:wrap;align-items:center;gap:12px;margin-block-end:12px;display:flex}.course-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.course-tile{background:var(--surface);border:1px solid var(--line);border-block-start:6px solid var(--ink);border-radius:var(--radius);flex-direction:column;gap:4px;min-block-size:7rem;padding:16px;text-decoration:none;display:flex}.course-tile:hover{border-color:var(--ink)}.course-tile__title{font-size:1.1rem;font-weight:600}.badge--draft{border:1px dashed var(--ink-soft);color:var(--ink-soft);background:0 0}.checks{border:0;flex-wrap:wrap;gap:4px 16px;margin:0;padding:0;display:flex}.checks legend{margin-block-end:6px}.course-settings{margin-block:12px var(--cell)}.outline{gap:var(--cell);margin:var(--cell) 0 0;padding:0;list-style:none;display:grid}.outline__head{border-block-end:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-block-end:4px;display:flex}.outline__title{margin:0;font-size:1.15rem}.outline__items{gap:2px;margin:8px 0;padding:0;list-style:none;display:grid}.outline__item{background:var(--surface);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:10px;padding-block:8px;padding-inline:12px;display:flex}.outline__item--draft{border:1px dashed var(--line);background:0 0}.outline__tools{flex-wrap:wrap;gap:4px;margin-inline-start:auto;display:inline-flex}.outline__form{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-block:8px;padding:12px}.tool{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-block-size:32px;min-inline-size:32px;color:var(--ink);font:inherit;cursor:pointer}.tool:disabled{opacity:.35;cursor:default}.item-tools{margin-block-end:var(--cell)}.input--title{inline-size:100%;margin-block-end:12px;font-size:1.6rem;font-weight:600}.page{max-inline-size:46rem}.page__p{line-height:1.65}.page__figure{margin:var(--cell) 0}.page__figure img{border-radius:var(--radius);max-inline-size:100%}.page__figure figcaption{color:var(--ink-soft);margin-block-start:4px;font-size:.9rem}.video{aspect-ratio:16/9;max-inline-size:46rem;position:relative}.video iframe{border-radius:var(--radius);border:0;block-size:100%;inline-size:100%;position:absolute;inset:0}.callout{background:var(--surface);border-inline-start:4px solid var(--ink);border-radius:var(--radius);margin-block:12px;padding:12px 16px}.callout--warning{border-inline-start-color:var(--marker);background:color-mix(in srgb, var(--marker) 15%, var(--surface))}.file-link{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:10px;margin-block:8px;padding:10px 14px;text-decoration:none;display:inline-flex}.editor{max-inline-size:50rem}.editor__bar{z-index:1;background:var(--paper);flex-wrap:wrap;align-items:center;gap:12px;padding-block:8px;display:flex;position:sticky;inset-block-start:0}.editor__blocks{gap:10px;margin:12px 0;padding:0;list-style:none;display:grid}.editor__block{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);gap:6px;padding:10px 12px;display:grid}.editor__block:focus-within{border-color:var(--ink)}.editor__tools{align-items:center;gap:4px;display:flex}.editor__kind{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em;margin-inline-end:auto;font-size:.8rem}.editor__row{gap:8px;display:flex}.editor__heading{flex:1;font-weight:600}.editor__heading--2{font-size:1.3rem}.textarea{resize:vertical;inline-size:100%;font:inherit;line-height:1.5}.select--small{justify-self:start;inline-size:auto}.editor__media{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.editor__media-fields{flex:1;gap:6px;min-inline-size:14rem;display:grid}.editor__thumb{border-radius:var(--radius);max-block-size:120px;max-inline-size:200px}.editor__add{border:1px dashed var(--ink-soft);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:6px;padding:12px;display:flex}.course-tile .badge{align-self:flex-start;margin-inline-start:0}label.button{cursor:pointer;align-items:center;display:inline-flex}.assignment-info{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);max-inline-size:40rem;padding:12px 16px}.assignment-settings{border:1px dashed var(--ink-soft);border-radius:var(--radius);margin-block:12px;padding:12px}.work{max-inline-size:50rem}.work__form{margin-block-end:var(--cell)}.tag-list__inline{align-items:center;gap:6px;display:inline-flex}.attempt{background:var(--surface);border:1px solid var(--line);border-inline-start:4px solid var(--line);border-radius:var(--radius);margin-block:10px;padding:12px 16px}.attempt--graded{border-inline-start-color:var(--ok)}.attempt--returned{border-inline-start-color:var(--margin)}.attempt--submitted{border-inline-start-color:var(--marker)}.attempt__head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.attempt__text{white-space:pre-wrap}.grade{border:2px solid var(--ok);border-radius:var(--radius);min-inline-size:2rem;color:var(--ok);text-align:center;padding:2px 8px;font-weight:700;display:inline-block}.grade--fail{border-color:var(--margin);color:var(--margin)}.status--work-submitted{font-weight:600}.status--work-returned{color:var(--margin)}.status--work-graded{color:var(--ok)}.status--work-missing{color:var(--ink-soft)}.roster__row--open{background:color-mix(in srgb, var(--marker) 15%, var(--surface))}.review{border:2px solid var(--ink);border-radius:var(--radius);background:var(--paper);margin-block:12px;padding:16px}.review__head{justify-content:space-between;align-items:center;display:flex}.review__form{margin-block:8px 12px}.enrollments{max-inline-size:40rem;margin-block-start:var(--cell)}a.segmented__item{text-decoration:none}.inline-controls+.table-wrap{margin-block-start:var(--cell)}.moodle-outline{gap:var(--cell);margin-block:var(--cell);padding-inline-start:0;list-style:none;display:grid}.moodle-outline h3{align-items:center;gap:8px;margin-block:0 4px;display:flex}.moodle-outline ul{gap:4px;margin:0;padding-inline-start:0;list-style:none;display:grid}.moodle-outline__skipped{color:var(--ink-soft)}.bank-category{margin-block-end:calc(var(--cell) * 1.5)}.bank-questions{gap:4px;margin-block:8px;padding-inline-start:0;list-style:none;display:grid}.bank-question{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:10px;padding-block:6px;padding-inline:10px;display:flex}.bank-question__icon{inline-size:1.5em;color:var(--ink-soft);text-align:center;flex:none}.bank-question__text{flex:1;min-inline-size:0}.bank-add{margin-block-start:8px}.question-editor{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-block:12px;padding:14px}.question-editor__type{margin:0;font-weight:600}.fieldset{border:0;margin:0;padding:0}.answer-rows{gap:6px;margin-block:6px;padding-inline-start:0;list-style:none;display:grid}.answer-row{align-items:center;gap:8px;display:flex}.answer-row .input{flex:1}.quiz-settings{margin-block:var(--cell);gap:12px;display:grid}.quiz-settings__add{gap:8px;display:grid}.quiz-slots,.quiz-attempts{gap:4px;margin:0;padding-inline-start:1.5em;display:grid}.quiz-slots li{justify-content:space-between;align-items:center;gap:8px;display:flex}.quiz-final{font-size:1.1em}.quiz-bar{z-index:5;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:8px 16px;margin-block-end:var(--cell);padding-block:8px;padding-inline:12px;display:flex;position:sticky;inset-block-start:0}.quiz-timer{font-family:var(--font-code);margin-inline-start:auto;font-weight:600}.quiz-timer--low{color:var(--margin)}.quiz-question{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);border-inline-start-width:4px;margin-block-end:var(--cell);padding:14px}.quiz-question--right{border-inline-start-color:var(--ok)}.quiz-question--partial{border-inline-start-color:var(--marker)}.quiz-question--wrong{border-inline-start-color:var(--margin)}.quiz-question__head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.quiz-question__number{margin:0;font-size:1rem}.quiz-options{border:0;gap:6px;margin:0;padding:0;display:grid}.quiz-options--row{gap:16px;display:flex}.quiz-option{border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;align-items:center;gap:10px;padding-block:6px;padding-inline:10px;display:flex}.quiz-option--right{border-color:var(--ok);box-shadow:inset 3px 0 0 var(--ok)}.quiz-text{max-inline-size:24rem}.quiz-essay{inline-size:100%}.quiz-matching th{text-align:start;padding-inline-end:12px;font-weight:400}.quiz-matching td{padding-block:4px}.quiz-ordering{gap:6px;padding-inline-start:1.5em;display:grid}.quiz-ordering li{border:1px solid var(--line);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:8px;padding-block:4px;padding-inline:8px;display:flex}.quiz-correct{background:color-mix(in srgb, var(--ok) 8%, transparent);border-radius:var(--radius);margin-block-start:10px;padding-block:6px;padding-inline:10px}.quiz-correct ul,.quiz-correct ol{margin-block:4px 0}.quiz-mark,.quiz-mark-toggle{margin-block:-12px var(--cell)}.quiz-confirm p{margin-block-start:0}@media (width<=640px){.bank-question{flex-wrap:wrap}}.org-type{border:0;min-inline-size:0;margin:0;padding:0}.org-type__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-block-start:4px;display:grid}@media (width>=640px){.org-type__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.org-type__card{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;align-content:start;justify-items:center;gap:6px;padding-block:16px 12px;padding-inline:8px;transition:border-color .15s,box-shadow .15s;display:grid;position:relative}.org-type__card:hover{border-color:var(--ink-soft)}.org-type__card input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.org-type__card:has(input:checked){border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.org-type__card:has(input:checked) .org-type__icon{color:#1e2a5a;background:var(--marker)}.org-type__card:has(input:focus-visible){outline:3px solid var(--marker);outline-offset:2px}.org-type__icon{block-size:48px;inline-size:48px;color:var(--ink-soft);background:var(--grid);border-radius:50%;padding:8px;transition:background-color .15s}.org-type__name{font-weight:600}.org-type__hint{color:var(--ink-soft);font-size:.8125rem;line-height:1.3}.org-type>.field__hint{margin-block-start:8px;display:block}.button--danger{background:var(--margin);border-color:var(--margin);color:#fff}.journal-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-block-end:12px;display:flex}.journal-toolbar .segmented{flex-wrap:wrap;margin-block-end:0}.journal-form{border:2px solid var(--ink);border-radius:var(--radius);background:var(--paper);gap:12px;margin-block-end:var(--cell);padding:16px;display:grid}.journal-form .segmented{justify-self:start;margin-block-end:0}.journal-form__kind{margin:0;font-weight:700}.journal-form__more summary{cursor:pointer;color:var(--ink-soft)}.journal-form__more[open] summary{margin-block-end:12px}.quick-titles{flex-wrap:wrap;gap:6px;display:flex}.quick-titles__item{border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;padding-block:4px;padding-inline:10px;font-size:.875rem}.quick-titles__item--gap{margin-inline-start:12px}.journal-form__guess{border-inline-start:3px solid var(--marker);background:color-mix(in srgb, var(--marker) 15%, var(--surface));margin:0;padding-block:6px;padding-inline:10px;font-size:.9rem}.quick-titles__item:hover{border-color:var(--ink)}.quick-titles__item--on{border-color:var(--ink);background:var(--ink);color:var(--paper)}.journal-form__grid{grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:12px;display:grid}.journal-form__grid .input,.journal-form__grid .select{inline-size:100%;min-inline-size:0}.journal{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.journal-table{border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums}.journal-table th,.journal-table td{border-block-end:1px solid var(--line);border-inline-end:1px solid var(--grid);padding:0}.journal-table__terms th{color:var(--ink-soft);text-align:start;border-inline-start:2px solid var(--line);padding-block:4px;padding-inline:8px;font-size:.8125rem;font-weight:600}.journal-table .journal-table__name{z-index:1;background:var(--surface);text-align:start;border-inline-end:2px solid var(--line);min-inline-size:12rem;max-inline-size:16rem;padding-block:6px;padding-inline:12px;font-weight:500;position:sticky;inset-inline-start:0}.journal-table__cohort{color:var(--ink-soft);font-size:.75rem;font-weight:400;display:block}.journal-table__col{vertical-align:bottom;min-inline-size:3.5rem;max-inline-size:7.5rem}.journal-table__col--term_final,.journal-table__col--assessment,.journal-table__col--retake{background:color-mix(in srgb, var(--marker) 18%, var(--surface))}.journal-table__col--retake{background:color-mix(in srgb, var(--marker) 9%, var(--surface));border-inline-start:1px dashed var(--ink-soft)}.journal-col{inline-size:100%;min-inline-size:40px;color:var(--ink);font:inherit;text-align:center;cursor:pointer;background:0 0;border:0;justify-items:center;gap:1px;padding-block:4px;padding-inline:4px;font-size:.8125rem;display:grid;position:relative}.journal-col:hover .journal-col__title{text-decoration:underline}.add-cohorts{gap:8px;max-inline-size:40rem;display:grid}.add-cohorts p{margin:0}.add-cohorts__list{margin-block-end:8px}.grade-cell{min-block-size:40px;display:flex;position:relative}.grade-cell__input{inline-size:100%;min-inline-size:48px;color:var(--ink);font:inherit;text-align:center;background:0 0;border:0;padding-block:8px;padding-inline:4px;font-weight:700}.grade-cell__input::placeholder{color:var(--ink-soft);opacity:.7;font-style:italic;font-weight:400}.grade-cell__input:hover{background:color-mix(in srgb, var(--marker) 15%, transparent)}.grade-cell__input:focus{outline:2px solid var(--ink);outline-offset:-2px;background:var(--surface)}.grade-cell__input--fail{color:var(--margin)}.grade-cell__input--invalid,.grade-cell__input--invalid:focus{outline:2px solid var(--margin);outline-offset:-2px;background:color-mix(in srgb, var(--margin) 10%, var(--surface))}.grade-cell__more{color:var(--ink-soft);cursor:pointer;opacity:0;background:0 0;border:0;padding-block:0;padding-inline:4px;font-size:.75rem;line-height:1.2;position:absolute;inset-block-start:0;inset-inline-end:0}.grade-cell:hover .grade-cell__more,.grade-cell:focus-within .grade-cell__more{opacity:1}@media (hover:none){.grade-cell__more{opacity:.6}}.journal-col__top{justify-content:space-between;align-items:center;display:flex}.journal-col__edit{color:var(--ink-soft);opacity:.55}.journal-col:hover .journal-col__edit,.journal-col--open .journal-col__edit{color:var(--ink);opacity:1}.journal-col--open{box-shadow:inset 0 -3px 0 var(--ink)}.journal-hint{margin-block:0 8px}.journal-form__heading{margin:0;font-size:1.125rem}.journal-form__confirm{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.button--danger-text{border-color:var(--margin);color:var(--margin)}.journal-col__kind{color:var(--ink-soft);min-block-size:1em;font-weight:700}.journal-col__title{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;-webkit-box-orient:vertical;font-weight:600;line-height:1.2;display:-webkit-box;overflow:hidden}.journal-col__meta{color:var(--ink-soft);white-space:nowrap;font-size:.75rem}.journal-cell{text-align:center}tr:nth-child(2n)>.journal-cell,tr:nth-child(2n)>.journal-table__name{background:color-mix(in srgb, var(--grid) 35%, var(--surface))}.journal-cell--active,tr>.journal-cell--active{background:color-mix(in srgb, var(--marker) 45%, var(--surface));box-shadow:inset 0 0 0 2px var(--ink)}.journal-cell__button,.journal-cell__link{min-block-size:40px;inline-size:100%;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:4px;padding-inline:4px;text-decoration:none;display:flex}.journal-cell--na,tr:nth-child(2n)>.journal-cell--na{background:repeating-linear-gradient(135deg, transparent 0 6px, var(--grid) 6px 7px)}.journal-cell__static{cursor:default;justify-content:center;align-items:center;min-block-size:40px;display:flex}.journal-table .journal-table__empty{color:var(--ink-soft);text-align:start;padding-block:16px;padding-inline:12px}.journal-cell__button:hover,.journal-cell__link:hover{background:color-mix(in srgb, var(--marker) 25%, transparent)}.journal-cell__button:focus-visible,.journal-cell__link:focus-visible,.journal-col:focus-visible{outline:3px solid var(--marker);outline-offset:-3px}.journal-cell__grade{font-weight:700;position:relative}.journal-cell__grade--fail{color:var(--margin)}.journal-cell__attempts{color:var(--ink-soft);margin-inline-start:1px;font-size:.625rem;font-weight:600}.journal-cell__note{background:var(--ink-soft);border-radius:50%;block-size:5px;inline-size:5px;position:absolute;inset-block-start:-2px;inset-inline-end:-7px}.journal-cell__suggested{color:var(--ink-soft);opacity:.75;font-style:italic}.journal-cell__pending{color:var(--ink-soft);font-size:.625rem}.cell-editor{z-index:2;border:2px solid var(--ink);border-radius:var(--radius);background:var(--paper);gap:12px;margin-block-start:12px;padding:16px;display:grid;position:sticky;inset-block-end:0;box-shadow:0 -6px 18px #0000001f}.cell-editor .segmented{flex-wrap:wrap;justify-self:start;margin-block-end:0}.cell-editor__head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.cell-editor__title{margin:0;font-size:1.0625rem}.cell-editor__suggestion{margin:0}.cell-editor__more summary{cursor:pointer;color:var(--ink-soft);margin-block-end:8px}.grade-picker{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.grade-picker__value,.grade-picker__mark{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-block-size:44px;min-inline-size:44px;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;padding-inline:10px;font-weight:700}.grade-picker__mark{color:var(--ink-soft);font-weight:500}.grade-picker__value:hover,.grade-picker__mark:hover{border-color:var(--ink)}.grade-picker__value--on{background:var(--ink);border-color:var(--ink);color:var(--paper)}.grade-picker__number{align-items:center;gap:8px;display:flex}.grade-picker__number .input{inline-size:7rem}.badge--debt{background:var(--margin);color:#fff;white-space:nowrap}.my-grades th{color:var(--ink);font-weight:500}.my-grades__date{white-space:nowrap}.my-grades td:last-child{inline-size:40%}.my-grades__final th,.my-grades__final td{background:color-mix(in srgb, var(--marker) 18%, var(--surface));font-weight:600}.my-grades__attempts{margin-block:4px 0;padding-inline-start:18px;font-size:.875rem}@media (width<=640px){.journal-table .journal-table__name{min-inline-size:8rem}}.debts th[scope=row]{font-weight:500}.child-course{margin-block-end:calc(var(--cell) * 2)}.child-grades__title{overflow-wrap:anywhere}.child-course__title{border-block-end:3px solid var(--marker);margin-block-end:0;padding-block-end:4px}.exam-sheet{color:#111;border:1px solid var(--line);background:#fff;max-inline-size:52rem;padding:24px}.exam-sheet__org{text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:.875rem}.exam-sheet__title{margin-block:8px 16px;font-size:1.5rem}.exam-sheet__facts{gap:4px;margin-block:0 16px;display:grid}.exam-sheet__facts>div{gap:8px;display:flex}.exam-sheet__facts dt{color:#555;min-inline-size:10rem}.exam-sheet__facts dd{margin:0;font-weight:600}.exam-sheet__table{border-collapse:collapse;inline-size:100%}.exam-sheet__table th,.exam-sheet__table td{text-align:start;vertical-align:top;border:1px solid #333;padding-block:8px;padding-inline:8px}.exam-sheet__table th{font-size:.8125rem;font-weight:600}.exam-sheet__table td:first-child{text-align:center;inline-size:2.5rem}.exam-sheet__grade{text-align:center;inline-size:6rem;font-weight:700}.exam-sheet__table td:last-child{inline-size:8rem}.exam-sheet__previous{font-size:.8125rem;display:block}.exam-sheet__blank{border-block-end:1px solid #333;min-inline-size:10rem;display:inline-block}.exam-sheet__signatures{gap:16px;margin-block-start:32px;display:grid}.exam-sheet__signatures p{margin:0}.exam-sheet__name{color:#555}@media print{.exam-sheet{border:0;max-inline-size:none;padding:0}}.progress{flex-wrap:wrap;align-items:center;gap:4px 12px;margin-block:8px 16px;display:flex}.progress--compact{gap:2px 8px;margin-block:4px 0}.progress__track{border:1px solid var(--ink);background:var(--surface);border-radius:999px;flex:10rem;block-size:10px;max-inline-size:24rem;overflow:hidden}.progress--compact .progress__track{flex-basis:5rem;block-size:8px}.progress__fill{background:var(--marker);border-inline-end:1px solid var(--ink);block-size:100%;transition:inline-size .3s;display:block}.progress__fill--full{background:var(--ok);border-inline-end:0}.progress__text{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:.875rem}.progress--compact .progress__text{font-size:.75rem}.item-status{color:var(--ink-soft);white-space:nowrap;margin-inline-start:8px;font-size:.8125rem}.item-status--done{color:var(--ok);font-weight:600}.item-status--returned{color:var(--margin)}.progress-legend{flex-wrap:wrap;gap:4px 12px;margin:0;display:flex}.progress-legend .item-status{margin-inline-start:0}.progress-table .journal-table__col{min-inline-size:3rem}.journal-table .progress-table__total{min-inline-size:9rem;padding-inline:8px}.progress-cell{block-size:40px;color:var(--ink-soft);font-weight:700}.progress-cell--done{color:var(--ok);background:color-mix(in srgb, var(--ok) 10%, transparent)}.progress-cell--returned{color:var(--margin)}.progress-table tfoot th,.progress-table__count{color:var(--ink-soft);font-size:.8125rem;font-weight:600}.oauth{gap:8px;margin-block-start:var(--cell);display:grid}.oauth__or{color:var(--ink-soft);align-items:center;gap:12px;margin:0;font-size:.875rem;display:flex}.oauth__or:before,.oauth__or:after{content:"";border-block-start:1px solid var(--line);flex:1}.oauth__button{text-align:center;justify-content:center;text-decoration:none}.badge--ok{background:var(--ok);color:#fff}.identities{gap:8px;margin:0 0 12px;padding:0;list-style:none;display:grid}.identities__row{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;align-items:center;gap:12px;padding-block:8px;padding-inline:12px;display:flex}.identities__name{flex:1;font-weight:600}.topbar__account{border:1px solid var(--line);block-size:36px;inline-size:36px;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.topbar__account:hover,.topbar__account.active{border-color:var(--ink);background:var(--marker)}.course-team{margin-block:var(--cell)}.course-team h2{margin-block-end:8px}.course-team--short{margin-block:8px var(--cell);flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.course-team .course-team__label{margin:0;font-size:1rem}.course-team__line{color:var(--ink-soft);margin:0}.course-team__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;max-inline-size:40rem;display:flex}.team{gap:6px;max-inline-size:40rem;margin:0 0 8px;padding:0;list-style:none;display:grid}.team__row{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;align-items:center;gap:8px 12px;padding-block:6px;padding-inline:12px;display:flex}.team__name{flex:12rem;font-weight:500}.team__add,.team__handover{align-items:end;margin-block-start:8px}.team__hint{flex-basis:100%}.weights{gap:12px;max-inline-size:56rem;margin-block-start:24px;display:grid}.weights__title,.weights p{margin:0}.weights__groups{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:16px;display:grid}.weights__group{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);align-content:start;gap:6px;margin:0;padding:12px;display:grid}.weights__row{grid-template-columns:1fr 5rem;align-items:center;gap:4px 8px;display:grid}.weights__input{text-align:center}.weights__note{grid-column:1/-1;font-size:.75rem}.weights__note:empty{display:none}.journal-home__head{flex-wrap:wrap;align-items:center;gap:12px 20px;margin-block-end:8px;display:flex}.journal-home__group{margin:0;font-size:2.25rem;line-height:1}.journal-home__groups{flex-wrap:wrap;gap:4px;display:flex}.journal-home__chip{border-radius:var(--radius);color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;padding-block:4px;padding-inline:10px;font-weight:600}.journal-home__chip:hover{border-color:var(--line)}.journal-home__chip--on{background:var(--ink);color:var(--paper)}.journal-home__course{margin-inline-start:auto}.journal-home__links{margin-block:0 4px}.journal-col__month{min-block-size:1em;color:var(--ink-soft);text-transform:lowercase;font-size:.7rem}.journal-col__day{font-size:1.05rem;font-weight:600;line-height:1.1}.journal-col__title{text-overflow:ellipsis;white-space:nowrap;max-inline-size:4.5rem;font-size:.72rem;font-weight:600;line-height:1.2;display:block;overflow:hidden}.journal-col__day--final{color:var(--margin);font-weight:700}.journal-col__abbr{min-block-size:1.1em;color:var(--ink-soft);letter-spacing:.02em;white-space:nowrap;font-size:.7rem;font-weight:600}.journal-col__weight{color:var(--margin);margin-inline-start:2px}.journal-col__draft{background:var(--ink-soft);border-radius:50%;block-size:6px;inline-size:6px;position:absolute;inset-block-start:4px;inset-inline-end:4px}.journal-table__col--average{border-inline-start:2px solid var(--margin)}.journal-col__average{color:var(--margin);padding-block:6px;padding-inline:4px;font-size:.75rem;font-weight:700;display:block}.journal-cell--average{border-inline-start:2px solid var(--margin);text-align:center}.journal-average{color:var(--ink);font-weight:700}.journal-average--fail{color:var(--margin)}.journal-palette-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-block-end:8px;display:flex}.journal-palette-row .journal-hint{flex:18rem;margin:0}.journal-palette{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;gap:6px;padding:6px;display:flex}.journal-palette__tool{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);block-size:36px;min-inline-size:40px;color:var(--ink);font:inherit;cursor:pointer;place-items:center;padding-inline:8px;font-weight:700;display:inline-grid}.journal-palette__tool:hover{border-color:var(--ink)}.journal-palette__tool--absent{background:color-mix(in srgb, var(--marker) 45%, var(--surface))}.journal-palette__tool--on{border-color:var(--ink);background:var(--ink);color:var(--paper);box-shadow:0 0 0 2px var(--marker)}.grade-cell__paint{min-block-size:40px;inline-size:100%;min-inline-size:40px;color:var(--ink);font:inherit;cursor:cell;background:0 0;border:0;font-weight:700}.grade-cell__paint.grade-cell__input--fail{color:var(--margin)}.grade-cell__paint:hover{background:color-mix(in srgb, var(--marker) 30%, transparent)}.grade-cell__placeholder{color:var(--ink-soft);opacity:.7;font-style:italic;font-weight:400}.journal-table__name-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.journal-table__nav{text-align:center;inline-size:44px;padding:0}.journal-nav{border-radius:var(--radius);color:var(--ink);font:inherit;letter-spacing:-.04em;cursor:pointer;background:0 0;border:0;padding-block:4px;padding-inline:6px;font-size:1rem;line-height:1}.journal-nav:hover:not(:disabled){background:color-mix(in srgb, var(--marker) 35%, transparent)}.journal-nav:disabled{color:var(--grid);cursor:default}.journal-cell--nav{background:var(--paper)}.term-settings{gap:10px;max-inline-size:48rem;margin-block-start:24px;display:grid}.term-settings p{margin:0}.term-rule{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.term-rule__level{text-align:center;inline-size:4.5rem}.term-rule__count{align-items:center;gap:6px;display:inline-flex}.term-rule__count .input{text-align:center;inline-size:4.5rem}.term-settings__final{border:0;gap:8px;margin:0;padding:0;display:grid}.table__group{color:var(--ink-soft);text-align:start;text-transform:uppercase;letter-spacing:.04em;padding-block-start:12px;font-size:.8rem}.section-lede{color:var(--ink-soft);max-inline-size:48rem;margin-block:-4px 12px}.contents__aside{margin-inline-start:auto}.start-guide{border:1px solid var(--line);border-inline-start:4px solid var(--marker);border-radius:var(--radius);background:var(--surface);max-inline-size:48rem;margin-block-end:var(--cell);padding:16px 20px}.start-guide__title{margin:0 0 10px;font-size:1.1rem}.start-guide__steps{gap:8px;margin:0;padding:0;list-style:none;display:grid}.start-guide__step{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.start-guide__mark{border:2px solid var(--line);border-radius:50%;flex:none;place-items:center;block-size:22px;inline-size:22px;font-size:.8rem;font-weight:700;display:inline-grid}.start-guide__step--done .start-guide__mark{border-color:var(--ok);background:var(--ok);color:#fff}.start-guide__step--done>span:nth-child(2){text-decoration:line-through}.start-guide__step--next{color:var(--ink);font-weight:600}.start-guide__step--next .start-guide__mark{border-color:var(--ink)}.cohort-cards{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.cohort-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:2px;padding:12px 14px;display:flex}.cohort-card__name{color:var(--ink);font-size:1.25rem;font-weight:600;text-decoration:none}.cohort-card__actions{flex-wrap:wrap;gap:4px 14px;margin-block-start:8px;font-size:.9rem;display:flex}.term-dates{border-radius:var(--radius);margin-block-start:24px;scroll-margin-block-start:var(--cell);transition:background-color .6s}.term-dates--fresh{outline:2px solid var(--marker);outline-offset:8px}.new-year{gap:8px;max-inline-size:48rem;margin-block-start:var(--cell);display:grid}.new-year p{margin:0}.directories>summary{cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding-block:8px;display:flex}.directories__title{font-size:1.35rem;font-weight:600}.directories[open]>summary{margin-block-end:12px}.icon{vertical-align:middle;flex:none}.button .icon{margin-inline-end:6px}.button:has(.icon){align-items:center;display:inline-flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-block-end:calc(var(--cell) * .5);display:flex}.page-head h1{margin:0}.course-new{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-block-end:var(--cell);padding:16px 20px}.courses-toolbar{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-block-end:16px;display:flex}.courses-toolbar .segmented{margin:0;margin-inline-start:auto}.search{max-inline-size:28rem;color:var(--ink-soft);flex:16rem;align-items:center;display:inline-flex;position:relative}.search .icon{pointer-events:none;position:absolute;inset-inline-start:12px}.search .input{inline-size:100%;padding-inline-start:38px}.icon-button{border-radius:var(--radius);block-size:36px;inline-size:36px;color:var(--ink-soft);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;padding:0;text-decoration:none;display:inline-grid}.icon-button:hover,.icon-button:focus-visible{border-color:var(--line);background:var(--paper);color:var(--ink)}.icon-button:disabled{opacity:.5;cursor:default}.icon-button--danger:hover,.icon-button--danger:focus-visible{border-color:var(--margin);color:var(--margin)}.segmented .icon-button{background:var(--surface);border:0;border-radius:0}.segmented .icon-button+.icon-button{border-inline-start:1px solid var(--line)}.segmented .icon-button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.course-tile__title{color:var(--ink);text-decoration:none}.course-tile__title:hover{text-decoration:underline}.course-tile .course-actions{border-block-start:1px dashed var(--line);margin-block-start:auto;padding-block-start:8px}.course-actions{gap:2px;display:flex}.course-table{inline-size:100%}.course-table th[scope=row]{font-weight:600}.course-table td:last-child{white-space:nowrap;inline-size:1%}.dialog-backdrop{z-index:50;background:#1e2a5a59;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{border-radius:var(--radius);background:var(--surface);max-block-size:calc(100dvh - 32px);inline-size:min(100%,34rem);padding:20px 24px;overflow:auto;box-shadow:0 12px 40px #1e2a5a40}.dialog__title{margin-block-end:12px}.journal-home__picker{grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.journal-home__pick{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);inline-size:100%;color:var(--ink);font:inherit;text-align:start;cursor:pointer;align-items:center;gap:10px;padding:12px 14px;display:flex}.journal-home__pick:hover,.journal-home__pick:focus-visible{border-color:var(--ink)}.journal-home__pick-title{font-weight:600}.course-table .link-button{text-align:start;align-items:center;gap:6px;font-weight:600;display:inline-flex}.schedule-bar{flex-wrap:wrap;align-items:center;gap:8px 14px;margin-block-end:16px;display:flex}.schedule-bar .segmented{margin:0}.schedule-bar__range{min-inline-size:11rem}.schedule-bar .search{flex:14rem}.segmented__text{border:0;border-inline:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;padding-inline:12px}.schedule-grid{table-layout:fixed;inline-size:100%}.schedule-grid th[scope=col]{text-align:center;text-transform:capitalize}.schedule-grid td{vertical-align:top;block-size:64px;padding:4px}.schedule-grid__bell{vertical-align:top;inline-size:7rem;font-size:.85rem;font-weight:600}.schedule-grid__bell .muted{font-weight:400;display:block}.schedule-grid__today{background:color-mix(in srgb, var(--marker) 14%, transparent)}.schedule-grid__today-mark{text-transform:none;font-weight:400}.schedule-grid__add{border-radius:var(--radius);block-size:100%;min-block-size:48px;inline-size:100%;color:var(--ink-soft);cursor:pointer;opacity:.35;background:0 0;border:1px dashed #0000;font-size:1.3rem}.schedule-grid__add:hover,.schedule-grid__add:focus-visible{border-color:var(--line);opacity:1}.lesson{border:0;border-inline-start:4px solid var(--ink);background:color-mix(in srgb, var(--ink) 7%, var(--surface));inline-size:100%;color:var(--ink);font:inherit;text-align:start;cursor:pointer;border-radius:4px;flex-direction:column;gap:1px;margin-block-end:4px;padding:6px 8px;display:flex}.lesson:hover,.lesson:focus-visible{background:color-mix(in srgb, var(--ink) 13%, var(--surface))}.lesson__title{font-weight:600;line-height:1.25}.lesson__meta,.lesson__topic{color:var(--ink-soft);font-size:.8rem}.lesson__topic{font-style:italic}.lesson__online{color:var(--ok);align-self:flex-start;font-size:.75rem;font-weight:600}.schedule-list__day{text-transform:capitalize;align-items:center;gap:10px;margin-block:20px 8px;font-size:1.1rem;display:flex}.schedule-list__time{white-space:nowrap}.lesson-facts{grid-template-columns:max-content 1fr;gap:6px 14px;margin:0 0 16px;display:grid}.lesson-facts dt{color:var(--ink-soft)}.lesson-facts dd{margin:0}.lesson-facts__text{white-space:pre-wrap}.bells{gap:6px;margin:0 0 12px;padding:0;list-style:none;display:grid}.bells__row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bells__n{min-inline-size:5.5rem;font-weight:600}.bells .input{inline-size:7.5rem}.journal-cell--absent .grade-cell__input,.journal-cell--absent .grade-cell__paint,.journal-legend .journal-cell--absent b,.journal-mark.journal-cell--absent{color:var(--margin);font-weight:700}.journal-cell--excused .grade-cell__input,.journal-cell--excused .grade-cell__paint,.journal-legend .journal-cell--excused b,.journal-mark.journal-cell--excused{color:var(--ink-soft)}.journal-cell--late .grade-cell__input,.journal-cell--late .grade-cell__paint,.journal-legend .journal-cell--late b,.journal-mark.journal-cell--late{color:#b7791f;font-weight:700}.journal-legend{color:var(--ink-soft);flex-wrap:wrap;gap:4px 18px;margin-block:8px 0;font-size:.9rem;display:flex}.journal-legend b{font-size:1rem}.journal-palette__mark{flex-direction:column;align-items:center;line-height:1.1;display:inline-flex}.journal-palette__abbr{font-weight:700}.journal-palette__word{white-space:nowrap;font-size:.68rem;font-weight:400}.journal-absences{font-weight:600}.journal-absences__excused{color:var(--ink-soft);margin-inline-start:2px;font-weight:400}.journal-absences__late{color:#b7791f;margin-inline-start:4px;font-size:.8rem;font-weight:400}.my-grades__absences{color:var(--ink-soft)}.journal-palette__tool--absent,.journal-palette__tool--excused,.journal-palette__tool--late{block-size:auto;min-block-size:36px;padding-block:2px}.journal-table__col--absences .journal-col__average{letter-spacing:-.01em;font-size:.68rem}.lesson__meta{overflow-wrap:anywhere}.time-select{align-items:center;gap:4px;font-weight:600;display:inline-flex}.time-input{font-variant-numeric:tabular-nums;text-align:center;inline-size:3.2rem;padding-inline:4px}.time-input--invalid{border-color:var(--margin);outline-color:var(--margin)}.schedule-problem{color:var(--margin);margin:0}.today{margin-block:var(--cell);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);max-inline-size:52rem;padding:16px 20px}.today__title{margin:0 0 10px;font-size:1.3rem}.today__date{font-size:1rem;font-weight:400}.today__lessons{gap:6px;margin:0;padding:0;list-style:none;display:grid}.today__lesson{border-inline-start:4px solid var(--ink);background:color-mix(in srgb, var(--ink) 5%, var(--surface));border-radius:4px;grid-template-columns:7.5rem 1fr auto;align-items:center;gap:4px 12px;padding:8px 10px;display:grid}.today__lesson--now{border-inline-start-color:var(--marker);background:color-mix(in srgb, var(--marker) 18%, var(--surface))}.today__lesson--past{opacity:.55}.today__time{font-variant-numeric:tabular-nums;flex-direction:column;gap:2px;font-weight:600;display:flex}.today__now{align-self:flex-start}.today__what{flex-direction:column;gap:1px;display:flex}.today__topic{color:var(--ink-soft);font-size:.9rem;font-style:italic}.today__actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.today__subtitle{margin:16px 0 6px;font-size:1.05rem}.today__homework{gap:8px;margin:0;padding:0;list-style:none;display:grid}.today__homework-text{white-space:pre-wrap;margin:2px 0 0}@media (width<=560px){.today__lesson{grid-template-columns:1fr}.today__actions{justify-content:flex-start}}.lesson--fresh{outline:2px solid var(--marker);animation:4s ease-out lesson-fresh}@keyframes lesson-fresh{0%{background:color-mix(in srgb, var(--marker) 60%, var(--surface))}}.today>p:last-child{margin-block:12px 0}.lesson--past{opacity:.62}.lesson--past:hover,.lesson--past:focus-visible{opacity:1}.lesson--now{border-inline-start-color:var(--marker);background:color-mix(in srgb, var(--marker) 22%, var(--surface))}.schedule-list__row--past{opacity:.62}.lesson__att{color:var(--ok);align-self:flex-start;gap:6px;font-size:.75rem;font-weight:600;display:inline-flex}.lesson__att--todo{background:color-mix(in srgb, #b7791f 16%, var(--surface));color:#8a5a12;border-radius:3px;padding-inline:4px}.lesson__att .journal-cell--absent{color:var(--margin)}.lesson__att .journal-cell--late{color:#b7791f}.lesson-att{flex-wrap:wrap;align-items:center;gap:6px 10px;margin-block-end:14px;display:flex}.lesson-att__label{color:var(--ink-soft)}.lesson-att .field__hint{flex-basis:100%}.nav__badge{background:var(--margin);color:#fff;vertical-align:1px;border-radius:999px;place-items:center;block-size:1.25rem;min-inline-size:1.25rem;margin-inline-start:6px;padding-inline:5px;font-size:.72rem;font-weight:700;display:inline-grid}.ann-bar{margin-block-end:12px}.ann-list{gap:10px;max-inline-size:52rem;margin:0;padding:0;list-style:none;display:grid}.ann{border:1px solid var(--line);border-inline-start:4px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:14px 18px}.ann--unread{border-inline-start-color:var(--marker)}.ann__head{gap:2px;display:grid}.ann__title{flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:1.1rem;display:flex}.ann__pin{color:var(--margin)}.ann__new{font-size:.7rem}.ann__meta{font-size:.85rem}.ann__body{white-space:pre-wrap;margin:8px 0 0}.ann__body--short{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ann__actions{flex-wrap:wrap;align-items:center;gap:6px;margin-block-start:8px;display:flex}.ann-home{margin-block:var(--cell);max-inline-size:52rem}.bell{position:relative}.bell__button{border:1px solid var(--line);background:var(--surface);block-size:36px;inline-size:36px;color:var(--ink);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:relative}.bell__button:hover,.bell__button[aria-expanded=true]{border-color:var(--ink);background:var(--marker)}.bell__count{background:var(--margin);color:#fff;border-radius:999px;place-items:center;block-size:1.2rem;min-inline-size:1.2rem;padding-inline:4px;font-size:.7rem;font-weight:700;display:grid;position:absolute;inset-block-start:-6px;inset-inline-end:-8px}.bell__panel{z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);max-block-size:min(32rem,75vh);inline-size:min(24rem,100vw - 32px);position:absolute;inset-block-start:calc(100% + 6px);overflow-y:auto;box-shadow:0 8px 24px #1e2a5a24}.bell__head{border-block-end:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex;position:sticky;inset-block-start:0}.bell__title{margin:0;font-size:1rem}.bell__empty{margin:0;padding:16px 12px}.bell__list{margin:0;padding:0;list-style:none}.bell__item{border-block-end:1px solid var(--line);color:var(--ink);gap:10px;padding:10px 12px;text-decoration:none;display:flex}.bell__item:hover,.bell__item:focus-visible{background:var(--paper)}.bell__item--unread{background:color-mix(in srgb, var(--marker) 22%, transparent)}.bell__kind{background:var(--line);border-radius:50%;flex:none;block-size:8px;inline-size:8px;margin-block-start:7px}.bell__item--unread .bell__kind{background:var(--margin)}.bell__text{gap:2px;min-inline-size:0;display:grid}.bell__child{background:var(--marker);border-radius:4px;justify-self:start;padding:0 6px;font-size:.75rem;font-weight:600}.bell__what{overflow-wrap:anywhere;font-weight:600}.bell__detail,.bell__time{color:var(--ink-soft);font-size:.85rem}.bell__time{font-size:.75rem}.bell__more{margin:8px auto;display:block}.debts-summary{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);max-inline-size:52rem;margin-block:24px;padding:16px 20px}.debts-summary h2{margin-block:0 8px}.debts-summary__text{margin-block:0 12px}.debts-summary__text--overdue{color:var(--margin);font-weight:600}.journal-home__debts{color:var(--ink);align-items:center;gap:6px;margin-inline-start:auto;font-weight:600;display:inline-flex}.email-settings{border:0;gap:10px;margin:0 0 12px;padding:0;display:grid}.email-settings__row{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.email-settings__row input{block-size:18px;inline-size:18px;accent-color:var(--ink);flex:none;margin-block-start:4px}.email-settings__hint{font-size:.85rem;display:block}.email-settings:disabled .email-settings__row{cursor:default;opacity:.6}.chat{grid-template-rows:auto 1fr;grid-template-columns:minmax(16rem,22rem) 1fr;gap:0 16px;block-size:calc(100dvh - 220px);min-block-size:28rem;display:grid}.chat__title{grid-column:1/-1}.chat__list,.chat__thread{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;min-block-size:0;display:flex}.chat__tools{border-block-end:1px solid var(--line);align-items:center;gap:8px;padding:10px;display:flex}.chat__search{flex:1;min-inline-size:0}.chat__items,.chat__contacts,.chat__bubbles{margin:0;padding:0;list-style:none}.chat__items{overflow-y:auto}.chat__empty,.chat__placeholder{margin:0;padding:16px}.chat__placeholder{text-align:center;margin:auto}.chat__item,.chat__contact{border:0;border-block-end:1px solid var(--line);inline-size:100%;color:var(--ink);font:inherit;text-align:start;cursor:pointer;background:0 0;gap:2px;padding:10px 12px;display:grid;position:relative}.chat__item:hover,.chat__contact:hover{background:var(--paper)}.chat__item--on{background:color-mix(in srgb, var(--marker) 30%, transparent)}.chat__item-head{justify-content:space-between;gap:8px;display:flex}.chat__name{overflow-wrap:anywhere;font-weight:600}.chat__item--unread .chat__preview{color:var(--ink);font-weight:600}.chat__when,.chat__label,.chat__preview{color:var(--ink-soft);font-size:.85rem}.chat__label{margin:0}.chat__preview{-webkit-line-clamp:2;-webkit-box-orient:vertical;padding-inline-end:28px;display:-webkit-box;overflow:hidden}.chat__unread{position:absolute;inset-block-end:10px;inset-inline-end:12px}.chat__head{border-block-end:1px solid var(--line);align-items:center;gap:8px;padding:10px 14px;display:flex}.chat__with{margin:0;font-size:1.05rem}.chat__back{display:none}.chat__messages{flex:1;padding:12px 14px;overflow-y:auto}.chat__older{margin:0 auto 8px;display:block}.chat__msg{flex-direction:column;align-items:flex-start;margin-block-end:6px;display:flex}.chat__msg--mine{align-items:flex-end}.chat__day{color:var(--ink-soft);align-self:center;margin:10px 0 6px;font-size:.8rem}.chat__bubble{border:1px solid var(--line);background:var(--paper);border-radius:10px;max-inline-size:min(36rem,85%);padding:6px 10px 4px}.chat__msg--mine .chat__bubble{background:color-mix(in srgb, var(--marker) 45%, var(--surface));border-color:#0000}.chat__text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.chat__time{color:var(--ink-soft);text-align:end;font-size:.7rem;display:block}.chat__compose{border-block-start:1px solid var(--line);grid-template-columns:1fr auto;align-items:end;gap:8px;padding:10px;display:grid}.chat__compose .alert{grid-column:1/-1}.chat__input{resize:vertical;min-block-size:2.6rem;max-block-size:12rem}.chat__closed{margin:10px}.chat__contacts{max-block-size:50vh;margin-block-start:8px;overflow-y:auto}@media (width<=720px){.chat{grid-template-columns:1fr}.chat--open .chat__list,.chat:not(.chat--open) .chat__thread{display:none}.chat__back{display:inline-flex}}.name-prompt{background:color-mix(in srgb, var(--marker) 22%, var(--surface));border:1px solid var(--line);border-radius:var(--radius);max-inline-size:52rem;margin-block:0 24px;padding:16px 20px}.name-prompt h2{margin-block:0 4px}.setup-guide{max-inline-size:52rem}.todo__list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.todo__item{border-block-end:1px dashed var(--line);flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding-block-end:8px;display:flex}.todo__item:last-child{border-block-end:0;padding-block-end:0}.todo__name{font-weight:600}.todo__tag{color:var(--ink-soft);margin-inline-start:auto;font-size:.85rem}.todo__tag--late,.todo__tag--returned{color:var(--margin);font-weight:600}.import-table__parents{font-size:.85rem;display:block}
