@keyframes panel-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes panel-exit{to{opacity:0;transform:translateY(-4px)}}.demo-badge{color:color-mix(in oklab, #f97316 90%, var(--theme-text-strong));vertical-align:middle;background:oklab(70.4871% .125896 .137895/.18);border:1px solid oklab(70.4871% .125896 .137895/.4);border-radius:999px;margin-left:.5rem;padding:.15rem .55rem;font-size:.72rem;font-weight:600;display:inline-block}.demo-badge--trial{color:color-mix(in oklab, #059669 90%, var(--theme-text-strong));background:oklab(59.5971% -.121996 .0367738/.14);border-color:oklab(59.5971% -.121996 .0367738/.34)}.view-panel.is-exiting{animation:.13s forwards panel-exit}#app-view #calendar-view,#app-view #grade-sheet-view,#app-view #profile-view{--app-view-width-scale:1;--app-view-density:1;max-width:calc(var(--app-view-stage-width) * var(--app-view-width-scale));border:1px solid var(--theme-border-strong);background:var(--theme-surface-primary);width:100%;box-shadow:var(--theme-shadow-md);border-radius:1.15rem;margin:0 auto;padding:1.12rem;animation:.18s panel-enter}#app-view #calendar-view{--app-view-width-scale:var(--app-view-width-calendar);--app-view-density:var(--app-view-density-calendar)}#app-view #grade-sheet-view{--app-view-width-scale:var(--app-view-width-grades);--app-view-density:var(--app-view-density-grades)}#app-view #profile-view{--app-view-width-scale:var(--app-view-width-profile);--app-view-density:var(--app-view-density-profile);flex-direction:column;min-height:calc(100vh - 8rem);display:flex}#app-view #profile-view #profile-content,#app-view #profile-view #profile-inner{flex-direction:column;flex:1;min-height:0;display:flex}#app-view #grade-sheet-view .panel-subtitle,#app-view #profile-view .panel-subtitle{color:var(--theme-text-muted);margin:.16rem 0 0;font-size:.86rem}#app-view #profile-view .profile-intro,#app-view #profile-view .profile-header{margin-bottom:.95rem}#app-view #profile-view .profile-intro-copy{min-width:0;overflow:hidden}#app-view #profile-view .profile-intro h2{margin:0;font-size:clamp(1.4rem,1.5vw,1.7rem)}#app-view #profile-view .profile-intro .panel-subtitle{max-width:30rem;margin:0;font-size:.8rem;line-height:1.3}#app-view #grade-sheet-view .grade-header{margin-bottom:1rem}#app-view #profile-view .profile-header{margin-top:0}#app-view #grade-sheet-view .grade-course-badge,#app-view #profile-view .profile-course-badge{border:1px solid var(--theme-border-accent,color-mix(in oklab, var(--theme-primary) 26%, var(--theme-mix-base)));background:var(--theme-button-secondary-bg);color:var(--theme-text-body);letter-spacing:.03em;border-radius:999px;align-items:center;gap:.45rem;max-width:100%;margin-top:.52rem;padding:.32rem .68rem;font-size:.76rem;font-weight:800;display:inline-flex;overflow:hidden}#app-view #grade-sheet-view .grade-course-badge__label,#app-view #profile-view .profile-course-badge__label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}#app-view #profile-view .profile-course-badge{margin-top:0}#app-view #grade-sheet-view .grade-course-badge:before,#app-view #profile-view .profile-course-badge:before{content:"";background:color-mix(in oklab, var(--badge-class-color,var(--theme-primary)) 88%, #22d3ee);width:.48rem;height:.48rem;box-shadow:0 0 0 2px color-mix(in oklab, var(--badge-class-color,var(--theme-primary)) 24%, transparent);border-radius:999px}[data-theme=dark] #app-view #grade-sheet-view .grade-course-badge,[data-theme=dark] #app-view #profile-view .profile-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,:root:not([data-theme=light]) #app-view #profile-view .profile-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)}}#app-view{min-height:65vh;padding:.35rem 0 2.25rem}#scan-lock-overlay{z-index:220;backdrop-filter:blur(4px);opacity:0;background:oklab(18.8914% -.0133523 -.0431584/.58);justify-content:center;align-items:center;padding:1rem;transition:opacity .2s;display:none;position:fixed;inset:0}#app-view.scan-locked #scan-lock-overlay{opacity:1;display:flex}#app-view.scan-lock-overlay-disabled.scan-locked #scan-lock-overlay{opacity:0;display:none}.scan-lock-overlay__card{border:1px solid color-mix(in oklab, var(--theme-primary) 34%, white);background:color-mix(in oklab, var(--theme-app-topbar-bg,#0d3e73) 82%, #031326);color:#f8fbff;opacity:0;border-radius:1rem;width:min(560px,100% - 2rem);padding:1rem 1.1rem;transition:transform .2s,opacity .2s;transform:scale(.98);box-shadow:0 18px 34px oklab(18.8914% -.0133523 -.0431584/.65)}#app-view.scan-locked .scan-lock-overlay__card{opacity:1;transform:scale(1)}@media (prefers-reduced-motion:reduce){#scan-lock-overlay,.scan-lock-overlay__card{transition:none}}.scan-lock-overlay__card h3{margin:0;font-size:1.1rem}.scan-lock-overlay__card p{color:oklab(98.255% -.00206138 -.00797597);margin:.5rem 0 0}.scan-lock-progress-text{letter-spacing:.01em;font-weight:700}.scan-lock-overlay__progress{margin-top:1rem}.scan-lock-overlay__progress .sb-progress__track{background:#fff3}.scan-lock-overlay__progress .sb-progress__fill{background:linear-gradient(90deg,#fff9,#ffffffe6)}#app-view.scan-locked #app-topbar .topbar-link,#app-view.scan-locked #app-topbar .topbar-btn,#app-view.scan-locked #app-topbar .app-topbar-menu-btn,#app-view.scan-locked #view-toggle-container .segment-btn,#app-view.scan-locked #mobile-tabbar .mobile-tab-btn{opacity:.58;cursor:not-allowed}.workspace-message{opacity:.9;min-height:1.25rem;margin-top:.75rem}.workspace-message__retry{color:inherit;cursor:pointer;font:inherit;background:0 0;border:1px solid;border-radius:4px;padding:.05rem .5rem}#workspace-section{gap:1.15rem;display:grid}.app-section{margin:0}.dashboard-banner{border:1px solid var(--theme-border-subtle);background:var(--theme-surface-secondary);box-shadow:var(--theme-shadow-sm);border-radius:1rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.05rem 1.15rem;display:flex}.dashboard-banner h2{margin:0 0 .3rem;font-size:1.05rem}#dashboard-meta-text{color:var(--theme-text-muted);margin:0;font-size:.88rem}.usage-pill{color:var(--theme-text-body);background:var(--theme-button-secondary-bg);border:1px solid var(--theme-button-secondary-border);border-radius:999px;align-items:center;padding:.42rem .76rem;font-size:.8rem;font-weight:700;display:inline-flex}.usage-pill.usage-pill--trial{background:color-mix(in oklab, var(--theme-primary) 11%, var(--theme-surface-subtle,var(--theme-surface-1)))}#view-content{gap:1.1rem;margin-top:.95rem;display:grid;position:relative}.view-panel{display:none!important}.view-panel.active{display:block!important}#scan-workspace{border:1px solid var(--theme-border-subtle);background:var(--theme-surface-secondary);box-shadow:var(--theme-shadow-sm);border-radius:1rem;padding:.72rem}#scan-details{border:none}#scan-summary{cursor:pointer;padding:.48rem .58rem;font-size:.94rem;font-weight:800}#scan-workspace.primary-mode #scan-summary{pointer-events:none;cursor:default;margin-bottom:.3rem;font-size:1.02rem;list-style:none}#scan-workspace.primary-mode #scan-summary::-webkit-details-marker{display:none}.scan-inner{padding:.35rem}#toggle-and-nudge{position:relative}.upload-nudge-banner{background:var(--theme-surface-highlight);border:1px solid color-mix(in oklab, var(--theme-primary) 32%, var(--theme-mix-base));width:210px;box-shadow:0 8px 18px color-mix(in oklab, var(--theme-primary) 14%, transparent);color:var(--theme-text-body);border-radius:.75rem;align-items:center;gap:.5rem;padding:.4rem .75rem;font-size:.65rem;line-height:1.35;transition:opacity .2s;display:flex;position:absolute;top:0;bottom:0;right:0;overflow:hidden}@media (width<=860px){.upload-nudge-banner{display:none}}@media (width<=760px){#app-view{padding-top:.1rem;padding-bottom:calc(1.5rem + var(--mobile-bottom-safe))}.dashboard-banner{padding:.85rem}}#app-topbar{z-index:140;border:1px solid color-mix(in oklab, var(--theme-app-topbar-bg,#0d3e73) 72%, white 18%);background:color-mix(in oklab, var(--theme-app-topbar-bg,#0d3e73) 92%, #08131d);color:var(--theme-app-topbar-text,#f6fbff);border-radius:1rem;grid-template-columns:auto 1fr;align-items:center;gap:.8rem;margin-bottom:1rem;padding:.9rem 1rem;display:grid;position:sticky;top:.65rem;box-shadow:0 22px 42px oklab(14.2488% -.0131833 -.0194357/.3)}.app-topbar-brand{min-height:4.65rem;color:inherit;letter-spacing:.01em;align-items:center;gap:1rem;font-weight:800;text-decoration:none;display:inline-flex}.brand-name{font-family:var(--theme-font-family-serif);letter-spacing:-.01em;padding-left:.5rem;font-size:clamp(1.1rem,1rem + .35vw,1.35rem);line-height:1.05}.brand-mark-stack{transform-origin:50%;flex:none;align-self:center;width:4rem;height:4rem;display:block;position:relative;transform:translateY(.02rem)scale(1.42)}.brand-mark{width:100%;height:100%;display:block;position:absolute;inset:0}.app-topbar-brand .brand-mark--light,:root[data-theme=light] .app-topbar-brand .brand-mark--dark{display:none}:root[data-theme=light] .app-topbar-brand .brand-mark--light,:root[data-theme=dark] .app-topbar-brand .brand-mark--dark{display:block}:root[data-theme=dark] .app-topbar-brand .brand-mark--light{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .app-topbar-brand .brand-mark--dark{display:block}:root:not([data-theme=light]) .app-topbar-brand .brand-mark--light{display:none}}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .app-topbar-brand .brand-mark--dark{display:none}:root:not([data-theme=dark]) .app-topbar-brand .brand-mark--light{display:block}}.app-topbar-menu-btn{color:var(--theme-app-topbar-text,#f6fbff);cursor:pointer;background:oklab(100% 0 5.96046e-8/.1);border:1px solid oklab(100% 0 5.96046e-8/.24);border-radius:999px;padding:.42rem .76rem;font-size:.8rem;font-weight:700;display:none}.app-topbar-menu-panel{grid-template-columns:auto 1fr;align-items:center;gap:.75rem;display:grid}.app-topbar-nav{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.45rem;display:flex}.app-topbar-user{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.45rem;display:inline-flex}.app-topbar-user:only-child{grid-column:1/-1}#app-topbar-user-email{color:color-mix(in oklab, var(--theme-app-topbar-text,#f6fbff) 74%, white);margin-right:.2rem;font-size:.82rem}.topbar-btn{color:var(--theme-app-topbar-text,#f6fbff);cursor:pointer;transition:background-color var(--theme-transition), border-color var(--theme-transition), transform var(--theme-transition);background:oklab(100% 0 5.96046e-8/.1);border:1px solid oklab(100% 0 5.96046e-8/.24);border-radius:999px;padding:.46rem .82rem;font-size:.8rem;font-weight:800}.topbar-link{color:var(--theme-app-topbar-text,#f6fbff);cursor:pointer;transition:background-color var(--theme-transition), border-color var(--theme-transition), transform var(--theme-transition);background:oklab(100% 0 5.96046e-8/.1);border:1px solid oklab(100% 0 5.96046e-8/.24);border-radius:999px;justify-content:center;align-items:center;padding:.46rem .82rem;font-size:.8rem;font-weight:800;text-decoration:none;display:inline-flex}.topbar-link:hover,.topbar-btn:hover{background:oklab(100% 0 5.96046e-8/.16);transform:translateY(-1px)}.topbar-btn--solid{color:#0d3e73;background:#f8fbff;border-color:oklab(100% 0 5.96046e-8/.24)}.topbar-btn--solid:hover{background:#fff}@media (width>=1001px){.app-topbar-user{justify-content:flex-end}}@media (width<=1000px){#app-topbar{grid-template-columns:1fr auto;gap:.6rem}.app-topbar-menu-btn{justify-content:center;align-items:center;display:inline-flex}.app-topbar-menu-panel{border-top:1px solid oklab(100% 0 5.96046e-8/.22);grid-column:1/-1;grid-template-columns:1fr;gap:.55rem;padding-top:.62rem;display:none}#app-topbar.is-open .app-topbar-menu-panel{display:grid}.app-topbar-nav{justify-content:flex-start;gap:.4rem}.app-topbar-user{justify-content:flex-start}#app-topbar-user-email{width:100%;margin-bottom:.1rem;margin-right:0;display:block}}@media (width<=768px){#app-topbar{border-radius:.82rem;margin-bottom:.8rem;padding:.72rem .78rem;top:.35rem}.topbar-link,.topbar-btn{width:100%;min-height:var(--mobile-tap-target);justify-content:flex-start}.app-topbar-brand{gap:.82rem;min-height:3.8rem}.brand-mark-stack{width:3.35rem;height:3.35rem;transform:translateY(.02rem)scale(1)}}@media (width<=1100px){#app-view #grade-sheet-view .components-grid{grid-template-columns:1fr}}@media (width<=980px){#app-view #grade-sheet-view .grade-layout{grid-template-columns:1fr}#app-view #grade-sheet-view .chart-box canvas{max-width:220px}#app-view #profile-view .profile-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){#app-view #profile-view .profile-overview-grid{grid-template-columns:1fr}#app-view #profile-view .asset-source-actions{justify-content:flex-start}#app-view #profile-view .asset-source-row{grid-template-columns:1fr}#app-view #profile-view .asset-source-editor{align-items:stretch}#app-view #profile-view .asset-actions{grid-template-columns:1fr}#app-view #profile-view .policy-summary-preview{max-width:45%}#app-view #profile-view .kv-row{grid-template-columns:1fr;gap:.18rem}}@media (width<=768px){body.sb-grade-view-active{overflow:hidden}#app-view #calendar-view,#app-view #grade-sheet-view,#app-view #profile-view{--app-view-width-scale:1;--app-view-density:1;border-radius:.86rem;padding:.86rem}#app-view #grade-sheet-view{scroll-snap-type:y mandatory;border-radius:0;height:100dvh;padding:0;overflow-y:scroll}#app-view #grade-sheet-view .components-grid{grid-template-columns:1fr}#app-view #grade-sheet-view .inputs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#app-view #grade-sheet-view .stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.36rem}#app-view #grade-sheet-view .chart-box{min-height:150px}#app-view #grade-sheet-view .chart-box canvas{max-width:100%}#app-view #profile-view .section-card{padding:.74rem}#app-view #profile-view .kv-row{grid-template-columns:1fr;gap:.16rem;padding:.3rem .36rem}#app-view #profile-view .kv-label{font-size:.65rem}#app-view #profile-view .kv-value{font-size:.84rem}}[data-theme=light] #app-view #calendar-view .event-type-badge,[data-theme=light] #app-view #calendar-legacy-shell #calendar-view .event-type-badge{border-color:color-mix(in oklab, var(--badge-color,var(--theme-event-other)) 54%, var(--theme-mix-base));background:color-mix(in oklab, var(--badge-color,var(--theme-event-other)) 24%, var(--theme-surface-elevated,var(--theme-mix-base)));color:color-mix(in oklab, var(--badge-color,var(--theme-event-other)) 74%, #10233a)}[data-theme=light] #app-view #calendar-view .filter-chip,[data-theme=light] #app-view #calendar-view .agenda-jump-btn,[data-theme=light] #app-view #calendar-view .calendar-mobile-mode-btn.active,[data-theme=light] #app-view #calendar-view .filters-toggle-count{border-color:color-mix(in oklab, var(--theme-primary) 34%, var(--theme-mix-base));background:color-mix(in oklab, var(--theme-primary) 15%, var(--theme-surface-elevated,var(--theme-mix-base)))}[data-theme=light] #app-view #calendar-view #calendar-grid .day-event-chip,[data-theme=light] #app-view #calendar-view #calendar-grid .day-event-dot-slot{border-color:color-mix(in oklab, var(--theme-primary) 24%, var(--theme-mix-base));background:color-mix(in oklab, var(--theme-primary) 10%, var(--theme-surface-elevated,var(--theme-mix-base)))}[data-theme=light] #app-view #grade-sheet-view .grade-course-badge,[data-theme=light] #app-view #profile-view .profile-course-badge{background:var(--theme-cta-bg);border-color:color-mix(in oklab, var(--theme-primary) 48%, var(--theme-mix-base));color:var(--theme-on-primary)}[data-theme=light] #app-view #grade-sheet-view .grades-pill--good,[data-theme=light] #app-view #grade-sheet-view .grades-pill--mid,[data-theme=light] #app-view #grade-sheet-view .grades-pill--poor,[data-theme=light] #app-view #grade-sheet-view .grades-scale-flag,[data-theme=light] #app-view #grade-sheet-view .grades-complete-chip{box-shadow:inset 0 1px #ffffff73}[data-theme=light] #app-view #profile-view .kv-value-badge,[data-theme=light] #app-view #profile-view .office-hours-badge{background:var(--theme-cta-bg);border-color:color-mix(in oklab, var(--theme-primary) 48%, var(--theme-mix-base));color:var(--theme-on-primary)}[data-theme=light] #app-view #profile-view .policy-badge--danger{border-color:color-mix(in oklab, #dc2626 56%, var(--theme-mix-base))!important;background:color-mix(in oklab, #dc2626 18%, var(--theme-surface-elevated,var(--theme-mix-base)))!important;color:color-mix(in oklab, #b91c1c 88%, var(--theme-on-bg))!important}[data-theme=light] #app-view #profile-view .policy-badge--warning{border-color:color-mix(in oklab, #ea580c 56%, var(--theme-mix-base))!important;background:color-mix(in oklab, #ea580c 18%, var(--theme-surface-elevated,var(--theme-mix-base)))!important;color:color-mix(in oklab, #c2410c 88%, var(--theme-on-bg))!important}[data-theme=light] #app-view #profile-view .policy-badge--success{border-color:color-mix(in oklab, #16a34a 56%, var(--theme-mix-base))!important;background:color-mix(in oklab, #16a34a 18%, var(--theme-surface-elevated,var(--theme-mix-base)))!important;color:color-mix(in oklab, #166534 88%, var(--theme-on-bg))!important}[data-theme=light] #app-view #profile-view .asset-item-type{border-color:color-mix(in oklab, var(--theme-primary) 32%, var(--theme-mix-base));background:color-mix(in oklab, var(--theme-primary) 18%, var(--theme-surface-elevated,var(--theme-mix-base)))}[data-theme=light] #app-view #profile-view .asset-item-type--syllabus{background:color-mix(in oklab, #38bdf8 24%, var(--theme-surface-elevated,var(--theme-mix-base)));border-color:color-mix(in oklab, #38bdf8 50%, var(--theme-mix-base))}[data-theme=light] #app-view #profile-view .asset-item-type--textbook{background:color-mix(in oklab, var(--theme-primary) 18%, var(--theme-surface-elevated,var(--theme-mix-base)));border-color:color-mix(in oklab, var(--theme-primary) 38%, var(--theme-mix-base))}[data-theme=light] #app-view #grade-sheet-view .grades-metric{background:var(--theme-cta-bg);border-color:color-mix(in oklab, var(--theme-primary) 48%, var(--theme-mix-base))}[data-theme=light] #app-view #grade-sheet-view .grades-metric__label{color:color-mix(in oklab, var(--theme-on-primary) 72%, transparent);opacity:1}[data-theme=light] #app-view #grade-sheet-view .grades-metric__value{color:var(--theme-on-primary)}[data-theme=light] #app-view #grade-sheet-view .grades-metric .grades-pill--good{color:#4ade80;background:#34d39933;border-color:#34d39966}[data-theme=light] #app-view #grade-sheet-view .grades-metric .grades-pill--mid{color:#fbbf24;background:#fbbf2433;border-color:#fbbf2466}[data-theme=light] #app-view #grade-sheet-view .grades-metric .grades-pill--poor{color:#f87171;background:#f8717133;border-color:#f8717166}[data-theme=light] #app-view #grade-sheet-view .legend-item{background:var(--theme-cta-bg);border-color:color-mix(in oklab, var(--theme-primary) 48%, var(--theme-mix-base));color:var(--theme-on-primary)}[data-theme=light] #app-view #grade-sheet-view .grades-accordion__item{border-color:color-mix(in oklab, var(--theme-primary) 38%, var(--theme-mix-base))}[data-theme=light] #app-view #grade-sheet-view .grades-accordion__header{background:var(--theme-cta-bg);border-radius:.82rem .82rem 0 0}[data-theme=light] #app-view #grade-sheet-view .grades-accordion__title h4,[data-theme=light] #app-view #grade-sheet-view .grades-accordion__weight,[data-theme=light] #app-view #grade-sheet-view .grades-accordion__score-label,[data-theme=light] #app-view #grade-sheet-view .grades-accordion__score-pct,[data-theme=light] #app-view #grade-sheet-view .grades-accordion__progress-text,[data-theme=light] #app-view #grade-sheet-view .grades-accordion__excluded-count{color:var(--theme-on-primary)}[data-theme=light] #app-view #grade-sheet-view .grades-accordion__body{border-top-color:color-mix(in oklab, var(--theme-primary) 28%, var(--theme-mix-base))}[data-theme=light] #app-view #calendar-view #calendar-grid .calendar-day-header{background:var(--theme-cta-bg);border-color:color-mix(in oklab, var(--theme-primary) 48%, var(--theme-mix-base));color:var(--theme-on-primary)}[data-theme=light] #app-view #grade-sheet-view .grades-pill--good{background:color-mix(in oklab, #059669 22%, var(--theme-surface-1));border-color:color-mix(in oklab, #059669 48%, var(--theme-mix-base))}[data-theme=light] #app-view #grade-sheet-view .grades-pill--mid{background:color-mix(in oklab, #d97706 22%, var(--theme-surface-1));border-color:color-mix(in oklab, #d97706 48%, var(--theme-mix-base))}[data-theme=light] #app-view #grade-sheet-view .grades-pill--poor{background:color-mix(in oklab, #dc2626 22%, var(--theme-surface-1));border-color:color-mix(in oklab, #dc2626 48%, var(--theme-mix-base))}[data-theme=light] #app-view #grade-sheet-view .grades-complete-chip{background:color-mix(in oklab, #059669 22%, var(--theme-surface-1));border-color:color-mix(in oklab, #059669 44%, var(--theme-mix-base))}[data-theme=light] #app-view #grade-sheet-view .grades-scale-flag{background:color-mix(in oklab, #f59e0b 18%, var(--theme-surface-1));border-color:color-mix(in oklab, #f59e0b 50%, var(--theme-mix-base));color:color-mix(in oklab, #b45309 90%, var(--theme-on-bg))}[data-theme=light] #app-view #grade-sheet-view .grades-scale-flag__icon{background:#f59e0b2e}[data-theme=light] #app-view #grade-sheet-view .grades-scale-tooltip{background:var(--theme-surface-2);border-color:color-mix(in oklab, #f59e0b 30%, var(--theme-mix-base))}[data-theme=light] #app-view #grade-sheet-view .grades-scale-tooltip__row{border-color:color-mix(in oklab, var(--theme-on-bg) 12%, var(--theme-mix-base));background:var(--theme-surface-1)}[data-theme=light] #app-view #grade-sheet-view .grades-accordion__track-tooltip{background:var(--theme-surface-2);border-color:color-mix(in oklab, var(--theme-primary) 28%, var(--theme-mix-base))}[data-theme=light] #app-view #grade-sheet-view .grades-accordion__track-metric{border-color:color-mix(in oklab, var(--theme-primary) 16%, var(--theme-mix-base));background:var(--theme-surface-1)}[data-theme=light] #app-view #grade-sheet-view .grades-accordion__track-metric--ungraded strong{color:#475569}[data-theme=light] #app-view #profile-view .week-calendar-day{border-color:color-mix(in oklab, var(--theme-on-bg) 22%, var(--theme-mix-base))}[data-theme=light] #app-view #profile-view .week-calendar-day--weekend{border-color:color-mix(in oklab, var(--theme-on-bg) 12%, var(--theme-mix-base))}[data-theme=light] #app-view #profile-view .asset-item-type--format,[data-theme=light] #app-view #profile-view .asset-item-type--count{border-color:var(--theme-border-soft)}#mobile-nav-bar{display:none}@media (width<=768px){#mobile-nav-bar{justify-content:center;align-items:center;height:48px;display:flex;position:relative}#mobile-tabbar{align-items:center;gap:.35rem;position:absolute;left:50%;transform:translate(-50%);background:var(--theme-surface-secondary)!important;border:1px solid var(--theme-border-subtle)!important;width:calc(100vw - 1.5rem)!important;box-shadow:var(--theme-shadow-sm)!important;backdrop-filter:none!important;border-radius:999px!important;padding:.28rem!important;display:flex!important}.mobile-profile-tab-group{border-left:1px solid var(--theme-border-subtle);flex:2 1 0;gap:.15rem;min-width:0;margin-left:.05rem;padding-left:.35rem;display:flex}.mobile-tab-btn{white-space:nowrap;cursor:pointer;min-width:0;transition:background-color var(--theme-transition), border-color var(--theme-transition), color var(--theme-transition), box-shadow var(--theme-transition);flex:1 1 0;min-height:unset!important;color:var(--theme-text-muted)!important;letter-spacing:.035em!important;text-transform:uppercase!important;background-color:#0000!important;border:1px solid #0000!important;border-radius:999px!important;padding:.38rem .75rem!important;font-size:.72rem!important;font-weight:800!important}.mobile-tab-btn.is-active{background:var(--theme-cta-bg)!important;color:var(--theme-on-primary)!important;border-color:color-mix(in oklab, var(--theme-primary) 48%, var(--theme-mix-base))!important;box-shadow:var(--theme-cta-shadow)!important}#mobile-tabbar .mobile-profile-subtab{letter-spacing:.04em!important;padding:.3rem .2rem!important;font-size:.62rem!important}#mobile-tabbar.has-course-switch:before{content:"";pointer-events:none;background:linear-gradient(#6366f11f,#0000);border-radius:999px 999px 0 0;height:4px;position:absolute;top:-4px;left:0;right:0}#mobile-tabbar.has-course-switch:after{content:"";pointer-events:none;background:linear-gradient(#0000,#6366f11f);border-radius:0 0 999px 999px;height:4px;position:absolute;bottom:-4px;left:0;right:0}#mobile-tabbar .tab-course-arrows{opacity:.45;flex-direction:column;align-items:center;display:none;position:absolute;top:50%;right:-1.4rem;transform:translateY(-50%)}#mobile-tabbar.has-course-switch .tab-course-arrows{display:flex}#mobile-tabbar .tab-course-arrows span{color:var(--theme-primary);font-size:.5rem;line-height:1.1}}.app-topbar-upload-btn,.app-topbar-gear-btn,.app-topbar-mobile-signout-btn{display:none}@media (width<=768px){#app-topbar{flex-direction:row;align-items:center;gap:.5rem;display:flex!important}.app-topbar-brand{flex:1}#app-topbar-menu-btn,#app-topbar-menu-panel{display:none!important}.app-topbar-upload-btn{background:var(--theme-surface-secondary);border:1px solid var(--theme-border-subtle);color:var(--theme-text-muted);cursor:pointer;border-radius:.4rem;align-items:center;gap:.3rem;padding:.3rem .65rem;font-size:.72rem;font-weight:600;display:inline-flex}.app-topbar-gear-btn{background:var(--theme-surface-secondary);border:1px solid var(--theme-border-subtle);width:32px;height:32px;color:var(--theme-text-muted);border-radius:.4rem;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:flex}.app-topbar-mobile-signout-btn{background:var(--theme-surface-secondary);border:1px solid var(--theme-border-subtle);width:32px;height:32px;color:var(--theme-text-muted);cursor:pointer;border-radius:.4rem;flex-shrink:0;justify-content:center;align-items:center;display:flex}#app-view #calendar-view,#app-view #grade-sheet-view,#app-view #profile-view{--app-view-stage-width:100vw;box-sizing:border-box;width:100%!important;max-width:100%!important}.view-panel{transition:transform .22s ease-out,opacity .22s ease-out;position:relative}.view-panel.is-exiting-left{opacity:0;pointer-events:none;transform:translate(-100%)}.view-panel.is-exiting-right{opacity:0;pointer-events:none;transform:translate(100%)}.view-panel.is-entering-left{opacity:0;transform:translate(-100%)}.view-panel.is-entering-right{opacity:0;transform:translate(100%)}html.capacitor #view-content{perspective:1200px;transform-style:preserve-3d}html.capacitor .view-panel{transform-style:preserve-3d;backface-visibility:hidden}html.capacitor .view-panel.is-exiting-left{transform-origin:0;opacity:0;transform:translate(-15%)rotateY(28deg)}html.capacitor .view-panel.is-exiting-right{transform-origin:100%;opacity:0;transform:translate(15%)rotateY(-28deg)}html.capacitor .view-panel.is-entering-left{transform-origin:100%;opacity:0;transform:translate(-15%)rotateY(-28deg)}html.capacitor .view-panel.is-entering-right{transform-origin:0;opacity:0;transform:translate(15%)rotateY(28deg)}@media (prefers-reduced-motion:reduce){.view-panel{transition:none!important}html.capacitor #view-content{perspective:none}html.capacitor .view-panel.is-exiting-left,html.capacitor .view-panel.is-exiting-right,html.capacitor .view-panel.is-entering-left,html.capacitor .view-panel.is-entering-right{opacity:1!important;transform:none!important}}.view-panel.is-exiting-left,.view-panel.is-exiting-right{z-index:2;pointer-events:none;position:absolute;top:0;left:0;right:0;overflow:hidden;display:block!important}.view-panel[data-swipe-right]:after{content:"";pointer-events:none;z-index:10;background:linear-gradient(270deg,#6366f11f,#0000);width:28px;position:absolute;top:0;bottom:0;right:0}.view-panel[data-swipe-left]:before{content:"";pointer-events:none;z-index:10;background:linear-gradient(90deg,#6366f11f,#0000);width:28px;position:absolute;top:0;bottom:0;left:0}.view-panel[data-swipe-left-boundary]:before{content:"";pointer-events:none;z-index:10;background:linear-gradient(90deg,#a050ff1c,#0000);width:28px;position:absolute;top:0;bottom:0;left:0}.mobile-course-chip{background:var(--theme-surface-secondary);border:1px solid var(--theme-border-subtle);color:var(--theme-text-strong);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;padding:.22rem .65rem;font-size:.72rem;font-weight:700;display:flex}.mobile-course-chip svg{color:var(--theme-text-muted);flex-shrink:0}.mobile-course-chip-row{justify-content:flex-end;padding:.25rem .75rem 0;display:flex}#workspace-section{grid-template-columns:minmax(0,1fr)}#app-container.is-upload-mode #view-content,#app-container.is-upload-mode #data-section,#app-container.is-upload-mode #mobile-nav-bar,#app-container.is-upload-mode #dashboard-banner{display:none!important}#app-container.is-upload-mode #scan-workspace,#app-container.is-upload-mode #scan-workspace #scan-details{display:block!important}#app-container.is-upload-mode #app-topbar-upload-btn .upload-icon{display:none}#app-container.is-upload-mode #app-topbar-upload-btn .home-icon{display:inline}#app-container.is-upload-mode #app-topbar-upload-btn .upload-btn-label,#app-topbar-upload-btn .home-icon{display:none}#app-topbar-upload-btn .upload-icon{display:inline}}#app-view #calendar-view{--calendar-density:1;--calendar-panel-padding:1.05rem;--calendar-heading-size:var(--font-size-xl);--calendar-section-gap:.95rem;--calendar-header-gap:.9rem;--calendar-controls-gap:.5rem;--calendar-filter-gap:.65rem;--calendar-filters-padding:.72rem;--calendar-filter-padding-y:.4rem;--calendar-filter-padding-x:.72rem;--calendar-filter-font-size:.83rem;--calendar-subtitle-size:.86rem;--calendar-month-title-size:2.4rem;--calendar-month-gap:2.2rem;--calendar-grid-gap:.52rem;--calendar-weekday-header-height:3rem;--calendar-weekday-font-size:1.25rem;--calendar-day-size:180px;--calendar-grid-width:calc((7 * var(--calendar-day-size)) + (6 * var(--calendar-grid-gap)));--calendar-day-padding:.45rem .45rem .38rem;--calendar-day-number-size:1.05rem;--calendar-chip-font-size:.72rem;--calendar-more-font-size:.7rem;--calendar-day-panel-gap:1rem;--calendar-day-panel-width:420px;--calendar-day-panel-max-height:34rem;--calendar-button-height:1.88rem;--calendar-button-padding-x:.72rem;--calendar-button-font-size:.88rem}#app-view #calendar-view h2{font-size:var(--calendar-heading-size);white-space:nowrap;margin:0 0 .08rem}#app-view #calendar-view .panel-subtitle{white-space:nowrap;color:var(--theme-text-muted);margin:0;font-size:.76rem;line-height:1.2}#app-view #calendar-view .calendar-header{justify-content:space-between;align-items:flex-start;gap:var(--calendar-header-gap);flex-wrap:wrap;min-height:0;margin-bottom:.55rem;padding-bottom:.2rem;padding-right:24.2rem;display:flex;position:relative}#app-view #calendar-view .calendar-header-left{flex:0 auto;gap:.05rem;min-width:0;max-width:calc(100% - 24.2rem);display:grid}#app-view #calendar-view .calendar-controls{flex-wrap:nowrap;flex:0 auto;justify-content:flex-end;align-items:center;gap:.35rem;min-width:0;margin-left:0;display:flex;position:absolute;top:0;right:0;transform:none}#app-view #calendar-view .class-filters-wrapper{margin-inline:0;width:100%;max-width:min(100%,clamp(56rem,84vw,74rem));margin-bottom:0}#app-view #calendar-view .calendar-health-banner{border:1px solid color-mix(in oklab, #fb7185 20%, var(--theme-border-subtle));background:linear-gradient(135deg, color-mix(in oklab, #fb7185 9%, var(--theme-surface-secondary)) 0%, color-mix(in oklab, #fff 2%, var(--theme-surface-secondary)) 100%);width:100%;max-width:min(100%,clamp(56rem,84vw,74rem));box-shadow:0 18px 42px color-mix(in oklab, var(--theme-shadow-color) 18%, transparent);border-radius:1rem;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.9rem;padding:1rem 1.08rem;display:flex}#app-view #calendar-view .calendar-health-banner.is-attention{border-color:color-mix(in oklab, #fb7185 42%, var(--theme-border-subtle));background:linear-gradient(135deg, color-mix(in oklab, #fb7185 12%, var(--theme-surface-secondary)) 0%, color-mix(in oklab, #f97316 4%, var(--theme-surface-secondary)) 100%)}#app-view #calendar-view .calendar-health-banner-status{align-items:flex-start;gap:.8rem;min-width:0;display:flex}#app-view #calendar-view .calendar-health-banner-icon{color:#fff6f7;background:linear-gradient(135deg,#e11d48,#f97316);border-radius:.78rem;flex:none;justify-content:center;align-items:center;width:2.2rem;height:2.2rem;display:inline-flex;box-shadow:inset 0 1px #ffffff24}#app-view #calendar-view .calendar-health-banner-copy{gap:.32rem;min-width:0;display:grid}#app-view #calendar-view .calendar-health-banner-title,#app-view #calendar-view .calendar-health-banner-body{margin:0}#app-view #calendar-view .calendar-health-banner-title{color:var(--theme-on-bg);font-size:1.25rem;font-weight:700}#app-view #calendar-view .calendar-health-banner-body{color:color-mix(in oklab, var(--theme-on-bg) 84%, var(--theme-mix-base));font-size:.84rem;line-height:1.45}#app-view #calendar-view .calendar-health-banner-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.55rem;display:flex}#app-view #calendar-view .calendar-health-banner-dismiss{border:1px solid color-mix(in oklab, var(--theme-on-bg) 24%, transparent);background:color-mix(in oklab, var(--theme-on-bg) 10%, transparent);color:var(--theme-on-bg);cursor:pointer;border-radius:999px;min-height:2rem;padding:.34rem .78rem;font-size:.77rem;font-weight:700}#app-view #calendar-view .btn-secondary{min-height:max(var(--calendar-button-height), 2.15rem);padding:.42rem max(calc(var(--calendar-button-padding-x) + .08rem), .92rem);border:1px solid var(--theme-button-secondary-border);background:var(--theme-button-secondary-bg);color:var(--theme-text-strong);cursor:pointer;font-size:max(var(--calendar-button-font-size), .82rem);white-space:nowrap;box-shadow:0 8px 18px color-mix(in oklab, var(--theme-shadow-color) 10%, transparent);border-radius:999px;flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex}#app-view #calendar-view .btn-secondary:hover:not(:disabled){background:var(--theme-button-secondary-bg-hover);box-shadow:0 10px 22px color-mix(in oklab, var(--theme-shadow-color) 14%, transparent);transform:translateY(-1px)}#app-view #calendar-view .btn-secondary:disabled{opacity:.55;cursor:not-allowed}#app-view #calendar-view .flagged-class-list{flex-wrap:wrap;gap:.55rem;width:100%;max-width:min(100%,clamp(56rem,84vw,74rem));margin:.95rem 0 .75rem;display:flex}#app-view #calendar-view .flagged-class-pill{border:1px solid color-mix(in oklab, #38bdf8 26%, var(--theme-border-subtle));background:linear-gradient(135deg, color-mix(in oklab, #0f766e 16%, var(--theme-surface-inset)), color-mix(in oklab, #1d4ed8 14%, var(--theme-surface-inset)));min-width:0;color:var(--theme-on-bg);border-radius:999px;flex:0 auto;align-items:center;gap:.5rem;padding:.32rem .42rem .32rem .78rem;font-size:.78rem;font-weight:700;display:inline-flex;box-shadow:inset 0 1px oklab(100% 0 5.96046e-8/.08)}#app-view #calendar-view .flagged-class-pill>span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}#app-view #calendar-view .flagged-class-pill strong{text-transform:uppercase;letter-spacing:.04em;min-height:1.65rem;color:color-mix(in oklab, #fff5f5 92%, var(--theme-mix-base));background:oklab(63.6834% .187864 .0889286/.18);border:1px solid oklab(80.9664% .103928 .0214059/.34);border-radius:999px;align-items:center;padding:.1rem .56rem;font-size:.72rem;font-weight:800;display:inline-flex}#app-view #calendar-view .flagged-class-pill.is-partial strong{color:color-mix(in oklab, #fff7ed 94%, var(--theme-mix-base));background:oklab(83.6861% .0159629 .163645/.22);border-color:oklab(76.8591% .0560995 .154808/.44)}#app-view #calendar-view .flagged-class-pill.is-attention{border-color:color-mix(in oklab, #fb7185 36%, var(--theme-border-subtle));background:linear-gradient(135deg, color-mix(in oklab, #991b1b 16%, var(--theme-surface-inset)), color-mix(in oklab, #1d4ed8 12%, var(--theme-surface-inset)))}#app-view #calendar-view .flagged-class-pill.is-attention strong{color:#fff1f2;background:oklab(51.4256% .189228 .0576181/.24);border-color:oklab(80.9664% .103928 .0214059/.42)}#app-view #calendar-view .calendar-add-modal-backdrop{z-index:9999;background:oklab(0% none none/.52);justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}#app-view #calendar-view .calendar-add-modal-dismiss-layer{cursor:default;background:0 0;border:0;padding:0;position:absolute;inset:0}#app-view #calendar-view .calendar-add-modal{z-index:1;border:1px solid var(--theme-border-strong);background:var(--theme-surface-primary);width:min(30rem,100%);box-shadow:var(--theme-shadow-lg,0 24px 60px #0000003d);border-radius:1rem;padding:1.35rem;position:relative}#app-view #calendar-view .calendar-add-modal-title,#app-view #calendar-view .calendar-add-modal-body,#app-view #calendar-view .calendar-add-modal-error,#app-view #calendar-view .calendar-google-mobile-title,#app-view #calendar-view .calendar-google-mobile-body{margin:0}#app-view #calendar-view .calendar-add-modal-title{color:var(--theme-text-strong);font-size:1.1rem;font-weight:800}#app-view #calendar-view .calendar-add-modal-body{color:var(--theme-text-muted);margin-top:.55rem;font-size:.9rem;line-height:1.5}#app-view #calendar-view .calendar-google-mobile-card{border:1px solid color-mix(in oklab, #d48d28 34%, var(--theme-border-subtle));background:color-mix(in oklab, #f6cf78 15%, var(--theme-surface-inset));border-radius:.9rem;margin-top:.95rem;padding:.9rem .95rem}#app-view #calendar-view .calendar-google-mobile-title{color:var(--theme-text-strong);font-size:.9rem;font-weight:700}#app-view #calendar-view .calendar-google-mobile-body{color:var(--theme-text-muted);margin-top:.3rem;font-size:.82rem;line-height:1.45}#app-view #calendar-view .calendar-add-modal-error{color:#b42318;margin-top:.75rem;font-size:.82rem}#app-view #calendar-view .calendar-add-modal-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:1rem;display:grid}#app-view #calendar-view .calendar-add-option{width:100%;min-height:2.85rem;padding-inline:1rem}#app-view #calendar-view .calendar-add-modal-close{grid-column:1/-1;justify-self:center}#app-view #calendar-view .filters-toggle{background:var(--theme-button-secondary-bg);border:1px solid var(--theme-button-secondary-border);width:fit-content;font-size:max(var(--calendar-filter-font-size,.83rem), .75rem);color:var(--theme-text-muted);cursor:pointer;border-radius:.8rem;align-items:center;gap:.4rem;margin-inline:0;padding:.38rem .85rem;font-weight:600;line-height:1.2;transition:color .15s,background .15s;display:flex}#app-view #calendar-view .filters-toggle:hover{color:var(--theme-text-strong);background:var(--theme-button-secondary-bg-hover)}#app-view #calendar-view .filters-toggle-chevron{flex-shrink:0;transition:transform .2s}#app-view #calendar-view .filters-toggle-chevron--open{transform:rotate(180deg)}#app-view #calendar-view .filters-toggle-count{background:color-mix(in oklab, var(--theme-primary) 16%, var(--theme-surface-elevated));border:1px solid var(--theme-chip-border);text-align:center;border-radius:999px;min-width:1.2rem;padding:.05rem .45rem;font-size:.7rem;font-weight:700;line-height:1.4}#app-view #calendar-view .class-filters{justify-content:flex-start;align-items:flex-start;gap:var(--calendar-filter-gap);width:100%;max-width:100%;padding:var(--calendar-filters-padding);background:var(--theme-surface-inset);border:1px solid var(--theme-border-subtle);color:var(--theme-text-strong);border-radius:.8rem;flex-wrap:wrap;margin-top:.4rem;margin-bottom:0;display:flex}#app-view #calendar-view .filter-chip{padding:var(--calendar-filter-padding-y) var(--calendar-filter-padding-x);background:color-mix(in oklab, var(--theme-chip-bg) 72%, var(--theme-surface-elevated,var(--theme-mix-base)));border:1px solid var(--theme-chip-border);min-height:2rem;font-size:max(var(--calendar-filter-font-size), .8rem);color:var(--theme-text-strong);box-sizing:border-box;border-radius:999px;align-items:center;gap:.42rem;width:auto;max-width:100%;font-weight:700;line-height:1.1;display:inline-flex}#app-view #calendar-view .filter-chip-text{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}#app-view #calendar-view .filter-dot{border-radius:999px;width:.58rem;height:.58rem;display:inline-block}#app-view #calendar-view .calendar-mobile-mode{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-bottom:.85rem;display:grid}#app-view #calendar-view .calendar-mobile-mode-btn{border:1px solid var(--theme-border-soft,color-mix(in oklab, var(--theme-primary) 20%, var(--theme-mix-base)));background:var(--theme-surface-subtle,var(--theme-chip-bg));color:var(--theme-on-bg);letter-spacing:.03em;min-height:var(--mobile-tap-target);cursor:pointer;border-radius:999px;font-size:.76rem;font-weight:800}#app-view #calendar-view .calendar-mobile-mode-btn.active{background:color-mix(in oklab, var(--theme-primary) 22%, var(--theme-mix-base));border-color:color-mix(in oklab, var(--theme-primary) 44%, var(--theme-mix-base))}#app-view #calendar-view .btn-icon,#app-view #calendar-view .btn-text{border:1px solid var(--theme-button-secondary-border);background:var(--theme-button-secondary-bg);color:var(--theme-text-strong);cursor:pointer;transition:transform var(--theme-transition), box-shadow var(--theme-transition), background-color var(--theme-transition)}#app-view #calendar-view .btn-icon{width:max(var(--calendar-button-height), 2.15rem);height:max(var(--calendar-button-height), 2.15rem);font-size:max(var(--calendar-button-font-size), .95rem);border-radius:.58rem;flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}#app-view #calendar-view .btn-text{min-height:max(var(--calendar-button-height), 2.15rem);padding:.42rem max(var(--calendar-button-padding-x), .7rem);font-size:max(var(--calendar-button-font-size), .82rem);border-radius:.58rem;flex:none;font-weight:700}#app-view #calendar-view .btn-primary{min-height:max(var(--calendar-button-height), 2.15rem);padding:.42rem max(calc(var(--calendar-button-padding-x) + .08rem), .92rem);border:1px solid color-mix(in oklab, var(--theme-primary) 38%, transparent);background:var(--theme-cta-bg);color:var(--theme-on-primary);cursor:pointer;font-size:max(var(--calendar-button-font-size), .82rem);white-space:nowrap;box-shadow:var(--theme-cta-shadow);border-radius:999px;flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex}#app-view #calendar-view #download-ics-btn,#app-view #calendar-view #calendar-subscribe-btn{margin-right:.28rem}#app-view #calendar-view #download-ics-btn{min-height:2rem;padding:.38rem .8rem;font-size:.78rem}#app-view #calendar-view #calendar-subscribe-btn{gap:.4em}#app-view #calendar-view .cal-export-logo{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}#app-view #calendar-view .cal-export-logo--google{background:#fff;border-radius:4px;padding:1px 2px}#app-view #calendar-view .btn-primary:disabled{opacity:.55;cursor:not-allowed}#app-view #calendar-view .btn-icon:hover,#app-view #calendar-view .btn-text:hover{box-shadow:0 7px 16px color-mix(in oklab, var(--theme-primary) 20%, transparent);transform:translateY(-1px)}#app-view #calendar-view .calendar-month-wrap{row-gap:calc(var(--calendar-month-gap) * .25);margin-top:0;width:fit-content;max-width:100%;margin-inline:auto;display:grid!important}#app-view #calendar-view .calendar-month-content{width:min(100%, var(--calendar-grid-width));isolation:isolate;margin-inline:auto;position:relative;overflow:visible}#app-view #calendar-view .calendar-month-content.desktop-day-panel{z-index:4}#app-view #calendar-view .month-header{width:min(100%, var(--calendar-grid-width));text-align:center;justify-self:start}#app-view #calendar-view .month-year-display{font-size:var(--calendar-month-title-size);letter-spacing:.01em;align-items:center;gap:.5rem;font-weight:800;display:inline-flex}#app-view #calendar-view .calendar-grid{gap:var(--calendar-grid-gap);width:min(100%, var(--calendar-grid-width));flex-direction:column;justify-content:flex-start;align-items:center;display:flex}#app-view #calendar-view .calendar-grid-row{grid-template-columns:repeat(7, minmax(0, var(--calendar-day-size)));gap:var(--calendar-grid-gap);width:min(100%, var(--calendar-grid-width));display:grid}#app-view #calendar-view .calendar-grid-row--header{min-height:var(--calendar-weekday-header-height);height:var(--calendar-weekday-header-height)}#app-view #calendar-view .calendar-grid-row:not(.calendar-grid-row--header){height:var(--calendar-day-size);min-height:var(--calendar-day-size)}#app-view #calendar-view .day-events-panel{border:1px solid var(--theme-border-subtle);background:var(--theme-surface-inset);width:min(100%, max(var(--calendar-day-panel-width), 20rem));max-height:var(--calendar-day-panel-max-height);margin-top:var(--calendar-month-gap);box-shadow:0 26px 48px color-mix(in oklab, var(--theme-shadow-color) 18%, transparent);border-radius:.84rem;padding:.92rem;overflow:auto}#app-view #calendar-view .day-events-panel.day-events-panel--compact{max-height:none;overflow:visible}#app-view #calendar-view .calendar-month-content.desktop-day-panel .day-events-panel{top:0;left:calc(100% + var(--calendar-day-panel-gap));z-index:3;width:var(--calendar-day-panel-width);margin-top:0;position:absolute}#app-view #calendar-view .day-events-header{justify-content:space-between;align-items:flex-start;gap:.6rem;margin-bottom:.75rem;display:flex}#app-view #calendar-view .day-events-header h3{margin:0}#app-view #calendar-view .day-events-meta{opacity:.8;margin:.12rem 0 0;font-size:.8rem}#app-view #calendar-view .day-events-list{gap:.62rem;display:grid}#app-view #calendar-view .day-event-item{border:1px solid var(--theme-border-soft,color-mix(in oklab, var(--theme-primary) 16%, var(--theme-mix-base)));border-left:4px solid var(--item-class-color,var(--theme-primary));background:var(--theme-surface-elevated,var(--theme-surface-1));border-radius:.54rem;gap:.32rem;padding:.68rem;display:grid}#app-view #calendar-view .day-event-item-top,#app-view #calendar-view .agenda-event-top{justify-content:space-between;align-items:flex-start;gap:.6rem;display:flex}#app-view #calendar-view .day-event-title{text-overflow:ellipsis;white-space:normal;flex:1;min-width:0;margin:0;font-size:.95rem;font-weight:700;line-height:1.3;overflow:hidden}#app-view #calendar-view .calendar-month-wrap,#app-view #calendar-view .calendar-month-wrap *,#app-view #calendar-view .day-events-panel,#app-view #calendar-view .day-events-panel *{caret-color:#0000}#app-view #calendar-view .event-type-badge{letter-spacing:.045em;text-transform:uppercase;border:1px solid color-mix(in oklab, var(--badge-color,var(--theme-event-other)) 44%, transparent);background:color-mix(in oklab, var(--badge-color,var(--theme-event-other)) 16%, transparent);color:var(--theme-on-bg);border-radius:999px;align-items:center;gap:.28rem;padding:.18rem .45rem;font-size:.7rem;font-weight:800;display:inline-flex}#app-view #calendar-view .day-event-meta-line,#app-view #calendar-view .agenda-event-meta,#app-view #calendar-view .agenda-event-location,#app-view #calendar-view .day-event-location{opacity:.84;margin:0;font-size:.82rem}#app-view #calendar-view .agenda-jump-row{flex-wrap:wrap;gap:.42rem;margin-bottom:.72rem;display:flex}#app-view #calendar-view .agenda-jump-btn{border:1px solid var(--theme-button-secondary-border);background:var(--theme-button-secondary-bg);color:var(--theme-text-body);cursor:pointer;border-radius:999px;padding:.42rem .75rem;font-size:.76rem;font-weight:800}#app-view #calendar-view .agenda-jump-btn.active{background:color-mix(in oklab, var(--theme-primary) 22%, var(--theme-mix-base));border-color:color-mix(in oklab, var(--theme-primary) 44%, var(--theme-mix-base))}#app-view #calendar-view .agenda-events-list{gap:.7rem;display:grid}#app-view #calendar-view .agenda-group{border:1px solid var(--theme-border-subtle);background:var(--theme-surface-inset);border-radius:.72rem;gap:.5rem;padding:.62rem;display:grid}#app-view #calendar-view .agenda-group-title{letter-spacing:.045em;text-transform:uppercase;opacity:.82;margin:0;font-size:.84rem;font-weight:800}#app-view #calendar-view .agenda-event-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,var(--theme-surface-1));border-radius:.62rem;gap:.28rem;padding:.58rem;display:grid}#app-view #calendar-view .agenda-event-title{margin:0;font-size:.88rem;line-height:1.3}#app-view #calendar-view .agenda-event-description,#app-view #calendar-view .day-event-description{opacity:.9;margin:0;font-size:.8rem;line-height:1.45}#app-view #calendar-view .empty-state{color:var(--theme-text-muted);opacity:1}@media (width<=860px){#app-view #calendar-view .class-filters-wrapper{width:100%;max-width:100%}#app-view #calendar-view .class-filters{justify-content:flex-start;width:100%;max-width:100%}#app-view #calendar-view .calendar-grid{width:100%}#app-view #calendar-view .calendar-grid-row{grid-template-columns:repeat(7,minmax(0,1fr));width:100%}#app-view #calendar-view .month-year-display{font-size:1.2rem}}@media (width<=768px){#app-view #calendar-view .calendar-header{align-items:flex-start;min-height:0;padding-right:0}#app-view #calendar-view .calendar-header-left{max-width:100%}#app-view #calendar-view .calendar-controls{flex-wrap:wrap;width:100%;margin-left:0;position:static;transform:none}#app-view #calendar-view .btn-icon,#app-view #calendar-view .btn-text,#app-view #calendar-view .btn-primary{min-height:var(--mobile-tap-target)}#app-view #calendar-view .day-events-panel{width:100%;max-height:none;position:static;overflow:visible}}#app-view #calendar-view #calendar-grid .calendar-day-header{text-align:center;background:color-mix(in oklab, var(--theme-primary) 11%, var(--theme-surface-elevated,var(--theme-mix-base)));border:1px solid var(--theme-border-soft,color-mix(in oklab, var(--theme-primary) 20%, var(--theme-mix-base)));height:100%;font-size:var(--calendar-weekday-font-size);text-transform:uppercase;letter-spacing:.055em;border-radius:.52rem;justify-content:center;align-items:center;padding:0 .32rem;font-weight:800;display:flex}#app-view #calendar-view #calendar-grid .calendar-day{height:100%;min-height:80px;padding:var(--calendar-day-padding);border:1px solid var(--theme-border-subtle);background:color-mix(in oklab, var(--theme-surface-subtle,var(--theme-panel-inset-bg)) 92%, var(--theme-mix-base));cursor:pointer;transition:border-color var(--theme-transition), transform var(--theme-transition), box-shadow var(--theme-transition);border-radius:.7rem;flex-direction:column;gap:.24rem;display:flex;overflow:hidden}#app-view #calendar-view #calendar-grid .calendar-day:hover{border-color:color-mix(in oklab, var(--theme-primary) 55%, var(--theme-mix-base));box-shadow:0 8px 18px color-mix(in oklab, var(--theme-primary) 15%, transparent);transform:translateY(-1px)}#app-view #calendar-view #calendar-grid .calendar-day:focus-visible{outline:2px solid color-mix(in oklab, var(--theme-primary) 68%, #fff);outline-offset:2px}#app-view #calendar-view #calendar-grid .calendar-day.today{border:2px solid color-mix(in oklab, var(--theme-primary) 78%, var(--theme-mix-base));background:color-mix(in oklab, var(--theme-primary) 14%, var(--theme-surface-elevated))}#app-view #calendar-view #calendar-grid .calendar-day.empty-day{cursor:default;opacity:.5;background:0 0;border-style:dashed}#app-view #calendar-view #calendar-grid .calendar-grid-row--header .calendar-day-header:first-child,#app-view #calendar-view #calendar-grid .calendar-grid-row--header .calendar-day-header:last-child{opacity:.55}#app-view #calendar-view #calendar-grid .calendar-day.weekend[data-event-count="0"]:not(.today){background:color-mix(in oklab, var(--theme-panel-inset-bg) 50%, var(--theme-mix-base));border-color:color-mix(in oklab, var(--theme-panel-border-strong) 55%, transparent)}#app-view #calendar-view #calendar-grid .calendar-day.weekend[data-event-count="0"]:not(.today) .day-number{opacity:.45}#app-view #calendar-view #calendar-grid .day-top{flex:none;justify-content:space-between;align-items:center;gap:.25rem;display:flex}#app-view #calendar-view #calendar-grid .calendar-day[data-preview-mode=single],#app-view #calendar-view #calendar-grid .calendar-day[data-preview-mode=stacked]{gap:.18rem}#app-view #calendar-view #calendar-grid .day-number{font-weight:700;font-size:var(--calendar-day-number-size)}#app-view #calendar-view #calendar-grid .day-events-preview{flex:auto;min-height:0;margin-top:.28rem;overflow:hidden}#app-view #calendar-view #calendar-grid .day-events-preview--single,#app-view #calendar-view #calendar-grid .day-events-preview--stacked{align-content:start;gap:.18rem;display:grid}#app-view #calendar-view #calendar-grid .day-events-preview--dot-grid{align-items:stretch;display:flex}#app-view #calendar-view #calendar-grid .day-event-dot-grid{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:.28rem;width:100%;height:100%;display:grid}#app-view #calendar-view #calendar-grid .day-event-dot-slot,#app-view #calendar-view #calendar-grid .day-event-overflow-slot,#app-view #calendar-view #calendar-grid .day-event-empty-slot{aspect-ratio:1;border-radius:.42rem;justify-content:center;align-items:center;min-width:0;min-height:0;display:flex}#app-view #calendar-view #calendar-grid .day-event-dot-slot{border:1px solid var(--theme-border-soft,color-mix(in oklab, var(--theme-primary) 14%, var(--theme-mix-base)));border-left:3px solid var(--slot-class-color,var(--theme-primary));background:var(--theme-surface-subtle,var(--theme-chip-bg))}#app-view #calendar-view #calendar-grid .day-event-overflow-slot{border:1px solid var(--theme-border-accent,color-mix(in oklab, var(--theme-primary) 20%, var(--theme-mix-base)));background:color-mix(in oklab, var(--theme-primary) 12%, var(--theme-surface-elevated,var(--theme-mix-base)));color:color-mix(in oklab, var(--theme-on-bg) 88%, var(--theme-primary));font-size:max(.88rem, calc(var(--calendar-chip-font-size) + .12rem));font-weight:800;line-height:1}#app-view #calendar-view #calendar-grid .day-event-empty-slot{border:1px dashed color-mix(in oklab, var(--theme-primary) 24%, transparent);opacity:.55;background:0 0}#app-view #calendar-view #calendar-grid .day-event-grid-dot{background:var(--dot-color,var(--theme-event-other));width:.62rem;height:.62rem;box-shadow:0 0 0 2px color-mix(in oklab, var(--dot-color,var(--theme-event-other)) 24%, transparent);border-radius:999px;flex-shrink:0}#app-view #calendar-view #calendar-grid .day-event-chip{font-size:max(var(--calendar-chip-font-size), .72rem);border:1px solid var(--theme-border-soft,color-mix(in oklab, var(--theme-primary) 14%, var(--theme-mix-base)));background:color-mix(in oklab, var(--theme-chip-bg) 84%, var(--theme-surface-elevated,var(--theme-mix-base)));border-left:3px solid var(--chip-class-color,var(--theme-primary));white-space:nowrap;border-radius:.42rem;flex-wrap:nowrap;align-items:center;gap:.34rem;width:100%;min-width:0;min-height:1.4rem;padding:.2rem .28rem;line-height:1.15;display:flex;overflow:hidden}#app-view #calendar-view #calendar-grid .calendar-day[data-preview-mode=single] .day-event-chip,#app-view #calendar-view #calendar-grid .calendar-day[data-preview-mode=stacked] .day-event-chip{font-size:max(calc(var(--calendar-chip-font-size) - .04rem), .68rem);min-height:1.24rem;padding:.16rem .24rem}#app-view #calendar-view #calendar-grid .day-event-chip-title{font-size:inherit;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-weight:600;overflow:hidden}#app-view #calendar-view #calendar-grid .event-dot{background:var(--dot-color,var(--theme-event-other));border-radius:999px;flex-shrink:0;width:7px;height:7px}@media (width<=860px){#app-view #calendar-view #calendar-grid .calendar-day{padding:.35rem}#app-view #calendar-view #calendar-grid .day-event-chip{font-size:.68rem}#app-view #calendar-view #calendar-grid .day-event-dot-grid{gap:.22rem}}@media (width<=768px){#app-view #calendar-view .calendar-health-banner{flex-direction:column}#app-view #calendar-view .calendar-health-banner-actions{justify-content:flex-start;width:100%}#app-view #calendar-view .calendar-add-modal-actions{grid-template-columns:minmax(0,1fr)}#app-view #calendar-view #calendar-grid .calendar-day{border-radius:.6rem;padding:.3rem}#app-view #calendar-view #calendar-grid .day-number{font-size:.78rem}#app-view #calendar-view #calendar-grid .day-event-chip{padding:.2rem .26rem;font-size:.64rem}#app-view #calendar-view #calendar-grid .day-event-chip-title{font-size:.63rem}#app-view #calendar-view #calendar-grid .day-event-grid-dot{width:.56rem;height:.56rem}}@media (width<=640px){#app-view #calendar-view #calendar-grid .calendar-day-header{padding:.46rem .2rem;font-size:.66rem}}[data-theme=light] #app-view #calendar-view .btn-icon,[data-theme=light] #app-view #calendar-view .btn-text{background:var(--theme-cta-bg);border-color:color-mix(in oklab, var(--theme-primary) 48%, var(--theme-mix-base));color:var(--theme-on-primary)}[data-theme=light] #app-view #calendar-view .btn-icon:hover,[data-theme=light] #app-view #calendar-view .btn-text:hover{background:var(--theme-cta-bg-hover);color:var(--theme-on-primary)}[data-theme=light] #app-view #calendar-view .filters-toggle{background:var(--theme-cta-bg);border-color:color-mix(in oklab, var(--theme-primary) 48%, var(--theme-mix-base));color:var(--theme-on-primary)}[data-theme=light] #app-view #calendar-view .filters-toggle:hover{background:var(--theme-cta-bg-hover);color:var(--theme-on-primary)}[data-theme=light] #app-view #calendar-view .filters-toggle-count{background:var(--theme-on-primary);border-color:color-mix(in oklab, var(--theme-primary) 30%, var(--theme-on-primary));color:var(--theme-primary)}[data-theme=light] #app-view #calendar-view .calendar-health-banner{border-color:color-mix(in oklab, #f43f5e 24%, var(--theme-border-subtle));background:linear-gradient(135deg,oklab(97.7975% .0106653 .0023492) 0%,#fff 100%)}[data-theme=light] #app-view #calendar-view .agenda-jump-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)}[data-theme=dark] #app-view #calendar-view .btn-icon,[data-theme=dark] #app-view #calendar-view .btn-text{background:color-mix(in oklab, var(--theme-bg) 68%, var(--theme-surface-1));border-color:color-mix(in oklab, var(--theme-on-bg) 32%, transparent)}[data-theme=dark] #app-view #calendar-view .btn-secondary,:root:not([data-theme=light]) #app-view #calendar-view .btn-secondary{background:color-mix(in oklab, var(--theme-bg) 66%, var(--theme-surface-1));border-color:color-mix(in oklab, var(--theme-on-bg) 28%, transparent);color:#f8fbff}[data-theme=dark] #app-view #calendar-view .btn-secondary:hover:not(:disabled),:root:not([data-theme=light]) #app-view #calendar-view .btn-secondary:hover:not(:disabled){background:color-mix(in oklab, var(--theme-bg) 58%, var(--theme-surface-1))}[data-theme=dark] #app-view #calendar-view .filters-toggle,:root:not([data-theme=light]) #app-view #calendar-view .filters-toggle{background:linear-gradient(180deg, color-mix(in oklab, var(--theme-bg) 64a%, var(--theme-surface-1)), color-mix(in oklab, var(--theme-bg) 52%, var(--theme-surface-1)));border-color:color-mix(in oklab, var(--theme-on-bg) 30%, transparent);color:#f8fbff}[data-theme=dark] #app-view #calendar-view .filters-toggle:hover,:root:not([data-theme=light]) #app-view #calendar-view .filters-toggle:hover{background:linear-gradient(180deg, color-mix(in oklab, var(--theme-bg) 58%, var(--theme-surface-1)), color-mix(in oklab, var(--theme-bg) 46%, var(--theme-surface-1)));color:#fff}[data-theme=dark] #app-view #calendar-view .filters-toggle-count,:root:not([data-theme=light]) #app-view #calendar-view .filters-toggle-count{background:color-mix(in oklab, #fff 12%, var(--theme-surface-elevated));color:#fff;border-color:oklab(100% 0 5.96046e-8/.18)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) #app-view #calendar-view .btn-icon,:root:not([data-theme=light]) #app-view #calendar-view .btn-text{background:color-mix(in oklab, var(--theme-bg) 68%, var(--theme-surface-1));border-color:color-mix(in oklab, var(--theme-on-bg) 32%, transparent)}}@media (width<=768px){#app-view #calendar-view{--calendar-day-panel-max-height:18rem;--calendar-weekday-header-height:2rem;--calendar-weekday-font-size:.68rem;--calendar-day-number-size:.72rem;--calendar-grid-gap:.28rem;--calendar-grid-width:100%}#app-view #calendar-view .calendar-workspace{overflow-x:hidden}#app-view #calendar-view .calendar-grid-wrap,#app-view #calendar-view .calendar-month-wrap,#app-view #calendar-view .calendar-month-content{width:100%;min-width:0;max-width:100%}#app-view #calendar-view .calendar-grid{width:100%;min-width:0}#app-view #calendar-view .calendar-grid-row{grid-template-columns:repeat(7,minmax(0,1fr));width:100%;min-width:0}#app-view #calendar-view .calendar-grid-row:not(.calendar-grid-row--header){height:auto;min-height:40px;max-height:52px}#app-view #calendar-view #calendar-grid .calendar-day{min-height:40px;max-height:52px}#app-view #calendar-view .agenda-range-heading{color:var(--theme-text-strong);margin:0 0 .35rem;font-size:.9rem;font-weight:700}}.demo-chip[data-astro-cid-7ayuo3wf]{letter-spacing:.06em;text-transform:uppercase;background:color-mix(in oklab, var(--theme-primary) 18%, var(--theme-surface-1));border:1px solid color-mix(in oklab, var(--theme-primary) 35%, transparent);color:color-mix(in oklab, var(--theme-primary) 85%, var(--theme-mix-base));vertical-align:middle;border-radius:999px;margin-left:.5rem;padding:.2rem .5rem;font-size:.65rem;font-weight:700}.demo-topbar-right[data-astro-cid-7ayuo3wf]{justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.demo-topbar-text[data-astro-cid-7ayuo3wf]{color:color-mix(in oklab, var(--theme-app-topbar-text,#f6fbff) 72%, transparent);margin:0;font-size:.82rem}.demo-topbar-highlight[data-astro-cid-7ayuo3wf]{font-weight:700}.demo-topbar-actions[data-astro-cid-7ayuo3wf]{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.demo-topbar-actions[data-astro-cid-7ayuo3wf] .topbar-link,.demo-topbar-actions[data-astro-cid-7ayuo3wf] .topbar-btn{width:auto;min-height:unset;justify-content:center}.demo-shell[data-astro-cid-7ayuo3wf]{width:var(--app-view-stage-width);max-width:none;margin:0 auto;position:relative;overflow:visible}.demo-shell[data-astro-cid-7ayuo3wf].sb-trial-pulse:after{content:"";border:2px solid color-mix(in oklab, var(--theme-primary) 60%, transparent);box-shadow:0 0 0 6px color-mix(in oklab, var(--theme-primary) 18%, transparent);opacity:0;pointer-events:none;border-radius:1.15rem;animation:.85s ease-out sbTrialPulse;position:absolute;inset:-8px}@keyframes sbTrialPulse{0%{opacity:0;transform:scale(.985)}22%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.01)}}.demo-shell[data-astro-cid-7ayuo3wf]>#data-section[data-astro-cid-7ayuo3wf]{width:100%;max-width:none;overflow:visible}.demo-shell[data-astro-cid-7ayuo3wf]>#data-section[data-astro-cid-7ayuo3wf]>#view-content[data-astro-cid-7ayuo3wf]{z-index:4;position:relative}#app-view[data-astro-cid-7ayuo3wf],#app-container[data-astro-cid-7ayuo3wf],#workspace-section[data-astro-cid-7ayuo3wf]{overflow:visible}.demo-info[data-astro-cid-7ayuo3wf]{z-index:3;width:280px;max-width:calc(100vw - 24px);position:absolute;top:4.75rem;left:100%}.demo-info-panel[data-astro-cid-7ayuo3wf]{border:1px solid var(--theme-border-subtle);background:var(--theme-surface-primary);box-shadow:var(--theme-shadow-sm);border-radius:.9rem;padding:1rem 1rem 1.05rem}.demo-info-panel[data-astro-cid-7ayuo3wf] h3[data-astro-cid-7ayuo3wf]{margin:0 0 .55rem;font-size:1.02rem;line-height:1.1}.demo-info-panel[data-astro-cid-7ayuo3wf] p[data-astro-cid-7ayuo3wf]{color:color-mix(in oklab, var(--theme-on-bg) 82%, var(--theme-mix-base));margin:0 0 .85rem;font-size:.9rem;line-height:1.55}.demo-info-list[data-astro-cid-7ayuo3wf]{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.demo-info-list[data-astro-cid-7ayuo3wf] li[data-astro-cid-7ayuo3wf]{color:color-mix(in oklab, var(--theme-on-bg) 88%, var(--theme-mix-base));padding-left:1rem;font-size:.9rem;line-height:1.45;position:relative}.demo-info-list[data-astro-cid-7ayuo3wf] li[data-astro-cid-7ayuo3wf]:before{content:"";background:color-mix(in oklab, var(--theme-primary) 78%, var(--theme-mix-base));border-radius:999px;width:.38rem;height:.38rem;position:absolute;top:.56em;left:0}.demo-info-panel[data-astro-cid-7ayuo3wf][hidden]{display:none!important}@media (width<=860px){.demo-shell[data-astro-cid-7ayuo3wf]{width:100%}.demo-info[data-astro-cid-7ayuo3wf]{width:100%;margin:1rem 0 0;position:static}}.feature-tabs[data-astro-cid-dmbodsac]{margin:2.8rem auto 0}.feature-tabs--demo[data-astro-cid-dmbodsac]{margin:2rem auto 0}.feature-header[data-astro-cid-dmbodsac]{text-align:center;margin-bottom:1.2rem}.feature-header[data-astro-cid-dmbodsac] h2[data-astro-cid-dmbodsac]{margin-bottom:.2rem;font-size:1.35rem}.feature-header[data-astro-cid-dmbodsac] p[data-astro-cid-dmbodsac]{color:color-mix(in oklab, var(--theme-on-bg) 72%, var(--theme-mix-base));margin:0;font-size:.9rem}.demo-shell[data-astro-cid-dmbodsac]{border:1px solid var(--theme-border-subtle);background:var(--theme-surface-secondary);box-shadow:var(--theme-shadow-sm);border-radius:1rem;margin-top:.95rem;overflow:hidden}.demo-shell-topbar[data-astro-cid-dmbodsac]{background:oklab(34.9416% -.0268978 -.0940728);border-bottom:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex}.demo-shell-brand[data-astro-cid-dmbodsac]{align-items:center;gap:.55rem;min-width:0;display:inline-flex}.demo-shell-brand-mark[data-astro-cid-dmbodsac]{background:linear-gradient(135deg,#74bfff 0%,#2dd4bf 100%);border-radius:50%;flex-shrink:0;width:.9rem;height:.9rem;box-shadow:0 0 0 2px #ffffff14}.demo-shell-brand-name[data-astro-cid-dmbodsac]{color:#fffffff2;letter-spacing:.01em;font-size:.88rem;font-weight:800}.demo-shell-chip[data-astro-cid-dmbodsac]{letter-spacing:.06em;text-transform:uppercase;color:#d9f4ff;background:#74bfff29;border:1px solid #74bfff4d;border-radius:999px;padding:.18rem .45rem;font-size:.64rem;font-weight:800}.demo-shell-tabs[data-astro-cid-dmbodsac]{flex-wrap:wrap;align-items:center;gap:.4rem;display:inline-flex}.demo-shell-tab[data-astro-cid-dmbodsac]{appearance:none;color:#ffffffc2;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background-color var(--theme-transition), color var(--theme-transition), border-color var(--theme-transition), transform var(--theme-transition);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:999px;padding:.58rem .95rem;font-size:.77rem;font-weight:800}.demo-shell-tab[data-astro-cid-dmbodsac]:hover{color:#fffffff5;background:#ffffff1a}.demo-shell-tab[data-astro-cid-dmbodsac].active{color:#062235;background:linear-gradient(135deg,#74bfff 0%,#2dd4bf 100%);border-color:#0000;box-shadow:0 10px 24px #2dd4bf2e}.demo-shell-window[data-astro-cid-dmbodsac]{background:var(--theme-surface-secondary);gap:1rem;padding:1rem;display:grid}.demo-shell-frame[data-astro-cid-dmbodsac]{border:1px solid var(--theme-border-subtle);background:var(--theme-surface-primary);box-shadow:var(--theme-shadow-sm);border-radius:.9rem;overflow:hidden}.founder-story[data-astro-cid-dmbodsac]{border:1px solid var(--theme-border-subtle);background:var(--theme-surface-secondary);border-radius:1rem;margin:2.8rem auto 0;padding:1.4rem}.founder-story[data-astro-cid-dmbodsac] h2[data-astro-cid-dmbodsac]{max-width:36ch;margin-bottom:.75rem;font-size:1.35rem}.founder-story[data-astro-cid-dmbodsac] p[data-astro-cid-dmbodsac]{color:color-mix(in oklab, var(--theme-on-bg) 82%, var(--theme-mix-base));max-width:70ch;margin-bottom:.7rem;font-size:.9rem;line-height:1.65}.founder-story[data-astro-cid-dmbodsac] p[data-astro-cid-dmbodsac]:last-child{margin-bottom:0}.about-cta[data-astro-cid-dmbodsac]{border:1px solid color-mix(in oklab, var(--theme-primary) 32%, var(--theme-mix-base));background:var(--theme-surface-highlight);text-align:center;border-radius:1rem;margin:2.8rem auto 0;padding:1.35rem}.about-cta[data-astro-cid-dmbodsac] h2[data-astro-cid-dmbodsac]{margin-bottom:.3rem;font-size:1.25rem}.about-cta[data-astro-cid-dmbodsac] p[data-astro-cid-dmbodsac]{color:color-mix(in oklab, var(--theme-on-bg) 78%, var(--theme-mix-base));margin-bottom:.85rem}.cta-actions[data-astro-cid-dmbodsac]{flex-wrap:wrap;justify-content:center;gap:.55rem;display:flex}.demo-feature-view[data-astro-cid-dmbodsac]{justify-content:center;width:100%;min-width:0;display:flex;overflow:visible}.demo-feature-grid[data-astro-cid-dmbodsac]{width:100vw;margin-left:calc(50% - 50vw);overflow:visible}.demo-feature-view[data-astro-cid-dmbodsac] .demo-shell{margin-top:0}@media (width<=768px){.feature-tabs[data-astro-cid-dmbodsac],.feature-tabs--demo[data-astro-cid-dmbodsac],.founder-story[data-astro-cid-dmbodsac],.about-cta[data-astro-cid-dmbodsac]{margin-top:1.1rem}.demo-shell-topbar[data-astro-cid-dmbodsac]{align-items:stretch;padding:.8rem .85rem}.demo-shell-tabs[data-astro-cid-dmbodsac]{grid-template-columns:1fr;width:100%;display:grid}.demo-shell-tab[data-astro-cid-dmbodsac]{justify-content:center;width:100%}.demo-shell-window[data-astro-cid-dmbodsac]{padding:.8rem}.demo-feature-grid[data-astro-cid-dmbodsac]{margin-top:.95rem}.demo-feature-view[data-astro-cid-dmbodsac] .demo-shell{width:100%}.cta-actions[data-astro-cid-dmbodsac] .sb-btn{justify-content:center;width:100%}}.trial-widget.svelte-1r54ws3{border:1px solid var(--theme-border-subtle);background:var(--theme-surface-inset);box-shadow:var(--theme-shadow-sm);border-radius:1.2rem;max-width:960px;margin:0 auto 1.5rem;padding:1.5rem;position:relative}.trial-widget-toggle.svelte-1r54ws3{z-index:3;border:1px solid var(--theme-border-subtle);background:var(--theme-surface-secondary);width:2.25rem;height:2.25rem;color:color-mix(in oklab, var(--theme-on-bg) 82%, var(--theme-mix-base));cursor:pointer;transition:transform var(--theme-transition), background-color var(--theme-transition), border-color var(--theme-transition), color var(--theme-transition);border-radius:999px;place-items:center;display:grid;position:absolute;top:.95rem;right:.95rem}.trial-widget-toggle.svelte-1r54ws3:hover{background:var(--theme-surface-secondary);border-color:color-mix(in oklab, var(--theme-border-strong) 65%, var(--theme-primary) 35%);color:color-mix(in oklab, var(--theme-on-bg) 92%, var(--theme-mix-base))}.trial-widget-toggle-icon.svelte-1r54ws3{transition:transform var(--theme-transition)}.trial-widget.is-collapsed.svelte-1r54ws3 .trial-widget-toggle-icon:where(.svelte-1r54ws3){transform:rotate(-90deg)}.trial-heading-row.svelte-1r54ws3{margin-bottom:1.1rem;padding-right:2.75rem}.trial-heading.svelte-1r54ws3{color:var(--theme-text-strong,var(--theme-on-bg));margin:0;font-size:1.45rem;font-weight:800;line-height:1.2}.trial-subheading.svelte-1r54ws3{color:var(--theme-text-muted);max-width:72ch;margin:.45rem 0 0;font-size:.95rem;line-height:1.6}.trial-quota.svelte-1r54ws3{border:1px solid color-mix(in oklab, var(--theme-info) 50%, var(--theme-mix-base));background:var(--theme-info-bg);color:var(--theme-on-info);border-radius:.7rem;gap:.15rem;margin:0 0 1rem;padding:.75rem .95rem;display:grid}.trial-quota--blocked.svelte-1r54ws3{border-color:color-mix(in oklab, var(--theme-error) 50%, var(--theme-mix-base));background:var(--theme-error-bg);color:var(--theme-on-error)}.trial-quota-title.svelte-1r54ws3,.trial-quota-body.svelte-1r54ws3{margin:0}.trial-quota-title.svelte-1r54ws3{color:inherit;font-size:.9rem;font-weight:800}.trial-quota-body.svelte-1r54ws3{color:inherit;opacity:.82;align-items:flex-start;gap:.45rem;font-size:.85rem;line-height:1.45;display:inline-flex}.trial-quota-check.svelte-1r54ws3{opacity:.95;flex-shrink:0;justify-content:center;align-items:center;margin-top:.05rem;display:inline-flex}.trial-form.svelte-1r54ws3{flex-direction:column;gap:1rem;display:flex}.trial-fields.svelte-1r54ws3{grid-template-columns:1fr;gap:1rem;display:grid}.trial-field.svelte-1r54ws3{flex-direction:column;gap:.42rem;display:flex}.trial-label.svelte-1r54ws3{color:var(--theme-text-strong,var(--theme-on-bg));margin-bottom:.42rem;font-size:.92rem;font-weight:700;display:block}.trial-input-wrap.svelte-1r54ws3{position:relative}.trial-input.svelte-1r54ws3{border:1px solid var(--theme-button-secondary-border);background:color-mix(in oklab, var(--theme-surface-elevated) 88%, var(--theme-bg));width:100%;height:2.85rem;color:var(--theme-text-strong,var(--theme-on-bg));box-sizing:border-box;transition:border-color var(--theme-transition), box-shadow var(--theme-transition);border-radius:.8rem;outline:none;padding:0 2.1rem 0 .9rem;font-size:.95rem}.trial-input-required.svelte-1r54ws3{color:var(--theme-error);pointer-events:none;user-select:none;font-weight:900;line-height:1;position:absolute;top:50%;right:.85rem;transform:translateY(-50%)}.trial-input.svelte-1r54ws3:focus{border-color:color-mix(in oklab, var(--theme-primary) 78%, var(--theme-mix-base));box-shadow:0 0 0 3px color-mix(in oklab, var(--theme-primary) 20%, transparent)}.trial-file-picker.svelte-1r54ws3{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);transition:border-color var(--theme-transition), box-shadow var(--theme-transition);cursor:pointer;box-sizing:border-box;border-radius:.8rem;padding:.72rem .8rem;font-size:.95rem}.trial-file-picker.form-control.svelte-1r54ws3{color:var(--theme-text-strong)}.trial-file-picker.svelte-1r54ws3:focus{border-color:color-mix(in oklab, var(--theme-primary) 78%, var(--theme-mix-base));box-shadow:0 0 0 3px color-mix(in oklab, var(--theme-primary) 20%, transparent);outline:none}.trial-file-picker.svelte-1r54ws3:disabled,.trial-input.svelte-1r54ws3:disabled{cursor:not-allowed;opacity:.68}.trial-file-help.svelte-1r54ws3{color:var(--theme-text-muted);margin-top:.3rem;font-size:.82rem;display:block}.trial-file-clear-inline.svelte-1r54ws3{font:inherit;color:var(--theme-text-muted);cursor:pointer;transition:color var(--theme-transition), text-decoration-color var(--theme-transition), opacity var(--theme-transition);background:0 0;border:none;align-self:flex-start;margin-top:.35rem;padding:0;text-decoration:underline #0000}.trial-file-clear-inline.svelte-1r54ws3:hover{color:var(--theme-text-strong);text-decoration-color:currentColor}.trial-file-clear-inline.svelte-1r54ws3:disabled{cursor:not-allowed;opacity:.6}.trial-error.svelte-1r54ws3{background:var(--theme-error-bg);color:var(--theme-on-error);border:1px solid color-mix(in oklab, var(--theme-error) 50%, var(--theme-mix-base));border-radius:.7rem;flex-wrap:wrap;align-items:center;gap:.4rem;margin:0;padding:.85rem .95rem;font-size:.9rem;display:flex}.trial-error-link.svelte-1r54ws3{color:inherit;cursor:pointer;font-weight:700;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.trial-form-footer.svelte-1r54ws3{flex-direction:column;align-items:stretch;gap:.7rem;display:flex}.trial-btn.svelte-1r54ws3{letter-spacing:.02em;border:1px solid color-mix(in oklab, var(--theme-primary) 38%, transparent);cursor:pointer;width:100%;min-height:2.85rem;transition:transform var(--theme-transition), box-shadow var(--theme-transition), background var(--theme-transition), opacity var(--theme-transition);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1rem;font-size:.95rem;font-weight:800;text-decoration:none;display:inline-flex}.trial-btn--primary.svelte-1r54ws3{background:var(--theme-cta-bg);color:var(--theme-on-primary,#fff);box-shadow:var(--theme-cta-shadow)}.trial-btn--primary.svelte-1r54ws3:disabled{opacity:.68;cursor:not-allowed;box-shadow:none;transform:none}.trial-btn--primary.svelte-1r54ws3:not(:disabled):hover{background:var(--theme-cta-bg-hover);box-shadow:0 20px 34px color-mix(in oklab, var(--theme-primary) 28%, transparent);transform:translateY(-1px)}.trial-btn--cta.svelte-1r54ws3{height:auto;margin-top:.85rem;font-size:.9rem}.trial-hint.svelte-1r54ws3{color:var(--theme-text-muted);text-align:center;margin:0;font-size:.82rem;line-height:1.5}.trial-spinner.svelte-1r54ws3{border:2px solid #ffffff59;border-top-color:#ffffffe6;border-radius:50%;flex-shrink:0;width:.9rem;height:.9rem;animation:.65s linear infinite svelte-1r54ws3-spin;display:inline-block}@keyframes svelte-1r54ws3-spin{to{transform:rotate(360deg)}}.trial-success.svelte-1r54ws3{align-items:flex-start;gap:.9rem;padding:.1rem 0;display:flex}.trial-success-icon.svelte-1r54ws3{background:color-mix(in oklab, var(--theme-primary) 16%, var(--theme-surface-primary));border:1.5px solid color-mix(in oklab, var(--theme-primary) 35%, transparent);width:2.2rem;height:2.2rem;color:var(--theme-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:.1rem;display:flex}.trial-success-body.svelte-1r54ws3{min-width:0}.trial-success-heading.svelte-1r54ws3{color:var(--theme-text-strong,var(--theme-on-bg));margin:0 0 .3rem;font-size:1.08rem;font-weight:800}.trial-success-detail.svelte-1r54ws3{color:var(--theme-text-muted);margin:0;font-size:.92rem;line-height:1.55}.trial-turnstile.svelte-1r54ws3{width:300px;height:65px;position:absolute;top:0;left:-9999px;overflow:hidden}.trial-turnstile--visible.svelte-1r54ws3{width:100%;height:auto;margin:.5rem 0 0;position:relative;top:auto;left:auto}.trial-turnstile-prompt.svelte-1r54ws3{color:var(--theme-text-muted);margin:.5rem 0 .6rem;font-size:.85rem}@media (width<=640px){.trial-widget.svelte-1r54ws3{border-radius:.95rem;padding:1rem 1rem 1.1rem}.trial-heading.svelte-1r54ws3{font-size:1.25rem}.trial-subheading.svelte-1r54ws3{font-size:.9rem}}.demo-page-upload[data-astro-cid-soxsnotx]{max-width:960px;margin:1.5rem auto 0;padding:0 1rem}@media (width<=640px){.demo-page-upload[data-astro-cid-soxsnotx]{margin-top:1rem;padding:0 .75rem}}
