@font-face{font-family:Vazirmatn Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/vazirmatn-arabic-wght-normal-Cafbb7Zc.woff2)format("woff2-variations");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/vazirmatn-latin-ext-wght-normal-tDTa1Fj6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Vazirmatn Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/vazirmatn-latin-wght-normal-BFexNX-K.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color:#182321;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#182321;--muted:#64716e;--surface:#fffefa;--surface-muted:#f8f7f1;--border:#d9ded9;--border-strong:#a1ada8;--accent:#2d6b5c;--accent-soft:#e4efea;--warning:#8c4d13;--warning-soft:#fff1dc;--text:var(--ink);--text-muted:var(--muted);--danger:#9b2c2c;--danger-border:#e7b6b6;--danger-soft:#fff1f1;--success:var(--accent);--shadow:0 10px 30px #1823211a;--focus:#005fcc;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f5f3ed;font-family:Vazirmatn Variable,Vazirmatn,IRANSansX,Tahoma,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html{background:#f5f3ed;min-inline-size:320px}body{min-block-size:100svh;min-inline-size:320px;margin:0}body.drawer-open{overflow:hidden}button,input,select,textarea{font:inherit}button{color:inherit}button:focus-visible,[tabindex]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}h1,h2,h3,p{margin-block:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}button{-webkit-tap-highlight-color:transparent}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}#root{min-block-size:100svh}.app-shell{inline-size:min(100%,1480px);min-inline-size:0;margin-inline:auto;padding:1rem}.app-header{align-items:center;gap:.75rem;min-block-size:4rem;margin-block-end:.85rem;padding-inline:.4rem;display:flex}.brand-mark{object-fit:contain;background:#f4efe3;border:1px solid #0c1f1c1a;border-radius:12px;flex:none;block-size:2.8rem;inline-size:2.8rem;padding:.45rem;display:block}.app-header__copy h1{font-size:1.35rem;line-height:1.2}.app-header__copy p,.planner-disclaimer{color:var(--muted);font-size:.72rem}.planner-disclaimer{margin-inline-start:auto}.eyebrow{color:var(--accent);font-size:.68rem;font-weight:850}.workspace{grid-template-columns:21rem minmax(0,1fr);align-items:start;gap:.85rem;min-inline-size:0;display:grid}.desktop-planner-column{gap:.85rem;min-inline-size:0;display:grid}.course-browser,.planner-surface{border:1px solid var(--border);background:var(--surface);border-radius:14px;min-inline-size:0}.course-browser{max-block-size:calc(100svh - 1.5rem);position:sticky;inset-block-start:.75rem;overflow:auto}.course-browser__header,.planner-toolbar{border-block-end:1px solid var(--border);justify-content:space-between;align-items:center;gap:.8rem;padding:.85rem 1rem;display:flex}.course-browser__header{z-index:3;background:var(--surface);padding:.55rem;display:block;position:sticky;inset-block-start:0}.department-tabs{--tab-gap:.2rem;gap:var(--tab-gap);border:1px solid var(--border);background:var(--surface-muted);border-radius:11px;grid-template-columns:repeat(3,minmax(0,1fr));padding:.25rem;display:grid;position:relative}.department-tabs:before,.plan-decks:before{z-index:0;background:var(--accent);content:"";border-radius:8px;inline-size:calc(33.3333% - .3rem);transition:translate .18s cubic-bezier(.2,.8,.2,1);position:absolute;inset-block:.25rem;inset-inline-start:.25rem;translate:0;box-shadow:0 3px 9px #1e473d29}.department-tabs[data-active="1"]:before,.plan-decks[data-active="1"]:before{translate:calc(-100% - var(--tab-gap)) 0}.department-tabs[data-active="2"]:before,.plan-decks[data-active="2"]:before{translate:calc(-200% - var(--tab-gap) - var(--tab-gap)) 0}.department-tabs button{z-index:1;color:#78847f;cursor:pointer;background:0 0;border:0;border-radius:8px;min-block-size:2.7rem;font-weight:850;transition:color .15s;position:relative}.department-tabs button[aria-selected=true]{color:#fff}.course-browser__header h2,.planner-toolbar h2,.mobile-legend h2,.drawer-header h2{margin-block-start:.12rem;font-size:1.05rem}.course-browser__header>span{color:var(--muted);font-size:.7rem}.course-search{border-block-end:1px solid var(--border);padding:.65rem .7rem;display:block;position:relative}.course-search input{border:1px solid var(--border-strong);min-block-size:2.65rem;inline-size:100%;color:var(--ink);background:#fff;border-radius:9px;padding-inline:2.2rem .7rem}.course-search input::placeholder{color:#7c8984}.course-search__icon{z-index:1;color:var(--muted);pointer-events:none;font-size:1rem;position:absolute;inset-block-start:50%;inset-inline-start:1.35rem;translate:0 -50%}.lesson-list{padding-block-end:.5rem}.lesson-card{border-block-start:1px solid var(--border)}.lesson-card__header{border-inline-start:4px solid var(--accent);color:#174f43;background:#dcebe5;justify-content:space-between;align-items:center;gap:.6rem;padding:.48rem .85rem;display:flex}.lesson-card__title{text-align:start;gap:.04rem;min-inline-size:0;padding:0;font-weight:850;line-height:1.25;display:grid;overflow:hidden}.lesson-card__title>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lesson-card__title small{color:#55756c;align-items:center;gap:.12rem;font-size:.52rem;font-weight:700;display:flex}.lesson-card__meta{color:#315f54;flex:none;justify-items:end;gap:.04rem;font-size:.59rem;line-height:1.25;display:grid}.lesson-card__meta>span{color:#5a736c;font-size:.56rem}.lesson-card__groups{border:1px solid var(--border);border-radius:11px;gap:0;margin:.5rem;display:grid;overflow:hidden}.group-row{background:#fff;transition:background-color .14s,box-shadow .14s;position:relative;overflow:hidden}.group-row:first-child{border-start-start-radius:10px;border-start-end-radius:10px}.group-row:last-child{border-end-end-radius:10px;border-end-start-radius:10px}.group-row:only-child{border-radius:10px}.group-row+.group-row{border-block-start:1px solid var(--border)}.group-row:hover,.group-row:focus-within{z-index:1;background:var(--surface-muted);box-shadow:inset 0 0 0 2px var(--border-strong)}.group-row--selected,.group-row--selected:hover,.group-row--selected:focus-within{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.group-row__content{grid-template-columns:minmax(0,1fr) auto;gap:.7rem;min-block-size:6rem;inline-size:100%;padding:.65rem .7rem;display:grid;position:relative}.group-row__identity{align-items:center;gap:.45rem;min-inline-size:0;display:flex}.group-row__number{background:var(--surface-muted);color:var(--accent);border-radius:99px;flex:none;padding:.18rem .48rem;font-size:.58rem;font-weight:850}.group-row__body{min-inline-size:0;display:block}.group-row__body strong{color:#243b35;text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;font-size:.76rem;display:block;overflow:hidden}.group-row__meetings{gap:.16rem;margin:.35rem 0 0;padding:0;list-style:none;display:grid}.group-row__meetings li{color:var(--muted);grid-template-columns:.85rem 3.8rem minmax(0,1fr);align-items:center;gap:.25rem;font-size:.58rem;display:grid}.group-row__meetings svg{block-size:.72rem;inline-size:.72rem}.group-row__meetings bdi{color:#43534f;font-weight:700}.group-row__no-time{color:var(--muted);margin-block-start:.3rem;font-size:.58rem;display:block}.capacity-badge{z-index:2;border:0;color:#365d53;cursor:pointer;min-inline-size:4.65rem;font:inherit;text-align:center;background:0 0;border-inline-start:1px solid #dfe6e2;align-content:center;justify-items:center;padding:.35rem .42rem;line-height:1.15;display:grid;position:relative}.capacity-badge bdi{white-space:nowrap;font-size:.68rem;font-weight:800}.capacity-badge small{border-block-start:1px solid;align-items:center;gap:.15rem;margin-block-start:.3rem;padding-block-start:.25rem;font-size:.52rem;font-weight:800;display:flex}.capacity-badge small svg{block-size:.65rem;inline-size:.65rem}.capacity-badge--near{color:#7a5317}.capacity-badge--full,.capacity-badge--over{color:#8b3e35}.group-row__main{z-index:1;border-radius:inherit;cursor:pointer;background:0 0;border:0;block-size:100%;inline-size:100%;padding:0;position:absolute;inset:0}.group-row__main:focus-visible{outline-offset:-3px;outline-width:2px}.planner-surface{padding:.75rem}.planner-toolbar{flex-wrap:wrap;margin:-.75rem -.75rem .75rem}.plan-summary{align-items:center;gap:.35rem;display:flex}.plan-summary span{border:1px solid var(--border);min-block-size:2rem;color:var(--muted);background:var(--surface-muted);border-radius:8px;padding:.38rem .55rem;font-size:.66rem}.plan-summary strong{color:var(--ink);font-size:.82rem}.plan-summary .summary-warning{color:var(--warning);background:var(--warning-soft);border-color:#d8a15d}.planner-toolbar__actions{gap:.4rem;display:flex}.planner-toolbar__utility-cluster{align-items:center;gap:.4rem;display:flex}.schedule-view-toggle{gap:.4rem}.schedule-view-toggle svg{block-size:1rem;inline-size:1rem}.desktop-plan-tools{display:none;position:relative}.planner-toolbar__plan-controls{align-items:center;gap:.4rem;display:flex}.plan-decks{--tab-gap:.2rem;gap:var(--tab-gap);border:1px solid var(--border);background:var(--surface-muted);border-radius:9px;grid-template-columns:repeat(3,2.15rem);padding:.25rem;display:grid;position:relative}.plan-decks button{z-index:1;min-block-size:2.1rem;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;font-weight:900;transition:color .15s;position:relative}.plan-decks button[aria-selected=true]{color:#fff;background:0 0;border-color:#0000}.plan-decks button[data-has-content=true]:after{content:"";background:currentColor;border-radius:50%;block-size:.25rem;inline-size:.25rem;position:absolute;inset-block-end:.22rem;inset-inline-start:50%;translate:50%}.deck-clear{color:#fff;background:#b84b3e;border:1px solid #9f3e33;min-block-size:2.5rem}.deck-clear:disabled{border-color:var(--border);background:var(--surface-muted);color:#9ca5a1;cursor:not-allowed}.button{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;min-block-size:2.5rem;padding-inline:.8rem;font-weight:800;display:inline-flex}.button--primary{background:var(--accent);color:#fff;border:1px solid #174f43}.button--secondary,.button--quiet{border:1px solid var(--border-strong);background:var(--surface)}.button--quiet{color:var(--muted)}.button--danger{color:#8f382d;background:#fff7f4;border:1px solid #b85a4c}.week-planner{border:1px solid var(--border-strong);background:#fff;border-radius:10px;inline-size:100%;min-inline-size:0;position:relative}.time-header,.day-row{grid-template-columns:clamp(2.8rem,7vw,4.75rem) minmax(0,1fr);min-inline-size:0;display:grid}.time-header{border-block-end:1px solid var(--border-strong);background:#f2f5f1;min-block-size:3rem}.day-heading,.day-label{border-inline-end:1px solid var(--border-strong);color:#40514c;place-items:center;font-size:.72rem;font-weight:850;display:grid}.day-row{min-block-size:calc(var(--lane-count) * 2.8rem + .65rem);border-block-end:1px solid var(--border)}.day-row:last-of-type{border-block-end:0}.day-label{background:#fafbf8;padding-inline:.2rem}.day-label__short{display:none}.timeline{direction:rtl;min-inline-size:0;position:relative}.timeline--header{block-size:3rem}.tick,.grid-line,.timeline__end-boundary{background:#cbd3cf;inline-size:1px;position:absolute;inset-block:0}.tick{z-index:1}.tick__label{color:#56665f;white-space:nowrap;direction:rtl;background:#f2f5f1;padding-inline:.08rem;font-size:clamp(.5rem,.9vw,.64rem);line-height:1.1;position:absolute;inset-block-start:.25rem;inset-inline-start:0;translate:50%}.tick:nth-child(2) .tick__label{inset-block-start:1.65rem}.course-empty{min-block-size:10rem;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:.25rem;padding:1rem;display:grid}.course-empty strong{color:var(--ink);font-size:.82rem}.course-empty span{font-size:.66rem}.timeline__end-boundary{background:var(--border-strong);inset-inline-end:0}.event-layer{min-block-size:calc(var(--lane-count) * 2.8rem + .65rem);isolation:isolate}.grid-lines{pointer-events:none;position:absolute;inset:0}.grid-line{background:#e5e9e6}.meeting{z-index:1;cursor:pointer;text-align:start;background:#e5f1ed;border:2px solid #2d7666;border-radius:7px;block-size:2.38rem;min-inline-size:0;padding:.18rem;position:absolute;inset-block-start:calc(var(--lane) * 2.8rem + .3rem);overflow:hidden;container-type:inline-size}.meeting:hover,.meeting:focus-visible{z-index:4;background:#d8ebe4}.meeting--preview{background:#eef5fb;border-style:dashed;border-color:#426c91}.meeting--custom{background:repeating-linear-gradient(135deg,#0000 0 6px,#59676121 6px 9px),#f2f3f0;border-color:#626e69}.meeting[data-origin=both]{border-style:double}.privacy-field{border:1px solid var(--border);border-radius:10px;align-items:flex-start;gap:.65rem;padding:.75rem;display:flex}.privacy-field input{block-size:1.1rem;inline-size:1.1rem;margin-block-start:.15rem}.privacy-field span,.privacy-field small{display:block}.meeting--conflict,.meeting--duplicate{border-inline-start:5px solid var(--warning)}.meeting__identity{justify-content:space-between;align-items:center;gap:.08rem;min-inline-size:0;display:flex}.meeting__number{background:#ffffffdb;border-radius:4px;place-items:center;block-size:1.15rem;min-inline-size:1.15rem;font-size:.68rem;font-weight:900;line-height:1;display:inline-grid}.meeting__warning{background:var(--warning);color:#fff;border-radius:50%;flex:none;place-items:center;block-size:1rem;inline-size:1rem;font-size:.64rem;font-weight:950;line-height:1;display:inline-grid}.meeting__alias,.meeting__title,.meeting__professor,.meeting__meta,.meeting__state{text-overflow:ellipsis;white-space:nowrap;display:none;overflow:hidden}@container (width>=62px){.meeting__alias{margin-block-start:.08rem;font-size:.61rem;font-weight:850;display:block}.meeting__state{font-size:.51rem;font-weight:800;display:block}}@container (width>=108px){.meeting{padding-inline:.35rem}.meeting__identity{float:inline-start;margin-inline-end:.3rem}.meeting__alias{font-size:.68rem}.meeting__meta{color:#45524e;font-size:.54rem;display:block}}@container (width>=175px){.meeting__alias{display:none}.meeting__title{font-size:.69rem;font-weight:850;display:block}}@media (width>=900px){.meeting__identity{display:none}.meeting__identity:has(.meeting__warning){float:inline-start;margin-inline-end:.2rem;display:block}.meeting__number,.meeting__alias,.meeting__meta{display:none}.meeting__title,.meeting__professor{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.meeting__title{font-size:.64rem;font-weight:900}.meeting__professor{color:#45524e;margin-block-start:.08rem;font-size:.52rem;font-weight:700}}.planner-empty{z-index:2;text-align:center;position:absolute;inset-block-start:48%;inset-inline:clamp(3.8rem,12vw,8rem) 1rem;translate:0 -50%}.planner-empty>span{background:var(--accent-soft);block-size:2.4rem;inline-size:2.4rem;color:var(--accent);border-radius:10px;place-items:center;margin-inline:auto;font-size:1.2rem;font-weight:900;display:grid}.planner-empty strong,.planner-empty p{display:block}.planner-empty strong{margin-block-start:.45rem;font-size:.82rem}.planner-empty p{color:var(--muted);margin-block-start:.2rem;font-size:.66rem}.mobile-legend{display:none}.drawer-backdrop{z-index:30;cursor:pointer;background:#19252152;border:0;block-size:100%;inline-size:100%;animation:.15s ease-out both backdrop-in;position:fixed;inset:0}.drawer-backdrop[data-closing=true]{animation-name:backdrop-out}.details-drawer{z-index:31;border:0;border-inline-start:1px solid var(--border);background:var(--surface);inline-size:min(25rem,100% - 1rem);padding:1rem;animation:.15s ease-out both drawer-in;position:fixed;inset-block:0;inset-inline-end:0;overflow:auto;box-shadow:10px 0 30px #16221e2e}.details-drawer[data-closing=true]{animation-name:drawer-out;animation-timing-function:ease-in}@keyframes backdrop-in{0%{opacity:0}}@keyframes backdrop-out{to{opacity:0}}@keyframes drawer-in{0%{opacity:0;translate:-1rem}}@keyframes drawer-out{to{opacity:0;translate:-1rem}}.drawer-grabber,.drawer-drag-handle,.settings-drag-handle{display:none}.drawer-header{border-block-end:1px solid var(--border);justify-content:space-between;align-items:start;gap:.75rem;padding-block-end:.9rem;display:flex}.drawer-header__actions{flex:none;gap:.4rem;display:flex}.icon-button--edit{color:var(--accent);font-size:1.2rem}.icon-button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;flex:none;place-items:center;block-size:2.55rem;inline-size:2.55rem;font-size:1.4rem;display:grid}.details-identity{background:var(--surface-muted);border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;margin-block:.85rem;padding:.65rem;font-size:.78rem;display:flex}.details-list{margin:0}.details-list>div{border-block-end:1px solid #e7e9e6;grid-template-columns:5rem minmax(0,1fr);gap:.65rem;padding-block:.64rem;display:grid}.details-list dt{color:var(--muted);font-size:.7rem}.details-list dd{overflow-wrap:anywhere;min-inline-size:0;margin:0;font-size:.74rem;line-height:1.65}.plain-list{margin:0;padding:0;list-style:none}.restriction-list{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.restriction-list li{border:1px solid var(--border);background:var(--surface-muted);border-radius:7px;gap:.15rem;padding:.45rem;display:grid}.restriction-list strong{font-size:.7rem}.restriction-list span{color:var(--text-muted)}.meeting-place{color:var(--text-muted);margin-block-start:.25rem;line-height:1.6;display:block}.warning-callout{border:1px solid #d8a15d;border-inline-start:5px solid var(--warning);background:var(--warning-soft);color:#63370f;border-radius:8px;margin-block:.8rem;padding:.7rem;font-size:.72rem;line-height:1.65}.warning-callout p{margin-block-start:.15rem}.drawer-actions{gap:.45rem;margin-block-start:1rem;display:grid}.drawer-error{color:var(--muted);padding-block:1rem}.custom-form{display:block}.field{color:#45534f;gap:.35rem;margin-block:.8rem;font-size:.7rem;font-weight:750;display:grid}.field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.field input,.field select,.field textarea{border:1px solid var(--border-strong);min-block-size:2.7rem;inline-size:100%;color:var(--ink);background:#fff;border-radius:8px;padding:.55rem .65rem}.field textarea{resize:block}.form-error{color:#933b2f;margin-block:.6rem;font-size:.72rem}.undo-toast{z-index:40;color:#fff;background:#1f302b;border-radius:10px;align-items:center;gap:1rem;max-inline-size:calc(100% - 1rem);padding:.65rem .75rem;font-size:.74rem;display:flex;position:fixed;inset-block-end:1rem;inset-inline-start:50%;translate:50%;box-shadow:0 8px 24px #16221e33}.undo-toast button{color:#b9e8d9;cursor:pointer;background:0 0;border:0;font-weight:850}.mobile-nav{display:none}@media (width>=900px){html,body,#root{block-size:100%;overflow:hidden}.app-shell{grid-template-rows:auto auto minmax(0,1fr);block-size:100svh;display:grid}.workspace{min-block-size:0}.course-browser{block-size:100%;max-block-size:100%;position:static;overflow-y:auto}.planner-surface{max-block-size:100%;overflow-y:auto}}@media (width<=1099px){.workspace{grid-template-columns:18rem minmax(0,1fr)}}@media (width<=1199px){.planner-toolbar__desktop-summary{display:none}}@media (width>=900px) and (width<=1099px){.planner-toolbar__custom-action{display:none}.desktop-plan-tools{display:block}.desktop-plan-tools__trigger{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;border-radius:8px;place-items:center;min-block-size:2.5rem;inline-size:2.5rem;padding:0;display:grid}.desktop-plan-tools__trigger svg{block-size:1.2rem;inline-size:1.2rem}.desktop-plan-tools__menu{z-index:12;border:1px solid var(--border);background:var(--surface);inline-size:min(19rem,100vw - 2rem);box-shadow:var(--shadow);border-radius:10px;gap:.7rem;padding:.7rem;animation:.15s ease-out desktop-tools-in;display:grid;position:absolute;inset-block-start:calc(100% + .45rem);inset-inline-end:0}.plan-summary--menu{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.plan-summary--menu span{text-align:center;place-items:center;display:grid}.desktop-plan-tools__menu>button{border:1px solid var(--border-strong);background:var(--surface);text-align:start;cursor:pointer;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;min-block-size:3.4rem;padding:.55rem .7rem;display:grid}.desktop-plan-tools__menu>button svg{block-size:1.2rem;inline-size:1.2rem}.desktop-plan-tools__menu>button span{gap:.1rem;display:grid}.desktop-plan-tools__menu>button small{color:var(--muted);font-size:.58rem}}@keyframes desktop-tools-in{0%{opacity:0;translate:0 -.35rem}}@media (width<=899px){.app-shell{padding:.65rem;padding-block-end:var(--mobile-safe-space)}.app-header{min-block-size:3.5rem;margin-block-end:.5rem;padding-inline:.15rem}.planner-disclaimer{display:none}.workspace{display:block}.course-browser,.planner-surface{border-radius:12px;max-block-size:none;position:static}.app-shell[data-mobile-active=planner] .course-browser,.app-shell[data-mobile-active=courses] .planner-surface{display:none}.planner-surface{padding:.45rem}.planner-toolbar{margin:-.45rem -.45rem .55rem;padding:.7rem}.planner-toolbar__actions{inline-size:100%}.planner-toolbar__plan-controls,.planner-toolbar__actions .button{flex:auto}.mobile-legend{border:1px solid var(--border);background:var(--surface);border-radius:10px;margin-block-start:.55rem;padding:.7rem;display:block}.mobile-legend h2{margin-block-end:.55rem}.mobile-legend__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;display:grid}.legend-item{border:1px solid var(--border);border-inline-start:4px solid var(--accent);cursor:pointer;text-align:start;background:#fff;border-radius:8px;align-items:center;gap:.45rem;min-block-size:3.2rem;min-inline-size:0;padding:.35rem;display:flex}.legend-item--preview{border-style:dashed}.legend-item--custom{background:repeating-linear-gradient(135deg,#0000 0 7px,#59676117 7px 10px),#fff;border-inline-start-color:#626e69}.legend-item__number{border:1px solid var(--border-strong);background:#fff;border-radius:6px;flex:none;place-items:center;block-size:1.55rem;inline-size:1.55rem;font-size:.72rem;font-weight:900;display:grid}.legend-item__copy{min-inline-size:0}.legend-item__copy strong,.legend-item__copy small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.legend-item__copy strong{font-size:.68rem}.legend-item__copy small{color:var(--muted);font-size:.57rem}.mobile-nav{z-index:20;padding:.35rem .5rem max(.35rem, env(safe-area-inset-bottom));border-block-start:1px solid var(--border);background:#fffefaf5;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;position:fixed;inset-block-end:0;inset-inline:0}.mobile-nav button{min-block-size:3.4rem;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;gap:.05rem;font-size:.68rem;font-weight:800;display:grid}.mobile-nav button[aria-current=page]{background:var(--accent-soft);color:var(--accent)}.mobile-nav button span{font-size:1rem}.details-drawer{border:1px solid var(--border);max-block-size:84svh;inline-size:min(100%,42rem);transform:translateY(var(--sheet-drag-offset,0));overscroll-behavior-y:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;border-block-end:0;border-start-start-radius:16px;border-start-end-radius:16px;margin-inline:auto;padding-block-end:max(1rem, env(safe-area-inset-bottom));transition:transform .17s cubic-bezier(.22,.8,.28,1);animation-name:sheet-in;inset-block:auto 0;inset-inline:0;box-shadow:0 -10px 28px #16221e2e}.details-drawer[data-dragging=true]{transition:none}.details-drawer[data-closing=true]{animation-name:sheet-out}.drawer-drag-handle{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;place-items:start center;block-size:1.4rem;inline-size:100%;padding:0;display:grid}.drawer-drag-handle:active{cursor:grabbing}.drawer-grabber{background:var(--border-strong);border-radius:99px;block-size:.25rem;inline-size:3rem;display:block}.undo-toast{inset-block-end:calc(var(--mobile-safe-space) + .4rem)}}@keyframes sheet-in{0%{opacity:0;translate:0 1rem}}@keyframes sheet-out{to{opacity:0;translate:0 1rem}}@media (prefers-reduced-motion:reduce){.details-drawer,.settings-dialog{transition-duration:1ms!important}}.workspace-mode-tabs{--workspace-tab-gap:.2rem;gap:var(--workspace-tab-gap);border:1px solid var(--border);background:var(--surface-muted);padding:.25rem;border-radius:11px;grid-template-columns:repeat(2,minmax(0,1fr));block-size:2.5rem;padding:.2rem;display:grid;position:relative;overflow:hidden}.workspace-mode-tabs:before{z-index:0;background:var(--accent);content:"";border-radius:8px;inline-size:calc(50% - .3rem);transition:translate .18s cubic-bezier(.2,.8,.2,1);position:absolute;inset-block:.2rem;inset-inline-start:.2rem;box-shadow:0 3px 9px #1e473d29}.workspace-mode-tabs[data-active="1"]:before{translate:calc(-100% - var(--workspace-tab-gap)) 0}.workspace-mode-tabs button,.shared-viewer__toggles button,.sharing-workspace button:not(.meeting):not(.exam-event):not(.icon-button):not(.drawer-drag-handle):not(.drawer-backdrop),.sharing-workspace input,.sharing-workspace select{min-block-size:2.65rem}.workspace-mode-tabs button{z-index:1;color:#6d7b76;cursor:pointer;background:0 0;border:0;border-radius:8px;block-size:100%;min-block-size:0;min-inline-size:0;padding-inline:.8rem;font-weight:850;transition:color .18s cubic-bezier(.2,.8,.2,1);position:relative}.workspace-mode-tabs button[aria-pressed=true]{color:#fff;font-weight:800}.sharing-workspace{grid-template-columns:minmax(18rem,23rem) minmax(0,1fr);gap:1rem;inline-size:min(100%,96rem);margin-inline:auto;padding:1rem;display:grid}.sharing-sidebar,.shared-viewer{border:1px solid var(--border);background:var(--surface,#fff);border-radius:12px;min-inline-size:0}.sharing-sidebar{max-block-size:calc(100dvh - 9rem);padding:.8rem;overflow-y:auto}.sharing-sidebar>header,.shared-viewer__toolbar{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.sharing-sidebar>header svg{inline-size:1.35rem}.sharing-sidebar h2,.sharing-sidebar h3,.shared-viewer h2{margin:0}.sharing-action{border:1px solid var(--border);border-radius:10px;margin-block:.75rem;padding:.7rem}.sharing-action summary{cursor:pointer;font-weight:800}.sharing-action form,.share-record__controls{gap:.55rem;margin-block-start:.65rem;display:grid}.sharing-action label,.share-record__controls label{gap:.25rem;font-size:.78rem;font-weight:700;display:grid}.sharing-action input,.sharing-action select,.share-record input,.share-record select{border:1px solid var(--border);background:#fff;border-radius:8px;inline-size:100%;min-inline-size:0;padding-inline:.55rem}.share-code{border:2px solid #375d57;border-radius:9px;gap:.5rem;margin-block-start:.75rem;padding:.7rem;display:grid}.share-code bdi{letter-spacing:.15em;text-align:center;font-size:1.3rem;font-weight:850}.share-code>div{flex-wrap:wrap;gap:.4rem;display:flex}.sharing-list{gap:.55rem;display:grid}.sharing-list h3{margin-block-start:.75rem;font-size:.9rem}.share-record{border:1px solid var(--border);border-radius:9px;gap:.45rem;padding:.65rem;display:grid}.share-record[data-selected=true]{border-style:double;border-width:2px}.share-record__select{text-align:start;background:0 0;border:0;gap:.18rem;min-inline-size:0;padding:0;display:grid}.share-record__select span,.share-record__select small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.share-danger{color:#852e2e;border-color:#9e5656!important}.sharing-error{background:#fff7f5;border-inline-start:3px solid #9b3535;padding:.55rem}.shared-viewer{padding:1rem;overflow:hidden}.shared-viewer__toolbar{margin-block-end:.8rem}.shared-viewer__toggles{flex-wrap:wrap;gap:.35rem;display:flex}.comparison-summary{flex-wrap:wrap;gap:.45rem;margin-block-end:.8rem;display:flex}.comparison-summary>span,.comparison-summary>details{border:1px solid var(--border);border-radius:8px;padding:.45rem .65rem;font-size:.78rem}.comparison-summary ul{max-block-size:12rem;padding-inline-start:1.2rem;overflow-y:auto}.shared-viewer__empty{text-align:center;place-items:center;min-block-size:22rem;display:grid}@media (width<=899px){.sharing-workspace{inline-size:100%;padding:.5rem;display:block}.sharing-sidebar{max-block-size:none}.shared-viewer{margin-block-start:.75rem;padding:.5rem}.shared-viewer__toolbar{flex-direction:column;align-items:flex-start}.sharing-workspace--mobile{padding-block-end:5rem}}@media (width<=360px){.shared-viewer__toggles,.share-code>div{grid-template-columns:1fr;inline-size:100%;display:grid}}.sharing-workspace{grid-template-columns:21rem minmax(0,1fr);gap:.85rem;block-size:100%;min-block-size:0;inline-size:100%;margin:0;padding:0}.sharing-sidebar,.shared-viewer{border-radius:14px}.sharing-sidebar{max-block-size:100%;padding:1rem}.sharing-sidebar>header{padding-block:.15rem .8rem}.sharing-sidebar>header h2{margin-block-start:.12rem;font-size:1.05rem}.sharing-sidebar>header svg{color:var(--accent)}.friend-action-tabs,.friend-view-segment,.friend-plan-segment{border:1px solid var(--border);background:var(--surface-muted);border-radius:11px;gap:.2rem;padding:.25rem;display:grid}.friend-view-segment,.friend-plan-segment{position:relative;overflow:hidden}.friend-action-tabs,.friend-view-segment{grid-template-columns:repeat(2,minmax(0,1fr))}.friend-plan-segment{grid-template-columns:repeat(3,minmax(0,1fr));min-inline-size:7.8rem}.friend-view-segment:before,.friend-plan-segment:before{z-index:0;background:var(--accent);content:"";border-radius:8px;transition:translate .18s cubic-bezier(.2,.8,.2,1);position:absolute;inset-block:.25rem;inset-inline-start:.25rem;box-shadow:0 3px 9px #1e473d29}.friend-view-segment:before{inline-size:calc(50% - .35rem)}.friend-plan-segment:before{inline-size:calc(33.3333% - .266667rem)}.friend-view-segment[data-active="1"]:before,.friend-plan-segment[data-active="1"]:before{translate:calc(-100% - .2rem)}.friend-plan-segment[data-active="2"]:before{translate:calc(-200% - .4rem)}.friend-action-tabs button,.friend-view-segment button,.friend-plan-segment button{z-index:1;color:#6d7b76;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:.28rem;min-inline-size:0;font-weight:850;transition:color .18s cubic-bezier(.2,.8,.2,1);display:inline-flex;position:relative}.friend-action-tabs button[aria-pressed=true],.friend-view-segment button[aria-pressed=true],.friend-plan-segment button[aria-checked=true]{background:var(--accent);color:#fff;box-shadow:0 3px 9px #1e473d29}.friend-view-segment button[aria-pressed=true],.friend-plan-segment button[aria-checked=true]{box-shadow:none;background:0 0}.friend-action-tabs svg{inline-size:1rem}.friend-action-slide{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .17s,opacity .13s;display:grid}.friend-action-slide[data-open=true]{opacity:1;grid-template-rows:1fr}.friend-action-slide>div{min-block-size:0;overflow:hidden}.friend-action-form{border:1px solid var(--border);background:#fbfcfa;border-radius:11px;gap:.65rem;margin-block-start:.7rem;padding:.75rem;display:grid}.friend-action-form--share{grid-template-columns:minmax(0,1fr) auto;align-items:center}.friend-action-form--share .friend-primary-action{grid-column:1/-1}.friend-floating-field{min-inline-size:0;display:block;position:relative}.friend-floating-field input{border:1px solid var(--border-strong);background:#fff;border-radius:9px;block-size:3.05rem;inline-size:100%;min-inline-size:0;padding:1rem .7rem .2rem}.friend-floating-field span{max-inline-size:calc(100% - 1.4rem);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;pointer-events:none;font-size:.78rem;font-weight:750;transition:all .13s;position:absolute;inset-block-start:50%;inset-inline-start:.7rem;overflow:hidden;translate:0 -50%}.friend-floating-field input:focus+span,.friend-floating-field input:not(:placeholder-shown)+span{color:var(--accent);font-size:.62rem;inset-block-start:.1rem;translate:0}.friend-code-field{border:1px solid var(--border-strong);background:#fff;border-radius:9px;min-inline-size:0;margin:0;padding:.45rem .65rem .65rem}.friend-code-field legend{color:var(--accent);padding-inline:.3rem;font-size:.62rem;font-weight:800}.friend-code-field>div{grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;display:grid}.friend-code-field input{border:1px solid var(--border-strong);text-align:center;background:#fff;border-radius:8px;block-size:2.8rem;inline-size:100%;min-inline-size:0;padding:0;font-size:1.15rem;font-weight:900}.friend-primary-action{background:var(--accent);color:#fff;cursor:pointer;border:1px solid #174f43;border-radius:8px;font-weight:850}.friend-invite-preview{color:var(--muted);text-align:center;margin:0;font-size:.7rem}.share-code{border-width:1px;border-color:var(--border-strong);background:#fff;margin-block:.6rem 0}.share-code>span{color:var(--muted);text-align:center;font-size:.68rem}.sharing-list{gap:.8rem;margin-block-start:.9rem}.sharing-list>section{gap:.38rem;display:grid}.sharing-list h3{margin:.3rem 0 .2rem;font-size:.86rem}.friend-list-empty{border:1px dashed var(--border);color:var(--muted);text-align:center;border-radius:9px;margin:0;padding:.7rem;font-size:.7rem}.friend-share-row{border:1px solid #d5ddd9;background:#fcfdfc;border-inline-start:3px solid #aeb8b3;border-radius:12px;grid-template-columns:minmax(0,1fr) minmax(4.2rem,auto) 2.45rem auto;align-items:center;gap:.35rem;min-inline-size:0;padding:.38rem .42rem;transition:border-color .13s,background .13s,box-shadow .13s;display:grid;box-shadow:0 1px 2px #1e473d0a}.friend-share-row[data-selected=true]{border-color:#75a397;border-inline-start-color:var(--accent);box-shadow:none;background:#f1f7f4}.friend-share-row[data-selectable=true]:hover,.friend-share-row[data-selectable=true]:focus-within{background:#f5f9f7;border-color:#75a397}.friend-share-row[data-editing=true]{grid-template-columns:minmax(0,1fr)}.friend-share-row[data-editing=true]>:not(.friend-share-row__name){display:none}.friend-share-row__name{min-inline-size:0;position:relative}.friend-alias-trigger{cursor:pointer;text-align:start;background:0 0;border:0;align-items:center;inline-size:100%;min-inline-size:0;padding-inline:2.45rem .35rem;display:flex;min-block-size:2.15rem!important}.friend-alias-trigger strong{text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;overflow:hidden}.friend-edit-alias{z-index:1;border:1px solid var(--border);background:var(--surface-muted);block-size:2rem;inline-size:2rem;color:var(--accent);cursor:pointer;border-radius:7px;place-items:center;padding:0;display:none;position:absolute;inset-block-start:50%;inset-inline-start:.3rem;translate:0 -50%}.friend-share-row__name:hover .friend-edit-alias,.friend-share-row__name:focus-within .friend-edit-alias{display:inline-grid}.friend-edit-alias:hover,.friend-edit-alias:focus-visible{border-color:var(--accent);background:#fff}.friend-edit-alias svg{inline-size:.8rem}.friend-save-alias{border:1px solid var(--border-strong);background:var(--surface-muted);border-radius:7px;justify-content:center;align-items:center;gap:.2rem;inline-size:100%;margin-block-start:.25rem;font-size:.65rem;display:flex;min-block-size:2rem!important}.friend-save-alias svg{inline-size:.75rem}.friend-share-row__age{min-block-size:1.65rem;min-inline-size:0;color:var(--muted);text-align:center;text-overflow:ellipsis;white-space:nowrap;background:#f0f3f1;border-radius:999px;justify-content:center;align-items:center;padding-inline:.38rem;font-size:.62rem;font-weight:700;line-height:1;display:inline-flex;overflow:hidden}.friend-plan-badge{border:1px solid var(--border-strong);block-size:2.15rem;inline-size:2.45rem;min-inline-size:2.45rem;color:var(--ink);text-align:center;background:#f5f7f5;border-radius:8px;place-items:center;padding:0 .2rem;font-weight:900;display:inline-grid;min-block-size:2.15rem!important}.friend-share-row__actions{justify-content:end;align-items:center;min-inline-size:0;display:flex}.friend-share-row__actions button{border:1px solid var(--border);background:0 0;border-radius:8px;padding-inline:.4rem;font-size:.61rem;min-block-size:1.8rem!important}.friend-share-row--pending>strong{text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;overflow:hidden}.shared-viewer{flex-direction:column;min-block-size:0;padding:.85rem;display:flex;overflow-y:auto}.shared-viewer__toolbar{grid-template-columns:minmax(0,1fr) minmax(15rem,auto);align-items:start;gap:.35rem .75rem;margin-block-end:.75rem;display:grid}.shared-viewer__identity{grid-area:1/1/span 2;min-inline-size:0}.shared-viewer__identity h2{text-overflow:ellipsis;white-space:nowrap;margin-block-start:.12rem;font-size:1.05rem;overflow:hidden}.shared-viewer__identity>span{color:var(--muted);margin-block-start:.18rem;font-size:.65rem;display:block}.shared-viewer__refresh{border:1px solid var(--border);background:var(--surface-muted);min-block-size:2.15rem;color:var(--accent);border-radius:8px;justify-self:end;align-items:center;gap:.2rem;padding:.3rem .5rem;font-size:.65rem;font-weight:750;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.shared-viewer__refresh--mobile{display:none}.shared-viewer__refresh:hover,.shared-viewer__refresh:focus-visible{border-color:var(--accent);background:var(--accent-soft)}.shared-viewer__refresh[data-state=done]{border-color:var(--accent);background:var(--accent-soft);color:#174f43}.shared-viewer__refresh svg{inline-size:.75rem}.shared-viewer__refresh[data-state=loading] svg{animation:.7s linear infinite shared-refresh-spin}@keyframes shared-refresh-spin{to{rotate:1turn}}.shared-viewer__controls{grid-area:1/2/span 2;gap:.35rem;display:grid}.shared-viewer__view-row{align-items:stretch;gap:.35rem;display:flex}.shared-viewer__view-row .friend-view-segment{flex:auto}.friend-compare-control{border:1px solid var(--border);background:var(--surface-muted);border-radius:11px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.3rem;padding:.25rem;display:grid}.friend-compare-control>label{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:.4rem;min-block-size:2.65rem;padding-inline:.55rem;font-size:.72rem;font-weight:800;transition:border-color .15s,background .15s,color .15s;display:flex}.friend-compare-control>label:hover,.friend-compare-control>label:focus-within{border-color:var(--accent)}.friend-compare-control>label:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:#174f43}.friend-compare-control input{block-size:1rem;inline-size:1rem;min-inline-size:1rem;accent-color:var(--accent);min-block-size:1rem!important}.comparison-summary{scrollbar-width:thin;flex-wrap:nowrap;padding-block-end:.1rem;overflow-x:auto}.comparison-summary>span,.comparison-summary>details{background:#fff;flex:none}.shared-viewer__table{min-inline-size:0}.shared-viewer[data-compare=true] .meeting[data-origin=shared]{color:#61232a;background:#fae9eb;border-style:dashed;border-color:#a3434d}.shared-viewer[data-compare=true] .meeting[data-origin=mine]{background:#e5f1ed;border-style:solid;border-color:#2d7666}.shared-viewer[data-compare=true] .meeting[data-origin=both]{background:#f4edf3;border-style:double;border-color:#6c4b65}.friend-origin-divider{z-index:0;pointer-events:none;border-block-start:1px dashed #aeb8b3;position:absolute;inset-block-start:calc(var(--shared-lane-count) * 2.8rem + .05rem);inset-inline:0}.week-planner--compact .friend-origin-divider{inset-block-start:calc(var(--shared-lane-count) * 1.75rem)}.shared-viewer[data-compare=true] .exam-event[data-origin=shared]{background:#fae9eb;border-style:dashed;border-color:#a3434d}.shared-viewer[data-compare=true] .exam-event[data-origin=mine]{background:#e5f1ed;border-color:#2d7666}.shared-viewer[data-compare=true] .exam-event[data-origin=both]{background:#f4edf3;border-style:double;border-color:#6c4b65}@media (width>=900px){.shared-viewer .exam-row,.shared-viewer .exam-event-layer{min-block-size:calc(var(--exam-lanes) * 2.5rem + .3rem)}.shared-viewer .exam-event{min-block-size:2.15rem;inset-block-start:calc(.15rem + var(--exam-lane) * 2.5rem)}}@media (width>=900px) and (width<=1099px){.sharing-workspace{grid-template-columns:18rem minmax(0,1fr)}.friend-compare-control{grid-template-columns:1fr}}@media (width<=899px){.sharing-workspace{block-size:auto;padding:.5rem;display:block}.sharing-sidebar{padding:.75rem}.shared-viewer{margin-block-start:.65rem;padding:.45rem}.shared-viewer__toolbar{grid-template-columns:minmax(0,1fr) auto}.shared-viewer__identity{grid-area:1/1}.shared-viewer__refresh{grid-area:1/2}.shared-viewer__refresh--mobile{display:inline-flex}.shared-viewer__refresh--desktop{display:none}.shared-viewer__controls{grid-area:2/1/auto/-1;justify-content:stretch;inline-size:100%;display:grid}.shared-viewer__view-row{display:block}.sharing-workspace--mobile .shared-viewer__table{margin-inline:-.45rem}.friend-action-form--share{grid-template-columns:minmax(0,1fr) auto}.shared-viewer__empty{min-block-size:14rem}}@media (width<=390px){.friend-action-form--share,.friend-compare-control{grid-template-columns:1fr}.friend-plan-segment{min-inline-size:0}.friend-share-row{grid-template-columns:minmax(4.25rem,1fr) minmax(3.75rem,auto) 2.25rem auto;gap:.2rem;padding:.32rem}.friend-share-row__age{justify-content:center;align-items:center;font-size:.58rem;display:inline-flex}.friend-plan-badge{inline-size:2.25rem;min-inline-size:2.25rem}.shared-viewer__identity h2{white-space:normal}}@media (prefers-reduced-motion:reduce){.friend-action-slide,.friend-floating-field span,.shared-viewer__refresh[data-state=loading] svg{transition:none;animation:none}}.sync-recovery-layer{z-index:80;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.sync-recovery-backdrop{background:#1925216b;position:absolute;inset:0}.sync-recovery-dialog{border:1px solid var(--border);background:var(--surface);max-block-size:min(90svh,44rem);inline-size:min(100%,32rem);box-shadow:var(--shadow);border-radius:14px;padding:1.15rem;position:relative;overflow:auto}.sync-recovery-dialog h2{margin-block-start:.2rem;font-size:1.25rem}.sync-recovery-dialog>p:not(.eyebrow){color:var(--muted);margin-block-start:.55rem;line-height:1.8}.sync-recovery-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-block-start:.9rem;display:grid}.sync-recovery-summary section{border:1px solid var(--border);background:var(--surface-muted);border-radius:9px;gap:.2rem;padding:.75rem;display:grid}.sync-recovery-summary span,.sync-recovery-pending{color:var(--muted);font-size:.78rem}.sync-recovery-actions{gap:.5rem;margin-block-start:1rem;display:grid}.sync-recovery-later{min-block-size:2.75rem;color:var(--accent);cursor:pointer;background:0 0;border:0;font-weight:800}.sync-paused-banner{z-index:45;border:1px solid var(--warning);background:var(--warning-soft);color:#63370f;min-block-size:3rem;inline-size:min(100% - 1.5rem,34rem);box-shadow:var(--shadow);border-radius:10px;justify-content:space-between;align-items:center;gap:.75rem;margin-inline:auto;padding:.65rem .8rem;font-size:.78rem;display:flex;position:fixed;inset-block-end:calc(var(--mobile-safe-space,0rem) + .75rem);inset-inline:.75rem}.sync-paused-banner button{cursor:pointer;background:0 0;border:1px solid;border-radius:7px;flex:none;min-block-size:2.25rem;font-weight:800}@media (width<=520px){.sync-recovery-layer{align-items:end;padding:0}.sync-recovery-dialog{max-block-size:88svh;inline-size:100%;border-block-end:0;border-radius:16px 16px 0 0;padding-block-end:max(1rem, env(safe-area-inset-bottom))}.sync-recovery-summary{grid-template-columns:minmax(0,1fr)}.app-shell{padding-inline:.45rem}.brand-mark{border-radius:10px;block-size:2.4rem;inline-size:2.4rem;padding:.38rem}.app-header__copy h1{font-size:1.1rem}.app-header__copy p{font-size:.62rem}.planner-toolbar{align-items:start}.plan-summary{gap:.2rem}.planner-toolbar__plan-controls{inline-size:100%}.plan-decks{flex:auto;grid-template-columns:repeat(3,minmax(2.15rem,1fr))}.deck-clear{flex:none}.plan-summary span{padding-inline:.38rem;font-size:.58rem}.planner-toolbar__actions .button{min-block-size:2.65rem;font-size:.67rem}.time-header,.day-row{grid-template-columns:2.4rem minmax(0,1fr)}.day-label__full{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.day-label__short{display:inline}.day-heading,.day-label{font-size:.65rem}.tick__label{font-size:.48rem}.planner-empty{inset-inline-start:3rem}}@media (width<=350px){.mobile-legend__grid{grid-template-columns:minmax(0,1fr)}}.app-state{text-align:center;align-content:center;place-items:center;gap:.75rem;min-block-size:100svh;padding:1rem;display:grid}.auth-page{background:#fbfaf5;min-block-size:100svh}.auth-shell{grid-template-columns:minmax(0,1.08fr) minmax(22rem,.92fr);min-block-size:100svh;display:grid}.auth-showcase{color:#f7f2e7;background:#194b3e;min-inline-size:0;padding:clamp(1.5rem,4vw,3.5rem);display:grid;position:relative;overflow:hidden}.auth-showcase:before,.auth-showcase:after{content:"";border:1px solid #f7f2e717;border-radius:50%;position:absolute}.auth-showcase:before{block-size:34rem;inline-size:34rem;inset-block-start:15%;inset-inline-end:-22rem}.auth-showcase:after{block-size:19rem;inline-size:19rem;inset-block-end:-11rem;inset-inline-start:-8rem}.auth-showcase__brand{z-index:1;align-self:start;align-items:center;gap:.7rem;font-size:1.15rem;display:flex;position:relative}.auth-showcase__mark{object-fit:contain;background:#f4efe3;border:1px solid #0c1f1c1a;border-radius:11px;block-size:2.75rem;inline-size:2.75rem;padding:.42rem;display:block}.auth-showcase__content{z-index:1;align-self:center;inline-size:min(100%,38rem);margin-inline:auto;position:relative}.auth-showcase__kicker{color:#d8c28f;margin-block-end:1rem;font-size:.8rem;font-weight:800}.auth-showcase h2{letter-spacing:-.035em;max-inline-size:35rem;font-size:clamp(2.35rem,4.7vw,4.5rem);line-height:1.45}.auth-showcase h2 span{color:#e7c986;display:block}.auth-showcase__content>p:last-of-type{color:#f7f2e7c2;max-inline-size:33rem;margin-block-start:1.25rem;font-size:clamp(.9rem,1.3vw,1.08rem);line-height:2}.auth-week{background:#ffffff0f;border:1px solid #f7f2e724;border-radius:20px;inline-size:min(100%,31rem);margin-block-start:clamp(2rem,5vh,4rem);padding:1rem}.auth-week__days{color:#f7f2e78c;text-align:center;grid-template-columns:repeat(3,minmax(0,1fr));font-size:.63rem;display:grid}.auth-week__grid{border-block:1px solid #f7f2e714;min-block-size:6.5rem;margin-block-start:.55rem;position:relative}.auth-week__grid:before,.auth-week__grid:after{content:"";background:#f7f2e714;inline-size:1px;position:absolute;inset-block:0}.auth-week__grid:before{inset-inline-start:33.333%}.auth-week__grid:after{inset-inline-start:66.666%}.auth-week__course{color:#23453c;border-radius:7px;place-items:center;min-block-size:1.8rem;min-inline-size:7.5rem;font-size:.61rem;font-weight:800;display:grid;position:absolute;rotate:-1deg}.auth-week__course--first{background:#dfc785;inset-block-start:.8rem;inset-inline-start:.65rem}.auth-week__course--second{background:#bed8cf;inset-block-start:2.85rem;inset-inline-start:34%}.auth-week__course--third{background:#dbc5b9;inset-block-start:1.35rem;inset-inline-end:.65rem}.auth-panel{background:#fbfaf5;place-items:center;min-inline-size:0;padding:clamp(2rem,6vw,5rem);display:grid}.auth-card{inline-size:min(100%,27rem)}.auth-card h1{color:#1e2d29;letter-spacing:-.025em;margin-block:.45rem .55rem;font-size:clamp(1.8rem,3vw,2.35rem)}.auth-intro,.settings-help{color:var(--text-muted);line-height:1.9}.auth-card form,.settings-dialog form{gap:1rem;margin-block-start:1.25rem;display:grid}.auth-card label,.settings-dialog form>label{color:var(--text);gap:.4rem;font-size:.8rem;font-weight:700;display:grid}.auth-card input,.settings-dialog select{min-block-size:3.25rem;inline-size:100%;color:var(--text);font:inherit;background:#fffefa;border:1px solid #d6dbd7;border-radius:12px;padding-inline:.9rem}.auth-card input::placeholder{color:#9da5a1}.auth-card input[dir=ltr]{text-align:left;direction:ltr}.settings-fixed-major{border:1px solid var(--border-strong);background:var(--surface-muted);inline-size:100%;color:inherit;font:inherit;text-align:start;border-radius:9px;gap:.35rem;padding:.75rem;display:grid}.settings-fixed-major>span,.settings-fixed-major>small{color:var(--text-muted);font-size:.72rem}.auth-submit{border-radius:11px;justify-content:center;min-block-size:3.15rem;inline-size:100%;margin-block-start:.25rem;box-shadow:0 8px 18px #2d6b5c2e}.auth-switch{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;margin:1rem auto .75rem;font-weight:800;display:block}.auth-card small{color:var(--text-muted);text-align:center;margin-block-start:2.5rem;font-size:.68rem;line-height:1.7;display:block}@media (width<=800px){.auth-shell{grid-template-columns:minmax(0,1fr)}.auth-showcase{min-block-size:17rem;padding:1.25rem}.auth-showcase__content{text-align:center;margin-block-start:2.5rem}.auth-showcase__kicker,.auth-showcase__content>p:last-of-type{display:none}.auth-showcase h2{max-inline-size:32rem;margin-inline:auto;font-size:clamp(1.8rem,8vw,2.75rem);line-height:1.45}.auth-week{display:none}.auth-panel{padding:2.25rem 1.25rem 3rem}}@media (width<=420px){.auth-showcase{min-block-size:14rem}.auth-showcase__content{margin-block-start:1.5rem}.auth-card h1{font-size:1.75rem}}.form-error,.settings-warning{border:1px solid var(--danger-border);background:var(--danger-soft);color:var(--danger);border-radius:8px;margin:0;padding:.65rem .75rem;font-size:.78rem;line-height:1.7}.header-account{align-items:center;gap:.4rem;margin-inline-start:.5rem;display:flex}.desktop-settings-button{border:1px solid var(--border-strong);cursor:pointer;background:0 0;border-radius:9px;place-items:center;min-block-size:2.5rem;inline-size:2.5rem;padding:0;display:grid}.desktop-settings-button svg{block-size:1.25rem;inline-size:1.25rem;transition:rotate .19s cubic-bezier(.2,.75,.25,1)}.desktop-settings-button[data-open=true] svg{rotate:180deg}.exam-planner-view{min-inline-size:0}.exam-planner{border:1px solid var(--border-strong);background:#fff;border-radius:10px;overflow:hidden}.exam-time-header,.exam-row{grid-template-columns:clamp(5.6rem,11vw,8rem) minmax(0,1fr);min-inline-size:0;display:grid}.exam-time-header{border-block-end:1px solid var(--border-strong);background:#f2f5f1;min-block-size:2.4rem}.exam-date-heading,.exam-date{border-inline-end:1px solid var(--border-strong);color:#40514c;place-items:center;font-size:.68rem;font-weight:850;display:grid}.exam-date{align-content:center;gap:.1rem;line-height:1.25}.exam-date strong{color:var(--ink);font-size:.66rem}.exam-date bdi{color:var(--muted);font-size:.61rem}.exam-timeline{direction:rtl;min-inline-size:0;position:relative}.exam-tick,.exam-grid-line{background:#d8dfdb;inline-size:1px;position:absolute;inset-block:0}.exam-tick bdi{color:#56665f;white-space:nowrap;background:#f2f5f1;padding-inline:.12rem;font-size:clamp(.48rem,.8vw,.6rem);position:absolute;inset-block-start:.65rem;translate:50%}.exam-tick:first-child bdi{inset-inline-start:0;translate:0}.exam-tick:last-child bdi{inset-inline-end:0;translate:0}.exam-row{min-block-size:calc(var(--exam-lanes) * 2.2rem + .3rem);border-block-end:1px solid var(--border)}.exam-row:last-child{border-block-end:0}.exam-event-layer{min-block-size:calc(var(--exam-lanes) * 2.2rem + .3rem)}.exam-grid-line{pointer-events:none;background:#e8ece9}.exam-event{z-index:1;border:2px solid var(--accent);background:var(--accent-soft);text-align:start;cursor:pointer;border-radius:7px;align-content:center;min-block-size:1.9rem;min-inline-size:0;padding:.25rem .4rem;display:grid;position:absolute;inset-block-start:calc(.15rem + var(--exam-lane) * 2.2rem);overflow:hidden}.exam-event strong,.exam-event small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.exam-event strong{font-size:.66rem}.exam-event small{color:var(--muted);font-size:.56rem}.exam-event--conflict{border-color:var(--danger);background:var(--danger-soft)}.exam-event--point{border-style:dashed;inline-size:max(5rem,12%)!important}.exam-empty{color:var(--muted);text-align:center;place-items:center;padding:2rem 1rem;font-size:.74rem;display:grid}.exam-planner__status{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:.35rem 1rem;margin-block-start:.55rem;font-size:.68rem;display:flex}.sync-state{color:var(--text-muted);white-space:nowrap;background:0 0;border:0;padding:0;font-size:.68rem}.sync-state--error{cursor:pointer;color:var(--danger);font-weight:800}.sync-state--saved{color:var(--success)}.settings-button,.logout-button{min-block-size:2.5rem}.settings-button span{font-size:1rem}.dialog-layer{z-index:40;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.settings-dialog{z-index:42;border:1px solid var(--border);background:var(--surface);max-block-size:calc(100svh - 2rem);inline-size:min(100%,30rem);box-shadow:var(--shadow);border-radius:14px;padding:1rem;position:relative;overflow:auto}.settings-grabber{display:none}.settings-account-row{border:1px solid var(--border);background:var(--surface-muted);border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;margin-block-start:.75rem;padding:.65rem;display:grid}.settings-account-row bdi{min-inline-size:0;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.settings-account-actions{direction:ltr;gap:.4rem;display:flex}.settings-account-actions button{direction:rtl}.settings-account-actions button,.settings-password-actions button{border:1px solid var(--border-strong);background:var(--surface);border-radius:8px;min-block-size:2.25rem;padding-inline:.75rem;font-size:.68rem;font-weight:850}.settings-account-actions .settings-logout-button{color:#a1382e;background:#fff1ef;border-color:#d68c85}.settings-password-form{border:1px solid var(--border);background:#fbfcf9;border-radius:10px;padding:.75rem}.settings-password-form label{gap:.3rem;font-size:.72rem;font-weight:750;display:grid}.settings-password-form input{border:1px solid var(--border-strong);background:var(--surface);text-align:left;border-radius:8px;min-block-size:2.6rem;padding-inline:.7rem}.settings-password-actions{justify-content:end;gap:.45rem;display:flex}.settings-password-actions button[type=submit]{border-color:var(--accent);background:var(--accent);color:#fff}.settings-notice-stack{z-index:55;pointer-events:none;gap:.45rem;inline-size:min(100% - 1.3rem,25rem);margin-inline:auto;display:grid;position:fixed;inset-block-start:max(.75rem, env(safe-area-inset-top));inset-inline:.65rem}.settings-notice{color:#8e3028;pointer-events:auto;touch-action:pan-y;opacity:0;min-block-size:3.15rem;animation:settings-notice-in .16s ease-out var(--notice-delay,0s) forwards;background:#fff7f5;border:1px solid #d98a82;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.65rem .75rem .8rem;display:grid;position:relative;overflow:hidden;box-shadow:0 8px 22px #4d1b1629}.settings-notice[data-closing=true]{animation:.17s ease-in forwards settings-notice-out}.settings-notice>button{color:#8e3028;background:#f8dedb;border:0;border-radius:7px;block-size:2rem;inline-size:2rem;font-size:1.1rem}.settings-notice>span{transform-origin:0;block-size:.22rem;inline-size:100%;animation:settings-notice-timer 4s linear var(--notice-delay,0s) forwards;background:#efaaa3;position:absolute;inset-block-end:0;inset-inline-start:0}@keyframes settings-notice-in{0%{opacity:0;translate:0 -.65rem}to{opacity:1;translate:0}}@keyframes settings-notice-out{to{opacity:0;translate:1.5rem}}@keyframes settings-notice-timer{to{scale:0 1}}.settings-dialog fieldset{border:1px solid var(--border);border-radius:9px;margin:0;padding:.8rem}.settings-dialog legend{padding-inline:.25rem;font-size:.75rem;font-weight:800}.gender-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}@media (width>=900px){.settings-notice-stack{margin-inline:0;inset-block:auto 1rem;inset-inline:auto 1rem}}.settings-dialog .gender-option{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;border-radius:10px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;min-block-size:4.4rem;padding:.65rem;display:grid;position:relative}.settings-dialog .gender-option--selected{border:2px solid var(--accent);background:var(--accent-soft);padding:calc(.65rem - 1px)}.gender-option input{accent-color:var(--accent);position:absolute;inset-block-start:.55rem;inset-inline-end:.55rem}.gender-option__mark{background:var(--surface-muted);block-size:2.35rem;inline-size:2.35rem;color:var(--accent);border-radius:50%;place-items:center;font-size:1.15rem;font-weight:950;display:grid}.gender-option--selected .gender-option__mark{background:var(--accent);color:#fff}.gender-option__copy{gap:.15rem;display:grid}.gender-option__copy strong{font-size:.82rem}.gender-option__copy small{color:var(--text-muted);font-size:.62rem;line-height:1.5}.details-restrictions-panel{margin-block-start:.9rem}.details-restrictions-panel h3{margin-block-end:.55rem;font-size:.78rem}.restriction-table-wrap{border:1px solid var(--border);border-radius:9px;inline-size:100%;overflow:hidden}.restriction-table{border-collapse:collapse;inline-size:100%;font-size:.7rem}.restriction-table th,.restriction-table td{border-block-end:1px solid var(--border);text-align:start;vertical-align:top;padding:.55rem}.restriction-table th{background:var(--surface-muted);color:var(--text-muted);font-weight:800}.restriction-table tbody tr:last-child td{border-block-end:0}.restriction-table td strong,.restriction-table td small{display:block}.restriction-table td small{color:var(--text-muted);margin-block-start:.2rem}.restriction-permission{white-space:nowrap;border:1px solid;border-radius:999px;padding:.15rem .4rem;font-weight:800;display:inline-flex}.restriction-permission--allowed{color:var(--success)}.restriction-permission--forbidden{color:var(--danger)}@media (width<=899px){.app-header{flex-wrap:wrap}.header-account{inline-size:100%;margin-inline-start:0}.sync-state{margin-inline-end:auto}.settings-dialog{border-end-end-radius:0;border-end-start-radius:0;align-self:end;max-block-size:88svh}.app-shell--mobile .dialog-layer{place-items:end center;padding:0}.app-shell--mobile .settings-dialog{max-block-size:88dvh;inline-size:min(100%,42rem);transform:translateY(var(--sheet-drag-offset,0));overscroll-behavior-y:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;border-block-end:0;border-start-start-radius:18px;border-start-end-radius:18px;padding-block-end:max(1rem, env(safe-area-inset-bottom));transition:transform .17s cubic-bezier(.22,.8,.28,1);animation:.17s ease-out both sheet-in}.app-shell--mobile .settings-dialog[data-dragging=true]{transition:none}.app-shell--mobile .settings-dialog[data-closing=true]{pointer-events:none;animation:.18s ease-in both sheet-out}.app-shell--mobile .settings-drag-handle{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;place-items:start center;block-size:1.4rem;inline-size:100%;padding:0;display:grid}.app-shell--mobile .settings-drag-handle:active{cursor:grabbing}.app-shell--mobile .settings-grabber{background:var(--border-strong);border-radius:99px;block-size:.28rem;inline-size:3rem;display:block}.app-shell--mobile .settings-account-row{gap:.55rem;padding:.55rem}.app-shell--mobile .settings-account-row bdi{min-inline-size:0;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.67rem;overflow:hidden}.app-shell--mobile .settings-fixed-major{background:var(--surface);min-block-size:4.2rem}}@media (width<=480px){.logout-button{padding-inline:.6rem}.restriction-table thead{display:none}.restriction-table,.restriction-table tbody,.restriction-table tr,.restriction-table td{inline-size:100%;display:block}.restriction-table tr{border-block-end:1px solid var(--border);gap:.35rem;padding:.65rem;display:grid}.restriction-table td{border:0;grid-template-columns:minmax(5.5rem,35%) 1fr;padding:0;display:grid}.restriction-table td:before{content:attr(data-label);color:var(--text-muted);font-weight:700}.restriction-table tbody tr:last-child{border-block-end:0}.gender-options{grid-template-columns:minmax(0,1fr)}.app-shell--mobile .gender-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.app-shell--mobile .settings-dialog .gender-option{grid-template-columns:auto minmax(0,1fr);gap:.2rem;min-block-size:4.6rem;padding:.45rem}.app-shell--mobile .settings-dialog .gender-option--selected{padding:calc(.45rem - 1px)}.app-shell--mobile .gender-option__mark{block-size:1.9rem;inline-size:1.9rem;font-size:1rem}.app-shell--mobile .gender-option__copy strong{font-size:.7rem}.app-shell--mobile .gender-option__copy small{font-size:.5rem}}.app-shell.app-shell--mobile{block-size:100dvh;inline-size:100%;margin:0;padding:0;overflow:hidden}.mobile-lab{--lab-accent:#246657;--lab-accent-soft:#e2efe9;--lab-ink:#182521;--lab-muted:#68746f;--lab-border:#d7ded9;--lab-surface:#fffefa;block-size:100dvh;min-block-size:100dvh;color:var(--lab-ink);background:#e9ece8;grid-template-rows:minmax(0,1fr);display:grid;overflow-x:clip}.mobile-lab button,.mobile-lab a{-webkit-tap-highlight-color:transparent}.lab-phone{background:#f7f5ef;grid-template-rows:auto minmax(0,1fr) auto;min-block-size:0;display:grid}.lab-appbar{border-block-end:1px solid var(--lab-border);background:var(--lab-surface);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;min-block-size:3.25rem;padding:.5rem .7rem;display:grid}.lab-appbar__brand{object-fit:contain;background:#f4efe3;border:1px solid #0c1f1c1a;border-radius:10px;block-size:2.25rem;inline-size:2.25rem;padding:.36rem;display:block}.lab-appbar>div:nth-child(2){display:grid}.lab-appbar strong{font-size:.95rem}.lab-appbar small{color:var(--lab-muted);font-size:.62rem}.lab-appbar>button,.lab-more{border:1px solid var(--lab-border);background:0 0;border-radius:9px;place-items:center;min-block-size:2.5rem;inline-size:2.5rem;padding:0;font-size:1.15rem;display:grid}.lab-settings-button svg{block-size:1.25rem;inline-size:1.25rem;transition:rotate .19s cubic-bezier(.2,.75,.25,1)}.lab-settings-button[data-open=true] svg{rotate:180deg}.lab-more svg{block-size:1.3rem;inline-size:1.3rem}.lab-phone__body{overscroll-behavior:contain;min-block-size:0;overflow:auto}.lab-summary{border-block-end:1px solid var(--lab-border);background:var(--lab-surface);grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:.45rem;min-block-size:3.35rem;padding:.45rem .6rem;display:grid}.lab-summary>div:first-child{display:grid}.lab-summary small{color:var(--lab-accent);font-size:.58rem;font-weight:800}.lab-summary strong{font-size:.73rem}.lab-plan-switcher{--switch-gap:.15rem;gap:var(--switch-gap);background:#eef0ec;border-radius:8px;grid-template-columns:repeat(3,2rem);padding:.15rem;display:grid;position:relative;overflow:hidden}.lab-plan-controls{align-items:center;gap:.3rem;display:flex}.lab-end-preview{block-size:2.15rem;inline-size:2.15rem;color:var(--lab-accent);background:#f5f8f6;border:1px solid #58776f;border-radius:8px;flex:none;place-items:center;padding:0;display:grid}.lab-end-preview svg{block-size:1.05rem;inline-size:1.05rem}.lab-plan-switcher:before{z-index:0;background:var(--lab-accent);content:"";border-radius:6px;inline-size:2rem;transition:translate .18s cubic-bezier(.2,.8,.2,1);position:absolute;inset-block:.15rem;inset-inline-start:.15rem;translate:0}.lab-plan-switcher[data-active="1"]:before{translate:calc(-100% - var(--switch-gap)) 0}.lab-plan-switcher[data-active="2"]:before{translate:calc(-200% - .3rem)}.lab-plan-switcher button{z-index:1;background:0 0;border:0;border-radius:6px;min-block-size:1.85rem;inline-size:2rem;font-size:.75rem;font-weight:900;position:relative}.lab-plan-switcher button[aria-pressed=true],.lab-plan-switcher button[aria-selected=true]{color:#fff;background:0 0}.lab-plan-switcher button[data-has-content=true]:after{content:"";background:currentColor;border-radius:50%;block-size:.22rem;inline-size:.22rem;position:absolute;inset-block-end:.18rem;inset-inline-start:50%;translate:50%}.lab-sync-state{min-block-size:.75rem;color:var(--lab-muted);background:0 0;border:0;padding:0;font-size:.5rem}.lab-sync-state--error{cursor:pointer;color:#9b382e;font-weight:800}.lab-more{min-block-size:2.1rem;inline-size:2.1rem;font-size:1rem}.lab-concept-body{gap:.55rem;min-block-size:100%;padding:.55rem;display:grid}.lab-concept-body--focus{grid-auto-rows:max-content;align-content:start}.lab-week{background:var(--lab-surface);border:1px solid #bfcac5;border-radius:11px;grid-template-rows:1.35rem repeat(5,minmax(3rem,1fr));min-block-size:min(56dvh,27rem);display:grid;overflow:hidden}.lab-week__header,.lab-week__row{grid-template-columns:2.6rem minmax(0,1fr);display:grid}.lab-week__header{color:var(--lab-muted);border-block-end:1px solid #bfcac5;font-size:.48rem}.lab-week__header>span,.lab-week__day{border-inline-end:1px solid #bfcac5;place-items:center;display:grid}.lab-week__header>div,.lab-week__timeline{min-inline-size:0;position:relative}.lab-week__header i{font-style:normal;position:absolute;inset-block-start:.2rem;translate:50%}.lab-week__header i:first-child{translate:0}.lab-week__row{border-block-end:1px solid var(--lab-border);min-block-size:0}.lab-week__row:last-child{border-block-end:0}.lab-week__row--selected{background:#f0f7f3}.lab-week__day{color:#40504b;background:0 0;border-block:0;border-inline-start:0;min-inline-size:0;font-size:.62rem;font-weight:850}.lab-week__day abbr{text-decoration:none;display:none}.lab-week__timeline>i{background:#e4e8e5;inline-size:1px;position:absolute;inset-block:0}.lab-event{z-index:2;border:2px solid var(--lab-accent);background:var(--lab-accent-soft);color:#153f35;text-align:center;border-radius:8px;grid-template-rows:minmax(0,1.2fr) minmax(0,.8fr);align-content:center;gap:.04rem;min-inline-size:1.65rem;padding:.06rem;display:grid;position:absolute;inset-block:.42rem;overflow:hidden;container-type:inline-size}.lab-event__course,.lab-event__professor{text-overflow:ellipsis;min-inline-size:0;line-height:2.35;display:block;overflow:hidden}.lab-event__course{font-size:clamp(.1rem,8cqi,.38rem);font-weight:900}.lab-event__professor{color:#53635d;font-size:clamp(.1rem,7cqi,.32rem);font-weight:650}.lab-event--short .lab-event__course{font-size:clamp(.3rem,13cqi,.52rem)}.lab-event--short .lab-event__professor{font-size:clamp(.24rem,8cqi,.38rem)}.lab-legend{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;display:grid}.lab-legend button{border:1px solid var(--lab-border);background:var(--lab-surface);text-align:start;border-radius:9px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.45rem;min-block-size:2.75rem;padding:.4rem;display:grid;overflow:hidden}.lab-legend button>span,.lab-course-number{background:var(--lab-accent-soft);block-size:1.7rem;inline-size:1.7rem;color:var(--lab-accent);border-radius:6px;place-items:center;font-weight:900;display:grid}.lab-legend strong{text-overflow:ellipsis;white-space:nowrap;font-size:.65rem;overflow:hidden}.lab-week--mini{grid-template-rows:1.05rem repeat(5,1.75rem);min-block-size:auto}.lab-week--mini .lab-event{border-width:1px;border-radius:4px;min-inline-size:.8rem;inset-block:.12rem}.lab-week--mini .lab-week__day{font-size:.52rem}.lab-week--mini .lab-week__header{font-size:.48rem}.lab-week--mini .lab-week__header i{inset-block-start:.18rem}.lab-sticky-week{z-index:8;background:#f7f5ef;padding-block-end:.55rem;position:sticky;inset-block-start:0}.lab-schedule-toggle{border:1px solid var(--lab-border);background:var(--lab-surface);min-block-size:2.1rem;color:var(--lab-accent);border-radius:8px;justify-content:center;align-items:center;gap:.25rem;padding-inline:.45rem;font-size:.62rem;font-weight:850;display:inline-flex}.lab-schedule-toggle svg{block-size:1rem;inline-size:1rem}.lab-sticky-week .exam-planner,.sharing-workspace--mobile .exam-planner{border-color:#bfcac5;border-radius:11px}.lab-sticky-week .exam-time-header,.lab-sticky-week .exam-row,.sharing-workspace--mobile .exam-time-header,.sharing-workspace--mobile .exam-row{grid-template-columns:4.6rem minmax(0,1fr)}.lab-sticky-week .exam-time-header,.sharing-workspace--mobile .exam-time-header{min-block-size:1.45rem}.lab-sticky-week .exam-date-heading,.lab-sticky-week .exam-date,.sharing-workspace--mobile .exam-date-heading,.sharing-workspace--mobile .exam-date,.lab-sticky-week .exam-date strong,.sharing-workspace--mobile .exam-date strong{font-size:.54rem}.lab-sticky-week .exam-date bdi,.sharing-workspace--mobile .exam-date bdi{font-size:.48rem}.lab-sticky-week .exam-tick bdi,.sharing-workspace--mobile .exam-tick bdi{font-size:.4rem;inset-block-start:.4rem}.lab-sticky-week .exam-row,.lab-sticky-week .exam-event-layer,.sharing-workspace--mobile .exam-row,.sharing-workspace--mobile .exam-event-layer{min-block-size:calc(var(--exam-lanes) * 2.5rem)}.lab-sticky-week .exam-event,.sharing-workspace--mobile .exam-event{block-size:2.15rem;min-block-size:2.15rem;min-inline-size:0;padding:.2rem .24rem;inset-block-start:calc(.15rem + var(--exam-lane) * 2.5rem)}.lab-sticky-week .exam-event strong,.sharing-workspace--mobile .exam-event strong{font-size:.62rem}.lab-sticky-week .exam-event small,.sharing-workspace--mobile .exam-event small{font-size:.52rem}.lab-sticky-week .exam-event--point,.sharing-workspace--mobile .exam-event--point{inline-size:max(4rem,16%)!important}.lab-sticky-week .exam-planner__status,.sharing-workspace--mobile .exam-planner__status{font-size:.54rem}@media (width<=360px){.lab-schedule-toggle{inline-size:2.1rem;padding:0}.lab-schedule-toggle span{clip-path:inset(50%);block-size:1px;inline-size:1px;position:absolute;overflow:hidden}}.week-planner--compact{background:var(--lab-surface);border-color:#bfcac5;border-radius:11px;overflow:hidden}.week-planner--compact .time-header,.week-planner--compact .day-row{grid-template-columns:2.6rem minmax(0,1fr)}.week-planner--compact .time-header{background:var(--lab-surface);min-block-size:1.15rem}.week-planner--compact .timeline--header{block-size:1.15rem}.week-planner--compact .day-heading,.week-planner--compact .day-label{font-size:.52rem}.week-planner--compact .day-row,.week-planner--compact .event-layer{min-block-size:calc(var(--lane-count) * 1.75rem)}.week-planner--compact .tick__label,.week-planner--compact .tick:nth-child(2) .tick__label{background:var(--lab-surface);padding:0;font-size:.46rem;inset-block-start:.22rem}.week-planner--compact .meeting{text-align:center;border-width:1px;border-radius:4px;block-size:1.51rem;min-inline-size:.8rem;padding:.03rem;inset-block-start:calc(var(--lane) * 1.75rem + .12rem)}.week-planner--compact .meeting__identity,.week-planner--compact .meeting__alias,.week-planner--compact .meeting__title,.week-planner--compact .meeting__professor,.week-planner--compact .meeting__meta,.week-planner--compact .meeting__state{display:none}.week-planner--compact .meeting__identity:has(.meeting__warning){z-index:2;display:block;position:absolute;inset-block-start:-.15rem;inset-inline-end:-.15rem}.week-planner--compact .meeting__number{display:none}.week-planner--compact .meeting__warning{block-size:.65rem;inline-size:.65rem;font-size:.42rem}.meeting__compact-copy{display:none}.week-planner--compact .meeting__compact-copy{flex-direction:column;justify-content:center;align-items:stretch;gap:.07rem;block-size:100%;line-height:1;display:flex;overflow:hidden}.week-planner--compact .meeting__compact-copy strong,.week-planner--compact .meeting__compact-copy small{white-space:nowrap;text-overflow:ellipsis;min-inline-size:0;line-height:1.05;display:block;overflow:hidden}.week-planner--compact .meeting__compact-copy strong{color:#102d25;letter-spacing:-.045em;font-size:clamp(.19rem,13cqi,.51rem);font-weight:900}.week-planner--compact .meeting__compact-copy small{color:#53635d;letter-spacing:-.035em;font-size:clamp(.18rem,9.5cqi,.39rem);font-weight:750}.week-planner--compact .planner-empty{inset-block-start:55%;inset-inline:3.1rem .5rem}.week-planner--compact .planner-empty>span{block-size:1.5rem;inline-size:1.5rem;font-size:.8rem}.week-planner--compact .planner-empty strong{margin-block-start:.2rem;font-size:.62rem}.week-planner--compact .planner-empty p{font-size:.52rem}.lab-catalog-tabs{--catalog-gap:.2rem;gap:var(--catalog-gap);border:1px solid var(--lab-border);background:#e7eae5;border-radius:11px;grid-template-columns:repeat(3,minmax(0,1fr));padding:.22rem;display:grid;position:relative;overflow:hidden}.lab-catalog-tabs:before{z-index:0;background:var(--lab-accent);content:"";border-radius:8px;inline-size:calc(33.3333% - .28rem);transition:translate .18s cubic-bezier(.2,.8,.2,1);position:absolute;inset-block:.22rem;inset-inline-start:.22rem;translate:0}.lab-catalog-tabs[data-active="1"]:before{translate:calc(-100% - var(--catalog-gap)) 0}.lab-catalog-tabs[data-active="2"]:before{translate:calc(-200% - .4rem)}.lab-catalog-tabs button{z-index:1;min-block-size:2.5rem;color:var(--lab-muted);background:0 0;border:0;border-radius:8px;font-size:.7rem;font-weight:850;position:relative}.lab-catalog-tabs button[aria-pressed=true],.lab-catalog-tabs button[aria-selected=true]{color:#fff;background:0 0}.lab-lesson-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.42rem;padding-block-end:.75rem;display:grid}.lab-lesson-grid button{border:1px solid var(--lab-border);background:var(--lab-surface);min-block-size:4.35rem;min-inline-size:0;color:var(--lab-ink);overflow-wrap:anywhere;border-radius:10px;padding:.45rem;font-size:.7rem;font-weight:800;line-height:1.6}.lab-lessons-empty{color:var(--lab-muted);text-align:center;grid-column:1/-1;padding:1.5rem;font-size:.72rem}.lab-focused-day{gap:.35rem;display:grid}.lab-focused-day>header{justify-content:space-between;align-items:center;padding-block:.3rem;display:flex}.lab-focused-day>header span{color:var(--lab-muted);font-size:.65rem}.lab-focused-day>button{border:1px solid var(--lab-border);background:var(--lab-surface);text-align:start;border-radius:10px;grid-template-columns:3.6rem minmax(0,1fr);align-items:center;gap:.65rem;min-block-size:3.75rem;padding:.5rem;display:grid}.lab-focused-day time,.lab-focused-day>button>span{display:grid}.lab-focused-day time{border-inline-end:3px solid var(--lab-accent);place-items:center;font-size:.75rem;font-weight:900}.lab-focused-day small,.lab-focused-day p{color:var(--lab-muted);font-size:.61rem}.lab-week--dense{grid-template-rows:1.4rem repeat(5,minmax(4.2rem,1fr));min-block-size:min(64dvh,31rem)}.lab-event--dense{border-width:1px;border-radius:5px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.15rem;padding:.1rem;display:grid;inset-block:.25rem}.lab-event--dense strong{block-size:1.05rem;inline-size:1.05rem;font-size:.52rem}.lab-event--dense span{text-overflow:ellipsis;white-space:nowrap;font-size:.44rem;font-weight:800;display:block;overflow:hidden}.lab-dense-note{color:var(--lab-muted);text-align:center;font-size:.62rem;line-height:1.7}.lab-bottom-nav{--nav-gap:.25rem;gap:var(--nav-gap);min-block-size:calc(4rem + env(safe-area-inset-bottom));padding:.4rem .55rem env(safe-area-inset-bottom);border-block-start:1px solid var(--lab-border);background:var(--lab-surface);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:relative}.lab-bottom-nav:before{z-index:0;inset-block:.4rem calc(.4rem + env(safe-area-inset-bottom));inline-size:calc((100% - 1.1rem - 2 * var(--nav-gap)) / 3);background:var(--lab-accent-soft);content:"";border-radius:10px;transition:translate .22s cubic-bezier(.2,.8,.2,1);position:absolute;inset-inline-start:.55rem;translate:0}.lab-bottom-nav[data-active="1"]:before{translate:calc(-100% - var(--nav-gap)) 0}.lab-bottom-nav[data-active="2"]:before{translate:calc(-200% - 2 * var(--nav-gap)) 0}.lab-bottom-nav button{z-index:1;min-block-size:3.2rem;color:var(--lab-muted);background:0 0;border:0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:.22rem;font-size:.78rem;font-weight:850;line-height:1.2;transition:color .22s cubic-bezier(.2,.8,.2,1);display:flex;position:relative}.lab-bottom-nav__icon{place-items:center;line-height:1;transition:transform .22s cubic-bezier(.2,.8,.2,1);display:grid}.lab-bottom-nav__icon svg{block-size:1.25rem;inline-size:1.25rem}.lab-bottom-nav button[aria-current=page]{color:var(--lab-accent);background:0 0}.lab-bottom-nav button[aria-current=page] .lab-bottom-nav__icon{transform:scale(1.08)}.lab-production-courses{min-block-size:100%}.lab-production-courses .course-browser{border:0;border-radius:0;max-block-size:none;position:static;overflow:visible}.lab-courses{padding:.7rem}.lab-courses>header{justify-content:space-between;align-items:center;display:flex}.lab-courses>header small{color:var(--lab-muted);font-size:.62rem}.lab-courses h2{font-size:1.15rem}.lab-courses>header button,.lab-course-list footer button{border:1px solid var(--lab-border);background:var(--lab-surface);min-block-size:2.35rem;color:var(--lab-accent);border-radius:8px;padding-inline:.75rem;font-size:.68rem;font-weight:800}.lab-courses>label{margin-block:.65rem;display:block}.lab-courses input{border:1px solid var(--lab-border);background:var(--lab-surface);border-radius:9px;min-block-size:2.75rem;inline-size:100%;padding-inline:.75rem}.lab-course-list{gap:.5rem;display:grid}.lab-course-list article{border:1px solid var(--lab-border);background:var(--lab-surface);border-radius:11px;padding:.65rem}.lab-course-list article>div,.lab-course-list footer{align-items:center;gap:.55rem;display:flex}.lab-course-list h3{font-size:.78rem}.lab-course-list p,.lab-course-list footer>span{color:var(--lab-muted);font-size:.62rem}.lab-course-list footer{border-block-start:1px solid #ecefea;justify-content:space-between;margin-block-start:.55rem;padding-block-start:.5rem}.lab-sheet-layer{z-index:50;align-items:end;display:grid;position:fixed;inset:0}.lab-sheet-backdrop{background:#0c16137a;border:0;animation:.16s ease-out lab-backdrop-in;position:absolute;inset:0}.lab-sheet-backdrop[data-closing=true]{animation-name:lab-backdrop-out}.lab-sheet{z-index:1;inline-size:min(100%,30rem);padding:.45rem 1rem calc(1rem + env(safe-area-inset-bottom));background:var(--lab-surface);transform:translateY(var(--sheet-drag-offset,0));overscroll-behavior-y:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;border-start-start-radius:18px;border-start-end-radius:18px;margin-inline:auto;transition:transform .17s cubic-bezier(.22,.8,.28,1);animation:.18s ease-out lab-sheet-in;position:relative}.lab-sheet[data-dragging=true]{transition:none}.lab-sheet[data-closing=true]{pointer-events:none;animation:.18s ease-in both lab-sheet-out}.lab-sheet__drag-handle{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;place-items:start center;block-size:1.35rem;inline-size:100%;padding:0;display:grid}.lab-sheet__drag-handle:active{cursor:grabbing}.lab-sheet__grabber{background:#c8d0cc;border-radius:99px;block-size:.28rem;inline-size:3rem;display:block}.lab-sheet header{justify-content:space-between;align-items:start;display:flex}.lab-sheet header small,.lab-sheet dt{color:var(--lab-muted);font-size:.63rem}.lab-sheet h2{font-size:1rem}.lab-sheet__header-actions{flex:none;align-items:center;gap:.4rem;display:flex}.lab-sheet header .lab-sheet__close{border:1px solid var(--lab-border);background:0 0;border-radius:9px;block-size:2.5rem;inline-size:2.5rem}.lab-sheet header .lab-sheet__preview-all{border:1px solid var(--lab-accent);background:var(--lab-accent-soft);min-block-size:2.5rem;color:var(--lab-accent);border-radius:9px;align-items:center;gap:.35rem;padding-inline:.65rem;font-size:.65rem;font-weight:850;display:inline-flex}.lab-sheet__preview-all svg{block-size:1rem;inline-size:1rem}.lab-sheet dl{margin-block:.8rem}.lab-sheet dl>div{border-block-end:1px solid var(--lab-border);grid-template-columns:4rem minmax(0,1fr);padding-block:.55rem;font-size:.72rem;display:grid}.lab-sheet dd{margin:0}.lab-sheet__primary{background:var(--lab-accent);color:#fff;border:0;border-radius:9px;min-block-size:2.75rem;inline-size:100%;font-weight:850}.lab-groups-sheet{max-block-size:min(78dvh,38rem);overflow:auto}.lab-group-list{gap:.45rem;margin-block-start:.8rem;display:grid}.lab-group-list article{border:1px solid var(--lab-border);background:var(--lab-surface);border-radius:11px;overflow:hidden}.lab-group-list article.is-selected{border-width:2px;border-color:var(--lab-accent);background:var(--lab-accent-soft)}.lab-group-card__content{grid-template-columns:minmax(0,1fr) auto;gap:.65rem;min-block-size:5.6rem;padding:.65rem .7rem;display:grid}.lab-group-card__body{min-inline-size:0}.lab-group-list__identity{align-items:center;gap:.4rem;min-inline-size:0;display:flex}.lab-group-list__identity strong{text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;font-size:.78rem;font-weight:900;overflow:hidden}.lab-group-list__identity span{color:var(--lab-accent);background:#f3f5f1;border-radius:99px;flex:none;padding:.16rem .42rem;font-size:.56rem;font-weight:850}.lab-group-card__meetings{gap:.15rem;margin:.35rem 0 0;padding:0;list-style:none;display:grid}.lab-group-card__meetings li{color:var(--lab-muted);grid-template-columns:.8rem 3.6rem minmax(0,1fr);align-items:center;gap:.2rem;font-size:.57rem;display:grid}.lab-group-card__meetings svg{block-size:.68rem;inline-size:.68rem}.lab-group-card__meetings bdi{color:#43534f;font-weight:700}.lab-group-card__empty-time{color:var(--lab-muted);margin-block-start:.35rem;font-size:.6rem;display:block}.lab-group-card__capacity{border-inline-start:1px solid var(--lab-border);min-inline-size:4rem;color:var(--lab-accent);text-align:center;place-items:center;padding-inline-start:.45rem;font-size:.62rem;font-weight:850;display:grid}.lab-group-actions{border-block-start:1px solid var(--lab-border);grid-template-columns:minmax(0,1.35fr) repeat(2,minmax(0,1fr));gap:0;display:grid}.lab-group-actions button,.lab-tools-list button,.lab-clear-confirmation button{border:1px solid var(--lab-border);background:var(--lab-surface);border-radius:8px;min-block-size:2.45rem;font-size:.62rem;font-weight:850}.lab-group-actions button{border:0;border-inline-start:1px solid var(--lab-border);border-radius:0;justify-content:center;align-items:center;gap:.24rem;display:flex}.lab-group-actions button:first-child{border-inline-start:0}.lab-group-actions svg{block-size:.8rem;inline-size:.8rem}.lab-group-actions button.is-primary{border-color:var(--lab-accent);background:var(--lab-accent);color:#fff}.lab-group-actions button.is-danger,.lab-tools-list button.is-danger,.lab-clear-confirmation button.is-danger{color:#a1382e;background:#fff1ef;border-color:#d68c85}.lab-tools-sheet{gap:.8rem;display:grid}.lab-tools-list{gap:.45rem;margin-block-start:.8rem;display:grid}.lab-tools-list button{text-align:start;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;min-block-size:3.5rem;padding:.55rem .7rem;display:grid}.lab-tools-list button:disabled{opacity:.45}.lab-tools-list svg{block-size:1.2rem;inline-size:1.2rem}.lab-tools-list button>span{gap:.1rem;display:grid}.lab-tools-list small{color:var(--lab-muted);font-size:.55rem;font-weight:600}.lab-clear-confirmation{gap:.45rem;margin-block-start:.8rem;display:grid}.lab-clear-confirmation p{color:var(--lab-muted);font-size:.68rem;line-height:1.7}.lab-clear-confirmation>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;display:grid}.lab-settings-sheet{gap:.75rem;max-block-size:min(86dvh,42rem);display:grid;overflow:auto}.lab-account-row{border:1px solid var(--lab-border);background:#fafbf8;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.55rem;display:grid}.lab-account-row bdi{min-inline-size:0;color:var(--lab-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.67rem;overflow:hidden}.lab-account-row button{color:#a1382e;background:#fff1ef;border:1px solid #d68c85;border-radius:8px;min-block-size:2.2rem;padding-inline:.8rem;font-size:.68rem;font-weight:850}.lab-major-setting{border:1px solid var(--lab-border);background:var(--lab-surface);text-align:start;border-radius:10px;gap:.25rem;min-block-size:4.2rem;inline-size:100%;padding:.7rem;display:grid}.lab-major-setting span{color:var(--lab-muted);font-size:.62rem}.lab-major-setting strong{font-size:.82rem}.lab-gender-setting{border:1px solid var(--lab-border);border-radius:10px;margin:0;padding:.65rem}.lab-gender-setting legend{padding-inline:.25rem;font-size:.68rem;font-weight:850}.lab-gender-setting>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;display:grid}.lab-gender-setting label{border:1px solid var(--lab-border);background:#fafbf8;border-radius:9px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.12rem .35rem;min-block-size:4.5rem;padding:.5rem;display:grid;position:relative}.lab-gender-setting label.is-selected{border:2px solid var(--lab-accent);background:var(--lab-accent-soft);padding:calc(.5rem - 1px)}.lab-gender-setting input{accent-color:var(--lab-accent);position:absolute;inset-block-start:.4rem;inset-inline-end:.4rem}.lab-gender-setting label>span{grid-row:1/span 2;font-size:1.15rem}.lab-gender-setting label>strong{align-self:end;font-size:.72rem}.lab-gender-setting label>small{color:var(--lab-muted);align-self:start;font-size:.51rem;line-height:1.4}.lab-toast-stack{z-index:70;pointer-events:none;gap:.45rem;inline-size:min(100% - 1.3rem,25rem);margin-inline:auto;display:grid;position:fixed;inset-block-start:max(.75rem, env(safe-area-inset-top));inset-inline:.65rem}.lab-toast{color:#8e3028;pointer-events:auto;touch-action:pan-y;background:#fff7f5;border:1px solid #d98a82;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem;min-block-size:3.15rem;padding:.65rem .75rem .8rem;transition:translate .14s ease-out,opacity .14s ease-out;animation:.16s ease-out lab-toast-in;display:grid;position:relative;overflow:hidden;box-shadow:0 8px 22px #4d1b1629}.lab-toast[data-closing=true]{animation:.17s ease-in forwards lab-toast-out}.lab-toast strong{font-size:.76rem}.lab-toast button{color:#8e3028;background:#f8dedb;border:0;border-radius:7px;block-size:2rem;inline-size:2rem;font-size:1.1rem}.lab-toast__timer{block-size:.22rem;inline-size:100%;transform-origin:inline-start;background:#efaaa3;animation:4s linear forwards lab-toast-timer;position:absolute;inset-block-end:0;inset-inline-start:0}@keyframes lab-sheet-in{0%{translate:0 100%}}@keyframes lab-sheet-out{to{opacity:0;translate:0 100%}}@keyframes lab-backdrop-in{0%{opacity:0}}@keyframes lab-backdrop-out{to{opacity:0}}@keyframes lab-toast-in{0%{opacity:0;translate:0 -.65rem}}@keyframes lab-toast-out{to{opacity:0;translate:1.5rem}}@keyframes lab-toast-timer{to{scale:0 1}}@media (width<=350px){.week-planner--compact .time-header,.week-planner--compact .day-row{grid-template-columns:2.1rem minmax(0,1fr)}.week-planner--compact .day-label__full{display:none}.week-planner--compact .day-label__short{display:block}.lab-group-actions{grid-template-columns:minmax(0,1fr)}.lab-group-actions button,.lab-group-actions button:first-child{border-inline-start:0;border-block-start:1px solid var(--lab-border)}.lab-group-actions button:first-child{border-block-start:0}}@media (prefers-reduced-motion:reduce){.lab-sheet{transition-duration:1ms}.mobile-lab *,.mobile-lab :before,.mobile-lab :after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
