html[data-surface] body{background:var(--color-bg-surface);color:var(--color-text-primary);font-family:var(--font-ui)}html[data-surface]{background:var(--color-bg-surface)}.lms-shell{display:flex;min-height:100vh;background:var(--color-bg-surface);color:var(--color-text-primary)}.lms-nav{width:248px;flex:0 0 248px;background:var(--color-bg-elevated);border-right:1px solid var(--color-border-default);display:flex;flex-direction:column;padding:var(--spacing-16) 0;position:sticky;top:0;height:100vh;overflow-y:auto}.lms-brand{padding:0 var(--spacing-20) var(--spacing-16);display:flex;align-items:center;gap:var(--spacing-10);min-width:0}.lms-brand-mark{width:36px;height:36px;flex:0 0 36px;border-radius:var(--radius-md);background:var(--gradient-brand-3);color:var(--color-text-on-brand);display:grid;place-items:center;font:var(--type-title);box-shadow:var(--elevation-card)}.lms-brand-text{min-width:0}.lms-nav-head{display:flex;align-items:center;justify-content:space-between}.lms-nav .lms-nav-toggle{display:none}.lms-nav-body{display:flex;flex-direction:column;flex:1;min-height:0}.lms-brand-title{font:var(--type-title);color:var(--color-text-primary)}.lms-brand-sub{font:var(--type-caption-regular);color:var(--color-text-tertiary);margin-top:1px}.lms-role-switch{display:flex;align-items:center;gap:var(--spacing-8);padding:0 var(--spacing-20) var(--spacing-12)}.lms-role-switch-label{font:var(--type-caption);color:var(--color-text-tertiary);white-space:nowrap}.lms-role-switch select{flex:1;min-width:0}.lms-nav-group{padding:var(--spacing-16) var(--spacing-20) var(--spacing-6);font:var(--type-overline);letter-spacing:var(--type-overline-tracking);text-transform:uppercase;color:var(--color-text-tertiary)}.lms-nav-link{display:flex;align-items:center;gap:var(--spacing-10);margin:2px var(--spacing-12);padding:var(--spacing-8) var(--spacing-12);border-radius:var(--radius-full);color:var(--color-text-primary);font:var(--type-label);cursor:pointer;text-decoration:none;transition:background .12s,color .12s}.lms-nav-link:hover{background:var(--color-bg-glass-selected);color:var(--color-text-primary);text-decoration:none}.lms-nav-link.active{background:var(--color-bg-brand-subtle);color:var(--color-text-brand);font-weight:600}.lms-nav-link.active .lms-nav-icon{color:var(--color-icon-brand)}.lms-nav-icon{width:20px;text-align:center;font-size:16px;flex:0 0 20px;color:var(--color-icon-secondary)}.lms-nav-badge{margin-left:auto;font:var(--type-caption);font-variant-numeric:tabular-nums;background:var(--color-status-error-solid);color:var(--color-text-on-brand);border-radius:var(--radius-full);padding:0 var(--spacing-6);line-height:18px;min-width:18px;text-align:center}.lms-nav-user{padding:var(--spacing-14) var(--spacing-20);border-top:1px solid var(--color-border-default);margin-top:var(--spacing-14)}.lms-nav-user-name{font:var(--type-label);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lms-nav-user-org{font:var(--type-caption-regular);color:var(--color-text-tertiary)}.lms-nav-user-links{display:flex;flex-direction:column;margin:var(--spacing-12) calc(-1 * var(--spacing-8)) 0}.lms-nav-user-link{display:flex;align-items:center;justify-content:flex-start;gap:var(--spacing-10);width:100%;margin:2px 0;padding:var(--spacing-8) var(--spacing-12);border:0;border-radius:var(--radius-full);background:none;color:var(--color-text-primary);font:var(--type-label);text-align:left;cursor:pointer;text-decoration:none;transition:background .12s}.lms-nav-user-link ui-icon{flex:0 0 20px;color:var(--color-icon-secondary)}.lms-nav-user-link:hover{background:var(--color-bg-glass-selected);color:var(--color-text-primary);text-decoration:none}.lms-main{flex:1;min-width:0;display:flex;flex-direction:column}.lms-topbar{display:flex;align-items:center;gap:var(--spacing-14);padding:var(--spacing-12) var(--spacing-24);border-bottom:1px solid var(--color-border-default);background:var(--color-bg-glass);-webkit-backdrop-filter:blur(12px) saturate(1.4);backdrop-filter:blur(12px) saturate(1.4);position:sticky;top:0;z-index:30}.lms-guest-bar{display:flex;gap:var(--spacing-10);align-items:center;flex-wrap:wrap;padding:var(--spacing-10) var(--spacing-24);font:var(--type-body-small);background:var(--color-status-warning-bg);color:var(--color-status-warning-text);border-bottom:1px solid var(--color-status-warning-border)}.lms-content{padding:var(--spacing-32) var(--spacing-32) var(--spacing-48);max-width:1400px;width:100%}.lms-content.wide{max-width:none}.lms-page-head{margin-bottom:var(--spacing-24)}.lms-page-title{font:var(--type-heading-large);letter-spacing:var(--type-heading-large-tracking);color:var(--color-text-primary);margin:0}.lms-page-sub{color:var(--color-text-secondary);font:var(--type-body-small);margin:var(--spacing-6) 0 0;max-width:78ch}.lms-page-actions{display:flex;gap:var(--spacing-8);align-items:center;flex-wrap:wrap}.lms-row-between{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-16);flex-wrap:wrap}.lms-card{background:var(--color-bg-elevated);border:1px solid var(--color-border-default);border-radius:var(--radius-xl);box-shadow:var(--elevation-card);overflow:hidden}.lms-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-12);padding:var(--spacing-14) var(--spacing-16);border-bottom:1px solid var(--color-border-default);font:var(--type-title);font-size:16px;color:var(--color-text-primary)}.lms-card-body{padding:var(--spacing-16)}.lms-card-body.flush{padding:0}.lms-grid{display:grid;gap:var(--gap)}.lms-grid.c2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.lms-grid.c3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.lms-grid.c4{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.lms-grid.courses{grid-template-columns:repeat(auto-fill,minmax(268px,1fr))}.course-card{background:var(--color-bg-elevated);border:1px solid var(--color-border-default);border-radius:var(--radius-xl);box-shadow:var(--elevation-card);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:box-shadow .12s,transform .12s}.course-card:hover{box-shadow:var(--elevation-raised);text-decoration:none;transform:translateY(-1px)}.course-thumb{aspect-ratio:16 / 9;background:var(--gradient-brand-3);position:relative;display:grid;place-items:center;color:var(--color-text-on-brand);font-size:28px}.course-thumb img{width:100%;height:100%;object-fit:cover;display:block}.course-flag{position:absolute;top:var(--spacing-10);left:var(--spacing-10);font:var(--type-label-small);letter-spacing:var(--type-label-small-tracking);text-transform:uppercase;padding:var(--spacing-2) var(--spacing-8);border-radius:var(--radius-full);background:var(--color-bg-brand-subtle);color:var(--color-text-brand)}.course-flag.live{background:var(--color-status-error-bg);color:var(--color-status-error-text)}.course-flag.hybrid{background:var(--color-bg-accent);color:var(--color-text-on-accent)}.course-body{padding:var(--spacing-12) var(--spacing-14) var(--spacing-14);display:flex;flex-direction:column;gap:var(--spacing-6);flex:1}.course-title{font:var(--type-label-large);color:var(--color-text-primary);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-meta{font:var(--type-caption);color:var(--color-text-tertiary);display:flex;gap:var(--spacing-8);flex-wrap:wrap}.course-meta .dot-sep:before{content:"\b7";margin-right:var(--spacing-8);color:var(--color-text-tertiary)}.course-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-8);margin-top:auto;padding-top:var(--spacing-8)}.course-price{font:var(--type-title);font-size:16px;color:var(--color-text-primary)}.course-price .was{font:var(--type-caption-regular);color:var(--color-text-tertiary);text-decoration:line-through;margin-left:var(--spacing-6)}.course-price.free{color:var(--color-status-success-text)}.rating{display:inline-flex;align-items:center;gap:var(--spacing-4);font:var(--type-caption);color:var(--color-text-secondary)}.rating-stars{color:var(--color-bg-accent);letter-spacing:-1px}.stat{background:var(--color-bg-elevated);border:1px solid var(--color-border-default);border-radius:var(--radius-xl);box-shadow:var(--elevation-card);padding:var(--spacing-20) var(--spacing-24);height:100%}.stat-label{font:var(--type-body-small);color:var(--color-text-secondary);margin-bottom:var(--spacing-8)}.stat-value{font:var(--type-stat-value);letter-spacing:var(--type-stat-value-tracking);color:var(--color-text-primary);font-variant-numeric:tabular-nums}.stat-sub{font:var(--type-label-small);letter-spacing:var(--type-label-small-tracking);color:var(--color-text-tertiary);margin-top:var(--spacing-8)}.stat-trend.up{color:var(--color-status-success-text)}.stat-trend.down{color:var(--color-status-error-text)}.progress{height:8px;background:var(--color-bg-disabled);border-radius:var(--radius-full);overflow:hidden}.progress>span{display:block;height:100%;background:var(--color-action-primary);border-radius:var(--radius-full);transition:width .3s ease}.progress.done>span{background:var(--color-status-success-solid)}.progress-label{display:flex;justify-content:space-between;gap:var(--spacing-8);font:var(--type-label);color:var(--color-text-primary);margin-bottom:var(--spacing-8)}:where(.progress-label>:last-child){color:var(--color-text-secondary)}:where(.cd-hero,.hero-continue,[data-on-dark]) .progress-label>*{color:inherit}.curriculum{display:flex;flex-direction:column}.curr-section{border-bottom:1px solid var(--color-border-default);padding-bottom:var(--spacing-8)}.curr-section:last-child{border-bottom:none}.curr-section-head{display:flex;align-items:center;gap:var(--spacing-10);padding:var(--spacing-12) var(--spacing-14);cursor:pointer;background:transparent;font:var(--type-title);font-size:16px;color:var(--color-text-primary)}.curr-section-head:hover{background:var(--color-bg-surface)}.curr-section-meta{margin-left:auto;font:var(--type-caption);color:var(--color-text-tertiary);font-variant-numeric:tabular-nums}.curr-lesson{display:flex;align-items:center;gap:var(--spacing-12);padding:var(--spacing-12) var(--spacing-14);margin:var(--spacing-4) var(--spacing-8);border-radius:var(--radius-xl);background:var(--color-bg-elevated);border:1px solid var(--color-border-default);font:var(--type-label);cursor:pointer;color:var(--color-text-primary);text-decoration:none}.curr-lesson:hover{background:var(--color-bg-surface);text-decoration:none}.curr-lesson.current{background:var(--color-bg-brand-subtle);border-color:var(--color-border-brand);color:var(--color-text-primary);font-weight:600}.curr-lesson.locked{color:var(--color-text-disabled);cursor:not-allowed}.curr-lesson-icon{flex:0 0 32px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--color-bg-surface);color:var(--color-icon-secondary);font-size:14px}.curr-lesson.current .curr-lesson-icon{background:var(--color-action-primary);color:var(--color-text-on-brand)}.curr-lesson-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.curr-lesson-time{font:var(--type-caption);color:var(--color-text-tertiary);font-variant-numeric:tabular-nums}.curr-lock-reason{font:var(--type-caption);color:var(--color-status-warning-text);padding:0 var(--spacing-14) var(--spacing-8) 60px}.player-shell{display:flex;flex-direction:column;min-height:100vh;background:var(--color-bg-page);color:var(--color-text-primary)}.player-bar{display:flex;align-items:center;gap:var(--spacing-12);padding:var(--spacing-10) var(--spacing-16);border-bottom:1px solid var(--color-border-default);background:var(--color-bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font:var(--type-body-small);position:sticky;top:0;z-index:20}.player-bar>:not(.player-crumb){flex:none}.player-crumb{flex:1;min-width:0;display:flex;flex-direction:column;gap:0}.player-crumb>*{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-crumb-course{font:var(--type-caption);color:var(--color-text-tertiary)}.player-crumb b{color:var(--color-text-primary);font:var(--type-title)}.player-body{display:flex;flex:1;min-height:0;align-items:flex-start}.player-stage{flex:1;min-width:0;display:flex;flex-direction:column}.player-media{background:#000;aspect-ratio:16/9;width:100%;position:relative}.player-media video,.player-media iframe{width:100%;height:100%;display:block;border:0}.player-article{padding:var(--spacing-24) var(--spacing-32);max-width:74ch;font:var(--type-body);line-height:1.68}.player-article h2{color:var(--color-text-primary);font:var(--type-heading-medium);letter-spacing:var(--type-heading-medium-tracking)}.player-side{width:340px;flex:0 0 340px;border-left:1px solid var(--color-border-default);background:var(--color-bg-elevated);align-self:stretch;overflow-y:auto;max-height:100vh}.player-locked{display:grid;place-items:center;min-height:340px;text-align:center;padding:var(--spacing-40) var(--spacing-24)}.player-locked-icon{width:80px;height:80px;border-radius:50%;display:grid;place-items:center;margin:0 auto var(--spacing-16);background:var(--color-bg-brand-subtle);color:var(--color-icon-brand);font-size:34px}.player-under{padding:var(--spacing-20) var(--spacing-20) var(--spacing-40);border-top:1px solid var(--color-border-default)}.player-nav{display:flex;gap:var(--spacing-8);padding:var(--spacing-12) var(--spacing-16);border-top:1px solid var(--color-border-default)}.player-side.hidden{display:none}.player-progress-text{color:var(--color-text-tertiary);font:var(--type-caption);white-space:nowrap}.chip.player-kind{background:var(--color-bg-brand-subtle);color:var(--color-text-brand);border-color:transparent;font:var(--type-label-small);letter-spacing:var(--type-label-small-tracking)}.chip.player-kind.quiz{background:var(--color-bg-accent-subtle);color:var(--color-text-primary)}.player-lesson-line{display:flex;flex-wrap:wrap;gap:var(--spacing-10);align-items:center;padding:var(--spacing-14) var(--spacing-20) var(--spacing-10);font:var(--type-body-small);color:var(--color-text-tertiary)}.player-quality{position:absolute;top:10px;right:10px;z-index:11;display:flex;gap:var(--spacing-6);align-items:center;padding:var(--spacing-4) var(--spacing-8);border-radius:var(--radius-md);background:var(--color-bg-inverse);color:var(--color-text-on-inverse);font:var(--type-caption)}.player-quality .pq-btn{background:var(--glass-white-12);color:var(--color-text-on-inverse);border:0;border-radius:var(--radius-sm);padding:2px 8px;font:var(--type-caption);cursor:pointer}.player-quality .pq-auto{display:inline-flex;gap:var(--spacing-4);align-items:center;cursor:pointer}.player-quality{flex-wrap:wrap;max-width:calc(100% - 20px)}.player-quality select{background:var(--color-bg-inverse);color:var(--color-text-on-inverse);border:1px solid var(--glass-white-12);border-radius:var(--radius-sm);padding:2px 6px;font:var(--type-caption);max-width:60vw}.player-buffering{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;gap:var(--spacing-8);align-items:center;justify-content:center;background:var(--color-scrim);color:var(--color-text-on-brand);font:var(--type-label);pointer-events:none}.player-buffering .spinner{width:32px;height:32px;border-radius:50%;border:3px solid var(--glass-white-12);border-top-color:var(--teal-400);animation:player-spin .8s linear infinite}@keyframes player-spin{to{transform:rotate(360deg)}}.player-watermark{position:absolute;width:200%;height:200%;pointer-events:none;z-index:5;-webkit-user-select:none;user-select:none;transform:rotate(-22deg);transform-origin:center;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:60px 80px;opacity:.12;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.45);font-weight:600;font-size:13px;line-height:1.3;letter-spacing:.04em}.player-watermark>div{text-align:center;white-space:nowrap}.player-watermark small{display:block;font-size:10px;opacity:.8;margin-top:2px}.player-media{overflow:hidden}.lms-field{margin-bottom:var(--spacing-16)}.lms-field>label{display:block;font:var(--type-label);color:var(--color-text-primary);margin-bottom:var(--spacing-6)}.lms-field .hint{font:var(--type-caption);color:var(--color-text-tertiary);margin-top:var(--spacing-6)}.lms-field .err{font:var(--type-caption);color:var(--color-status-error-text);margin-top:var(--spacing-6)}.lms-input,.lms-select,.lms-textarea{width:100%;font:var(--type-body);min-height:48px;padding:var(--spacing-12) var(--spacing-16);background:var(--color-bg-elevated);color:var(--color-text-primary);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);transition:border-color .12s,box-shadow .12s}.lms-input::placeholder,.lms-textarea::placeholder{color:var(--color-text-tertiary)}.lms-input:focus,.lms-select:focus,.lms-textarea:focus{outline:none;border-color:var(--color-border-focus);box-shadow:inset 0 0 0 .5px var(--color-border-focus),var(--focus-ring)}.lms-input:disabled,.lms-select:disabled,.lms-textarea:disabled,.lms-input[readonly],.lms-textarea[readonly]{color:var(--color-text-tertiary);background:var(--color-bg-surface)}.lms-input.invalid,.lms-input.ng-invalid.ng-touched{border-color:var(--color-status-error-solid)}select.lms-input,select.lms-select,.lms-select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5.5 7.75 10 12.25l4.5-4.5' stroke='%237C7B7B' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-12) center;background-size:20px 20px;padding-right:calc(var(--spacing-12) + 20px + var(--spacing-8));cursor:pointer}.lms-input.sm,.lms-select.sm,select.lms-input.sm{min-height:36px;height:36px;padding-top:0;padding-bottom:0;padding-left:var(--spacing-12);font:var(--type-body-small)}input.lms-input.sm,textarea.lms-input.sm{padding-right:var(--spacing-12)}select.lms-input.sm,select.lms-select.sm{padding-right:calc(var(--spacing-8) + 20px + var(--spacing-6));background-position:right var(--spacing-8) center}.lms-input.block{display:block}.lms-textarea{min-height:96px;resize:vertical;line-height:1.55}.lms-check{display:flex;align-items:flex-start;gap:var(--spacing-8);font:var(--type-body-small);cursor:pointer}.lms-check input{margin-top:3px;accent-color:var(--color-action-primary)}.lms-btn{font:var(--type-button);min-height:40px;padding:var(--spacing-8) var(--spacing-16);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;background:var(--color-bg-elevated);color:var(--color-text-brand);border:1.5px solid var(--color-border-brand);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-8);text-decoration:none;transition:background .12s,color .12s,border-color .12s}.lms-btn:hover:not(:disabled){background:var(--color-bg-brand-subtle);text-decoration:none}.lms-btn:disabled{background:var(--color-bg-elevated);border-color:var(--color-border-default);color:var(--color-text-disabled);cursor:not-allowed}.lms-btn.primary{background:var(--color-action-primary);border-color:var(--color-action-primary);color:var(--color-text-on-brand)}.lms-btn.primary:hover:not(:disabled){background:var(--color-action-primary-hover);border-color:var(--color-action-primary-hover)}.lms-btn.primary:disabled{background:var(--color-bg-disabled);border-color:var(--color-bg-disabled);color:var(--color-text-disabled)}.lms-btn.danger{background:var(--color-bg-elevated);border-color:var(--color-status-error-solid);color:var(--color-status-error-text)}.lms-btn.danger:hover:not(:disabled){background:var(--color-status-error-bg)}.lms-btn.ghost{background:transparent;border-color:transparent;color:var(--color-text-brand)}.lms-btn.ghost:hover:not(:disabled){background:var(--color-bg-brand-subtle);color:var(--color-text-brand)}.lms-btn.ghost:disabled{background:transparent;border-color:transparent}.lms-btn.sm{min-height:36px;padding:calc(var(--spacing-8) - 1.5px) calc(var(--spacing-12) - 1.5px);font:var(--type-button)}.lms-btn.lg{min-height:48px;padding:var(--spacing-12) var(--spacing-24);font:var(--type-button-large)}.lms-btn.block{width:100%;justify-content:center}.chip{display:inline-flex;align-items:center;gap:var(--spacing-6);font:var(--type-caption);padding:var(--spacing-4) var(--spacing-10);border-radius:var(--radius-full);border:1px solid var(--color-border-strong);color:var(--color-text-primary);background:var(--color-bg-elevated);white-space:nowrap;cursor:default}.chip.selectable{cursor:pointer}.chip.selectable:hover{border-color:var(--color-border-brand);color:var(--color-text-brand)}.chip.on{background:var(--color-action-primary);border-color:var(--color-action-primary);color:var(--color-text-on-brand)}.chip.ok{background:var(--color-status-success-bg);border-color:var(--color-status-success-border);color:var(--color-status-success-text)}.chip.warn{background:var(--color-status-warning-bg);border-color:var(--color-status-warning-border);color:var(--color-status-warning-text)}.chip.bad{background:var(--color-status-error-bg);border-color:var(--color-status-error-border);color:var(--color-status-error-text)}.chip.live{color:var(--color-status-error-text);background:var(--color-status-error-bg);border-color:var(--color-status-error-border)}.chip.live:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--color-status-error-solid);animation:lms-pulse 1.6s ease-in-out infinite}@keyframes lms-pulse{0%,to{opacity:1}50%{opacity:.25}}.chip.st-draft{background:var(--color-bg-surface);border-color:var(--color-border-default);color:var(--color-text-secondary)}.chip.st-submitted,.chip.st-under_review{background:var(--color-status-info-bg);border-color:var(--color-status-info-border);color:var(--color-status-info-text)}.chip.st-changes_requested{background:var(--color-status-warning-bg);border-color:var(--color-status-warning-border);color:var(--color-status-warning-text)}.chip.st-approved,.chip.st-published{background:var(--color-status-success-bg);border-color:var(--color-status-success-border);color:var(--color-status-success-text)}.chip.st-unpublished,.chip.st-archived{background:var(--color-bg-surface);color:var(--color-text-tertiary);border-color:var(--color-border-strong);border-style:dashed}.lms-badge{display:inline-flex;align-items:center;gap:var(--spacing-6);padding:var(--spacing-2) var(--spacing-8);border-radius:var(--radius-full);font:var(--type-label-small);letter-spacing:var(--type-label-small-tracking);background:var(--color-bg-brand-subtle);color:var(--color-text-brand);white-space:nowrap}.lms-badge.accent{background:var(--color-bg-accent);color:var(--color-text-on-accent)}.lms-badge.success{background:var(--color-status-success-bg);color:var(--color-status-success-text)}.lms-badge.info{background:var(--color-status-info-bg);color:var(--color-status-info-text)}.lms-badge.warning{background:var(--color-status-warning-bg);color:var(--color-status-warning-text)}.lms-badge.error{background:var(--color-status-error-bg);color:var(--color-status-error-text)}.lms-segmented{display:inline-flex;gap:2px;padding:var(--spacing-4);border-radius:var(--radius-lg);background:var(--color-bg-surface)}.lms-segmented>button,.lms-segmented>a{min-height:36px;padding:0 var(--spacing-14);border:0;border-radius:var(--radius-md);background:transparent;font:var(--type-label);color:var(--color-text-secondary);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.lms-segmented>.on,.lms-segmented>.active,.lms-segmented>[aria-pressed=true]{background:var(--color-bg-elevated);box-shadow:var(--elevation-segment);font:var(--type-button);color:var(--color-text-primary)}.lms-table{width:100%;border-collapse:collapse;font:var(--type-body-small)}.lms-table th{text-align:left;font:var(--type-label-small);letter-spacing:var(--type-label-small-tracking);text-transform:uppercase;color:var(--color-text-tertiary);padding:var(--spacing-10) var(--spacing-14);border-bottom:1px solid var(--color-border-default);background:var(--color-bg-surface);position:sticky;top:0;z-index:1}.lms-table td{padding:var(--spacing-12) var(--spacing-14);border-bottom:1px solid var(--color-border-default);vertical-align:middle;color:var(--color-text-primary)}.lms-table tr:last-child td{border-bottom:none}.lms-table tbody tr:hover td{background:var(--color-bg-surface)}.lms-table td.r,.lms-table th.r{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.lms-table th button.sort,:where(th)>button.sort{font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;background:none;border:0;padding:0;min-height:0;cursor:pointer;border-radius:var(--radius-xs);display:inline-flex;align-items:center;gap:var(--spacing-4)}.lms-table th button.sort:hover{color:var(--color-text-primary);background:none}.lms-table th{white-space:nowrap}.lms-table td.nowrap,.lms-table td.actions,.lms-table td:has(>.lms-btn,>button,>a.lms-btn),.lms-table td time{white-space:nowrap}.lms-table-wrap{overflow-x:auto}.lms-empty{text-align:center;padding:var(--spacing-48) var(--spacing-32);color:var(--color-text-secondary)}.lms-empty-icon{width:80px;height:80px;border-radius:50%;margin:0 auto var(--spacing-16);display:grid;place-items:center;background:var(--color-bg-brand-subtle);color:var(--color-icon-brand);font-size:34px}.lms-empty-title{font:var(--type-hero-title);font-weight:500;color:var(--color-text-primary);margin-bottom:var(--spacing-8)}.lms-empty-body{font:var(--type-body-small);color:var(--color-text-secondary);max-width:46ch;margin:0 auto var(--spacing-16)}.lms-error{border:1px solid var(--color-status-error-border);background:var(--color-status-error-bg);color:var(--color-status-error-text);padding:var(--spacing-12) var(--spacing-16);border-radius:var(--radius-lg);font:var(--type-body-small);display:flex;gap:var(--spacing-12);align-items:flex-start}.lms-error-title{font:var(--type-label);font-weight:600;margin-bottom:var(--spacing-2)}.lms-error pre{margin:var(--spacing-6) 0 0;white-space:pre-wrap;font:400 12px/16px var(--font-mono);color:var(--color-text-secondary)}.lms-toast-host{position:fixed;bottom:var(--spacing-20);right:var(--spacing-20);z-index:200;display:flex;flex-direction:column;gap:var(--spacing-8);max-width:min(400px,calc(100vw - 40px))}.lms-toast{position:relative;background:var(--color-bg-inverse);color:var(--color-text-on-inverse);border:0;border-radius:var(--radius-md);padding:var(--spacing-10) var(--spacing-16) var(--spacing-10) 34px;font:var(--type-body-small);box-shadow:var(--elevation-dropdown);animation:lms-slide .18s ease}.lms-toast:before{content:"";position:absolute;left:var(--spacing-14);top:17px;width:8px;height:8px;border-radius:50%;background:var(--teal-400)}.lms-toast.success:before{background:var(--color-status-success-solid)}.lms-toast.error:before{background:var(--color-status-error-solid)}.lms-toast.warning:before{background:var(--color-status-warning-solid)}.lms-toast-title{font:var(--type-button)}.lms-toast-body{color:var(--color-text-on-inverse);opacity:.8;margin-top:2px}.lms-toast .lms-btn.ghost,.lms-toast button{color:var(--teal-400)}@keyframes lms-slide{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.skel{background:linear-gradient(90deg,var(--color-bg-surface) 25%,var(--color-bg-disabled) 37%,var(--color-bg-surface) 63%);background-size:400% 100%;animation:lms-shimmer 1.3s ease infinite;border-radius:var(--radius-sm);height:14px}.skel.tall{height:150px;border-radius:var(--radius-xl)}.skel.line{margin-bottom:var(--spacing-8)}.skel.w60{width:60%}.skel.w40{width:40%}.skel.w80{width:80%}@keyframes lms-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.ui-skeleton{display:block}.sk-box{background:var(--color-bg-elevated);border:1px solid var(--color-border-default);border-radius:var(--radius-xl);box-shadow:var(--elevation-card);overflow:hidden}.sk-pad{padding:var(--spacing-16)}.sk-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-12)}.sk-card{background:var(--color-bg-elevated);border:1px solid var(--color-border-default);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--elevation-card)}.sk-card .skel+.skel{margin-top:var(--spacing-8)}.skel.sk-cover{aspect-ratio:16 / 9;height:auto;border-radius:0}.skel.sk-h{height:18px}.skel.sk-xs{height:10px}.skel.sk-pill{width:64px;height:24px;border-radius:var(--radius-full);flex:none}.skel.sk-avatar{border-radius:var(--radius-full);flex:none}.skel.sk-tile{width:32px;height:32px;border-radius:var(--radius-md);flex:none}.skel.sk-stat{height:30px;width:55%;margin:var(--spacing-10) 0;border-radius:var(--radius-md)}.skel.sk-title{height:28px;width:38%;margin:var(--spacing-10) 0;border-radius:var(--radius-md)}.skel.sk-hero{height:168px;border-radius:var(--radius-xl);margin-bottom:var(--spacing-20)}.skel.sk-field{height:48px;border-radius:var(--radius-md);margin-bottom:var(--spacing-16)}.skel.sk-btn{height:48px;width:160px;border-radius:var(--radius-md)}.skel.sk-stage{aspect-ratio:16 / 9;height:auto;border-radius:var(--radius-xl)}.skel.sk-block{height:56px;border-radius:var(--radius-md);margin-bottom:var(--spacing-8)}.sk-gap{height:64px}.sk-trow{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:var(--spacing-16);align-items:center;padding:var(--spacing-14) var(--spacing-16);border-top:1px solid var(--color-border-default)}.sk-trow:first-child{border-top:0}.sk-thead{background:var(--color-bg-surface);padding-block:var(--spacing-12)}.sk-lrow{display:flex;align-items:center;gap:var(--spacing-12);padding:var(--spacing-12) var(--spacing-16);border-top:1px solid var(--color-border-default)}.sk-lrow:first-child{border-top:0}.sk-player{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--spacing-20);align-items:start}.sk-player .skel.line{margin-bottom:var(--spacing-8)}.sk-cal{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--spacing-8);padding:var(--spacing-16)}@media(max-width:760px){.sk-player{grid-template-columns:1fr}.sk-trow>:nth-child(n+3){display:none}.sk-cal{grid-template-columns:repeat(3,minmax(0,1fr))}.sk-cal>:nth-child(n+4){display:none}}.route-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:1000;pointer-events:none;overflow:hidden}.route-progress:before{content:"";position:absolute;inset:0 auto 0 0;width:40%;border-radius:0 var(--radius-full) var(--radius-full) 0;background:var(--color-action-primary);animation:route-progress 1.1s ease-in-out infinite}@keyframes route-progress{0%{transform:translate(-100%)}to{transform:translate(260%)}}.lms-backdrop{position:fixed;inset:0;background:var(--color-scrim);z-index:100;display:grid;place-items:center;padding:var(--spacing-20)}.lms-modal{background:var(--color-bg-elevated);border:1px solid var(--color-border-default);border-radius:var(--radius-2xl);width:min(560px,100%);max-height:88vh;display:flex;flex-direction:column;box-shadow:var(--elevation-modal)}.lms-modal-head{padding:var(--spacing-20) var(--spacing-24) var(--spacing-12);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-12)}.lms-modal-title{font:var(--type-title);color:var(--color-text-primary)}.lms-modal-body{padding:var(--spacing-8) var(--spacing-24) var(--spacing-20);overflow-y:auto;font:var(--type-body-small);color:var(--color-text-secondary)}.lms-modal-foot{padding:var(--spacing-16) var(--spacing-24) var(--spacing-20);border-top:1px solid var(--color-border-default);display:flex;justify-content:flex-end;gap:var(--spacing-8)}.dnd-item{display:flex;align-items:center;gap:var(--spacing-10);padding:var(--spacing-10) var(--spacing-12);background:var(--color-bg-elevated);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);margin-bottom:var(--spacing-6);font:var(--type-body-small)}.dnd-item.dragging{opacity:.4}.dnd-item.over{border-color:var(--color-border-focus);box-shadow:var(--focus-ring)}.dnd-handle{cursor:grab;color:var(--color-icon-secondary);font-size:14px;-webkit-user-select:none;user-select:none;flex:0 0 auto;padding:0 2px}.dnd-handle:active{cursor:grabbing}.dnd-actions{margin-left:auto;display:flex;gap:var(--spacing-4);opacity:0;transition:opacity .1s}.dnd-item:hover .dnd-actions,.dnd-item:focus-within .dnd-actions{opacity:1}.dropzone{border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-xl);padding:var(--spacing-32) var(--spacing-20);text-align:center;color:var(--color-text-secondary);cursor:pointer;background:var(--color-bg-surface);font:var(--type-body-small)}.dropzone:hover,.dropzone.over{border-color:var(--color-border-brand);color:var(--color-text-brand);background:var(--color-bg-brand-subtle)}.upload-row{display:flex;align-items:center;gap:var(--spacing-12);padding:var(--spacing-10) var(--spacing-12);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);margin-top:var(--spacing-8);font:var(--type-body-small);background:var(--color-bg-elevated)}.upload-status{font:var(--type-label-small);letter-spacing:var(--type-label-small-tracking);text-transform:uppercase}.upload-status.uploading{color:var(--color-text-brand)}.upload-status.processing{color:var(--color-status-warning-text)}.upload-status.ready{color:var(--color-status-success-text)}.upload-status.failed{color:var(--color-status-error-text)}.muted{color:var(--color-text-secondary)}.faint2{color:var(--color-text-tertiary)}.tnum{font-variant-numeric:tabular-nums}.stack{display:flex;flex-direction:column}.stack.g4{gap:4px}.stack.g8{gap:8px}.stack.g12{gap:12px}.stack.g16{gap:16px}.hrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.hrow.g4{gap:4px}.hrow.g6{gap:6px}.avatar{width:32px;height:32px;border-radius:50%;background:var(--color-bg-brand-subtle);color:var(--color-text-brand);display:grid;place-items:center;font:var(--type-caption);font-weight:600;flex:0 0 auto;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.avatar.lg{width:40px;height:40px;font:var(--type-button)}.avatar.xl{width:80px;height:80px;font:var(--type-heading-small)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1000px){.player-body{flex-direction:column}.player-side{width:100%;flex:none;border-left:none;border-top:1px solid var(--color-border-default);max-height:none}}@media(max-width:860px){.lms-shell{flex-direction:column}.lms-nav{width:100%;flex:none;height:auto;max-height:100vh;position:sticky;top:0;z-index:30;border-right:none;border-bottom:1px solid var(--color-border-default);padding:0;background:var(--color-bg-glass);-webkit-backdrop-filter:blur(12px) saturate(1.4);backdrop-filter:blur(12px) saturate(1.4)}.lms-nav.open{background:var(--color-bg-elevated);box-shadow:var(--elevation-dropdown)}.lms-nav-head{padding:var(--spacing-8) var(--spacing-16);gap:var(--spacing-10)}.lms-brand{padding:0;min-width:0}.lms-brand-mark{width:32px;height:32px;flex-basis:32px;font-size:16px}.lms-brand-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lms-nav .lms-nav-toggle{display:inline-flex;flex:none}.lms-role-switch{padding:0 var(--spacing-16) var(--spacing-8)}.lms-nav-body{display:none}.lms-nav.open .lms-nav-body{display:flex;overflow-y:auto;max-height:calc(100vh - 56px);border-top:1px solid var(--color-border-default);padding-bottom:var(--spacing-10)}.lms-nav-link{padding:var(--spacing-10) var(--spacing-12)}.lms-content{padding:var(--spacing-20) var(--spacing-16) 56px}.lms-topbar{padding:var(--spacing-10) var(--spacing-16)}.lms-page-title{font:var(--type-heading-medium);letter-spacing:var(--type-heading-medium-tracking)}.lms-grid.courses{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.course-title{font:var(--type-label)}.lms-modal{width:100%;max-height:92vh}.player-bar{padding:var(--spacing-8) var(--spacing-12);gap:var(--spacing-8)}.player-article{padding:var(--spacing-20) var(--spacing-16)}}@media(max-width:600px){.player-progress-text{display:none}.lms-grid.c4:has(>ui-stat){grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-12)}.stat{padding:var(--spacing-14) var(--spacing-16);border-radius:var(--radius-lg)}.stat-label{font:var(--type-caption);margin-bottom:var(--spacing-4)}.stat-value{font:var(--type-heading-small);letter-spacing:normal;overflow-wrap:anywhere}.stat-sub{margin-top:var(--spacing-4)}}@media(prefers-reduced-motion:reduce){.skel,.chip.live:before,.route-progress:before{animation:none}.course-card,.progress>span,.lms-toast{transition:none;animation:none}}.player-side,.player-main{color-scheme:light}.embed-source{padding:var(--spacing-10) var(--spacing-16);margin:0;font:var(--type-body-small)}.embed-source a{color:var(--color-text-brand)}.embed-source a:hover{color:var(--color-action-primary-hover)}.live-window{border:1px solid var(--color-border-default);border-radius:var(--radius-lg);padding:var(--spacing-12) var(--spacing-14);margin-bottom:var(--spacing-16);background:var(--color-bg-surface)}.live-window.open{border-color:var(--color-status-success-border);background:var(--color-status-success-bg)}.live-window p{margin:4px 0 0}.lms-table tr.you{background:var(--color-bg-brand-subtle);font-weight:600}.lms-table tr.you td{background:var(--color-bg-brand-subtle)}.lms-table .num{text-align:right;font-variant-numeric:tabular-nums}.faint{color:var(--color-text-secondary)}.hrow.between{justify-content:space-between;width:100%}.hrow.g12{gap:12px}.hrow.g16{gap:16px}.stack.g6{gap:6px}.lms-section-title{font:var(--type-title);color:var(--color-text-primary);margin:var(--spacing-24) 0 var(--spacing-12)}.lms-note{margin:var(--spacing-12) 0 0;padding:var(--spacing-10) var(--spacing-12);font:var(--type-body-small);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-secondary)}.lms-note.warn{background:var(--color-status-warning-bg);color:var(--color-status-warning-text);border:1px solid var(--color-status-warning-border)}.lms-field .req{color:var(--color-status-error-text);margin-left:2px}.lesson-text{font:var(--type-body);line-height:1.65;color:var(--color-text-secondary);max-width:78ch}.lesson-text h1,.lesson-text h2,.lesson-text h3{color:var(--color-text-primary);margin:1.2em 0 .5em;line-height:1.25;font-weight:600}.lesson-text h1{font:var(--type-heading-large);letter-spacing:var(--type-heading-large-tracking)}.lesson-text h2{font:var(--type-heading-medium);letter-spacing:var(--type-heading-medium-tracking)}.lesson-text h3{font:var(--type-title)}.lesson-text p{margin:0 0 .9em}.lesson-text ul,.lesson-text ol{padding-left:1.4em;margin:0 0 .9em}.lesson-text a{color:var(--color-text-brand)}.lesson-text img{max-width:100%;border-radius:var(--radius-lg)}.lesson-text pre{background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);padding:var(--spacing-12) var(--spacing-14);overflow-x:auto;font-size:13px;color:var(--color-text-primary)}.lesson-text code{font-family:var(--font-mono);font-size:.92em}.lesson-text :not(pre)>code{background:var(--color-bg-surface);border-radius:var(--radius-sm);padding:1px 4px;color:var(--color-text-primary)}.lesson-text blockquote{border-left:3px solid var(--color-border-brand);margin:0 0 .9em;padding:2px 14px;color:var(--color-text-secondary);background:var(--color-bg-brand-subtle);border-radius:0 var(--radius-md) var(--radius-md) 0}.lesson-text table{border-collapse:collapse;margin:0 0 .9em}.lesson-text td,.lesson-text th{border:1px solid var(--color-border-default);padding:6px 10px}.lesson-text th{background:var(--color-bg-surface);color:var(--color-text-primary);font-weight:600}.lms-card .lesson-text,.lms-card .lesson-text h1,.lms-card .lesson-text h2,.lms-card .lesson-text h3{color:inherit}.pdf-viewer{display:flex;flex-direction:column;height:calc(100vh - 260px);min-height:420px;background:var(--color-bg-surface);border-radius:var(--radius-xl);overflow:hidden}.pdf-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;gap:var(--spacing-8);padding:var(--spacing-12)}.pdf-nav{font-size:26px;padding:4px 10px;align-self:center}.pdf-page{position:relative;display:inline-block;max-width:100%;overflow:hidden}.pdf-page canvas{display:block;max-width:100%;background:#fff;border-radius:var(--radius-md);box-shadow:var(--elevation-raised)}.pdf-watermark{color:var(--color-text-secondary);text-shadow:0 1px 2px rgba(255,255,255,.5)}.pdf-foot{text-align:center;font:var(--type-caption);color:var(--color-text-tertiary);padding:var(--spacing-8);border-top:1px solid var(--color-border-default);background:var(--color-bg-elevated)}.file-code{background:var(--color-bg-surface);color:var(--color-text-primary);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);padding:var(--spacing-12) var(--spacing-16);overflow-x:auto;font:400 13px/1.55 var(--font-mono);tab-size:4;margin:var(--spacing-8) 0 0}.nb{border:1px solid var(--color-border-default);border-radius:var(--radius-lg);overflow:hidden;margin-top:var(--spacing-8);background:var(--color-bg-elevated)}.nb-md{padding:var(--spacing-12) var(--spacing-16);border-bottom:1px solid var(--color-border-default)}.nb-code{display:flex;gap:var(--spacing-10);padding:var(--spacing-10) var(--spacing-12);background:var(--color-bg-surface);border-bottom:1px solid var(--color-border-default)}.nb-code pre{margin:0;flex:1;overflow-x:auto;font:400 13px/1.55 var(--font-mono);color:var(--color-text-primary)}.nb-count{color:var(--color-text-tertiary);font-family:var(--font-mono);font-size:12px;white-space:nowrap}.nb-out{margin:0;padding:var(--spacing-8) var(--spacing-12) var(--spacing-8) 54px;font:400 12.5px/1.5 var(--font-mono);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-default);white-space:pre-wrap}.nb-err{color:var(--color-status-error-text);background:var(--color-status-error-bg)}.cb-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:var(--spacing-16);align-items:start}.cb-layout.rail-open{grid-template-columns:260px minmax(0,1fr) 240px}.cb-modules,.cb-rail{position:sticky;top:12px}.cb-col-head{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-8);padding:0 4px 10px}.ui-label{font:var(--type-overline);letter-spacing:var(--type-overline-tracking);text-transform:uppercase;color:var(--color-text-tertiary)}.cb-module{display:flex;align-items:center;gap:var(--spacing-8);padding:var(--spacing-10);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background:var(--color-bg-elevated);margin-bottom:var(--spacing-6);cursor:pointer}.cb-module.active{background:var(--color-bg-brand-subtle);border-color:var(--color-border-brand)}.cb-module.over{outline:2px dashed var(--color-border-focus)}.cb-module-title{font:var(--type-label);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cb-module-actions{display:none;gap:2px}.cb-module:hover .cb-module-actions{display:flex}.cb-lesson{border:1px solid var(--color-border-default);border-radius:var(--radius-xl);background:var(--color-bg-elevated);box-shadow:var(--elevation-card);transition:border-color .15s,box-shadow .15s}.cb-lesson:hover{border-color:var(--color-border-strong)}.cb-lesson.expanded{border-color:var(--color-border-brand)}.cb-lesson.dragging{opacity:.5}.cb-lesson.over{outline:2px dashed var(--color-border-focus)}.cb-lesson-row{display:flex;align-items:center;gap:var(--spacing-12);padding:var(--spacing-14)}.cb-kind{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--color-bg-brand-subtle);color:var(--color-icon-brand);font-size:16px;flex:none}.cb-title{width:100%;border:0;background:transparent;font:var(--type-label-large);color:inherit;padding:0;outline:none}.cb-title:focus{box-shadow:0 1.5px 0 var(--color-border-focus)}.cb-meta{display:flex;gap:var(--spacing-10);margin-top:2px;font:var(--type-label-small);letter-spacing:var(--type-label-small-tracking);text-transform:uppercase;color:var(--color-text-tertiary)}.cb-meta .ok{color:var(--color-status-success-text)}.cb-meta .warn{color:var(--color-status-warning-text)}.cb-actions{display:none;gap:2px}.cb-lesson:hover .cb-actions,.cb-lesson.expanded .cb-actions{display:flex}.cb-chevron{width:36px;height:36px;border-radius:50%;border:0;background:var(--color-bg-surface);color:var(--color-icon-secondary);font-size:20px;cursor:pointer;transition:transform .2s,background .15s;flex:none}.cb-chevron.on{background:var(--color-action-primary);color:var(--color-text-on-brand);transform:rotate(180deg)}.cb-editor{border-top:1px solid var(--color-border-default);padding:var(--spacing-16) var(--spacing-20) var(--spacing-20);display:flex;flex-direction:column;gap:var(--spacing-14);background:var(--color-bg-surface);border-radius:0 0 var(--radius-xl) var(--radius-xl)}.cb-attached{display:flex;align-items:center;gap:var(--spacing-10);padding:var(--spacing-10) var(--spacing-12);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);font:var(--type-body-small);background:var(--color-bg-elevated)}.cb-attached.ok{border-color:var(--color-status-success-border);background:var(--color-status-success-bg)}.cb-check{width:26px;height:26px;border-radius:50%;background:var(--color-status-success-solid);color:var(--color-text-on-brand);display:grid;place-items:center;font-size:13px;flex:none}.cb-add{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-6);margin-top:var(--spacing-14);padding:var(--spacing-12) var(--spacing-14);border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-xl)}.cb-rail-module{font:var(--type-overline);letter-spacing:var(--type-overline-tracking);text-transform:uppercase;color:var(--color-text-tertiary);padding:10px 6px 4px;cursor:pointer}.cb-rail-lesson{display:flex;align-items:center;gap:var(--spacing-8);padding:6px 8px;border-radius:var(--radius-full);font:var(--type-body-small);cursor:pointer}.cb-rail-lesson:hover{background:var(--color-bg-surface)}.cb-rail-lesson.current{background:var(--color-bg-brand-subtle);color:var(--color-text-brand)}@media(max-width:1000px){.cb-layout,.cb-layout.rail-open{grid-template-columns:1fr}.cb-modules,.cb-rail{position:static}}.nc-section{padding:var(--spacing-14) 0;border-top:1px solid var(--color-border-default)}.nc-section:first-child{padding-top:0;border-top:0}.nc-section-title{font:var(--type-overline);letter-spacing:var(--type-overline-tracking);text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:var(--spacing-10)}.nc-shape{margin-top:var(--spacing-8);padding:var(--spacing-10) var(--spacing-12);border:1px solid var(--color-border-default);border-radius:var(--radius-lg)}.nc-shape-title{font:var(--type-label);font-weight:600;margin-bottom:var(--spacing-6)}.nc-shape .chip{font:var(--type-caption);padding:4px 10px}.nc-shape .chip[disabled]{cursor:default;opacity:.6}.cfg{padding:10px 6px 14px}.cfg-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 20px;align-items:flex-start;padding-bottom:12px}.cfg .nc-section:first-of-type{border-top:1px solid var(--color-border-default);padding-top:14px}:root{--cue-rim: #1d7f8f;--cue-face: #ffcf3f;--cue-tick: #16323a;--cue-eye: #fefcf8;--cue-pupil: #241708;--cue-limb: #16323a;--cue-glove: #fefcf8;--cue-shoe: #f2ece1;--cue-second: #e0552b}.mentor-actor,.mentor-board,.mentor-launch{--surface: var(--color-bg-elevated);--line: var(--color-border-default);--ink: var(--color-text-primary);--radius: var(--radius-xl);--shadow-lift: var(--elevation-modal);--brand-primary: var(--cue-rim);--accent: var(--cue-rim);font-family:var(--font-ui);color:var(--ink)}.mentor-actor .row,.mentor-board .row{display:flex}.mentor-board .col{display:flex;flex-direction:column}.mentor-board .gap-10{gap:10px}.mentor-board .grow{flex:1}.mentor-board .wrap{flex-wrap:wrap}.mentor-actor .gap-6,.mentor-board .gap-6{gap:6px}.mentor-actor .grow{flex:1}.mentor-tiny{font-size:11.5px}.mentor-muted{color:var(--color-text-tertiary)}.mentor-btn{padding:4px 10px;border-radius:var(--radius-md);font:var(--type-caption);font-weight:600;cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--ink)}.mentor-btn:hover{background:color-mix(in srgb,var(--cue-face) 20%,var(--surface))}.mentor-btn.primary{background:var(--cue-face);border-color:var(--cue-rim);color:var(--cue-tick)}.mentor-note{padding:6px 14px;font:var(--type-caption);background:var(--color-status-warning-bg);color:var(--color-status-warning-text)}.mentor-mic{width:32px;height:32px;border-radius:50%;border:0;flex:none;cursor:pointer;display:grid;place-items:center;background:transparent;color:var(--cue-rim);font-size:16px}.mentor-mic[data-state=listening]{background:var(--color-status-error-bg);color:var(--color-status-error-text);border-radius:999px;animation:mentor-ring-pulse 1.2s ease-in-out infinite}@keyframes cue-float{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-7px) rotate(1.5deg)}}@keyframes cue-wave-fore{0%,to{transform:rotate(-14deg)}50%{transform:rotate(22deg)}}@keyframes cue-point{0%,70%,to{transform:rotate(0)}80%,90%{transform:rotate(-15deg)}}@keyframes cue-cheer{0%,to{transform:rotate(-6deg)}50%{transform:rotate(-26deg)}}@keyframes cue-swing{0%,to{transform:rotate(0)}50%{transform:rotate(6deg)}}@keyframes cue-bubble-in{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}@media(min-width:721px){html[data-mentor-open=yes] body{padding-right:380px;transition:padding-right .18s ease-out}}.mentor-actor{position:fixed;left:0;top:0;z-index:56;width:136px;transition-property:transform;transition-timing-function:cubic-bezier(.42,0,.28,1);pointer-events:none}.mentor-actor[data-home=yes]{opacity:0;visibility:hidden}.mentor-actor[data-home=yes] *{pointer-events:none!important}.mentor-actor[data-home=no]{animation:mentor-out-of-box .45s cubic-bezier(.34,1.4,.5,1) 1}@keyframes mentor-out-of-box{0%{opacity:0;scale:.5}to{opacity:1;scale:1}}.mentor-body{border:0;background:transparent;appearance:none;-webkit-appearance:none;box-shadow:none;padding:0;cursor:pointer;line-height:0;pointer-events:auto;-webkit-tap-highlight-color:transparent;filter:drop-shadow(0 6px 14px rgba(25,28,43,.26))}.mentor-actor,.mentor-actor .cue-anim,.mentor-stage-figure,.mentor-stage-clock{background:transparent}.mentor-body:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:50%}.mentor-actor .cue-anim{display:block;animation:cue-float 4.2s ease-in-out infinite}.mentor-actor[data-walking=yes] .cue-anim{animation:mentor-bob .32s ease-in-out infinite}.mentor-actor[data-walking=yes] .cue-legs path:first-child{animation:mentor-step .32s ease-in-out infinite;transform-origin:50px 104px}.mentor-actor[data-walking=yes] .cue-legs path:last-child{animation:mentor-step .32s ease-in-out infinite reverse;transform-origin:70px 104px}.mentor-actor[data-quiet=yes] .cue-anim{animation-duration:6s;opacity:.8}@keyframes mentor-bob{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-5px) rotate(2deg)}}@keyframes mentor-step{0%,to{transform:rotate(-22deg)}50%{transform:rotate(22deg)}}.mentor-actor[data-landed=yes] .cue-svg{animation:mentor-land .52s cubic-bezier(.34,1.4,.5,1) 1;transform-origin:60px 122px}@keyframes mentor-land{0%{transform:translateY(-6px) scale(1.02,.96)}40%{transform:translateY(0) scale(.96,1.05)}70%{transform:scale(1.02,.98)}to{transform:none}}.mentor-actor .cue-arm-left,.mentor-actor .cue-arm-right,.mentor-actor .cue-forearm-left,.mentor-actor .cue-forearm-right{transition:transform .35s cubic-bezier(.34,1.4,.5,1)}.mentor-actor .cue-arm-right{animation:none}.mentor-actor[data-facing=left][data-mood=pointing] .cue-forearm-left{animation:cue-point 2.4s ease-in-out infinite}.mentor-actor[data-facing=right][data-mood=pointing] .cue-arm-right{transform:rotate(-78deg)}.mentor-actor[data-facing=right][data-mood=pointing] .cue-forearm-right{transform:rotate(-30deg);animation:mentor-point-right 2.4s ease-in-out infinite}.mentor-actor[data-facing=right][data-mood=pointing] .cue-arm-left{transform:rotate(28deg)}.mentor-actor[data-facing=right][data-mood=pointing] .cue-forearm-left{transform:rotate(40deg)}@keyframes mentor-point-right{0%,70%,to{transform:rotate(-30deg)}80%,90%{transform:rotate(-42deg)}}.mentor-actor[data-mood=celebrating] .cue-arm-left{animation:cue-cheer 1.1s ease-in-out infinite}.mentor-actor[data-mood=celebrating] .cue-forearm-left{animation:cue-wave-fore .55s ease-in-out infinite}.mentor-actor[data-mood=celebrating] .cue-arm-right{animation:mentor-cheer-right 1.1s ease-in-out infinite}@keyframes mentor-cheer-right{0%,to{transform:rotate(-60deg)}50%{transform:rotate(-90deg)}}.mentor-actor[data-mood=thinking] .cue-forearm-left{transform:rotate(48deg)}.mentor-actor[data-mood=thinking] .cue-arm-left{transform:rotate(30deg)}.mentor-actor .cue-pupil{transition:transform .3s ease-out}.mentor-actor[data-facing=right] .cue-pupil{transform:translate(2.6px,.6px)}.mentor-actor[data-facing=left][data-mood=pointing] .cue-pupil{transform:translate(-2.6px,.6px)}.mentor-actor[data-talking=yes] .cue-face-g{animation:mentor-nod 1.9s ease-in-out infinite;transform-origin:60px 58px}@keyframes mentor-nod{0%,to{transform:rotate(0) translateY(0)}30%{transform:rotate(-2deg) translateY(.6px)}65%{transform:rotate(2deg) translateY(-.4px)}}.mentor-actor[data-mood=idle][data-walking=no] .cue-arm-right{animation:cue-swing 3.6s ease-in-out infinite}.cue-mouth-talking{animation:mentor-talk .28s ease-in-out infinite alternate;transform-origin:60px 74px}.cue-img{display:block;position:relative;width:96px;height:96px;-webkit-user-select:none;user-select:none;transform-origin:50% 100%;transition:transform .25s ease}.cue-img[data-facing=left]{transform:scaleX(-1)}.cue-pose{position:absolute;inset:0;opacity:0;transform:scale(.94) translateY(4px);transition:opacity .45s ease,transform .5s cubic-bezier(.34,1.4,.5,1)}.cue-pose[data-on=yes]{opacity:1;transform:none}.cue-pose[data-on=no] .cue-layer,.cue-pose[data-on=no] .cue-lid{animation-play-state:paused}.cue-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;-webkit-user-drag:none;pointer-events:none;will-change:transform;backface-visibility:hidden}.cue-lid{position:absolute;border-radius:50%;background:#ffdf57;transform:scaleY(0);transform-origin:50% 0;animation:mrlight-blink 3s ease-in-out infinite;pointer-events:none}.cue-lid+.cue-lid{animation-delay:.04s}@keyframes mrlight-blink{0%,93%,to{transform:scaleY(0)}95.5%,97.5%{transform:scaleY(1)}}.cue-layer-rays{transform-origin:41% 21%;animation:mrlight-rays 2.8s ease-in-out infinite}[data-pose=waving] .cue-layer-rays{transform-origin:66% 20%}@keyframes mrlight-rays{0%,to{opacity:.55;transform:scale(.94)}50%{opacity:1;transform:scale(1.05)}}.cue-layer-arm{transform-origin:68% 63%;animation:mrlight-arm-rest 5s ease-in-out infinite}[data-mood=pointing] .cue-layer-arm,[data-talking=yes] .cue-layer-arm{animation:mrlight-arm-tap 1.6s cubic-bezier(.45,0,.25,1) infinite}@keyframes mrlight-arm-rest{0%,90%,to{transform:rotate(0)}95%{transform:rotate(-3deg)}}@keyframes mrlight-arm-tap{0%,to{transform:rotate(0)}40%{transform:rotate(-5deg) translateY(-1px)}70%{transform:rotate(1.5deg)}}.cue-layer-book{transform-origin:34% 72%;animation:mrlight-book 6s ease-in-out infinite}@keyframes mrlight-book{0%,78%,to{transform:none}84%{transform:rotate(-2deg) skewY(2deg)}90%{transform:rotate(1.5deg) skewY(-1.5deg)}}[data-pose=waving] .cue-layer-hand{transform-origin:69.5% 49.5%;animation:mrlight-wave 1.1s cubic-bezier(.45,.05,.55,.95) infinite}@keyframes mrlight-wave{0%,to{transform:rotate(-12deg)}50%{transform:rotate(10deg)}}[data-pose=thinking] .cue-layer-hand{transform-origin:62% 52%;animation:mrlight-chin 2.2s ease-in-out infinite}[data-pose=thinking] .cue-layer-typing{animation:mrlight-type 1.2s steps(1) infinite}@keyframes mrlight-type{0%{transform:translateY(0)}8%{transform:translateY(-1.5px)}16%{transform:translateY(0)}24%{transform:translateY(-1px)}32%{transform:translateY(0)}48%{transform:translateY(-1.5px)}56%{transform:translateY(0)}72%{transform:translate(1px,-1px)}80%{transform:translateY(0)}}.cue-typing{position:absolute;left:60%;top:47%;display:flex;gap:3%;width:20%;pointer-events:none}.cue-typing i{display:block;width:22%;aspect-ratio:1;border-radius:50%;background:var(--cue-rim);opacity:0;animation:mrlight-keys 1.2s ease-out infinite}.cue-typing i:nth-child(2){animation-delay:.2s}.cue-typing i:nth-child(3){animation-delay:.4s}@keyframes mrlight-keys{0%{opacity:0;transform:translateY(6px) scale(.6)}30%{opacity:1;transform:translateY(0) scale(1)}80%{opacity:.9}to{opacity:0;transform:translateY(-8px) scale(.8)}}.cue-page{position:absolute;left:34%;top:55.5%;width:14%;height:11%;border-radius:1px 6px 3px 1px;background:linear-gradient(90deg,#f3e7d3,#fffaf0 60%,#efe1c8);box-shadow:0 1px 2px #0000002e;transform-origin:0 50%;transform:perspective(120px) rotateY(0) skewY(-4deg);opacity:0;animation:mrlight-page 4.5s ease-in-out infinite;pointer-events:none}@keyframes mrlight-page{0%,55%{opacity:0;transform:perspective(120px) rotateY(0) skewY(-4deg)}58%{opacity:1}78%{opacity:1;transform:perspective(120px) rotateY(-170deg) skewY(-4deg)}84%,to{opacity:0;transform:perspective(120px) rotateY(-180deg) skewY(-4deg)}}.cue-hi{position:absolute;right:-6%;top:6%;padding:2% 7%;border-radius:999px;background:var(--cue-rim);color:#fff;font-weight:800;font-size:13px;line-height:1.3;white-space:nowrap;transform-origin:0 100%;opacity:0;animation:mrlight-hi 10s cubic-bezier(.34,1.5,.5,1) 1.2s infinite;pointer-events:none;box-shadow:0 2px 6px #0003}[data-facing=left] .cue-hi{transform:scaleX(-1)}@keyframes mrlight-hi{0%{opacity:0;scale:.3}3%,22%{opacity:1;scale:1}27%,to{opacity:0;scale:.8}}.cue-pose[data-pose=waving]{animation:mrlight-hop 10s ease-out 1.2s infinite}@keyframes mrlight-hop{0%,8%,to{translate:0 0}2%{translate:0 -6%}4%{translate:0 0}5.5%{translate:0 -2%}7%{translate:0 0}}.cue-pose[data-pose=waving] .cue-layer-rays{animation:mrlight-rays 2.8s ease-in-out infinite,mrlight-flare 10s ease-out 1.2s infinite}@keyframes mrlight-flare{0%,10%,to{filter:none}3%{filter:brightness(1.35) drop-shadow(0 0 6px rgba(255,207,63,.9))}}.cue-pose[data-on=no] .cue-page,.cue-pose[data-on=no] .cue-typing i,.cue-pose[data-on=no] .cue-hi{animation-play-state:paused;opacity:0}@keyframes mrlight-icons{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes mrlight-chin{0%,to{transform:rotate(0)}50%{transform:rotate(-3deg) translateY(1px)}}.cue-img[data-talking=yes]{animation:mrlight-talk 1.1s ease-in-out infinite}.cue-img[data-facing=left][data-talking=yes]{animation-name:mrlight-talk-flipped}@keyframes mrlight-talk{0%,to{transform:rotate(0) translateY(0)}30%{transform:rotate(-2deg) translateY(-2px)}65%{transform:rotate(2deg) translateY(-1px)}}@keyframes mrlight-talk-flipped{0%,to{transform:scaleX(-1) rotate(0) translateY(0)}30%{transform:scaleX(-1) rotate(2deg) translateY(-2px)}65%{transform:scaleX(-1) rotate(-2deg) translateY(-1px)}}[data-lipsync=yes] .cue-img[data-talking=yes]{animation:none;transform:translateY(calc(var(--cue-mouth, .3) * -5px));transition:transform 60ms linear}[data-lipsync=yes] .cue-img[data-facing=left][data-talking=yes]{transform:scaleX(-1) translateY(calc(var(--cue-mouth, .3) * -5px))}[data-lipsync=yes] .cue-img[data-talking=yes] .cue-layer-rays{animation:none;opacity:calc(.45 + var(--cue-mouth, .3) * .55);transform:scale(calc(.92 + var(--cue-mouth, .3) * .16));transition:transform 60ms linear,opacity 60ms linear}[data-lipsync=yes] .cue-mouth-talking{animation:none;transform:scaleY(var(--cue-mouth, .3));transition:transform 40ms linear}@keyframes mentor-talk{0%{transform:scaleY(.25)}to{transform:scaleY(1)}}.mentor-bubble{position:absolute;bottom:104px;right:-8px;width:300px;max-width:calc(100vw - 32px);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lift);padding:12px 14px;font-size:13.5px;line-height:1.45;color:var(--ink);pointer-events:auto;animation:cue-bubble-in .18s ease-out;display:flex;flex-direction:column}.mentor-bubble[data-side=right]{right:auto;left:-8px}.mentor-bubble[data-side=right]:after{right:auto;left:34px}.mentor-bubble[data-vside=below]{bottom:auto;top:104px;animation-name:mentor-bubble-down}.mentor-bubble[data-vside=below]:after{bottom:auto;top:-7px;transform:rotate(-135deg)}@keyframes mentor-bubble-down{0%{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:none}}.mentor-bubble:after{content:"";position:absolute;right:34px;bottom:-7px;width:12px;height:12px;background:var(--surface);border-right:1px solid var(--line);border-bottom:1px solid var(--line);transform:rotate(45deg)}.mentor-ring{position:fixed;z-index:54;pointer-events:none;border-radius:12px;border:2px solid var(--cue-face);box-shadow:0 0 0 4px #e08a2c38;animation:mentor-ring-in .42s cubic-bezier(.34,1.4,.5,1) 1,mentor-ring-pulse 1.6s ease-in-out .42s infinite}@keyframes mentor-ring-in{0%{opacity:0;box-shadow:0 0 0 16px #e08a2c00}to{opacity:1;box-shadow:0 0 0 4px #e08a2c38}}@keyframes mentor-ring-pulse{0%,to{box-shadow:0 0 0 4px #e08a2c38}50%{box-shadow:0 0 0 9px #e08a2c14}}.mentor-board{position:fixed;right:20px;top:112px;bottom:20px;width:340px;max-width:calc(100vw - 40px);z-index:53;isolation:isolate}.mentor-chat{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;padding:0;overflow:hidden;box-shadow:var(--shadow-lift);animation:mentor-board-in .5s cubic-bezier(.34,1.3,.5,1) 1}@keyframes mentor-board-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}.mentor-chat{border:2px solid var(--cue-rim);border-radius:22px;box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--cue-glove) 55%,transparent),var(--shadow-lift),0 18px 40px #00000047;background:radial-gradient(120% 60% at 50% 0%,color-mix(in srgb,var(--cue-face) 14%,transparent),transparent 60%),var(--surface)}.mentor-plate{padding:8px 10px 6px;border-bottom:1px dashed color-mix(in srgb,var(--cue-rim) 45%,transparent)}.mentor-plate-row{display:flex;justify-content:space-between;align-items:center;min-height:34px;padding-top:4px}.mentor-knob{appearance:none;-webkit-appearance:none;min-height:26px;height:26px;padding:0 10px;border-radius:999px;border:1.5px solid color-mix(in srgb,var(--cue-rim) 60%,transparent);background:color-mix(in srgb,var(--cue-face) 12%,var(--surface));color:var(--ink);font-size:12px;font-weight:600;letter-spacing:.01em;cursor:pointer;max-width:92px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mentor-knob:hover{background:color-mix(in srgb,var(--cue-face) 24%,var(--surface))}.mentor-knob-x{width:26px;padding:0;text-align:center;line-height:1}.mentor-nameplate{margin:8px auto 2px;width:max-content;max-width:100%;padding:3px 14px;border-radius:6px;background:linear-gradient(180deg,color-mix(in srgb,var(--cue-face) 70%,#fff3),var(--cue-rim));color:var(--cue-tick);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;display:flex;gap:10px;align-items:baseline;box-shadow:inset 0 1px #ffffff59,0 1px 2px #0000004d}.mentor-nameplate strong{font-weight:800}.mentor-time{font-variant-numeric:tabular-nums;letter-spacing:.06em;opacity:.85}.mentor-scroll{padding:14px 14px 18px;overflow-y:auto;min-height:0;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 14px,#000 calc(100% - 16px),transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 14px,#000 calc(100% - 16px),transparent 100%)}.mentor-msg{padding:9px 12px;border-radius:14px;font-size:13.5px;line-height:1.45;max-width:90%;animation:mentor-msg-in .32s cubic-bezier(.34,1.3,.5,1) 1;position:relative}@keyframes mentor-msg-in{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}.mentor-msg-you{align-self:flex-end;background:var(--brand-primary);color:var(--brand-on-primary, #fff);border-bottom-right-radius:4px}.mentor-msg-mentor{align-self:flex-start;color:var(--ink);border-bottom-left-radius:4px;margin-left:18px;background:color-mix(in srgb,var(--cue-face) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--cue-rim) 40%,transparent)}.mentor-msg-mentor:before{content:"";position:absolute;left:-20px;top:8px;width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 50% 50%,var(--cue-face) 0 42%,var(--cue-rim) 44% 100%);box-shadow:0 1px 2px #0000004d}.mentor-msg-wait{padding:8px 12px}.mentor-wait-dots{display:inline-flex;gap:4px;align-items:center;height:14px}.mentor-wait-dots i{width:6px;height:6px;border-radius:50%;background:var(--cue-rim);animation:mentor-wait .9s ease-in-out infinite}.mentor-wait-dots i:nth-child(2){animation-delay:.15s}.mentor-wait-dots i:nth-child(3){animation-delay:.3s}@keyframes mentor-wait{0%,to{transform:translateY(0);opacity:.5}50%{transform:translateY(-4px);opacity:1}}.mentor-dial-second{transition:transform .25s cubic-bezier(.4,2.2,.6,1)}.mentor-stage{position:relative;width:100%;height:236px;margin:8px auto 0;flex:none;transition:height .35s ease,margin .35s ease}.mentor-stage-clock,.mentor-stage-figure{position:absolute;left:50%;top:50%;translate:-50% -50%;line-height:0;pointer-events:none;transition:opacity .3s,transform .45s cubic-bezier(.34,1.4,.5,1)}.mentor-stage-clock .mentor-dial-face{width:156px;height:156px;display:block}.mentor-stage-glow{width:150px;height:150px;border-radius:50%;display:block;background:radial-gradient(circle,color-mix(in srgb,var(--cue-face) 55%,transparent) 0%,color-mix(in srgb,var(--cue-face) 18%,transparent) 45%,transparent 70%);animation:mentor-glow 2.4s ease-in-out infinite}@keyframes mentor-glow{0%,to{transform:scale(.92);opacity:.7}50%{transform:scale(1.04);opacity:1}}.mentor-stage-figure .cue-svg{width:112px;height:124px;animation:cue-float 4.2s ease-in-out infinite}.mentor-stage[data-away=no] .mentor-stage-clock{opacity:.28;transform:scale(.92)}.mentor-stage[data-away=no] .mentor-stage-figure,.mentor-stage[data-away=yes] .mentor-stage-clock{opacity:1;transform:none}.mentor-stage[data-away=yes] .mentor-stage-figure{opacity:0;transform:translateY(-90px) scale(.4);pointer-events:none}.mentor-stage[data-compact=yes]{width:100%;height:124px;margin:2px auto 0;border-bottom:1px dashed color-mix(in srgb,var(--cue-rim) 35%,transparent)}.mentor-stage[data-compact=yes] .mentor-stage-figure .cue-svg{width:96px;height:106px}.mentor-stage[data-compact=yes] .mentor-stage-clock .mentor-dial-face{width:120px;height:120px}.mentor-stage[data-compact=yes] .mentor-stage-glow{width:96px;height:96px}.mentor-stage[data-compact=yes] .mentor-hour{display:none}.mentor-hour{position:absolute;max-width:108px;padding:5px 9px;border-radius:999px;font-size:11.5px;font-weight:600;line-height:1.25;border:1.5px solid color-mix(in srgb,var(--cue-rim) 60%,transparent);background:var(--surface);color:var(--ink);cursor:pointer;box-shadow:0 2px 6px #0000002e;text-align:center;animation:mentor-hour-in .5s cubic-bezier(.34,1.4,.5,1) 1 both;z-index:2;pointer-events:auto}.mentor-hour{white-space:normal}.mentor-hour:hover{background:color-mix(in srgb,var(--cue-face) 22%,var(--surface));transform:translateY(-1px)}.mentor-hour[data-at="12"]{left:50%;top:2px;transform:translate(-50%);animation-delay:.1s}.mentor-hour[data-at="3"]{right:2px;top:50%;transform:translateY(-50%);animation-delay:.2s}.mentor-hour[data-at="6"]{left:50%;bottom:2px;transform:translate(-50%);animation-delay:.3s}.mentor-hour[data-at="9"]{left:2px;top:50%;transform:translateY(-50%);animation-delay:.4s}@keyframes mentor-hour-in{0%{opacity:0}to{opacity:1}}.mentor-chips{padding:0 14px 10px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent)}.mentor-chips::-webkit-scrollbar{display:none}.mentor-chips .mentor-chip{flex:none;white-space:nowrap}.mentor-chip{padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;cursor:pointer;border:1.5px solid color-mix(in srgb,var(--cue-rim) 55%,transparent);background:var(--surface);color:var(--ink)}.mentor-chip:hover:not(:disabled){background:color-mix(in srgb,var(--cue-face) 22%,var(--surface))}.mentor-chip:disabled{opacity:.5;cursor:default}.mentor-chip-yes{background:var(--cue-face);border-color:var(--cue-rim);color:var(--cue-tick)}.mentor-ask{display:flex;align-items:center;gap:6px;margin:6px 12px 12px;padding:5px 5px 5px 8px;border-radius:999px;border:1.5px solid color-mix(in srgb,var(--cue-rim) 60%,transparent);background:color-mix(in srgb,var(--cue-face) 8%,var(--surface))}.mentor-ask:focus-within{border-color:var(--cue-rim);box-shadow:0 0 0 3px color-mix(in srgb,var(--cue-face) 30%,transparent)}.mentor-ask input{flex:1;min-width:0;border:0;background:transparent;box-shadow:none;padding:6px 4px;font:var(--type-body-small);color:var(--ink)}.mentor-ask input:focus{outline:none;box-shadow:none}.mentor-send{width:32px;height:32px;border-radius:50%;border:0;flex:none;cursor:pointer;display:grid;place-items:center;background:var(--cue-face);color:var(--cue-tick);box-shadow:inset 0 -2px 0 var(--cue-rim);transition:transform .2s cubic-bezier(.34,1.5,.5,1)}.mentor-send:hover:not(:disabled){transform:rotate(-12deg) scale(1.08)}.mentor-send:disabled{opacity:.45;cursor:default}.mentor-stop{background:var(--cue-second);color:#fff;box-shadow:inset 0 -2px #0000004d;animation:mentor-stop-in .25s cubic-bezier(.34,1.5,.5,1) 1}@keyframes mentor-stop-in{0%{transform:scale(.6) rotate(-90deg)}to{transform:none}}@media(max-height:820px){.mentor-board{top:84px;bottom:14px}.mentor-stage{height:200px}.mentor-stage-figure .cue-svg{width:96px;height:106px}.mentor-stage-clock .mentor-dial-face{width:132px;height:132px}.mentor-stage[data-compact=yes]{height:84px}.mentor-stage[data-compact=yes] .mentor-stage-figure .cue-svg{width:64px;height:70px}.mentor-stage[data-compact=yes] .mentor-stage-clock .mentor-dial-face{width:80px;height:80px}.mentor-stage[data-compact=yes] .mentor-stage-glow{width:64px;height:64px}}@media(max-height:640px){.mentor-board{top:64px;bottom:10px}.mentor-nameplate{display:none}.mentor-stage[data-compact=yes]{height:0;margin:0;overflow:hidden;border:0}}@media(max-width:640px){.mentor-board{left:8px;right:8px;top:auto;height:60vh;width:auto;max-width:none}.mentor-stage{height:176px}.mentor-stage-figure .cue-svg{width:84px;height:92px}.mentor-stage[data-compact=yes]{height:0;margin:0;overflow:hidden;border:0}.mentor-bubble{width:240px}}@media(prefers-reduced-motion:reduce){.mentor-actor,.mentor-actor .cue-anim,.cue-mouth-talking,.mentor-ring,.cue-legs path,.mentor-actor .cue-svg,.mentor-part,.mentor-mini,.mentor-mini .cue-svg,.mentor-chat,.cue-head,.mentor-actor .cue-face-g,.mentor-actor .cue-pupil,.mentor-actor .cue-arm-left,.mentor-actor .cue-arm-right,.mentor-actor .cue-forearm-left,.mentor-actor .cue-forearm-right{animation:none!important;transition:none!important}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.mentor-board .cue-hi{display:none}.cue-eye-img{position:absolute;pointer-events:none;-webkit-user-drag:none;transform-origin:50% 55%;animation:mrlight-eye-blink 3s ease-in-out infinite}.cue-eye-img+.cue-eye-img{animation-delay:.03s}@keyframes mrlight-eye-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.08)}98%{transform:scaleY(1)}}.mentor-actor .cue-img{width:136px;height:136px}.mentor-actor .mentor-bubble{bottom:142px}.mentor-actor .mentor-bubble[data-vside=below]{top:142px;bottom:auto}body:has(.mentor-actor[data-home=no]) .lms-content{padding-bottom:168px}@media(max-width:720px){.mentor-actor{width:64px}.mentor-actor .cue-img{width:64px;height:64px}.mentor-actor .cue-hi{display:none}.mentor-actor .mentor-bubble{bottom:70px}.mentor-actor .mentor-bubble[data-vside=below]{top:70px;bottom:auto}body:has(.mentor-actor[data-home=no]) .lms-content{padding-bottom:96px}}@font-face{font-family:Plus Jakarta Sans;src:url(/assets/fonts/PlusJakartaSans-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/assets/fonts/PlusJakartaSans-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/assets/fonts/PlusJakartaSans-SemiBold.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/assets/fonts/PlusJakartaSans-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/assets/fonts/JetBrainsMono.ttf) format("truetype");font-weight:100 800;font-style:normal;font-display:swap}html:root,html[data-surface],html[data-surface=learn],html[data-surface=studio],html[data-surface=console]{--color-text-primary: #2B2B2B;--color-text-secondary: #545353;--color-text-tertiary: #7C7B7B;--color-text-brand: #13808B;--color-text-on-brand: #FFFFFF;--color-text-on-accent: #000000;--color-text-disabled: #A4A2A2;--color-bg-page: #FFFFFF;--color-bg-surface: #F6F4F4;--color-bg-elevated: #FFFFFF;--color-bg-brand-subtle: #E9FAFC;--color-bg-accent: #F6C218;--color-bg-accent-subtle: #FEF7E0;--color-bg-disabled: #E6E5E5;--color-bg-glass: rgba(255, 255, 255, .72);--color-bg-glass-selected: rgba(0, 0, 0, .06);--color-border-glass: rgba(255, 255, 255, .6);--color-border-default: #E6E5E5;--color-border-strong: #C0BEBE;--color-border-brand: #13808B;--color-border-focus: #1A97A4;--color-icon-primary: #2B2B2B;--color-icon-secondary: #7C7B7B;--color-icon-brand: #1A97A4;--color-action-primary: #13808B;--color-action-primary-hover: #117883;--color-status-success-solid: #12B76A;--color-status-success-bg: #ECFDF3;--color-status-success-border: #A6F4C5;--color-status-success-text: #027A48;--color-status-warning-solid: #F79009;--color-status-warning-bg: #FFFAEB;--color-status-warning-border: #FEC84B;--color-status-warning-text: #B54708;--color-status-info-solid: #2E90FA;--color-status-info-bg: #EFF8FF;--color-status-info-border: #B2DDFF;--color-status-info-text: #175CD3;--color-status-error-solid: #F04438;--color-status-error-bg: #FEF3F2;--color-status-error-border: #FDA29B;--color-status-error-text: #B42318;--teal-300: #91E5EE;--teal-400: #65DAE7;--glass-white-12: rgba(255, 255, 255, .12);--color-bg-inverse: #212B36;--color-text-on-inverse: #F6F4F4;--color-scrim: rgba(22, 28, 36, .5);--gradient-brand-1: linear-gradient(46.21deg, #1A97A4 16.74%, #F6C218 92.35%);--gradient-brand-3: linear-gradient(180deg, #167E89 0%, #1C4951 48%, #212B36 100%);--gradient-brand-5: linear-gradient(180deg, #F7F7F7 0%, #FBFAF6 46.77%, #FBECB8 100%);--spacing-2: 2px;--spacing-4: 4px;--spacing-6: 6px;--spacing-8: 8px;--spacing-10: 10px;--spacing-12: 12px;--spacing-14: 14px;--spacing-16: 16px;--spacing-20: 20px;--spacing-24: 24px;--spacing-32: 32px;--spacing-40: 40px;--spacing-48: 48px;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 9999px;--elevation-card: 0 1px 3px rgba(16, 24, 40, .1), 0 1px 2px rgba(16, 24, 40, .06);--elevation-raised: 0 4px 8px -2px rgba(16, 24, 40, .1), 0 2px 4px -2px rgba(16, 24, 40, .06);--elevation-dropdown: 0 12px 16px -4px rgba(16, 24, 40, .08), 0 4px 6px -2px rgba(16, 24, 40, .03);--elevation-modal: 0 20px 24px -4px rgba(16, 24, 40, .08), 0 8px 8px -4px rgba(16, 24, 40, .03);--elevation-segment: 0 1px 1px rgba(16, 24, 40, .06), 0 1px 1.5px rgba(16, 24, 40, .1);--elevation-tab-bar: 0 1px 1.5px rgba(16, 24, 40, .06), 0 8px 12px rgba(16, 24, 40, .12);--elevation-bottom-bar: 0 -2px 2px rgba(16, 24, 40, .06), 0 -4px 4px rgba(16, 24, 40, .1);--focus-ring: 0 0 0 4px rgba(26, 151, 164, .32);--font-ui: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--type-display-large: 700 36px/44px var(--font-ui);--type-display-large-tracking: -.54px;--type-display-medium: 700 32px/40px var(--font-ui);--type-display-medium-tracking: -.32px;--type-stat-value: 700 30px/38px var(--font-ui);--type-stat-value-tracking: -.3px;--type-heading-large: 600 28px/36px var(--font-ui);--type-heading-large-tracking: -.28px;--type-heading-small: 600 24px/32px var(--font-ui);--type-heading-small-tracking: -.12px;--type-heading-medium: 600 22px/28px var(--font-ui);--type-heading-medium-tracking: -.5px;--type-hero-title: 600 20px/28px var(--font-ui);--type-hero-title-tracking: -.1px;--type-title: 600 18px/24px var(--font-ui);--type-label-large: 500 16px/24px var(--font-ui);--type-button-large: 600 16px/24px var(--font-ui);--type-body: 400 16px/24px var(--font-ui);--type-label: 500 14px/20px var(--font-ui);--type-button: 600 14px/20px var(--font-ui);--type-body-small: 400 14px/20px var(--font-ui);--type-caption: 500 12px/16px var(--font-ui);--type-caption-regular: 400 12px/16px var(--font-ui);--type-label-small: 500 12px/16px var(--font-ui);--type-label-small-tracking: .5px;--type-overline: 500 12px/16px var(--font-ui);--type-overline-tracking: 1.2px;--type-tab-label: 600 11px/14px var(--font-ui);--type-tab-label-tracking: .2px;--bg: var(--color-bg-page);--bg-raised: var(--color-bg-elevated);--bg-inset: var(--color-bg-surface);--bg-hover: var(--color-bg-surface);--border: var(--color-border-default);--border-strong: var(--color-border-strong);--text: var(--color-text-primary);--text-dim: var(--color-text-secondary);--text-faint: var(--color-text-tertiary);--accent: var(--color-action-primary);--accent-dim: var(--color-bg-brand-subtle);--measured: var(--color-status-success-solid);--derived: var(--color-status-warning-solid);--simulated: #7A5AF8;--unavailable: var(--color-text-tertiary);--ok: var(--color-status-success-text);--warn: var(--color-status-warning-text);--danger: var(--color-status-error-text);--mono: var(--font-mono);--sans: var(--font-ui);--radius: var(--radius-lg);--gap: var(--spacing-20);color-scheme:light}html[data-surface=studio],html[data-surface=console]{--gap: var(--spacing-16)}html,body{background:var(--color-bg-page);color:var(--color-text-primary);font-family:var(--font-ui)}::selection{background:var(--color-bg-brand-subtle);color:var(--color-text-primary)}:focus-visible{outline:none;box-shadow:var(--focus-ring)}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--color-bg-page);color:var(--color-text-primary);font:var(--type-body-small);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-text-brand);text-decoration:none}a:hover{text-decoration:underline}.shell{display:flex;min-height:100vh}.sidebar{width:216px;flex:0 0 216px;background:var(--color-bg-elevated);border-right:1px solid var(--color-border-default);display:flex;flex-direction:column;padding:var(--spacing-12) 0}.main{flex:1;min-width:0;display:flex;flex-direction:column}.content{padding:var(--spacing-24) var(--spacing-24) var(--spacing-48);max-width:1600px}.brand{padding:var(--spacing-4) var(--spacing-16) var(--spacing-14);border-bottom:1px solid var(--color-border-default);margin-bottom:var(--spacing-10)}.brand-title{font:var(--type-button);color:var(--color-text-primary)}.brand-sub{font:var(--type-caption-regular);color:var(--color-text-tertiary)}.nav-group{padding:var(--spacing-12) var(--spacing-16) var(--spacing-4);font:var(--type-overline);letter-spacing:var(--type-overline-tracking);text-transform:uppercase;color:var(--color-text-tertiary)}.nav-link{display:flex;align-items:center;gap:var(--spacing-8);padding:var(--spacing-8) var(--spacing-16);font:var(--type-label);color:var(--color-text-secondary);cursor:pointer;border-left:2px solid transparent}.nav-link:hover{background:var(--color-bg-surface);color:var(--color-text-primary);text-decoration:none}.nav-link.active{font:var(--type-button);color:var(--color-text-brand);border-left-color:var(--color-action-primary);background:var(--color-bg-brand-subtle)}.topbar{display:flex;align-items:center;gap:var(--spacing-14);flex-wrap:wrap;padding:var(--spacing-10) var(--spacing-24);border-bottom:1px solid var(--color-border-default);background:var(--color-bg-elevated);position:sticky;top:0;z-index:20}h1{font:var(--type-heading-medium);letter-spacing:var(--type-heading-medium-tracking);color:var(--color-text-primary);margin:0 0 var(--spacing-4)}h2{font:var(--type-title);color:var(--color-text-primary);margin:var(--spacing-24) 0 var(--spacing-12)}h3{font:var(--type-button);color:var(--color-text-secondary);margin:var(--spacing-16) 0 var(--spacing-8)}.page-sub{font:var(--type-body-small);color:var(--color-text-secondary);margin:0 0 var(--spacing-20);max-width:96ch}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.num,.mono.tnum{font-family:var(--font-ui);font-variant-numeric:tabular-nums}.dim{color:var(--color-text-secondary)}.faint{color:var(--color-text-tertiary)}.small{font-size:12px;line-height:16px}.tiny{font-size:11px;line-height:14px}.panel{background:var(--color-bg-elevated);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);box-shadow:var(--elevation-card);margin-bottom:var(--spacing-16)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-12);padding:var(--spacing-12) var(--spacing-16);border-bottom:1px solid var(--color-border-default);font:var(--type-button);color:var(--color-text-primary)}.panel-body{padding:var(--spacing-16)}.panel-body.tight{padding:var(--spacing-8) var(--spacing-16)}.panel-body.flush{padding:0}.grid{display:grid;gap:var(--spacing-16)}.grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr))}.grid.cols-3{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}.grid.cols-4{grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr))}.kpi{background:var(--color-bg-elevated);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);box-shadow:var(--elevation-card);padding:var(--spacing-16);min-width:0}.kpi-label{font:var(--type-label);color:var(--color-text-secondary);margin-bottom:var(--spacing-4)}.kpi-value{font:var(--type-stat-value);letter-spacing:var(--type-stat-value-tracking);color:var(--color-text-primary);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.kpi-sub{font:var(--type-caption-regular);color:var(--color-text-tertiary);margin-top:var(--spacing-4)}.prov{display:inline-flex;align-items:center;gap:var(--spacing-6);font:var(--type-label-small);letter-spacing:var(--type-label-small-tracking);text-transform:uppercase;white-space:nowrap;padding:var(--spacing-2) var(--spacing-8);border-radius:var(--radius-full);background:var(--color-bg-surface);color:var(--color-text-secondary)}.prov:before{content:"";width:6px;height:6px;flex:0 0 6px;border-radius:var(--radius-full);background:currentColor}.prov-provider-metered,.prov-self-metered{background:var(--color-status-success-bg);color:var(--color-status-success-text)}.prov-provider-metered:before,.prov-self-metered:before{background:var(--color-status-success-solid)}.prov-derived{background:var(--color-status-warning-bg);color:var(--color-status-warning-text)}.prov-derived:before{background:var(--color-status-warning-solid)}.prov-simulated{background:color-mix(in srgb,var(--simulated) 10%,var(--color-bg-elevated));color:var(--simulated)}.pill{display:inline-flex;align-items:center;gap:var(--spacing-6);font:var(--type-label-small);letter-spacing:var(--type-label-small-tracking);padding:var(--spacing-2) var(--spacing-8);border-radius:var(--radius-full);background:var(--color-bg-surface);color:var(--color-text-secondary);white-space:nowrap}.pill.ready,.pill.live,.pill.healthy{background:var(--color-status-success-bg);color:var(--color-status-success-text)}.pill.warn,.pill.degraded{background:var(--color-status-warning-bg);color:var(--color-status-warning-text)}.pill.bad,.pill.down{background:var(--color-status-error-bg);color:var(--color-status-error-text)}.pill.off{background:var(--color-bg-disabled);color:var(--color-text-tertiary)}.pill.ready .dot,.pill.live .dot,.pill.healthy .dot{background:var(--color-status-success-solid)}.pill.warn .dot,.pill.degraded .dot{background:var(--color-status-warning-solid)}.pill.bad .dot,.pill.down .dot{background:var(--color-status-error-solid)}.dot{width:6px;height:6px;border-radius:var(--radius-full);background:currentColor;flex:0 0 6px}.live-badge{color:var(--color-status-error-text);font:var(--type-button);display:inline-flex;align-items:center;gap:var(--spacing-6)}.live-badge .dot{background:var(--color-status-error-solid);animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.25}}@media(prefers-reduced-motion:reduce){.live-badge .dot{animation:none}}:where(button,.btn){display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-8);font:var(--type-button-large);padding:calc(var(--spacing-12) - 1.5px) calc(var(--spacing-24) - 1.5px);background-color:var(--color-bg-elevated);color:var(--color-text-brand);border:1.5px solid var(--color-border-brand);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;text-decoration:none;transition:background-color .12s ease,border-color .12s ease,color .12s ease}:where(button:not([class]),button.secondary,button.danger,button.small,.btn):where(:hover:not(:disabled),:active:not(:disabled)){background-image:linear-gradient(var(--color-bg-glass-selected),var(--color-bg-glass-selected));text-decoration:none}:where(button,.btn):where(:disabled,[aria-disabled=true]){background-color:transparent;background-image:none;border-color:var(--color-border-default);color:var(--color-text-disabled);cursor:not-allowed}:where(button,.btn).secondary{background-color:var(--color-bg-elevated);border-color:var(--color-border-brand);color:var(--color-text-brand)}:where(button,.btn).primary{background-color:var(--color-action-primary);border-color:transparent;color:var(--color-text-on-brand)}:where(button,.btn).primary:where(:hover:not(:disabled),:active:not(:disabled)){background-color:var(--color-action-primary-hover);background-image:none}:where(button,.btn).primary:where(:disabled,[aria-disabled=true]){background-color:var(--color-bg-disabled);border-color:transparent;color:var(--color-text-disabled)}:where(button,.btn).ghost{background-color:transparent;border-color:transparent;color:var(--color-text-brand)}:where(button,.btn).ghost:where(:hover:not(:disabled),:active:not(:disabled)){background-color:var(--color-bg-brand-subtle);background-image:none}:where(button,.btn).ghost:where(:disabled,[aria-disabled=true]){border-color:transparent}:where(button,.btn).danger{background-color:var(--color-status-error-bg);border-color:var(--color-status-error-border);color:var(--color-status-error-text)}:where(button,.btn).danger:where(:disabled,[aria-disabled=true]){background-color:transparent;border-color:var(--color-border-default);color:var(--color-text-disabled)}:where(button,.btn).small{font:var(--type-button);padding:calc(var(--spacing-8) - 1.5px) calc(var(--spacing-16) - 1.5px)}:where(input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file]),select,textarea){font:var(--type-body);padding:calc(var(--spacing-12) - 1px) calc(var(--spacing-16) - 1px);background:var(--color-bg-elevated);color:var(--color-text-primary);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);max-width:100%;transition:border-color .12s ease,box-shadow .12s ease}:where(input,select,textarea):focus{outline:none;border-color:var(--color-border-focus);box-shadow:inset 0 0 0 .5px var(--color-border-focus),var(--focus-ring)}:where(input,textarea)::placeholder{color:var(--color-text-tertiary);opacity:1}:where(input,select,textarea):where(:disabled){background:var(--color-bg-disabled);color:var(--color-text-disabled);border-color:var(--color-border-default);cursor:not-allowed}:where(input,textarea):where([readonly]){color:var(--color-text-tertiary)}:where(input,select,textarea):where([aria-invalid=true],.ng-invalid.ng-touched){border-color:var(--color-status-error-solid)}:where(textarea){line-height:24px;resize:vertical}:where(select:not([multiple],[size])){-webkit-appearance:none;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5.5 7.75 10 12.25l4.5-4.5' stroke='%237C7B7B' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-12) center;background-size:20px 20px;padding-right:calc(var(--spacing-12) + 20px + var(--spacing-8))}:where(input[type=checkbox],input[type=radio],input[type=range]){accent-color:var(--color-action-primary)}:where(input.num,input[type=number]){font-variant-numeric:tabular-nums}label{display:block;font:var(--type-label);color:var(--color-text-primary);margin-bottom:var(--spacing-6)}.field{margin-bottom:var(--spacing-16)}.row{display:flex;gap:var(--spacing-10);align-items:center;flex-wrap:wrap}:where(table){width:100%;border-collapse:collapse;font:var(--type-body-small)}:where(th){text-align:left;font:var(--type-label-small);letter-spacing:var(--type-label-small-tracking);color:var(--color-text-secondary);padding:var(--spacing-10) var(--spacing-12);border-bottom:1px solid var(--color-border-default);position:sticky;top:0;background:var(--color-bg-surface)}:where(td){padding:var(--spacing-10) var(--spacing-12);border-bottom:1px solid var(--color-border-default);vertical-align:middle}:where(tr:hover)>:where(td){background:var(--color-bg-surface)}:where(td.r,th.r){text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.table-wrap{overflow-x:auto}tr.is-current td{background:var(--color-bg-brand-subtle)}.stage{background:#000;border:1px solid var(--color-border-default);border-radius:var(--radius-lg);position:relative;aspect-ratio:16 / 9;overflow:hidden}.stage video{width:100%;height:100%;object-fit:contain;display:block;background:#000}.stage-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--color-text-on-inverse);font:var(--type-body-small);text-align:center;padding:var(--spacing-24)}.stage-overlay{position:absolute;top:var(--spacing-8);left:var(--spacing-10);display:flex;gap:var(--spacing-8);font:var(--type-caption)}.stage-tag{background:color-mix(in srgb,var(--color-bg-inverse) 85%,transparent);color:var(--color-text-on-inverse);padding:var(--spacing-2) var(--spacing-8);border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.tile-grid{display:grid;gap:var(--spacing-8);grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.tile{background:#000;border:1px solid var(--color-border-default);border-radius:var(--radius-md);aspect-ratio:16/9;position:relative;overflow:hidden}.tile video{width:100%;height:100%;object-fit:cover}.tile-name{position:absolute;bottom:0;left:0;right:0;padding:var(--spacing-2) var(--spacing-8);background:color-mix(in srgb,var(--color-bg-inverse) 85%,transparent);color:var(--color-text-on-inverse);font:var(--type-caption);display:flex;justify-content:space-between;gap:var(--spacing-6)}.scroll{overflow-y:auto}.chat-log{display:flex;flex-direction:column;gap:var(--spacing-8);padding:var(--spacing-12) var(--spacing-16)}.chat-msg{font:var(--type-body-small);color:var(--color-text-primary)}.chat-who{font:var(--type-caption);font-weight:600;color:var(--color-text-primary)}.chat-who.teacher{color:var(--color-text-brand)}.chat-time{color:var(--color-text-tertiary);font:var(--type-caption-regular);font-variant-numeric:tabular-nums;margin-left:var(--spacing-6)}.chat-deleted{color:var(--color-text-tertiary);font-style:italic}.plist{display:flex;flex-direction:column}.prow{display:flex;align-items:center;gap:var(--spacing-8);padding:var(--spacing-8) var(--spacing-16);border-bottom:1px solid var(--color-border-default);font:var(--type-body-small)}.prow:hover{background:var(--color-bg-surface)}.prow-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prow-icons{display:flex;gap:var(--spacing-6);font:var(--type-caption-regular);color:var(--color-text-tertiary)}.prow-actions{display:flex;gap:var(--spacing-4);opacity:0}.prow:hover .prow-actions,.prow:focus-within .prow-actions{opacity:1}.tabs{display:flex;gap:var(--spacing-16);border-bottom:1px solid var(--color-border-default);padding:0 var(--spacing-16);overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{display:inline-flex;align-items:center;flex:0 0 auto;padding:var(--spacing-12) var(--spacing-4);margin-bottom:-1px;font:var(--type-label);color:var(--color-text-secondary);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}button.tab{background:none;border:0;border-bottom:2px solid transparent;border-radius:0;padding:var(--spacing-12) var(--spacing-4);font:var(--type-label);color:var(--color-text-secondary)}.tab:hover{color:var(--color-text-primary);background:none}.tab.active{font:var(--type-button);color:var(--color-text-brand);border-bottom-color:var(--color-action-primary)}.tab-count{display:inline-block;margin-left:var(--spacing-6);padding:0 var(--spacing-6);border-radius:var(--radius-full);background:var(--color-bg-surface);color:var(--color-text-secondary);font:var(--type-label-small);font-variant-numeric:tabular-nums}.tab.active .tab-count{background:var(--color-bg-brand-subtle);color:var(--color-text-brand)}.notice{border:1px solid var(--color-border-default);border-left:3px solid var(--color-border-strong);border-radius:var(--radius-md);padding:var(--spacing-10) var(--spacing-12);font:var(--type-body-small);margin-bottom:var(--spacing-16);background:var(--color-bg-surface);color:var(--color-text-secondary)}.notice strong{color:var(--color-text-primary);font-weight:600}.notice.info{background:var(--color-status-info-bg);border-color:var(--color-status-info-border);border-left-color:var(--color-status-info-solid)}.notice.warn{background:var(--color-status-warning-bg);border-color:var(--color-status-warning-border);border-left-color:var(--color-status-warning-solid)}.notice.danger{background:var(--color-status-error-bg);border-color:var(--color-status-error-border);border-left-color:var(--color-status-error-solid)}.notice.sim{background:color-mix(in srgb,var(--simulated) 6%,var(--color-bg-elevated));border-color:color-mix(in srgb,var(--simulated) 30%,var(--color-bg-elevated));border-left-color:var(--simulated)}.chart{width:100%;display:block}.chart-axis{stroke:var(--color-border-strong);stroke-width:1}.chart-grid{stroke:var(--color-border-default);stroke-width:1}.chart-label{fill:var(--color-text-tertiary);font-size:10px;font-family:var(--font-ui);font-variant-numeric:tabular-nums}.arch{display:flex;flex-direction:column;gap:0;align-items:stretch}.arch-node{border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-elevated);box-shadow:var(--elevation-card);padding:var(--spacing-10) var(--spacing-12)}.arch-node.media{border-color:var(--color-status-info-border)}.arch-node.control{border-color:var(--color-status-warning-border)}.arch-node.external{border-color:var(--color-border-strong);border-style:dashed;box-shadow:none}.arch-node.cdn{border-color:var(--color-status-success-border)}.arch-label{font:var(--type-button);color:var(--color-text-primary)}.arch-sub{font:var(--type-caption-regular);color:var(--color-text-tertiary)}.arch-metrics{display:flex;flex-wrap:wrap;gap:var(--spacing-4) var(--spacing-14);margin-top:var(--spacing-6);font-family:var(--font-mono);font-size:11px;line-height:16px;color:var(--color-text-secondary)}.arch-metric .mv{color:var(--color-status-success-text)}.arch-metric .mv.na{color:var(--unavailable);font-style:italic}.arch-arrow{text-align:center;color:var(--color-icon-secondary);font:var(--type-caption-regular);padding:var(--spacing-6) 0}.spacer{flex:1}.hidden{display:none!important}.copy-row{display:flex;gap:var(--spacing-6);align-items:center}.copy-row input{flex:1;min-width:0;font-family:var(--font-mono);font-size:12px}.loading{color:var(--color-text-tertiary);font:var(--type-body-small);padding:var(--spacing-16)}.error-box{border:1px solid var(--color-status-error-border);background:var(--color-status-error-bg);color:var(--color-status-error-text);padding:var(--spacing-10) var(--spacing-12);border-radius:var(--radius-md);font:var(--type-body-small);margin-bottom:var(--spacing-16)}.bar{height:8px;background:var(--color-bg-disabled);border-radius:var(--radius-full);overflow:hidden}.bar>span{display:block;height:100%;background:var(--color-action-primary);border-radius:inherit}.bar.ok>span{background:var(--color-status-success-solid)}.bar.warn>span{background:var(--color-status-warning-solid)}.bar.bad>span{background:var(--color-status-error-solid)}@media(max-width:860px){.shell{flex-direction:column}.sidebar{width:100%;flex:none;flex-direction:row;overflow-x:auto;border-right:none;border-bottom:1px solid var(--color-border-default);padding:0}.brand,.nav-group{display:none}.nav-link{border-left:none;border-bottom:2px solid transparent;white-space:nowrap;padding:var(--spacing-12) var(--spacing-16)}.nav-link.active{border-left:none;border-bottom-color:var(--color-action-primary);background:none}.topbar{padding:var(--spacing-10) var(--spacing-16)}.content{padding:var(--spacing-16) var(--spacing-16) var(--spacing-40)}h1{font:var(--type-hero-title);letter-spacing:var(--type-hero-title-tracking)}.kpi-value{font-size:24px;line-height:32px}.tabs{padding:0 var(--spacing-4)}}
