#app-view #grade-sheet-view .grade-layout{gap:calc(1rem * var(--app-view-density));margin-top:calc(1rem * var(--app-view-density));grid-template-columns:1.45fr 1fr;display:grid}#app-view #grade-sheet-view .panel-card{border:1px solid var(--theme-border-subtle);background:var(--theme-surface-inset);padding:calc(.9rem * var(--app-view-density));border-radius:.92rem}#app-view #grade-sheet-view .components-grid{gap:calc(.72rem * var(--app-view-density));grid-template-columns:repeat(2,minmax(0,1fr));display:grid}#app-view #grade-sheet-view .component-card{border:1px solid var(--theme-border-subtle);background:color-mix(in oklab, var(--theme-surface-elevated) 90%, var(--theme-panel-inset-bg));padding:calc(.75rem * var(--app-view-density));gap:calc(.52rem * var(--app-view-density));border-radius:.8rem;display:grid}#app-view #grade-sheet-view .component-card h3{margin:0;font-size:1.02rem;line-height:1.2}#app-view #grade-sheet-view .component-meta{opacity:.8;font-size:.79rem}#app-view #grade-sheet-view .inputs-grid{grid-template-columns:repeat(auto-fill, minmax(calc(120px * var(--app-view-density)), 1fr));gap:calc(.52rem * var(--app-view-density));display:grid}#app-view #grade-sheet-view .input-group{gap:.24rem;display:grid}#app-view #grade-sheet-view .input-group label{opacity:.88;font-size:.75rem;font-weight:600}#app-view #grade-sheet-view .input-group input[type=number]{border:1px solid var(--theme-button-secondary-border);background:color-mix(in oklab, var(--theme-surface-elevated) 88%, var(--theme-bg));width:100%;color:var(--theme-text-strong);border-radius:.46rem;padding:.42rem;font-size:.86rem}#app-view #grade-sheet-view .drop-row{opacity:.86;align-items:center;gap:.32rem;font-size:.72rem;display:inline-flex}#app-view #grade-sheet-view .left-actions{margin-top:calc(.82rem * var(--app-view-density))}#app-view #grade-sheet-view .calculate-btn{border:1px solid color-mix(in oklab, var(--theme-primary) 38%, transparent);background:var(--theme-cta-bg);width:100%;color:var(--theme-on-primary);letter-spacing:.02em;cursor:pointer;box-shadow:var(--theme-cta-shadow);border-radius:999px;padding:.72rem 1rem;font-weight:800}#app-view #grade-sheet-view .analytics-column{gap:calc(.72rem * var(--app-view-density));align-content:start;display:grid}#app-view #grade-sheet-view .grade-summary-card h3{margin:0;font-size:1.05rem}#app-view #grade-sheet-view .overall-grade{margin:.6rem 0 .3rem;font-size:2.2rem;font-weight:800}#app-view #grade-sheet-view .stacked-bar{background:color-mix(in oklab, var(--theme-on-bg) 8%, var(--theme-surface-subtle,var(--theme-mix-base)));border-radius:999px;width:100%;height:22px;margin-top:.5rem;display:flex;overflow:hidden}#app-view #grade-sheet-view .bar-green{background:#10b981}#app-view #grade-sheet-view .bar-gray{background:#94a3b8}#app-view #grade-sheet-view .bar-red{background:#ef4444}#app-view #grade-sheet-view .stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.44rem;margin-top:.75rem;display:grid}#app-view #grade-sheet-view .stat-box{border:1px solid var(--theme-border-subtle);background:color-mix(in oklab, var(--theme-surface-elevated) 92%, var(--theme-panel-inset-bg));text-align:center;border-radius:.64rem;padding:.58rem .45rem}#app-view #grade-sheet-view .stat-box .value{font-size:1.1rem;font-weight:800}#app-view #grade-sheet-view .value.secured{color:#059669}#app-view #grade-sheet-view .value.ungraded{color:color-mix(in oklab, var(--theme-on-bg) 58%, transparent)}#app-view #grade-sheet-view .value.lost{color:#dc2626}#app-view #grade-sheet-view .label{opacity:.77;font-size:.76rem}#app-view #grade-sheet-view .chart-card h3{margin:0 0 .55rem;font-size:1rem}#app-view #grade-sheet-view .chart-grid{gap:.64rem;display:grid}#app-view #grade-sheet-view .chart-box{border:1px solid var(--theme-border-subtle);background:var(--theme-surface-inset);border-radius:.72rem;place-items:center;min-height:170px;padding:.52rem;display:grid}#app-view #grade-sheet-view .chart-box canvas{width:100%;max-width:260px;height:150px}#app-view #grade-sheet-view .chart-box--wide canvas{width:100%;max-width:none;height:220px}#app-view #grade-sheet-view .component-list{gap:.5rem;margin-top:.7rem;display:grid}#app-view #grade-sheet-view .component-row{background:color-mix(in oklab, var(--theme-surface-elevated) 92%, var(--theme-panel-inset-bg));border:1px solid var(--theme-border-subtle);border-radius:.64rem;padding:.54rem .62rem;font-size:.82rem;line-height:1.42}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#app-view #grade-sheet-view{--grades-control-height:2.32rem}#app-view #grade-sheet-view .grades-icon-btn{width:1.58rem;min-width:1.58rem;height:1.58rem;min-height:1.58rem}#app-view #grade-sheet-view .grades-icon-btn svg{width:.76rem;height:.76rem}.grades-shell{grid-template-columns:minmax(0,1fr);gap:.95rem;width:min(1120px,100%);margin-inline:auto;display:grid}.grades-shell--empty{align-content:start;min-height:24rem}.grades-intro{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.grades-intro--active{padding-inline:.08rem}.grades-intro h2{margin:0;font-size:clamp(1.4rem,1.5vw,1.7rem)}.grades-intro .panel-subtitle{max-width:30rem;margin:0;font-size:.8rem;line-height:1.3}.grades-empty{border:1px dashed color-mix(in oklab, var(--theme-primary) 26%, var(--theme-mix-base));background:linear-gradient(145deg, color-mix(in oklab, var(--theme-surface-elevated,var(--theme-surface-1)) 92%, white), color-mix(in oklab, var(--theme-surface-subtle,var(--theme-panel-inset-bg)) 90%, var(--theme-mix-base)));border-radius:1rem;justify-items:start;gap:1rem;padding:1.35rem;display:grid}.grades-empty p{max-width:38rem;margin:0;line-height:1.5}.grades-header{border:1px solid var(--theme-border-subtle);background:var(--theme-surface-secondary);box-shadow:var(--theme-shadow-sm);border-radius:1rem;grid-template-columns:minmax(0,1fr);gap:.44rem;padding:.68rem .98rem .88rem;display:grid}.grades-header__grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-areas:"course course course selector selector selector""metrics metrics stats stats actions actions";align-items:start;gap:.56rem;display:grid}.grades-header__grid--header-only{grid-template-areas:"course course course selector selector selector"}.grades-header__course-stack{flex-direction:column;flex:1;grid-area:course;align-self:center;align-items:flex-start;gap:.48rem;min-width:0;display:flex;overflow:hidden}.grades-header__course-stack--with-scale{align-self:start}#app-view #grade-sheet-view .grades-header .grade-course-badge{margin-top:0}.grades-header__selector,.grades-header__actions-wrap{justify-content:flex-end;align-items:center;gap:.44rem;min-width:0;display:flex}.grades-header__selector{grid-area:selector;place-self:start end;width:100%}.grades-header__actions-wrap{grid-area:actions;place-self:center end}.grades-scale-banner{flex-wrap:wrap;align-items:center;gap:.5rem;max-width:100%;display:flex}.grades-scale-flag-wrap{align-items:center;display:inline-flex;position:relative}.grades-scale-flag{border:1px solid color-mix(in oklab, #f59e0b 42%, var(--theme-mix-base));background:color-mix(in oklab, #f59e0b 12%, var(--theme-surface-1));min-height:2rem;color:color-mix(in oklab, #f59e0b 78%, var(--theme-on-bg));font:inherit;letter-spacing:.01em;cursor:help;border-radius:999px;align-items:center;gap:.38rem;padding:.36rem .62rem;font-size:.74rem;font-weight:800;display:inline-flex}.grades-scale-flag__icon{background:color-mix(in oklab, #f59e0b 20%, var(--theme-surface-1));width:1.1rem;height:1.1rem;color:inherit;border-radius:999px;justify-content:center;align-items:center;font-size:.72rem;line-height:1;display:inline-flex}.grades-scale-flag:focus-visible{outline:2px solid color-mix(in oklab, #f59e0b 58%, var(--theme-primary));outline-offset:3px}.grades-scale-banner__summary{color:color-mix(in oklab, var(--theme-on-bg) 84%, var(--theme-mix-base));font-size:.74rem;font-weight:700}.grades-scale-tooltip{border:1px solid color-mix(in oklab, #f59e0b 24%, var(--theme-mix-base));background:color-mix(in oklab, var(--theme-surface-elevated,var(--theme-surface-1)) 96%, #0f172a);width:min(24rem,100vw - 2rem);color:var(--theme-on-bg);opacity:0;pointer-events:none;visibility:hidden;z-index:5;border-radius:.82rem;gap:.5rem;padding:.72rem;transition:opacity .14s,transform .14s;display:grid;position:absolute;top:calc(100% + .7rem);left:0;transform:translateY(.2rem);box-shadow:0 14px 30px oklab(18.4344% -.0139187 -.0434712/.28)}.grades-scale-flag-wrap:hover .grades-scale-tooltip,.grades-scale-flag-wrap:focus-within .grades-scale-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.grades-scale-tooltip__title{font-size:.82rem;font-weight:800}.grades-scale-tooltip__body,.grades-scale-tooltip__note{color:color-mix(in oklab, var(--theme-on-bg) 80%, var(--theme-mix-base));margin:0;font-size:.72rem;line-height:1.45}.grades-scale-tooltip__grid{gap:.34rem;display:grid}.grades-scale-tooltip__row{background:#ffffff08;border:1px solid #ffffff14;border-radius:.62rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.44rem .5rem;display:flex}.grades-scale-tooltip__letter{font-size:.72rem;font-weight:800}.grades-scale-tooltip__range{text-align:right;font-size:.76rem;line-height:1.2}.grades-header__actions{flex-shrink:0;justify-content:flex-end;align-items:center;gap:.44rem;display:flex}.grades-metrics{flex-wrap:nowrap;grid-area:metrics;place-self:center start;gap:.44rem;min-width:0;display:flex}.grades-metric{border:1px solid var(--theme-border-subtle);background:var(--theme-surface-inset);border-radius:.68rem;align-items:center;gap:.34rem;padding:.3rem .58rem;display:flex}.grades-metric__label{text-transform:uppercase;letter-spacing:.06em;opacity:.62;font-size:.66rem;font-weight:700}.grades-metric__value{font-size:1rem;line-height:1}.grades-stats-row{flex-wrap:nowrap;grid-area:stats;justify-content:center;place-self:center;align-items:center;gap:.44rem;width:max-content;min-width:0;max-width:100%;display:flex}.grades-stat-inline{border:1px solid var(--theme-border-subtle);background:var(--theme-surface-inset);color:color-mix(in oklab, var(--theme-on-bg) 80%, var(--theme-mix-base));white-space:nowrap;border-radius:999px;align-items:center;gap:.34rem;padding:.34rem .6rem;font-size:.72rem;font-weight:700;display:inline-flex}.grades-stat-inline strong{font-size:inherit;opacity:1;font-variant-numeric:tabular-nums;color:var(--theme-text-strong)}.grades-stat-inline--earned strong{color:#34d399}.grades-stat-inline--lost strong{color:#f87171}.grades-stat-sep{opacity:.34;font-size:.72rem}.grades-pill{border:1px solid #0000;border-radius:999px;align-items:center;padding:.12rem .46rem;font-size:.76rem;font-weight:800;display:inline-flex}.grades-pill--sm{padding:.08rem .36rem;font-size:.68rem}.grades-pill--good{background:color-mix(in oklab, #059669 12%, var(--theme-surface-1));border-color:color-mix(in oklab, #059669 26%, var(--theme-mix-base));color:#059669}.grades-pill--mid{background:color-mix(in oklab, #d97706 12%, var(--theme-surface-1));border-color:color-mix(in oklab, #d97706 26%, var(--theme-mix-base));color:#d97706}.grades-pill--poor{background:color-mix(in oklab, #dc2626 12%, var(--theme-surface-1));border-color:color-mix(in oklab, #dc2626 26%, var(--theme-mix-base));color:#dc2626}.grades-select{flex:0 clamp(20rem,34vw,28rem);gap:.32rem;width:min(100%,clamp(20rem,34vw,28rem));max-width:28rem;font-size:1rem;font-weight:700;display:grid}.grades-search input{border:1px solid var(--theme-button-secondary-border);background:color-mix(in oklab, var(--theme-surface-elevated) 88%, var(--theme-bg));width:100%;min-height:2.28rem;color:var(--theme-text-strong);font:inherit;border-radius:.66rem;padding:.48rem .68rem}.grades-select select{width:100%;min-height:var(--grades-control-height);border:1px solid var(--theme-button-secondary-border);background:color-mix(in oklab, var(--theme-surface-elevated) 88%, var(--theme-bg));color:var(--theme-text-strong);font:inherit;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .72rem center;background-repeat:no-repeat;border-radius:.64rem;padding:.5rem 2.2rem .5rem .68rem}.grades-primary-btn,.grades-icon-btn{font:inherit;cursor:pointer;border-radius:999px;font-weight:800;transition:transform .18s,box-shadow .18s,opacity .18s}.grades-primary-btn{border:1px solid color-mix(in oklab, var(--theme-primary) 38%, transparent);min-height:var(--grades-control-height);height:var(--grades-control-height);white-space:nowrap;background:var(--theme-cta-bg);color:var(--theme-on-primary);box-shadow:var(--theme-cta-shadow);justify-content:center;align-items:center;padding:0 .9rem;display:inline-flex}.grades-icon-btn{width:var(--grades-control-height);height:var(--grades-control-height);border:1px solid var(--theme-button-secondary-border);background:var(--theme-button-secondary-bg);color:var(--theme-text-strong);justify-content:center;align-items:center;display:inline-flex}.grades-icon-btn svg{width:.98rem;height:.98rem}.grades-primary-btn:hover,.grades-icon-btn:hover{transform:translateY(-1px)}.grades-primary-btn:disabled,.grades-icon-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.grades-toast{border:1px solid #0000;border-radius:.85rem;padding:.72rem .9rem;font-size:.84rem;font-weight:700}.grades-toast--info{background:color-mix(in oklab, var(--theme-primary) 10%, var(--theme-surface-1));border-color:color-mix(in oklab, var(--theme-primary) 24%, var(--theme-mix-base))}.grades-toast--success{background:color-mix(in oklab, #059669 10%, var(--theme-surface-1));border-color:color-mix(in oklab, #059669 24%, var(--theme-mix-base))}.grades-toast--error{background:color-mix(in oklab, #dc2626 10%, var(--theme-surface-1));border-color:color-mix(in oklab, #dc2626 24%, var(--theme-mix-base))}.grades-banner{border:1px solid var(--theme-border-soft,color-mix(in oklab, var(--theme-primary) 18%, transparent));background:color-mix(in oklab, var(--theme-primary) 9%, var(--theme-surface-elevated,var(--theme-surface-1)));border-radius:.82rem;padding:.72rem .88rem;font-size:.84rem;font-weight:700}.grades-banner--demo-limit{border-color:color-mix(in oklab, var(--theme-primary) 28%, transparent)}.grades-banner--warning{color:var(--theme-on-warning);background:color-mix(in oklab, var(--theme-warning-bg) 78%, var(--theme-surface-elevated,var(--theme-surface-1)));border-color:color-mix(in oklab, var(--theme-warning) 40%, transparent)}.grades-banner-link{color:var(--theme-primary);text-underline-offset:.15em;font-weight:800;text-decoration:underline}.grades-analytics{border:1px solid var(--theme-border-soft,color-mix(in oklab, var(--theme-primary) 16%, var(--theme-mix-base)));background:linear-gradient(145deg, color-mix(in oklab, var(--theme-surface-elevated,var(--theme-surface-1)) 96%, var(--theme-mix-base)), color-mix(in oklab, var(--theme-surface-subtle,var(--theme-panel-inset-bg)) 95%, var(--theme-mix-base)));border-radius:.95rem;padding:.82rem .88rem}.grades-chart-grid{grid-template-columns:minmax(0,.6fr) minmax(0,1fr);gap:.72rem;display:grid}.grades-chart-legend--desktop{grid-column:1/-1}.grades-chart-legend.grades-chart-legend--mobile{display:none}.grades-chart-card{border:1px solid var(--theme-border-soft,color-mix(in oklab, var(--theme-primary) 14%, var(--theme-mix-base)));background:var(--theme-surface-elevated,color-mix(in oklab, var(--theme-bg) 92%, var(--theme-mix-base)));border-radius:.82rem;gap:.44rem;min-width:0;padding:.62rem;display:grid;overflow:visible}.grades-chart-card__header{justify-content:space-between;align-items:center;gap:.4rem;min-width:0;display:flex}.grades-chart-card__header h4{white-space:nowrap;text-overflow:ellipsis;min-width:0;margin:0;font-size:.88rem;overflow:hidden}.grades-chart-card__header span{opacity:.72;white-space:nowrap;flex-shrink:0;font-size:.72rem;font-weight:700}.grades-chart-card__canvas{align-items:stretch;height:calc(100dvh - 31rem);min-height:260px;display:grid;position:relative}.grades-chart-card__canvas canvas{width:100%;display:block;height:100%!important}.grades-chart-canvas--hidden{visibility:hidden}.grades-chart-fallback{align-content:center;gap:.6rem;padding:.2rem;display:grid;position:absolute;inset:0}.grades-chart-fallback small{color:color-mix(in oklab, var(--theme-on-bg) 68%, var(--theme-mix-base));font-size:.72rem}.grades-chart-fallback__stack{gap:.48rem;display:grid}.grades-chart-fallback__metric,.grades-chart-fallback__component{gap:.24rem;display:grid}.grades-chart-fallback__metric-head{justify-content:space-between;align-items:center;gap:.6rem;font-size:.76rem;font-weight:700;display:flex}.grades-chart-fallback__track{background:color-mix(in oklab, var(--theme-on-bg) 8%, var(--theme-surface-subtle,var(--theme-mix-base)));border-radius:999px;height:.42rem;display:flex;overflow:hidden}.grades-chart-fallback__fill{border-radius:inherit;height:100%}.grades-chart-fallback__fill--earned{background:#10b981}.grades-chart-fallback__fill--ungraded{background:#94a3b8}.grades-chart-fallback__fill--lost{background:#ef4444}.grades-chart-fallback--components{gap:.48rem}.grades-clock-hands{--grades-clock-hands-color:color-mix(in oklab, var(--theme-on-bg) 88%, #000);pointer-events:none;z-index:1;width:70%;height:70%;position:absolute;inset:15%;overflow:visible}.grades-clock-hands__line{stroke:var(--grades-clock-hands-color);stroke-linecap:round;fill:none;filter:drop-shadow(0 0 1px #ffffff29)}.grades-clock-hands__line--red{stroke-width:2px;opacity:.68}.grades-clock-hands__line--green{stroke-width:2.4px;opacity:.88}.grades-clock-hands__hub{fill:var(--grades-clock-hands-color);filter:drop-shadow(0 0 1px #ffffff29)}[data-theme=dark] .grades-clock-hands{--grades-clock-hands-color:color-mix(in oklab, white 94%, var(--theme-on-bg))}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .grades-clock-hands{--grades-clock-hands-color:color-mix(in oklab, white 94%, var(--theme-on-bg))}}.grades-breakdown-row__track{background:color-mix(in oklab, var(--theme-on-bg) 8%, var(--theme-surface-subtle,var(--theme-mix-base)));border-radius:999px;height:.5rem;display:flex;overflow:hidden}.grades-breakdown-row__segment{flex-shrink:0;height:100%}.grades-breakdown-row__segment--earned{background:#10b981}.grades-breakdown-row__segment--ungraded{background:#94a3b8}.grades-breakdown-row__segment--lost{background:#ef4444}.grades-table{border:1px solid var(--theme-border-soft,color-mix(in oklab, var(--theme-primary) 16%, var(--theme-mix-base)));background:linear-gradient(145deg, color-mix(in oklab, var(--theme-surface-elevated,var(--theme-surface-1)) 96%, var(--theme-mix-base)), color-mix(in oklab, var(--theme-surface-subtle,var(--theme-panel-inset-bg)) 95%, var(--theme-mix-base)));border-radius:.95rem;padding:.82rem .88rem}.grades-toolbar{flex-wrap:wrap;align-items:center;gap:.52rem;margin-bottom:.78rem;display:flex}.grades-toolbar__search-wrap{flex:1;align-items:center;gap:.52rem;min-width:160px;display:flex}.grades-search{flex:1;gap:.32rem;min-width:0;display:grid}.grades-filter-pills{flex-wrap:wrap;gap:.36rem;display:flex}.grades-filter-pills button:not(.grades-filter-pills__quick-entry){border:1px solid var(--theme-border-soft,color-mix(in oklab, var(--theme-primary) 18%, var(--theme-mix-base)));background:color-mix(in oklab, var(--theme-surface-subtle,var(--theme-surface-1)) 92%, var(--theme-mix-base));color:var(--theme-on-bg);min-height:2.12rem;font:inherit;cursor:pointer;border-radius:999px;padding:.46rem .7rem;font-size:.76rem;font-weight:800}.grades-filter-pills button:not(.grades-filter-pills__quick-entry).selected{background:color-mix(in oklab, var(--theme-primary) 20%, var(--theme-mix-base));border-color:color-mix(in oklab, var(--theme-primary) 34%, var(--theme-mix-base))}.grades-complete-chip{background:color-mix(in oklab, #059669 14%, var(--theme-surface-1));border:1px solid color-mix(in oklab, #059669 22%, var(--theme-mix-base));color:#059669;white-space:nowrap;border-radius:999px;align-items:center;padding:.28rem .6rem;font-size:.72rem;font-weight:800;display:inline-flex}.grades-accordion{gap:.56rem;display:grid}.grades-accordion__item{border:1px solid var(--theme-border-soft,color-mix(in oklab, var(--theme-primary) 26%, var(--theme-mix-base)));background:color-mix(in oklab, var(--theme-surface-subtle,var(--theme-surface-1)) 94%, var(--theme-mix-base));border-radius:.82rem;overflow:visible;box-shadow:0 10px 20px oklab(18.4344% -.0139187 -.0434712/.08)}.grades-accordion__item--collapsed{box-shadow:0 8px 16px oklab(18.4344% -.0139187 -.0434712/.06)}.grades-accordion__header{cursor:default;z-index:1;width:100%;padding:.66rem .76rem;position:relative}.grades-accordion__title{align-items:center;gap:.68rem;display:flex}.grades-accordion__edit-btn{color:color-mix(in oklab, var(--theme-on-bg) 78%, var(--theme-mix-base));opacity:.92;flex-shrink:0}.grades-accordion__edit-btn--active{color:var(--theme-primary);border-color:color-mix(in oklab, var(--theme-primary) 42%, var(--theme-mix-base));background:color-mix(in oklab, var(--theme-primary) 12%, var(--theme-button-secondary-bg));box-shadow:0 0 0 1px color-mix(in oklab, var(--theme-primary) 12%, transparent)}.grades-accordion__edit-btn:disabled{cursor:not-allowed;opacity:.35}.grades-accordion__title h4{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.98rem;overflow:hidden}.grades-accordion__title-left{gap:.1rem;min-width:100px;display:grid;overflow:hidden}.grades-accordion__weight{opacity:.62;white-space:nowrap;font-size:.7rem}.grades-accordion__track-wrap{appearance:none;cursor:default;background:0 0;border:0;flex:1;align-items:center;min-width:48px;margin:0;padding:0;display:flex;position:relative;overflow:visible}.grades-accordion__track{background:color-mix(in oklab, var(--theme-on-bg) 8%, var(--theme-surface-subtle,var(--theme-mix-base)));border-radius:999px;width:100%;height:.5rem;display:flex;overflow:hidden}.grades-accordion__track-wrap:focus-visible{outline:2px solid color-mix(in oklab, var(--theme-primary) 62%, #0ea5e9);outline-offset:4px;z-index:3;border-radius:999px}.grades-accordion__track-tooltip{border:1px solid color-mix(in oklab, var(--theme-primary) 16%, var(--theme-mix-base));background:color-mix(in oklab, var(--theme-surface-elevated,var(--theme-surface-1)) 96%, #0f172a);min-width:15rem;color:var(--theme-on-bg);text-align:left;white-space:nowrap;opacity:0;pointer-events:none;visibility:hidden;z-index:4;border-radius:.7rem;grid-template-columns:repeat(3,minmax(0,1fr));gap:.38rem;padding:.52rem;font-size:.72rem;line-height:1.4;transition:opacity .14s,transform .14s;display:grid;position:absolute;bottom:calc(100% + .6rem);left:50%;transform:translate(-50%)translateY(.2rem);box-shadow:0 12px 24px oklab(18.4344% -.0139187 -.0434712/.24)}.grades-accordion__track-metric{background:#ffffff08;border:1px solid #ffffff14;border-radius:.58rem;gap:.16rem;min-width:0;padding:.42rem .5rem;display:grid}.grades-accordion__track-metric span{letter-spacing:.01em;opacity:.78;font-size:.64rem;font-weight:700}.grades-accordion__track-metric strong{font-size:.84rem;line-height:1.1}.grades-accordion__track-metric--secured strong{color:#10b981}.grades-accordion__track-metric--ungraded strong{color:#cbd5e1}.grades-accordion__track-metric--lost strong{color:#ef4444}.grades-accordion__track-wrap:hover .grades-accordion__track-tooltip,.grades-accordion__track-wrap:focus-visible .grades-accordion__track-tooltip{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.grades-accordion__track-wrap:hover{z-index:3}.grades-accordion__score-info{flex-shrink:0;align-items:center;gap:.36rem;display:flex}.grades-accordion__score-summary{gap:.05rem;display:grid}.grades-accordion__score-value{align-items:center;gap:.32rem;display:inline-flex}.grades-accordion__score-label{letter-spacing:.01em;opacity:.7;text-transform:uppercase;font-size:.62rem;font-weight:700}.grades-accordion__score-pct{font-size:.88rem}.grades-accordion__progress-text{color:color-mix(in oklab, var(--theme-on-bg) 68%, var(--theme-mix-base));white-space:nowrap;font-size:.7rem}.grades-accordion__excluded-count{opacity:.62;font-size:.68rem}.grades-accordion__toggle{border:1px solid var(--theme-border-soft,color-mix(in oklab, var(--theme-primary) 18%, var(--theme-mix-base)));background:color-mix(in oklab, var(--theme-surface-elevated,var(--theme-surface-1)) 94%, var(--theme-mix-base));min-height:2.1rem;color:var(--theme-on-bg);font:inherit;cursor:pointer;border-radius:999px;flex-shrink:0;align-items:center;gap:.32rem;padding:.42rem .68rem;font-size:.72rem;font-weight:800;display:inline-flex}.grades-accordion__toggle:hover{background:color-mix(in oklab, var(--theme-primary) 12%, var(--theme-surface-elevated,var(--theme-surface-1)))}.grades-accordion__toggle:focus-visible{outline:2px solid color-mix(in oklab, var(--theme-primary) 62%, #0ea5e9);outline-offset:2px}.grades-accordion__toggle-icon{width:.92rem;height:.92rem;transition:transform .16s}.grades-accordion__toggle[aria-expanded=false] .grades-accordion__toggle-icon{transform:rotate(-90deg)}.grades-accordion__body{border-top:1px solid color-mix(in oklab, var(--theme-primary) 10%, var(--theme-mix-base));padding:0 .76rem .76rem}.grades-rows{gap:.46rem;padding-top:.68rem;display:grid}.grades-row{border:1px solid var(--theme-border-soft,color-mix(in oklab, var(--theme-primary) 12%, var(--theme-mix-base)));background:var(--theme-surface-elevated,color-mix(in oklab, var(--theme-bg) 94%, var(--theme-mix-base)));border-radius:.72rem;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.46rem;padding:.52rem .6rem;display:grid}.grades-row--ungraded{border-color:color-mix(in oklab, #0ea5e9 18%, var(--theme-mix-base));background:color-mix(in oklab, #0ea5e9 8%, var(--theme-surface-subtle,var(--theme-surface-1)))}.grades-row--graded{opacity:.96}.grades-row--ignored{opacity:.62;background:color-mix(in oklab, var(--theme-surface-subtle,var(--theme-surface-1)) 86%, var(--theme-mix-base))}.grades-row--ignored .grades-row__title{opacity:.72;text-decoration:line-through}.grades-row--excluded{border-color:color-mix(in oklab, #64748b 22%, var(--theme-mix-base))}.grades-row__meta{flex-direction:column;gap:.16rem;min-width:0;display:flex}.grades-row__title{text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:700;overflow:hidden}.grades-row__due-inline{opacity:.6;font-size:.68rem;font-weight:600}.grades-row__score-wrap{align-items:center;gap:.26rem;display:flex}.grades-row__score{align-items:center;display:flex}.grades-row__score input{border:1px solid var(--theme-border-soft,color-mix(in oklab, var(--theme-primary) 18%, var(--theme-mix-base)));background:var(--theme-surface-elevated,color-mix(in oklab, var(--theme-bg) 92%, var(--theme-mix-base)));width:72px;min-height:2.1rem;color:var(--theme-on-bg);font:inherit;text-align:right;border-radius:.58rem;padding:.38rem .5rem;font-size:.88rem}.grades-row__score-denom{opacity:.52;white-space:nowrap;font-size:.72rem}.grades-row__clear-btn{background:color-mix(in oklab, var(--theme-on-bg) 9%, var(--theme-surface-subtle,var(--theme-mix-base)));width:1.4rem;height:1.4rem;color:var(--theme-on-bg);cursor:pointer;opacity:.6;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;transition:opacity .14s;display:inline-flex}.grades-row__clear-btn:hover{opacity:1}.grades-row__clear-btn--restore{background:color-mix(in oklab, var(--theme-primary) 18%, var(--theme-surface-subtle,var(--theme-mix-base)));color:var(--theme-primary)}.grades-row__status-label{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;padding:.2rem .56rem;font-size:.72rem;font-weight:800;display:inline-flex}.grades-row__status-label--excluded{background:color-mix(in oklab, #64748b 14%, var(--theme-surface-1));border-color:color-mix(in oklab, #64748b 22%, var(--theme-mix-base));color:color-mix(in oklab, #334155 76%, var(--theme-on-bg))}.grades-row__toggle-btn{border:1px solid color-mix(in oklab, var(--theme-on-bg) 12%, var(--theme-surface-subtle,var(--theme-mix-base)));background:color-mix(in oklab, var(--theme-surface-elevated,var(--theme-surface-1)) 96%, white);min-height:2rem;color:var(--theme-on-bg);font:inherit;cursor:pointer;border-radius:.54rem;padding:.34rem .68rem;font-size:.74rem;font-weight:800;transition:transform .14s,opacity .14s,border-color .14s}.grades-row__toggle-btn:hover{transform:translateY(-1px)}.grades-row__toggle-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.grades-row__toggle-btn--active{background:color-mix(in oklab, #64748b 16%, var(--theme-surface-1));border-color:color-mix(in oklab, #64748b 28%, var(--theme-mix-base))}.grades-row--add-slot{border:1px dashed color-mix(in oklab, var(--theme-primary) 28%, var(--theme-mix-base));background:color-mix(in oklab, var(--theme-primary) 6%, var(--theme-surface-subtle,var(--theme-surface-1)));box-shadow:none;border-radius:.72rem;grid-template-columns:1fr;padding:0}.grades-accordion__add-slot-btn{text-align:left;width:100%;font:inherit;color:var(--theme-primary);cursor:pointer;background:0 0;border:none;border-radius:.72rem;align-items:center;gap:6px;padding:.72rem .84rem;font-size:.82rem;font-weight:700;transition:background .1s,color .1s,opacity .1s;display:flex}.grades-accordion__add-slot-btn:hover:not(:disabled){background:color-mix(in oklab, var(--theme-primary) 10%, var(--theme-surface-elevated,var(--theme-surface-1)))}.grades-accordion__add-slot-btn:disabled{opacity:.45;cursor:not-allowed}.grades-accordion__add-slot-label{color:var(--theme-on-bg)}.grades-accordion__add-slot-btn>span[aria-hidden=true]{background:color-mix(in oklab, var(--theme-primary) 16%, var(--theme-surface-elevated,var(--theme-surface-1)));border-radius:999px;justify-content:center;align-items:center;width:.92rem;height:.92rem;font-size:.68rem;line-height:1;display:inline-flex}.grades-row__score input:focus-visible,.grades-search input:focus-visible,.grades-select select:focus-visible,.grades-row__toggle-btn:focus-visible,.grades-accordion__edit-btn:focus-visible,.grades-accordion__add-slot-btn:focus-visible{outline:2px solid color-mix(in oklab, var(--theme-primary) 62%, #0ea5e9);outline-offset:2px}.grades-no-results{border:1px dashed color-mix(in oklab, var(--theme-primary) 18%, var(--theme-mix-base));background:color-mix(in oklab, var(--theme-surface-subtle,var(--theme-surface-1)) 94%, var(--theme-mix-base));color:color-mix(in oklab, var(--theme-on-bg) 82%, var(--theme-mix-base));border-radius:.78rem;padding:.78rem .88rem;font-size:.78rem}.grades-no-results--section{margin-top:.9rem}.grades-chart-legend{grid-template-columns:repeat(8,1fr);gap:.28rem .4rem;padding:.5rem .22rem .12rem;display:grid}.legend-item{background:var(--theme-surface-subtle,var(--theme-panel-bg,#ffffff0d));border:1px solid var(--theme-border-soft,var(--theme-panel-border,#ffffff14));border-radius:.3rem;justify-content:space-between;align-items:center;gap:.3rem;padding:.18rem .42rem;font-size:.68rem;display:flex;overflow:hidden}.legend-item__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.legend-item__contrib{white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:700}[data-theme=light] .grades-filter-pills button:not(.grades-filter-pills__quick-entry){background:var(--theme-cta-bg);border-color:color-mix(in oklab, var(--theme-primary) 48%, var(--theme-mix-base));color:var(--theme-on-primary)}.grades-filter-pills button.grades-primary-btn.grades-filter-pills__quick-entry{border-color:color-mix(in oklab, var(--theme-primary) 38%, transparent);min-height:var(--grades-control-height);height:var(--grades-control-height);background:var(--theme-cta-bg);color:var(--theme-on-primary);box-shadow:var(--theme-cta-shadow);line-height:inherit;font-size:inherit;box-sizing:border-box;flex:none;padding:0 .9rem}[data-theme=light] .grades-filter-pills button:not(.grades-filter-pills__quick-entry).selected{background:var(--theme-cta-bg-hover);border-color:color-mix(in oklab, var(--theme-primary) 60%, var(--theme-mix-base));color:var(--theme-on-primary)}[data-theme=light] .grades-icon-btn{background:var(--theme-cta-bg);border-color:color-mix(in oklab, var(--theme-primary) 48%, var(--theme-mix-base));color:var(--theme-on-primary)}.legend-item__weight{opacity:.5;margin-left:.12rem;font-size:.62rem;font-weight:500}[data-theme=dark] #app-view #grade-sheet-view .grade-course-badge{background:color-mix(in oklab, var(--theme-primary) 10%, var(--theme-surface-2));border-color:color-mix(in oklab, var(--theme-primary) 30%, transparent);color:var(--theme-on-bg)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) #app-view #grade-sheet-view .grade-course-badge{background:color-mix(in oklab, var(--theme-primary) 10%, var(--theme-surface-2));border-color:color-mix(in oklab, var(--theme-primary) 30%, transparent);color:var(--theme-on-bg)}}[data-theme=dark] .grades-metric{background:color-mix(in oklab, var(--theme-primary) 10%, var(--theme-surface-2));border-color:color-mix(in oklab, var(--theme-primary) 30%, transparent)}[data-theme=dark] .grades-stat-inline{background:color-mix(in oklab, var(--theme-primary) 10%, var(--theme-surface-2));border-color:color-mix(in oklab, var(--theme-primary) 20%, transparent)}[data-theme=dark] .grades-metric__label{opacity:.75;color:var(--theme-on-bg)}[data-theme=dark] .grades-metric__value{color:var(--theme-on-bg)}[data-theme=dark] .grades-pill--good{background:color-mix(in oklab, #22c55e 24%, var(--theme-surface-2));border-color:color-mix(in oklab, #22c55e 42%, var(--theme-mix-base));color:#d9fbe8;box-shadow:inset 0 1px #ffffff14}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .grades-metric{background:color-mix(in oklab, var(--theme-primary) 10%, var(--theme-surface-2));border-color:color-mix(in oklab, var(--theme-primary) 30%, transparent)}:root:not([data-theme=light]) .grades-stat-inline{background:color-mix(in oklab, var(--theme-primary) 10%, var(--theme-surface-2));border-color:color-mix(in oklab, var(--theme-primary) 20%, transparent)}:root:not([data-theme=light]) .grades-metric__label{opacity:.75;color:var(--theme-on-bg)}:root:not([data-theme=light]) .grades-metric__value{color:var(--theme-on-bg)}:root:not([data-theme=light]) .grades-pill--good{background:color-mix(in oklab, #22c55e 24%, var(--theme-surface-2));border-color:color-mix(in oklab, #22c55e 42%, var(--theme-mix-base));color:#d9fbe8;box-shadow:inset 0 1px #ffffff14}}[data-theme=dark] .grades-chart-card{background:color-mix(in oklab, var(--theme-surface-1) 78%, var(--theme-bg));border-color:var(--theme-border-soft)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .grades-chart-card{background:color-mix(in oklab, var(--theme-surface-1) 78%, var(--theme-bg));border-color:var(--theme-border-soft)}}[data-theme=dark] .grades-accordion__header{background:color-mix(in oklab, var(--theme-primary) 22%, var(--theme-surface-1))}[data-theme=dark] .grades-accordion__title h4,[data-theme=dark] .grades-accordion__weight{color:var(--theme-on-bg)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .grades-accordion__header{background:color-mix(in oklab, var(--theme-primary) 22%, var(--theme-surface-1))}:root:not([data-theme=light]) .grades-accordion__title h4,:root:not([data-theme=light]) .grades-accordion__weight{color:var(--theme-on-bg)}}[data-theme=dark] .grades-row{background:color-mix(in oklab, var(--theme-surface-1) 72%, var(--theme-bg));border-color:color-mix(in oklab, var(--theme-primary) 18%, var(--theme-surface-2))}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .grades-row{background:color-mix(in oklab, var(--theme-surface-1) 72%, var(--theme-bg));border-color:color-mix(in oklab, var(--theme-primary) 18%, var(--theme-surface-2))}}[data-theme=dark] .grades-select select,[data-theme=dark] .grades-search input{background:color-mix(in oklab, var(--theme-bg) 62%, var(--theme-surface-1));border-color:var(--theme-border-soft)}[data-theme=dark] .grades-select select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23ecf6ff' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .72rem center;background-repeat:no-repeat}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .grades-select select,:root:not([data-theme=light]) .grades-search input{background:color-mix(in oklab, var(--theme-bg) 62%, var(--theme-surface-1));border-color:var(--theme-border-soft)}:root:not([data-theme=light]) .grades-select select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23ecf6ff' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .72rem center;background-repeat:no-repeat}}@media (width<=1100px){.grades-chart-grid{grid-template-columns:1fr}}@media (width<=768px){.grades-shell{gap:.78rem;width:100%}.grades-header{padding:.72rem .78rem}.grades-chart-card__canvas{height:184px;min-height:184px}.grades-row{grid-template-columns:1fr;align-items:stretch}.grades-clock-hands{width:74%;height:74%;inset:13%}.grades-accordion__track{display:none}.grades-accordion__title{flex-wrap:wrap;align-items:flex-start}.grades-accordion__score-info{order:3;width:100%}.grades-accordion__toggle{margin-left:auto}.grades-header__grid,.grades-header__grid--header-only{grid-template-columns:1fr;grid-template-areas:"course""selector""metrics""stats""actions";align-items:stretch}.grades-header__selector,.grades-header__actions-wrap{justify-content:flex-start;width:100%}.grades-mobile-select{width:100%;max-width:100%}.grades-mobile-select select{width:100%;min-height:2.6rem;font-size:.9rem}.grades-scale-banner{align-items:flex-start;width:100%}.grades-metrics{flex-direction:column;gap:.32rem;display:flex}.grades-metric{padding:.38rem .62rem}.grades-metric__value{font-size:1.2rem}.grades-header__actions{justify-content:flex-end;width:100%}.grades-stats-row{text-align:center;grid-template-columns:repeat(3,1fr);gap:.4rem;width:100%;display:grid}#grade-sheet-view .mobile-course-chip-row{display:none}.grades-stat-inline{border:1px solid var(--theme-border-subtle);background:var(--theme-surface-inset);border-radius:.5rem;flex-direction:column;align-items:center;gap:.12rem;padding:.32rem .2rem;font-size:.7rem;display:flex}.grades-stat-inline strong{font-size:.9rem}.grades-shell{display:contents}.grades-analytics{background:0 0;border:none;border-radius:0;padding:0}.grades-chart-grid{display:contents}.grades-chart-legend--mobile{display:grid}.grades-chart-legend--desktop{display:none}.grades-snap-section{scroll-snap-align:start;box-sizing:border-box;flex-direction:column;justify-content:flex-start;min-height:100dvh;padding:.72rem;display:flex}.grades-snap-section--header{gap:.72rem}.grades-snap-section--bar-chart,.grades-snap-section--donut-chart{justify-content:center;gap:.72rem}.grades-snap-section--accordion{gap:0}.grades-chart-card{width:100%;max-width:100%;overflow:hidden}.grades-chart-card__canvas{width:100%;max-width:100%;height:220px;min-height:220px;overflow:hidden}.grades-chart-card__canvas canvas{width:100%;max-width:100%;display:block}.grades-chart-legend{grid-template-columns:repeat(2,1fr);gap:.36rem}.grades-chart-legend .legend-item{grid-column:span 1!important}.legend-item{flex-direction:column;align-items:flex-start;gap:.2rem;padding:.9rem .6rem}.legend-item__name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.8rem;overflow:hidden}.legend-item__contrib{font-size:.78rem}.grades-intro--snap-ghost{display:none}#grade-toast{bottom:calc(4rem + env(safe-area-inset-bottom,0px));z-index:150;text-align:center;min-width:220px;max-width:calc(100vw - 2rem);position:fixed;left:50%;transform:translate(-50%)}}
