
@font-face{font-family:Caveat;src:url('/assets/Caveat-Variable.ttf') format('truetype');font-style:normal;font-weight:400 700;font-display:swap}

:root{--paper:#f4f6ee;--white:#fffefa;--ink:#233a2b;--muted:#5e6b56;--line:#d6decf;--accent:#2d623e;--accent-hover:#244e32;--ice:#e8f0e2;--warn:#86501b;--warn-bg:#fff3df;--green:#246044;--green-bg:#eaf4ed;--red:#b43b35;--red-bg:#fbedeb;--space:8px;--radius:16px;--control:10px;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.5 var(--font);font-variant-numeric:tabular-nums}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button:focus-visible{position:relative;z-index:3}button{border:0;background:none}h1,h2,h3,p{margin:0}h1{font-size:44px;line-height:1.1;font-weight:650;letter-spacing:-1.8px}h2{font-size:24px;line-height:1.25;letter-spacing:-.5px;font-weight:650}h3{font-size:19px;line-height:1.3;font-weight:650;letter-spacing:-.25px}small,.small{font-size:14px;line-height:1.5}.tiny{font-size:12px}.muted{color:var(--muted)}.blue{color:var(--accent)}.eyebrow{font-size:12px;font-weight:650;letter-spacing:1.1px;text-transform:uppercase}.sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:middle}.logo{width:128px;height:54px;display:block}.logo .first-stem{transition:opacity .3s}.logo:hover .first-stem{opacity:.15}.stack{display:grid;gap:20px}.row{display:flex;align-items:center;gap:12px}.between{display:flex;justify-content:space-between;align-items:center;gap:16px}.grow{flex:1;min-width:0}.wrap{flex-wrap:wrap}.gap8{gap:8px}.rule{border:0;border-top:1px solid var(--line);margin:24px 0}.btn{display:inline-flex;gap:9px;align-items:center;justify-content:center;padding:12px 18px;min-height:46px;border-radius:var(--control);font-weight:600;font-size:15px;text-decoration:none;line-height:1.4}.primary{background:var(--accent);color:white}.primary:hover{background:var(--accent-hover)}.secondary{border:1px solid var(--line);background:var(--white)}.secondary:hover{background:var(--paper)}.ghost{color:var(--accent);padding:10px 0;min-height:44px}.ghost:hover{text-decoration:underline}.danger{background:var(--red-bg);color:var(--red)}.iconbtn{width:44px;min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;position:relative}.iconbtn:hover{background:#e8eadf}.avatar{width:40px;height:40px;border-radius:50%;background:#dde9d1;color:#3e4831;display:grid;place-items:center;font-size:14px;font-weight:600}.dot{position:absolute;right:10px;top:7px;width:7px;height:7px;background:var(--accent);border-radius:50%;border:2px solid var(--paper)}.tag{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;line-height:1.3}.tag .icon{width:15px;height:15px}.tag.info{color:var(--accent)}.tag.warn{color:var(--warn)}.tag.ok{color:var(--green)}.tag.bad{color:var(--red)}.pill{padding:6px 9px;border-radius:6px;background:var(--paper);display:inline-flex}.pill.warn{background:var(--warn-bg)}.pill.ok{background:var(--green-bg)}.pill.info{background:var(--ice)}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:24px;min-width:0}.sectionhead{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.sectionhead h2{font-size:22px}.sectionhead .ghost{font-size:14px;white-space:nowrap}.linkrow{width:100%;text-align:left;display:flex;align-items:center;gap:16px;padding:20px 0;border-top:1px solid var(--line);line-height:1.45}.linkrow:first-of-type{border-top:0}.linkrow>.icon:last-child{margin-left:auto;color:var(--muted);width:18px}.linkrow:hover h3,.linkrow:hover strong{color:var(--accent)}.linkrow .muted{margin-top:4px}.chipicon{width:42px;height:42px;display:grid;place-items:center;background:var(--paper);border-radius:12px;flex-shrink:0}.noticebox{padding:16px 18px;background:var(--ice);border-radius:10px;display:flex;gap:12px;align-items:flex-start;font-size:14px}.noticebox.warn{background:var(--warn-bg);color:var(--warn)}.noticebox.ok{background:var(--green-bg);color:var(--green)}.noticebox.bad{background:var(--red-bg);color:var(--red)}.noticebox .icon{margin-top:2px;width:20px;height:20px}.noticebox p+p{margin-top:6px}.disclaimer{font-size:13px;color:var(--muted);line-height:1.6}.mono{font-variant-numeric:tabular-nums}.empty{padding:28px 0}.empty h2{margin:14px 0 8px}.empty p{max-width:440px}.empty .chipicon{width:56px;height:56px;background:var(--green-bg);color:var(--green)}.empty .btn{margin-top:20px}#main:focus,h1[tabindex="-1"]:focus{outline:none}.pagehead{margin:8px 0 28px}.pagehead p{margin-top:12px;color:var(--muted);max-width:630px}.subhead{font-size:16px;color:var(--muted);margin-bottom:14px}.back{margin-bottom:16px}.detailhead{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.detailhead h1,.detailhead .request-title{font-size:36px;line-height:1.15;letter-spacing:-1px;max-width:670px}.detailhead .tag{margin-top:6px}.detail{max-width:880px}.detailsgrid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.dlabel{color:var(--muted);font-size:14px;margin-bottom:5px}.dvalue{font-size:17px;overflow-wrap:anywhere}.subtitle{margin:10px 0 24px;color:var(--muted)}
/* Application shell */
.shell{min-height:100vh;padding-left:232px}.sidebar{width:232px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:28px 20px 22px;background:#e8edde;border-right:1px solid var(--line);z-index:20}.brandbutton{padding:0;text-align:left;align-self:flex-start}.side-univ{font-size:12px;line-height:1.5;max-width:170px;color:var(--muted);margin:16px 12px 0}.sidenav{margin-top:40px;display:grid;gap:6px}.navitem{display:flex;align-items:center;gap:13px;min-height:48px;padding:12px 14px;color:var(--muted);text-align:left;font-size:15px;border-radius:10px;font-weight:550}.navitem.active{color:var(--accent);background:#dbe8cf}.navitem:hover{background:#e4e7da}.navitem.active:hover{background:#d3e3c4}.sidebottom{margin-top:auto}.sidequote{padding:22px 12px;font-size:24px;line-height:1.25;letter-spacing:-.7px}.sidequote span{color:var(--accent)}.sidebottom .navitem{font-size:13px}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 48px;gap:16px}.toplabel{font-size:14px;color:var(--muted)}.mobilebrand{display:none}.topbar .brandbutton{align-self:center;min-height:44px}.identity{min-height:44px;min-width:44px;display:flex;align-items:center;gap:12px;margin-left:8px}.identity span{font-size:14px}.demo{margin:0 48px 30px;border-top:1px solid var(--line);padding-top:15px;display:flex;justify-content:space-between;gap:16px;font-size:12px;color:var(--muted)}.demo strong{color:var(--ink);font-weight:550}.demodot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:7px;vertical-align:2px}.main{max-width:1400px;padding:0 48px 48px;margin:auto;min-width:0}.mobile-nav{display:none}.footnote{margin-top:32px;font-size:12px;color:var(--muted)}
/* Today */
.intro{margin-bottom:28px}.intro .eyebrow{margin-bottom:12px;color:var(--muted)}.intro p{margin-top:12px;color:var(--muted)}.today-hero{display:grid;grid-template-columns:1.35fr 1fr;gap:20px;margin-bottom:32px}.nextclass{border-radius:16px;background:var(--accent);color:white;padding:26px 28px;position:relative;overflow:hidden}.nextclass .eyebrow{color:#dfebd8}.nextclass h2{font-size:28px;letter-spacing:-.5px;margin-top:12px}.nextclass .time{font-size:57px;line-height:1.05;letter-spacing:-2.2px;font-weight:550;margin-top:20px}.nextclass .time span{font-size:20px;letter-spacing:-.3px;color:#dce8d5;margin-left:9px}.nextclass .teacher{font-size:14px;color:#dfebd8;margin-top:5px}.nextclass .location{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #6179e1;padding-top:18px;margin-top:22px}.nextclass .location strong{font-size:22px;font-weight:550}.nextclass .location .icon{width:24px;height:24px}.nextclass>button{color:inherit;width:100%;text-align:left;padding:0;position:relative}.change{border-radius:16px;border:1px solid #e7d5b8;background:var(--warn-bg);padding:25px;display:flex;flex-direction:column}.change h2{margin-top:14px;font-size:23px}.change .when{font-size:14px;color:var(--warn);margin-top:5px}.relocation{display:flex;align-items:center;gap:16px;margin-top:24px}.relocation del{font-size:21px;color:#806e58}.relocation strong{font-size:29px;line-height:1.15;font-weight:600;letter-spacing:-.6px}.relocation .icon{color:var(--warn);width:20px}.change .source{margin-top:14px;font-size:12px;color:#796346}.change .ghost{margin-top:auto;padding-top:20px;color:#774416;align-self:flex-start}.today-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:20px}.attention{margin-bottom:30px}.attention .sectionhead{margin-bottom:0}.attentionrow{display:flex;align-items:center;gap:16px;padding:18px 0;text-align:left;width:100%;border-bottom:1px solid var(--line)}.attentionrow .chipicon{background:var(--warn-bg);color:var(--warn)}.attentionrow .due{font-size:13px;color:var(--warn);text-align:right;white-space:nowrap}.attentionrow strong{font-size:16px;font-weight:600}.attentionrow p{font-size:14px;color:var(--muted);margin-top:3px}.attentionrow>.icon{width:18px;color:var(--muted)}.lessonrow{display:flex;align-items:flex-start;gap:18px;padding:19px 0;border-top:1px solid var(--line);width:100%;text-align:left}.lessonrow .slot{min-width:58px;font-weight:600;font-size:16px}.lessonrow .slot span{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:3px}.lessonrow strong{font-size:16px;font-weight:600}.lessonrow p{font-size:14px;color:var(--muted);margin-top:3px}.lessonrow .tag{margin-top:7px}.lessonrow>.icon{width:18px;color:var(--muted);margin-top:4px}.request-preview h3{margin:16px 0 8px}.request-preview .stepmini{display:flex;gap:4px;margin:20px 0 10px}.stepmini i{display:block;height:4px;border-radius:5px;background:var(--line);flex:1}.stepmini i.done{background:var(--accent)}.request-preview .eta{font-size:14px;margin:16px 0}.request-preview .ghost{margin-top:10px}.quiet{padding:23px 26px;background:var(--green-bg);border-radius:16px;border:1px solid #cedfd2;margin-bottom:24px}.quiet h2{font-size:23px;margin-bottom:5px}.quiet .icon{color:var(--green)}
/* Schedule */
.segmented{display:inline-flex;gap:3px;padding:4px;background:#e7e9df;border-radius:10px}.segmented button{border-radius:7px;min-height:44px;padding:8px 16px;font-size:14px;font-weight:550}.segmented button.active{background:white;color:var(--accent)}.calendarbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:24px}.datecontrols{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dateinput{position:relative}.dateinput input{max-width:168px;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:white;font-size:14px}.daystrip{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin-bottom:28px}.daystrip button{min-height:70px;border:1px solid var(--line);border-radius:10px;text-align:center;padding:10px 4px;background:var(--white);display:flex;flex-direction:column;align-items:center;gap:2px;font-size:12px;color:var(--muted)}.daystrip strong{font-size:19px;color:var(--ink)}.daystrip .active{background:var(--accent);border-color:var(--accent);color:#dfebd8}.daystrip .active strong{color:white}.daystrip i{width:4px;height:4px;background:currentColor;border-radius:50%;margin-top:3px}.weekgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white}.weekcol{border-right:1px solid var(--line);min-height:400px;padding:12px}.weekcol:last-child{border:0}.weekcol>h3{font-size:14px;padding:8px 0 18px}.weeklesson{display:block;width:100%;text-align:left;border-radius:8px;background:var(--paper);padding:12px;margin-bottom:12px;font-size:12px;min-height:130px}.weeklesson.changed{background:var(--warn-bg)}.weeklesson.cancelled{background:var(--red-bg)}.weeklesson strong{display:block;font-size:14px;margin:9px 0}.weeklesson .tag{font-size:11px;margin-top:8px}.cancelled-text{text-decoration:line-through}.daytitle{margin-bottom:12px}.schedulelist{max-width:850px}.schedulelist .lessonrow{padding:24px 0}.schedulelist .lessonrow strong{font-size:19px}.schedulelist .slot{min-width:74px;font-size:21px}.schedulelist .slot span{font-size:14px}.lesson-meta{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:28px 0}.largeplace{background:var(--paper);padding:22px;border-radius:12px;margin-top:24px}.largeplace .relocation{margin:8px 0}.largeplace .relocation strong{font-size:36px}.cancellation{margin-top:20px}.week-note{display:none}
/* Study */
.coursegrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.coursecard{display:flex;flex-direction:column;text-align:left;min-height:264px}.coursecard h2{margin:18px 0 6px;font-size:23px}.coursecard .bottom{margin-top:auto;padding-top:25px;display:flex;justify-content:space-between;align-items:flex-end;gap:14px}.coursecard .score{font-size:32px;line-height:1.1;letter-spacing:-1px}.coursecard .score span{font-size:15px;letter-spacing:0;color:var(--muted)}.coursecard .result{font-size:13px;max-width:180px}.progress{height:7px;border-radius:4px;background:#e8ebe0;margin:14px 0 8px;overflow:hidden}.progress span{display:block;background:var(--accent);height:100%}.scorecard{padding:24px;background:var(--paper);border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0}.bigscore{font-size:48px;letter-spacing:-2px;line-height:1}.bigscore span{font-size:22px;color:var(--muted);letter-spacing:-.4px}.conditions{list-style:none;padding:0;margin:0}.conditions li{display:flex;align-items:flex-start;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}.conditions .icon{margin-top:2px;color:var(--green)}.conditions li.pending .icon{color:var(--warn)}.conditions p{font-size:14px;color:var(--muted);margin-top:3px}.instruction{margin:24px 0;background:var(--warn-bg);border-left:3px solid #b87934;padding:22px 24px}.instruction a{display:inline-flex;align-items:center;min-height:44px}.instruction h3{margin-bottom:8px}.instruction p+p{margin-top:10px}.grade{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}.grade strong{display:block;margin:8px 0}.sessionlist{margin-top:24px}.sessionline{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid var(--line)}
/* Office, request, forms */
.officegrid{display:grid;grid-template-columns:1.25fr 1fr;gap:28px}.catalog .linkrow{align-items:flex-start}.catalog .linkrow h3{font-size:18px}.catalog .linkrow small{display:block;color:var(--muted);margin-top:6px}.catalog .linkrow .icon:last-child{margin-top:4px}.requestline{display:block;width:100%;text-align:left;padding:20px 0;border-bottom:1px solid var(--line)}.requestline h3{margin:8px 0}.requestline .between{font-size:12px;color:var(--muted)}.formlayout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px}.formnote{align-self:start;font-size:14px}.formnote h3{font-size:17px;margin-bottom:12px}.formnote p+p{margin-top:14px}.field{display:grid;gap:8px;margin-bottom:22px}.field label{font-size:15px;font-weight:600}.field input,.field select,.field textarea{border:1px solid #acb2a3;border-radius:8px;min-height:48px;background:white;width:100%;padding:12px 14px;font-size:16px}.field textarea{min-height:130px;resize:vertical}.field small{color:var(--muted)}.field [aria-invalid=true]{border:2px solid var(--red)}.field .fielderror{font-size:14px;color:var(--red)}.profilecheck{padding:18px;background:var(--paper);border-radius:10px;margin-bottom:24px}.profilecheck .row{margin-bottom:10px}.profilecheck p{font-size:14px;color:var(--muted)}.formbuttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}.formerror{margin-bottom:20px}.timeline{list-style:none;padding:0;margin:24px 0 0}.timeline li{position:relative;padding:0 0 28px 32px;font-size:14px}.timeline li:before{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:var(--accent);left:0;top:6px;z-index:1}.timeline li:not(:last-child):after{content:"";position:absolute;width:1px;left:4px;top:12px;bottom:0;background:var(--line)}.timeline time{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}.timeline p{margin-top:6px;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.statusheading{font-size:26px;margin:12px 0 8px}.requestdetailgrid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px}.history{border-left:1px solid var(--line);padding-left:28px}.statussteps{display:flex;gap:8px;margin:22px 0}.statusstep{flex:1;font-size:12px;color:var(--muted);padding-top:10px;border-top:3px solid var(--line)}.statusstep.active{border-color:var(--accent);color:var(--accent)}.contentblock{margin-top:28px}.contentblock h3{font-size:17px;margin-bottom:10px}.contentblock p{font-size:15px;white-space:pre-wrap;overflow-wrap:anywhere}.download{margin-top:20px;border:1px solid var(--line);border-radius:10px;padding:16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.download .btn{margin-left:auto}.historytitle{font-size:18px}.newanswer{margin-top:20px}.newanswer textarea{min-height:100px}.staffgrid{display:grid;grid-template-columns:330px minmax(0,1fr);gap:24px}.staffgrid .requestdetailgrid{grid-template-columns:1fr}.staffgrid .history{border-left:0;border-top:1px solid var(--line);padding:24px 0 0;margin-top:24px}.staffqueue .requestline{padding:18px 16px;border-radius:8px;border:0;margin-bottom:6px}.staffqueue .requestline.active{background:var(--ice)}.staffqueue h3{font-size:16px}.staffactions{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}.staffactions .field{margin-bottom:16px}.staffbanner{padding:14px 18px;border-radius:10px;background:#e8ebdf;margin-bottom:24px;font-size:14px}.staffactions .formbuttons .btn{font-size:14px}
/* Notifications, profile, login */
.notification{border-bottom:1px solid var(--line);padding:22px 0;display:flex;gap:16px;align-items:flex-start}.notification .chipicon{background:var(--paper)}.notification.unread .chipicon{background:var(--ice);color:var(--accent)}.notification .unreadmark{width:6px;height:6px;background:var(--accent);border-radius:50%;display:inline-block;margin-right:7px;vertical-align:2px}.notification h3{font-size:18px;margin:8px 0}.notification p{font-size:15px;line-height:1.6}.notification .btn{font-size:14px}.notification .actions{display:flex;gap:20px;flex-wrap:wrap}.notification time{font-size:12px;color:var(--muted)}.profilegrid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.profilebig{width:64px;height:64px;font-size:22px;margin-bottom:20px}.about-mark{margin:20px 0}.loginpage{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}.loginart{background:#e9eddd;display:flex;flex-direction:column;padding:56px 64px;justify-content:space-between;min-height:100vh;position:relative;overflow:hidden}.loginart .logo{width:145px;height:58px}.loginart .brand-phrase{font-size:62px;letter-spacing:-2.6px;max-width:480px}.loginart .brand-phrase span{color:var(--accent)}.loginart p{max-width:360px;margin-top:22px;color:#535d46}.ringart{position:absolute;right:-150px;bottom:60px;width:410px;height:410px;border:30px solid #d9dfc8;border-radius:50%;pointer-events:none}.ringart:after{content:"";position:absolute;right:0;top:-25px;height:410px;width:30px;border-radius:20px;background:var(--accent);transform:rotate(-12deg)}.loginart .disclaimer{position:relative;max-width:350px;color:#4e5744}.loginform{padding:50px 64px;display:flex;flex-direction:column;justify-content:center;max-width:590px;width:100%;margin:auto}.loginform h1{font-size:32px;line-height:1.15;letter-spacing:-1px}.loginform>p{margin:12px 0 28px;color:var(--muted)}.loginform .primary{width:100%}.loginform .noticebox{margin-top:24px}.demoaccounts{margin-top:28px;border-top:1px solid var(--line);padding-top:22px}.demoaccounts summary{min-height:44px;font-size:15px;font-weight:600;cursor:pointer}.accountbutton{display:flex;width:100%;gap:14px;text-align:left;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.accountbutton small{display:block;color:var(--muted);font-size:13px}.loginmobilelogo{display:none}.loginform .disclaimer{margin-top:24px}.systemgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.swatches{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px}.swatch{font-size:12px}.swatch i{display:block;width:72px;height:64px;border:1px solid #d6d9cd;border-radius:8px;margin-bottom:8px}.statetile{padding:24px;min-height:220px}.skeleton{border-radius:8px;background:#e9ebe2;height:16px;margin:14px 0}.skeleton.big{height:80px}.skeleton.short{width:60%}.modal{border:0;border-radius:16px;max-width:480px;width:calc(100% - 32px);padding:28px;color:var(--ink)}.modal::backdrop{background:#233a2b77}.modal h2{margin-bottom:12px}.modal p{margin-bottom:22px}.toast{position:fixed;left:calc(50% + 116px);bottom:28px;transform:translateX(-50%);background:var(--ink);color:white;max-width:calc(100vw - 32px);padding:14px 20px;border-radius:10px;z-index:100;box-shadow:0 8px 24px #233a2b22;font-size:14px}.logo-examples{display:flex;align-items:center;gap:32px;flex-wrap:wrap;margin:24px 0}.logo-examples svg{width:180px;height:70px}.logostudy{padding:32px;background:#edf0e5;border-radius:12px}.logostudy .logo{width:200px;height:80px}.logostudy h3{margin-top:20px}.nextpage{animation:none}@keyframes appear{from{opacity:.6;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.topbar,.demo{max-width:1400px;margin-left:auto;margin-right:auto}}
@media(max-width:1150px){.shell{padding-left:200px}.sidebar{width:200px;padding:26px 14px}.topbar{padding:0 32px}.demo{margin:0 32px 26px}.main{padding:0 32px 40px}.today-hero,.today-grid{grid-template-columns:1.1fr 1fr}.nextclass{padding:24px}.nextclass .time{font-size:48px}.change{padding:22px}.formlayout{grid-template-columns:1fr}.formnote{order:2}.staffgrid{grid-template-columns:270px minmax(0,1fr)}.requestdetailgrid{grid-template-columns:1fr}.history{border-left:0;padding:24px 0 0;border-top:1px solid var(--line)}.identity span{display:none}.toast{left:calc(50% + 100px)}}
@media(max-width:850px){.shell{padding-left:0}.sidebar{display:none}.topbar{height:78px;padding:0 24px}.mobilebrand{display:block}.toplabel{display:none}.topbar .logo{width:108px;height:46px}.topbar .identity{margin-left:2px}.demo{margin:0 24px 24px;display:block;padding-top:12px;line-height:1.7}.demo .demolabel{display:block}.demo .demomode{display:none}.main{padding:0 24px 115px}h1{font-size:36px;letter-spacing:-1.2px}.mobile-nav{position:fixed;inset:auto 0 0;background:#fdfefb;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding:7px 8px max(8px,env(safe-area-inset-bottom));z-index:30;min-height:74px}.mobile-nav button{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px;color:var(--muted);min-height:54px;padding:5px 0;border-radius:8px}.mobile-nav .icon{width:22px;height:22px}.mobile-nav.employee-nav{grid-template-columns:repeat(2,1fr)}.mobile-nav button.active{color:var(--accent);background:var(--ice)}.identity span{display:none}.today-hero,.today-grid{grid-template-columns:1fr 1fr}.loginart{padding:40px}.loginform{padding:40px 32px}.loginart .brand-phrase{font-size:46px}.staffgrid{grid-template-columns:1fr}.staffqueue{max-height:300px;overflow:auto}.toast{left:50%;bottom:90px}.loginform .toast{bottom:24px}}
@media(max-width:600px){h1{font-size:32px;line-height:1.12;letter-spacing:-1.2px}h2{font-size:23px}.topbar{height:72px;padding:0 20px}.demo{margin:0 20px 24px;font-size:11px;padding-top:10px}.demo .demolabel{font-size:11px}.main{padding:0 20px 106px}.intro{margin-bottom:24px}.intro .eyebrow{font-size:11px;letter-spacing:.8px;margin-bottom:10px}.intro p{font-size:14px;line-height:1.5;margin-top:10px}.today-hero,.today-grid,.coursegrid,.officegrid,.profilegrid,.systemgrid{grid-template-columns:1fr;gap:16px}.today-hero{margin-bottom:28px}.nextclass{padding:22px}.nextclass h2{font-size:25px;margin-top:12px}.nextclass .eyebrow{font-size:11px;letter-spacing:.8px}.nextclass .time{font-size:49px;margin-top:17px}.nextclass .time span{font-size:17px}.nextclass .location{padding-top:16px;margin-top:20px}.nextclass .location strong{font-size:20px}.nextclass .teacher{font-size:13px}.change{padding:21px}.change h2{font-size:21px;margin-top:11px}.change .when{font-size:13px}.change .relocation{margin-top:17px;gap:18px}.change .relocation strong{font-size:27px}.change .relocation del{font-size:20px}.change .source{font-size:11px}.change .ghost{padding:15px 0 0;min-height:44px;font-size:14px}.attention{margin-bottom:28px}.sectionhead{margin-bottom:18px}.sectionhead h2{font-size:21px}.attentionrow{gap:12px;position:relative;align-items:flex-start;padding:18px 0}.attentionrow .chipicon{width:36px;height:36px;border-radius:10px}.attentionrow .chipicon .icon{width:20px;height:20px}.attentionrow .due{display:none}.attentionrow strong{font-size:15px}.attentionrow p{font-size:13px;line-height:1.5}.attentionrow>.icon{margin-top:8px;flex-shrink:0}.card{padding:21px}.today-grid .card{padding:20px}.today-grid .lessonrow{gap:14px;padding:17px 0}.today-grid .lessonrow strong{font-size:15px}.today-grid .lessonrow p{font-size:13px}.pagehead{margin:4px 0 24px}.pagehead p{font-size:15px}.detailhead h1,.detailhead .request-title{font-size:29px;letter-spacing:-.8px}.detailhead{display:block}.detailhead .tag{margin-top:14px}.detail .card{padding:20px}.back{margin-bottom:12px}.detailsgrid{gap:22px 16px}.dvalue{font-size:16px}.dlabel{font-size:13px}.lesson-meta{gap:22px 16px}.calendarbar{align-items:flex-start;flex-direction:column;gap:14px}.datecontrols{gap:5px}.datecontrols .btn{font-size:14px;padding:10px 14px}.segmented{width:100%}.segmented button{flex:1}.daystrip{gap:4px;margin-bottom:22px}.daystrip button{min-height:66px;font-size:11px;padding:8px 1px}.daystrip strong{font-size:18px}.weekgrid{display:block;border:0;background:none}.weekcol{border:0;min-height:0;padding:0 0 16px}.weekcol>h3{font-size:17px;padding:8px 0 12px}.weeklesson{min-height:0;font-size:14px;background:white;border:1px solid var(--line);padding:16px}.weeklesson strong{font-size:17px}.weeklesson .tag{font-size:12px}.week-note{display:block;margin:0 0 20px;font-size:13px;color:var(--muted)}.schedulelist .lessonrow{gap:14px;padding:22px 0}.schedulelist .slot{font-size:18px;min-width:58px}.schedulelist .slot span{font-size:12px}.schedulelist .lessonrow strong{font-size:17px}.schedulelist .lessonrow p{font-size:13px}.coursecard{min-height:244px}.coursecard h2{font-size:22px}.scorecard{padding:20px}.bigscore{font-size:43px}.scorecard .small{font-size:13px}.instruction{padding:20px}.conditions li{gap:12px}.officegrid{gap:28px}.catalog .linkrow{gap:12px}.catalog .linkrow h3{font-size:17px}.catalog .chipicon{width:36px;height:36px}.formlayout{display:block}.formnote{margin-top:24px}.formbuttons .primary{flex:1}.requestdetailgrid{gap:0}.requestdetailgrid .card{padding:20px}.history{margin-top:24px;padding-top:24px}.notification{gap:12px}.notification .chipicon{width:34px;height:34px}.notification h3{font-size:17px}.notification p{font-size:14px}.notification .actions{gap:14px}.notification .ghost{font-size:13px}.profilegrid .card{padding:22px}.loginpage{display:block;background:var(--paper)}.loginart{display:none}.loginmobilelogo{display:block;margin-bottom:30px}.loginmobilelogo .logo{width:115px;height:45px}.loginform{padding:34px 24px 44px;max-width:480px}.loginform h1{font-size:30px}.loginform>p{font-size:15px}.demoaccounts{margin-top:24px}.accountbutton{min-height:70px}.profilecheck{padding:16px}.staffactions .formbuttons{flex-direction:column}.staffqueue{max-height:250px}.download .btn{width:100%;margin:0}.statetile{min-height:200px}.footnote{font-size:11px}.statusheading{font-size:23px}.quiet{padding:20px}.quiet h2{font-size:21px}.quiet p{font-size:14px}.logostudy{padding:24px}.sessionline{font-size:14px}.sessionline .muted{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.sidebar,.topbar,.demo,.mobile-nav,.footnote,.back{display:none}.shell{padding:0}.main{padding:24px}.card{break-inside:avoid}.nextclass{background:white;color:var(--ink);border:2px solid var(--accent)}.nextclass *{color:var(--ink)!important}}

/* A paper diary, with pen lettering reserved for orientation. */
.intro h1,.pagehead h1,.sidequote,.sectionhead h2,.loginart .brand-phrase,.loginform h1{font-family:Caveat,var(--font);font-weight:600;letter-spacing:0;line-height:1.05}
.intro h1{font-size:56px}.pagehead h1{font-size:52px}.sectionhead h2{font-size:30px}.sidequote{font-size:30px}.loginart .brand-phrase{font-size:78px}.loginform h1{font-size:42px}
.sidebar{background:#e8edde}.nextclass{background:#e6efdf;border:1px solid #becfb3;color:var(--accent)}.nextclass .eyebrow,.nextclass .teacher{color:#4b6747}.nextclass .time span{color:#4b6747}.nextclass .location{border-color:#bccdb1}.nextclass h2{font-weight:600}
.nextclass:after{content:'';position:absolute;top:72px;right:20px;bottom:22px;width:1px;background:#8aa37d4a;pointer-events:none}
.change{background:#eef1e2;border-color:#ced6b9}.relocation del{text-decoration-color:#b43b35;text-decoration-thickness:1.5px}.relocation strong{position:relative;display:inline-block}.relocation strong:after{content:'';display:block;border-bottom:2px solid #b43b35;transform:rotate(-3deg);margin-top:3px}
.logo .first-stem{opacity:1!important}.logostudy{background:#e9eedf}.logo-examples{padding-bottom:10px;border-bottom:1px solid var(--line)}
@media(max-width:600px){.intro h1{font-size:43px;line-height:1}.pagehead h1{font-size:41px}.sectionhead h2{font-size:29px}.loginform h1{font-size:38px}.nextclass:after{top:65px;right:16px}.daystrip{gap:2px}.daystrip button{min-width:44px}.main{padding-left:18px;padding-right:18px}.topbar{padding-left:18px;padding-right:18px}.demo{margin-left:18px;margin-right:18px}.daystrip{margin-left:-2px;margin-right:-2px}}

.navitem.active{color:var(--accent);background:#dbe8cf}.navitem.active:hover{background:#d3e3c4}.segmented{background:#e2e8d9}.nextclass .eyebrow,.nextclass .teacher,.nextclass .time span{color:#4b6747}.logostudy{background:#e9eedf}.daystrip .active{color:#e5efdd}.weeklesson.changed{background:#eef1e2}.loginart{background:#e5eed9}.ringart{border-color:#d4e0c4}.ringart:after{background:var(--accent)}.loginart .brand-phrase span{color:var(--accent)}
