.mobile-nav,.palette-close{display:none}@media (max-width:767px){.app-shell[data-mobile=true]{--mobile-nav-height:58px}.app-shell[data-mobile=true] .app-sidebar,.app-shell[data-mobile=true] .sidebar-scrim,.app-shell[data-mobile=true] .menu-button{display:none}.app-shell[data-mobile=true] .app-main{padding-bottom:calc(var(--mobile-nav-height) + var(--safe-bottom))}.app-shell[data-mobile=true] .mobile-nav{z-index:46;height:calc(var(--mobile-nav-height) + var(--safe-bottom));padding-bottom:var(--safe-bottom);border-top:1px solid var(--border-hairline);background:var(--white);grid-auto-columns:1fr;grid-auto-flow:column;align-items:stretch;display:grid;position:fixed;inset:auto 0 0}.mobile-nav-item{min-height:44px;color:var(--text-muted);font:inherit;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:6px 4px;text-decoration:none;display:flex}.mobile-nav-item[data-active=true]{color:var(--color-primary)}.mobile-nav-item:active{background:color-mix(in srgb, var(--color-primary) 6%, transparent)}.mobile-nav-icon{border-radius:var(--radius-full);width:56px;height:30px;transition:background var(--transition-fast);place-items:center;display:grid;position:relative}.mobile-nav-item[data-active=true] .mobile-nav-icon{background:var(--color-primary-wash)}.mobile-nav-label{letter-spacing:-.005em;font-size:11px;font-weight:500}.mobile-nav-item[data-active=true] .mobile-nav-label{font-weight:600}.app-shell[data-mobile=true] .header-context{display:none}.palette{border:0;border-radius:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;animation:.22s cubic-bezier(.16,1,.3,1) palette-sheet-in}.palette-field{gap:var(--space-xs);min-height:calc(56px + var(--safe-top));padding-top:var(--safe-top)}.palette-field kbd{display:none}.palette-list{padding-bottom:calc(var(--space-lg) + var(--safe-bottom))}.palette-item{min-height:48px}.palette-close{border-radius:var(--radius-full);width:40px;height:40px;color:var(--text-muted);flex:0 0 40px;place-items:center;display:grid}.palette-close:active{background:var(--canvas-soft)}.classroom-top{align-items:flex-start;gap:var(--space-xs);flex-direction:column}.classroom-meta{justify-content:flex-start}.course-tabs{margin-inline:calc(-1 * var(--space-md));padding-inline:var(--space-md);scroll-padding-inline:var(--space-md)}.course-tabs button{padding-inline:12px}.planner-head{display:none}.planner-frame{--planner-gutter:54px}.planner-lead h1{font-size:28px}.planner-filters{scrollbar-width:none;margin-inline:calc(-1 * var(--space-md));padding-inline:var(--space-md);scroll-padding-inline:var(--space-md);scroll-snap-type:x proximity;-webkit-mask-image:linear-gradient(90deg, transparent 0, #000 var(--space-md), #000 calc(100% - 28px), transparent 100%);-webkit-mask-image:linear-gradient(90deg, transparent 0, #000 var(--space-md), #000 calc(100% - 28px), transparent 100%);mask-image:linear-gradient(90deg, transparent 0, #000 var(--space-md), #000 calc(100% - 28px), transparent 100%);flex-wrap:nowrap;overflow-x:auto}.planner-filters::-webkit-scrollbar{display:none}.planner-pill{scroll-snap-align:start;flex:none;min-height:38px;padding:8px 14px 8px 11px;font-size:13.5px}.planner-daychip{min-height:50px}.planner-step button,.planner-now-button{min-height:40px}.planner-jump{display:none}.page-head>.planner-controls{flex-wrap:nowrap}.planner-create{flex:auto;justify-content:center;height:auto;min-height:44px;padding:10px 20px}.planner-blank .planner-create{flex:none}.planner-blank{padding:var(--space-lg) var(--space-md) var(--space-md)}.planner-dialog{border-bottom:0;border-radius:18px 18px 0 0;width:100%;max-width:none;max-height:94dvh;margin:auto 0 0;animation:.24s cubic-bezier(.16,1,.3,1) sheet-rise}.planner-dialog form{max-height:inherit;overscroll-behavior:contain;padding:var(--space-md) var(--space-md) calc(var(--space-md) + var(--safe-bottom));overflow-y:auto}.planner-dialog h2{font-size:20px}.planner-dialog-row,.planner-dialog-row.three{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-dialog-row.three>label:first-child{grid-column:1/-1}.planner-dialog input,.planner-dialog select,.planner-dialog textarea{min-height:44px;font-size:16px}.planner-dialog footer{padding-top:var(--space-xs);background:var(--surface-card);position:sticky;bottom:0}.planner-dialog footer button{min-height:44px}.planner-dialog-save{flex:auto}.boot-header{min-height:calc(var(--header-height) + var(--safe-top));padding:var(--safe-top) 10px 0}.boot-menu{display:none}.boot-header img{margin-left:0}.boot-search{border-radius:var(--radius-full);flex:auto;height:40px;margin-left:6px}.boot-avatar{margin-left:6px}.boot-main{gap:var(--space-md);padding:var(--space-lg) var(--space-md) var(--space-xl)}.boot-head{gap:8px}.boot-title{width:68%;height:28px}.boot-subtitle{width:86%}.boot-strip{height:128px}.boot-grid{gap:var(--space-sm)}.boot-card{gap:8px;padding-bottom:14px}.boot-cover{aspect-ratio:auto;height:8px}.boot-line.wide{height:19px}.boot-shell:after{content:"";height:calc(58px + var(--safe-bottom));border-top:1px solid var(--border-hairline);background:var(--white);position:fixed;inset:auto 0 0}}@keyframes palette-sheet-in{0%{opacity:0;transform:translateY(12px)}}@keyframes sheet-rise{0%{transform:translateY(14px)}}@media (hover:none){.course-card:hover,.next-strip-action:hover,.course-tabs button:hover,.sheet-row:hover,.palette-item:hover,.planner-pill:hover,.planner-block:hover,.planner-due:hover,.icon-button:hover:not(:disabled),.app-brand:hover,.header-search:hover,.account-menu summary:hover{border-color:var(--border-hairline);box-shadow:none;background:0 0}.course-card:hover{border-color:var(--border-hairline)}.course-card:hover .course-action svg{transform:none}.header-search:hover{background:var(--canvas-soft);color:var(--text-muted)}}@media (max-width:767px){.app-shell[data-mobile=true]{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.course-card:active,.sheet-row:active,.palette-item:active,.planner-daychip:active,.planner-pill:active,.course-tabs button:active{background:var(--canvas-soft)}.next-strip-action:active,.planner-create:active,.sheet-cta:active,.planner-dialog-save:active{transform:scale(.985)}.mobile-nav,.course-tabs,.planner-daybar,.app-header{-webkit-user-select:none;user-select:none}.planner-grid,.palette-list,.sheet-body{overscroll-behavior:contain}.portal-main{padding:var(--space-lg) var(--space-md) var(--space-xl);gap:var(--space-md)}.classroom-layout{padding:var(--space-lg) var(--space-md) var(--space-xl)}.page-head.lead{gap:var(--space-xs);padding-bottom:var(--space-md)}.page-head.lead h1{letter-spacing:-.02em;font-size:30px}.page-head h1{font-size:26px}.page-head p,.page-head.lead p{font-size:14.5px}.portal-main>section>.page-head{margin-bottom:var(--space-md)}.next-strip{align-items:start;gap:4px var(--space-sm);border-radius:var(--radius-lg);grid-template-columns:auto minmax(0,1fr);grid-template-areas:"date body""foot foot";padding:12px 12px 4px}.next-strip-date{background:color-mix(in srgb, var(--course-tone) 14%, #fff);grid-area:date;min-width:52px;padding:6px 8px 7px}.next-strip-day{font-size:26px}.next-strip-month{font-size:11px}.next-strip-body{grid-area:body;align-content:center;gap:3px;min-height:54px}.next-strip-line{letter-spacing:.01em;color:var(--text-muted);font-size:13px}.next-strip-line strong{color:color-mix(in srgb, var(--course-tone) 38%, #0f172a);font-size:16px;display:block}.next-strip-sep{display:none}.next-strip-detail{color:var(--text-body);white-space:normal;font-size:15px;font-weight:600;line-height:1.3;overflow:visible}.next-strip-end{border-top:1px solid var(--border-hairline);grid-area:foot;justify-content:space-between;margin-top:8px;padding-top:2px}.next-strip-count{border-radius:var(--radius-full);background:color-mix(in srgb, var(--course-tone) 12%, #fff);color:color-mix(in srgb, var(--course-tone) 32%, #0f172a);padding:3px 9px;font-size:12.5px}.next-strip-action{padding-right:2px}.course-grid{gap:var(--space-sm)}.course-thumb{aspect-ratio:auto;background:var(--course-tone);border-bottom:0;height:8px;min-height:0}.course-card h3{font-size:19px}.next-strip-action,.course-action,.empty-state-action{min-height:44px}.app-header{padding-right:10px}.account-caret{display:none}.account-menu summary{min-height:44px;padding:4px}.account-popover{right:0}}.sheet-overlay{z-index:60;background:#0f172a6b;position:fixed;inset:0}.sheet-content{z-index:61;max-height:88dvh;padding-bottom:var(--safe-bottom);background:var(--surface-card,#fff);border-radius:18px 18px 0 0;flex-direction:column;display:flex;position:fixed;inset:auto 0 0;box-shadow:0 -8px 30px #0f172a29}.sheet-content:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.sheet-handle{margin:10px auto 4px}.sheet-head{padding:6px var(--space-lg) var(--space-sm);border-bottom:1px solid var(--border-hairline)}.sheet-title{font-family:var(--font-display);letter-spacing:-.015em;color:var(--text-body);font-size:19px;font-weight:700}.sheet-description{color:var(--text-muted);margin-top:2px;font-size:14px;line-height:1.45}.sheet-body{overscroll-behavior:contain;min-height:0;padding:var(--space-md) var(--space-lg) var(--space-lg);overflow-y:auto}.sheet-list{flex-direction:column;gap:4px;display:flex}.sheet-row{border-radius:var(--radius-md);width:100%;min-height:48px;color:var(--text-body);font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:8px 10px;text-decoration:none;display:flex}.sheet-row:hover{background:var(--canvas-soft)}.sheet-row[data-active=true]{background:var(--color-primary-wash);color:var(--color-primary);font-weight:600}.sheet-row .sheet-row-icon{width:26px;color:var(--course-tone,var(--text-muted));flex:0 0 26px;place-items:center;display:grid}.sheet-row small{font-family:var(--font-mono);color:var(--text-faint);font-size:12px;display:block}.sheet-cta{width:100%;min-height:48px;margin-top:var(--space-md);border-radius:var(--radius-md);background:var(--color-primary);color:#fff;font:inherit;border:0;justify-content:center;align-items:center;gap:8px;font-weight:600;display:flex}.sheet-field{margin-top:var(--space-md);color:var(--text-muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.sheet-field input{border:1px solid var(--border-hairline);border-radius:var(--radius-md);background:var(--white);min-height:46px;color:var(--text-body);font:inherit;padding:0 12px;font-size:16px}.sheet-field input:disabled{background:var(--canvas-soft);color:var(--text-faint)}.sheet-field .grades-attach{align-self:stretch;min-height:46px;font-size:15px}.sheet-field .grades-receipt,.sheet-field .grades-upload{width:100%}.sheet-field .grades-receipt b{font-size:15px}.sheet-tools{width:auto;box-shadow:none;background:0 0;border:0;padding:0;position:static}.sheet-facts{flex-direction:column;gap:10px;display:flex}.sheet-facts>div{justify-content:space-between;align-items:baseline;gap:var(--space-md);display:flex}.sheet-facts dt{color:var(--text-muted);font-size:13px}.sheet-facts dd{color:var(--text-body);font-size:15px;font-weight:600}