@keyframes pulse-subtle{0%,to{box-shadow:0 0 #22d3ee66}50%{box-shadow:0 0 0 4px #22d3ee33}}.training-matrix-container{container:training-matrix/inline-size}.training-matrix-geometry{--matrix-coverage-width:0px;--matrix-leading-width:96px;--matrix-member-width:96px;--matrix-select-width:0px;--matrix-training-width:140px}.training-matrix-geometry-manage{--matrix-leading-width:140px;--matrix-select-width:44px}.training-matrix-scroll-region{scrollbar-gutter:stable}.training-matrix-mobile-list{overflow-wrap:anywhere}.training-matrix-mobile-list select{text-overflow:ellipsis;max-width:100%}.training-matrix-pagination{flex-direction:column;align-items:stretch;gap:.25rem;padding-block:.25rem}.training-matrix-frozen-cell{padding-inline:.5rem}.training-matrix-member-avatar,.training-matrix-coverage-cell,.training-matrix-coverage-col{display:none}.training-matrix-member-boundary{box-shadow:6px 0 8px -7px #0f172a73}.training-matrix-coverage-boundary{box-shadow:none}.training-matrix-with-bulk-tray{padding-bottom:calc(var(--matrix-bulk-tray-height,0px) + max(2rem, calc(env(safe-area-inset-bottom) + 1rem)))}@container training-matrix (min-width:28rem){.training-matrix-geometry{--matrix-leading-width:128px;--matrix-member-width:128px;--matrix-training-width:180px}.training-matrix-geometry-manage{--matrix-leading-width:172px}}@container training-matrix (min-width:36rem){.training-matrix-geometry{--matrix-coverage-width:72px;--matrix-leading-width:160px;--matrix-member-width:160px;--matrix-training-width:208px}.training-matrix-geometry-manage{--matrix-leading-width:204px;--matrix-select-width:44px}.training-matrix-coverage-cell{display:table-cell}.training-matrix-coverage-col{display:table-column}.training-matrix-member-boundary{box-shadow:none}.training-matrix-coverage-boundary{box-shadow:6px 0 8px -7px #0f172a73}.training-matrix-frozen-cell{padding-inline:.75rem}.training-matrix-member-avatar{display:flex}}@container training-matrix (min-width:45rem){.training-matrix-geometry{--matrix-leading-width:192px;--matrix-member-width:192px}.training-matrix-geometry-manage{--matrix-leading-width:236px}.training-matrix-pagination{flex-direction:row;justify-content:space-between;align-items:center;column-gap:1rem;padding-block:0}}@media (min-width:48rem){.training-matrix-with-bulk-tray{padding-bottom:0}}.animate-pulse-subtle{animation:2s ease-in-out infinite pulse-subtle}@keyframes lesson-skeleton-sheen{0%{background-position:-100% 0}to{background-position:200% 0}}.lesson-skeleton{background-color:var(--accent);animation:2.4s cubic-bezier(.4,.1,.3,1) infinite lesson-skeleton-sheen;animation-delay:var(--lesson-skeleton-delay,0s);background-image:linear-gradient(105deg,#fcfaf300 0%,#fcfaf38c 50%,#fcfaf300 100%);background-image:linear-gradient(105deg,lab(98.3154% -.123858 3.82112/0) 0%,lab(98.3154% -.123858 3.82112/.55) 50%,lab(98.3154% -.123858 3.82112/0) 100%);background-repeat:no-repeat;background-size:100% 100%}.dark .lesson-skeleton,.academy-dash[data-reading-theme=night] .lesson-skeleton{background-image:linear-gradient(105deg,#fff0 0%,#ffffff0f 50%,#fff0 100%);background-image:linear-gradient(105deg,lab(100% 0 0/0) 0%,lab(100% 0 0/.06) 50%,lab(100% 0 0/0) 100%)}@media (prefers-reduced-motion:reduce){.lesson-skeleton{background-image:none;animation:none}}@layer components{.app-page-title{font-family:var(--font-serif), Georgia, "Times New Roman", serif;letter-spacing:-.02em;color:var(--ink-base);font-size:28px;font-weight:700;line-height:1.2}.app-section-header{font-family:var(--font-geist-sans), system-ui, sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);font-size:11px;font-weight:600;line-height:1.3}.app-card-title{font-family:var(--font-serif), Georgia, "Times New Roman", serif;letter-spacing:-.01em;color:var(--ink-base);font-size:18px;font-weight:600;line-height:1.3}.app-subsection-title{font-family:var(--font-geist-sans), system-ui, sans-serif;color:var(--ink-base);font-size:15px;font-weight:600;line-height:1.4}.app-body{font-family:var(--font-geist-sans), system-ui, sans-serif;color:var(--ink-base);font-size:14px;font-weight:400;line-height:1.5}.app-secondary{font-family:var(--font-geist-sans), system-ui, sans-serif;color:var(--ink-muted);font-size:13px;font-weight:400;line-height:1.4}.app-caption{font-family:var(--font-geist-sans), system-ui, sans-serif;color:var(--ink-soft);font-size:12px;font-weight:400;line-height:1.4}.app-label{font-family:var(--font-geist-sans), system-ui, sans-serif;letter-spacing:.02em;color:var(--ink-soft);font-size:11px;font-weight:500;line-height:1.3}.app-badge-text{font-family:var(--font-geist-sans), system-ui, sans-serif;letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:600;line-height:1.2}.app-metric-value{font-family:var(--font-geist-sans), system-ui, sans-serif;letter-spacing:-.02em;color:var(--ink-base);font-size:32px;font-weight:600;line-height:1}.app-metric-small{font-family:var(--font-geist-sans), system-ui, sans-serif;letter-spacing:-.01em;color:var(--ink-base);font-size:24px;font-weight:600;line-height:1}.app-code{font-family:var(--font-geist-mono), "SF Mono", Monaco, monospace;color:var(--ink-muted);font-size:12px;font-weight:400;line-height:1.4}.dark .app-page-title,.dark .app-card-title,.dark .app-subsection-title,.dark .app-body,.dark .app-metric-value,.dark .app-metric-small{color:#f6ece5;color:lab(94.1716% 2.54703 5.00512)}.dark .app-secondary,.dark .app-section-header{color:#b5aca5;color:lab(70.9708% 2.56237 5.01561)}.dark .app-caption,.dark .app-label,.dark .app-code{color:#968d86;color:lab(59.3703% 2.57352 5.02343)}.app-interactive{transition:background-color var(--duration-fast) var(--ease-in-out-smooth), border-color var(--duration-fast) var(--ease-in-out-smooth), color var(--duration-fast) var(--ease-in-out-smooth), transform var(--duration-fast) var(--ease-in-out-smooth), box-shadow var(--duration-fast) var(--ease-in-out-smooth)}.app-hover-lift{transition:transform var(--duration-normal) var(--ease-out-expo), box-shadow var(--duration-normal) var(--ease-in-out-smooth)}.app-hover-lift:hover{transform:translateY(-2px)}.app-press-scale{transition:transform var(--duration-instant) ease}.app-press-scale:active{transform:scale(.98)}.app-focus-ring:focus-visible{box-shadow:0 0 0 2px var(--app-elevated), 0 0 0 4px var(--focus-ring);outline:none}.app-card-interactive{transition:transform var(--duration-normal) var(--ease-out-expo), box-shadow var(--duration-normal) var(--ease-in-out-smooth), border-color var(--duration-fast) var(--ease-in-out-smooth)}.app-card-interactive:hover{border-color:var(--app-border-emphasis);transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.app-interactive,.app-hover-lift,.app-press-scale,.app-card-interactive{transition:none}.app-hover-lift:hover,.app-card-interactive:hover,.app-press-scale:active{transform:none}}.app-card{background:var(--app-elevated);border:1px solid var(--app-border);transition:all var(--duration-normal) var(--ease-in-out-smooth);border-radius:16px;position:relative}.app-card-shadow{box-shadow:0 1px 2px #362c2408,0 4px 12px #362c240a;box-shadow:0 1px 2px lab(18.7497% 3.63408 6.86861/.03),0 4px 12px lab(18.7497% 3.63408 6.86861/.04)}.app-card-shadow-hover:hover{border-color:var(--app-border-emphasis);box-shadow:0 4px 8px #362c240d,0 12px 32px #362c2414;box-shadow:0 4px 8px lab(18.7497% 3.63408 6.86861/.05),0 12px 32px lab(18.7497% 3.63408 6.86861/.08)}.app-card-hero{border:1px solid var(--app-border);background:linear-gradient(135deg,#fcf8f1 0%,#f9f0e8 100%);background:linear-gradient(135deg,lab(97.7087% .579834 3.77247) 0%,lab(95.3491% 2.15563 5.23369) 100%);border-radius:20px;padding:32px;position:relative;overflow:hidden}.app-card-hero:after{content:"";pointer-events:none;background:radial-gradient(#01686914 0%,#0000 70%);background:radial-gradient(lab(39.3657% -26.1742 -7.85878/.08) 0%,#0000 70%);width:50%;height:180%;position:absolute;top:-40%;right:-15%}.dark .app-card-hero{background:linear-gradient(135deg,#15110d 0%,#100a05 100%);background:linear-gradient(135deg,lab(5.25001% 1.38035 2.33883) 0%,lab(3.03413% 1.33584 2.39598) 100%)}.dark .app-card-hero:after{background:radial-gradient(#0168691f 0%,#0000 70%);background:radial-gradient(lab(39.3657% -26.1742 -7.85878/.12) 0%,#0000 70%)}.app-card-primary{background:var(--app-elevated);border:1px solid var(--app-border);transition:all var(--duration-normal) var(--ease-in-out-smooth);border-radius:16px;position:relative;overflow:hidden}.app-card-primary:before{content:"";width:var(--progress,0%);background:var(--ink-teal);height:3px;transition:width .5s var(--ease-in-out-smooth);position:absolute;top:0;left:0}.app-card-primary[data-completed=true]:before{background:var(--ink-gold);width:100%}.app-card-primary:hover{border-color:var(--app-border-emphasis);transform:translateY(-2px);box-shadow:0 4px 8px #362c240d,0 12px 32px #362c2414;box-shadow:0 4px 8px lab(18.7497% 3.63408 6.86861/.05),0 12px 32px lab(18.7497% 3.63408 6.86861/.08)}.app-card-metric{background:var(--app-elevated);border:1px solid var(--app-border);transition:all var(--duration-fast) var(--ease-in-out-smooth);border-radius:12px;padding:20px;position:relative}.app-card-metric:hover{border-color:var(--app-border-emphasis)}.app-card-metric-accent{border-left:4px solid var(--ink-teal)}.app-card-list-item{background:var(--app-elevated);border:none;border-bottom:1px solid var(--app-border-subtle);transition:background-color var(--duration-fast) var(--ease-in-out-smooth);border-radius:0;padding:16px}.app-card-list-item:last-child{border-bottom:none}.app-card-list-item:hover{background:#faf8f5;background:lab(97.6872% .340313 1.47665)}.dark .app-card-list-item:hover{background:#181513;background:lab(7.21478% .980265 1.78905)}.app-card-action{background:oklch(from var(--ink-teal) l c h / .05);border:2px dashed oklch(from var(--ink-teal) l c h / .3);transition:all var(--duration-fast) var(--ease-in-out-smooth);border-radius:16px;padding:24px;position:relative}.app-card-action:hover{border-color:oklch(from var(--ink-teal) l c h / .5);background:oklch(from var(--ink-teal) l c h / .08)}.dark .app-card,.dark .app-card-primary,.dark .app-card-metric{background:#151210;background:lab(5.70927% .842206 1.5261);border-color:#28231f;border-color:lab(14.1383% 1.75224 3.37649)}.dark .app-card-shadow{box-shadow:0 1px 2px #0003,0 4px 12px #0000004d;box-shadow:0 1px 2px lab(0% 0 0/.2),0 4px 12px lab(0% 0 0/.3)}.dark .app-card-shadow-hover:hover,.dark .app-card-primary:hover{border-color:#39312b;border-color:lab(21.0859% 2.65788 5.08901);box-shadow:0 4px 8px #00000040,0 12px 32px #00000059;box-shadow:0 4px 8px lab(0% 0 0/.25),0 12px 32px lab(0% 0 0/.35)}.app-progress-track{background:var(--progress-track);border-radius:3px;height:6px;overflow:hidden}.app-progress-track-thin{border-radius:1.5px;height:3px}.app-progress-track-thick{border-radius:4px;height:8px}.app-progress-fill{background:var(--progress-fill);border-radius:inherit;height:100%;transition:width .5s var(--ease-in-out-smooth)}.app-progress-fill[data-complete=true]{background:linear-gradient(90deg, var(--ink-gold) 0%, #fab36d 100%)}@supports (color:lab(0% 0 0)){.app-progress-fill[data-complete=true]{background:linear-gradient(90deg, var(--ink-gold) 0%, lab(78.8294% 20.9679 46.3774) 100%)}}.app-status-badge{font-family:var(--font-geist-sans), system-ui, sans-serif;letter-spacing:.04em;text-transform:uppercase;border-radius:9999px;align-items:center;gap:6px;padding:4px 10px;font-size:10px;font-weight:600;display:inline-flex}.app-status-success{background:var(--status-success-subtle);color:var(--status-success)}.app-status-warning{background:var(--status-warning-subtle);color:var(--status-warning)}.app-status-error{background:var(--status-error-subtle);color:var(--status-error)}.app-status-info{background:var(--status-info-subtle);color:var(--status-info)}.app-badge-free{background:oklch(from var(--ink-teal) l c h / .1);color:var(--ink-teal)}.app-badge-pro{background:oklch(from var(--ink-gold) l c h / .1);color:var(--ink-gold)}.app-badge-admin{background:oklch(from var(--ink-oxblood) l c h / .1);color:var(--ink-oxblood)}.app-achievement-gold{color:#503315;color:lab(24.4365% 10.7967 23.9926);background:linear-gradient(135deg,#ffead7 0%,#facf9e 100%);background:linear-gradient(135deg,lab(94.1567% 6.02126 14.1595) 0%,lab(86.0299% 10.9038 30.3836) 100%);border:1px solid #f3c497;border:1px solid lab(82.4587% 13.0504 29.3573)}.app-achievement-silver{color:#414853;color:lab(30.3224% -.794604 -7.35166);background:linear-gradient(135deg,#ebeff5 0%,#d6dfec 100%);background:linear-gradient(135deg,lab(94.1679% -.518382 -3.73511) 0%,lab(88.3319% -.966102 -7.43206) 100%);border:1px solid #c6cedb;border:1px solid lab(82.5314% -.958145 -7.42798)}.app-achievement-bronze{color:#623e29;color:lab(30.0744% 14.4561 19.3627);background:linear-gradient(135deg,#f5d7c7 0%,#efc3ab 100%);background:linear-gradient(135deg,lab(88.222% 8.92699 11.99) 0%,lab(82.3181% 13.6741 18.2468) 100%);border:1px solid #deb39c;border:1px solid lab(76.5157% 13.7206 18.295)}.app-completed-indicator{background:var(--status-success-subtle);color:var(--status-success);border-radius:9999px;align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.dashboard-shell-app{background:var(--app-shell);min-height:100vh}.academic-sidebar{background:var(--app-sidebar);border-right:1px solid var(--app-border);width:260px;height:100vh;box-shadow:1px 0 0 var(--app-border-subtle), 4px 0 24px -8px #362c240f;flex-direction:column;display:flex}@supports (color:lab(0% 0 0)){.academic-sidebar{box-shadow:1px 0 0 var(--app-border-subtle), 4px 0 24px -8px lab(18.7497% 3.63408 6.86861/.06)}}.academic-nav-section{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);padding:20px 16px 8px;font-size:10px;font-weight:600}.academic-nav-item{color:var(--ink-muted);cursor:pointer;border-radius:8px;align-items:center;gap:12px;margin:2px 8px;padding:10px 16px;font-size:14px;font-weight:500;transition:all .15s;display:flex}.academic-nav-item:hover{background:var(--app-sidebar-hover);color:var(--ink-base)}.academic-nav-item[data-active=true]{background:var(--ink-teal);color:#fff;box-shadow:0 2px 8px #01686940;box-shadow:0 2px 8px lab(39.3657% -26.1742 -7.85878/.25)}.premium-course-card{background:var(--app-elevated);border:1px solid var(--app-border);border-radius:16px;flex-direction:column;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #362c2408,0 4px 12px #362c240a;box-shadow:0 1px 2px lab(18.7497% 3.63408 6.86861/.03),0 4px 12px lab(18.7497% 3.63408 6.86861/.04)}.premium-course-card:hover{border-color:var(--app-border-emphasis);transform:translateY(-2px);box-shadow:0 4px 8px #362c240d,0 12px 32px #362c2414;box-shadow:0 4px 8px lab(18.7497% 3.63408 6.86861/.05),0 12px 32px lab(18.7497% 3.63408 6.86861/.08)}.dashboard-hero-card{border:1px solid var(--app-border);background:linear-gradient(135deg,#fcf8f1 0%,#f9f0e8 100%);background:linear-gradient(135deg,lab(97.7087% .579834 3.77247) 0%,lab(95.3491% 2.15563 5.23369) 100%);border-radius:20px;padding:32px;position:relative;overflow:hidden}.dark .dashboard-hero-card{background:linear-gradient(135deg,#15110d 0%,#120c07 100%);background:linear-gradient(135deg,lab(5.25001% 1.38035 2.33883) 0%,lab(3.68412% 1.50356 2.74891) 100%)}.dashboard-hero-card:after{content:"";pointer-events:none;background:radial-gradient(#01686914 0%,#0000 70%);background:radial-gradient(lab(39.3657% -26.1742 -7.85878/.08) 0%,#0000 70%);width:50%;height:180%;position:absolute;top:-40%;right:-15%}.metric-card{background:var(--app-elevated);border:1px solid var(--app-border);border-radius:12px;padding:20px}.metric-card-value{font-family:var(--font-geist-sans), system-ui, sans-serif;color:var(--ink-base);letter-spacing:-.02em;font-size:32px;font-weight:600;line-height:1}.metric-card-label{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:8px;font-size:12px;font-weight:500}.progress-bar{background:var(--progress-track);border-radius:3px;height:6px;overflow:hidden}.progress-bar-fill{background:var(--progress-fill);border-radius:3px;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.progress-bar-fill[data-complete=true]{background:linear-gradient(90deg, var(--ink-gold) 0%, #fab36d 100%)}@supports (color:lab(0% 0 0)){.progress-bar-fill[data-complete=true]{background:linear-gradient(90deg, var(--ink-gold) 0%, lab(78.8294% 20.9679 46.3774) 100%)}}.premium-input{width:100%;color:var(--ink-base);background:var(--app-elevated);border:1px solid var(--app-border);border-radius:8px;padding:10px 14px;font-size:14px;transition:all .15s}.premium-input::placeholder{color:var(--ink-soft)}.premium-input:hover:not(:focus):not(:disabled){border-color:var(--app-border-emphasis)}.premium-input:focus{border-color:var(--ink-teal);outline:none;box-shadow:0 0 0 3px #0168691f;box-shadow:0 0 0 3px lab(39.3657% -26.1742 -7.85878/.12)}.academic-table{border-collapse:separate;border-spacing:0;width:100%}.academic-table th{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);text-align:left;border-bottom:2px solid var(--app-border);background:#f9f6f3;background:lab(97.103% .567943 1.79802);padding:12px 16px;font-size:10px;font-weight:600}.dark .academic-table th{background:#0f0d0b;background:lab(3.69215% .635333 1.13429)}.academic-table td{color:var(--ink-base);border-bottom:1px solid var(--app-border-subtle);background:var(--app-elevated);padding:14px 16px;font-size:14px}.academic-table tbody tr{transition:background-color .15s}.academic-table tbody tr:hover td{background:#faf8f5;background:lab(97.6872% .340313 1.47665)}.dark .academic-table tbody tr:hover td{background:#181513;background:lab(7.21478% .980265 1.78905)}.focus-ring{box-shadow:0 0 0 2px var(--app-elevated), 0 0 0 4px var(--focus-ring);outline:none}.liftable-card{transition:transform var(--duration-normal) var(--ease-out-expo), box-shadow var(--duration-normal) var(--ease-smooth)}.liftable-card:hover{transform:translateY(-2px)}.pressable-button{transition:transform var(--duration-instant) ease}.pressable-button:active{transform:scale(.98)}}@layer utilities{.dashboard-measure-x{padding-inline:calc(max(0px, (100% - var(--dashboard-measure)) / 2) + 1rem)}@media (min-width:48rem){.dashboard-measure-x{padding-inline:calc(max(0px, (100% - var(--dashboard-measure)) / 2) + 2rem)}}.academic-sidebar{background:var(--academic-cream);border-right:1px solid var(--academic-border);box-shadow:4px 0 24px -8px #211d190f}.dark .academic-sidebar{background:#181b24fa;border-right:1px solid #94a3b833;box-shadow:4px 0 24px -8px #00000040}.academic-nav-section-label{letter-spacing:.32em;text-transform:uppercase;color:#776850bd;font-size:.65rem}.academic-nav-section-label-collapsed{letter-spacing:.22em;text-align:center}.dark .academic-nav-section-label{color:#e5e7eb94}.academic-nav-item{color:#4e4331e0;border-radius:.75rem;align-items:center;gap:.625rem;padding:.4rem .75rem;transition:all .25s;display:flex;position:relative}.academic-nav-item-collapsed{flex-direction:column;gap:.25rem;padding:.5rem}.academic-nav-item-active{background:oklch(from var(--ink-teal) l c h / .1);border:1px solid oklch(from var(--ink-teal) l c h / .22);box-shadow:0 12px 24px -16px oklch(from var(--ink-teal) l c h / .25);color:var(--ink-base)}.academic-nav-item-collapsed.academic-nav-item-active{background:oklch(from var(--ink-teal) l c h / .12);border:1px solid oklch(from var(--ink-teal) l c h / .25)}.dark .academic-nav-item{color:#e6e8ecb3}.dark .academic-nav-item-active{background:oklch(from var(--ink-teal) l c h / .15);border:1px solid oklch(from var(--ink-teal) l c h / .3);color:#fffffff0}.dark .academic-nav-item-collapsed.academic-nav-item-active{background:oklch(from var(--ink-teal) l c h / .18);border:1px solid oklch(from var(--ink-teal) l c h / .35)}.academic-nav-item-inactive{color:#60523cc7}.dark .academic-nav-item-inactive{color:#e7e8ec94}.academic-nav-item-inactive:hover{color:var(--ink-base);background:oklch(from var(--ink-teal) l c h / .06)}.dark .academic-nav-item-inactive:hover{color:#ffffffeb;background:oklch(from var(--ink-teal) l c h / .1)}.academic-nav-icon{color:#523f24db;background:#f9f4e6eb;border:1px solid #c4b28f8c;border-radius:9999px;justify-content:center;align-items:center;transition:all .25s;display:inline-flex;box-shadow:inset 0 1px #ffffffe6}.academic-nav-icon svg{width:.95rem;height:.95rem}.academic-nav-icon-inactive{color:inherit}.academic-nav-icon-active{background:var(--ink-teal);border-color:var(--ink-teal);color:#fff;box-shadow:0 8px 20px -12px oklch(from var(--ink-teal) l c h / .5)}.dark .academic-nav-icon{color:#e2e8f0d1;background:#1e232dd1;border-color:#94a3b859;box-shadow:inset 0 1px #ffffff14}.dark .academic-nav-icon-active{background:var(--ink-teal);border-color:var(--ink-teal);color:#fff}.academic-nav-item:hover .academic-nav-icon-inactive{border-color:oklch(from var(--ink-teal) l c h / .4);color:var(--ink-base)}.dark .academic-nav-item:hover .academic-nav-icon-inactive{color:#ffffffeb;border-color:oklch(from var(--ink-teal) l c h / .45)}.dashboard-shell-app{background:linear-gradient(#faf8f5f7 0%,#f7f4eefa 100%);min-height:100svh}.dark .dashboard-shell-app{background:linear-gradient(#0f121cfc 0%,#0c0f18fc 100%)}.dashboard-shell{background:linear-gradient(#faf8f5f7 0%,#f7f4eefa 100%);min-height:100svh}.dark .dashboard-shell{background:linear-gradient(#0f121cfc 0%,#0c0f18fc 100%)}.premium-hero-card{background:linear-gradient(135deg,#fffffffa 0%,#faf8f5f2 100%);border:1px solid #2f6c7326;border-radius:1rem;position:relative;overflow:hidden;box-shadow:0 1px 2px #0000000a,0 4px 12px #2f6c730f,0 16px 32px -8px #2f6c7314}.dark .premium-hero-card{background:linear-gradient(135deg,#1e212afa 0%,#181b24f2 100%);border:1px solid #94a3b81f;box-shadow:0 1px 2px #0000001a,0 4px 12px #00000026,0 16px 32px -8px #0003}.premium-metric-card{background:#fff9;border:1px solid #2f6c7314;border-radius:.75rem;padding:1rem;transition:all .2s;position:relative}.premium-metric-card:hover{background:#ffffffe6;border-color:#2f6c7326}.premium-metric-card-accent{background:#2f6c730a;border-color:#2f6c731f}.premium-metric-card-accent:hover{background:#2f6c7314;border-color:#2f6c7333}.dark .premium-metric-card{background:#ffffff08;border:1px solid #94a3b814}.dark .premium-metric-card:hover{background:#ffffff0f;border-color:#94a3b826}.dark .premium-metric-card-accent{background:#2f6c7314;border-color:#2f6c7333}.dashboard-card{background:linear-gradient(#fffffffa 0%,#fcfaf7f2 100%);border:1px solid #2f6c731a;border-radius:1rem;position:relative;box-shadow:0 1px 2px #00000008,0 4px 8px #2f6c730a,0 8px 16px -4px #2f6c730f}.dark .dashboard-card{background:linear-gradient(#1c1f28fa 0%,#181b24f2 100%);border:1px solid #94a3b81a;box-shadow:0 1px 2px #0000001a,0 4px 8px #0000001f,0 8px 16px -4px #00000026}.dashboard-card-padding{padding:1.5rem}@media (min-width:768px){.dashboard-card-padding{padding:1.75rem}}.dashboard-course-card{background:#fff;border:1px solid #2f6c731a;border-radius:.875rem;transition:all .25s;position:relative;overflow:hidden;box-shadow:0 1px 2px #00000005,0 2px 4px #2f6c7308}.dashboard-course-card:before{content:"";background:linear-gradient(180deg, var(--ink-teal) 0%, #2f6c7399 100%);opacity:0;width:3px;height:100%;transition:opacity .25s;position:absolute;top:0;left:0}.dashboard-course-card:hover{border-color:#2f6c7333;transform:translateY(-1px);box-shadow:0 2px 4px #00000008,0 4px 8px #2f6c730f,0 8px 16px -4px #2f6c7314}.dashboard-course-card:hover:before{opacity:1}.dark .dashboard-course-card{background:#1c1f28f2;border:1px solid #94a3b81a;box-shadow:0 1px 2px #0000001a,0 2px 4px #00000014}.dark .dashboard-course-card:hover{border-color:#2f6c734d;box-shadow:0 2px 4px #00000026,0 4px 8px #0000001f,0 8px 16px -4px #00000026}.premium-section-card{background:linear-gradient(#fffffffc 0%,#fcfaf7fa 100%);border:1px solid #2f6c731f;border-radius:1rem;position:relative;overflow:hidden;box-shadow:0 1px 2px #00000008,0 4px 12px #2f6c730d,0 12px 24px -6px #2f6c7314}.dark .premium-section-card{background:linear-gradient(#1c1f28fc 0%,#181b24fa 100%);border:1px solid #94a3b81a;box-shadow:0 1px 2px #0000001a,0 4px 12px #00000026,0 12px 24px -6px #0003}.premium-course-card{background:#fff;border:1px solid #2f6c731f;border-radius:.875rem;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 1px 2px #00000005,0 2px 6px #2f6c730a,0 6px 12px -3px #2f6c730f}.premium-course-card:hover{border-color:#2f6c7333;transform:translateY(-2px);box-shadow:0 2px 4px #00000008,0 6px 12px #2f6c7314,0 12px 24px -6px #2f6c731f}.premium-course-card-success{border-color:#10b98126}.premium-course-card-success:hover{border-color:#10b98140}.dark .premium-course-card{background:#1c1f28fa;border:1px solid #94a3b81a;box-shadow:0 1px 2px #0000001a,0 2px 6px #0000001a,0 6px 12px -3px #00000026}.dark .premium-course-card:hover{border-color:#2f6c734d;box-shadow:0 2px 4px #00000026,0 6px 12px #00000026,0 12px 24px -6px #0003}.premium-featured-card{background:linear-gradient(135deg,#fffffffc 0%,#faf8f5f7 50%,#f7f4eef2 100%);border:1px solid #2f6c7326;border-radius:1rem;position:relative;overflow:hidden;box-shadow:0 1px 3px #0000000a,0 6px 16px #2f6c7314,0 16px 32px -8px #2f6c731a}.premium-featured-card:hover{box-shadow:0 2px 4px #0000000d,0 8px 20px #2f6c731a,0 20px 40px -10px #2f6c731f}.dark .premium-featured-card{background:linear-gradient(135deg,#1e212afc 0%,#1a1d26f7 50%,#181b24f2 100%);border:1px solid #2f6c7333;box-shadow:0 1px 3px #0000001a,0 6px 16px #0003,0 16px 32px -8px #00000040}.dark .premium-featured-card:hover{box-shadow:0 2px 4px #00000026,0 8px 20px #00000040,0 20px 40px -10px #0000004d}.app-shell{background:linear-gradient(#faf8f5fa 0%,#f7f4eefc 100%);flex-direction:column;min-height:100svh;display:flex}.dark .app-shell{background:linear-gradient(#0f121cfc 0%,#0c0f18 100%)}.app-sidebar{background:var(--academic-cream);border-right:1px solid var(--academic-border);z-index:40;transition:all .3s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;left:0;box-shadow:4px 0 24px -8px #211d190f}.dark .app-sidebar{background:#181b24fa;border-right:1px solid #94a3b833;box-shadow:4px 0 24px -8px #00000040}.app-main{flex:1;min-height:100svh;padding:2rem;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}@media (max-width:768px){.app-main{padding:1.25rem}}.app-header{border-bottom:1px solid var(--academic-border);margin-bottom:2rem;padding-bottom:1.5rem}.dark .app-header{border-bottom-color:#94a3b826}.app-card{background:linear-gradient(#fffffffa 0%,#fcfaf7f2 100%);border:1px solid #2f6c731a;border-radius:1rem;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;box-shadow:0 1px 2px #00000008,0 4px 8px #2f6c730a,0 8px 16px -4px #2f6c730f}.dark .app-card{background:linear-gradient(#1c1f28fa 0%,#181b24f2 100%);border:1px solid #94a3b81a;box-shadow:0 1px 2px #0000001a,0 4px 8px #0000001f,0 8px 16px -4px #00000026}.app-card-course{cursor:pointer;background:#fff;border:1px solid #2f6c731f;border-radius:.875rem;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 1px 2px #00000005,0 2px 6px #2f6c730a,0 6px 12px -3px #2f6c730f}.app-card-course:before{content:"";background:linear-gradient(180deg, var(--ink-teal) 0%, #2f6c7399 100%);opacity:0;width:3px;height:100%;transition:opacity .25s;position:absolute;top:0;left:0}.app-card-course:hover{border-color:#2f6c7333;transform:translateY(-2px);box-shadow:0 2px 4px #00000008,0 6px 12px #2f6c7314,0 12px 24px -6px #2f6c731f}.app-card-course:hover:before{opacity:1}.app-card-course-completed{border-color:#10b98126}.app-card-course-completed:before{background:linear-gradient(#10b981 0%,#10b98199 100%)}.app-card-course-completed:hover{border-color:#10b98140}.dark .app-card-course{background:#1c1f28fa;border:1px solid #94a3b81a;box-shadow:0 1px 2px #0000001a,0 2px 6px #0000001a,0 6px 12px -3px #00000026}.dark .app-card-course:hover{border-color:#2f6c734d;box-shadow:0 2px 4px #00000026,0 6px 12px #00000026,0 12px 24px -6px #0003}.app-card-metric{background:#fff9;border:1px solid #2f6c7314;border-radius:.75rem;padding:1rem;transition:all .2s;position:relative}.app-card-metric:hover{background:#ffffffe6;border-color:#2f6c7326;box-shadow:0 2px 4px #00000005,0 4px 8px #2f6c730a}.app-card-metric-accent{background:#2f6c730a;border-color:#2f6c731f}.app-card-metric-accent:hover{background:#2f6c7314;border-color:#2f6c7333}.dark .app-card-metric{background:#ffffff08;border:1px solid #94a3b814}.dark .app-card-metric:hover{background:#ffffff0f;border-color:#94a3b826}.dark .app-card-metric-accent{background:#2f6c7314;border-color:#2f6c7333}.dark .app-card-metric-accent:hover{background:#2f6c731f;border-color:#2f6c734d}.app-card-section{background:linear-gradient(#fffffffc 0%,#fcfaf7fa 100%);border:1px solid #2f6c731f;border-radius:1rem;position:relative;overflow:hidden;box-shadow:0 1px 2px #00000008,0 4px 12px #2f6c730d,0 12px 24px -6px #2f6c7314}.dark .app-card-section{background:linear-gradient(#1c1f28fc 0%,#181b24fa 100%);border:1px solid #94a3b81a;box-shadow:0 1px 2px #0000001a,0 4px 12px #00000026,0 12px 24px -6px #0003}.app-nav-item{color:#4e4331e0;cursor:pointer;font-family:var(--font-serif), Georgia, "Times New Roman", serif;letter-spacing:-.01em;border-radius:1.05rem;align-items:center;gap:.75rem;padding:.65rem .9rem;text-decoration:none;transition:all .25s;display:flex;position:relative}.dark .app-nav-item{color:#e6e8ecb3}.app-nav-item-active{background:oklch(from var(--ink-teal) l c h / .1);border:1px solid oklch(from var(--ink-teal) l c h / .22);box-shadow:0 12px 24px -16px oklch(from var(--ink-teal) l c h / .25);color:var(--ink-base);font-weight:500}.dark .app-nav-item-active{background:oklch(from var(--ink-teal) l c h / .15);border:1px solid oklch(from var(--ink-teal) l c h / .3);color:#fffffff0}.app-nav-item-inactive{color:#60523cc7}.app-nav-item-inactive:hover{color:var(--ink-base);background:oklch(from var(--ink-teal) l c h / .06)}.dark .app-nav-item-inactive{color:#e7e8ec94}.dark .app-nav-item-inactive:hover{color:#ffffffeb;background:oklch(from var(--ink-teal) l c h / .1)}.app-nav-section{letter-spacing:.32em;text-transform:uppercase;color:#776850bd;margin-top:1rem;padding:.5rem .9rem .25rem;font-size:.65rem;font-weight:600}.app-nav-section:first-child{margin-top:0}.dark .app-nav-section{color:#e5e7eb94}.app-nav-icon{color:#523f24db;background:#f9f4e6eb;border:1px solid #c4b28f8c;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;transition:all .25s;display:inline-flex;box-shadow:inset 0 1px #ffffffe6}.app-nav-icon svg{width:1.05rem;height:1.05rem}.app-nav-icon-active{background:var(--ink-teal);border-color:var(--ink-teal);color:#fff;box-shadow:0 8px 20px -12px oklch(from var(--ink-teal) l c h / .5)}.dark .app-nav-icon{color:#e2e8f0d1;background:#1e232dd1;border-color:#94a3b859;box-shadow:inset 0 1px #ffffff14}.dark .app-nav-icon-active{background:var(--ink-teal);border-color:var(--ink-teal);color:#fff}.app-nav-item:hover .app-nav-icon{border-color:oklch(from var(--ink-teal) l c h / .4);color:var(--ink-base)}.dark .app-nav-item:hover .app-nav-icon{color:#ffffffeb;border-color:oklch(from var(--ink-teal) l c h / .45)}.app-title{font-family:var(--font-serif), Georgia, "Times New Roman", serif;font-optical-sizing:auto;letter-spacing:-.02em;color:var(--ink-base);font-size:clamp(1.75rem,4vw,2.25rem);font-weight:700;line-height:1.2}.dark .app-title{color:#fffffff5}.app-heading{font-family:var(--font-serif), Georgia, "Times New Roman", serif;font-optical-sizing:auto;letter-spacing:-.015em;color:var(--ink-base);font-size:clamp(1.25rem,3vw,1.5rem);font-weight:600;line-height:1.3}.dark .app-heading{color:#fffffff0}.app-label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);font-size:.75rem;font-weight:600;line-height:1.4}.dark .app-label{color:#e5e7ebb3}.app-metric{font-family:var(--font-geist-sans);letter-spacing:-.025em;color:var(--ink-base);font-variant-numeric:tabular-nums;font-size:clamp(1.5rem,4vw,2rem);font-weight:700;line-height:1.1}.dark .app-metric{color:#fffffff5}.app-badge{letter-spacing:.02em;color:#6b6866;background:#6b686614;border:1px solid #6b686633;border-radius:9999px;align-items:center;gap:.375rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;transition:all .2s;display:inline-flex}.dark .app-badge{color:#e2e8f0e6;background:#94a3b81f;border-color:#94a3b840}.app-badge-success{color:#059669;background:#10b9811a;border-color:#10b98140}.dark .app-badge-success{color:#34d399;background:#10b98126;border-color:#10b98159}.app-badge-progress{color:var(--ink-teal);background:#2f6c731a;border-color:#2f6c7340}.dark .app-badge-progress{color:oklch(from var(--ink-teal) calc(l + .15) c h);background:#2f6c7326;border-color:#2f6c7359}.app-badge-warning{color:#d97706;background:#f59e0b1a;border-color:#f59e0b40}.dark .app-badge-warning{color:#fbbf24;background:#f59e0b26;border-color:#f59e0b59}.app-progress-bar{background:#2f6c731a;border-radius:9999px;width:100%;height:.5rem;position:relative;overflow:hidden}.app-progress-bar:after{content:"";background:linear-gradient(90deg, var(--ink-teal) 0%, oklch(from var(--ink-teal) calc(l + .1) c h) 100%);border-radius:9999px;height:100%;transition:width .4s cubic-bezier(.4,0,.2,1);position:absolute;top:0;left:0;box-shadow:0 2px 4px #2f6c7333}.dark .app-progress-bar{background:#94a3b826}.app-status-dot{background:#6b686699;border-radius:9999px;width:.5rem;height:.5rem;display:inline-block}.app-status-dot-success{background:#10b981;box-shadow:0 0 0 2px #10b98133}.app-status-dot-progress{background:var(--ink-teal);animation:2s ease-in-out infinite pulse-dot;box-shadow:0 0 0 2px #2f6c7333}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.app-interactive{cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.app-interactive:hover{transform:translateY(-1px)}.app-interactive:active{transform:translateY(0)}.app-focus:focus-visible{outline:2px solid var(--ink-teal);outline-offset:2px;border-radius:.5rem}.dark .app-focus:focus-visible{outline-color:oklch(from var(--ink-teal) calc(l + .15) c h)}.app-button{letter-spacing:.01em;cursor:pointer;border:1px solid #0000;border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .2s;display:inline-flex;position:relative}.app-button-primary{background:var(--ink-teal);color:#fff;box-shadow:0 2px 4px #2f6c731a,0 4px 8px #2f6c7314}.app-button-primary:hover{background:oklch(from var(--ink-teal) calc(l - .05) c h);transform:translateY(-1px);box-shadow:0 4px 8px #2f6c7326,0 8px 16px #2f6c731f}.app-button-primary:active{transform:translateY(0);box-shadow:0 1px 2px #2f6c731a,0 2px 4px #2f6c7314}.app-button-secondary{color:var(--ink-base);background:#ffffffe6;border-color:#2f6c7326;box-shadow:0 1px 2px #0000000a,0 2px 4px #2f6c730a}.app-button-secondary:hover{background:#fff;border-color:#2f6c7340;transform:translateY(-1px);box-shadow:0 2px 4px #0000000f,0 4px 8px #2f6c7314}.dark .app-button-secondary{color:#ffffffeb;background:#ffffff0d;border-color:#94a3b833}.dark .app-button-secondary:hover{background:#ffffff14;border-color:#94a3b84d}.app-button-ghost{color:var(--ink-base);background:0 0}.app-button-ghost:hover{background:#2f6c730f}.dark .app-button-ghost{color:#ffffffe0}.dark .app-button-ghost:hover{background:#ffffff0d}.app-button:disabled,.app-button-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.app-link{color:var(--ink-teal);text-decoration:none;transition:color .2s;position:relative}.app-link:after{content:"";background:var(--ink-teal);opacity:0;width:100%;height:1px;transition:opacity .2s;position:absolute;bottom:-2px;left:0}.app-link:hover{color:oklch(from var(--ink-teal) calc(l - .08) c h)}.app-link:hover:after{opacity:1}.dark .app-link{color:oklch(from var(--ink-teal) calc(l + .15) c h)}.dark .app-link:hover{color:oklch(from var(--ink-teal) calc(l + .25) c h)}.app-skeleton{background:linear-gradient(90deg,#2f6c730d 0%,#2f6c731a 50%,#2f6c730d 100%) 0 0/200% 100%;border-radius:.5rem;animation:1.5s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.dark .app-skeleton{background:linear-gradient(90deg,#94a3b814 0%,#94a3b826 50%,#94a3b814 100%) 0 0/200% 100%}.app-empty-state{text-align:center;color:var(--ink-muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:3rem 2rem;display:flex}.dark .app-empty-state{color:#e5e7eb99}.app-divider{background:var(--academic-border);height:1px;margin:1.5rem 0}.dark .app-divider{background:#94a3b826}.app-tooltip{z-index:50;color:#fff;pointer-events:none;white-space:nowrap;background:#2c2822f2;border-radius:.5rem;padding:.375rem .75rem;font-size:.75rem;font-weight:500;position:absolute;box-shadow:0 4px 12px #00000026}.dark .app-tooltip{color:var(--ink-base);background:#fffffff2}}
