@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{display:inline-block;padding:.15rem .55rem;font-size:.72rem;font-weight:600;border-radius:999px;background:color-mix(in oklab,#f97316 18%,transparent);color:color-mix(in oklab,#f97316 90%,var(--theme-text-strong));border:1px solid color-mix(in oklab,#f97316 40%,transparent);vertical-align:middle;margin-left:.5rem}.demo-badge--trial{background:color-mix(in oklab,#059669 14%,transparent);color:color-mix(in oklab,#059669 90%,var(--theme-text-strong));border-color:color-mix(in oklab,#059669 34%,transparent)}.view-panel.is-exiting{animation:panel-exit .13s ease forwards}#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));width:100%;margin:0 auto;padding:1.12rem;border:1px solid var(--theme-border-strong);border-radius:1.15rem;background:var(--theme-surface-primary);box-shadow:var(--theme-shadow-md);animation:panel-enter .18s ease}#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);display:flex;flex-direction:column;min-height:calc(100vh - 8rem)}#app-view #profile-view #profile-content,#app-view #profile-view #profile-inner{flex:1;display:flex;flex-direction:column;min-height:0}#app-view #grade-sheet-view .panel-subtitle,#app-view #profile-view .panel-subtitle{margin:.16rem 0 0;font-size:.86rem;color:var(--theme-text-muted)}#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{margin:0;max-width:30rem;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{display:inline-flex;align-items:center;gap:.45rem;margin-top:.52rem;padding:.32rem .68rem;border-radius:999px;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);font-size:.76rem;font-weight:800;letter-spacing:.03em;max-width:100%;overflow:hidden}#app-view #grade-sheet-view .grade-course-badge__label,#app-view #profile-view .profile-course-badge__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}#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:"";width:.48rem;height:.48rem;border-radius:999px;background:color-mix(in oklab,var(--badge-class-color, var(--theme-primary)) 88%,#22d3ee);box-shadow:0 0 0 2px color-mix(in oklab,var(--badge-class-color, var(--theme-primary)) 24%,transparent)}[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{position:fixed;inset:0;z-index:220;display:none;align-items:center;justify-content:center;padding:1rem;background:color-mix(in oklab,#041427 58%,transparent);backdrop-filter:blur(4px);opacity:0;transition:opacity .2s ease}#app-view.scan-locked #scan-lock-overlay{display:flex;opacity:1}#app-view.scan-lock-overlay-disabled.scan-locked #scan-lock-overlay{display:none;opacity:0}.scan-lock-overlay__card{width:min(560px,calc(100% - 2rem));border-radius:1rem;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;box-shadow:0 18px 34px color-mix(in oklab,#041427 65%,transparent);padding:1rem 1.1rem;transform:scale(.98);opacity:0;transition:transform .2s ease,opacity .2s ease}#app-view.scan-locked .scan-lock-overlay__card{transform:scale(1);opacity: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{margin:.5rem 0 0;color:color-mix(in oklab,#f8fbff 92%,#dbeafe)}.scan-lock-progress-text{font-weight:700;letter-spacing:.01em}.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{margin-top:.75rem;min-height:1.25rem;opacity:.9}#workspace-section{display:grid;gap:1.15rem}.app-section{margin:0}.dashboard-banner{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap;padding:1.05rem 1.15rem;border:1px solid var(--theme-border-subtle);border-radius:1rem;background:var(--theme-surface-secondary);box-shadow:var(--theme-shadow-sm)}.dashboard-banner h2{margin:0 0 .3rem;font-size:1.05rem}#dashboard-meta-text{margin:0;color:var(--theme-text-muted);font-size:.88rem}.usage-pill{display:inline-flex;align-items:center;padding:.42rem .76rem;border-radius:999px;font-size:.8rem;font-weight:700;color:var(--theme-text-body);background:var(--theme-button-secondary-bg);border:1px solid var(--theme-button-secondary-border)}.usage-pill.usage-pill--trial{background:color-mix(in oklab,var(--theme-primary) 11%,var(--theme-surface-subtle, var(--theme-surface-1)))}#view-content{margin-top:.95rem;position:relative;display:grid;gap:1.1rem}.view-panel{display:none!important}.view-panel.active{display:block!important}#scan-workspace{border:1px solid var(--theme-border-subtle);border-radius:1rem;background:var(--theme-surface-secondary);padding:.72rem;box-shadow:var(--theme-shadow-sm)}#scan-details{border:none}#scan-summary{cursor:pointer;font-weight:800;font-size:.94rem;padding:.48rem .58rem}#scan-workspace.primary-mode #scan-summary{pointer-events:none;list-style:none;cursor:default;margin-bottom:.3rem;font-size:1.02rem}#scan-workspace.primary-mode #scan-summary::-webkit-details-marker{display:none}.scan-inner{padding:.35rem}#toggle-and-nudge{position:relative}.upload-nudge-banner{position:absolute;right:0;width:210px;top:0;bottom:0;overflow:hidden;display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;border-radius:.75rem;background:var(--theme-surface-highlight);border:1px solid color-mix(in oklab,var(--theme-primary) 32%,var(--theme-mix-base));box-shadow:0 8px 18px color-mix(in oklab,var(--theme-primary) 14%,transparent);font-size:.65rem;line-height:1.35;color:var(--theme-text-body);transition:opacity .2s ease}@media (max-width: 860px){.upload-nudge-banner{display:none}}@media (max-width: 760px){#app-view{padding-top:.1rem;padding-bottom:calc(1.5rem + var(--mobile-bottom-safe))}.dashboard-banner{padding:.85rem}}#app-topbar{position:sticky;top:.65rem;z-index:140;margin-bottom:1rem;padding:.9rem 1rem;border-radius:1rem;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);box-shadow:0 22px 42px color-mix(in oklab,#020b12 30%,transparent);display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.8rem}.app-topbar-brand{display:inline-flex;align-items:center;gap:1rem;min-height:4.65rem;text-decoration:none;color:inherit;font-weight:800;letter-spacing:.01em}.brand-name{font-family:var(--theme-font-family-serif);font-size:clamp(1.1rem,1rem + .35vw,1.35rem);letter-spacing:-.01em;line-height:1.05;padding-left:.5rem}.brand-mark-stack{width:4rem;height:4rem;display:block;flex:0 0 auto;align-self:center;position:relative;transform:translateY(.02rem) scale(1.42);transform-origin:center center}.brand-mark{position:absolute;inset:0;width:100%;height:100%;display:block}.app-topbar-brand .brand-mark--light{display:none}:root[data-theme=light] .app-topbar-brand .brand-mark--dark{display:none}:root[data-theme=light] .app-topbar-brand .brand-mark--light{display:block}: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{display:none;border:1px solid color-mix(in oklab,#ffffff 24%,transparent);border-radius:999px;background:color-mix(in oklab,#ffffff 10%,transparent);color:var(--theme-app-topbar-text, #f6fbff);padding:.42rem .76rem;font-size:.8rem;font-weight:700;cursor:pointer}.app-topbar-menu-panel{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.75rem}.app-topbar-nav{display:flex;justify-content:flex-start;align-items:center;gap:.45rem;flex-wrap:wrap}.app-topbar-user{display:inline-flex;align-items:center;justify-content:flex-start;gap:.45rem;flex-wrap:wrap}.app-topbar-user:only-child{grid-column:1 / -1}#app-topbar-user-email{font-size:.82rem;color:color-mix(in oklab,var(--theme-app-topbar-text, #f6fbff) 74%,white);margin-right:.2rem}.topbar-btn{border:1px solid color-mix(in oklab,#ffffff 24%,transparent);border-radius:999px;background:color-mix(in oklab,#ffffff 10%,transparent);color:var(--theme-app-topbar-text, #f6fbff);padding:.46rem .82rem;font-size:.8rem;font-weight:800;cursor:pointer;transition:background-color var(--theme-transition),border-color var(--theme-transition),transform var(--theme-transition)}.topbar-link{border:1px solid color-mix(in oklab,#ffffff 24%,transparent);border-radius:999px;background:color-mix(in oklab,#ffffff 10%,transparent);color:var(--theme-app-topbar-text, #f6fbff);padding:.46rem .82rem;font-size:.8rem;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--theme-transition),border-color var(--theme-transition),transform var(--theme-transition)}.topbar-link:hover,.topbar-btn:hover{background:color-mix(in oklab,#ffffff 16%,transparent);transform:translateY(-1px)}.topbar-btn--solid{background:#f8fbff;color:#0d3e73;border-color:color-mix(in oklab,#ffffff 24%,transparent)}.topbar-btn--solid:hover{background:#fff}@media (min-width: 1001px){.app-topbar-user{justify-content:flex-end}}@media (max-width: 1000px){#app-topbar{grid-template-columns:1fr auto;gap:.6rem}.app-topbar-menu-btn{display:inline-flex;align-items:center;justify-content:center}.app-topbar-menu-panel{grid-column:1 / -1;display:none;gap:.55rem;padding-top:.62rem;border-top:1px solid color-mix(in oklab,#ffffff 22%,transparent);grid-template-columns:1fr}#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{display:block;width:100%;margin-right:0;margin-bottom:.1rem}}@media (max-width: 768px){#app-topbar{top:.35rem;margin-bottom:.8rem;padding:.72rem .78rem;border-radius:.82rem}.topbar-link,.topbar-btn{width:100%;justify-content:flex-start;min-height:var(--mobile-tap-target)}.app-topbar-brand{min-height:3.8rem;gap:.82rem}.brand-mark-stack{width:3.35rem;height:3.35rem;transform:translateY(.02rem) scale(1)}}@media (max-width: 1100px){#app-view #grade-sheet-view .components-grid{grid-template-columns:1fr}}@media (max-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 (max-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 (max-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;padding:.86rem;border-radius:.86rem}#app-view #grade-sheet-view{overflow-y:scroll;scroll-snap-type:y mandatory;height:100dvh;padding:0;border-radius:0}#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 #profile-view .asset-item-type--format,[data-theme=light] #app-view #profile-view .asset-item-type--count{border-color:color-mix(in oklab,var(--theme-on-bg) 18%,var(--theme-surface-elevated, 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{background:#34d39933;border-color:#34d39966;color:#4ade80}[data-theme=light] #app-view #grade-sheet-view .grades-metric .grades-pill--mid{background:#fbbf2433;border-color:#fbbf2466;color:#fbbf24}[data-theme=light] #app-view #grade-sheet-view .grades-metric .grades-pill--poor{background:#f8717133;border-color:#f8717166;color:#f87171}[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 (max-width: 768px){#mobile-nav-bar{display:flex;align-items:center;justify-content:center;position:relative;height:48px}#mobile-tabbar{position:absolute;left:50%;transform:translate(-50%);width:calc(100vw - 1.5rem)!important;display:flex!important;align-items:center;gap:.35rem;background:var(--theme-surface-secondary)!important;border:1px solid var(--theme-border-subtle)!important;box-shadow:var(--theme-shadow-sm)!important;padding:.28rem!important;border-radius:999px!important;backdrop-filter:none!important}.mobile-profile-tab-group{display:flex;flex:2 1 0;min-width:0;gap:.15rem;border-left:1px solid var(--theme-border-subtle);padding-left:.35rem;margin-left:.05rem}.mobile-tab-btn{flex:1 1 0;min-width:0;min-height:unset!important;padding:.38rem .75rem!important;border-radius:999px!important;background-color:transparent!important;border:1px solid transparent!important;color:var(--theme-text-muted)!important;font-size:.72rem!important;font-weight:800!important;letter-spacing:.035em!important;text-transform:uppercase!important;white-space:nowrap;cursor:pointer;transition:background-color var(--theme-transition),border-color var(--theme-transition),color var(--theme-transition),box-shadow var(--theme-transition)}.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{padding:.3rem .2rem!important;font-size:.62rem!important;letter-spacing:.04em!important}#mobile-tabbar.has-course-switch:before{content:"";position:absolute;top:-4px;left:0;right:0;height:4px;background:linear-gradient(to bottom,rgba(99,102,241,.12),transparent);border-radius:999px 999px 0 0;pointer-events:none}#mobile-tabbar.has-course-switch:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:4px;background:linear-gradient(to top,rgba(99,102,241,.12),transparent);border-radius:0 0 999px 999px;pointer-events:none}#mobile-tabbar .tab-course-arrows{display:none;position:absolute;right:-1.4rem;top:50%;transform:translateY(-50%);flex-direction:column;align-items:center;opacity:.45}#mobile-tabbar.has-course-switch .tab-course-arrows{display:flex}#mobile-tabbar .tab-course-arrows span{font-size:.5rem;color:var(--theme-primary);line-height:1.1}}.app-topbar-upload-btn,.app-topbar-gear-btn,.app-topbar-mobile-signout-btn{display:none}@media (max-width: 768px){#app-topbar{display:flex!important;flex-direction:row;align-items:center;gap:.5rem}.app-topbar-brand{flex:1}#app-topbar-menu-btn,#app-topbar-menu-panel{display:none!important}.app-topbar-upload-btn{display:inline-flex;align-items:center;gap:.3rem;background:var(--theme-surface-secondary);border:1px solid var(--theme-border-subtle);border-radius:.4rem;padding:.3rem .65rem;font-size:.72rem;font-weight:600;color:var(--theme-text-muted);cursor:pointer}.app-topbar-gear-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:.4rem;background:var(--theme-surface-secondary);border:1px solid var(--theme-border-subtle);color:var(--theme-text-muted);text-decoration:none;flex-shrink:0}.app-topbar-mobile-signout-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:.4rem;background:var(--theme-surface-secondary);border:1px solid var(--theme-border-subtle);color:var(--theme-text-muted);cursor:pointer;flex-shrink:0}}@media (max-width: 768px){#app-view #calendar-view,#app-view #grade-sheet-view,#app-view #profile-view{--app-view-stage-width: 100vw;max-width:100%!important;width:100%!important;box-sizing:border-box}.view-panel{position:relative}.view-panel{transition:transform .22s ease-out,opacity .22s ease-out}.view-panel.is-exiting-left{transform:translate(-100%);opacity:0;pointer-events:none}.view-panel.is-exiting-right{transform:translate(100%);opacity:0;pointer-events:none}.view-panel.is-entering-left{transform:translate(-100%);opacity:0}.view-panel.is-entering-right{transform:translate(100%);opacity:0}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:left center;transform:translate(-15%) rotateY(28deg);opacity:0}html.capacitor .view-panel.is-exiting-right{transform-origin:right center;transform:translate(15%) rotateY(-28deg);opacity:0}html.capacitor .view-panel.is-entering-left{transform-origin:right center;transform:translate(-15%) rotateY(-28deg);opacity:0}html.capacitor .view-panel.is-entering-right{transform-origin:left center;transform:translate(15%) rotateY(28deg);opacity:0}@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{transform:none!important;opacity:1!important}}.view-panel.is-exiting-left,.view-panel.is-exiting-right{display:block!important;position:absolute;top:0;left:0;right:0;z-index:2;pointer-events:none;overflow:hidden}.view-panel[data-swipe-right]:after{content:"";position:absolute;top:0;right:0;bottom:0;width:28px;background:linear-gradient(to left,rgba(99,102,241,.12),transparent);pointer-events:none;z-index:10}.view-panel[data-swipe-left]:before{content:"";position:absolute;top:0;left:0;bottom:0;width:28px;background:linear-gradient(to right,rgba(99,102,241,.12),transparent);pointer-events:none;z-index:10}.view-panel[data-swipe-left-boundary]:before{content:"";position:absolute;top:0;left:0;bottom:0;width:28px;background:linear-gradient(to right,rgba(160,80,255,.11),transparent);pointer-events:none;z-index:10}.mobile-course-chip{display:flex;align-items:center;gap:.3rem;background:var(--theme-surface-secondary);border:1px solid var(--theme-border-subtle);border-radius:999px;padding:.22rem .65rem;font-size:.72rem;font-weight:700;color:var(--theme-text-strong);cursor:pointer;white-space:nowrap}.mobile-course-chip svg{color:var(--theme-text-muted);flex-shrink:0}.mobile-course-chip-row{display:flex;justify-content:flex-end;padding:.25rem .75rem 0}#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{margin:0 0 .08rem;font-size:var(--calendar-heading-size);white-space:nowrap}#app-view #calendar-view .panel-subtitle{margin:0;font-size:.76rem;line-height:1.2;white-space:nowrap;color:var(--theme-text-muted)}#app-view #calendar-view .calendar-header{display:flex;position:relative;justify-content:space-between;align-items:flex-start;margin-bottom:.55rem;min-height:0;padding-right:24.2rem;padding-bottom:.2rem;flex-wrap:wrap;gap:var(--calendar-header-gap)}#app-view #calendar-view .calendar-header-left{display:grid;gap:.05rem;flex:0 1 auto;max-width:calc(100% - 24.2rem);min-width:0}#app-view #calendar-view .calendar-controls{display:flex;align-items:center;justify-content:flex-end;gap:.35rem;position:absolute;top:0;right:0;transform:none;flex:0 1 auto;min-width:0;margin-left:0;flex-wrap:nowrap}#app-view #calendar-view .class-filters-wrapper{width:100%;max-width:min(100%,clamp(56rem,84vw,74rem));margin-inline:0;margin-bottom:0}#app-view #calendar-view .calendar-health-banner{width:100%;max-width:min(100%,clamp(56rem,84vw,74rem));display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.08rem;margin-bottom:.9rem;border-radius:1rem;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)),color-mix(in oklab,#ffffff 2%,var(--theme-surface-secondary)));box-shadow:0 18px 42px color-mix(in oklab,var(--theme-shadow-color) 18%,transparent)}#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)),color-mix(in oklab,#f97316 4%,var(--theme-surface-secondary)))}#app-view #calendar-view .calendar-health-banner-status{display:flex;align-items:flex-start;gap:.8rem;min-width:0}#app-view #calendar-view .calendar-health-banner-icon{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;flex:0 0 auto;border-radius:.78rem;color:#fff6f7;background:linear-gradient(135deg,#e11d48,#f97316);box-shadow:inset 0 1px #ffffff24}#app-view #calendar-view .calendar-health-banner-copy{display:grid;gap:.32rem;min-width:0}#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{font-size:1.25rem;font-weight:700;color:var(--theme-on-bg)}#app-view #calendar-view .calendar-health-banner-body{font-size:.84rem;line-height:1.45;color:color-mix(in oklab,var(--theme-on-bg) 84%,var(--theme-mix-base))}#app-view #calendar-view .calendar-health-banner-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.55rem}#app-view #calendar-view .calendar-health-banner-dismiss{border:1px solid color-mix(in oklab,var(--theme-on-bg) 24%,transparent);border-radius:999px;background:color-mix(in oklab,var(--theme-on-bg) 10%,transparent);color:var(--theme-on-bg);font-size:.77rem;font-weight:700;min-height:2rem;padding:.34rem .78rem;cursor:pointer}#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);border-radius:999px;background:var(--theme-button-secondary-bg);color:var(--theme-text-strong);cursor:pointer;font-size:max(var(--calendar-button-font-size),.82rem);font-weight:700;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;flex:0 0 auto;box-shadow:0 8px 18px color-mix(in oklab,var(--theme-shadow-color) 10%,transparent)}#app-view #calendar-view .btn-secondary:hover:not(:disabled){transform:translateY(-1px);background:var(--theme-button-secondary-bg-hover);box-shadow:0 10px 22px color-mix(in oklab,var(--theme-shadow-color) 14%,transparent)}#app-view #calendar-view .btn-secondary:disabled{opacity:.55;cursor:not-allowed}#app-view #calendar-view .flagged-class-list{width:100%;max-width:min(100%,clamp(56rem,84vw,74rem));display:flex;flex-wrap:wrap;gap:.55rem;margin:.95rem 0 .75rem}#app-view #calendar-view .flagged-class-pill{display:inline-flex;align-items:center;gap:.5rem;flex:0 1 auto;min-width:0;padding:.32rem .42rem .32rem .78rem;border-radius:999px;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)));box-shadow:inset 0 1px color-mix(in oklab,#ffffff 8%,transparent);color:var(--theme-on-bg);font-size:.78rem;font-weight:700}#app-view #calendar-view .flagged-class-pill>span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#app-view #calendar-view .flagged-class-pill strong{display:inline-flex;align-items:center;min-height:1.65rem;padding:.1rem .56rem;border-radius:999px;border:1px solid color-mix(in oklab,#fda4af 34%,transparent);background:color-mix(in oklab,#ef4444 18%,transparent);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:color-mix(in oklab,#fff5f5 92%,var(--theme-mix-base))}#app-view #calendar-view .flagged-class-pill.is-partial strong{border-color:color-mix(in oklab,#f59e0b 44%,transparent);background:color-mix(in oklab,#fbbf24 22%,transparent);color:color-mix(in oklab,#fff7ed 94%,var(--theme-mix-base))}#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{border-color:color-mix(in oklab,#fda4af 42%,transparent);background:color-mix(in oklab,#be123c 24%,transparent);color:#fff1f2}#app-view #calendar-view .calendar-add-modal-backdrop{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem;background:color-mix(in oklab,#000 52%,transparent)}#app-view #calendar-view .calendar-add-modal-dismiss-layer{position:absolute;inset:0;border:0;background:transparent;padding:0;cursor:default}#app-view #calendar-view .calendar-add-modal{position:relative;z-index:1;width:min(30rem,100%);padding:1.35rem;border-radius:1rem;border:1px solid var(--theme-border-strong);background:var(--theme-surface-primary);box-shadow:var(--theme-shadow-lg, 0 24px 60px rgba(0, 0, 0, .24))}#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{font-size:1.1rem;font-weight:800;color:var(--theme-text-strong)}#app-view #calendar-view .calendar-add-modal-body{margin-top:.55rem;font-size:.9rem;line-height:1.5;color:var(--theme-text-muted)}#app-view #calendar-view .calendar-google-mobile-card{margin-top:.95rem;padding:.9rem .95rem;border-radius:.9rem;border:1px solid color-mix(in oklab,#d48d28 34%,var(--theme-border-subtle));background:color-mix(in oklab,#f6cf78 15%,var(--theme-surface-inset))}#app-view #calendar-view .calendar-google-mobile-title{font-size:.9rem;font-weight:700;color:var(--theme-text-strong)}#app-view #calendar-view .calendar-google-mobile-body{margin-top:.3rem;font-size:.82rem;line-height:1.45;color:var(--theme-text-muted)}#app-view #calendar-view .calendar-add-modal-error{margin-top:.75rem;font-size:.82rem;color:#b42318}#app-view #calendar-view .calendar-add-modal-actions{display:grid;gap:.65rem;margin-top:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}#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{display:flex;align-items:center;gap:.4rem;margin-inline:0;width:-moz-fit-content;width:fit-content;background:var(--theme-button-secondary-bg);border:1px solid var(--theme-button-secondary-border);border-radius:.8rem;padding:.38rem .85rem;font-size:max(var(--calendar-filter-font-size, .83rem),.75rem);font-weight:600;color:var(--theme-text-muted);cursor:pointer;transition:color .15s,background .15s;line-height:1.2}#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 ease}#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);border-radius:999px;font-size:.7rem;font-weight:700;padding:.05rem .45rem;line-height:1.4;min-width:1.2rem;text-align:center}#app-view #calendar-view .class-filters{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:var(--calendar-filter-gap);width:100%;max-width:100%;margin-top:.4rem;margin-bottom:0;padding:var(--calendar-filters-padding);background:var(--theme-surface-inset);border:1px solid var(--theme-border-subtle);border-radius:.8rem;color:var(--theme-text-strong)}#app-view #calendar-view .filter-chip{display:inline-flex;align-items:center;gap:.42rem;padding:var(--calendar-filter-padding-y) var(--calendar-filter-padding-x);border-radius:999px;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);line-height:1.1;font-weight:700;color:var(--theme-text-strong);width:auto;max-width:100%;box-sizing:border-box}#app-view #calendar-view .filter-chip-text{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#app-view #calendar-view .filter-dot{width:.58rem;height:.58rem;border-radius:999px;display:inline-block}#app-view #calendar-view .calendar-mobile-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-bottom:.85rem}#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)) );border-radius:999px;background:var(--theme-surface-subtle, var(--theme-chip-bg));color:var(--theme-on-bg);font-size:.76rem;font-weight:800;letter-spacing:.03em;min-height:var(--mobile-tap-target);cursor:pointer}#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);border-radius:.58rem;font-size:max(var(--calendar-button-font-size),.95rem);line-height:1;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}#app-view #calendar-view .btn-text{min-height:max(var(--calendar-button-height),2.15rem);padding:.42rem max(var(--calendar-button-padding-x),.7rem);border-radius:.58rem;font-size:max(var(--calendar-button-font-size),.82rem);font-weight:700;flex:0 0 auto}#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);border-radius:999px;background:var(--theme-cta-bg);color:var(--theme-on-primary);cursor:pointer;font-size:max(var(--calendar-button-font-size),.82rem);font-weight:700;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;flex:0 0 auto;box-shadow:var(--theme-cta-shadow)}#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{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}#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{transform:translateY(-1px);box-shadow:0 7px 16px color-mix(in oklab,var(--theme-primary) 20%,transparent)}#app-view #calendar-view .calendar-month-wrap{display:grid!important;row-gap:calc(var(--calendar-month-gap) * .25);margin-top:0;width:-moz-fit-content;width:fit-content;max-width:100%;margin-inline:auto}#app-view #calendar-view .calendar-month-content{position:relative;width:min(100%,var(--calendar-grid-width));margin-inline:auto;overflow:visible;isolation:isolate}#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));justify-self:start;text-align:center}#app-view #calendar-view .month-year-display{display:inline-flex;align-items:center;gap:.5rem;font-size:var(--calendar-month-title-size);font-weight:800;letter-spacing:.01em}#app-view #calendar-view .calendar-grid{display:flex;flex-direction:column;gap:var(--calendar-grid-gap);width:min(100%,var(--calendar-grid-width));justify-content:flex-start;align-items:center}#app-view #calendar-view .calendar-grid-row{display:grid;grid-template-columns:repeat(7,minmax(0,var(--calendar-day-size)));gap:var(--calendar-grid-gap);width:min(100%,var(--calendar-grid-width))}#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{padding:.92rem;border:1px solid var(--theme-border-subtle);border-radius:.84rem;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);overflow:auto;box-shadow:0 26px 48px color-mix(in oklab,var(--theme-shadow-color) 18%,transparent)}#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{position:absolute;top:0;left:calc(100% + var(--calendar-day-panel-gap));margin-top:0;z-index:3;width:var(--calendar-day-panel-width)}#app-view #calendar-view .day-events-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;gap:.6rem}#app-view #calendar-view .day-events-header h3{margin:0}#app-view #calendar-view .day-events-meta{margin:.12rem 0 0;font-size:.8rem;opacity:.8}#app-view #calendar-view .day-events-list{display:grid;gap:.62rem}#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));padding:.68rem;border-radius:.54rem;display:grid;gap:.32rem}#app-view #calendar-view .day-event-item-top,#app-view #calendar-view .agenda-event-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem}#app-view #calendar-view .day-event-title{margin:0;font-size:.95rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:normal;line-height:1.3;min-width:0;flex:1}#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:transparent}#app-view #calendar-view .event-type-badge{display:inline-flex;align-items:center;gap:.28rem;font-size:.7rem;font-weight:800;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;padding:.18rem .45rem}#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{font-size:.82rem;opacity:.84;margin:0}#app-view #calendar-view .agenda-jump-row{display:flex;gap:.42rem;flex-wrap:wrap;margin-bottom:.72rem}#app-view #calendar-view .agenda-jump-btn{border:1px solid var(--theme-button-secondary-border);border-radius:999px;background:var(--theme-button-secondary-bg);color:var(--theme-text-body);padding:.42rem .75rem;font-size:.76rem;font-weight:800;cursor:pointer}#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{display:grid;gap:.7rem}#app-view #calendar-view .agenda-group{display:grid;gap:.5rem;border:1px solid var(--theme-border-subtle);border-radius:.72rem;background:var(--theme-surface-inset);padding:.62rem}#app-view #calendar-view .agenda-group-title{margin:0;font-size:.84rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase;opacity:.82}#app-view #calendar-view .agenda-event-card{display:grid;gap:.28rem;border:1px solid var( --theme-border-soft, color-mix(in oklab, var(--theme-primary) 14%, var(--theme-mix-base)) );border-radius:.62rem;background:var(--theme-surface-elevated, var(--theme-surface-1));padding:.58rem}#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{margin:0;font-size:.8rem;line-height:1.45;opacity:.9}#app-view #calendar-view .empty-state{color:var(--theme-text-muted);opacity:1}@media (max-width: 860px){#app-view #calendar-view .class-filters-wrapper{width:100%;max-width:100%}#app-view #calendar-view .class-filters{width:100%;max-width:100%;justify-content:flex-start}#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 (max-width: 768px){#app-view #calendar-view .calendar-header{min-height:0;padding-right:0;align-items:flex-start}#app-view #calendar-view .calendar-header-left{max-width:100%}#app-view #calendar-view .calendar-controls{position:static;transform:none;width:100%;margin-left:0;flex-wrap:wrap}#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{position:static;width:100%;max-height:none;overflow:visible}}#app-view #calendar-view #calendar-grid .calendar-day-header{height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 .32rem;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)) );border-radius:.52rem;font-size:var(--calendar-weekday-font-size);font-weight:800;text-transform:uppercase;letter-spacing:.055em}#app-view #calendar-view #calendar-grid .calendar-day{min-height:80px;height:100%;padding:var(--calendar-day-padding);border-radius:.7rem;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));display:flex;flex-direction:column;gap:.24rem;overflow:hidden;cursor:pointer;transition:border-color var(--theme-transition),transform var(--theme-transition),box-shadow var(--theme-transition)}#app-view #calendar-view #calendar-grid .calendar-day:hover{transform:translateY(-1px);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)}#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{border-style:dashed;background:transparent;cursor:default;opacity:.5}#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{display:flex;justify-content:space-between;align-items:center;gap:.25rem;flex:0 0 auto}#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:1 1 auto;min-height:0;overflow:hidden;margin-top:.28rem}#app-view #calendar-view #calendar-grid .day-events-preview--single,#app-view #calendar-view #calendar-grid .day-events-preview--stacked{display:grid;align-content:start;gap:.18rem}#app-view #calendar-view #calendar-grid .day-events-preview--dot-grid{display:flex;align-items:stretch}#app-view #calendar-view #calendar-grid .day-event-dot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:.28rem;width:100%;height:100%;align-items:stretch}#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{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;aspect-ratio:1 / 1;border-radius:.42rem}#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);background:transparent;opacity:.55}#app-view #calendar-view #calendar-grid .day-event-grid-dot{width:.62rem;height:.62rem;border-radius:999px;flex-shrink:0;background:var(--dot-color, var(--theme-event-other));box-shadow:0 0 0 2px color-mix(in oklab,var(--dot-color, var(--theme-event-other)) 24%,transparent)}#app-view #calendar-view #calendar-grid .day-event-chip{display:flex;align-items:center;gap:.34rem;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));border-radius:.42rem;padding:.2rem .28rem;min-width:0;min-height:1.4rem;line-height:1.15;width:100%;overflow:hidden;white-space:nowrap;flex-wrap:nowrap}#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);padding:.16rem .24rem;min-height:1.24rem}#app-view #calendar-view #calendar-grid .day-event-chip-title{font-size:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;font-weight:600}#app-view #calendar-view #calendar-grid .event-dot{width:7px;height:7px;border-radius:999px;flex-shrink:0;background:var(--dot-color, var(--theme-event-other))}@media (max-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 (max-width: 768px){#app-view #calendar-view .calendar-health-banner{flex-direction:column}#app-view #calendar-view .calendar-health-banner-actions{width:100%;justify-content:flex-start}#app-view #calendar-view .calendar-add-modal-actions{grid-template-columns:minmax(0,1fr)}#app-view #calendar-view #calendar-grid .calendar-day{padding:.3rem;border-radius:.6rem}#app-view #calendar-view #calendar-grid .day-number{font-size:.78rem}#app-view #calendar-view #calendar-grid .day-event-chip{font-size:.64rem;padding:.2rem .26rem}#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 (max-width: 640px){#app-view #calendar-view #calendar-grid .calendar-day-header{font-size:.66rem;padding:.46rem .2rem}}[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,color-mix(in oklab,#fff1f2 72%,white),#fff)}[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,#ffffff 12%,var(--theme-surface-elevated));border-color:color-mix(in oklab,#ffffff 18%,transparent);color:#fff}@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 (max-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{margin:0 0 .35rem;font-size:.9rem;font-weight:700;color:var(--theme-text-strong)}}.demo-chip[data-astro-cid-tbzsee2r]{font-size:.65rem;font-weight:700;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));padding:.2rem .5rem;border-radius:999px;margin-left:.5rem;vertical-align:middle}.demo-topbar-right[data-astro-cid-tbzsee2r]{display:flex;align-items:center;justify-content:flex-end;gap:.75rem}.demo-topbar-text[data-astro-cid-tbzsee2r]{font-size:.82rem;color:color-mix(in oklab,var(--theme-app-topbar-text, #f6fbff) 72%,transparent);margin:0}.demo-topbar-highlight[data-astro-cid-tbzsee2r]{font-weight:700}.demo-topbar-actions[data-astro-cid-tbzsee2r]{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.demo-topbar-actions[data-astro-cid-tbzsee2r] .topbar-link,.demo-topbar-actions[data-astro-cid-tbzsee2r] .topbar-btn{width:auto;min-height:unset;justify-content:center}.demo-shell[data-astro-cid-tbzsee2r]{position:relative;width:var(--app-view-stage-width);max-width:none;margin:0 auto;overflow:visible}.demo-shell[data-astro-cid-tbzsee2r].sb-trial-pulse:after{content:"";position:absolute;inset:-8px;border-radius:1.15rem;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;animation:sbTrialPulse .85s ease-out}@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-tbzsee2r]>#data-section[data-astro-cid-tbzsee2r]{width:100%;max-width:none;overflow:visible}.demo-shell[data-astro-cid-tbzsee2r]>#data-section[data-astro-cid-tbzsee2r]>#view-content[data-astro-cid-tbzsee2r]{position:relative;z-index:4}#app-view[data-astro-cid-tbzsee2r],#app-container[data-astro-cid-tbzsee2r],#workspace-section[data-astro-cid-tbzsee2r]{overflow:visible}.demo-info[data-astro-cid-tbzsee2r]{position:absolute;top:4.75rem;left:100%;width:280px;max-width:calc(100vw - 24px);z-index:3}.demo-info-panel[data-astro-cid-tbzsee2r]{border:1px solid var(--theme-border-subtle);background:var(--theme-surface-primary);border-radius:.9rem;padding:1rem 1rem 1.05rem;box-shadow:var(--theme-shadow-sm)}.demo-info-panel[data-astro-cid-tbzsee2r] h3[data-astro-cid-tbzsee2r]{margin:0 0 .55rem;font-size:1.02rem;line-height:1.1}.demo-info-panel[data-astro-cid-tbzsee2r] p[data-astro-cid-tbzsee2r]{margin:0 0 .85rem;font-size:.9rem;line-height:1.55;color:color-mix(in oklab,var(--theme-on-bg) 82%,var(--theme-mix-base))}.demo-info-list[data-astro-cid-tbzsee2r]{margin:0;padding:0;list-style:none;display:grid;gap:.55rem}.demo-info-list[data-astro-cid-tbzsee2r] li[data-astro-cid-tbzsee2r]{position:relative;padding-left:1rem;font-size:.9rem;line-height:1.45;color:color-mix(in oklab,var(--theme-on-bg) 88%,var(--theme-mix-base))}.demo-info-list[data-astro-cid-tbzsee2r] li[data-astro-cid-tbzsee2r]:before{content:"";position:absolute;left:0;top:.56em;width:.38rem;height:.38rem;border-radius:999px;background:color-mix(in oklab,var(--theme-primary) 78%,var(--theme-mix-base))}.demo-info-panel[data-astro-cid-tbzsee2r][hidden]{display:none!important}@media (max-width: 860px){.demo-shell[data-astro-cid-tbzsee2r]{width:100%}.demo-info[data-astro-cid-tbzsee2r]{position:static;width:100%;margin:1rem 0 0}}.feature-tabs[data-astro-cid-dc6gio5u]{margin:2.8rem auto 0}.feature-tabs--demo[data-astro-cid-dc6gio5u]{margin:2rem auto 0}.feature-header[data-astro-cid-dc6gio5u]{margin-bottom:1.2rem;text-align:center}.feature-header[data-astro-cid-dc6gio5u] h2[data-astro-cid-dc6gio5u]{font-size:1.35rem;margin-bottom:.2rem}.feature-header[data-astro-cid-dc6gio5u] p[data-astro-cid-dc6gio5u]{color:color-mix(in oklab,var(--theme-on-bg) 72%,var(--theme-mix-base));font-size:.9rem;margin:0}.demo-shell[data-astro-cid-dc6gio5u]{margin-top:.95rem;border-radius:1rem;border:1px solid var(--theme-border-subtle);overflow:hidden;background:var(--theme-surface-secondary);box-shadow:var(--theme-shadow-sm)}.demo-shell-topbar[data-astro-cid-dc6gio5u]{background:color-mix(in oklab,#0d3e73 92%,#08131d);padding:.85rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-bottom:1px solid rgba(255,255,255,.08)}.demo-shell-brand[data-astro-cid-dc6gio5u]{display:inline-flex;align-items:center;gap:.55rem;min-width:0}.demo-shell-brand-mark[data-astro-cid-dc6gio5u]{width:.9rem;height:.9rem;border-radius:50%;background:linear-gradient(135deg,#74bfff,#2dd4bf);box-shadow:0 0 0 2px #ffffff14;flex-shrink:0}.demo-shell-brand-name[data-astro-cid-dc6gio5u]{font-size:.88rem;font-weight:800;color:#fffffff2;letter-spacing:.01em}.demo-shell-chip[data-astro-cid-dc6gio5u]{font-size:.64rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#d9f4ff;background:#74bfff29;border:1px solid rgba(116,191,255,.3);padding:.18rem .45rem;border-radius:999px}.demo-shell-tabs[data-astro-cid-dc6gio5u]{display:inline-flex;align-items:center;gap:.4rem;flex-wrap:wrap}.demo-shell-tab[data-astro-cid-dc6gio5u]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.1);background:#ffffff0f;color:#ffffffc2;border-radius:999px;padding:.58rem .95rem;font-size:.77rem;font-weight:800;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)}.demo-shell-tab[data-astro-cid-dc6gio5u]:hover{background:#ffffff1a;color:#fffffff5}.demo-shell-tab[data-astro-cid-dc6gio5u].active{background:linear-gradient(135deg,#74bfff,#2dd4bf);color:#062235;border-color:transparent;box-shadow:0 10px 24px #2dd4bf2e}.demo-shell-window[data-astro-cid-dc6gio5u]{padding:1rem;display:grid;gap:1rem;background:var(--theme-surface-secondary)}.demo-shell-frame[data-astro-cid-dc6gio5u]{border-radius:.9rem;overflow:hidden;border:1px solid var(--theme-border-subtle);background:var(--theme-surface-primary);box-shadow:var(--theme-shadow-sm)}.founder-story[data-astro-cid-dc6gio5u]{margin:2.8rem auto 0;border:1px solid var(--theme-border-subtle);border-radius:1rem;background:var(--theme-surface-secondary);padding:1.4rem}.founder-story[data-astro-cid-dc6gio5u] h2[data-astro-cid-dc6gio5u]{font-size:1.35rem;margin-bottom:.75rem;max-width:36ch}.founder-story[data-astro-cid-dc6gio5u] p[data-astro-cid-dc6gio5u]{font-size:.9rem;line-height:1.65;color:color-mix(in oklab,var(--theme-on-bg) 82%,var(--theme-mix-base));max-width:70ch;margin-bottom:.7rem}.founder-story[data-astro-cid-dc6gio5u] p[data-astro-cid-dc6gio5u]:last-child{margin-bottom:0}.about-cta[data-astro-cid-dc6gio5u]{margin:2.8rem auto 0;border:1px solid color-mix(in oklab,var(--theme-primary) 32%,var(--theme-mix-base));border-radius:1rem;background:var(--theme-surface-highlight);padding:1.35rem;text-align:center}.about-cta[data-astro-cid-dc6gio5u] h2[data-astro-cid-dc6gio5u]{font-size:1.25rem;margin-bottom:.3rem}.about-cta[data-astro-cid-dc6gio5u] p[data-astro-cid-dc6gio5u]{margin-bottom:.85rem;color:color-mix(in oklab,var(--theme-on-bg) 78%,var(--theme-mix-base))}.cta-actions[data-astro-cid-dc6gio5u]{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:center}.demo-feature-view[data-astro-cid-dc6gio5u]{width:100%;display:flex;justify-content:center;min-width:0;overflow:visible}.demo-feature-grid[data-astro-cid-dc6gio5u]{width:100vw;margin-left:calc(50% - 50vw);overflow:visible}.demo-feature-view[data-astro-cid-dc6gio5u] .demo-shell{margin-top:0}@media (max-width: 768px){.feature-tabs[data-astro-cid-dc6gio5u],.feature-tabs--demo[data-astro-cid-dc6gio5u],.founder-story[data-astro-cid-dc6gio5u],.about-cta[data-astro-cid-dc6gio5u]{margin-top:1.1rem}.demo-shell-topbar[data-astro-cid-dc6gio5u]{padding:.8rem .85rem;align-items:stretch}.demo-shell-tabs[data-astro-cid-dc6gio5u]{width:100%;display:grid;grid-template-columns:1fr}.demo-shell-tab[data-astro-cid-dc6gio5u]{width:100%;justify-content:center}.demo-shell-window[data-astro-cid-dc6gio5u]{padding:.8rem}.demo-feature-grid[data-astro-cid-dc6gio5u]{margin-top:.95rem}.demo-feature-view[data-astro-cid-dc6gio5u] .demo-shell{width:100%}.cta-actions[data-astro-cid-dc6gio5u] .sb-btn{width:100%;justify-content:center}}.trial-widget.svelte-s2x3bn.svelte-s2x3bn{border:1px solid var(--theme-border-subtle);border-radius:1.2rem;background:var(--theme-surface-inset);box-shadow:var(--theme-shadow-sm);padding:1.5rem;margin:0 auto 1.5rem;max-width:960px;position:relative}.trial-widget-toggle.svelte-s2x3bn.svelte-s2x3bn{position:absolute;top:.95rem;right:.95rem;z-index:3;width:2.25rem;height:2.25rem;display:grid;place-items:center;border-radius:999px;border:1px solid var(--theme-border-subtle);background:var(--theme-surface-secondary);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)}.trial-widget-toggle.svelte-s2x3bn.svelte-s2x3bn: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-s2x3bn.svelte-s2x3bn{transition:transform var(--theme-transition)}.trial-widget.is-collapsed.svelte-s2x3bn .trial-widget-toggle-icon.svelte-s2x3bn{transform:rotate(-90deg)}.trial-heading-row.svelte-s2x3bn.svelte-s2x3bn{margin-bottom:1.1rem;padding-right:2.75rem}.trial-heading.svelte-s2x3bn.svelte-s2x3bn{color:var(--theme-text-strong, var(--theme-on-bg));font-size:1.45rem;font-weight:800;margin:0;line-height:1.2}.trial-subheading.svelte-s2x3bn.svelte-s2x3bn{font-size:.95rem;line-height:1.6;color:var(--theme-text-muted);margin:.45rem 0 0;max-width:72ch}.trial-quota.svelte-s2x3bn.svelte-s2x3bn{display:grid;gap:.15rem;margin:0 0 1rem;padding:.75rem .95rem;border:1px solid color-mix(in oklab,var(--theme-info) 50%,var(--theme-mix-base));border-radius:.7rem;background:var(--theme-info-bg);color:var(--theme-on-info)}.trial-quota--blocked.svelte-s2x3bn.svelte-s2x3bn{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-s2x3bn.svelte-s2x3bn,.trial-quota-body.svelte-s2x3bn.svelte-s2x3bn{margin:0}.trial-quota-title.svelte-s2x3bn.svelte-s2x3bn{font-size:.9rem;font-weight:800;color:inherit}.trial-quota-body.svelte-s2x3bn.svelte-s2x3bn{font-size:.85rem;line-height:1.45;color:inherit;opacity:.82;display:inline-flex;align-items:flex-start;gap:.45rem}.trial-quota-check.svelte-s2x3bn.svelte-s2x3bn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.05rem;opacity:.95}.trial-form.svelte-s2x3bn.svelte-s2x3bn{display:flex;flex-direction:column;gap:1rem}.trial-fields.svelte-s2x3bn.svelte-s2x3bn{display:grid;grid-template-columns:1fr;gap:1rem}.trial-field.svelte-s2x3bn.svelte-s2x3bn{display:flex;flex-direction:column;gap:.42rem}.trial-label.svelte-s2x3bn.svelte-s2x3bn{display:block;margin-bottom:.42rem;font-weight:700;font-size:.92rem;color:var(--theme-text-strong, var(--theme-on-bg))}.trial-input-wrap.svelte-s2x3bn.svelte-s2x3bn{position:relative}.trial-input.svelte-s2x3bn.svelte-s2x3bn{width:100%;height:2.85rem;padding:0 2.1rem 0 .9rem;border:1px solid var(--theme-button-secondary-border);border-radius:.8rem;background:color-mix(in oklab,var(--theme-surface-elevated) 88%,var(--theme-bg));color:var(--theme-text-strong, var(--theme-on-bg));font-size:.95rem;box-sizing:border-box;transition:border-color var(--theme-transition),box-shadow var(--theme-transition);outline:none}.trial-input-required.svelte-s2x3bn.svelte-s2x3bn{position:absolute;right:.85rem;top:50%;transform:translateY(-50%);color:var(--theme-error);font-weight:900;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;line-height:1}.trial-input.svelte-s2x3bn.svelte-s2x3bn: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-s2x3bn.svelte-s2x3bn{width:100%;padding:.72rem .8rem;border:1px solid var(--theme-button-secondary-border);border-radius:.8rem;font-size:.95rem;background:color-mix(in oklab,var(--theme-surface-elevated) 88%,var(--theme-bg));color:var(--theme-text-strong);transition:border-color var(--theme-transition),box-shadow var(--theme-transition);cursor:pointer;box-sizing:border-box}.trial-file-picker.form-control.svelte-s2x3bn.svelte-s2x3bn{color:var(--theme-text-strong)}.trial-file-picker.svelte-s2x3bn.svelte-s2x3bn:focus{outline:none;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-s2x3bn.svelte-s2x3bn:disabled,.trial-input.svelte-s2x3bn.svelte-s2x3bn:disabled{cursor:not-allowed;opacity:.68}.trial-file-help.svelte-s2x3bn.svelte-s2x3bn{display:block;margin-top:.3rem;color:var(--theme-text-muted);font-size:.82rem}.trial-file-clear-inline.svelte-s2x3bn.svelte-s2x3bn{align-self:flex-start;margin-top:.35rem;background:none;border:none;padding:0;font:inherit;color:var(--theme-text-muted);text-decoration:underline;text-decoration-color:transparent;cursor:pointer;transition:color var(--theme-transition),text-decoration-color var(--theme-transition),opacity var(--theme-transition)}.trial-file-clear-inline.svelte-s2x3bn.svelte-s2x3bn:hover{color:var(--theme-text-strong);text-decoration-color:currentColor}.trial-file-clear-inline.svelte-s2x3bn.svelte-s2x3bn:disabled{cursor:not-allowed;opacity:.6}.trial-error.svelte-s2x3bn.svelte-s2x3bn{padding:.85rem .95rem;background:var(--theme-error-bg);color:var(--theme-on-error);border-radius:.7rem;border:1px solid color-mix(in oklab,var(--theme-error) 50%,var(--theme-mix-base));font-size:.9rem;margin:0;display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}.trial-error-link.svelte-s2x3bn.svelte-s2x3bn{font-weight:700;color:inherit;text-decoration:underline;background:none;border:none;padding:0;cursor:pointer;font-size:inherit}.trial-form-footer.svelte-s2x3bn.svelte-s2x3bn{display:flex;flex-direction:column;align-items:stretch;gap:.7rem}.trial-btn.svelte-s2x3bn.svelte-s2x3bn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;min-height:2.85rem;padding:.85rem 1rem;border-radius:999px;font-size:.95rem;font-weight:800;letter-spacing:.02em;border:1px solid color-mix(in oklab,var(--theme-primary) 38%,transparent);cursor:pointer;text-decoration:none;transition:transform var(--theme-transition),box-shadow var(--theme-transition),background var(--theme-transition),opacity var(--theme-transition);white-space:nowrap}.trial-btn--primary.svelte-s2x3bn.svelte-s2x3bn{background:var(--theme-cta-bg);color:var(--theme-on-primary, #fff);box-shadow:var(--theme-cta-shadow)}.trial-btn--primary.svelte-s2x3bn.svelte-s2x3bn:disabled{opacity:.68;cursor:not-allowed;transform:none;box-shadow:none}.trial-btn--primary.svelte-s2x3bn.svelte-s2x3bn:not(:disabled):hover{transform:translateY(-1px);background:var(--theme-cta-bg-hover);box-shadow:0 20px 34px color-mix(in oklab,var(--theme-primary) 28%,transparent)}.trial-btn--cta.svelte-s2x3bn.svelte-s2x3bn{height:auto;margin-top:.85rem;font-size:.9rem}.trial-hint.svelte-s2x3bn.svelte-s2x3bn{font-size:.82rem;color:var(--theme-text-muted);margin:0;line-height:1.5;text-align:center}.trial-spinner.svelte-s2x3bn.svelte-s2x3bn{display:inline-block;width:.9rem;height:.9rem;border:2px solid rgba(255,255,255,.35);border-top-color:#ffffffe6;border-radius:50%;animation:svelte-s2x3bn-spin .65s linear infinite;flex-shrink:0}@keyframes svelte-s2x3bn-spin{to{transform:rotate(360deg)}}.trial-success.svelte-s2x3bn.svelte-s2x3bn{display:flex;align-items:flex-start;gap:.9rem;padding:.1rem 0}.trial-success-icon.svelte-s2x3bn.svelte-s2x3bn{flex-shrink:0;width:2.2rem;height:2.2rem;border-radius:50%;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);display:flex;align-items:center;justify-content:center;color:var(--theme-primary);margin-top:.1rem}.trial-success-body.svelte-s2x3bn.svelte-s2x3bn{min-width:0}.trial-success-heading.svelte-s2x3bn.svelte-s2x3bn{color:var(--theme-text-strong, var(--theme-on-bg));font-size:1.08rem;font-weight:800;margin:0 0 .3rem}.trial-success-detail.svelte-s2x3bn.svelte-s2x3bn{font-size:.92rem;color:var(--theme-text-muted);margin:0;line-height:1.55}.trial-turnstile.svelte-s2x3bn.svelte-s2x3bn{position:absolute;left:-9999px;top:0;width:300px;height:65px;overflow:hidden}.trial-turnstile--visible.svelte-s2x3bn.svelte-s2x3bn{position:relative;left:auto;top:auto;width:100%;height:auto;margin:.5rem 0 0}.trial-turnstile-prompt.svelte-s2x3bn.svelte-s2x3bn{margin:.5rem 0 .6rem;font-size:.85rem;color:var(--theme-text-muted)}@media (max-width: 640px){.trial-widget.svelte-s2x3bn.svelte-s2x3bn{padding:1rem 1rem 1.1rem;border-radius:.95rem}.trial-heading.svelte-s2x3bn.svelte-s2x3bn{font-size:1.25rem}.trial-subheading.svelte-s2x3bn.svelte-s2x3bn{font-size:.9rem}}.demo-page-upload[data-astro-cid-prwxh6m4]{max-width:960px;margin:1.5rem auto 0;padding:0 1rem}@media (max-width: 640px){.demo-page-upload[data-astro-cid-prwxh6m4]{padding:0 .75rem;margin-top:1rem}}
