:root{--bg:#fff;--ink:#15182b;--mute:#4a5068;--line:#d9dce6;--hatch:#c3c7d4;--wash:#f5f6f9;--act:#0040c9;--act-ink:#fff;--chg:#c8007a;--mark:#fff04d;--mark-ink:#15182b;--ok:#0b7a4b;--warn:#9a5b00;--pair:#15182b;--pair-ink:#fff;--pair-sub:#b9bdd0;--display:"Proem","Arial Narrow",sans-serif;--text:"Source Sans 3",system-ui,sans-serif;--pad:16px;--max:1240px;--ease:cubic-bezier(.2,.7,.2,1);color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f1120;--ink:#eef0f7;--mute:#a3a9bf;--line:#2a2e44;--hatch:#3a3f58;--wash:#161a2c;--act:#7ea2ff;--act-ink:#0f1120;--chg:#ff6ab8;--ok:#5fd3a0;--warn:#f0b35a;--pair:#eef0f7;--pair-ink:#0f1120;--pair-sub:#535a73;color-scheme:dark}}:root[data-theme=dark]{--bg:#0f1120;--ink:#eef0f7;--mute:#a3a9bf;--line:#2a2e44;--hatch:#3a3f58;--wash:#161a2c;--act:#7ea2ff;--act-ink:#0f1120;--chg:#ff6ab8;--ok:#5fd3a0;--warn:#f0b35a;--pair:#eef0f7;--pair-ink:#0f1120;--pair-sub:#535a73;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-color:var(--hatch) var(--bg)}h1,h2,h3,.h1{text-wrap:balance}p,li,dd{text-wrap:pretty}body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.5 var(--text);-webkit-font-smoothing:antialiased}a{color:var(--act);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--act);outline-offset:2px}s{color:var(--mute);text-decoration-thickness:1.5px}.num{font-family:var(--display);font-variant-numeric:tabular-nums}.vh:not(:focus){position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}.mute{color:var(--mute)}.chg{color:var(--chg)}.top{border-bottom:1px solid var(--line)}.top .wrap{display:flex;align-items:center;gap:20px;height:60px}.logo{display:inline-flex;color:var(--ink);height:44px;align-items:center}.logo svg{height:22px;width:auto;display:block}.topnav{display:none;gap:4px;margin-left:24px}.topnav a{color:var(--mute);text-decoration:none;font-weight:600;padding:8px 10px;min-height:44px;display:inline-flex;align-items:center}.topnav a[aria-current=page]{color:var(--ink);box-shadow:inset 0 -3px 0 var(--ink)}.top .sp{flex:1}.bell{display:inline-flex;align-items:center;gap:6px;min-height:44px;min-width:44px;justify-content:center;color:var(--ink);text-decoration:none;background:none;border:0;padding:0 4px;cursor:pointer}.badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;background:var(--chg);color:#fff;font:700 .75rem/1 var(--text)}.who{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;font:700 .875rem/1 var(--display);color:var(--bg);background:var(--ink);text-decoration:none;cursor:pointer}.offline{background:var(--ink);color:var(--bg);font-size:1rem;padding:6px var(--pad);text-align:center}.tabs{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(4,1fr);background:var(--bg);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tabs a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px 6px;min-height:56px;color:var(--mute);text-decoration:none;font:600 .75rem/1.1 var(--text)}.tabs a[aria-current=page]{color:var(--ink);box-shadow:inset 0 3px 0 var(--ink)}.tabs svg{width:22px;height:22px;stroke-width:1.75}main{padding-bottom:96px}@media (min-width:900px){.topnav{display:flex}.tabs{display:none}main{padding-bottom:48px}}.foot{border-top:1px solid var(--line);margin-top:56px;padding:20px 0 28px;font-size:1rem;color:var(--mute)}.foot .wrap{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:baseline}.foot p{margin:0;flex:1 1 320px}.foot a{color:var(--mute);display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}.foot button{background:none;border:0;padding:0;color:var(--mute);text-decoration:underline;cursor:pointer;min-height:44px}.kicker{font:400 1rem/1.3 var(--text);color:var(--mute);margin:20px 0 12px}h1,.h1{font:700 clamp(2rem,7vw,3.25rem)/1 var(--display);letter-spacing:-.005em;margin:28px 0 16px;max-width:18ch}h2{font:700 1.5rem/1.1 var(--display);margin:56px 0 16px}h2.txt{font:650 1.375rem/1.2 var(--text);letter-spacing:-.01em}h2.cap{font-size:1.375rem;margin:48px 0 10px}h2.cap.txt{font-size:1.25rem}h3{font:700 1.0625rem/1.25 var(--text);margin:0 0 4px}.scale{position:relative;margin:0 calc(var(--pad) * -1);padding:0 var(--pad);border-block:1px solid var(--line)}.scale-grid{display:grid;height:116px;position:relative}.slot{position:absolute;top:0;bottom:0;min-width:0;padding:8px 6px;font-size:.875rem;line-height:1.2;overflow:hidden}.tick{position:absolute;top:0;bottom:0;border-left:1px solid var(--line);padding:8px 0 0 5px;font:500 .875rem/1 var(--text);color:var(--mute);font-variant-numeric:tabular-nums;pointer-events:none}.slot .t{display:block;font:400 .875rem/1 var(--text);color:var(--mute);font-variant-numeric:tabular-nums}.slot.pair{background:var(--pair);color:var(--pair-ink);z-index:1}.slot.pair .t{color:var(--pair-sub)}.slot.pair .room{display:block;font:700 1.5rem/1 var(--display);margin-top:18px}.slot.pair .room s{color:var(--pair-sub);font-size:.8125rem;margin-right:4px;vertical-align:.5em}.slot.pair.changed{box-shadow:inset 0 -4px 0 var(--chg)}.slot.pair.past{background:var(--wash);color:var(--mute);box-shadow:inset 0 0 0 1px var(--line)}.slot.pair.past .t{color:var(--mute)}.slot.pair.cancelled{background:transparent;color:var(--mute);border:1.5px dashed var(--mute)}.slot.win{background:var(--bg) repeating-linear-gradient(90deg,transparent 0 13px,var(--hatch) 13px 14px);border-inline:1px solid var(--line);overflow:visible}.slot.win .t{position:relative;z-index:3}.slot.win .t{color:var(--ink);background:var(--bg);width:fit-content;padding:1px 3px}.slot.win .w{position:absolute;z-index:3;left:6px;bottom:8px;right:6px;background:var(--bg);padding:2px 4px;font:700 .875rem/1.15 var(--text);color:var(--ink);width:fit-content;max-width:calc(100% - 12px)}.slot.free{background:transparent}.gap{border-left:1px solid var(--line)}.now{position:absolute;top:-1px;bottom:-1px;width:2px;margin-left:-1px;background:var(--act);pointer-events:none;z-index:2}.now:after{content:"";position:absolute;left:-4px;bottom:-1px;border:5px solid transparent;border-bottom-color:var(--act)}.scale-foot{display:flex;justify-content:space-between;gap:12px;margin:8px 0 0;font:400 1rem/1.35 var(--text);color:var(--mute)}.scale-foot .nowlbl{color:var(--act);font:700 .875rem/1.3 var(--text)}@media (min-width:900px){.scale-grid{height:152px}.slot{padding:10px}.tick{padding:10px 0 0 8px}.slot.pair .room{font-size:2.25rem;margin-top:30px}.slot.win .w{left:10px;bottom:10px}}.next{display:grid;grid-template-columns:auto 1fr;gap:6px 20px;align-items:end;margin:32px 0 6px}.big{font:700 clamp(5.5rem,26vw,10rem)/.78 var(--display);letter-spacing:-.01em}.big.changed{color:var(--ink);text-decoration:underline;text-decoration-color:var(--chg);text-decoration-thickness:6px;text-underline-offset:10px}.when{font:700 1.75rem/1 var(--display)}.when small{display:block;font:400 1rem/1.3 var(--text);color:var(--mute);margin-top:6px}.when .live{color:var(--act);font-weight:600}.what{grid-column:1/-1;margin:14px 0 0}.what b{font-weight:600}.was{grid-column:1/-1;margin:2px 0 0;font-size:1rem}.rows{display:grid;gap:6px}.row{display:grid;grid-template-columns:6.5rem 1fr;gap:16px;padding:8px 0;color:inherit;text-decoration:none}a.row:hover .row-main{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}.row .k{font:600 1rem/1.4 var(--text)}.row .k.chg{color:var(--chg)}.row .k.n{font:700 1.125rem/1.2 var(--display);font-variant-numeric:tabular-nums}.row em{display:block;font-style:normal;color:var(--mute);font-size:1rem}.empty{color:var(--mute);margin:8px 0;padding:12px 0}.window{margin:28px 0 0;padding:16px 0 4px;border-top:2px solid var(--ink);display:grid;gap:6px}.window .head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}.window .head b{font:700 1.375rem/1.1 var(--display)}.window .head span{color:var(--mute)}.window ul{list-style:none;margin:6px 0 0;padding:0}.window li{padding:6px 0 6px 18px;position:relative}.window li:before{content:"";position:absolute;left:0;top:.75em;width:9px;height:9px;background:repeating-linear-gradient(90deg,var(--ink) 0 1px,transparent 1px 3px)}.ask{margin:40px 0 0;padding:20px 0 0;border-top:1px solid var(--line)}.dean-main>.ask:first-child{margin-top:28px;padding-top:0;border-top:0}.dean-main>.ask:first-child .lbl{font-size:clamp(1.75rem,4vw,2.5rem);margin-bottom:16px}.ask label,.ask .lbl{display:block;font:700 1.375rem/1.15 var(--text);margin:0 0 12px}.field{display:flex;gap:0;border:2px solid var(--ink);background:var(--bg)}.field input,.field textarea{flex:1;min-width:0;min-height:52px;border:0;background:none;padding:12px 14px;font-size:1.0625rem;outline:0;resize:none}.field:focus-within{outline:3px solid var(--act);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 18px;border:0;background:var(--act);color:var(--act-ink);font:600 1rem/1 var(--text);text-decoration:none;cursor:pointer;white-space:nowrap}.btn:hover{filter:brightness(1.1)}.btn[disabled]{opacity:.5;cursor:not-allowed}.btn.line{background:none;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}.btn.quiet{background:none;color:var(--act);padding:0 4px;text-decoration:underline;text-underline-offset:.18em}.field .btn{min-height:auto;border-radius:0}.chips{display:flex;flex-wrap:wrap;gap:4px 14px;margin:10px 0 0}.chip{background:none;border:0;padding:6px 0;min-height:44px;color:var(--mute);cursor:pointer;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:.3em;font-size:1rem}.chip:hover{color:var(--ink);text-decoration-color:var(--ink)}.hint{font-size:1rem;color:var(--mute);margin:8px 0 0}@media (min-width:900px){.cols{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:start}.cols-3{display:grid;grid-template-columns:2fr 1fr;gap:56px;align-items:start}}.hl{background:linear-gradient(var(--mark),var(--mark)) no-repeat 0 55%/100% 78%;color:var(--mark-ink);padding:0 3px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.hl.draw{animation:mark .24s var(--ease) both}@keyframes mark{0%{background-size:0 78%}to{background-size:100% 78%}}.need{color:var(--chg);font-weight:600}.legend{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:1rem;color:var(--mute);margin:14px 0 0}.legend i{display:inline-block;width:14px;height:12px;background:var(--mark);margin-right:6px;vertical-align:-1px}.legend i.n{background:none;border-bottom:2px solid var(--chg)}.draft{margin:28px 0 0;border-top:2px solid var(--ink);padding-top:16px}.draft .meta{display:flex;flex-wrap:wrap;gap:4px 16px;color:var(--mute);font-size:1rem;margin:0 0 14px}.form{display:grid;grid-template-columns:1fr;gap:0}.fr{display:grid;grid-template-columns:1fr;gap:4px;padding:10px 0;border-top:1px solid var(--line)}.fr dt,.fr .fl{color:var(--mute);font-size:1rem}.fr dd{margin:0}.fr input,.fr select,.fr textarea{width:100%;min-height:44px;border:1.5px solid var(--ink);background:var(--bg);padding:8px 10px;border-radius:0}.fr.missing input{border-color:var(--chg)}@media (min-width:640px){.fr{grid-template-columns:12rem 1fr;gap:12px;align-items:baseline}}.checks{list-style:none;padding:0;margin:16px 0 0}.checks li{padding:6px 0 6px 26px;position:relative}.checks li:before{content:"";position:absolute;left:0;top:.55em;width:14px;height:14px;border:2px solid var(--ok)}.checks li.ok:before{background:var(--ok)}.checks li.missing:before{border-color:var(--chg)}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 0;align-items:center}.engine{font-size:.875rem;color:var(--mute);margin:14px 0 0}.engine b{font-weight:600;color:var(--ink)}.answer{margin:20px 0 0;padding:14px 0 0;border-top:1px solid var(--line)}.answer p{margin:0 0 8px;max-width:62ch}.src{font-size:1rem;color:var(--mute)}.timeline{list-style:none;margin:16px 0 0;padding:0;position:relative}.timeline li{position:relative;padding:0 0 22px 30px}.timeline li:before{content:"";position:absolute;left:5px;top:.5em;bottom:-.3em;width:2px;background:var(--line)}.timeline li:last-child:before{display:none}.timeline li:after{content:"";position:absolute;left:0;top:.35em;width:12px;height:12px;background:var(--ink)}.timeline li.cur:after{background:var(--act);outline:3px solid color-mix(in srgb,var(--act) 25%,transparent)}.timeline li.wait:after{background:var(--bg);border:2px solid var(--mute)}.timeline time{display:block;font:400 .875rem/1.3 var(--text);color:var(--mute);font-variant-numeric:tabular-nums}.sla{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:18px 0 0;padding:14px 0;border-block:1px solid var(--line)}.sla b{font:700 1.75rem/1 var(--display)}.msg{padding:10px 0;border-top:1px solid var(--line)}.msg .by{font-size:.875rem;color:var(--mute)}.msg.mine{padding-left:20%}.st{font-weight:600}.st-submitted,.st-in_review{color:var(--act)}.st-need_info{color:var(--chg)}.st-ready,.st-done,.st-issued{color:var(--ok)}.st-rejected,.st-cancelled{color:var(--mute)}.week{border-top:1px solid var(--line)}.wday{display:grid;grid-template-columns:1fr;gap:4px;padding:10px 0;border-bottom:1px solid var(--line)}.wday.today .dname{color:var(--act)}.dname{font:700 1.125rem/1.2 var(--text)}.dname small{font:400 .9375rem var(--text);color:var(--mute);margin-left:8px}.mini{position:relative;height:12px;margin:4px 0 6px;background:var(--wash)}.mini i{position:absolute;top:0;bottom:0;border-left:1px solid var(--bg)}.mini .p{background:var(--pair)}.mini .w{background:repeating-linear-gradient(90deg,transparent 0 3px,var(--hatch) 3px 4px)}.mini .c{background:none;border:1px dashed var(--mute)}.lessons{list-style:none;margin:0;padding:0}.lesson{display:grid;grid-template-columns:3.4rem 3.4rem 1fr;gap:10px;padding:8px 0;align-items:baseline}.lesson .t,.lesson .r{font:700 1.0625rem/1.2 var(--display);font-variant-numeric:tabular-nums}.lesson .d em{display:block;font-style:normal;color:var(--mute);font-size:1rem}.lesson.cancelled .t,.lesson.cancelled .r,.lesson.cancelled .d b{text-decoration:line-through;color:var(--mute)}.lesson .tag{display:block;font:600 .875rem var(--text);color:var(--chg);margin:0 0 2px}.lesson.window{display:block;padding:4px 0 4px calc(6.8rem + 20px);color:var(--mute);font-size:1rem}@media (min-width:900px){.wday{grid-template-columns:12rem 1fr;gap:24px}}.seg{display:inline-flex;border:1.5px solid var(--ink);margin:0 0 16px}.seg button{background:none;border:0;min-height:44px;min-width:44px;padding:0 14px;cursor:pointer;font-weight:600}.seg button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.forecast{display:grid;grid-template-columns:auto 1fr;gap:4px 24px;align-items:end;margin:24px 0 12px}.forecast .big{font-size:clamp(4.5rem,20vw,8rem)}.formula{grid-column:1/-1;font-size:1rem;color:var(--mute);margin:12px 0 4px;max-width:60ch}.formula summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--hatch);text-underline-offset:.2em}.disc{display:grid;grid-template-columns:1fr auto;gap:6px 16px;padding:18px 0}.disc .pts{font:700 1.75rem/1 var(--display);text-align:right;font-variant-numeric:tabular-nums}.disc .pts small{display:block;font:400 .875rem var(--text);color:var(--mute)}.bar{grid-column:1/-1;position:relative;height:8px;background:var(--wash);margin-top:6px}.bar i{position:absolute;inset:0 auto 0 0;background:var(--ink)}.bar b{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--chg)}.disc.risk .pts{color:var(--chg)}.disc .note{grid-column:1/-1;font-size:1rem;margin:4px 0 0}.summary{display:flex;flex-wrap:wrap;gap:0 .45em;max-width:none}.summary span:not(:last-child):after{content:" ·";color:var(--line)}.sheet{background:#fff;color:#15182b;max-width:720px;margin:24px auto 0;padding:48px 44px;border:1px solid var(--line);aspect-ratio:210/297;display:flex;flex-direction:column;gap:18px;font-size:1rem}.sheet .hd{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-bottom:2px solid #15182b;padding-bottom:14px}.sheet .hd b{font:700 1.5rem/1.1 var(--display)}.sheet .no{font:700 1.125rem var(--display);font-variant-numeric:tabular-nums}.sheet p{margin:0;line-height:1.6}.sheet .sp{flex:1}.sheet .ft{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;border-top:1px solid #d9dce6;padding-top:14px;font-size:1rem}.sheet .qr svg{width:132px;height:132px;display:block}.sheet .stamp{font-size:.8125rem;color:#535a73;margin-top:6px}@media (max-width:640px){.sheet{padding:24px 18px;aspect-ratio:auto;min-height:0}.sheet .hd b{font-size:1.25rem}}.verify{max-width:640px;margin:0 auto;padding:40px 0}.verdict{font:700 clamp(2rem,8vw,3.5rem)/1 var(--display);margin:12px 0}.verdict.ok{color:var(--ok)}.verdict.bad{color:var(--chg)}.stats{display:flex;flex-wrap:wrap;gap:8px 32px;margin:8px 0 20px}.stats div{font-size:1rem;color:var(--mute)}.stats b{display:block;font:700 2.25rem/1 var(--display);color:var(--ink)}.stats .late b{color:var(--chg)}table.q{width:100%;border-collapse:collapse;font-size:1rem}.q th{text-align:left;font:600 .875rem var(--text);color:var(--mute);padding:8px 10px 8px 0;border-bottom:2px solid var(--ink)}.q td{padding:12px 10px 12px 0;border-bottom:1px solid var(--line);vertical-align:baseline}.q td.n{font:700 1rem var(--display);white-space:nowrap}.q a{color:var(--ink);font-weight:600}.timer{font-weight:600;white-space:nowrap}.timer.late{color:var(--chg)}.timer.soon{color:var(--warn)}.timer.fine{color:var(--ok)}@media (max-width:760px){table.q thead{display:none}table.q tr{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;padding:12px 0;border-bottom:1px solid var(--line)}table.q td{border:0;padding:0}table.q td:nth-child(n+3){grid-column:2}}.aidraft{margin:16px 0;padding:14px 16px;background:var(--wash);border-left:4px solid var(--mark)}.aidraft .lbl{font-size:.875rem;color:var(--mute);margin:0 0 6px}.login{display:grid;gap:0 64px;padding-top:20px;padding-bottom:40px}.login-logo{margin:0 0 28px}.login-logo svg{height:28px;width:auto;color:var(--ink)}.login .demo h1{margin:6px 0 16px;max-width:13ch;font-size:clamp(2.5rem,9vw,5.25rem);line-height:.95}.login .lead{margin:0;max-width:46ch;font-size:1.125rem}.login .form-side{padding:32px 0 8px;max-width:520px;width:100%}.login .form-side h2{margin-top:0}.login .form-side h2.cap{margin-top:32px}.login-day{margin:40px 0 0}.login-day .scale{margin:0 calc(var(--pad) * -1)}.login-day figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px;margin-top:10px;font-size:1rem;color:var(--mute)}.login-day figcaption>span:first-child{max-width:60ch}.login-links{display:flex;gap:20px}.login-links a{color:var(--mute);display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}.lf{display:grid;gap:14px;margin:12px 0 0}.lf label{display:grid;gap:6px;font-weight:600}.lf input{min-height:48px;border:2px solid var(--ink);background:var(--bg);padding:0 12px;border-radius:0}.err{color:var(--chg);font-weight:600;margin:6px 0 0}.acc{display:grid;gap:0;margin:12px 0 0;border-top:1px solid var(--line)}.acc button{display:grid;grid-template-columns:1fr auto;gap:2px 12px;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:12px 0;cursor:pointer;min-height:56px;align-items:center}.acc button b{font-weight:600}.acc button span{color:var(--mute);font-size:1rem;grid-column:1}.acc button i{grid-row:1/3;grid-column:2;font-style:normal;color:var(--act);font-weight:600}.notice{font-size:1rem;color:var(--mute);border-left:3px solid var(--mark);padding:2px 0 2px 12px;margin:20px 0 0}@media (min-width:900px){.login{grid-template-columns:minmax(0,7fr) minmax(0,5fr);padding-top:28px}.login-logo{grid-column:1/-1}.login .demo{align-self:end;padding-bottom:8px}.login .form-side{grid-row:2/4;grid-column:2;padding:0 0 0 40px;border-left:1px solid var(--line);align-self:start}.login-day{grid-column:1;margin-top:48px}.login-day .scale{margin:0}}.prose{max-width:68ch}.prose p,.prose li{margin:0 0 10px}.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:12px 0}.kv dt{color:var(--mute)}.kv dd{margin:0;font-weight:600}.code{font:400 .9375rem/1.5 ui-monospace,Menlo,monospace;background:var(--wash);padding:12px 14px;overflow:auto;white-space:pre}.lost{padding:40px 0}.lost .scale-grid{height:80px}.notif{list-style:none;margin:0;padding:0}.notif li{padding:14px 0}.notif li.unread b:before{content:"";display:inline-block;width:8px;height:8px;background:var(--chg);margin-right:8px;vertical-align:.15em}.skeleton{color:var(--mute);padding:32px 0}.toast{position:fixed;left:50%;bottom:84px;transform:translate(-50%);z-index:30;background:var(--ink);color:var(--bg);padding:12px 18px;max-width:calc(100vw - 32px)}button.row{width:100%;text-align:left;background:none;border:0;font:inherit;color:inherit;cursor:pointer}button.row:hover .row-main b{text-decoration:underline}.skip{position:fixed;left:8px;top:-64px;z-index:30;display:flex;align-items:center;min-height:44px;background:var(--ink);color:var(--bg);padding:0 16px;font-weight:600}.skip:focus{top:8px}.kv-row{display:contents}.kv .kv{margin:0;font-weight:400}.fr small,.from{display:block;margin-top:4px;font-size:.875rem;font-weight:600;color:var(--mark-ink);background:var(--mark);padding:0 4px;width:fit-content}.checks-h{margin:20px 0 6px}.checks li.warn:before{content:"!";color:var(--warn);font-weight:700}.mic{min-width:52px;padding:0 12px;border-left:2px solid var(--ink)}.mic[aria-pressed=true]{background:var(--chg);color:#fff}.mic svg{width:22px;height:22px}.next.done .h1{margin:0 0 6px}.next.done .what{max-width:44ch}h2.small{font-size:1.0625rem;color:var(--mute);margin:36px 0 8px}.result{scroll-margin-top:72px}.types{margin-top:24px}.types .row-main b{display:block}.draft.sent{border-left:6px solid var(--ok);padding-left:18px}.draft.sent h2 a{color:inherit}.lookup{display:grid;gap:16px;margin:0 0 20px}.lookup label{display:grid;gap:6px;font-weight:600}.lookup select{min-height:52px;border:2px solid var(--ink);background:var(--bg);padding:0 12px;border-radius:0;font-size:1.0625rem}.lookup form{display:grid;gap:6px}.lookup form>label{display:block}.sched-bar{display:flex;flex-wrap:wrap;gap:0 8px;align-items:flex-start}.sched-bar .seg button{padding:0 11px}.hint .btn.quiet{min-height:44px;padding:0;font-size:inherit;font-weight:600}.wday{scroll-margin-top:72px}.reply{margin-top:12px}.reply textarea{min-height:64px}.err{color:var(--chg);font-weight:600}.lf-note{display:grid;gap:6px;font-weight:600;margin:16px 0 0}.lf-note textarea,.lf textarea{border:2px solid var(--ink);background:var(--bg);padding:10px 12px;border-radius:0;font-size:1rem;resize:vertical}.cert-link{margin:8px 0 16px;font-weight:600}.verify .logo{display:inline-block;margin:24px 0}.scopes{border:0;padding:0;margin:0;display:grid;gap:4px}.scopes legend{font-weight:600;margin-bottom:6px;padding:0}.scopes label{display:flex;gap:10px;align-items:center;min-height:44px;font-weight:400;font-family:ui-monospace,monospace;font-size:1rem}.scopes input{width:20px;height:20px;accent-color:var(--act)}.row .btn.quiet{margin-top:6px;padding:0;min-height:44px}@media (min-width:900px){.lookup{grid-template-columns:minmax(220px,1fr) 2fr;align-items:end}}.how{list-style:none;padding:0;margin:40px 0 0;display:grid;gap:0;counter-reset:how;border-top:2px solid var(--ink)}.how li{counter-increment:how;display:grid;align-content:start;grid-template-columns:3.25rem 1fr;gap:2px 16px;padding:16px 0;border-bottom:1px solid var(--line);color:var(--mute)}.how li:before{content:counter(how);grid-row:1/3;font:700 2.75rem/.9 var(--display);color:var(--ink);font-variant-numeric:tabular-nums}.how b{display:block;color:var(--ink);font:700 1.125rem/1.2 var(--text)}.dean-side{margin-top:40px}.dean-side h2{margin-top:0}.login .form-side>h2:first-child{margin-top:0}@media (min-width:900px){.dean{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:0 56px;align-items:start}.dean-side{margin-top:28px;padding-left:32px;border-left:1px solid var(--line);position:sticky;top:80px}.dean-side .row{grid-template-columns:5.5rem 1fr}.how{grid-template-columns:repeat(2,1fr);gap:0 32px}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media print{.top,.tabs,.foot,.no-print{display:none!important}body{background:#fff;color:#000}main{padding:0}.sheet{border:0;margin:0;max-width:none;aspect-ratio:auto;min-height:0}}.window.live{margin:22px 0 0;padding:0;border-top:0}.window.live .head{gap:2px 16px}.window.live .head b{font:700 clamp(2.5rem,9vw,3.75rem)/.95 var(--display);letter-spacing:-.01em}.window.live .head span{font:600 1.25rem/1.2 var(--display);color:var(--act)}.window.live ul{font-size:1.0625rem}.window.live+.next{margin-top:28px;padding-top:16px;border-top:2px solid var(--ink)}.window.live+.next .big{font-size:clamp(4rem,17vw,6.5rem)}.fr input,.fr select,.fr textarea{border-width:1px}.fr input:focus,.fr select:focus,.fr textarea:focus{border-width:2px;padding:7px 9px}.login .demo h1{font-size:clamp(2.25rem,7vw,3.75rem);max-width:16ch;line-height:1}.lf input{border:1px solid var(--mute);padding:0 13px}.lf input:focus{border:2px solid var(--ink);padding:0 12px}.fr input,.fr select,.fr textarea{border-color:var(--mute)}.fr input:focus,.fr select:focus,.fr textarea:focus{border-color:var(--ink)}.window.live+.next .when small{display:none}.dname{margin:8px 0}.lesson.window{margin:0;border-top:0;padding:4px 0 4px calc(6.8rem + 20px)}.chips{row-gap:0}.summary b{font-weight:inherit}main{min-height:calc(100vh - 190px)}.st{white-space:nowrap}.window.live .head span{font:700 clamp(1.5rem,5vw,2.25rem)/1 var(--display)}.window.live+.next .big{font-size:clamp(3rem,11vw,4.25rem)}.window.live+.next{column-gap:16px}.sched-bar .seg+.seg button[aria-pressed=true]{background:none;color:var(--ink);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.3em}:root{--ease-io:cubic-bezier(.7,0,.16,1)}html[data-intro=cover] body{overflow:hidden}html[data-intro=cover] body:after{content:"";position:fixed;inset:0;z-index:90;background:var(--bg)}html[data-intro=cover] .page *,html[data-intro=cover] .page{animation-play-state:paused!important}html[data-intro=open] body{overflow:hidden}html[data-intro=open] #root{animation:settle 1.2s .14s var(--ease-io) backwards}@keyframes settle{0%{transform:scale(1.08)}}.intro{position:fixed;inset:0;z-index:100;cursor:pointer;-webkit-tap-highlight-color:transparent}.intro-logo{background:var(--bg)}.intro-open{pointer-events:none}.intro-lottie,.intro-svg{position:absolute;inset:0;width:100%;height:100%;display:block}.intro-lottie svg path[fill="rgb(21,24,43)"]{fill:var(--ink)}.intro-lottie svg path[fill="rgb(74,80,104)"]{fill:var(--mute)}.intro-bg{fill:var(--bg)}.intro-o{fill:var(--ink)}.intro-skip{position:absolute;left:0;right:0;bottom:calc(32px + env(safe-area-inset-bottom));text-align:center;font-size:.875rem;color:var(--mute);animation:fade .5s 1.1s var(--ease) backwards}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(16px)}}@keyframes lift{0%{transform:translateY(100%);clip-path:inset(-120% -6% 100% -6%)}to{transform:none;clip-path:inset(-20% -6% -14% -6%)}}.page>*,.page>.cols>*,.page>.dean>*,.page>.cols-3>*{animation:rise .6s var(--ease) backwards}.page>:nth-child(2),.page>*>:nth-child(2){animation-delay:70ms}.page>:nth-child(3),.page>*>:nth-child(3){animation-delay:.14s}.page>:nth-child(4),.page>*>:nth-child(4){animation-delay:.21s}.page>:nth-child(5),.page>*>:nth-child(5){animation-delay:.28s}.page>:nth-child(n+6),.page>*>:nth-child(n+6){animation-delay:.34s}.page h1,.page .big,.page .verdict,.page .window.live .head b,.page .stats b{animation:lift .8s var(--ease) backwards}.page h1{animation-delay:60ms}.page .big{animation-delay:.18s}@keyframes blind{0%{clip-path:inset(100% 0 0 0)}}@keyframes wipe{0%{clip-path:inset(0 100% 0 0)}}@keyframes drop{0%{transform:scaleY(0)}}.scale .tick{animation:fade .5s var(--ease) backwards}.scale .slot.pair{animation:blind .75s var(--ease) backwards;animation-delay:calc(.12s + var(--i,0) * 90ms)}.scale .slot.pair .room{animation:rise .6s var(--ease) backwards;animation-delay:calc(.3s + var(--i,0) * 90ms)}.scale .slot.win{animation:wipe .9s var(--ease) backwards;animation-delay:calc(.3s + var(--i,0) * .11s)}.scale .now{transform-origin:50% 0;animation:drop .55s .85s var(--ease) backwards}.scale-foot .nowlbl{animation:fade .5s 1.1s var(--ease) backwards}@keyframes grow{0%{transform:scaleX(0)}}.bar i{transform-origin:0 50%;animation:grow 1s .25s var(--ease) backwards}.bar b{animation:fade .4s 1s var(--ease) backwards}.disc:nth-child(2) .bar i{animation-delay:.33s}.disc:nth-child(3) .bar i{animation-delay:.41s}.disc:nth-child(n+4) .bar i{animation-delay:.49s}.mini i{animation:wipe .7s .2s var(--ease) backwards}.week>.wday{animation:rise .5s var(--ease) backwards}.week>.wday:nth-child(2){animation-delay:50ms}.week>.wday:nth-child(3){animation-delay:.1s}.week>.wday:nth-child(4){animation-delay:.15s}.week>.wday:nth-child(5){animation-delay:.2s}.week>.wday:nth-child(n+6){animation-delay:.25s}.rows>*,.notif>li,.timeline>li,table.q tbody tr,.acc>button,.how>li{animation:rise .5s var(--ease) backwards}.rows>:nth-child(2),.notif>li:nth-child(2),.timeline>li:nth-child(2),table.q tbody tr:nth-child(2),.acc>button:nth-child(2),.how>li:nth-child(2){animation-delay:45ms}.rows>:nth-child(3),.notif>li:nth-child(3),.timeline>li:nth-child(3),table.q tbody tr:nth-child(3),.acc>button:nth-child(3),.how>li:nth-child(3){animation-delay:90ms}.rows>:nth-child(4),.notif>li:nth-child(4),.timeline>li:nth-child(4),table.q tbody tr:nth-child(4),.acc>button:nth-child(4),.how>li:nth-child(4){animation-delay:135ms}.rows>:nth-child(5),.notif>li:nth-child(5),.timeline>li:nth-child(5),table.q tbody tr:nth-child(5),.acc>button:nth-child(5),.how>li:nth-child(5){animation-delay:.18s}.rows>:nth-child(n+6),.notif>li:nth-child(n+6),.timeline>li:nth-child(n+6),table.q tbody tr:nth-child(n+6),.acc>button:nth-child(n+6),.how>li:nth-child(n+6){animation-delay:.22s}.timeline li.cur:after{animation:ping 2.4s ease-out 1s infinite}@keyframes ping{0%{outline-offset:0;outline-color:color-mix(in srgb,var(--act) 50%,transparent)}70%,to{outline-offset:7px;outline-color:transparent}}a.row .row-main,button.row .row-main{transition:transform .28s var(--ease)}a.row:hover .row-main,button.row:hover .row-main{transform:translate(4px)}.draft,.answer,.result{animation:rise .55s var(--ease) backwards}.checks li{animation:rise .4s var(--ease) backwards}.checks li:nth-child(2){animation-delay:60ms}.checks li:nth-child(3){animation-delay:.12s}.checks li:nth-child(n+4){animation-delay:.18s}.sheet{animation:rise .7s var(--ease) backwards}.topnav a{position:relative;transition:color .16s ease-out}.topnav a:hover{color:var(--ink)}.topnav a[aria-current=page]{box-shadow:none}.topnav a:after{content:"";position:absolute;left:10px;right:10px;bottom:0;height:3px;background:var(--ink);transform:scaleX(0);transform-origin:0 50%;transition:transform .36s var(--ease)}.topnav a[aria-current=page]:after{transform:scaleX(1)}.tabs a{position:relative;transition:color .16s ease-out}.tabs a[aria-current=page]{box-shadow:none}.tabs a:before{content:"";position:absolute;left:18%;right:18%;top:0;height:3px;background:var(--ink);transform:scaleX(0);transition:transform .36s var(--ease)}.tabs a[aria-current=page]:before{transform:scaleX(1)}.tabs a[aria-current=page] svg{animation:bump .45s var(--ease)}@keyframes bump{40%{transform:translateY(-3px)}}.logo .lh rect{transform-box:fill-box;transform-origin:50% 0;transform:scaleY(0)}.logo:hover .lh rect,.logo:focus-visible .lh rect{animation:lh .9s var(--ease)}.logo .lh rect:nth-child(2){animation-delay:60ms}.logo .lh rect:nth-child(3){animation-delay:.12s}@keyframes lh{45%,55%{transform:scaleY(1)}to{transform:scaleY(0)}}.theme{display:inline-grid;place-items:center;width:44px;height:44px;background:none;border:0;padding:0;color:var(--ink);cursor:pointer}.theme svg{width:22px;height:22px;transition:transform .7s var(--ease)}.theme.dark svg{transform:rotate(180deg)}.theme:hover .theme-half{opacity:.8}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-new(root){z-index:2}.btn,.chip,.seg button,.acc button,.bell,.who{transition:background-color .16s ease-out,color .16s ease-out,filter .16s ease-out,transform .12s ease-out,box-shadow .16s ease-out}.btn:active,.seg button:active,.acc button:active{transform:translateY(1px)}.who:hover{transform:scale(1.05)}.badge{animation:pop .5s .9s var(--ease) backwards}@keyframes pop{0%{transform:scale(0)}60%{transform:scale(1.2)}}.toast{animation:toast .45s var(--ease) backwards}@keyframes toast{0%{opacity:0;transform:translate(-50%,16px)}}.field{transition:outline-color .16s ease-out}html[data-still] *,html[data-still] *:before,html[data-still] *:after{animation:none!important;transition:none!important}@media (prefers-reduced-motion:reduce){.page h1,.page .big{clip-path:none}}
