html[data-surface=learn]{--bg: #f7f8fa;--bg-raised: #ffffff;--bg-inset: #f0f2f5;--bg-hover: #e9ecf1;--border: #dfe3e9;--border-strong: #c7cdd6;--text: #16191f;--text-dim: #545c6a;--text-faint: #7c8595;--accent: #2c5fd4;--accent-dim: #dee8ff;--ok: #12855b;--warn: #9a6400;--danger: #c2333a;--radius: 10px;--gap: 20px;color-scheme:light}html[data-surface=learn] body{background:var(--bg);color:var(--text)}html[data-surface=studio]{--radius: 6px;--gap: 16px}html[data-surface=console]{--radius: 4px;--gap: 14px}.lms-shell{display:flex;min-height:100vh;background:var(--bg);color:var(--text)}.lms-nav{width:232px;flex:0 0 232px;background:var(--bg-raised);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:14px 0;position:sticky;top:0;height:100vh;overflow-y:auto}.lms-brand{padding:2px 18px 16px}.lms-brand-title{font-weight:680;font-size:15px;letter-spacing:-.01em}.lms-brand-sub{font-size:11px;color:var(--text-faint);margin-top:1px}.lms-nav-group{padding:16px 18px 5px;font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--text-faint);font-weight:600}.lms-nav-link{display:flex;align-items:center;gap:10px;margin:1px 10px;padding:8px 10px;border-radius:7px;color:var(--text-dim);font-size:13.5px;cursor:pointer;text-decoration:none}.lms-nav-link:hover{background:var(--bg-hover);color:var(--text);text-decoration:none}.lms-nav-link.active{background:var(--accent-dim);color:var(--accent);font-weight:560}html[data-surface=studio] .lms-nav-link.active,html[data-surface=console] .lms-nav-link.active{color:#cfe0ff}.lms-nav-icon{width:16px;text-align:center;font-size:14px;flex:0 0 16px}.lms-nav-badge{margin-left:auto;font-size:10.5px;font-family:var(--mono);background:var(--danger);color:#fff;border-radius:9px;padding:0 6px;line-height:16px}.lms-main{flex:1;min-width:0;display:flex;flex-direction:column}.lms-topbar{display:flex;align-items:center;gap:14px;padding:12px 24px;border-bottom:1px solid var(--border);background:var(--bg-raised);position:sticky;top:0;z-index:30}.lms-content{padding:24px;max-width:1400px;width:100%}.lms-content.wide{max-width:none}.lms-page-head{margin-bottom:22px}.lms-page-title{font-size:22px;font-weight:660;letter-spacing:-.015em;margin:0}.lms-page-sub{color:var(--text-dim);font-size:13.5px;margin:5px 0 0;max-width:78ch}.lms-page-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.lms-row-between{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.lms-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.lms-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-bottom:1px solid var(--border);font-size:13.5px;font-weight:620}.lms-card-body{padding:16px}.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(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:border-color .12s,transform .12s}.course-card:hover{border-color:var(--border-strong);text-decoration:none;transform:translateY(-1px)}.course-thumb{aspect-ratio:16 / 9;background:var(--bg-inset);position:relative;display:grid;place-items:center;color:var(--text-faint);font-size:26px}.course-thumb img{width:100%;height:100%;object-fit:cover;display:block}.course-flag{position:absolute;top:8px;left:8px;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:3px 7px;border-radius:4px;background:#0009;color:#fff;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.course-flag.live{background:var(--danger)}.course-flag.hybrid{background:var(--accent)}.course-body{padding:13px 14px 14px;display:flex;flex-direction:column;gap:6px;flex:1}.course-title{font-size:14.5px;font-weight:620;line-height:1.32;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-meta{font-size:12px;color:var(--text-dim);display:flex;gap:8px;flex-wrap:wrap}.course-meta .dot-sep:before{content:"\b7";margin-right:8px;color:var(--text-faint)}.course-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:8px}.course-price{font-weight:660;font-size:15px}.course-price .was{font-weight:400;font-size:12px;color:var(--text-faint);text-decoration:line-through;margin-left:6px}.course-price.free{color:var(--ok)}.rating{display:inline-flex;align-items:center;gap:4px;font-size:12px}.rating-stars{color:#e8a33d;letter-spacing:-1px}.stat{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.stat-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);font-weight:600;margin-bottom:6px}.stat-value{font-size:26px;font-weight:660;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat-sub{font-size:12px;color:var(--text-dim);margin-top:3px}.stat-trend.up{color:var(--ok)}.stat-trend.down{color:var(--danger)}.progress{height:7px;background:var(--bg-inset);border-radius:4px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--accent);border-radius:4px;transition:width .3s ease}.progress.done>span{background:var(--ok)}.progress-label{display:flex;justify-content:space-between;font-size:11.5px;color:var(--text-dim);margin-bottom:5px}.curriculum{display:flex;flex-direction:column}.curr-section{border-bottom:1px solid var(--border)}.curr-section:last-child{border-bottom:none}.curr-section-head{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;background:var(--bg-inset);font-size:13.5px;font-weight:600}.curr-section-head:hover{background:var(--bg-hover)}.curr-section-meta{margin-left:auto;font-size:11.5px;color:var(--text-faint);font-weight:400;font-variant-numeric:tabular-nums}.curr-lesson{display:flex;align-items:center;gap:10px;padding:9px 14px 9px 18px;font-size:13px;cursor:pointer;border-left:2px solid transparent;color:inherit;text-decoration:none}.curr-lesson:hover{background:var(--bg-hover);text-decoration:none}.curr-lesson.current{background:var(--accent-dim);border-left-color:var(--accent);font-weight:560}.curr-lesson.locked{color:var(--text-faint);cursor:not-allowed}.curr-lesson-icon{flex:0 0 18px;text-align:center;font-size:13px}.curr-lesson-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.curr-lesson-time{font-size:11px;color:var(--text-faint);font-variant-numeric:tabular-nums}.curr-lock-reason{font-size:11px;color:var(--warn);padding:0 14px 8px 46px}.player-shell{display:flex;flex-direction:column;min-height:100vh;background:#0b0d10;color:#e5e9ef}.player-bar{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid #232830;background:#12151a;font-size:13px}.player-crumb{color:#9aa4b2;display:flex;gap:8px;align-items:center;min-width:0}.player-crumb b{color:#e5e9ef;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.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:26px 30px;max-width:74ch;line-height:1.68;font-size:15px}.player-article h2{color:#e5e9ef}.player-side{width:340px;flex:0 0 340px;border-left:1px solid #232830;background:#12151a;align-self:stretch;overflow-y:auto;max-height:100vh}.player-locked{display:grid;place-items:center;min-height:340px;text-align:center;padding:40px 24px}.player-locked-icon{font-size:34px;margin-bottom:12px;opacity:.55}.player-under{padding:18px 20px 40px;border-top:1px solid #232830}.player-nav{display:flex;gap:8px;padding:12px 16px;border-top:1px solid #232830}.player-side.hidden{display:none}.player-progress-text{color:#9aa4b2;font-size:12px;white-space:nowrap}.player-lesson-line{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:14px 20px 10px;font-size:12.5px}.player-quality{position:absolute;top:10px;right:10px;z-index:11;display:flex;gap:6px;align-items:center;padding:4px 8px;border-radius:8px;background:#0000008c;color:#e5e9ef;font-size:12px}.player-quality .pq-btn{background:#12151a;color:#e5e9ef;border:1px solid #2b313b;border-radius:6px;padding:2px 8px;font-size:12px;cursor:pointer}.player-quality .pq-auto{display:inline-flex;gap:4px;align-items:center;cursor:pointer}.player-quality{flex-wrap:wrap;max-width:calc(100% - 20px)}.player-quality select{background:#12151a;color:#e5e9ef;border:1px solid #2b313b;border-radius:6px;padding:2px 6px;font-size:12px;max-width:60vw}.player-buffering{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;background:#0006;color:#fff;font-size:14px;font-weight:500;pointer-events:none}.player-buffering .spinner{width:32px;height:32px;border-radius:50%;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;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}.player-side .curr-section-head{background:#0e1116;color:#e5e9ef}.player-side .curr-section-head:hover{background:#1a1f26}.player-side .curr-lesson{color:#c8cfda}.player-side .curr-lesson:hover{background:#1a1f26;color:#e5e9ef}.player-side .curr-lesson.current{background:#16233a;color:#cfe0ff;border-left-color:#4c8dff}.player-side .curr-lesson.locked,.player-side .curr-lesson-time{color:#646e7d}.player-side .progress{background:#1a1f26}.player-side .curr-section{border-bottom-color:#232830}.lms-field{margin-bottom:16px}.lms-field>label{display:block;font-size:12.5px;font-weight:580;color:var(--text);margin-bottom:5px}.lms-field .hint{font-size:11.5px;color:var(--text-faint);margin-top:4px}.lms-field .err{font-size:11.5px;color:var(--danger);margin-top:4px}.lms-input,.lms-select,.lms-textarea{width:100%;font-family:var(--sans);font-size:13.5px;padding:9px 11px;background:var(--bg-raised);color:var(--text);border:1px solid var(--border-strong);border-radius:7px}.lms-input:focus,.lms-select:focus,.lms-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.lms-textarea{min-height:96px;resize:vertical;line-height:1.55}.lms-check{display:flex;align-items:flex-start;gap:9px;font-size:13px;cursor:pointer}.lms-check input{margin-top:2px}.lms-btn{font-family:var(--sans);font-size:13.5px;font-weight:560;padding:9px 16px;border-radius:7px;cursor:pointer;white-space:nowrap;background:var(--bg-raised);color:var(--text);border:1px solid var(--border-strong);display:inline-flex;align-items:center;gap:7px;text-decoration:none}.lms-btn:hover:not(:disabled){background:var(--bg-hover);text-decoration:none}.lms-btn:disabled{opacity:.45;cursor:not-allowed}.lms-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.lms-btn.primary:hover:not(:disabled){filter:brightness(1.08)}.lms-btn.danger{background:transparent;border-color:var(--danger);color:var(--danger)}.lms-btn.danger:hover:not(:disabled){background:var(--danger);color:#fff}.lms-btn.ghost{background:transparent;border-color:transparent;color:var(--text-dim)}.lms-btn.ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.lms-btn.sm{padding:5px 10px;font-size:12.5px}.lms-btn.lg{padding:12px 22px;font-size:15px}.lms-btn.block{width:100%;justify-content:center}.chip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:550;padding:3px 9px;border-radius:20px;border:1px solid var(--border-strong);color:var(--text-dim);background:var(--bg-raised);white-space:nowrap;cursor:default}.chip.selectable{cursor:pointer}.chip.selectable:hover{border-color:var(--accent);color:var(--accent)}.chip.on{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.chip.ok{color:var(--ok);border-color:currentColor}.chip.warn{color:var(--warn);border-color:currentColor}.chip.bad{color:var(--danger);border-color:currentColor}.chip.live{color:#fff;background:var(--danger);border-color:var(--danger)}.chip.live:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;animation:lms-pulse 1.6s ease-in-out infinite}@keyframes lms-pulse{0%,to{opacity:1}50%{opacity:.25}}.chip.st-draft{color:var(--text-faint)}.chip.st-submitted,.chip.st-under_review{color:var(--accent);border-color:currentColor}.chip.st-changes_requested{color:var(--warn);border-color:currentColor}.chip.st-approved{color:var(--ok);border-color:currentColor}.chip.st-published{color:#fff;background:var(--ok);border-color:var(--ok)}.chip.st-unpublished,.chip.st-archived{color:var(--text-faint);border-style:dashed}.lms-table{width:100%;border-collapse:collapse;font-size:13px}.lms-table th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);font-weight:650;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--bg-inset);position:sticky;top:0;z-index:1}.lms-table td{padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:middle}.lms-table tr:last-child td{border-bottom:none}.lms-table tbody tr:hover td{background:var(--bg-inset)}.lms-table td.r,.lms-table th.r{text-align:right;font-variant-numeric:tabular-nums}.lms-table-wrap{overflow-x:auto}.lms-empty{text-align:center;padding:48px 24px;color:var(--text-dim)}.lms-empty-icon{font-size:34px;opacity:.45;margin-bottom:12px}.lms-empty-title{font-size:15px;font-weight:620;color:var(--text);margin-bottom:6px}.lms-empty-body{font-size:13px;max-width:46ch;margin:0 auto 16px}.lms-error{border:1px solid var(--danger);border-left-width:3px;background:color-mix(in srgb,var(--danger) 8%,var(--bg-raised));color:var(--text);padding:12px 14px;border-radius:var(--radius);font-size:13px;display:flex;gap:12px;align-items:flex-start}.lms-error-title{font-weight:620;margin-bottom:3px}.lms-error pre{margin:6px 0 0;white-space:pre-wrap;font-size:12px;font-family:var(--mono);color:var(--text-dim)}.lms-toast-host{position:fixed;bottom:20px;right:20px;z-index:200;display:flex;flex-direction:column;gap:8px;max-width:min(400px,calc(100vw - 40px))}.lms-toast{background:var(--bg-raised);border:1px solid var(--border-strong);border-left:3px solid var(--accent);border-radius:var(--radius);padding:11px 14px;font-size:13px;box-shadow:0 6px 24px #00000030;animation:lms-slide .18s ease}.lms-toast.success{border-left-color:var(--ok)}.lms-toast.error{border-left-color:var(--danger)}.lms-toast.warning{border-left-color:var(--warn)}.lms-toast-title{font-weight:620}.lms-toast-body{color:var(--text-dim);margin-top:2px}@keyframes lms-slide{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.skel{background:linear-gradient(90deg,var(--bg-inset) 25%,var(--bg-hover) 37%,var(--bg-inset) 63%);background-size:400% 100%;animation:lms-shimmer 1.3s ease infinite;border-radius:5px;height:14px}.skel.tall{height:150px;border-radius:var(--radius)}.skel.line{margin-bottom:8px}.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%}}.lms-backdrop{position:fixed;inset:0;background:#0009;z-index:100;display:grid;place-items:center;padding:20px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.lms-modal{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);width:min(560px,100%);max-height:88vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000050}.lms-modal-head{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:12px}.lms-modal-title{font-size:16px;font-weight:640}.lms-modal-body{padding:20px;overflow-y:auto}.lms-modal-foot{padding:14px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px}.dnd-item{display:flex;align-items:center;gap:10px;padding:9px 12px;background:var(--bg-raised);border:1px solid var(--border);border-radius:7px;margin-bottom:6px;font-size:13px}.dnd-item.dragging{opacity:.4}.dnd-item.over{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.dnd-handle{cursor:grab;color:var(--text-faint);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:4px;opacity:0;transition:opacity .1s}.dnd-item:hover .dnd-actions,.dnd-item:focus-within .dnd-actions{opacity:1}.dropzone{border:2px dashed var(--border-strong);border-radius:var(--radius);padding:32px 20px;text-align:center;color:var(--text-dim);cursor:pointer;background:var(--bg-inset)}.dropzone:hover,.dropzone.over{border-color:var(--accent);color:var(--accent)}.upload-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:7px;margin-top:8px;font-size:13px}.upload-status{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.upload-status.uploading{color:var(--accent)}.upload-status.processing{color:var(--warn)}.upload-status.ready{color:var(--ok)}.upload-status.failed{color:var(--danger)}.muted{color:var(--text-dim)}.faint2{color:var(--text-faint)}.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(--accent-dim);color:var(--accent);display:grid;place-items:center;font-size:12.5px;font-weight:650;flex:0 0 auto;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.avatar.lg{width:48px;height:48px;font-size:17px}.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 #232830;max-height:none}}@media(max-width:860px){.lms-shell{flex-direction:column}.lms-nav{width:100%;flex:none;height:auto;position:sticky;top:0;flex-direction:row;align-items:center;overflow-x:auto;border-right:none;border-bottom:1px solid var(--border);padding:6px 0;gap:2px}.lms-brand,.lms-nav-group{display:none}.lms-nav-link{margin:0 4px;white-space:nowrap;padding:7px 12px;flex:0 0 auto}.lms-nav>div:last-child{border-top:none!important;margin-top:0!important;padding:0 10px!important;flex:0 0 auto}.lms-nav>div:last-child .hrow:first-child{display:none}.lms-content{padding:16px 14px 56px}.lms-topbar{padding:10px 14px}.lms-page-title{font-size:19px}.lms-grid.courses{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.course-title{font-size:13.5px}.lms-modal{width:100%;max-height:92vh}.player-bar{padding:8px 12px;font-size:12px}.player-article{padding:18px 16px;font-size:14.5px}}@media(prefers-reduced-motion:reduce){.skel,.chip.live:before{animation:none}.course-card,.progress>span,.lms-toast{transition:none;animation:none}}.player-side,.player-main{color-scheme:dark}.embed-source{padding:10px 16px;margin:0;font-size:13px}.embed-source a{color:#9aa4b2}.embed-source a:hover{color:#e6ebf2}.live-window{border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-bottom:16px;background:var(--bg-inset)}.live-window.open{border-color:var(--ok)}.live-window p{margin:4px 0 0}.lms-table tr.you{background:var(--bg-inset);font-weight:600}.faint{color:var(--text-dim)}.hrow.between{justify-content:space-between;width:100%}.hrow.g12{gap:12px}.hrow.g16{gap:16px}.stack.g6{gap:6px}.lms-section-title{font-size:15px;font-weight:620;margin:24px 0 10px}.lms-note{margin:12px 0 0;padding:10px 12px;font-size:13px;line-height:1.5;border-radius:8px;background:var(--bg-inset);color:var(--text-dim)}.lms-note.warn{color:var(--warn);border-left:3px solid currentColor}.lms-table .num{text-align:right;font-variant-numeric:tabular-nums}.lms-field .req{color:var(--danger);margin-left:2px}.lesson-text{line-height:1.65;color:#c8cfda;max-width:78ch}.lesson-text h1,.lesson-text h2,.lesson-text h3{color:#e5e9ef;margin:1.2em 0 .5em;line-height:1.25}.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:#7fb1ff}.lesson-text img{max-width:100%;border-radius:8px}.lesson-text pre{background:#0e1116;border:1px solid #232830;border-radius:10px;padding:12px 14px;overflow-x:auto;font-size:13px}.lesson-text code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}.lesson-text blockquote{border-left:3px solid #3a4250;margin:0 0 .9em;padding:2px 14px;color:#9aa4b2}.lesson-text table{border-collapse:collapse;margin:0 0 .9em}.lesson-text td,.lesson-text th{border:1px solid #232830;padding:6px 10px}.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:#0e1116}.pdf-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px}.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:6px;box-shadow:0 6px 24px #0006}.pdf-watermark{color:#334155;text-shadow:0 1px 2px rgba(255,255,255,.5)}.pdf-foot{text-align:center;font-size:12px;font-weight:600;color:#9aa4b2;padding:8px;border-top:1px solid #232830}.file-code{background:#0e1116;border:1px solid #232830;border-radius:10px;padding:12px 16px;overflow-x:auto;font-size:13px;line-height:1.55;tab-size:4;margin:8px 0 0}.nb{border:1px solid #232830;border-radius:10px;overflow:hidden;margin-top:8px}.nb-md{padding:12px 16px;border-bottom:1px solid #232830}.nb-code{display:flex;gap:10px;padding:10px 12px;background:#0e1116;border-bottom:1px solid #232830}.nb-code pre{margin:0;flex:1;overflow-x:auto;font-size:13px}.nb-count{color:#646e7d;font-family:ui-monospace,Menlo,monospace;font-size:12px;white-space:nowrap}.nb-out{margin:0;padding:8px 12px 8px 54px;font-size:12.5px;color:#c8cfda;border-bottom:1px solid #232830;white-space:pre-wrap}.nb-err{color:#ff8a8a}.cb-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;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:8px;padding:0 4px 10px}.ui-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted, #8b95a5)}.cb-module{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--surface, transparent);margin-bottom:6px;cursor:pointer}.cb-module.active{border-color:var(--brand, #2c5fd4);box-shadow:0 0 0 2px #2c5fd426}.cb-module.over{outline:2px dashed var(--brand, #2c5fd4)}.cb-module-title{font-weight:620;font-size:13.5px;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(--border);border-radius:14px;background:var(--surface, transparent);transition:border-color .15s,box-shadow .15s}.cb-lesson:hover{border-color:var(--brand, #2c5fd4)}.cb-lesson.expanded{border-color:var(--brand, #2c5fd4);box-shadow:0 0 0 3px #2c5fd41f}.cb-lesson.dragging{opacity:.5}.cb-lesson.over{outline:2px dashed var(--brand, #2c5fd4)}.cb-lesson-row{display:flex;align-items:center;gap:12px;padding:12px 14px}.cb-kind{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,currentColor 12%,transparent);font-size:16px;flex:none}.cb-title{width:100%;border:0;background:transparent;font:inherit;font-weight:640;font-size:14px;color:inherit;padding:0;outline:none}.cb-title:focus{box-shadow:0 1px 0 var(--brand, #2c5fd4)}.cb-meta{display:flex;gap:10px;margin-top:2px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted, #8b95a5)}.cb-meta .ok{color:var(--ok, #16a34a)}.cb-meta .warn{color:#d97706}.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:10px;border:0;background:color-mix(in srgb,currentColor 8%,transparent);color:inherit;font-size:20px;cursor:pointer;transition:transform .2s,background .15s;flex:none}.cb-chevron.on{background:var(--brand, #2c5fd4);color:#fff;transform:rotate(180deg)}.cb-editor{border-top:1px solid var(--border);padding:16px 18px 20px;display:flex;flex-direction:column;gap:14px;background:color-mix(in srgb,currentColor 3%,transparent);border-radius:0 0 14px 14px}.cb-attached{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;font-size:13px}.cb-attached.ok{border-color:color-mix(in srgb,#16a34a 40%,transparent);background:color-mix(in srgb,#16a34a 8%,transparent)}.cb-check{width:26px;height:26px;border-radius:50%;background:#16a34a;color:#fff;display:grid;place-items:center;font-size:13px;flex:none}.cb-add{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:14px;padding:12px 14px;border:1px dashed var(--border);border-radius:14px}.cb-rail-module{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted, #8b95a5);padding:10px 6px 4px;cursor:pointer}.cb-rail-lesson{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;font-size:12.5px;cursor:pointer}.cb-rail-lesson:hover,.cb-rail-lesson.current{background:color-mix(in srgb,var(--brand, #2c5fd4) 12%,transparent)}@media(max-width:1000px){.cb-layout,.cb-layout.rail-open{grid-template-columns:1fr}.cb-modules,.cb-rail{position:static}}.nc-section{padding:14px 0;border-top:1px solid var(--border)}.nc-section:first-child{padding-top:0;border-top:0}.nc-section-title{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted, #8b95a5);margin-bottom:10px}.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(--border);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: #fffdf8;--line: #e6dfd0;--ink: #1d2430;--radius: 14px;--shadow-lift: 0 10px 30px rgba(20, 24, 34, .18);--brand-primary: var(--cue-rim);--accent: var(--cue-rim);font-family:inherit;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:#6b7280}.mentor-btn{padding:4px 10px;border-radius:8px;font-size:12px;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-size:11.5px;background:#fff4db;color:#8a5a00}.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:#fde2dc;color:#c2410c;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-size:13.5px;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}:root{--bg: #0b0d10;--bg-raised: #12151a;--bg-inset: #0e1116;--bg-hover: #1a1f26;--border: #232830;--border-strong: #333a45;--text: #e5e9ef;--text-dim: #9aa4b2;--text-faint: #646e7d;--accent: #4c8dff;--accent-dim: #24395e;--measured: #35c98a;--derived: #d9a441;--simulated: #b57ce0;--unavailable: #646e7d;--danger: #f2565b;--warn: #e0a33a;--ok: #35c98a;--mono: ui-monospace, "SF Mono", "JetBrains Mono", "Cascadia Code", Menlo, Consolas, monospace;--sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--radius: 4px;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.shell{display:flex;min-height:100vh}.sidebar{width:216px;flex:0 0 216px;background:var(--bg-raised);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:12px 0}.main{flex:1;min-width:0;display:flex;flex-direction:column}.content{padding:20px 24px 48px;max-width:1600px}.brand{padding:4px 16px 14px;border-bottom:1px solid var(--border);margin-bottom:10px}.brand-title{font-weight:650;font-size:13px;letter-spacing:.02em}.brand-sub{font-size:11px;color:var(--text-faint);font-family:var(--mono)}.nav-group{padding:10px 16px 4px;font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--text-faint)}.nav-link{display:flex;align-items:center;gap:8px;padding:6px 16px;color:var(--text-dim);font-size:13px;cursor:pointer;border-left:2px solid transparent}.nav-link:hover{background:var(--bg-hover);color:var(--text);text-decoration:none}.nav-link.active{color:var(--text);border-left-color:var(--accent);background:var(--bg-inset)}.topbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 24px;border-bottom:1px solid var(--border);background:var(--bg-raised);position:sticky;top:0;z-index:20}h1{font-size:19px;font-weight:620;margin:0 0 4px}h2{font-size:15px;font-weight:600;margin:22px 0 10px}h3{font-size:13px;font-weight:600;margin:16px 0 8px;color:var(--text-dim)}.page-sub{color:var(--text-dim);font-size:13px;margin:0 0 18px;max-width:96ch}.mono,.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.dim{color:var(--text-dim)}.faint{color:var(--text-faint)}.small{font-size:12px}.tiny{font-size:11px}.panel{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 14px;border-bottom:1px solid var(--border);font-size:12px;font-weight:600;letter-spacing:.02em}.panel-body{padding:14px}.panel-body.tight{padding:8px 14px}.panel-body.flush{padding:0}.grid{display:grid;gap:16px}.grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.grid.cols-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.grid.cols-4{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.kpi{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.kpi-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin-bottom:5px}.kpi-value{font-family:var(--mono);font-size:23px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.15}.kpi-sub{font-size:11.5px;color:var(--text-dim);margin-top:3px;font-family:var(--mono)}.prov{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;padding:1px 5px;border-radius:2px;border:1px solid currentColor;white-space:nowrap}.prov:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.prov-provider-metered,.prov-self-metered{color:var(--measured)}.prov-derived{color:var(--derived)}.prov-simulated{color:var(--simulated)}.pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-family:var(--mono);padding:2px 7px;border-radius:10px;border:1px solid var(--border-strong);color:var(--text-dim);white-space:nowrap}.pill.ready,.pill.live,.pill.healthy{color:var(--ok);border-color:#1d4a37;background:#10231b}.pill.warn,.pill.degraded{color:var(--warn);border-color:#4a3a16;background:#221b0e}.pill.bad,.pill.down{color:var(--danger);border-color:#4d2124;background:#241113}.pill.off{color:var(--text-faint)}.dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:0 0 7px}.live-badge{color:var(--danger);font-family:var(--mono);font-weight:600;display:inline-flex;align-items:center;gap:6px}.live-badge .dot{animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.25}}button,.btn{font-family:var(--sans);font-size:12.5px;padding:6px 12px;background:var(--bg-hover);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius);cursor:pointer;white-space:nowrap}button:hover:not(:disabled),.btn:hover{background:#222831;border-color:#45505e}button:disabled{opacity:.42;cursor:not-allowed}button.primary{background:var(--accent-dim);border-color:#35558c;color:#cfe0ff}button.primary:hover:not(:disabled){background:#2b4570}button.danger{background:#2a1417;border-color:#58272b;color:#ffb9bc}button.danger:hover:not(:disabled){background:#3a1b1f}button.small{padding:3px 8px;font-size:11.5px}input,select,textarea{font-family:var(--sans);font-size:13px;padding:6px 9px;background:var(--bg-inset);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius)}input:focus,select:focus,textarea:focus{outline:1px solid var(--accent);border-color:var(--accent)}input.num,input[type=number]{font-family:var(--mono)}label{display:block;font-size:11px;color:var(--text-dim);margin-bottom:4px}.field{margin-bottom:12px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}table{width:100%;border-collapse:collapse;font-size:12.5px}th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);font-weight:600;padding:7px 10px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg-raised)}td{padding:6px 10px;border-bottom:1px solid #1a1e25;vertical-align:middle}tr:hover td{background:var(--bg-inset)}td.r,th.r{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}.table-wrap{overflow-x:auto}tr.is-current td{background:#141c2b}.stage{background:#000;border:1px solid var(--border);border-radius:var(--radius);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(--text-faint);font-size:13px;text-align:center;padding:24px}.stage-overlay{position:absolute;top:8px;left:10px;display:flex;gap:8px;font-family:var(--mono);font-size:11px}.stage-tag{background:#000000b0;padding:2px 7px;border-radius:2px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.tile-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.tile{background:#000;border:1px solid var(--border);border-radius:var(--radius);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:3px 6px;background:#000000c0;font-size:10.5px;font-family:var(--mono);display:flex;justify-content:space-between;gap:6px}.scroll{overflow-y:auto}.chat-log{display:flex;flex-direction:column;gap:7px;padding:10px 12px}.chat-msg{font-size:12.5px;line-height:1.4}.chat-who{font-weight:600;font-size:11.5px}.chat-who.teacher{color:var(--accent)}.chat-time{color:var(--text-faint);font-size:10px;font-family:var(--mono);margin-left:5px}.chat-deleted{color:var(--text-faint);font-style:italic}.plist{display:flex;flex-direction:column}.prow{display:flex;align-items:center;gap:8px;padding:5px 12px;border-bottom:1px solid #1a1e25;font-size:12.5px}.prow:hover{background:var(--bg-inset)}.prow-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prow-icons{display:flex;gap:5px;font-size:11px;font-family:var(--mono);color:var(--text-faint)}.prow-actions{display:flex;gap:4px;opacity:0}.prow:hover .prow-actions{opacity:1}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);padding:0 8px}.tab{padding:7px 12px;font-size:12.5px;color:var(--text-dim);cursor:pointer;border-bottom:2px solid transparent}button.tab{background:none;border:0;border-bottom:2px solid transparent;border-radius:0;font:inherit;font-size:12.5px}.tab:hover{color:var(--text)}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.tab-count{font-family:var(--mono);font-size:10.5px;color:var(--text-faint);margin-left:4px}.notice{border:1px solid var(--border-strong);border-left-width:3px;border-radius:var(--radius);padding:9px 12px;font-size:12.5px;margin-bottom:14px;background:var(--bg-inset);color:var(--text-dim)}.notice strong{color:var(--text)}.notice.info{border-left-color:var(--accent)}.notice.warn{border-left-color:var(--warn)}.notice.danger{border-left-color:var(--danger)}.notice.sim{border-left-color:var(--simulated)}.chart{width:100%;display:block}.chart-axis{stroke:var(--border);stroke-width:1}.chart-grid{stroke:#1a1e25;stroke-width:1}.chart-label{fill:var(--text-faint);font-size:9.5px;font-family:var(--mono)}.arch{display:flex;flex-direction:column;gap:0;align-items:stretch}.arch-node{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-inset);padding:9px 12px}.arch-node.media{border-color:#2c4a6b}.arch-node.control{border-color:#4a3a16}.arch-node.external{border-color:#45364f;border-style:dashed}.arch-node.cdn{border-color:#1d4a37}.arch-label{font-size:12.5px;font-weight:600}.arch-sub{font-size:11px;color:var(--text-faint)}.arch-metrics{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px;font-family:var(--mono);font-size:11px}.arch-metric .mv{color:var(--measured)}.arch-metric .mv.na{color:var(--unavailable);font-style:italic}.arch-arrow{text-align:center;color:var(--text-faint);font-size:11px;font-family:var(--mono);padding:5px 0}.spacer{flex:1}.hidden{display:none!important}.copy-row{display:flex;gap:6px;align-items:center}.copy-row input{flex:1;font-family:var(--mono);font-size:11.5px}.loading{color:var(--text-faint);font-size:12.5px;padding:14px;font-family:var(--mono)}.error-box{border:1px solid #58272b;background:#1d1113;color:#ffb9bc;padding:9px 12px;border-radius:var(--radius);font-size:12.5px;margin-bottom:14px}.bar{height:6px;background:var(--bg-inset);border-radius:3px;overflow:hidden}.bar>span{display:block;height:100%;background:var(--accent)}.bar.ok>span{background:var(--ok)}.bar.warn>span{background:var(--warn)}.bar.bad>span{background:var(--danger)}@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(--border);padding:0}.brand,.nav-group{display:none}.nav-link{border-left:none;border-bottom:2px solid transparent;white-space:nowrap}.nav-link.active{border-left:none;border-bottom-color:var(--accent)}.content{padding:14px 12px 40px}}
