:root{--ink:#181816;--muted:#6c6a64;--paper:#f7f5ef;--panel:#fffefa;--line:#d9d5ca;--blue:#7aa6f8;--shadow:0 16px 40px rgba(37,34,25,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(68,116,227,.36);outline-offset:2px}.sr-only,.sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mobile-only{display:none!important}.brand{display:inline-flex;align-items:center;gap:9px;font-size:19px;font-weight:800;letter-spacing:-.7px}.brand-mark{display:grid;place-items:center;width:29px;height:29px;border-radius:50% 48% 46% 52%;background:var(--ink);color:#fff;font:800 19px/1 Georgia,serif;transform:rotate(-6deg)}.button{min-height:44px;border:1px solid var(--ink);border-radius:7px;padding:0 19px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:750;cursor:pointer;transition:transform .15s,background .15s,box-shadow .15s}.button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 5px 0 rgba(24,24,22,.13)}.button:disabled{opacity:.55;cursor:wait}.button svg{width:18px;height:18px}.button-dark{background:var(--ink);color:white}.button-light{background:var(--panel);color:var(--ink);border-color:var(--line)}.button-small{min-height:36px;padding:0 13px;font-size:13px}.icon-button{display:grid;place-items:center;width:42px;height:42px;padding:0;background:transparent;border:0;cursor:pointer;border-radius:7px}.icon-button svg{width:22px}.icon-button.bordered{border:1px solid var(--line);background:var(--panel);width:36px;height:36px}.eyebrow{margin:0 0 13px;font-size:11px!important;letter-spacing:2.1px;font-weight:850;color:#77736b}.fine-print,.legal-copy{color:var(--muted);font-size:12px}.alert{margin:14px 0;border:1px solid #d8c89c;background:#fff7df;border-radius:7px;padding:12px 14px;font-size:14px}.alert.error{background:#fff0ec;border-color:#e6b8aa;color:#8e3326}.marketing{background:#f4f0e6;min-height:100vh}.marketing-nav{height:78px;padding:0 clamp(24px,6vw,88px);justify-content:space-between;border-bottom:1px solid rgba(24,24,22,.16)}.marketing-nav,.nav-actions{display:flex;align-items:center}.nav-actions{gap:28px;font-size:14px;font-weight:700}.hero{min-height:690px;padding:80px clamp(24px,7vw,105px);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px;overflow:hidden}.hero-copy{max-width:630px}.hero h1{margin:0;max-width:620px;font-family:Georgia,Times New Roman,serif;font-size:clamp(54px,6.3vw,94px);line-height:.94;letter-spacing:-4.5px;font-weight:500}.hero-lede{max-width:580px;margin:28px 0;font-size:19px;line-height:1.55;color:#56534d}.hero .fine-print{margin:13px 0 0 4px}.hero-art{position:relative;min-height:470px;display:grid;place-items:center}.preview-window{width:min(560px,100%);border:1px solid #232321;border-radius:13px;background:#fff;box-shadow:22px 24px 0 #d8ddc4;transform:rotate(1.6deg);overflow:hidden}.preview-top{height:54px;display:flex;align-items:center;gap:7px;padding:0 18px;border-bottom:1px solid #ccc7bb}.preview-top i{width:9px;height:9px;background:#e99078;border-radius:50%}.preview-top i:nth-child(2){background:#e6c75a}.preview-top i:nth-child(3){background:#82bd86}.preview-top span{margin-left:auto;font-family:Georgia,serif;font-size:20px}.preview-grid{display:grid;grid-template-columns:repeat(7,1fr)}.preview-grid div{min-height:96px;padding:11px;border-right:1px solid #dedad1;border-bottom:1px solid #dedad1;font-size:12px;color:#76736c}.preview-grid .preview-event{margin:27px 6px 6px;min-height:55px;border:1px solid #1d1d1b;border-radius:4px;background:#a6c1f3;color:#1d1d1b}.floating-note{position:absolute;z-index:2;border:1px solid #222;padding:16px 19px;background:#f4c764;box-shadow:6px 7px 0 #222;font-size:12px;letter-spacing:1px;transform:rotate(-6deg)}.note-one{top:18px;left:-4px}.note-two{right:-14px;bottom:15px;background:#ea8e75;transform:rotate(5deg);font-weight:800}.how{border-top:1px solid #242421;padding:90px clamp(24px,7vw,105px) 110px;background:#dce5cc}.how h2{margin:0;max-width:700px;font:500 clamp(38px,5vw,68px)/1 Georgia,serif;letter-spacing:-2.5px}.step-grid{margin-top:58px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border:1px solid #222;background:#222}.step-grid article{min-height:220px;padding:27px;background:#f4f0e6}.step-grid article>span{font:18px Georgia,serif}.step-grid h3{margin:65px 0 9px;font-size:18px}.step-grid p{margin:0;line-height:1.55;color:var(--muted)}.marketing footer{padding:32px clamp(24px,7vw,105px);display:flex;justify-content:space-between;align-items:center;border-top:1px solid #222}.marketing footer p{color:var(--muted);font-size:12px}.auth-shell{min-height:100vh;display:grid;place-items:start center;padding:128px 24px 76px;position:relative;background:#fff;color:#080808}.auth-topbar{position:absolute;inset:0 0 auto;height:80px;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.auth-topbar>a{min-height:38px;padding:0 14px;display:inline-flex;border:2px solid #111;border-radius:7px;font-weight:600}.auth-social,.auth-topbar>a{align-items:center;font-size:14px}.auth-social{display:flex}.auth-social>span{width:38px;height:38px;margin-right:-9px;display:grid;place-items:center;overflow:hidden;border:2px solid #fff;border-radius:50%;background:#72a7ff;font-size:23px}.auth-social>span:nth-child(2){background:#ed74a8}.auth-social>span:nth-child(3){margin-right:12px;background:#54c69a}.auth-social strong{font-size:17px}.auth-card{width:min(384px,100%)}.auth-card h1{margin:0 0 38px;font:700 35px/1.1 Arial,Helvetica,sans-serif;letter-spacing:-1.25px}.auth-card h1 span{font-size:.82em}.google-button{width:100%;min-height:48px;display:flex;align-items:center;justify-content:center;gap:16px;border:2px solid #111;border-radius:7px;background:#fff;color:#090909;font-weight:500;transition:background .18s,color .18s,transform .18s}.google-button:hover{background:#050505;color:#fff;transform:translateY(-1px)}.google-button span{font-size:20px;font-weight:800}.auth-version-note{margin:32px auto 0;max-width:330px;color:#333;text-align:center;font-size:13px;line-height:1.45}.auth-footer{position:absolute;right:0;bottom:0;left:0;padding:0 24px 24px;display:flex;justify-content:center}.auth-footer a{text-decoration:underline;text-underline-offset:2px;font-size:12px}.onboarding-shell{background:#f1efe8}.onboarding-shell>header{height:72px;padding:0 38px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:11px;font-weight:800;letter-spacing:1.5px}.progress-track{height:4px;background:#dfdcd4}.progress-track i{display:block;height:100%;background:var(--ink);transition:width .25s}.onboarding-card{width:min(650px,calc(100% - 40px));margin:80px auto}.onboarding-card.wide{width:min(1040px,calc(100% - 40px));margin-top:52px}.onboarding-card>h1{margin:0;font:500 clamp(42px,6vw,66px)/1 Georgia,serif;letter-spacing:-2.5px}.onboarding-card>p:not(.eyebrow){color:var(--muted);font-size:17px;line-height:1.5}.onboarding-actions{justify-content:flex-end;gap:10px;margin-top:30px}.field{display:grid;gap:8px;margin:18px 0}.color-field legend,.field label{font-size:12px;font-weight:800;letter-spacing:.5px}.assignment-row input,.assignment-row select,.calendar-filters select,.due-controls select,.field input{min-height:44px;border:1px solid #bdb9af;border-radius:6px;background:var(--panel);padding:0 12px;color:var(--ink)}.field.large{margin-top:34px}.field.large input{height:58px;font-size:17px}.year-grid{margin:35px 0;grid-template-columns:repeat(4,1fr);gap:10px}.year-grid button{height:72px;border:1px solid var(--line);background:var(--panel);font-size:18px}.year-grid button.selected{border:2px solid var(--ink);background:#dce5cc}.avatar-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin:35px 0 20px}.avatar-grid button{aspect-ratio:1;border:1px solid transparent;border-radius:9px;color:#20201e}.avatar-grid button.selected{border:3px solid var(--ink)}.avatar-grid span{font:42px Georgia,serif}.avatar-grid small{text-transform:uppercase;font-weight:800;letter-spacing:1px}.avatar-colors{gap:10px}.avatar-colors button{width:35px;height:35px}.avatar-colors button.selected{border-color:var(--ink);box-shadow:inset 0 0 0 3px var(--paper)}.sidebar{position:fixed;z-index:20;width:250px;padding:24px 18px 18px;display:flex;flex-direction:column;background:#f0eee6;border-right:1px solid #d4d0c5}.sidebar-head{justify-content:space-between;padding:0 8px}.app-nav{display:grid;gap:5px;margin:42px 0 17px}.app-nav a{height:44px;padding:0 13px;display:flex;align-items:center;border-radius:6px;font-weight:700;font-size:14px;color:#595750}.app-nav a.active,.app-nav a:hover{color:var(--ink);background:#fffefa;box-shadow:0 1px 3px rgba(0,0,0,.06)}.app-nav svg{width:19px;height:19px}.add-class{width:100%}.sidebar-note{margin-top:auto;padding:15px;border:1px solid #c9c4b9;border-radius:7px;background:#e0e7d2}.sidebar-note span{font-size:10px;font-weight:900;letter-spacing:1.4px}.sidebar-note p{margin:7px 0 0;color:#5e6156;font-size:12px;line-height:1.45}.profile-row{margin-top:15px;padding-top:15px;display:grid;grid-template-columns:36px 1fr 25px;align-items:center;gap:9px;border-top:1px solid #d2cec4;min-width:0}.profile-avatar{width:36px;height:36px;display:grid;place-items:center;border:1px solid #222;border-radius:50%;font:700 17px Georgia,serif}.profile-row div:nth-child(2){min-width:0}.profile-row small,.profile-row strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-row strong{font-size:12px}.profile-row small{margin-top:3px;font-size:10px;color:var(--muted)}.profile-row form button{border:0;background:transparent;cursor:pointer;color:var(--muted)}.mobile-header{display:none}.app-main{margin-left:250px;background:var(--paper)}.page-pad{padding:52px clamp(28px,5vw,74px) 80px}.narrow-page{max-width:1120px}.page-heading{margin-bottom:38px;display:flex;justify-content:space-between;gap:25px}.page-heading h1{margin:0;font:500 clamp(42px,5vw,62px)/1 Georgia,serif;letter-spacing:-2.2px}.page-heading p:not(.eyebrow){margin:12px 0 0;color:var(--muted)}.heading-actions{display:flex;align-items:flex-start;gap:10px}.sync-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.inline-status{font-size:11px;color:#337347;max-width:220px;text-align:right}.inline-status.error{color:#a23a2c}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:var(--line);gap:1px}.stats-row article{min-height:120px;padding:18px 22px;display:grid;grid-template-columns:1fr auto;align-items:center;background:var(--panel)}.stats-row span{grid-column:1/-1;font-size:11px;text-transform:uppercase;letter-spacing:1.3px;font-weight:800;color:var(--muted)}.stats-row strong{font:42px Georgia,serif}.stats-row small{color:var(--muted)}.section-heading{margin:48px 0 18px}.review-heading h2,.section-heading h2{margin:0;font:500 27px Georgia,serif}.review-heading p,.section-heading p{margin:5px 0 0;font-size:13px;color:var(--muted)}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(230px,1fr));gap:17px}.course-card{min-height:270px;border:1px solid var(--ink);background:var(--panel);box-shadow:5px 6px 0 rgba(24,24,22,.16);overflow:hidden}.course-accent{height:10px;background:var(--course-color);border-bottom:1px solid var(--ink)}.course-card-body{padding:21px}.course-label{font-size:9px;letter-spacing:1.4px;font-weight:900;color:var(--muted)}.course-card h3{margin:11px 0 6px;font:500 25px/1.05 Georgia,serif}.course-card-body>p{margin:0;color:var(--muted);font-size:12px}.course-next{margin-top:38px;padding-top:15px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:6px}.course-next small{grid-column:1/-1;font-size:9px;font-weight:900;letter-spacing:1.2px;color:var(--muted)}.course-next strong{font-size:13px}.course-next time{font-size:11px;color:var(--muted)}.empty-state{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-state.compact{min-height:330px;padding:45px;border:1px dashed #bcb7ac;background:rgba(255,254,250,.55)}.empty-icon{width:58px;height:58px;display:grid;place-items:center;border:1px solid var(--ink);border-radius:50%;background:#dce5cc;font-size:24px}.empty-icon svg{width:25px}.empty-state h1,.empty-state h2{margin:20px 0 8px;font:500 30px Georgia,serif}.empty-state p{margin:0 0 23px;max-width:430px;color:var(--muted);line-height:1.5}.upload-stage{margin-top:32px}.dropzone{width:100%;min-height:300px;padding:35px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:1.5px dashed #99958b;border-radius:9px;background:var(--panel);cursor:pointer;color:var(--ink)}.dropzone.dragging{border-style:solid;background:#e8efdc}.drop-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:#e2e9d5}.drop-icon svg{width:28px}.dropzone strong{font:500 27px Georgia,serif}.dropzone>span:last-child{color:var(--muted);font-size:13px}.privacy-note{margin-top:14px;padding:13px 15px;display:flex;gap:15px;background:#ece9e1;border-radius:7px}.privacy-note span{font-size:9px;font-weight:900;letter-spacing:1.2px}.privacy-note p{margin:0;color:var(--muted);font-size:11px}.review-stage{margin-top:28px}.review-summary{padding:15px;justify-content:space-between;background:#e2e9d5;border:1px solid #c1c9b3;border-radius:7px}.file-chip,.review-summary{display:flex;align-items:center}.file-chip{gap:11px}.file-chip>svg{width:28px;height:28px;padding:5px;border-radius:50%;background:var(--ink);color:white}.file-chip small,.file-chip strong{display:block}.file-chip small{margin-top:3px;color:var(--muted)}.text-button{border:0;border-bottom:1px solid;background:transparent;padding:2px 0;cursor:pointer;font-size:12px}.color-field{margin:20px 0;padding:0;border:0}.color-field>div{display:flex;gap:9px;margin-top:9px}.color-field button{width:32px;height:32px;display:grid;place-items:center;border:1px solid #222;border-radius:50%;cursor:pointer}.color-field svg{width:17px}.review-heading{margin:35px 0 13px;display:flex;align-items:flex-end;justify-content:space-between}.assignment-editor{border:1px solid var(--line)}.assignment-row{display:grid;grid-template-columns:40px minmax(180px,1.5fr) minmax(180px,1fr) 130px 42px;align-items:center;gap:8px;padding:10px;background:var(--panel);border-bottom:1px solid var(--line)}.assignment-row:last-child{border-bottom:0}.assignment-index{color:var(--muted);font:14px Georgia,serif}.assignment-row input,.assignment-row select{min-width:0;width:100%}.remove-row{border:0;background:transparent;color:#8e3326;cursor:pointer}.remove-row svg{width:18px}.review-actions{margin-top:22px;display:flex;justify-content:flex-end}.due-controls{margin-bottom:22px;padding:16px 18px;display:flex;align-items:center;gap:28px;border:1px solid var(--line);background:var(--panel)}.due-controls>label{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12px;font-weight:700}.check-control input{position:absolute;opacity:0}.check-control>span{width:21px;height:21px;display:grid;place-items:center;border:1px solid #aaa59b;background:white;border-radius:3px}.check-control svg{width:15px;opacity:0}.check-control input:checked+span{background:var(--ink);color:white}.check-control input:checked+span svg{opacity:1}.range-control{margin-left:auto}.range-control input{accent-color:var(--ink)}.due-list{border-top:1px solid var(--line)}.due-item{min-height:116px;display:grid;grid-template-columns:42px 72px 1fr;align-items:center;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--course-color) 6%,rgba(255,254,250,.6));transition:background .16s,transform .16s}.due-item:hover{background:color-mix(in srgb,var(--course-color) 12%,var(--panel));transform:translateX(2px)}.complete-button{width:23px;height:23px;display:grid;place-items:center;border:1px solid #aaa59b;border-radius:50%;background:transparent;cursor:pointer;color:transparent}.complete-button:hover{background:#dce5cc;color:var(--ink)}.complete-button svg{width:14px}.due-date{height:68px;display:grid;place-items:center;align-content:center;border-left:5px solid var(--course-color)}.due-date strong{font:28px Georgia,serif;line-height:1}.due-date span{font-size:9px;letter-spacing:1px;color:var(--muted)}.due-content{padding:18px}.due-content small{color:var(--muted);text-transform:uppercase;letter-spacing:.7px;font-size:9px}.course-dot{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:var(--course-color)}.due-content h2{margin:6px 0 7px;font-size:16px}.due-content p{margin:0;color:var(--muted);font-size:11px}.due-content p.danger{color:#b14030;font-weight:700}.calendar-toolbar{margin-bottom:14px;gap:20px}.calendar-filters,.calendar-nav{display:flex;align-items:center;gap:8px}.calendar-nav strong{margin-left:8px;font:18px Georgia,serif}.search-field{height:38px;padding:0 10px;display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:6px;background:var(--panel)}.search-field svg{width:16px}.search-field input{width:130px;border:0;outline:0;background:transparent}.calendar-filters select{min-height:38px}.calendar-scroll{overflow-x:auto;border:1px solid var(--line);background:var(--panel)}.week-calendar{min-width:850px;display:grid;grid-template-columns:repeat(7,1fr)}.week-calendar section{min-height:510px;border-right:1px solid var(--line)}.week-calendar section:last-child{border-right:0}.week-calendar section>header{height:72px;display:grid;place-items:center;align-content:center;gap:3px;border-bottom:1px solid var(--line)}.week-calendar header span{font-size:9px;font-weight:900;letter-spacing:1px;color:var(--muted)}.week-calendar header strong{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;font:17px Georgia,serif}.week-calendar section.today header strong{background:var(--ink);color:white}.calendar-day-body{padding:8px}.calendar-event{margin-bottom:8px;padding:9px;border:1px solid #222;border-radius:4px;background:color-mix(in srgb,var(--course-color) 25%,white)}.calendar-event small,.calendar-event span{color:#5c5952}.calendar-empty{padding:12px;color:var(--muted);text-align:center;font-size:12px}.skeleton{background:linear-gradient(100deg,#e6e3dc 30%,#f4f2ed 50%,#e6e3dc 70%);background-size:220% 100%;animation:shimmer 1.2s infinite;border-radius:5px}.skeleton-title{width:300px;height:60px}.skeleton-card{margin-top:40px;height:320px}@keyframes shimmer{to{background-position-x:-220%}}.legal-page{min-height:100vh;padding:30px clamp(20px,6vw,84px) 80px}.legal-page>article{width:min(760px,100%);margin:80px auto 0}.legal-page h1{margin:0 0 20px;font:500 clamp(42px,6vw,68px)/1 Georgia,serif;letter-spacing:-2.5px}.legal-page h2{margin:38px 0 9px;font:500 25px Georgia,serif}.legal-page p{color:var(--muted);line-height:1.7}.legal-page .button{margin-top:30px}@media (max-width:1050px){.course-grid{grid-template-columns:repeat(2,1fr)}.hero{gap:35px}.hero h1{font-size:66px}.assignment-row{grid-template-columns:35px 1fr 180px 100px 35px}}@media (max-width:800px){.mobile-only{display:grid!important}.mobile-header{height:66px;padding:0 18px;display:flex;position:sticky;top:0;z-index:18;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:rgba(247,245,239,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sidebar{transform:translateX(-105%);transition:transform .2s;box-shadow:15px 0 40px rgba(0,0,0,.15)}.sidebar-open{transform:translateX(0)}.nav-scrim{position:fixed;inset:0;z-index:19;border:0;background:rgba(23,23,21,.35)}.app-main{margin-left:0}.page-pad{padding:34px 20px 65px}.page-heading{align-items:flex-start;flex-direction:column}.heading-actions{width:100%;flex-wrap:wrap}.stats-row{grid-template-columns:1fr}.stats-row article{min-height:92px}.course-grid{grid-template-columns:1fr}.due-controls{align-items:flex-start;flex-direction:column;gap:14px}.range-control{margin-left:0}.calendar-toolbar{align-items:flex-start;flex-direction:column}.calendar-filters{width:100%}.search-field{flex:1 1}.search-field input{width:100%}.hero{min-height:auto;grid-template-columns:1fr;padding-top:60px}.hero-art{min-height:390px}.step-grid{grid-template-columns:1fr}.step-grid article{min-height:160px}.step-grid h3{margin-top:35px}.assignment-row{grid-template-columns:30px 1fr 34px}.assignment-row input[type=datetime-local],.assignment-row select{grid-column:2/3}.remove-row{grid-column:3;grid-row:1}.review-heading{align-items:flex-start;gap:16px;flex-direction:column}}@media (max-width:540px){.marketing-nav{height:66px;padding:0 18px}.nav-actions>a:first-child{display:none}.hero{padding:52px 20px 70px}.hero h1{font-size:52px;letter-spacing:-3px}.hero-lede{font-size:16px}.hero-art{min-height:315px}.preview-grid div{min-height:66px}.floating-note{padding:11px}.how{padding:70px 20px}.marketing footer{padding:25px 20px;align-items:flex-start;flex-direction:column;gap:15px}.auth-card{padding:34px 24px;box-shadow:7px 8px 0 var(--ink)}.auth-card h1{font-size:40px}.onboarding-shell>header{padding:0 18px}.onboarding-card,.onboarding-card.wide{width:calc(100% - 32px);margin-top:48px}.avatar-grid,.year-grid{grid-template-columns:repeat(2,1fr)}.page-heading h1{font-size:44px}.heading-actions>.button,.heading-actions>.sync-wrap,.sync-wrap .button{width:100%}.review-summary{align-items:flex-start;flex-direction:column;gap:14px}.dropzone{min-height:245px;padding:24px 15px}.due-item{grid-template-columns:35px 58px 1fr}.calendar-nav{flex-wrap:wrap}.calendar-nav strong{flex-basis:100%;margin:7px 0 0}.calendar-filters{flex-direction:column;align-items:stretch}.marketing footer p{margin:0}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}.app-shell{min-height:100vh;background:#fff;color:#111}.sidebar{inset:0 auto 0 0;width:64px;padding:14px 8px 12px;background:#fff;border-right:1px solid #e7e7e7;transition:width .28s cubic-bezier(.22,1,.36,1),transform .22s;box-shadow:none}.sidebar-head{padding:0;display:flex;flex-direction:column;align-items:center;gap:11px}.sidebar-avatar{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;color:#111;font-weight:800;border:1px solid rgba(0,0,0,.12)}.sidebar-expand{width:40px;height:28px;border:0;background:transparent;color:#545454;cursor:pointer;font-size:17px}.app-nav{margin:42px 0 10px;gap:3px}.app-nav a{width:48px;height:40px;padding:0;justify-content:center;gap:12px;border-radius:7px;color:#25252a;background:transparent;box-shadow:none;font-weight:500;transition:background .18s,color .18s}.app-nav a.active,.app-nav a:hover{background:#f3f3f3;box-shadow:none;color:#111}.app-nav a.active:before{content:"";position:absolute;left:0;width:3px;height:22px;border-radius:0 3px 3px 0;background:#111}.app-nav a{position:relative}.add-class span,.app-nav a span{display:none;white-space:nowrap}.add-class{width:48px;height:40px;display:flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:7px;background:transparent;color:#202025}.add-class:hover{background:#f3f3f3}.add-class svg{width:19px}.sidebar-note{display:none}.profile-row{margin-top:auto;padding:0;display:flex;justify-content:center;border:0}.profile-row>div{display:none}.profile-row form button{width:40px;height:40px;border-radius:7px;background:#070707;color:#fff;font-size:18px}.sidebar-expanded{width:220px;box-shadow:18px 0 45px rgba(0,0,0,.08)}.sidebar-expanded .sidebar-head{flex-direction:row;justify-content:space-between}.sidebar-expanded .sidebar-expand{margin-left:auto}.sidebar-expanded .add-class,.sidebar-expanded .app-nav a{width:100%;padding:0 13px;justify-content:flex-start}.sidebar-expanded .add-class span,.sidebar-expanded .app-nav a span{display:inline}.sidebar-expanded .profile-row{padding-top:12px;display:grid;grid-template-columns:1fr 40px;gap:8px;border-top:1px solid #eee}.sidebar-expanded .profile-row>div{display:block;min-width:0}.app-topbar{position:fixed;z-index:15;top:0;right:0;left:64px;height:73px;padding:0 31px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e6e6e6;background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-topbar>span{font-size:14px;text-decoration:underline;text-underline-offset:3px}.app-topbar form button{height:40px;padding:0 17px;display:flex;align-items:center;gap:12px;border:0;border-radius:7px;background:#050505;color:#fff;cursor:pointer;font-weight:500}.app-main{min-height:100vh;margin-left:64px;padding-top:73px;background:#fff}.page-pad{padding:32px 48px 80px}.narrow-page{max-width:1180px}.dashboard-empty-page{min-height:calc(100vh - 73px)}.app-empty-panel{min-height:460px;padding:50px 30px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:7px;background:#fafbfc;text-align:center}.empty-shelf{font-size:142px;line-height:1;filter:saturate(.72)}.app-empty-panel h2{margin:27px 0 10px;font-size:28px}.app-empty-panel p{max-width:520px;margin:0 0 27px;color:#51515a;line-height:1.55}.app-empty-panel .button{min-width:130px;border-radius:6px}.page-heading{margin-bottom:30px;align-items:flex-end}.page-heading h1{font:700 clamp(38px,4vw,50px)/1 Arial,Helvetica,sans-serif;letter-spacing:-1.7px}.page-heading p:not(.eyebrow){color:#5d5d66}.eyebrow{font-size:10px}.stats-row{border-color:#e5e5e5;background:#e5e5e5;border-radius:7px;overflow:hidden}.stats-row article{background:#fff}.stats-row strong{font:700 40px Arial,Helvetica,sans-serif}.course-card{border-color:#dcdcdc;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.045)}.course-card h3,.review-heading h2,.section-heading h2{font-family:Arial,Helvetica,sans-serif;font-weight:700}.due-soon-page{padding-top:32px;background:#fafbfc;min-height:calc(100vh - 73px)}.due-soon-intro{text-align:center}.due-soon-intro h1{margin:0;font-size:44px;line-height:1.08;letter-spacing:-1.8px}.due-soon-intro p{max-width:620px;margin:18px auto 32px;color:#5c5c66;line-height:1.45}.due-controls{margin:0 20px 18px;padding:0;display:block;border:0;background:transparent}.due-controls-top,.due-count-row{display:flex;align-items:center;justify-content:space-between}.due-controls-top{margin-bottom:17px}.due-controls>label{display:block}.due-controls .check-control{display:flex;align-items:center;gap:9px;font-size:18px;color:#30303a;font-weight:500}.check-control>span{width:24px;height:24px}.class-filter-control{width:146px;height:38px;padding:0 10px;display:flex;align-items:center;gap:7px;flex:0 0 auto;border:2px solid #111;border-radius:6px;background:#fff}.class-filter-control select{width:108px;min-height:0;padding:0;overflow:hidden;border:0;background:transparent;font-size:14px;font-weight:500;text-overflow:ellipsis;appearance:none}.due-count-row{font-size:13px}.range-control{margin:9px 0 0!important}.range-control input{width:100%;height:8px;margin:0;display:block;accent-color:#090909}.due-list{margin:0 20px}.empty-state.compact{margin:0 20px;min-height:300px;border:0;background:transparent}.empty-state.compact .empty-icon{border:0;background:transparent;color:#cfd2d8;font-size:54px}.empty-state.compact h2{font:400 17px Arial,Helvetica,sans-serif;color:#666}.calendar-page{background:#fff}.calendar-page>.sync-wrap{position:absolute;z-index:4;top:68px;right:16px}.calendar-page>.sync-wrap .button{height:38px;border-radius:6px}.calendar-nav .button{border:2px solid #111;background:#fff}.calendar-nav strong{margin-left:4px;font:700 21px Arial,Helvetica,sans-serif}.calendar-filter-row{padding-right:180px}.calendar-filter-row .search-field{flex:0 0 404px;background:#f4f4f5}.calendar-filter-row select{width:160px;height:37px;padding:0 12px;overflow:hidden;border:2px solid #111;border-radius:6px;background:#fff;text-overflow:ellipsis}.calendar-scroll{background:#f7f8fa}.week-calendar{min-width:900px;display:block}.calendar-week-head{height:55px;background:#f7f8fa}.calendar-week-head header{display:flex;align-items:flex-start;gap:5px}.calendar-hours{background:#f7f8fa}.calendar-hours span{padding:5px 0 0 15px}.calendar-time-body>section{border-left:1px solid rgba(255,255,255,.8);background:repeating-linear-gradient(180deg,transparent 0 63px,rgba(212,214,218,.38) 63px 64px)}.calendar-time-body>section:nth-child(odd){background-color:#f4f5f7}.calendar-time-body>section.today{background-color:#f0f3f8}.calendar-event{position:absolute;right:6px;left:6px;z-index:2;background:color-mix(in srgb,var(--course-color) 26%,white)}.calendar-empty{position:absolute;top:121px;left:50%;z-index:3;transform:translateX(-50%);padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.8);pointer-events:none}.add-class-page{position:relative;min-height:calc(100vh - 73px);padding:76px 24px;background:#fff}.add-class-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.66)}.add-class-dialog{position:relative;z-index:1;width:min(672px,100%);margin:0 auto;padding:24px;border:2px solid #111;border-radius:8px;background:#fff;box-shadow:0 0 0 23px #f4f5f7}.add-class-dialog>header{display:flex;align-items:center;justify-content:space-between}.add-class-dialog h1{margin:0;font-size:19px}.add-class-dialog h1 a{margin-right:10px;color:#8b8d92;font-weight:400}.add-class-dialog>header>a{font-size:26px;color:#5f6166}.add-class-dialog>p{margin:15px 0 0;color:#777;font-size:14px}.add-class-dialog .upload-stage{margin-top:18px}.add-class-dialog .dropzone{min-height:192px;border-color:#c7c8ca;background:#fafbfc}.add-class-dialog .drop-icon{width:56px;height:56px;background:#f2f3f5}.add-class-dialog .dropzone strong{font:600 15px Arial,Helvetica,sans-serif}.add-class-dialog .privacy-note{margin-bottom:0}.add-class-dialog .review-stage{max-height:calc(100vh - 210px);overflow:auto}.onboarding-shell{color:#111}.onboarding-shell>header{height:73px;padding:0 32px;border-color:#e6e6e6;background:#fff}.onboarding-shell>header .brand{text-transform:none}.onboarding-shell>header>span:last-child{color:#5f5f66}.progress-track{height:3px;background:#eee}.progress-track i{background:#5564ff;transition:width .45s cubic-bezier(.22,1,.36,1)}.onboarding-card,.onboarding-card.wide{width:min(620px,calc(100% - 40px));margin:68px auto}.onboarding-card.wide{width:min(920px,calc(100% - 40px));margin-top:44px}.onboarding-card>h1{font:700 clamp(40px,5vw,58px)/1.02 Arial,Helvetica,sans-serif;letter-spacing:-2.2px}.onboarding-card>p:not(.eyebrow){max-width:560px;color:#616169;font-size:16px}.onboarding-card .eyebrow{color:#5564ff}.onboarding-actions{margin-top:34px}.onboarding-actions .button{min-width:118px;border-radius:6px}.field.large input{border:0;border-radius:7px;background:#f4f4f5}.year-grid button{border-color:#ddd;background:#fff;transition:transform .18s,border-color .18s,background .18s}.year-grid button:hover{transform:translateY(-2px)}.year-grid button.selected{border-color:#111;background:#f0f1ff}.avatar-grid button{transition:transform .18s}.avatar-grid button:hover{transform:translateY(-3px)}.avatar-grid button.selected{border-color:#111}.onboarding-card{animation:onboardingEnter .45s cubic-bezier(.22,1,.36,1)}@keyframes onboardingEnter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:800px){.app-topbar{display:none}.app-main{margin-left:0;padding-top:0}.page-pad{padding:28px 18px 60px}.sidebar{width:240px;padding:18px 14px;transform:translateX(-105%);box-shadow:18px 0 45px rgba(0,0,0,.15)}.sidebar.sidebar-open{transform:translateX(0)}.sidebar-head{flex-direction:row;justify-content:space-between}.sidebar-expand{display:none}.sidebar-head .mobile-only{display:grid!important}.app-nav{margin-top:32px}.add-class,.app-nav a{width:100%;padding:0 13px;justify-content:flex-start}.add-class span,.app-nav a span{display:inline}.profile-row{padding-top:12px;display:grid;grid-template-columns:1fr 40px;gap:8px;border-top:1px solid #eee}.profile-row>div{display:block;min-width:0}.mobile-header{background:#fff}.app-empty-panel{min-height:480px;padding-inline:20px}.empty-shelf{font-size:105px}.due-soon-page{padding-top:30px}.due-soon-intro h1{font-size:34px}.due-controls,.due-list,.empty-state.compact{margin-inline:0}.due-controls-top{align-items:flex-start;gap:14px}.due-controls .check-control{font-size:15px}.due-count-row{font-size:11px}.calendar-page{padding:10px}.calendar-page>.sync-wrap{top:64px;right:10px}.calendar-toolbar{height:52px}.calendar-nav{gap:5px;flex-wrap:nowrap}.calendar-nav .button{min-width:58px}.calendar-nav strong{font-size:16px}.calendar-filter-row{padding-right:155px}.calendar-filter-row .search-field{width:100%}.calendar-filter-row select,.calendar-zone{display:none}.add-class-page{min-height:calc(100vh - 66px);padding:54px 12px}.add-class-dialog{padding:18px;box-shadow:0 0 0 10px #f4f5f7}.add-class-dialog .dropzone{min-height:220px}.onboarding-shell>header{padding:0 16px}.onboarding-card,.onboarding-card.wide{width:calc(100% - 32px);margin-top:44px}.onboarding-card>h1{font-size:39px}.year-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:540px){.auth-shell{padding:118px 20px 64px}.auth-topbar{height:70px;padding:0 16px}.auth-social>span{width:31px;height:31px;font-size:18px}.auth-social strong{font-size:13px}.auth-topbar>a{min-height:34px;font-size:12px}.auth-card{padding:0;box-shadow:none}.auth-card h1{font-size:30px;margin-bottom:30px}.auth-version-note{font-size:12px}}.precision-app-shell{--app-bg:#fff;--app-panel:#f8f9fb;--app-soft:#f1f2f4;--app-text:#111521;--app-muted:#687081;--app-line:#e3e5e9;min-height:100vh;background:var(--app-bg);color:var(--app-text)}.precision-app-shell.theme-dark{--app-bg:#131313;--app-panel:#232323;--app-soft:#2b2b2b;--app-text:#f6f6f6;--app-muted:#a5a5a5;--app-line:#3a3a3a}.precision-sidebar{position:fixed;inset:0 auto 0 0;z-index:50;width:64px;padding:16px 8px 12px;display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--app-line);background:var(--app-bg);color:var(--app-text);transition:width .3s cubic-bezier(.22,1,.36,1),transform .25s ease}.precision-sidebar.is-expanded{width:255px}.precision-profile{height:52px;display:flex;align-items:center;gap:9px;min-width:0}.precision-sidebar.is-expanded .precision-profile{height:36px;padding:0 7px 0 8px;gap:8px}.precision-profile>a{flex:0 0 auto}.app-avatar{width:36px;height:36px;display:grid;place-items:center;overflow:hidden;border-radius:50%;color:#111;font-family:Apple Color Emoji,Segoe UI Emoji,Arial,sans-serif;font-size:21px;font-weight:750;line-height:1}.app-avatar>span{width:100%;height:100%;display:grid;place-items:center;transform:none;font:inherit;line-height:1}.precision-profile>div{min-width:0;flex:1 1}.precision-profile>div span,.precision-profile>div strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.precision-profile>div strong{font-size:14px;font-weight:500}.precision-profile>div span{margin-top:5px;color:var(--app-muted);font-size:12px}.precision-sidebar.is-expanded .precision-profile>div strong{line-height:20px}.precision-sidebar.is-expanded .precision-profile>div span{margin-top:0;line-height:16px}.precision-sidebar.is-expanded .collapse-button{width:36px;height:36px}.collapse-button{width:28px;height:34px;padding:0;display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--app-muted);cursor:pointer}.collapse-button svg{width:21px;height:21px}.is-collapsed .precision-profile{display:grid;justify-items:center}.is-collapsed .precision-profile>a{grid-row:1}.is-collapsed .collapse-button{grid-row:2;margin-top:16px}.is-collapsed .collapse-button svg{width:14px}.is-collapsed .collapse-button svg+svg{margin-left:-8px}.focus-widget{height:220px;margin:27px 12px 0}.focus-dial{position:relative;width:190px;height:176px;margin:auto}.focus-dial svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.focus-progress,.focus-track{fill:none;stroke:#e4e6ea;stroke-width:12;stroke-linecap:round}.theme-dark .focus-track{stroke:#414141}.focus-progress{stroke:#090909;transition:stroke-dasharray .45s linear}.theme-dark .focus-progress{stroke:#fff}.focus-time{position:absolute;inset:48px 30px 33px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:0;background:transparent;color:var(--app-text);cursor:pointer}.focus-time strong{font-size:35px;line-height:1}.focus-time span{margin-top:11px;color:#99a0ae;font-size:16px}.focus-controls{height:48px;margin-top:-3px;display:flex;align-items:center;justify-content:center;gap:27px}.focus-controls button{width:30px;height:36px;padding:0;display:grid;place-items:center;border:0;background:transparent;color:#a1a8b5;cursor:pointer}.focus-controls svg{width:20px;height:20px}.focus-controls .focus-main-control{width:41px;height:41px;border-radius:5px;background:#050505;color:#fff}.focus-main-control svg{width:25px;height:25px}.lecture-recorder{margin:14px 31px 0;text-align:center}.lecture-recorder>button{width:100%;height:36px;display:flex;align-items:center;justify-content:center;gap:13px;border:0;border-radius:6px;background:#050505;color:#fff;cursor:pointer;font-size:14px;font-weight:600}.lecture-recorder>button.is-recording{background:#be342a}.lecture-recorder svg{width:17px}.lecture-recorder>a{display:block;margin-top:7px;text-decoration:underline;font-size:11px}.lecture-recorder p{margin:6px 0;color:#b7382d;font-size:10px;line-height:1.2}.precision-nav{margin-top:39px;display:grid;gap:3px}.precision-nav>a,.precision-nav>button,.settings-link{position:relative;width:100%;height:40px;padding:0 13px;display:flex;align-items:center;gap:13px;border:0;border-radius:7px;background:transparent;color:var(--app-text);cursor:pointer;text-align:left;font:500 15px Arial,Helvetica,sans-serif;transition:background .18s,color .18s,transform .18s}.precision-nav>a.active,.precision-nav>a:hover,.precision-nav>button.active,.precision-nav>button:hover{background:var(--app-soft)}.precision-nav>a.active:before{content:"";position:absolute;left:-8px;width:3px;height:23px;border-radius:0 4px 4px 0;background:#111}.theme-dark .precision-nav>a.active:before{background:#fff}.precision-nav svg,.settings-link svg{width:18px;height:18px;flex:0 0 auto}.precision-nav>button svg:last-child{width:15px;margin-left:auto}.class-subnav{margin:2px 0 4px 32px;display:grid;gap:3px}.class-subnav a,.class-subnav button{height:34px;padding:0 9px;display:flex;align-items:center;gap:8px;overflow:hidden;border:0;border-radius:6px;background:transparent;color:var(--app-muted);cursor:pointer;font-size:12px;text-align:left}.class-subnav a:hover,.class-subnav button:hover{background:var(--app-soft);color:var(--app-text)}.class-subnav a i{width:8px;height:8px;flex:0 0 auto;border-radius:50%}.class-subnav a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-subnav button svg{width:14px}.is-collapsed .precision-nav{margin-top:63px}.is-collapsed .precision-nav>a,.is-collapsed .precision-nav>button,.is-collapsed .settings-link{width:48px;padding:0;justify-content:center}.is-collapsed .precision-nav span,.is-collapsed .precision-nav>button svg:last-child,.is-collapsed .settings-link span{display:none}.is-collapsed .precision-nav>a.active:before{left:-8px}.settings-link{margin-top:auto;background:#050505!important;color:#fff}.settings-link.active,.settings-link:hover{background:#1c1c1c!important}.is-collapsed .settings-link{width:48px}.precision-topbar{position:fixed;inset:0 0 auto 64px;z-index:40;height:73px;padding:0 31px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--app-line);background:color-mix(in srgb,var(--app-bg) 96%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:left .3s cubic-bezier(.22,1,.36,1)}.has-expanded-sidebar .precision-topbar{left:255px}.precision-topbar>span{font-size:13px}.precision-topbar>div{position:relative;display:flex;align-items:center;gap:14px}.precision-topbar form{margin:0}.theme-toggle{width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:6px;background:transparent;color:var(--app-text);cursor:pointer}.theme-toggle:hover{background:var(--app-soft)}.theme-toggle svg{width:18px}.sign-out-button{height:40px;padding:0 16px;display:flex;align-items:center;gap:11px;border:0;border-radius:6px;background:#050505;color:#fff;cursor:pointer;font-weight:500}.sign-out-button svg{width:17px}.theme-menu{position:absolute;z-index:5;top:48px;right:115px;width:160px;padding:7px;border:1px solid var(--app-line);border-radius:7px;background:var(--app-bg);box-shadow:0 12px 35px rgba(0,0,0,.15)}.theme-menu button{width:100%;height:42px;padding:0 10px;display:flex;align-items:center;gap:12px;border:0;border-radius:5px;background:transparent;color:var(--app-text);cursor:pointer;text-align:left}.theme-menu button:hover{background:var(--app-soft)}.theme-menu button>span,.theme-menu svg{width:18px}.precision-app-shell .app-main{min-height:100vh;margin-left:64px;padding-top:73px;background:var(--app-bg);transition:margin-left .3s cubic-bezier(.22,1,.36,1)}.precision-app-shell.has-expanded-sidebar .app-main{margin-left:255px}.mobile-app-header{display:none}.app-modal-layer,.calendar-modal-layer{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:rgba(0,0,0,.68);animation:modalFade .18s ease}.add-class-modal{width:min(673px,calc(100vw - 32px));max-height:calc(100vh - 42px);padding:23px;border:2px solid #111;border-radius:8px;background:#f4f5f7;box-shadow:0 18px 55px rgba(0,0,0,.28);overflow:auto;animation:modalRise .28s cubic-bezier(.22,1,.36,1)}.theme-dark .add-class-modal{background:#2a2a2a;border-color:#eee}.modal-inner-frame{padding:24px;background:var(--app-bg)}.modal-inner-frame>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.modal-inner-frame>header h2{margin:0;display:flex;align-items:center;font-size:20px}.modal-inner-frame>header h2>button{width:25px;height:25px;margin-right:8px;padding:0;display:grid;place-items:center;border:0;background:transparent;color:var(--app-muted);cursor:pointer}.modal-inner-frame>header h2 svg{width:18px}.modal-inner-frame>header p{margin:13px 0 0;color:var(--app-muted);font-size:14px}.modal-close{width:30px;height:30px;padding:0;display:grid;place-items:center;border:0;background:transparent;color:var(--app-muted);cursor:pointer}.modal-close svg{width:20px}.import-methods{margin-top:27px;display:grid;gap:18px}.import-methods>button{min-height:85px;padding:16px;display:flex;align-items:center;justify-content:space-between;border:2px dashed #cfd1d5;border-radius:7px;background:var(--app-panel);color:var(--app-text);cursor:pointer;text-align:left;transition:border-color .18s,transform .18s,background .18s}.import-methods>button:not(:disabled):hover{border-color:#111;background:var(--app-bg);transform:translateY(-2px)}.import-methods>button:disabled{cursor:not-allowed;opacity:.55}.import-methods>button>span{display:block}.import-methods strong{font-size:18px}.import-methods em{margin-left:9px;padding:4px 8px;border-radius:5px;background:#e3e4e7;color:#4d5360;font-size:11px;font-style:normal}.import-methods small{display:block;margin-top:7px;color:var(--app-muted);font-size:13px}.import-methods>button>i{width:42px;height:42px;display:grid;place-items:center;border-radius:7px;background:var(--app-soft);font-size:21px;font-style:normal}.import-methods i svg{width:23px}.add-class-modal .upload-stage{margin-top:20px}.add-class-modal .dropzone{min-height:192px;border-color:#c7c9cf;background:var(--app-panel)}.add-class-modal .dropzone:disabled{cursor:wait}.add-class-modal .dropzone strong{font:600 15px Arial,Helvetica,sans-serif}.add-class-modal .drop-icon{width:56px;height:56px;background:var(--app-soft)}.add-class-modal .privacy-note{margin-bottom:0;background:var(--app-soft)}.add-class-modal .review-stage{position:relative;max-height:calc(100vh - 210px);overflow:auto}.review-saving-overlay{position:absolute;inset:0;z-index:5;display:grid;place-items:center;background:color-mix(in srgb,var(--app-bg) 88%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.calendar-modal-backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:default}.calendar-modal-backdrop:disabled{cursor:wait}.sync-classes-modal,.sync-provider-modal{position:relative;z-index:1}.add-class-modal.is-extraction-workspace{width:min(1220px,calc(100vw - 32px));height:min(820px,calc(100vh - 32px));max-height:none;padding:10px;overflow:hidden;transition:width .35s cubic-bezier(.22,1,.36,1)}.add-class-modal.is-extraction-workspace .modal-inner-frame{height:100%;padding:0;display:grid;grid-template-rows:auto 1fr;overflow:hidden}.add-class-modal.is-extraction-workspace .modal-inner-frame>header{padding:17px 20px;border-bottom:1px solid var(--app-line)}.add-class-modal.is-extraction-workspace .modal-inner-frame>header p{display:none}.syllabus-file-queue{margin-top:20px}.queue-summary{height:42px;display:flex;align-items:center;justify-content:space-between;color:var(--app-muted);font-size:12px}.queue-summary strong{color:var(--app-text);font-size:14px}.queue-file{min-height:64px;margin-bottom:9px;padding:10px 11px;display:grid;grid-template-columns:42px 1fr 36px;align-items:center;gap:10px;border:1px solid var(--app-line);border-radius:7px;background:var(--app-panel)}.queue-file.is-failed{border-color:#d16b61;background:color-mix(in srgb,#f7d8d4 45%,var(--app-panel))}.queue-file-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:6px;background:var(--app-soft)}.queue-file-icon svg{width:19px}.queue-file small,.queue-file strong{display:block;max-width:430px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-file strong{font-size:13px}.queue-file small{margin-top:5px;color:var(--app-muted);font-size:11px;text-transform:capitalize}.queue-file.is-failed small{color:#9a3028}.queue-file>button{width:36px;height:36px;padding:0;display:grid;place-items:center;border:0;border-radius:5px;background:transparent;color:var(--app-muted);cursor:pointer}.queue-file>button:hover{background:var(--app-soft)}.queue-file>button svg{width:16px}.add-another-file{height:44px;padding:0 12px;display:flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--app-text);cursor:pointer;font-weight:600}.add-another-file svg{width:16px}.queue-actions{margin-top:16px;padding-top:16px;display:flex;justify-content:space-between;border-top:1px solid var(--app-line)}.syllabus-analyzing{min-height:480px;display:grid;place-items:center;align-content:center}.syllabus-analyzing .dg-loader{min-height:auto}.analysis-checklist{width:min(340px,100%);margin:30px auto 0;padding:0;display:grid;gap:13px;list-style:none}.analysis-checklist li{display:flex;align-items:center;gap:10px;color:var(--app-muted);font-size:13px}.analysis-checklist li>span,.analysis-checklist li>svg{width:22px;height:22px;padding:4px;border:1px solid var(--app-line);border-radius:50%}.analysis-checklist li.complete{color:#287443}.analysis-checklist li.complete>svg{background:#dff1e5;border-color:#89c39b}.analysis-checklist li.active>span{border-color:transparent #5968ff #5968ff;animation:queueSpin .8s linear infinite}.extraction-workspace{position:relative;min-height:0;display:grid;grid-template-rows:auto auto 1fr;overflow:hidden}.extraction-header{height:46px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--app-line)}.extraction-header>div{display:flex;align-items:center;gap:10px}.extraction-header>div span{padding-left:10px;border-left:1px solid var(--app-line);color:var(--app-muted);font-size:11px}.extraction-header>button{border:0;border-bottom:1px solid;background:transparent;color:var(--app-muted);cursor:pointer;font-size:11px}.extraction-stepper{height:64px;padding:0 22px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--app-line)}.extraction-stepper>span{position:relative;min-width:145px;display:flex;align-items:center;gap:8px;color:var(--app-muted);font-size:12px}.extraction-stepper>span:not(:last-child):after{content:"";width:54px;height:1px;margin-left:auto;background:var(--app-line)}.extraction-stepper i{width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--app-line);border-radius:50%;font-size:11px;font-style:normal}.extraction-stepper i svg{width:14px}.extraction-stepper span.complete{color:var(--app-text);font-weight:700}.extraction-stepper span.complete i{border-color:#5968ff;background:#5968ff;color:#fff}.extraction-columns{min-height:0;display:grid;grid-template-columns:45% 55%;overflow:hidden}.source-preview{min-width:0;padding:18px;border-right:1px solid var(--app-line);background:var(--app-soft)}.source-preview iframe{width:100%;height:100%;border:0;border-radius:5px;background:#fff;box-shadow:0 6px 25px rgba(0,0,0,.1)}.text-source-preview{height:100%;display:grid;place-items:center;align-content:center;text-align:center}.text-source-preview svg{width:52px}.text-source-preview p{max-width:300px;color:var(--app-muted);line-height:1.5}.extraction-review-panel{min-width:0;padding:18px 22px 0;overflow:auto}.parser-notice{margin-bottom:17px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:6px;background:#e3f0e5;color:#28643a}.parser-notice.is-local{background:#fff3d5;color:#815713}.parser-notice span{font-size:12px;font-weight:800}.parser-notice small{text-align:right;font-size:10px}.workspace-title{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.workspace-title small{color:#5968ff;font-size:9px;font-weight:900;letter-spacing:1.1px}.workspace-title h2{margin:6px 0 0;font-size:23px}.workspace-title p{margin:6px 0 0;color:var(--app-muted);font-size:12px}.class-emoji-preview{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;font-size:25px}.class-personalization{margin:18px 0;display:flex;align-items:center;justify-content:space-between;gap:14px}.course-color-options,.emoji-options{display:flex;align-items:center;gap:6px}.course-color-options button,.emoji-options button{width:31px;height:31px;padding:0;display:grid;place-items:center;border:2px solid transparent;border-radius:50%;background:var(--app-soft);cursor:pointer}.course-color-options button[aria-pressed=true],.emoji-options button[aria-pressed=true]{border-color:var(--app-text);box-shadow:0 0 0 2px var(--app-bg)}.course-color-options button{color:#fff}.course-color-options button svg{width:15px}.extraction-warning,.past-syllabus-warning{margin:14px 0;padding:12px;border:1px solid #e7c56d;border-radius:6px;background:#fff7de;color:#6d5010;font-size:12px}.class-info-grid{margin-top:17px;display:grid;grid-template-columns:1fr 1fr;gap:13px}.assignment-fields label,.assignment-review-card>label,.class-info-grid label{display:grid;gap:6px;color:var(--app-muted);font-size:11px;font-weight:700}.class-info-grid label.wide{grid-column:1/-1}.assignment-review-card input,.assignment-review-card select,.class-info-grid input,.class-info-grid textarea,.meeting-slot input,.meeting-slot select{width:100%;min-width:0;min-height:40px;padding:0 10px;border:1px solid var(--app-line);border-radius:5px;background:var(--app-panel);color:var(--app-text)}.class-info-grid textarea{min-height:72px;padding-top:9px;resize:vertical}.term-inputs{display:grid;grid-template-columns:1fr 95px;gap:7px}.meeting-editor{margin-top:23px;padding-top:18px;border-top:1px solid var(--app-line)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading h3{margin:0;font-size:15px}.empty-meetings,.section-heading p{margin:5px 0 0;color:var(--app-muted);font-size:11px}.add-assignment-button,.section-heading button{height:34px;padding:0 10px;display:flex;align-items:center;gap:6px;border:1px solid var(--app-line);border-radius:5px;background:var(--app-bg);color:var(--app-text);cursor:pointer;font-size:11px;font-weight:700}.add-assignment-button svg,.section-heading button svg{width:14px}.meeting-slot{margin-top:10px;display:grid;grid-template-columns:1fr 105px 20px 105px 32px;align-items:center;gap:7px}.meeting-slot>span{text-align:center;color:var(--app-muted);font-size:11px}.meeting-slot>button{height:32px;padding:0;display:grid;place-items:center;border:0;background:transparent;color:#a23a32;cursor:pointer}.meeting-slot>button svg{width:16px}.workspace-actions{position:sticky;z-index:3;bottom:0;margin:24px -22px 0;padding:14px 22px;display:flex;justify-content:space-between;border-top:1px solid var(--app-line);background:color-mix(in srgb,var(--app-bg) 95%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.workspace-actions .button{height:40px}.workspace-actions .button svg{width:15px}.past-syllabus-warning{display:flex;align-items:center;justify-content:space-between;gap:15px}.past-syllabus-warning span,.past-syllabus-warning strong{display:block}.past-syllabus-warning span{margin-top:4px}.past-syllabus-warning button{height:34px;padding:0 10px;flex:0 0 auto;border:1px solid #b89134;border-radius:5px;background:#fff;color:#604509;cursor:pointer;font-weight:700}.assignment-filters{margin:16px 0;display:flex;gap:6px;overflow:auto}.assignment-filters button{height:31px;padding:0 9px;display:flex;align-items:center;gap:6px;white-space:nowrap;border:1px solid var(--app-line);border-radius:99px;background:var(--app-bg);color:var(--app-muted);cursor:pointer;font-size:10px;font-weight:700}.assignment-filters button[aria-pressed=true]{border-color:var(--app-text);background:var(--app-text);color:var(--app-bg)}.assignment-filters button span{opacity:.7}.assignment-review-list{display:grid;gap:12px}.assignment-review-card{padding:13px;border:1px solid var(--app-line);border-left:4px solid #45a468;border-radius:7px;background:var(--app-panel)}.assignment-review-card.is-duplicate,.assignment-review-card.is-missing-date,.assignment-review-card.is-needs-review{border-left-color:#e2a329}.assignment-review-card.is-excluded{opacity:.62;border-left-color:#999}.assignment-review-card>header{margin-bottom:11px;display:flex;align-items:center;justify-content:space-between}.assignment-review-card>header label{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:800}.assignment-review-card>header input{accent-color:#5968ff}.assignment-review-card>header>div{display:flex;align-items:center;gap:8px}.confidence-label{padding:4px 7px;border-radius:99px;background:var(--app-soft);color:var(--app-muted);font-size:9px;font-weight:800}.assignment-review-card>header button{width:28px;height:28px;padding:0;display:grid;place-items:center;border:0;background:transparent;color:#a73a32;cursor:pointer}.assignment-review-card>header button svg{width:15px}.assignment-review-card input[aria-invalid=true]{border-color:#c74c42}.assignment-fields{margin-top:10px;display:grid;grid-template-columns:1fr 1.25fr .85fr 1.25fr;gap:8px}.assignment-fields label small{font-weight:400}.assignment-evidence{margin-top:11px;display:flex;flex-wrap:wrap;gap:6px}.warning-chip{padding:5px 7px;border-radius:4px;background:#fff0c4;color:#71510a;font-size:9px}.assignment-evidence details{flex:1 1 100%;padding:7px 9px;border-radius:5px;background:var(--app-soft);font-size:10px}.assignment-evidence summary{cursor:pointer;color:var(--app-muted);font-weight:700}.assignment-evidence blockquote{margin:8px 0 0;padding-left:9px;border-left:2px solid #5968ff;color:var(--app-muted);line-height:1.45}.empty-assignment-filter{min-height:150px;display:grid;place-items:center;align-content:center;color:var(--app-muted)}.empty-assignment-filter svg{width:25px}.empty-assignment-filter p{font-size:12px}.undo-toast{position:sticky;z-index:5;bottom:70px;width:max-content;max-width:100%;margin:12px auto;padding:10px 13px;display:flex;align-items:center;gap:18px;border-radius:6px;background:#111;color:#fff;box-shadow:0 8px 25px rgba(0,0,0,.2);font-size:11px}.undo-toast button{color:#fff;font-weight:800}.extraction-header-actions button,.undo-toast button{border:0;border-bottom:1px solid;background:transparent;cursor:pointer}.extraction-header-actions button{color:var(--app-muted);font-size:11px}.mobile-source-button,.mobile-source-sheet{display:none}@keyframes queueSpin{to{transform:rotate(1turn)}}.dg-loader{min-height:calc(100vh - 73px);flex-direction:column;justify-content:center;color:var(--app-text)}.dg-loader,.dg-loader-squares{display:flex;align-items:center}.dg-loader-squares{height:46px;gap:6px}.dg-loader-squares i{width:30px;height:30px;border:2px solid;border-radius:2px;animation:loaderBounce 1s ease-in-out infinite}.dg-loader-squares i:first-child{border-color:#ef7673;background:rgba(239,118,115,.1)}.dg-loader-squares i:nth-child(2){border-color:#83bd78;background:rgba(131,189,120,.1);animation-delay:.08s}.dg-loader-squares i:nth-child(3){border-color:#6f78ed;background:rgba(111,120,237,.1);animation-delay:.16s}.dg-loader-squares i:nth-child(4){border-color:#e6bd52;background:rgba(230,189,82,.1);animation-delay:.24s}.dg-loader-squares i:nth-child(5){border-color:#a55aaa;background:rgba(165,90,170,.1);animation-delay:.32s}.dg-loader strong{margin-top:8px;font-size:20px}.dg-loader-compact{min-height:140px}.dg-loader-compact .dg-loader-squares i{width:24px;height:24px}.dg-loader-compact strong{font-size:15px}.app-route-loading{min-height:calc(100vh - 73px)}.settings-page{width:min(736px,calc(100% - 48px));margin:0 auto;padding:34px 0 80px}.settings-page>header h1{margin:0;font-size:32px;letter-spacing:-1px}.settings-page>header p{margin:10px 0 0;color:var(--app-muted)}.settings-tabs{width:max-content;margin:27px 0 31px;padding:5px;display:flex;border-radius:7px;background:var(--app-soft)}.settings-tabs button{height:38px;padding:0 20px;display:flex;align-items:center;gap:9px;border:0;border-radius:6px;background:transparent;color:var(--app-muted);cursor:pointer;font-weight:600}.settings-tabs button[aria-selected=true]{background:var(--app-bg);color:var(--app-text);box-shadow:0 1px 3px rgba(0,0,0,.05)}.settings-tabs svg{width:17px}.settings-stack{display:grid;gap:26px}.settings-card{padding:25px;border-radius:6px;background:var(--app-panel)}.settings-card-heading>strong{display:flex;align-items:center;gap:8px;font-size:16px}.settings-card-heading svg{width:18px}.settings-card-heading p{margin:7px 0 0;color:var(--app-muted);font-size:13px}.settings-avatar-row{margin-top:25px;display:flex;align-items:center;gap:23px}.settings-avatar-row>span{width:96px;height:96px;display:grid;place-items:center;border-radius:50%;font-size:49px}.settings-avatar-row>div small,.settings-avatar-row>div strong{display:block}.settings-avatar-row>div small{margin-top:7px;color:var(--app-muted)}.settings-form{margin-top:25px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.settings-form label{display:grid;gap:8px;font-size:13px;font-weight:600}.settings-form label:nth-child(3){grid-column:1/-1}.settings-form input{height:45px;padding:0 12px;border:1px solid var(--app-line);border-radius:5px;background:var(--app-bg);color:var(--app-text)}.settings-form>div{grid-column:1/-1;display:flex;align-items:center;gap:14px}.settings-success{color:#2d7a44;font-size:12px}.settings-error{color:#ad332d;font-size:12px}.connected-account{margin-top:24px;padding:17px;display:grid;grid-template-columns:45px 1fr auto;align-items:center;gap:14px;border:1px solid var(--app-line);border-radius:6px;background:var(--app-bg)}.connected-account>span{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#edf1ff;color:#4254d9;font-weight:800}.connected-account p,.connected-account small{margin:4px 0 0;color:var(--app-muted);font-size:12px}.connected-account>i{padding:5px 8px;border-radius:99px;background:#eceef1;color:var(--app-muted);font-size:10px;font-style:normal}.connected-account>i.connected{background:#dcefe1;color:#2d7342}.notification-settings{display:grid;gap:0}.notification-row{width:100%;min-height:78px;padding:0;display:grid;grid-template-columns:1fr 46px;align-items:center;border:0;border-top:1px solid var(--app-line);background:transparent;color:var(--app-text);cursor:pointer;text-align:left}.notification-row:first-of-type{margin-top:24px}.notification-row small,.notification-row strong{display:block}.notification-row small{margin-top:6px;color:var(--app-muted)}.notification-row>i{position:relative;width:43px;height:24px;border-radius:20px;background:#c6c9cf;transition:background .2s}.notification-row>i:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:transform .2s}.notification-row[aria-checked=true]>i{background:#5564ff}.notification-row[aria-checked=true]>i:after{transform:translateX(19px)}.calendar-page{position:relative;min-height:calc(100vh - 73px);padding:16px;background:var(--app-bg);overflow:hidden}.calendar-toolbar{height:52px;margin:0;display:flex;align-items:center;justify-content:space-between}.calendar-nav{display:flex;align-items:center;gap:14px}.calendar-nav .button{min-width:76px;height:40px;border:2px solid var(--app-text);background:var(--app-bg);color:var(--app-text)}.calendar-nav .icon-button{width:32px;height:36px;border:0;background:transparent;color:var(--app-text)}.calendar-nav .icon-button svg{width:18px}.calendar-nav h2{margin:0 0 0 4px;font-size:21px}.calendar-zone{font-size:11px}.calendar-filter-row{height:52px;display:flex;align-items:center;gap:8px}.calendar-filter-row .search-field{width:404px;height:37px;flex:1 1 404px;border:0;background:var(--app-soft)}.calendar-filter-row .search-field input{width:100%;color:var(--app-text);font-size:14px}.calendar-filter-button{width:38px;height:37px;display:grid;place-items:center;border:2px solid var(--app-text);border-radius:6px;background:var(--app-bg);color:var(--app-text);cursor:pointer}.calendar-filter-button.active{background:var(--app-text);color:var(--app-bg)}.calendar-filter-button svg{width:17px}.calendar-actions{margin-left:auto;display:flex;align-items:center;gap:8px;white-space:nowrap}.calendar-actions .sync-wrap{display:block}.calendar-actions .sync-wrap .button,.calendar-new-event,.calendar-view-button{height:38px!important;min-height:38px;border-radius:6px}.calendar-actions .sync-wrap .inline-status{position:absolute;top:104px;right:16px}.calendar-new-event{padding-inline:13px}.view-menu-wrap{position:relative}.calendar-view-button{min-width:90px;padding:0 11px;display:flex;align-items:center;justify-content:space-between;gap:9px;border:2px solid var(--app-text);background:var(--app-bg);color:var(--app-text);cursor:pointer}.calendar-view-button svg{width:15px}.calendar-view-menu{position:absolute;z-index:15;top:42px;right:0;width:128px;padding:7px;border:1px solid var(--app-line);border-radius:6px;background:var(--app-bg);box-shadow:0 12px 28px rgba(0,0,0,.14)}.calendar-view-menu button{width:100%;height:44px;padding:0 9px;display:flex;align-items:center;justify-content:space-between;border:0;border-radius:4px;background:transparent;color:var(--app-text);cursor:pointer}.calendar-view-menu button:hover{background:var(--app-soft)}.calendar-view-menu kbd{width:19px;height:19px;display:grid;place-items:center;border:1px solid var(--app-text);border-radius:4px;background:transparent;font:10px Arial}.calendar-scroll{height:calc(100vh - 193px);overflow:auto;border:0;background:var(--app-panel)}.calendar-time-grid{min-width:900px}.calendar-week-head{height:68px;display:grid;grid-template-columns:80px repeat(7,1fr);background:var(--app-panel)}.calendar-week-head>span{padding:12px 0 0 31px;font-size:11px}.calendar-week-head header{display:grid;grid-template-columns:auto auto;align-content:start;justify-content:center;gap:4px 6px;padding-top:9px;font-size:13px}.calendar-week-head header strong{font-weight:500}.calendar-week-head header.today strong{font-weight:800}.calendar-week-head header button{grid-column:1/-1;height:36px;padding:0 10px;display:flex;align-items:center;justify-content:center;gap:5px;border:2px solid var(--app-text);border-radius:6px;background:var(--app-bg);color:var(--app-text);cursor:pointer;font-size:11px}.calendar-week-head header button:hover{background:var(--app-text);color:var(--app-bg)}.calendar-week-head header button svg{width:13px}.calendar-time-body{display:grid;grid-template-columns:80px repeat(7,1fr)}.calendar-time-grid.is-day-view{min-width:600px}.calendar-time-grid.is-day-view .calendar-all-day-row,.calendar-time-grid.is-day-view .calendar-time-body,.calendar-time-grid.is-day-view .calendar-week-head{grid-template-columns:80px 1fr}.calendar-all-day-row{min-height:44px;display:grid;grid-template-columns:80px repeat(7,1fr);border-block:1px solid var(--app-line);background:var(--app-bg)}.calendar-all-day-row>span{padding:14px 0 0 15px;color:var(--app-muted);font-size:10px;font-weight:700}.calendar-all-day-row>section{min-width:0;padding:4px;border-left:1px solid var(--app-line)}.calendar-all-day-row .calendar-event{min-height:34px;padding:4px 6px}.calendar-all-day-row .calendar-event small,.calendar-all-day-row .calendar-event>span{display:none}.calendar-all-day-row .calendar-event strong{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.calendar-hours{height:1152px;display:grid;grid-template-rows:repeat(18,64px);background:var(--app-panel)}.calendar-hours span{padding:6px 0 0 15px;font-size:13px;font-weight:600}.calendar-time-body>section{position:relative;min-height:1152px;border-left:1px solid rgba(180,183,190,.22);background:repeating-linear-gradient(180deg,transparent 0 63px,rgba(180,183,190,.28) 63px 64px)}.theme-dark .calendar-time-body>section.today{background-color:#24293a}.calendar-event-position{position:absolute;right:6px;left:6px;z-index:2}.calendar-event{position:static;width:100%;margin:0;padding:8px;display:block;border:0;border-left:5px solid var(--course-color);border-radius:5px;background:color-mix(in srgb,var(--course-color) 26%,var(--app-bg));color:var(--app-text);box-shadow:0 2px 6px rgba(0,0,0,.08);cursor:pointer;text-align:left}.calendar-event small,.calendar-event span{display:block;color:var(--app-muted);font-size:9px}.calendar-event strong{display:block;margin:5px 0;font-size:11px;line-height:1.25}.calendar-filter-drawer{position:fixed;z-index:60;top:73px;right:0;bottom:0;width:320px;padding:21px 16px;border-left:1px solid var(--app-line);background:var(--app-bg);box-shadow:-14px 0 35px rgba(0,0,0,.08);transform:translateX(105%);transition:transform .28s cubic-bezier(.22,1,.36,1)}.calendar-filter-drawer.open{transform:translateX(0)}.calendar-filter-drawer>header{display:flex;align-items:center;justify-content:space-between}.calendar-filter-drawer h2,.calendar-filter-drawer h3{display:flex;align-items:center;gap:8px}.calendar-filter-drawer h2{margin:0;font-size:17px}.calendar-filter-drawer h3{margin:40px 0 20px;padding-bottom:22px;border-bottom:3px solid var(--app-line);font-size:14px}.calendar-filter-drawer svg{width:19px}.calendar-filter-drawer header button{width:28px;height:28px;padding:0;display:grid;place-items:center;border:0;background:transparent;color:var(--app-text);cursor:pointer}.calendar-filter-drawer>div{display:grid;gap:8px}.calendar-filter-drawer label{min-height:58px;padding:11px;display:flex;align-items:center;gap:10px;border:1px solid var(--app-line);border-radius:6px;cursor:pointer}.calendar-filter-drawer input{position:absolute;opacity:0}.calendar-filter-drawer label>i{width:16px;height:16px;border:2px solid;border-radius:50%;box-shadow:inset 0 0 0 3px var(--app-bg)}.calendar-filter-drawer label>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.calendar-filter-drawer>div>p{color:var(--app-muted);font-size:13px}.month-calendar{min-width:760px}.month-weekdays{height:38px;display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--app-line)}.month-weekdays span{display:grid;place-items:center;color:var(--app-muted);font-size:11px;font-weight:700}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(6,minmax(115px,1fr))}.month-grid>section{padding:8px;border-right:1px solid var(--app-line);border-bottom:1px solid var(--app-line);overflow:hidden}.month-grid>section:nth-child(7n){border-right:0}.month-grid>section>button:first-child{width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--app-text);cursor:pointer}.month-grid>section.today>button:first-child{background:var(--app-text);color:var(--app-bg)}.month-grid>section.outside{opacity:.4}.month-event{width:100%;margin-top:5px;padding:5px 6px;overflow:hidden;border:0;border-left:4px solid var(--course-color);border-radius:3px;background:color-mix(in srgb,var(--course-color) 24%,var(--app-bg));color:var(--app-text);cursor:pointer;text-align:left;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.agenda-calendar{min-height:100%;padding:20px;background:var(--app-bg)}.agenda-calendar>button{width:100%;min-height:82px;padding:0 15px;display:grid;grid-template-columns:58px 5px 1fr;align-items:center;gap:15px;border:0;border-bottom:1px solid var(--app-line);background:transparent;color:var(--app-text);cursor:pointer;text-align:left}.agenda-calendar>button:hover{background:var(--app-panel)}.agenda-calendar time span,.agenda-calendar time strong{display:block;text-align:center}.agenda-calendar time strong{font-size:25px}.agenda-calendar time span{font-size:10px;color:var(--app-muted)}.agenda-calendar>button>i{width:5px;height:48px;border-radius:4px}.agenda-calendar>button>span{display:grid;grid-template-columns:1fr auto;gap:5px}.agenda-calendar>button small{grid-column:1/-1;color:var(--app-muted)}.agenda-calendar>button strong{font-size:15px}.agenda-calendar em{font-size:12px;font-style:normal;color:var(--app-muted)}.calendar-no-results{min-height:350px;display:grid;place-items:center;align-content:center;color:var(--app-muted)}.calendar-no-results svg{width:42px}.calendar-no-results p{margin:12px 0}.calendar-event-modal{width:min(673px,calc(100vw - 32px));max-height:calc(100vh - 40px);padding:48px;border-radius:7px;background:var(--app-bg);color:var(--app-text);overflow:auto;animation:modalRise .25s cubic-bezier(.22,1,.36,1)}.calendar-event-modal>header{display:flex;align-items:flex-start;justify-content:space-between}.calendar-event-modal h2{margin:0;font-size:20px}.calendar-event-modal header p{margin:7px 0 0;color:var(--app-muted)}.calendar-event-modal header button,.event-detail-modal>button{width:30px;height:30px;padding:0;display:grid;place-items:center;border:0;background:transparent;color:var(--app-text);cursor:pointer}.calendar-event-modal header svg{width:20px}.calendar-event-modal form{margin-top:25px;display:grid;grid-template-columns:1fr 1fr;gap:18px 15px}.calendar-event-modal form label{display:grid;gap:8px;font-size:13px;font-weight:600}.calendar-event-modal input,.calendar-event-modal select,.calendar-event-modal textarea{width:100%;min-height:48px;padding:0 13px;border:0;border-radius:6px;background:var(--app-soft);color:var(--app-text)}.calendar-event-modal textarea{min-height:96px;padding-top:12px;resize:vertical}.calendar-event-modal .event-notes{grid-column:1/-1}.calendar-form-error{grid-column:1/-1;margin:0;color:#b3352d}.calendar-event-modal .event-editor-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}.event-detail-modal{position:relative;width:min(480px,calc(100vw - 32px));padding:34px;border-radius:7px;background:var(--app-bg);color:var(--app-text);animation:modalRise .25s cubic-bezier(.22,1,.36,1)}.event-detail-modal>button{position:absolute;top:18px;right:18px}.event-detail-modal>span{width:42px;height:8px;display:block;margin-bottom:25px;border-radius:99px}.event-detail-modal>small{color:var(--app-muted);text-transform:uppercase;letter-spacing:.7px}.event-detail-modal h2{margin:10px 0;font-size:27px}.event-detail-modal time{color:var(--app-muted)}.event-detail-modal p{margin:25px 0 0;padding-top:20px;border-top:1px solid var(--app-line);line-height:1.5}.event-detail-modal a{margin-top:25px;display:inline-flex;align-items:center;gap:7px;text-decoration:underline}.event-detail-modal a svg{width:15px}@keyframes loaderBounce{0%,55%,to{transform:translateY(0)}25%{transform:translateY(-13px)}}@keyframes modalFade{0%{opacity:0}to{opacity:1}}@keyframes modalRise{0%{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:1050px){.calendar-actions .sync-wrap .button{padding-inline:10px}.calendar-actions .sync-wrap .button svg{display:none}.calendar-new-event{font-size:0}.calendar-new-event svg{margin:0}.calendar-filter-row .search-field{flex-basis:260px}}@media (max-width:800px){.precision-sidebar{width:255px;transform:translateX(-105%);box-shadow:18px 0 45px rgba(0,0,0,.15)}.precision-sidebar.is-mobile-open{transform:translateX(0)}.precision-sidebar.is-collapsed{width:255px}.precision-sidebar.is-collapsed .precision-profile{height:36px;padding:0 7px 0 8px;display:flex;gap:8px}.precision-sidebar.is-collapsed .precision-nav span,.precision-sidebar.is-collapsed .precision-profile>div,.precision-sidebar.is-collapsed .settings-link span{display:block}.precision-sidebar.is-collapsed .precision-profile>div strong{line-height:20px}.precision-sidebar.is-collapsed .precision-profile>div span{margin-top:0;line-height:16px}.precision-sidebar.is-collapsed .focus-widget,.precision-sidebar.is-collapsed .lecture-recorder{display:block}.precision-sidebar.is-collapsed .precision-nav{margin-top:39px}.precision-sidebar.is-collapsed .precision-nav>a,.precision-sidebar.is-collapsed .precision-nav>button,.precision-sidebar.is-collapsed .settings-link{width:100%;padding:0 13px;justify-content:flex-start}.precision-sidebar.is-collapsed .precision-nav>button svg:last-child{display:block}.precision-sidebar .collapse-button{display:none}.app-nav-scrim{position:fixed;inset:0;z-index:49;border:0;background:rgba(0,0,0,.42)}.precision-topbar{display:none}.precision-app-shell .app-main,.precision-app-shell.has-expanded-sidebar .app-main{margin-left:0;padding-top:62px}.mobile-app-header{position:fixed;z-index:45;inset:0 0 auto;height:62px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--app-line);background:var(--app-bg)}.mobile-app-header>button{width:38px;height:38px;padding:0;display:grid;place-items:center;border:0;background:transparent;color:var(--app-text)}.mobile-app-header svg{width:22px}.mobile-app-header .app-avatar{width:34px;height:34px;font-size:18px}.settings-page{width:calc(100% - 32px);padding-top:28px}.settings-form{grid-template-columns:1fr}.settings-form label:nth-child(3),.settings-form>div{grid-column:auto}.connected-account{grid-template-columns:42px 1fr}.connected-account>i{grid-column:2}.calendar-page{min-height:calc(100vh - 62px);padding:10px}.calendar-scroll{height:calc(100vh - 172px)}.calendar-toolbar{height:48px}.calendar-nav{gap:4px}.calendar-nav .button{min-width:58px}.calendar-nav h2{font-size:16px}.calendar-zone{display:none}.calendar-filter-row{height:52px}.calendar-filter-row .search-field{width:auto;min-width:0;flex:1 1}.calendar-actions .sync-wrap{display:none}.calendar-view-button{min-width:72px}.calendar-new-event{width:38px;padding:0;justify-content:center}.calendar-filter-drawer{top:62px;width:min(320px,100vw)}.calendar-event-modal{padding:28px}.calendar-event-modal form{grid-template-columns:1fr}.calendar-event-modal .event-editor-actions,.calendar-event-modal .event-notes{grid-column:auto}.add-class-modal.is-extraction-workspace{width:calc(100vw - 16px);height:calc(100dvh - 16px)}.extraction-columns{grid-template-columns:1fr}.source-preview{display:none}.extraction-review-panel{padding-inline:18px}.class-personalization{align-items:flex-start;flex-direction:column}.assignment-fields{grid-template-columns:1fr 1fr}.workspace-actions{margin-inline:-18px;padding-inline:18px}.mobile-source-button{display:inline-block}.extraction-header-actions{gap:14px!important}.mobile-source-sheet{position:fixed;inset:62px 0 0;z-index:120;display:grid;grid-template-rows:58px 1fr;padding:0;background:var(--app-bg);animation:modalRise .22s cubic-bezier(.22,1,.36,1)}.mobile-source-sheet>header{padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--app-line)}.mobile-source-sheet>header>div{min-width:0}.mobile-source-sheet>header span,.mobile-source-sheet>header strong{display:block;max-width:calc(100vw - 80px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-source-sheet>header strong{font-size:13px}.mobile-source-sheet>header span{margin-top:3px;color:var(--app-muted);font-size:10px}.mobile-source-sheet>header button{width:42px;height:42px;padding:0;display:grid;place-items:center;border:0;background:transparent;color:var(--app-text)}.mobile-source-sheet>header svg{width:20px}.mobile-source-sheet>iframe{width:100%;height:100%;border:0;background:#fff}}@media (max-width:540px){.app-modal-layer,.calendar-modal-layer{padding:8px;align-items:end}.add-class-modal,.calendar-event-modal{width:100%;max-height:calc(100vh - 20px);padding:10px;border-radius:10px 10px 0 0}.modal-inner-frame{padding:18px}.import-methods{gap:10px}.import-methods>button{min-height:78px}.settings-page>header h1{font-size:29px}.settings-tabs{width:100%}.settings-tabs button{flex:1 1}.settings-card{padding:18px}.settings-avatar-row>span{width:76px;height:76px;font-size:38px}.calendar-actions{gap:5px}.calendar-view-button{width:38px;min-width:38px;padding:0;font-size:0;justify-content:center}.calendar-view-button svg{display:block}.calendar-filter-button{flex:0 0 auto}.calendar-all-day-row,.calendar-time-body,.calendar-week-head{grid-template-columns:66px repeat(7,120px)}.calendar-hours span{padding-left:8px}.calendar-event-modal .event-editor-actions .button{flex:1 1}.add-class-modal.is-extraction-workspace{width:100%;height:100dvh;max-height:100dvh;padding:0;border:0;border-radius:0}.add-class-modal.is-extraction-workspace .modal-inner-frame>header{position:sticky;top:0;z-index:4}.extraction-header{padding-inline:14px}.extraction-stepper{height:52px;padding:0 12px;justify-content:flex-start;overflow:hidden}.extraction-stepper>span{min-width:auto;flex:1 1;font-size:10px}.extraction-stepper>span:not(:last-child):after{width:auto;flex:1 1;margin-inline:7px}.extraction-stepper i{width:22px;height:22px}.extraction-review-panel{padding:14px 14px 0}.parser-notice{align-items:flex-start;flex-direction:column}.parser-notice small{text-align:left}.workspace-title h2{font-size:20px}.class-info-grid{grid-template-columns:1fr}.class-info-grid label.wide{grid-column:auto}.course-color-options,.emoji-options{max-width:100%;overflow:auto}.meeting-slot{grid-template-columns:1fr 1fr 20px 1fr 32px}.meeting-slot select{grid-column:1/-1}.assignment-fields{grid-template-columns:1fr}.past-syllabus-warning{align-items:flex-start;flex-direction:column}.past-syllabus-warning button{width:100%}.workspace-actions{bottom:0}.workspace-actions .button{padding-inline:12px;font-size:11px}.queue-actions{position:sticky;bottom:0;background:var(--app-bg)}}.calendar-filter-drawer.open{animation:drawerIn .28s cubic-bezier(.22,1,.36,1)}@keyframes drawerIn{0%{transform:translateX(105%)}to{transform:translateX(0)}}@media (prefers-reduced-motion:reduce){.add-class-modal,.analysis-checklist li.active>span,.calendar-event-modal,.calendar-filter-drawer.open,.dg-loader-squares i,.dg-select-content,.event-detail-modal{animation:none}}.calendar-time-body>section{cursor:crosshair;background-image:repeating-linear-gradient(180deg,transparent 0 15px,rgba(180,183,190,.14) 15px 16px),repeating-linear-gradient(180deg,transparent 0 63px,rgba(145,149,158,.34) 63px 64px)}.calendar-time-body>section:nth-child(odd){background-color:color-mix(in srgb,var(--app-soft) 70%,transparent)}.calendar-time-body>section.today{background-color:color-mix(in srgb,#eaf0ff 70%,var(--app-bg))}.calendar-grid-create-target{position:absolute;z-index:1;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:crosshair}.calendar-grid-create-target:focus-visible{outline:2px solid #5968ff;outline-offset:-2px}.calendar-event-position{right:auto;z-index:3;padding:2px;min-width:0}.calendar-event-position .calendar-event{height:100%;overflow:hidden}.calendar-event-position .calendar-event strong{margin:0 0 4px}.calendar-event-timeblock{border:1px dashed color-mix(in srgb,var(--course-color) 72%,var(--app-text));border-left:7px solid var(--course-color);background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--course-color) 17%,var(--app-bg)) 0 9px,color-mix(in srgb,var(--course-color) 9%,var(--app-bg)) 9px 18px);box-shadow:0 2px 8px color-mix(in srgb,var(--course-color) 18%,transparent)}.calendar-event-timeblock strong{font-size:12px}.calendar-event-timeblock small{font-weight:700}.calendar-event-assignment strong{font-weight:800}.calendar-overflow-button{position:absolute;right:4px;z-index:5;width:calc(33.333% - 8px);height:38px;border:1px solid var(--app-line);border-radius:5px;background:var(--app-bg);color:var(--app-text);box-shadow:0 2px 8px rgba(0,0,0,.12);cursor:pointer;font-size:10px;font-weight:800}.calendar-filter-backdrop{position:fixed;z-index:59;inset:73px 0 0;border:0;background:rgba(0,0,0,.12);cursor:default}.calendar-filter-drawer{pointer-events:none}.calendar-filter-drawer.open{pointer-events:auto}@media (max-width:800px){.calendar-time-grid:not(.is-day-view) .calendar-event-position{left:4px!important;right:4px!important;width:auto!important;top:var(--mobile-event-top)!important;height:62px!important;padding:2px}.calendar-time-grid:not(.is-day-view) .calendar-event{padding:7px 8px;display:flex;flex-direction:column;justify-content:center}.calendar-time-grid:not(.is-day-view) .calendar-event strong{order:1;margin:0 0 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.calendar-time-grid:not(.is-day-view) .calendar-event>span{order:2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:650}.calendar-time-grid:not(.is-day-view) .calendar-event>small{order:3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.calendar-time-grid:not(.is-day-view) .calendar-overflow-button{left:4px;right:4px;width:auto;top:var(--mobile-event-top)!important;height:58px}}.event-type-tabs{margin-top:24px;display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--app-line)}.event-type-tabs button{height:44px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--app-muted);cursor:pointer;font-weight:700}.event-type-tabs button[aria-selected=true]{border-color:var(--app-text);color:var(--app-text)}.calendar-event-modal form{margin-top:20px}.calendar-event-modal .event-title-field{grid-column:1/-1}.dg-form-field{min-width:0;display:grid;gap:8px}.dg-form-field>label{color:var(--app-text);font-size:13px;font-weight:600}.dg-form-field>label span{color:#5968ff}.dg-select-trigger{width:100%;min-width:0;min-height:48px;padding:0 13px;display:flex;align-items:center;justify-content:space-between;gap:10px;overflow:hidden;border:1px solid transparent;border-radius:7px;background:var(--app-soft);color:var(--app-text);cursor:pointer;text-align:left;transition:border-color .16s,background .16s,box-shadow .16s}.dg-select-trigger:hover{border-color:color-mix(in srgb,var(--app-text) 20%,transparent);background:color-mix(in srgb,var(--app-soft) 75%,var(--app-bg))}.dg-select-trigger:focus-visible{outline:0;border-color:#5968ff;box-shadow:0 0 0 3px color-mix(in srgb,#5968ff 22%,transparent)}.dg-select-trigger[data-placeholder]{color:var(--app-muted)}.dg-select-trigger>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dg-select-icon{width:18px;height:18px;flex:0 0 auto;color:var(--app-muted)}.dg-select-icon svg{width:18px;transition:transform .18s}.dg-select-trigger[data-state=open] .dg-select-icon svg{transform:rotate(180deg)}.dg-select-content{z-index:220;min-width:var(--radix-select-trigger-width);max-width:min(430px,calc(100vw - 24px));max-height:var(--radix-select-content-available-height);overflow:hidden;border:1px solid var(--app-line);border-radius:9px;background:var(--app-bg);color:var(--app-text);box-shadow:0 18px 45px rgba(0,0,0,.18);transform-origin:var(--radix-select-content-transform-origin);animation:selectPop .16s cubic-bezier(.22,1,.36,1)}.dg-select-viewport{padding:6px}.dg-select-item{position:relative;min-height:42px;padding:0 38px 0 11px;display:flex;align-items:center;border-radius:6px;outline:0;cursor:pointer;-webkit-user-select:none;user-select:none}.dg-select-item[data-highlighted]{background:var(--app-text);color:var(--app-bg)}.dg-select-item[data-state=checked]{font-weight:700}.dg-select-item-label{min-width:0;display:flex;align-items:center;gap:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dg-select-check{position:absolute;right:11px;width:18px;height:18px;display:grid;place-items:center}.dg-select-check svg{width:16px}.dg-select-scroll{width:100%;height:28px;display:grid;place-items:center;border:0;background:var(--app-bg);color:var(--app-muted);cursor:default}.dg-checkbox-field{grid-column:1/-1;display:flex;align-items:center;gap:10px}.dg-checkbox{width:21px!important;min-height:21px!important;height:21px!important;padding:0!important;display:grid;place-items:center;border:1.5px solid var(--app-line)!important;border-radius:5px!important;background:var(--app-bg)!important;color:#fff!important;cursor:pointer;transition:border-color .16s,background .16s,box-shadow .16s}.dg-checkbox[data-state=checked]{border-color:#5968ff!important;background:#5968ff!important}.dg-checkbox:focus-visible{outline:0;box-shadow:0 0 0 3px color-mix(in srgb,#5968ff 22%,transparent)}.dg-checkbox svg{width:14px}.dg-checkbox-field>label{cursor:pointer;font-size:13px;font-weight:600}@keyframes selectPop{0%{opacity:0;transform:scale(.98) translateY(-3px)}to{opacity:1;transform:scale(1) translateY(0)}}.duration-picker{grid-column:1/-1;margin:0;padding:0;border:0}.duration-picker legend{margin-bottom:9px;font-size:13px;font-weight:700}.duration-picker>div{display:flex;flex-wrap:wrap;gap:7px}.duration-picker>div button{min-width:52px;height:38px;padding:0 12px;border:1px solid var(--app-line);border-radius:6px;background:var(--app-bg);color:var(--app-text);cursor:pointer}.duration-picker>div button[aria-pressed=true]{border-color:var(--app-text);background:var(--app-text);color:var(--app-bg)}.duration-picker>label{max-width:180px;margin-top:10px}.duration-picker input{min-height:42px}.calendar-event-modal .event-editor-actions{align-items:center}.event-editor-actions>span{flex:1 1}.button-danger{border-color:#b3352d!important;background:#b3352d!important;color:#fff!important}.overlap-event-modal{width:min(500px,calc(100vw - 32px));max-height:calc(100vh - 40px);padding:30px;border-radius:8px;background:var(--app-bg);color:var(--app-text);overflow:auto;animation:modalRise .25s cubic-bezier(.22,1,.36,1)}.overlap-event-modal>header{display:flex;align-items:flex-start;justify-content:space-between}.overlap-event-modal h2{margin:0;font-size:20px}.overlap-event-modal header p{margin:6px 0 0;color:var(--app-muted)}.overlap-event-modal header button{width:30px;height:30px;padding:0;display:grid;place-items:center;border:0;background:transparent;color:var(--app-text);cursor:pointer}.overlap-event-modal header svg{width:19px}.overlap-event-modal>div{margin-top:20px;display:grid;gap:8px}.overlap-event-modal>div>button{min-height:62px;padding:10px 12px;display:grid;grid-template-columns:6px 1fr 18px;align-items:center;gap:12px;border:1px solid var(--app-line);border-radius:6px;background:var(--app-panel);color:var(--app-text);cursor:pointer;text-align:left}.overlap-event-modal>div>button>i{width:6px;height:40px;border-radius:99px;background:var(--course-color)}.overlap-event-modal small,.overlap-event-modal strong{display:block}.overlap-event-modal small{margin-top:5px;color:var(--app-muted)}.sync-modal-layer{z-index:130}.sync-classes-modal,.sync-provider-modal{width:min(673px,calc(100vw - 32px));max-height:calc(100vh - 40px);padding:24px;border:2px solid var(--app-text);border-radius:8px;background:var(--app-soft);color:var(--app-text);box-shadow:0 18px 55px rgba(0,0,0,.28);overflow:auto;animation:modalRise .25s cubic-bezier(.22,1,.36,1)}.sync-classes-modal>header,.sync-provider-modal>header{padding:22px 24px 0;display:flex;align-items:flex-start;justify-content:space-between;background:var(--app-bg)}.sync-classes-modal h2,.sync-provider-modal h2{margin:0;display:flex;align-items:center;gap:8px;font-size:20px}.sync-classes-modal header p,.sync-provider-modal header p{margin:8px 0 0;color:var(--app-muted);font-size:14px}.sync-classes-modal header>button,.sync-provider-modal header>button{width:30px;height:30px;padding:0;display:grid;place-items:center;border:0;background:transparent;color:var(--app-text);cursor:pointer}.sync-classes-modal header svg,.sync-provider-modal header svg{width:19px}.sync-provider-list{padding:22px 24px;display:grid;gap:10px;background:var(--app-bg)}.sync-provider-list>button{min-height:76px;padding:12px 15px;display:grid;grid-template-columns:42px 1fr 18px;align-items:center;gap:13px;border:1px solid var(--app-line);border-radius:7px;background:var(--app-panel);color:var(--app-text);cursor:pointer;text-align:left}.sync-provider-list>button:not(:disabled):hover{border-color:var(--app-text);transform:translateY(-1px)}.sync-provider-list>button:disabled{cursor:not-allowed;opacity:.55}.sync-provider-list>button>span{width:42px;height:42px;display:grid;place-items:center;border-radius:8px;background:var(--app-soft);font-weight:900}.sync-provider-list small,.sync-provider-list strong{display:block}.sync-provider-list small{margin-top:5px;color:var(--app-muted)}.sync-classes-modal>footer,.sync-provider-modal>footer{padding:0 24px 22px;display:flex;justify-content:flex-end;background:var(--app-bg)}.sync-classes-modal h2>button{width:27px;height:27px;padding:0;display:grid;place-items:center;border:1px solid var(--app-text);border-radius:6px;background:transparent;color:var(--app-text);cursor:pointer}.sync-classes-modal h2>button svg{width:15px}.sync-select-all{padding:24px;display:flex;align-items:center;gap:12px;background:var(--app-bg);cursor:pointer;font-size:14px;font-weight:600}.sync-class-scroll input,.sync-select-all input{position:absolute;opacity:0}.sync-class-scroll label>span,.sync-select-all>span{width:20px;height:20px;display:grid;place-items:center;border:2px solid var(--app-text);border-radius:4px;background:var(--app-bg)}.sync-class-scroll input:checked+span,.sync-select-all input:checked+span{border-color:#5968ff;background:#5968ff;color:#fff}.sync-class-scroll label>span svg,.sync-select-all svg{width:13px}.sync-class-scroll{max-height:360px;padding:0 24px 22px;background:var(--app-bg);overflow:auto}.sync-class-scroll section+section{margin-top:18px}.sync-class-scroll h3{margin:0 0 9px;text-transform:uppercase;letter-spacing:.7px;font-size:11px}.sync-class-scroll article,.sync-class-scroll section>label{min-height:58px;margin-top:8px;padding:10px 12px;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;border:2px solid var(--app-line);border-radius:7px;background:var(--app-panel);cursor:pointer}.sync-class-scroll article.synced{border-color:#8a5cf6}.sync-class-scroll section>label.selected{border-color:#5968ff}.sync-class-scroll strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.sync-class-scroll small{color:var(--app-muted);font-size:10px}.sync-row-icon{font-weight:900}.sync-empty{margin:0;padding:30px;color:var(--app-muted);text-align:center}.sync-classes-modal>footer{align-items:center;gap:8px;padding-top:20px;border-top:1px solid var(--app-line)}.sync-classes-modal>footer>span{flex:1 1}.sync-classes-modal>footer .button{height:42px;display:flex;align-items:center;gap:7px}.sync-classes-modal>footer svg{width:15px}.sync-modal-error{margin:0;padding:10px 24px 16px;background:var(--app-bg);color:#b3352d;font-size:13px}@media (max-width:800px){.calendar-filter-backdrop{inset:62px 0 0}.calendar-actions .sync-wrap{display:block}.calendar-actions .sync-wrap .button{width:38px;padding:0;font-size:0}.calendar-actions .sync-wrap .button svg{display:block;margin:0}}@media (max-width:540px){.calendar-filter-row{height:96px;align-content:center;flex-wrap:wrap}.calendar-filter-row .search-field{width:auto;flex:1 1}.calendar-actions{width:100%;margin-left:0;flex:0 0 100%;justify-content:flex-end}.calendar-scroll{height:calc(100vh - 216px)}.calendar-event-modal,.overlap-event-modal,.sync-classes-modal,.sync-provider-modal{width:100%;max-height:calc(100dvh - 16px);padding:10px;border-radius:10px 10px 0 0}.calendar-event-modal .event-title-field,.duration-picker{grid-column:auto}.event-type-tabs{margin-top:16px}.duration-picker>div{display:grid;grid-template-columns:repeat(3,1fr)}.duration-picker>div button{padding:0 6px}.event-editor-actions{display:grid!important;grid-template-columns:1fr 1fr}.event-editor-actions>span{display:none}.event-editor-actions .button-danger,.event-editor-actions .button-light:first-child{grid-column:1/-1}.sync-classes-modal>header,.sync-provider-modal>header{padding:18px 16px 0}.sync-class-scroll,.sync-classes-modal>footer,.sync-provider-list,.sync-provider-modal>footer,.sync-select-all{padding-inline:16px}.sync-classes-modal>footer{display:grid;grid-template-columns:1fr 1fr}.sync-classes-modal>footer>span{display:none}.sync-classes-modal>footer .button:first-child{grid-column:1/-1}.sync-classes-modal>footer .button{justify-content:center}}.onboarding-shell{min-height:100vh;background:#fff;color:#111827}.onboarding-progress{position:relative;z-index:20;width:100%;height:56px;background:#fff;color:#667085;font-size:14px}.onboarding-progress-track{width:100%;height:15px;overflow:hidden;background:#e1e4e8}.onboarding-progress-track>span{display:block;height:100%;background:#2f7df6;transition:width .42s cubic-bezier(.22,1,.36,1)}.onboarding-progress-meta{height:41px;padding:8px 16px 0;display:flex;justify-content:space-between;align-items:flex-start}.onboarding-stage{min-height:calc(100vh - 56px);padding:54px 16px 82px;display:grid;place-items:center}.onboarding-frame{width:min(672px,100%);padding:32px;border-radius:15px;background:#f3f4f6;transition:width .28s cubic-bezier(.22,1,.36,1)}.onboarding-frame.is-reviewing{width:min(980px,100%)}.onboarding-card{width:100%;min-height:420px;margin:0;padding:48px;display:flex;flex-direction:column;align-items:center;border-radius:14px;background:#fff;animation:onboardingStepIn .36s cubic-bezier(.22,1,.36,1)}.onboarding-frame.is-reviewing .onboarding-card{align-items:stretch}.onboarding-card>h1,.onboarding-card>h1.review-title{max-width:100%;margin:18px 0 0;color:#101828;font:700 36px/1.18 Arial,Helvetica,sans-serif;letter-spacing:-1.1px;text-align:center}.onboarding-card>h1.review-title{margin:0 0 25px}.avatar-preview,.onboarding-step-icon{width:72px;height:72px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;font-size:34px;line-height:1}.onboarding-step-icon.school-icon{background:#dcecff}.onboarding-step-icon.year-icon{background:#ffecd2}.onboarding-step-icon.upload-icon{background:#f0dcff;font-size:31px}.avatar-preview{font-size:45px}.onboarding-subtitle{max-width:520px!important;margin:9px auto 0!important;color:#525e70!important;font-size:18px!important;line-height:1.45!important;text-align:center}.school-combobox{position:relative;width:100%;margin-top:43px}.school-combobox label{display:block;margin-bottom:14px;color:#111827;font-size:16px;font-weight:650}.school-combobox input{width:100%;height:49px;padding:0 16px;border:2px solid #d0d5dd;border-radius:7px;background:#f4f5f7;color:#101828;font-size:16px;transition:border-color .15s,box-shadow .15s}.school-combobox input:focus{border-color:#98a2b3;outline:0;box-shadow:0 0 0 3px rgba(47,125,246,.12)}.school-results{position:absolute;z-index:30;top:78px;right:0;left:0;margin:0;padding:0;overflow:hidden;list-style:none;border:1px solid #d7dce3;border-radius:9px;background:#fff;box-shadow:0 14px 28px rgba(16,24,40,.17)}.school-results li{min-height:48px;padding:13px 16px;display:flex;align-items:center;color:#111827;font-size:16px;font-weight:600;line-height:1.3;cursor:pointer}.school-results li.active,.school-results li:hover{background:#f2f5f9}.year-grid{width:100%;margin:42px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.year-grid button{height:60px;border:2px solid #dfe2e7;border-radius:7px;background:#f4f5f7;color:#344054;font-size:16px;font-weight:650;cursor:pointer;transition:border-color .15s,background .15s,color .15s,transform .15s}.year-grid button:hover{transform:translateY(-1px);border-color:#aab3c1}.year-grid button.selected{border-color:#2f7df6;background:#edf4ff;color:#175cd3}.avatar-colors{width:100%;margin:33px 0 10px;display:flex;justify-content:center;gap:9px}.avatar-colors button{position:relative;width:34px;height:34px;padding:0;display:grid;place-items:center;flex:0 0 auto;border:2px solid transparent;border-radius:50%;color:#fff;cursor:pointer}.avatar-colors button.selected{border-color:#fff;box-shadow:0 0 0 2px #2f7df6}.avatar-colors button span{font-size:18px;font-weight:700;line-height:1}.avatar-grid{width:100%;margin:0;padding:10px 26px;display:grid;grid-template-columns:repeat(8,1fr);gap:3px 8px;border:2px solid #dfe3e8;border-radius:7px;background:#fff}.avatar-grid button{width:42px;height:45px;padding:0;display:grid;place-items:center;border:0;border-radius:7px;background:transparent;cursor:pointer;transition:background .15s,transform .15s}.avatar-grid button:hover{background:#f1f3f6;transform:translateY(-1px)}.avatar-grid button.selected{border:0;background:#eaf2ff;box-shadow:inset 0 0 0 2px #2f7df6}.avatar-grid button span{font:32px/1 Arial,sans-serif}.onboarding-actions{width:100%;margin-top:auto;padding-top:32px;display:flex;align-items:center;justify-content:space-between;gap:16px}.onboarding-back,.onboarding-next{min-width:92px;height:41px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:2px solid #111;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:transform .15s,background .15s,color .15s}.onboarding-back{background:#fff;color:#111}.onboarding-next{background:#050505;color:#fff}.onboarding-back:not(:disabled):hover,.onboarding-next:not(:disabled):hover{transform:translateY(-1px)}.onboarding-back:disabled,.onboarding-next:disabled{cursor:not-allowed;opacity:.42}.onboarding-error{width:100%}.onboarding-upload-stage{width:100%;margin-top:32px}.onboarding-upload-stage .dropzone{min-height:213px;padding:28px;gap:0;border:2px dashed #cbd2dc;border-radius:7px;background:#fff}.onboarding-upload-stage .dropzone.dragging,.onboarding-upload-stage .dropzone:hover{border-color:#2f7df6;background:#f8fbff}.onboarding-drop-icon{width:50px;height:50px;margin-bottom:12px;display:grid;place-items:center;color:#98a2b3}.onboarding-drop-icon svg{width:42px;height:42px}.onboarding-upload-stage .dropzone strong{color:#344054;font:600 18px/1.3 Arial,Helvetica,sans-serif}.onboarding-upload-stage .onboarding-drop-hint{margin-top:9px;color:#667085;font-size:14px}.onboarding-upload-stage .dropzone small{margin-top:9px;color:#98a2b3;font-size:12px}.onboarding-upload-note{max-width:100%!important;margin:16px 0 0!important;color:#667085!important;font-size:13px!important;line-height:1.45!important;text-align:center}.onboarding-upload-note strong{color:#344054}.onboarding-upload-actions{padding-top:31px}.onboarding-frame.is-reviewing .review-stage{margin:0}@keyframes onboardingStepIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (max-width:720px){.onboarding-progress{height:50px;font-size:12px}.onboarding-progress-track{height:10px}.onboarding-progress-meta{height:40px;padding:8px 12px 0}.onboarding-stage{min-height:calc(100vh - 50px);padding:22px 12px 42px;place-items:start center}.onboarding-frame,.onboarding-frame.is-reviewing{width:100%;padding:12px;border-radius:12px}.onboarding-card{min-height:calc(100vh - 98px);padding:32px 20px;border-radius:10px}.onboarding-card>h1,.onboarding-card>h1.review-title{font-size:29px;letter-spacing:-.7px}.avatar-preview,.onboarding-step-icon{width:64px;height:64px;font-size:31px}.avatar-preview{font-size:40px}.onboarding-subtitle{font-size:15px!important}.school-combobox{margin-top:34px}.school-results li{font-size:14px}.year-grid{grid-template-columns:repeat(2,1fr);margin-top:34px}.avatar-colors{flex-wrap:wrap;max-width:340px;margin-top:26px}.avatar-grid{grid-template-columns:repeat(6,1fr);padding:9px;gap:4px}.avatar-grid button{width:100%;height:43px}.avatar-grid button span{font-size:29px}.onboarding-upload-stage .dropzone{min-height:210px;padding:22px 14px}.onboarding-upload-stage .dropzone strong{font-size:16px}}@media (max-width:430px){.avatar-grid{grid-template-columns:repeat(4,1fr)}.onboarding-back,.onboarding-next{min-width:88px}}@media (prefers-reduced-motion:reduce){.onboarding-card,.onboarding-frame,.onboarding-progress-track>span{animation:none;transition:none}}.dashboard-reference-page{width:min(1120px,100%);margin:0 auto;padding:32px 48px 72px}.dashboard-view-row{height:49px;margin-bottom:24px;display:grid;grid-template-columns:226px 1fr;gap:14px}.dashboard-tabs{padding:5px;display:grid;grid-template-columns:1fr 1fr;border-radius:7px;background:var(--app-soft)}.dashboard-tabs button{border:0;border-radius:5px;background:transparent;color:var(--app-muted);cursor:pointer;font-weight:700}.dashboard-tabs button[aria-selected=true]{background:var(--app-bg);color:var(--app-text);box-shadow:0 1px 4px rgba(0,0,0,.06)}.ios-app-banner{min-width:0;padding:0 13px 0 16px;display:grid;grid-template-columns:22px 1fr auto 26px;align-items:center;gap:9px;border:1px solid var(--app-line);border-radius:7px;background:var(--app-panel)}.ios-app-banner p{margin:0;overflow:hidden;color:var(--app-text);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.ios-app-banner p strong{font-weight:700}.ios-app-banner>a{color:#4962d6;font-size:12px;font-weight:600}.ios-app-banner>button{width:26px;height:26px;padding:0;display:grid;place-items:center;border:0;background:transparent;color:var(--app-muted);cursor:pointer}.ios-app-banner svg{width:15px}.dashboard-greeting-card{min-height:153px;padding:27px 25px;display:grid;grid-template-columns:56px 1fr 150px;align-items:center;gap:16px;border:1px solid var(--app-line);border-radius:15px;background:var(--app-panel)}.dashboard-avatar{width:56px;height:56px;display:grid;place-items:center;border-radius:50%;color:#111;font:34px/1 Apple Color Emoji,Segoe UI Emoji,sans-serif}.dashboard-greeting-copy{min-width:0}.dashboard-greeting-copy>small{color:#8d93a0;font-size:9px;letter-spacing:.5px}.dashboard-greeting-copy h2{margin:5px 0 11px;overflow:hidden;font-size:23px;letter-spacing:-.5px;text-overflow:ellipsis;white-space:nowrap}.dashboard-greeting-copy h2 span{font-size:22px}.dashboard-greeting-copy>div{display:flex;flex-wrap:wrap;gap:5px}.dashboard-greeting-copy button{height:28px;padding:0 10px;border:0;border-radius:5px;background:var(--app-bg);color:var(--app-muted);cursor:pointer;font-size:11px}.dashboard-greeting-copy button strong{margin-right:3px;color:var(--app-text);font-size:13px}.dashboard-greeting-copy button.danger,.dashboard-greeting-copy button.danger strong{color:#ca4c58}.week-progress{position:relative;width:132px;height:92px;display:grid;place-items:center;align-content:end}.week-progress svg{position:absolute;inset:0;width:132px;height:78px}.week-progress path{fill:none;stroke:#e2e4e8;stroke-width:9;stroke-linecap:round}.week-progress path.week-progress-value{stroke:#5968ff}.week-progress>strong{z-index:1;margin-bottom:4px;font-size:23px}.week-progress>strong span{color:#949aa5;font-size:18px}.week-progress>small{z-index:1;color:var(--app-muted);font-size:10px}.dashboard-actions-row{height:41px;margin:24px 0 31px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.dashboard-actions-row .sync-wrap>button,.dashboard-actions-row>button,.preset-control>button{width:100%;height:41px;min-height:41px;padding:0 10px;display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:6px;background:#050505;color:#fff;box-shadow:none;cursor:pointer;font-size:12px;font-weight:500;white-space:nowrap}.dashboard-actions-row svg{width:15px}.dashboard-actions-row .sync-wrap{position:relative;min-width:0}.dashboard-actions-row .inline-status{position:absolute;z-index:8;top:46px;right:0;width:max-content;max-width:260px;padding:7px 9px;border-radius:5px;background:#111;color:#fff;font-size:10px}.dashboard-actions-row .inline-status.error{background:#a4312b}.preset-control{position:relative;min-width:0}.preset-popover{position:absolute;z-index:12;top:47px;left:50%;width:210px;padding:14px;transform:translateX(-50%);border:1px solid var(--app-line);border-radius:7px;background:var(--app-bg);box-shadow:0 13px 30px rgba(0,0,0,.15)}.preset-popover>strong{font-size:12px}.preset-popover>div{margin:11px 0;display:flex;gap:6px}.preset-popover i{width:22px;height:22px;border-radius:50%}.preset-popover>button{width:100%;height:34px;border:0;border-radius:5px;background:var(--app-text);color:var(--app-bg);cursor:pointer;font-size:11px;font-weight:700}.preset-popover>span{display:block;margin-top:8px;color:#af372e;font-size:10px}.preset-popover{width:340px;padding:16px}.preset-popover>.preset-options{margin:12px 0;display:grid;gap:7px}.preset-options>button{min-height:58px;padding:8px 10px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;border:1px solid var(--app-line);border-radius:7px;background:var(--app-panel);color:var(--app-text);cursor:pointer;text-align:left;transition:border-color .16s,box-shadow .16s,transform .16s}.preset-options>button:hover{transform:translateY(-1px);border-color:color-mix(in srgb,#5968ff 65%,var(--app-line));box-shadow:0 5px 14px rgba(0,0,0,.08)}.preset-options>button[aria-checked=true]{border-color:#5968ff;box-shadow:0 0 0 2px color-mix(in srgb,#5968ff 20%,transparent)}.preset-options>button>span b,.preset-options>button>span small{display:block}.preset-options>button>span b{font-size:11px}.preset-options>button>span small{margin-top:3px;color:var(--app-muted);font-size:9px}.preset-popover .preset-options i{width:auto;height:auto;display:grid;grid-template-columns:repeat(3,13px);gap:3px}.preset-popover .preset-options i span{width:13px;height:13px;border:1px solid rgba(0,0,0,.08);border-radius:50%}.dashboard-class-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.dashboard-class-card{min-height:212px;padding:19px 40px 15px;border:3px solid var(--course-color);border-radius:6px;background:color-mix(in srgb,var(--course-color) 9%,var(--app-bg));transition:transform .18s,box-shadow .18s}.dashboard-class-card:hover{transform:translateY(-2px);box-shadow:0 9px 22px rgba(0,0,0,.09)}.dashboard-class-heading{display:flex;align-items:center;gap:12px;min-width:0}.dashboard-class-heading>span{font-size:23px}.dashboard-class-heading h3{margin:0;overflow:hidden;font-size:22px;text-overflow:ellipsis;white-space:nowrap}.dashboard-class-card>p{margin:11px 0 19px;color:var(--app-muted);font-size:12px}.dashboard-class-card>strong{display:block;min-height:31px;font-size:12px;line-height:1.45}.dashboard-class-progress{height:15px;margin:14px 0 7px;padding:2px;border:2px solid var(--course-color);border-radius:999px}.dashboard-class-progress i{height:100%;display:block;border-radius:999px;background:var(--course-color)}.dashboard-class-card>small{font-size:10px}.dashboard-schedule-layout{display:grid;grid-template-columns:minmax(0,2.05fr) minmax(250px,.95fr);gap:24px}.dashboard-schedule-layout .dashboard-greeting-card{grid-template-columns:56px 1fr 136px}.dashboard-schedule-layout .dashboard-actions-row{margin-bottom:24px}.week-todo-panel>header{display:flex;align-items:center;justify-content:space-between}.week-todo-panel h3{margin:0;font-size:15px}.week-todo-panel header span{color:var(--app-muted);font-size:10px}.week-todo-panel article{min-height:67px;display:grid;grid-template-columns:28px 30px 1fr auto;align-items:center;gap:10px;border-bottom:1px solid var(--app-line)}.week-todo-panel label input{position:absolute;opacity:0}.week-todo-panel label>span{width:22px;height:22px;display:grid;place-items:center;border:2px solid #9ca2ac;border-radius:2px;color:transparent;cursor:pointer}.week-todo-panel label input:checked+span{border-color:#5968ff;background:#5968ff;color:#fff}.week-todo-panel label svg{width:15px}.todo-emoji{font-size:20px}.week-todo-panel article div small,.week-todo-panel article div strong{display:block}.week-todo-panel article div strong{font-size:13px}.week-todo-panel article div small{margin-top:3px;color:var(--app-muted);font-size:10px}.week-todo-panel time{padding:5px 8px;border-radius:4px;background:var(--app-soft);font-size:10px}.dashboard-inline-empty{padding:40px 15px;color:var(--app-muted);text-align:center;font-size:12px}.week-todo-panel article{padding-inline:5px;border-left:3px solid transparent}.week-todo-panel .week-timeblock-row,.week-todo-panel article:not(.week-timeblock-row){border-left-color:var(--course-color)}.week-todo-panel .week-timeblock-row{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--course-color) 9%,var(--app-bg)) 0 10px,color-mix(in srgb,var(--course-color) 4%,var(--app-bg)) 10px 20px)}.todo-timeblock-mark{width:22px;height:22px;display:grid;place-items:center;border:1px dashed var(--course-color);border-radius:5px;color:var(--course-color)}.todo-timeblock-mark svg{width:13px}.today-schedule-rail{min-width:0}.today-schedule-rail>header{height:54px;display:flex;align-items:flex-start;justify-content:space-between}.today-schedule-rail h3{margin:3px 0 0;font-size:14px}.today-schedule-rail header p{margin:5px 0 0;color:var(--app-muted);font-size:10px}.today-schedule-rail header>span{color:var(--app-muted)}.today-hours{position:relative}.today-hour{height:61px;display:grid;grid-template-columns:47px 1fr}.today-hour>time{padding-top:7px;color:#9a9faa;font-size:10px}.today-hour>section{position:relative;border-top:1px solid var(--app-line)}.today-hour a{position:absolute;z-index:2;inset:4px 0 auto;padding:7px 9px;border-left:4px solid var(--course-color);border-radius:4px;background:color-mix(in srgb,var(--course-color) 20%,var(--app-bg));font-size:10px}.today-hour a small,.today-hour a strong{display:block}.today-hour a small{margin-top:3px;color:var(--app-muted)}.today-empty{position:absolute;top:115px;right:10px;margin:0;color:var(--app-muted);font-size:11px}@media (max-width:1050px){.dashboard-reference-page{padding-inline:32px}.dashboard-schedule-layout{grid-template-columns:1fr}.today-schedule-rail{display:none}.dashboard-schedule-layout .dashboard-actions-row{grid-template-columns:repeat(2,1fr);height:auto}.dashboard-schedule-layout .dashboard-actions-row>button,.dashboard-schedule-layout .preset-control,.dashboard-schedule-layout .sync-wrap{height:41px}}@media (max-width:800px){.dashboard-reference-page{padding:20px 16px 60px}.dashboard-view-row{height:auto;grid-template-columns:1fr}.dashboard-tabs{height:46px}.ios-app-banner{min-height:48px}.dashboard-greeting-card,.dashboard-schedule-layout .dashboard-greeting-card{grid-template-columns:48px 1fr;padding:20px 17px}.dashboard-avatar{width:48px;height:48px;font-size:29px}.dashboard-greeting-copy h2{font-size:20px}.week-progress{grid-column:1/-1;width:100%;height:44px;display:flex;justify-content:center;gap:5px}.week-progress svg{display:none}.week-progress>strong{margin:0}.dashboard-actions-row{height:auto;grid-template-columns:1fr 1fr}.dashboard-actions-row .preset-control,.dashboard-actions-row .sync-wrap,.dashboard-actions-row>button{height:41px}.dashboard-class-grid{grid-template-columns:1fr;gap:15px}.dashboard-class-card{min-height:192px;padding:18px 22px}.dashboard-class-heading h3{white-space:normal}.preset-popover{left:0;transform:none}}@media (max-width:480px){.ios-app-banner{grid-template-columns:20px 1fr 26px}.ios-app-banner>a{display:none}.dashboard-actions-row{grid-template-columns:1fr}.dashboard-class-card{padding-inline:18px}.week-todo-panel article{grid-template-columns:26px 28px 1fr}.week-todo-panel time{grid-column:3}.dashboard-greeting-copy>div{gap:4px}.dashboard-greeting-copy button{padding-inline:7px}.preset-popover{left:0;width:min(340px,calc(100vw - 32px));transform:none}}.class-detail-page{width:min(1120px,100%);margin:0 auto;padding:32px 32px 80px}.class-detail-title{height:56px;display:flex;align-items:center;gap:14px}.class-detail-title>a{width:44px;height:44px;display:grid;place-items:center;border-radius:5px;background:#050505;color:#fff}.class-detail-title>a svg{width:19px}.class-detail-title>span{font-size:31px}.class-detail-title h1{margin:0;overflow:hidden;font-size:31px;letter-spacing:-.8px;text-overflow:ellipsis;white-space:nowrap}.class-information-shell{margin-top:28px;padding:18px;display:grid;grid-template-columns:1fr 320px;gap:28px;border-radius:8px;background:var(--app-soft)}.class-information-main{min-height:300px;padding:42px 40px;background:var(--app-bg)}.class-information-main h2{margin:0;font-size:25px;letter-spacing:-.5px}.class-facts{margin:17px 0;display:grid;gap:11px}.class-facts span{display:flex;align-items:center;gap:8px;font-size:13px}.class-facts svg{width:18px}.class-info-actions{display:flex;flex-wrap:wrap;gap:8px}.class-info-actions button{min-height:43px;padding:0 19px;display:flex;align-items:center;gap:8px;border:2px solid var(--app-text);border-radius:5px;background:var(--app-bg);color:var(--app-text);cursor:pointer;font-weight:600}.class-info-actions button.primary{background:var(--app-text);color:var(--app-bg)}.class-info-actions button:disabled{cursor:not-allowed;opacity:.48}.class-info-actions svg{width:17px}.class-more-info{margin-top:19px;padding-top:16px;border-top:1px solid var(--app-line)}.class-more-info p{margin:0;color:var(--app-muted);font-size:13px;line-height:1.55}.class-more-info small{display:block;margin-top:10px;color:var(--app-muted)}.class-information-shell{border:1px solid color-mix(in srgb,var(--course-color) 35%,var(--app-line));border-top:7px solid var(--course-color);background:color-mix(in srgb,var(--course-color) 9%,var(--app-soft))}.class-information-main{border-radius:6px;background:color-mix(in srgb,var(--course-color) 3%,var(--app-bg))}.class-info-actions button.primary{border-color:var(--course-color);background:var(--course-color);color:#fff}.instructor-card{height:max-content;margin:41px 20px 0 0;padding:23px 20px;border-radius:7px;background:var(--app-panel)}.instructor-card h3{margin:0 0 18px;display:flex;align-items:center;gap:10px;font-size:18px}.instructor-card h3 svg{width:19px}.instructor-card>strong{font-size:12px}.instructor-card p{margin:7px 0 19px;color:var(--app-muted);font-size:13px}.instructor-card a,.instructor-card>span{min-height:44px;padding:0 13px;display:flex;align-items:center;justify-content:center;border-radius:5px;background:#050505;color:#fff;font-size:12px}.instructor-card>span{opacity:.5}.class-assignment-toolbar{height:70px;margin-top:30px;display:flex;align-items:center;justify-content:space-between}.class-assignment-toolbar>div{width:380px;padding:5px;border-radius:6px;background:var(--app-soft)}.class-assignment-toolbar [role=tab]{width:140px;height:38px;border:0;border-radius:5px;background:var(--app-bg);color:var(--app-text);font-weight:700;box-shadow:0 1px 4px rgba(0,0,0,.05)}.class-assignment-toolbar>.button{height:44px;border-radius:5px}.class-assignment-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.class-assignment-columns>div>h2{margin:0 0 16px;font-size:18px}.class-assignment-card{min-height:112px;margin-bottom:12px;padding:18px 16px 16px 22px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;border:2px solid var(--course-color);border-radius:6px;background:color-mix(in srgb,var(--course-color) 8%,var(--app-bg))}.class-assignment-card.completed{opacity:.68}.class-assignment-card h3{margin:0;font-size:16px}.class-assignment-card p{margin:8px 0 0;color:var(--app-muted);font-size:12px}.class-assignment-card small{display:block;margin-top:8px;color:var(--app-muted);line-height:1.4}.assignment-card-actions{display:flex;align-items:center;gap:5px}.assignment-card-actions label input{position:absolute;opacity:0}.assignment-card-actions button,.assignment-card-actions label>span{width:32px;height:32px;padding:0;display:grid;place-items:center;border:0;border-radius:4px;background:transparent;color:var(--app-text);cursor:pointer}.assignment-card-actions label>span{border:2px solid #9aa1ac;color:transparent}.assignment-card-actions label input:checked+span{border-color:var(--course-color);background:var(--course-color);color:#fff}.assignment-card-actions svg{width:17px}.assignment-card-actions button:hover{background:var(--app-soft)}.assignment-card-actions button.danger{color:#cf4740}.class-column-empty{min-height:112px;margin:0;padding:40px 18px;border:1px dashed var(--app-line);border-radius:6px;color:var(--app-muted);text-align:center;font-size:13px}.class-modal-layer{position:fixed;z-index:130;inset:0;padding:22px;display:grid;place-items:center}.class-modal-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(0,0,0,.66);cursor:default;animation:modalFade .18s ease}.class-form-modal{position:relative;z-index:1;width:min(650px,100%);max-height:calc(100vh - 44px);padding:26px;border-radius:8px;background:var(--app-bg);color:var(--app-text);overflow:auto;animation:modalRise .25s cubic-bezier(.22,1,.36,1)}.class-form-modal>header{display:flex;align-items:center;justify-content:space-between}.class-form-modal h2{margin:0;font-size:21px}.class-form-modal header button{width:34px;height:34px;padding:0;display:grid;place-items:center;border:0;background:transparent;color:var(--app-text);cursor:pointer}.class-form-modal header svg{width:20px}.class-edit-form{margin-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:15px}.class-edit-form label{display:grid;gap:7px;color:var(--app-muted);font-size:12px;font-weight:700}.class-edit-form .wide,.class-edit-form label.wide{grid-column:1/-1}.class-edit-form input,.class-edit-form select,.class-edit-form textarea{width:100%;min-height:43px;padding:0 11px;border:1px solid var(--app-line);border-radius:5px;background:var(--app-panel);color:var(--app-text)}.class-edit-form textarea{min-height:90px;padding-top:10px;resize:vertical}.class-edit-form .all-day-toggle{display:flex;align-items:center;gap:9px}.class-edit-form .all-day-toggle input{width:19px;min-height:19px;accent-color:#5968ff}.course-personalization{display:flex;align-items:center;justify-content:space-between;gap:12px}.course-personalization>div{display:flex;flex-wrap:wrap;gap:6px}.course-personalization button{width:32px;height:32px;padding:0;border:2px solid transparent;border-radius:50%;cursor:pointer}.course-personalization button[aria-pressed=true]{border-color:var(--app-text);box-shadow:0 0 0 2px var(--app-bg)}.class-form-error{grid-column:1/-1;margin:0;color:#b83b34;font-size:12px}.class-form-actions{grid-column:1/-1;margin-top:8px;display:flex;justify-content:flex-end;gap:8px}.class-form-actions button{min-height:41px;padding:0 17px;border:1px solid var(--app-line);border-radius:5px;background:var(--app-bg);color:var(--app-text);cursor:pointer;font-weight:700}.class-form-actions button.primary{border-color:#050505;background:#050505;color:#fff}.class-form-actions button.delete{border-color:#c63c35;background:#c63c35;color:#fff}.delete-confirm-copy{margin:25px 0;color:var(--app-muted);line-height:1.5}.syllabus-source-text{max-height:60vh;margin:22px 0 0;padding:18px;border-radius:6px;background:var(--app-panel);overflow:auto;white-space:pre-wrap;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace}@media (max-width:900px){.class-information-shell{grid-template-columns:1fr}.instructor-card{margin:0}.class-assignment-columns{grid-template-columns:1fr}.class-information-main{min-height:0}}@media (max-width:800px){.class-detail-page{padding:22px 16px 65px}.class-detail-title h1{font-size:24px}.class-information-shell{margin-top:18px;padding:10px;gap:10px}.class-information-main{padding:25px 20px}.class-information-main h2{font-size:21px}.class-assignment-toolbar>div{width:auto;flex:1 1;margin-right:12px}.class-assignment-toolbar>.button{padding-inline:12px}.class-edit-form{grid-template-columns:1fr}.class-edit-form .wide,.class-edit-form label.wide,.class-form-actions,.class-form-error{grid-column:auto}.course-personalization{align-items:flex-start;flex-direction:column}}@media (max-width:500px){.class-detail-title{gap:9px}.class-detail-title>span{font-size:25px}.class-detail-title h1{font-size:20px}.class-info-actions{display:grid}.class-info-actions button{width:100%;justify-content:center}.class-assignment-toolbar{height:auto;margin:22px 0 18px;align-items:stretch;flex-direction:column;gap:10px}.class-assignment-toolbar>div{margin:0}.class-assignment-toolbar [role=tab]{width:100%}.class-assignment-card{grid-template-columns:1fr}.assignment-card-actions{justify-content:flex-end}.class-modal-layer{padding:8px;place-items:end center}.class-form-modal{max-height:calc(100vh - 16px);padding:22px 18px;border-radius:10px 10px 0 0}.class-form-actions button{flex:1 1}}