@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Serif:wght@600;700&family=Inter:wght@400;500;600;700&family=Manrope:wght@600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700&family=Public+Sans:wght@400;500;600;700&family=Source+Sans+3:wght@400;500;600;700&family=Source+Serif+4:wght@500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap";*,*:before,*:after{box-sizing:border-box}:root{--tn-font-body: "Inter", "Avenir Next", "Segoe UI", Helvetica, Arial, sans-serif;--tn-font-heading: "Manrope", "Inter", "Avenir Next", "Segoe UI", Helvetica, Arial, sans-serif;--tn-font-mono: ui-monospace, "SFMono-Regular", "Menlo", "Consolas", monospace;font-family:var(--tn-font-body);line-height:1.5;--tn-bg-app: #e5e7eb;--tn-bg-canvas: #f8fafc;--tn-bg-surface: #ffffff;--tn-bg-surface-muted: #f3f4f6;--tn-border: #e2e8f0;--tn-border-strong: #cbd5e1;--tn-text: #1e293b;--tn-text-secondary: #526070;--tn-text-muted: #8896a8;--tn-accent: #2563eb;--tn-accent-strong: #1d4ed8;--tn-danger-bg: #fef2f2;--tn-danger-text: #b91c1c;background:var(--tn-bg-app);color:var(--tn-text);--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-pill: 12px;--app-inline-inset: 24px;--motion-duration-fast: .14s;--motion-duration-base: .18s;--motion-duration-enter: .22s;--motion-duration-exit: .12s;--motion-duration-overlay: .2s;--motion-ease-standard: cubic-bezier(.22, 1, .36, 1);--motion-ease-emphasis: cubic-bezier(.2, .9, .2, 1);--motion-distance-xs: 6px;--motion-distance-sm: 10px;--motion-distance-md: 16px;--motion-stagger-step: 40ms;--btn-radius: var(--radius-sm);--btn-min-height: 34px;--btn-padding-y: .45rem;--btn-padding-x: .85rem;--btn-font-size: .85rem;--btn-font-weight: 600;--btn-gap: .4rem;--btn-disabled-opacity: .55;--btn-focus-ring: 2px solid color-mix(in srgb, var(--tn-accent, #2563eb) 55%, transparent);--btn-focus-offset: 2px}:root[data-font-preset=editorial]{--tn-font-body: "Source Sans 3", "Avenir Next", "Segoe UI", Helvetica, Arial, sans-serif;--tn-font-heading: "Fraunces", "Source Sans 3", Georgia, serif}:root[data-font-preset=geometric]{--tn-font-body: "Plus Jakarta Sans", "Inter", "Segoe UI", Helvetica, Arial, sans-serif;--tn-font-heading: "Space Grotesk", "Plus Jakarta Sans", "Inter", sans-serif}:root[data-font-preset=serif-tech]{--tn-font-body: "IBM Plex Sans", "Inter", "Segoe UI", Helvetica, Arial, sans-serif;--tn-font-heading: "IBM Plex Serif", Georgia, serif}:root[data-font-preset=serif]{--tn-font-body: "Public Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--tn-font-heading: "Source Serif 4", "Iowan Old Style", Georgia, serif}body{margin:0;font-family:var(--tn-font-body)}h1,h2,h3,h4,h5,h6{font-family:var(--tn-font-heading)}.app-shell{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--tn-bg-app);color:var(--tn-text);color-scheme:light}.adaptive-icon{filter:brightness(0) saturate(100%)}.app-shell[data-theme=dark] .adaptive-icon,[data-theme=dark] .adaptive-icon{filter:brightness(0) saturate(100%) invert(1)}.app-shell[data-theme=dark],[data-theme=dark]{--tn-bg-app: #171717;--tn-bg-canvas: #212121;--tn-bg-surface: #262626;--tn-bg-surface-muted: #2f2f2f;--tn-border: #333333;--tn-border-strong: #444444;--tn-text: #f5f5f5;--tn-text-secondary: #c4c4c4;--tn-text-muted: #8a8a8a;--tn-accent: #3b82f6;--tn-accent-strong: #60a5fa;--tn-danger-bg: #450a0a;--tn-danger-text: #fecaca;color-scheme:dark}.route-motion-shell{flex:1;min-height:0;display:flex;flex-direction:column}.route-motion-content{flex:1;min-height:0;opacity:1;transform:none}.route-motion-shell[data-motion-phase=exit] .route-motion-content{animation:route-motion-exit var(--motion-duration-exit) var(--motion-ease-standard) both;pointer-events:none}.route-motion-shell[data-motion-phase=enter] .route-motion-content{animation:route-motion-enter var(--motion-duration-enter) var(--motion-ease-emphasis) both}.route-motion-shell[data-motion-phase=idle] .route-motion-content{opacity:1;transform:none}.route-motion-shell--auth{min-height:100vh}.route-motion-content--auth{display:flex;flex-direction:column}.app-surface:not(.app-surface--stagger){animation:app-surface-in var(--motion-duration-enter) var(--motion-ease-emphasis) both}.app-surface--stagger>.app-surface-item{opacity:0;transform:translateY(var(--motion-distance-sm));animation:app-surface-in var(--motion-duration-enter) var(--motion-ease-emphasis) both;animation-delay:calc(var(--surface-stagger-index, 0) * var(--motion-stagger-step))}.app-surface-item--1{--surface-stagger-index: 1}.app-surface-item--2{--surface-stagger-index: 2}.app-surface-item--3{--surface-stagger-index: 3}.app-surface-item--4{--surface-stagger-index: 4}.app-surface-item--5{--surface-stagger-index: 5}.app-surface-item--6{--surface-stagger-index: 6}.app-surface-item--7{--surface-stagger-index: 7}:where(.topbar-btn,.topbar-lecture-item,.homepage-lecture-card--interactive,.homepage-v2-section-toggle,.homepage-course-group-chevron,.program-picker-trigger-chevron,.course-picker-trigger-chevron,.course-picker-group-chevron,.upload-progress-fill,.progress-bar-fill,.panel-tab,.admin-panel-add-toggle-btn,.admin-panel-tab,.admin-panel-secondary-btn,.admin-panel-create-btn,.admin-panel-reject-btn,.profile-action-btn,.profile-collapsible-header,.auth-input,.auth-btn,.auth-password-toggle,.auth-inline-link){transition-duration:var(--motion-duration-fast);transition-timing-function:var(--motion-ease-standard)}.general-assistant-layout{--tn-accent: #f97316;--tn-accent-strong: #ea580c}.general-assistant-layout .chat-bubble--user{border-color:color-mix(in srgb,var(--tn-border) 80%,var(--tn-accent) 20%)}.general-assistant-layout .chat-bubble--user .chat-bubble__toggle:hover{color:var(--tn-accent)}.app-shell[data-theme=dark] .general-assistant-layout{--tn-accent: #fb923c;--tn-accent-strong: #fdba74}.access-code-gate{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1rem;background:var(--tn-bg-canvas, #f8fafc);color:var(--tn-text, #0f172a)}.access-code-gate-title{margin:0;font-size:1.5rem;font-weight:700}.access-code-gate-subtitle{margin:0;color:var(--tn-text-secondary, #475569)}.access-code-gate-form{width:260px;display:flex;flex-direction:column;gap:.5rem}.access-code-gate-input{width:100%;min-height:var(--btn-min-height);padding:.5rem .75rem;border-radius:var(--btn-radius);border:1px solid var(--tn-border-strong, #cbd5e1);background:var(--tn-bg-surface, #fff);color:var(--tn-text, #0f172a);font-size:1rem}.access-code-gate-input--error{border-color:var(--tn-danger-text, #b91c1c)}.access-code-gate-input:focus-visible{outline:var(--btn-focus-ring);outline-offset:var(--btn-focus-offset)}.access-code-gate-error{margin:0;color:var(--tn-danger-text, #b91c1c);font-size:.85rem}.access-code-gate-submit{width:100%}.topbar-shell{position:sticky;top:0;z-index:130;display:flex;justify-content:center;padding:0;background:var(--tn-bg-surface);border-bottom:1px solid var(--tn-border)}.topbar-capsule{width:100%;max-width:1100px;min-height:52px;padding:0 var(--app-inline-inset) 0 calc(var(--app-inline-inset) / 2);display:flex;align-items:center;justify-content:flex-start;gap:.25rem;border:none;border-radius:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}.topbar-capsule>*+*{position:relative;margin-left:.2rem;padding-left:.7rem}.topbar-capsule>*+*:before{content:"";position:absolute;left:0;top:50%;width:1px;height:16px;transform:translateY(-50%);background:var(--tn-border-strong);display:none}.topbar-brand+*:before{display:block}.topbar-brand{min-width:fit-content;border:none;border-radius:0;padding:.2rem .25rem;background:transparent;color:var(--tn-text);font-size:.96rem;font-weight:700;letter-spacing:-.01em;line-height:1.1;text-decoration:none}.topbar-brand--link{cursor:pointer}.topbar-brand--link:hover{opacity:.7}.topbar-lectures{position:relative;display:flex;align-items:center;min-width:0}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:.2rem}.topbar-actions>*+*{position:relative;margin-left:.2rem;padding-left:.7rem}.topbar-actions>*+*:before{content:"";position:absolute;left:0;top:50%;width:1px;height:16px;transform:translateY(-50%);background:var(--tn-border-strong);display:none}.topbar-actions>*:last-child:before{display:none}.topbar-btn{min-height:var(--btn-min-height);border:1px solid transparent;border-radius:var(--btn-radius);padding:var(--btn-padding-y) var(--btn-padding-x);display:inline-flex;align-items:center;justify-content:center;gap:var(--btn-gap);background:transparent;color:var(--tn-text-secondary);font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard)}.topbar-btn--ghost{border-color:transparent}.topbar-btn--ghost:hover{background:var(--tn-bg-surface-muted);color:var(--tn-text)}.topbar-btn--large{font-size:1.25rem;min-width:var(--btn-min-height);padding-left:.5rem;padding-right:.5rem}.topbar-btn--primary{background:color-mix(in srgb,var(--tn-accent) 14%,transparent);border-radius:var(--btn-radius);border:1px solid color-mix(in srgb,var(--tn-accent) 40%,transparent);color:var(--tn-accent-strong);font-weight:700}.topbar-btn--primary:hover:not(:disabled){background:color-mix(in srgb,var(--tn-accent) 22%,transparent);border-color:color-mix(in srgb,var(--tn-accent) 55%,transparent);color:var(--tn-accent-strong)}.topbar-lectures-trigger{min-width:98px;justify-content:flex-start}.topbar-lectures-chevron{font-size:.58rem;transition:transform var(--motion-duration-fast) var(--motion-ease-standard)}.topbar-lectures-chevron--open{transform:rotate(180deg)}.topbar-btn:focus-visible{outline:var(--btn-focus-ring);outline-offset:var(--btn-focus-offset)}.topbar-assistant-text{display:inline}@media(max-width:900px){.topbar-assistant-text{display:none}}.topbar-settings-menu{position:relative;display:inline-block;margin-left:auto}.topbar-settings-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:220px;display:flex;flex-direction:column;gap:.15rem;padding:.4rem;border-radius:var(--radius-md);border:1px solid var(--tn-border);background:var(--tn-bg-surface);box-shadow:0 2px 8px #0000001a;z-index:200}.topbar-settings-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:.35rem .75rem;gap:.75rem}.topbar-settings-toggle-label{font-size:.79rem;font-weight:500;color:var(--tn-text-secondary);white-space:nowrap}.topbar-settings-toggle-row--font{flex-direction:column;align-items:stretch;gap:.4rem}.topbar-font-preset-picker{width:100%}.topbar-settings-divider{border:none;border-top:1px solid var(--tn-border);margin:.25rem 0}.topbar-settings-item{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid transparent;border-radius:var(--btn-radius);min-height:var(--btn-min-height);padding:var(--btn-padding-y) var(--btn-padding-x);background:transparent;color:var(--tn-text);font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);line-height:1.2;text-align:center;cursor:pointer;transition:background var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard)}.topbar-settings-item:hover{background:var(--tn-bg-surface-muted)}.topbar-settings-logout{color:var(--tn-danger-text)}.topbar-settings-logout:hover{background:var(--tn-danger-bg)}.app-shell[data-theme=dark] .topbar-settings-dropdown{box-shadow:0 2px 8px #0000004d}.topbar-lectures-menu{position:absolute;top:calc(100% + 6px);left:0;width:min(380px,calc(100vw - (var(--app-inline-inset) * 2)));max-height:360px;overflow-y:auto;display:flex;flex-direction:column;gap:.15rem;padding:.4rem;border-radius:var(--radius-md);border:1px solid var(--tn-border);background:var(--tn-bg-surface);box-shadow:0 18px 40px #0f172a2e}.topbar-lectures-loading{display:flex;align-items:center;gap:.45rem;padding:.6rem .55rem;font-size:.8125rem;color:var(--tn-text-muted)}.topbar-lectures-empty{margin:.35rem 0;padding:.35rem .55rem;font-size:.8125rem;color:var(--tn-text-muted)}.topbar-lecture-item{width:100%;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--tn-text-secondary);padding:.5rem .6rem;display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;text-align:left;cursor:pointer}.topbar-lecture-item:hover{background:var(--tn-bg-surface-muted);color:var(--tn-text)}.topbar-lecture-item--active{background:color-mix(in srgb,var(--tn-accent) 14%,var(--tn-bg-surface));color:var(--tn-text)}.topbar-lecture-item-name{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:600}.topbar-lecture-item-date{font-size:.68rem;color:var(--tn-text-muted)}.topbar-lecture-item--active .topbar-lecture-item-date{color:var(--tn-text-secondary)}.app-shell[data-theme=dark] .topbar-btn--primary,.app-shell[data-theme=dark] .topbar-btn--primary:hover:not(:disabled){color:var(--tn-accent-strong)}.topbar-actions .toggle-switch{min-width:80px}.topbar-actions .toggle-switch+*{margin-left:.2rem!important;padding-left:.7rem!important}.topbar-actions .toggle-switch+*:before{content:"";position:absolute;left:0;top:50%;width:1px;height:16px;transform:translateY(-50%);background:var(--tn-border-strong);display:none}.topbar-actions .toggle-switch:last-child+*:before{display:none}.main-content{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;position:relative;background:var(--tn-bg-canvas);color:var(--tn-text)}.main-content>.route-motion-shell{flex:0 1 auto;min-height:100%}.main-content>.route-motion-shell--main{flex:0 0 auto;min-height:auto}.route-motion-content--main{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.main-content>.route-motion-shell--main .route-motion-content--main{flex:0 0 auto}.main-content--workspace>.route-motion-shell--main{flex:0 1 auto;min-height:100%}.main-content--workspace .route-motion-content--main{flex:1 1 auto;min-height:0}.main-content--assistant>.route-motion-shell--main{flex:0 1 auto;min-height:100%}.main-content--assistant>.route-motion-shell--main .route-motion-content--main{flex:1 1 auto;min-height:0}.main-content--assistant .main-page-canvas{display:flex;flex-direction:column;padding-top:.8rem}.main-content--assistant .general-assistant-layout{flex:1 1 auto;min-height:0;height:auto}.main-page-canvas{flex:1 1 auto;min-height:0;width:100%;background:var(--tn-bg-canvas)}.workspace-page{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:.5rem 1.5rem 20vh;background:var(--tn-bg-canvas)}.all-lectures-page{flex:1}.main-content--admin{overflow-y:scroll;scrollbar-gutter:stable both-edges}.main-content--admin>.route-motion-shell{flex:0 0 auto;min-height:100%}.main-content--admin .route-motion-content--main{flex:0 0 auto}.welcome-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--tn-text-secondary);padding:2rem}.welcome-icon{font-size:3rem;margin-bottom:1rem}.welcome-title{margin:0 0 .5rem;font-size:1.25rem;font-weight:700;color:var(--tn-text)}.welcome-sub{margin:0;font-size:.9rem;color:var(--tn-text-secondary)}.welcome-link-btn{background:none;border:none;padding:0;color:var(--tn-accent);font-size:.9rem;font-weight:600;cursor:pointer;display:inline;text-decoration:underline;text-underline-offset:2px}.welcome-link-btn:hover{color:var(--tn-accent-strong);background:none}.workspace-upload-placeholder{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;padding:2rem;text-align:center;color:var(--tn-text-secondary)}.workspace-upload-placeholder-title{margin:0;font-size:1.1rem;font-weight:700;color:var(--tn-text)}.workspace-upload-placeholder-subtitle{margin:0;font-size:.92rem;color:var(--tn-text-secondary)}.workspace-upload-placeholder-status{margin:0;display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;color:var(--tn-text-secondary)}.workspace-upload-placeholder-preview{width:min(560px,100%);border:1px solid var(--tn-border-strong);border-radius:var(--radius-md);overflow:hidden;background:var(--tn-bg-surface);box-shadow:0 8px 20px #0f172a14}.workspace-upload-placeholder-preview-image{width:100%;height:auto;max-height:320px;object-fit:contain;display:block}.workspace-upload-placeholder-preview-name{margin:0;padding:.65rem .85rem;border-top:1px solid var(--tn-border);font-size:.82rem;font-weight:600;color:var(--tn-text);background:var(--tn-bg-surface)}.homepage{padding:1.5rem 1.5rem 3.5rem;border-radius:var(--radius-lg)}.homepage--catalog{display:flex;flex-direction:column;gap:1.35rem;background:var(--tn-bg-app);min-height:100%}.homepage-search-shell{display:flex;justify-content:center;padding-top:.25rem}.homepage-search-input{width:min(280px,100%);height:36px;border:1px solid var(--tn-border);border-radius:var(--radius-sm);background:var(--tn-bg-surface);color:var(--tn-text);font-size:.88rem;padding:0 .8rem;outline:none;transition:all .15s ease}.homepage-search-input::placeholder{color:var(--tn-text-muted)}.homepage-search-input:hover{border-color:var(--tn-border-strong);background:var(--tn-bg-canvas)}.homepage-search-input:focus{border-color:var(--tn-accent);box-shadow:0 0 0 2.5px #3b82f61a;background:var(--tn-bg-canvas)}.homepage-section{display:flex;flex-direction:column;gap:.6rem}.homepage-course-group{display:flex;flex-direction:column;gap:.4rem}button.homepage-course-toggle{all:unset;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.35rem .2rem;border-radius:var(--radius-sm);cursor:pointer;box-sizing:border-box}button.homepage-course-toggle:hover:not(:disabled){background:var(--tn-bg-surface-muted)}button.homepage-course-toggle:hover:not(:disabled) .homepage-course-group-title{text-decoration:underline}button.homepage-course-toggle:focus-visible{outline:2px solid #9ca3af;outline-offset:2px}.homepage-course-group-title{margin:0;color:var(--tn-text);font-size:1rem;font-weight:700;letter-spacing:.01em;display:inline-flex;align-items:baseline;gap:.45rem}.homepage-course-group-title small{color:var(--tn-text-muted);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.homepage-course-group-count{color:var(--tn-text-secondary);font-size:.82rem;font-weight:600}.homepage-course-group-meta{display:inline-flex;align-items:center;gap:.55rem}.homepage-course-group-chevron{color:var(--tn-text-secondary);font-size:.8rem;line-height:1;transition:transform .15s ease}.homepage-course-toggle--open .homepage-course-group-chevron{transform:rotate(180deg)}.homepage-section-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:0 .1rem}.homepage-section-heading h2{margin:0;color:var(--tn-accent-strong);font-size:2rem;font-weight:500;letter-spacing:-.02em}.homepage-section-heading span{color:var(--tn-text-secondary);font-size:.9rem;font-weight:600}.homepage-carousel{display:flex;gap:1rem;overflow-x:auto;padding:.25rem .15rem .5rem;scroll-snap-type:x mandatory}.homepage-carousel::-webkit-scrollbar{height:10px}.homepage-carousel::-webkit-scrollbar-thumb{border-radius:var(--radius-pill);background:var(--tn-border-strong)}.homepage-carousel::-webkit-scrollbar-track{background:transparent}.homepage-lecture-card,.homepage-lecture-card--placeholder{flex:0 0 min(85vw,320px);border:1px solid var(--tn-border-strong);border-radius:var(--radius-sm);overflow:hidden;background:var(--tn-bg-surface);display:flex;flex-direction:column;padding:0;margin:0;text-align:left;scroll-snap-align:start;align-items:stretch;justify-content:flex-start;gap:0}.homepage-lecture-card--interactive{cursor:pointer;transition:border-color .15s,background-color .15s,box-shadow .15s;appearance:none;-webkit-appearance:none}.homepage-lecture-card--interactive:focus-visible{outline:2px solid #9ca3af;outline-offset:2px}.homepage-lecture-card--interactive:hover{background:var(--tn-bg-surface-muted);border-color:var(--tn-border-strong)}.homepage-lecture-preview{width:100%;height:190px;background:var(--tn-border-strong);display:flex;align-items:center;justify-content:center;overflow:hidden}.homepage-lecture-preview .react-pdf__Document,.homepage-lecture-preview .react-pdf__Page{width:100%;height:100%}.homepage-lecture-preview canvas{width:100%!important;height:100%!important;object-fit:cover;display:block}.homepage-preview-fallback{width:100%;height:100%;background:#334155;color:#e5e7eb;display:flex;align-items:center;justify-content:center;text-align:center;margin:0;padding:.8rem;font-size:.82rem;font-weight:600;letter-spacing:.01em}.homepage-lecture-preview--placeholder{background:#334155;color:#e5e7eb;font-size:.84rem;font-weight:600}.homepage-lecture-info{width:100%;min-height:88px;max-height:88px;border-top:1px solid var(--tn-border-strong);background:var(--tn-bg-surface-muted);padding:.62rem .78rem;display:flex;flex-direction:column;gap:.28rem;overflow:hidden}.homepage-lecture-course-id{margin:0;color:var(--tn-text);font-size:.95rem;line-height:1.2;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.homepage-lecture-label{margin:0;color:var(--tn-text-secondary);font-size:.82rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.homepage-lecture-card--interactive:hover .homepage-lecture-info{background:var(--tn-bg-app);border-top-color:var(--tn-border-strong)}.homepage-lecture-card--placeholder{cursor:default;pointer-events:none}.homepage-loading{display:flex;justify-content:center;padding:1.15rem 0}.homepage-empty{margin:.1rem;color:var(--tn-text-secondary);font-size:.9rem}.homepage-v2{display:flex;flex-direction:column;gap:1.4rem;background:var(--tn-bg-canvas);border-radius:var(--radius-lg)}.homepage-v2-header{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;padding-top:.5rem;padding-bottom:.25rem}.homepage-v2-header .homepage-search-input{width:min(280px,100%)}.homepage-v2-course-create{border:1px solid var(--tn-border);border-radius:var(--radius-lg);background:var(--tn-bg-surface);box-shadow:0 8px 22px #0f172a0a;padding:.95rem 1.15rem;display:flex;flex-direction:column;gap:.55rem}.homepage-v2-course-create-label{margin:0;font-size:.85rem;font-weight:700;color:var(--tn-text-secondary);text-transform:uppercase;letter-spacing:.04em}.homepage-v2-course-create-controls{display:flex;align-items:center;gap:.6rem}.homepage-v2-course-create-controls .course-picker{flex:1;min-width:180px}.homepage-v2-course-create-add-btn{min-height:40px;border:1px solid var(--tn-border-strong);border-radius:var(--radius-sm);background:var(--tn-accent);color:#fff;font-size:.86rem;font-weight:700;padding:0 .95rem;cursor:pointer}.homepage-v2-course-create-add-btn:hover:not(:disabled){background:var(--tn-accent-strong)}.homepage-v2-course-create-add-btn:disabled{cursor:not-allowed;opacity:.56}.homepage-v2-course-create-help{margin:0;font-size:.8rem;color:var(--tn-text-secondary)}.homepage-v2-tabs{display:flex;align-items:center;gap:.3rem}.homepage-v2-tab{all:unset;height:34px;border-radius:var(--radius-sm);padding:0 .9rem;font-size:.85rem;font-weight:600;color:var(--tn-text-secondary);cursor:pointer;transition:background .12s,color .12s}.homepage-v2-tab:hover{background:var(--tn-bg-surface-muted);color:var(--tn-text)}.homepage-v2-tab--active{background:var(--tn-accent);color:#fff}.homepage-v2-tab--active:hover{background:var(--tn-accent-strong);color:#fff}.app-shell[data-theme=dark] .homepage-v2-tab--active,.app-shell[data-theme=dark] .homepage-v2-tab--active:hover{color:#0b1220}.homepage-v2-count{margin-left:auto;color:var(--tn-text-muted);font-size:.78rem;font-weight:500}.homepage-v2-filters{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.25rem;padding-top:.1rem}.homepage-v2-filters::-webkit-scrollbar{height:4px}.homepage-v2-filters::-webkit-scrollbar-thumb{border-radius:var(--radius-pill);background:var(--tn-border-strong)}.homepage-v2-filters::-webkit-scrollbar-track{background:transparent}.homepage-v2-chip{all:unset;white-space:nowrap;height:28px;border-radius:var(--radius-pill);padding:0 .85rem;font-size:.78rem;font-weight:600;color:var(--tn-text-secondary);background:var(--tn-bg-surface);border:1px solid var(--tn-border-strong);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.homepage-v2-chip:hover{background:var(--tn-bg-surface-muted);border-color:var(--tn-border-strong)}.homepage-v2-chip--active{background:var(--tn-accent);color:#fff;border-color:var(--tn-accent)}.homepage-v2-chip--active:hover{background:var(--tn-accent-strong);border-color:var(--tn-accent-strong)}.app-shell[data-theme=dark] .homepage-v2-chip--active,.app-shell[data-theme=dark] .homepage-v2-chip--active:hover{color:#0b1220}.homepage-v2-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),220px));gap:18px;justify-content:start;align-content:start}.homepage-v2-card{all:unset;width:100%;border:1px solid var(--tn-border);border-radius:var(--radius-md);overflow:hidden;background:var(--tn-bg-surface);display:flex;flex-direction:column;cursor:pointer;transition:border-color .15s,box-shadow .15s;box-sizing:border-box;text-align:left}.homepage-v2-card:hover{border-color:var(--tn-border-strong);box-shadow:0 10px 24px #0f172a17}.homepage-v2-card--carousel{flex:0 0 min(280px,82vw);width:min(280px,82vw)}.homepage-v2-card:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.homepage-v2-card-preview{width:100%;aspect-ratio:16 / 9;background:var(--tn-border-strong);display:flex;align-items:center;justify-content:center;overflow:hidden}.homepage-v2-card-preview .react-pdf__Document,.homepage-v2-card-preview .react-pdf__Page{width:100%;height:100%;display:block}.homepage-v2-card-preview canvas{width:100%!important;height:100%!important;object-fit:contain;object-position:center;display:block}.homepage-preview-image{width:100%;height:100%;object-fit:contain;object-position:center;display:block}.homepage-v2-section{display:flex;flex-direction:column;border:1px solid var(--tn-border);border-radius:var(--radius-lg);background:var(--tn-bg-surface);box-shadow:0 8px 22px #0f172a0a;overflow:hidden}.homepage-v2-section--picker-open{position:relative;overflow:visible;z-index:30}.homepage-v2-section-header{border-bottom:1px solid var(--tn-border);background:linear-gradient(180deg,var(--tn-bg-surface) 0%,var(--tn-bg-surface-muted) 100%);position:relative;z-index:2}.homepage-v2-section-header-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 1.15rem}.homepage-v2-section-heading-row{min-width:0;display:inline-flex;align-items:center;gap:.55rem}.homepage-v2-section-toggle{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;padding:.2rem;border-radius:var(--radius-sm);cursor:pointer}.homepage-v2-section-toggle:hover{background:var(--tn-bg-surface-muted)}.homepage-v2-section-toggle:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.homepage-v2-section-heading{margin:0;font-size:1rem;font-weight:800;letter-spacing:.01em;color:var(--tn-text)}.homepage-v2-section-add-btn{min-width:1.85rem;height:1.85rem;border:1px solid var(--tn-border-strong);border-radius:var(--radius-pill);background:var(--tn-bg-surface);color:var(--tn-text-secondary);font-size:1.12rem;font-weight:700;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.homepage-v2-section-add-wrap{position:relative;display:inline-flex;align-items:center;isolation:isolate}.homepage-v2-section-add-btn--active{background:var(--tn-bg-surface-muted);color:var(--tn-text)}.homepage-v2-section-add-grow{position:absolute;top:50%;left:calc(100% + .45rem);width:min(360px,62vw);transform-origin:left center;animation:homepage-course-picker-grow var(--motion-duration-base) var(--motion-ease-standard);z-index:25}.homepage-v2-course-add-popover{border:1px solid var(--tn-border-strong);border-radius:var(--radius-sm);background:var(--tn-bg-surface);box-shadow:0 12px 24px #0f172a21;width:100%;max-height:300px;overflow-y:auto;padding:.35rem}.homepage-v2-course-add-list{margin-left:0;border-left:none;padding-left:.12rem}@keyframes homepage-course-picker-grow{0%{opacity:0;transform:translate(-.35rem) scaleX(.18) scaleY(.8)}to{opacity:1;transform:translate(0) scaleX(1) scaleY(1)}}.homepage-v2-section-add-btn:hover{background:var(--tn-bg-surface-muted);color:var(--tn-text)}.homepage-v2-section-add-btn:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.homepage-v2-section-header-meta{display:inline-flex;align-items:center;gap:.65rem;flex-shrink:0}.homepage-v2-section-count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 .6rem;border-radius:var(--radius-pill);background:var(--tn-bg-surface-muted);font-size:.82rem;font-weight:800;color:var(--tn-text-secondary)}.homepage-v2-section-chevron{font-size:.9rem;color:var(--tn-text-muted);transform:rotate(0);transition:transform var(--motion-duration-base) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard)}.homepage-v2-section-chevron--expanded{transform:rotate(180deg)}.homepage-v2-section-toggle:hover .homepage-v2-section-chevron{color:var(--tn-text-secondary)}.homepage-v2-section-body{padding:1.05rem 1.15rem 1.15rem;background:var(--tn-bg-canvas);position:relative;z-index:1}.homepage-v2-course-add-inline{margin-bottom:.9rem}.homepage-v2-course-row-header{padding:.95rem 1.15rem;border-bottom:1px solid var(--tn-border);background:linear-gradient(180deg,var(--tn-bg-surface) 0%,var(--tn-bg-surface-muted) 100%);display:flex;align-items:center;justify-content:space-between;gap:.95rem}.homepage-v2-course-row-title-wrap{min-width:0;display:flex;align-items:baseline;gap:.55rem}.homepage-v2-course-row-title{margin:0;font-size:1rem;font-weight:800;color:var(--tn-text);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.homepage-v2-course-row-code{display:inline-flex;align-items:center;justify-content:center;min-height:1.5rem;padding:0 .55rem;border-radius:var(--radius-pill);background:var(--tn-bg-surface);border:1px solid var(--tn-border-strong);font-size:.76rem;font-weight:700;color:var(--tn-text-secondary);text-transform:uppercase;letter-spacing:.04em}.homepage-v2-course-row-remove-btn{border:1px solid var(--tn-border-strong);border-radius:var(--radius-sm);background:var(--tn-bg-surface);color:var(--tn-text-secondary);font-size:.78rem;font-weight:700;min-height:32px;padding:0 .72rem;cursor:pointer;white-space:nowrap}.homepage-v2-course-row-remove-btn:hover{background:var(--tn-bg-surface-muted);color:var(--tn-text)}.homepage-v2-course-row-remove-btn:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.homepage-v2-course-carousel{display:flex;gap:1rem;overflow-x:auto;padding-bottom:.2rem}.homepage-v2-course-carousel::-webkit-scrollbar{height:8px}.homepage-v2-course-carousel::-webkit-scrollbar-thumb{border-radius:var(--radius-pill);background:var(--tn-border-strong)}.homepage-v2-course-carousel::-webkit-scrollbar-track{background:transparent}.homepage-v2-course-card{position:relative;width:100%}.homepage-v2-course-card-main{width:100%}.homepage-v2-course-card-meta{min-height:124px}.homepage-v2-course-card-count{margin:0;font-size:.8rem;font-weight:600;color:var(--tn-text-secondary)}.course-lectures-page,.search-results-page{gap:1rem}.course-lectures-page-header,.search-results-page-header{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding-bottom:.5rem}.course-lectures-page-back-btn{min-height:var(--btn-min-height);border:1px solid var(--tn-border);border-radius:var(--btn-radius);background:var(--tn-bg-surface);color:var(--tn-text);font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);letter-spacing:.02em;padding:var(--btn-padding-y) var(--btn-padding-x);cursor:pointer;transition:background var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard),transform var(--motion-duration-fast) var(--motion-ease-standard);text-transform:uppercase;position:relative;flex-shrink:0}.search-results-page-back-btn{min-height:32px;border:1px solid var(--tn-border);border-radius:var(--radius-sm);background:var(--tn-bg-surface);color:var(--tn-text);font-size:.78rem;font-weight:700;letter-spacing:.02em;padding:.5rem .9rem;cursor:pointer;transition:all .15s ease;text-transform:uppercase;position:relative;flex-shrink:0}.course-lectures-page-back-btn:hover,.search-results-page-back-btn:hover{background:var(--tn-bg-surface-muted);border-color:var(--tn-border-strong)}.course-lectures-page-back-btn:active,.search-results-page-back-btn:active{transform:scale(.98)}.course-lectures-page-back-btn:focus-visible{outline:var(--btn-focus-ring);outline-offset:var(--btn-focus-offset)}.search-results-page-back-btn:focus-visible{outline:2px solid var(--tn-accent);outline-offset:2px}.course-lectures-page-remove-btn{min-height:var(--btn-min-height);border:1px solid transparent;border-radius:var(--btn-radius);background:transparent;color:var(--tn-text-secondary);font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);letter-spacing:.02em;padding:var(--btn-padding-y) var(--btn-padding-x);cursor:pointer;transition:background var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard),transform var(--motion-duration-fast) var(--motion-ease-standard);text-transform:uppercase}.course-lectures-page-remove-btn:hover{background:#ef444414;color:#ef4444}.course-lectures-page-remove-btn:active{transform:scale(.98)}.course-lectures-page-remove-btn:focus-visible{outline:var(--btn-focus-ring);outline-offset:var(--btn-focus-offset)}.course-lectures-page-header-meta,.search-results-page-header-meta{display:inline-flex;align-items:center;gap:.55rem;min-width:0;flex-wrap:wrap}.course-lectures-page-title,.search-results-page-title{margin:0;font-size:1.28rem;font-weight:700;color:var(--tn-text);letter-spacing:-.01em;line-height:1.2}.course-lectures-page-count,.search-results-page-count{font-size:.75rem;font-weight:500;color:var(--tn-text-secondary);letter-spacing:.03em;text-transform:uppercase}.homepage-v2-card-meta{padding:.82rem .95rem .95rem;min-height:106px;display:flex;flex-direction:column;gap:.38rem;border-top:1px solid var(--tn-border);background:var(--tn-bg-canvas)}.homepage-v2-card:hover .homepage-v2-card-meta{background:var(--tn-bg-surface-muted);border-top-color:var(--tn-border-strong)}.lecture-card-cache-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#22c55e;font-variant-numeric:tabular-nums;margin-top:2px}.lecture-card-cache-dot{width:7px;height:7px;border-radius:50%;background:#22c55e;animation:cache-dot-breathe 2s ease-in-out infinite;flex-shrink:0}@keyframes cache-dot-breathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.75)}}.homepage-v2-course-tag{display:block;font-size:.82rem;font-weight:800;color:var(--tn-accent-strong);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.homepage-v2-card-title{margin:0;font-size:1rem;font-weight:600;color:var(--tn-text);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.homepage-v2-empty{margin:2rem 0 1.2rem;color:var(--tn-text-secondary);font-size:.98rem;text-align:center;grid-column:1 / -1}.homepage-v2-zero-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.2rem;padding:3rem 1.5rem;text-align:center}.homepage-v2-zero-state-body{color:var(--tn-text-secondary);font-size:1rem;margin:0}.homepage-v2-zero-state-btn{font-size:.95rem}.all-lectures-placeholder{margin:2.5rem auto;max-width:640px;width:calc(100% - 2.5rem);background:var(--tn-bg-surface);border:1px solid var(--tn-border);border-radius:var(--radius-md);padding:1.5rem}.all-lectures-placeholder h1{margin:0;font-size:1.35rem;color:var(--tn-text)}.all-lectures-placeholder p{margin:.8rem 0 1.1rem;color:var(--tn-text-secondary);line-height:1.55}.spinner--dark-sm{width:14px;height:14px;border:2px solid var(--tn-border);border-top-color:var(--tn-text-secondary);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}.results-lecture-meta{display:flex;flex:1;min-width:0;flex-direction:column;gap:.1rem}.results-lecture-name{font-weight:600;font-size:.9rem;color:var(--tn-text);min-width:0}.results-lecture-uploaded-by{font-size:.73rem;color:var(--tn-text-secondary);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.results-meta-overlay{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:0 .55rem .08rem}.results-meta-overlay .results-lecture-meta{gap:.04rem;min-width:0}.results-meta-overlay .results-lecture-name{font-size:.9rem;line-height:1.2;white-space:normal;overflow:visible;text-overflow:clip;word-break:break-word;text-shadow:0 1px 2px rgba(248,250,252,.7)}.results-meta-overlay .results-lecture-uploaded-by{font-size:.73rem;max-width:none;white-space:normal;overflow:visible;text-overflow:clip;word-break:break-word;text-shadow:0 1px 2px rgba(248,250,252,.7)}.results-meta-overlay .results-actions-menu{flex:0 0 auto;margin-left:.4rem}.results-meta-overlay .results-actions-toggle{width:1.68rem;height:1.68rem;border-radius:var(--radius-pill)}@media(max-width:920px){.results-meta-overlay .results-lecture-name{font-size:.84rem}.results-meta-overlay .results-lecture-uploaded-by{font-size:.68rem}}.slide-nav-extra{position:relative;display:flex;align-items:center}.slide-nav-btn--extra{border-color:transparent;color:var(--tn-text-muted, var(--tn-text-secondary))}.slide-nav-btn--extra:hover,.slide-nav-btn--extra-open{border-color:var(--tn-border-strong)!important;background:var(--tn-bg-surface-muted)!important;color:var(--tn-text)!important}.results-actions-dropdown{position:absolute;bottom:calc(100% + 4px);right:0;background:var(--tn-bg-surface);border:1px solid var(--tn-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);min-width:10rem;overflow:hidden}.results-actions-item{display:block;width:100%;padding:.55rem .9rem;text-align:left;background:transparent;border:none;font-size:.875rem;cursor:pointer;color:var(--tn-text)}.results-actions-item:hover{background:var(--tn-bg-overlay-hover, rgba(0,0,0,.06))}.results-actions-item--remove{color:var(--tn-danger, #e53e3e)}.results-actions-item--remove:hover{background:var(--tn-danger-bg, rgba(229,62,62,.08))}.slide-nav-inline-panel{padding:.6rem;display:flex;flex-direction:column;gap:.5rem;min-width:220px}.slide-nav-inline-input{width:100%;box-sizing:border-box;padding:.4rem .6rem;border-radius:var(--radius-xs);border:1px solid var(--tn-border-strong);background:var(--tn-bg-surface-muted);color:var(--tn-text);font-size:.875rem}.slide-nav-inline-input:focus{outline:none;border-color:var(--tn-accent)}.slide-nav-inline-actions{display:flex;justify-content:flex-end;gap:.4rem}.slide-nav-inline-btn{padding:.3rem .7rem;font-size:.8rem;border-radius:var(--radius-xs);border:1px solid var(--tn-border-strong);background:var(--tn-bg-surface);color:var(--tn-text-secondary);cursor:pointer}.slide-nav-inline-btn:hover:not(:disabled){background:var(--tn-bg-surface-muted)}.slide-nav-inline-btn--confirm{background:var(--tn-accent);border-color:var(--tn-accent);color:#fff}.slide-nav-inline-btn--confirm:hover:not(:disabled){background:var(--tn-accent-strong);border-color:var(--tn-accent-strong)}.slide-nav-inline-btn:disabled{opacity:.5;cursor:not-allowed}.demo-pill{border-radius:var(--radius-pill);border:1px solid color-mix(in srgb,var(--tn-accent) 36%,transparent);background:color-mix(in srgb,var(--tn-accent) 14%,transparent);color:var(--tn-accent-strong);padding:.18rem .58rem;font-size:.72rem;font-weight:700;letter-spacing:.02em}.banner{padding:.6rem 1rem;font-size:.9rem}.banner.error{background:var(--tn-danger-bg);color:var(--tn-danger-text);border-bottom:1px solid color-mix(in srgb,var(--tn-danger-text) 36%,transparent)}.banner.success{background:#ecfdf3;color:#166534;border-bottom:1px solid #86efac}.banner.info{background:color-mix(in srgb,var(--tn-accent) 12%,transparent);color:var(--tn-accent-strong);border-bottom:1px solid color-mix(in srgb,var(--tn-accent) 30%,transparent)}.process-toast{position:fixed;right:1rem;bottom:1rem;z-index:220;width:min(420px,calc(100vw - 2rem));border-radius:var(--radius-sm);border:1px solid var(--tn-border-strong);background:var(--tn-bg-surface);box-shadow:0 16px 30px #0f172a2e;padding:.75rem .85rem;display:flex;flex-direction:column;gap:.7rem;animation:app-surface-in var(--motion-duration-enter) var(--motion-ease-emphasis) both}.process-toast--success{border-color:#86efac;background:#f0fdf4}.process-toast--error{border-color:color-mix(in srgb,var(--tn-danger-text) 36%,transparent);background:var(--tn-danger-bg)}.process-toast--info{border-color:color-mix(in srgb,var(--tn-accent) 36%,transparent);background:color-mix(in srgb,var(--tn-accent) 12%,transparent)}.process-toast-text{margin:0;font-size:.88rem;line-height:1.4;color:var(--tn-text)}.process-toast-actions{display:flex;align-items:center;justify-content:flex-end;gap:.45rem}.process-toast-open-btn,.process-toast-dismiss-btn{height:32px;border-radius:var(--radius-sm);font-size:.8rem;font-weight:700;padding:0 .8rem}.process-toast-open-btn{border:1px solid var(--tn-accent);background:var(--tn-accent);color:#fff}.process-toast-open-btn:hover:not(:disabled){background:var(--tn-accent-strong);border-color:var(--tn-accent-strong)}.process-toast-dismiss-btn{border:1px solid var(--tn-border-strong);background:var(--tn-bg-surface);color:var(--tn-text-secondary)}.process-toast-dismiss-btn:hover:not(:disabled){background:var(--tn-bg-surface-muted)}.app-shell[data-theme=dark] .process-toast-open-btn,.app-shell[data-theme=dark] .process-toast-open-btn:hover:not(:disabled){color:#0b1220}@keyframes overlay-enter{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes overlay-highlight{0%,to{box-shadow:0 8px 32px #00000073}40%{box-shadow:0 8px 32px #00000073,0 0 0 3px #6366f199}}.processing-console-overlay{position:fixed;bottom:24px;left:var(--app-inline-inset);width:420px;max-height:50vh;z-index:200;background:var(--tn-bg-surface);color:var(--tn-text);border:1px solid var(--tn-border);box-shadow:0 8px 32px #0f172a24;border-radius:var(--radius-md);display:flex;flex-direction:column;overflow:hidden;animation:overlay-enter .3s cubic-bezier(.22,1,.36,1) both,overlay-highlight 1.2s ease .3s both;transition:width .3s cubic-bezier(.22,1,.36,1),max-height .3s cubic-bezier(.22,1,.36,1)}.processing-console-overlay--wide{width:min(calc(100vw - (var(--app-inline-inset) * 2)),960px);max-height:72vh}.processing-console-overlay-close{position:absolute;top:8px;right:8px;background:none;border:none;color:var(--tn-text-muted);font-size:.9rem;cursor:pointer;padding:.1rem .3rem;border-radius:var(--radius-xs);line-height:1;transition:color .15s}.processing-console-overlay-close:hover{color:var(--tn-text-secondary)}.processing-console-overlay-body{padding:.65rem .75rem;display:flex;flex-direction:column;gap:.5rem;overflow:hidden}.processing-console-overlay-body--split{flex-direction:row;padding:0;gap:0;align-items:stretch;overflow:hidden;flex:1;min-height:0}.processing-console-overlay-left{display:flex;flex-direction:column;gap:.5rem;overflow:hidden;flex:1}.processing-console-overlay-body--split .processing-console-overlay-left{flex:0 0 38%;padding:.65rem .75rem;border-right:1px solid var(--tn-border)}.processing-console-overlay-right{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.processing-console-overlay-right .slide-viewer{flex:0 0 auto;max-height:45%;overflow:hidden}.processing-console-overlay-right .slide-pdf{max-height:200px;overflow:hidden}.processing-console-overlay-right .slide-pdf canvas{max-height:180px;width:auto!important;display:block}.processing-console-overlay-notes{flex:1;display:flex;flex-direction:column;overflow:hidden;border-top:1px solid var(--tn-border)}.processing-console-overlay-notes-header{font-size:.78rem;font-weight:600;color:var(--tn-text-secondary);padding:.4rem .75rem;border-bottom:1px solid var(--tn-border);background:var(--tn-bg-surface-muted);flex-shrink:0}.processing-console-overlay-notes-body{flex:1;overflow-y:auto;padding:.5rem .75rem}.processing-console-notes-loading{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--tn-text-secondary);padding:.5rem 0}.live-notes{font-size:.8rem;line-height:1.5;color:var(--tn-text)}.live-notes-summary{margin:0 0 .5rem;font-style:italic;color:var(--tn-text-secondary)}.live-notes-takeaways{margin:0 0 .5rem;padding-left:1.2rem}.live-notes-takeaways li{margin-bottom:.25rem}.live-notes-extra{margin:0;color:var(--tn-text-secondary);font-size:.77rem}.processing-console-overlay-starting{flex-direction:column;align-items:stretch;gap:.5rem;font-size:.85rem;color:var(--tn-text-secondary)}.processing-console-overlay-status{font-size:.78rem;color:var(--tn-text-secondary)}.processing-console-overlay-progress-bar{height:4px;background:var(--tn-border);border-radius:var(--radius-xs)}.processing-console-overlay-progress-fill{height:100%}.processing-console-overlay-console{max-height:160px;overflow-y:auto;flex:1}.processing-console-overlay-body--split .processing-console-overlay-console{max-height:none;flex:1;min-height:0}.processing-console-overlay-error{gap:.6rem}.processing-console-overlay-error-content{display:flex;align-items:flex-start;gap:.5rem}.processing-console-overlay-error-icon{color:#ef4444;font-size:1rem;flex-shrink:0}.processing-console-overlay-error-text{font-size:.82rem;color:var(--tn-danger-text);line-height:1.4}.processing-console-overlay-done{gap:.6rem}.processing-console-overlay-done-header{display:flex;align-items:center;gap:.5rem}.processing-console-overlay-done-icon{color:#16a34a;font-size:1.1rem}.processing-console-overlay-done-text{font-size:.88rem;font-weight:600;color:var(--tn-text)}.processing-console-overlay-done-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}.processing-console-overlay-download-btn,.processing-console-overlay-open-btn,.processing-console-overlay-dismiss-btn{min-height:var(--btn-min-height);border-radius:var(--btn-radius);font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);padding:var(--btn-padding-y) var(--btn-padding-x);cursor:pointer;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:background var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard)}.processing-console-overlay-download-btn{background:var(--tn-accent);color:#fff;border-color:var(--tn-accent)}.processing-console-overlay-download-btn:hover{background:var(--tn-accent-strong);border-color:var(--tn-accent-strong)}.processing-console-overlay-open-btn{background:var(--tn-bg-surface-muted);color:var(--tn-text-secondary);border-color:var(--tn-border-strong)}.processing-console-overlay-open-btn:hover{background:var(--tn-bg-app)}.processing-console-overlay-dismiss-btn{background:transparent;color:var(--tn-text-secondary);border-color:var(--tn-border)}.processing-console-overlay-dismiss-btn:hover{color:var(--tn-text);background:var(--tn-bg-surface-muted)}.processing-console-overlay-live-btn{align-self:flex-start;margin-top:.4rem;min-height:var(--btn-min-height);padding:var(--btn-padding-y) var(--btn-padding-x);border-radius:var(--btn-radius);border:1px solid color-mix(in srgb,var(--tn-accent) 34%,transparent);background:color-mix(in srgb,var(--tn-accent) 14%,transparent);color:var(--tn-accent-strong);font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);cursor:pointer;transition:background var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard)}.processing-console-overlay-live-btn:hover{background:color-mix(in srgb,var(--tn-accent) 22%,transparent);border-color:color-mix(in srgb,var(--tn-accent) 46%,transparent)}.upload-form{max-width:550px;margin:7vh auto;background:var(--tn-bg-surface);border-radius:var(--radius-md);padding:1.2rem;box-shadow:0 4px 24px #00000014;flex-shrink:0}.upload-form--loading{margin-top:2.5vh;margin-bottom:2.5vh}.form-title{margin:0 0 .24rem;font-size:1.4rem;font-weight:700;color:var(--tn-text)}.form-subtitle{margin:0;color:var(--tn-text-secondary);font-size:.84rem}.upload-form-header{margin-bottom:.9rem}.upload-form-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr);gap:.8rem;align-items:start}.upload-form-column{min-width:0;display:flex;flex-direction:column;gap:.1rem}.upload-form-column--files{align-self:stretch}.upload-file-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;align-items:stretch}.upload-file-grid .drop-zone-wrapper{margin-bottom:0;height:100%;display:flex;flex-direction:column}.upload-file-grid .drop-zone{flex:1;min-height:132px}.upload-advanced{border:1px solid var(--tn-border);border-radius:var(--radius-sm);background:var(--tn-bg-canvas);overflow:hidden}.upload-advanced-toggle{width:100%;min-height:var(--btn-min-height);padding:var(--btn-padding-y) var(--btn-padding-x);border:1px solid transparent;border-radius:0;background:transparent;color:var(--tn-text-secondary);display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);cursor:pointer;transition:background var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard)}.upload-advanced-toggle:hover:not(:disabled){background:var(--tn-bg-surface-muted)}.upload-advanced-toggle-icon{font-size:.62rem;transition:transform .2s ease}.upload-advanced-toggle-icon.expanded{transform:rotate(-180deg)}.upload-advanced-content{padding:.6rem .72rem .7rem;border-top:1px solid var(--tn-border);display:flex;flex-direction:column;gap:.75rem}.upload-override-row{display:flex;align-items:center;gap:.5rem}.upload-override-input{flex:1;min-height:var(--btn-min-height);padding:.4rem .6rem;border-radius:var(--btn-radius);border:1px solid var(--tn-border);font-size:.85rem;background:var(--tn-bg-surface);color:var(--tn-text)}.upload-override-input:focus-visible{outline:var(--btn-focus-ring);outline-offset:var(--btn-focus-offset)}.upload-override-unlock-btn{min-height:var(--btn-min-height)}.upload-how-card{display:flex;flex-direction:column;gap:.45rem}.upload-how-title{margin:0;font-size:.82rem;letter-spacing:.02em;text-transform:uppercase;color:var(--tn-text-secondary)}.upload-how-text{margin:0;font-size:.78rem;line-height:1.5;color:var(--tn-text-secondary)}.upload-how-demo-btn{align-self:flex-start;margin-top:.05rem;border:1px solid var(--tn-border-strong);border-radius:var(--radius-xs);background:var(--tn-bg-surface);color:var(--tn-text);font-size:.74rem;font-weight:600;padding:.32rem .64rem}.upload-how-demo-btn:hover:not(:disabled){background:var(--tn-bg-surface-muted)}.upload-force-card{border-top:1px solid var(--tn-border);padding-top:.6rem}.naming-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin-bottom:1rem}.naming-field{display:flex;flex-direction:column}.naming-field--course{grid-column:1 / -1}.naming-field-hint{margin:.35rem 0 0;font-size:.75rem;line-height:1.35;color:var(--tn-text-secondary)}.naming-field-hint--error{color:var(--tn-danger-text)}.naming-input{height:40px;border:1px solid var(--tn-border-strong);border-radius:var(--radius-sm);padding:0 .75rem;font-size:.9rem;color:var(--tn-text);background:var(--tn-bg-surface)}.naming-input:focus{outline:2px solid #bfdbfe;border-color:#3b82f6}.naming-input:disabled{background:var(--tn-bg-surface-muted);color:var(--tn-text-secondary)}.program-picker{position:relative;width:100%}.program-picker-trigger{width:100%;min-height:38px;border:1px solid var(--tn-border-strong);border-radius:var(--radius-sm);padding:0 .7rem;background:var(--tn-bg-surface);color:var(--tn-text);font-size:.9rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem;cursor:pointer;text-align:left}.program-picker-trigger:hover:not(:disabled){background:var(--tn-bg-surface-muted);border-color:var(--tn-border-strong)}.program-picker-trigger:focus-visible{outline:2px solid #cbd5e1;border-color:var(--tn-border-strong)}.program-picker-trigger--open{border-color:var(--tn-border-strong);box-shadow:0 0 0 2px color-mix(in srgb,var(--tn-border-strong) 28%,transparent)}.program-picker-trigger:disabled{background:var(--tn-bg-surface-muted);color:var(--tn-text-secondary);cursor:not-allowed}.program-picker-trigger-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.program-picker-trigger-text--placeholder{color:var(--tn-text-secondary)}.program-picker-trigger-chevron{flex-shrink:0;font-size:.65rem;color:var(--tn-text-secondary);transition:transform .14s ease}.program-picker-trigger--open .program-picker-trigger-chevron{transform:rotate(180deg)}.program-picker-popover{position:absolute;top:calc(100% + .35rem);left:0;z-index:25;width:min(560px,max(100%,34vw));max-width:calc(100vw - 2rem);border:1px solid var(--tn-border-strong);border-radius:var(--radius-sm);background:var(--tn-bg-surface);box-shadow:0 12px 24px #0f172a21;max-height:320px;overflow-y:auto;padding:.3rem}.program-picker-search{position:sticky;top:0;z-index:1;background:var(--tn-bg-surface);padding:.05rem .1rem .35rem}.program-picker-search-input{width:100%;height:34px;border:1px solid var(--tn-border-strong);border-radius:var(--radius-xs);background:var(--tn-bg-surface);color:var(--tn-text);font-size:.8rem;padding:0 .55rem}.program-picker-search-input:focus{outline:2px solid #dbe7fb;border-color:#94a3b8}.program-picker-option{width:100%;border:none;border-radius:var(--radius-xs);background:transparent;min-height:36px;padding:.35rem .5rem;display:flex;flex-direction:column;align-items:flex-start;gap:.06rem;text-align:left;cursor:pointer}.program-picker-option:hover{background:var(--tn-bg-surface-muted)}.program-picker-option:focus-visible{outline:2px solid #cbd5e1;outline-offset:1px}.program-picker-option--active{background:var(--tn-bg-app)}.program-picker-option-name{font-size:.82rem;font-weight:600;color:var(--tn-text);line-height:1.25}.program-picker-option-meta{font-size:.72rem;font-weight:700;color:var(--tn-text-secondary);line-height:1.2}.program-picker-empty{margin:0;padding:.2rem .3rem;color:var(--tn-text-secondary);font-size:.75rem;font-style:italic}button.program-picker-trigger:hover:not(:disabled),button.program-picker-option:hover:not(:disabled),button.program-picker-option--active:hover:not(:disabled){background:var(--tn-bg-surface-muted);color:var(--tn-text)}button.program-picker-option--active{background:var(--tn-bg-app)}.course-picker{position:relative}.course-picker-trigger{width:100%;min-height:40px;border:1px solid var(--tn-border-strong);border-radius:var(--radius-sm);padding:0 .75rem;font-size:.9rem;color:var(--tn-text);background:var(--tn-bg-surface);display:flex;align-items:center;justify-content:space-between;gap:.5rem;cursor:pointer;text-align:left}.course-picker-trigger:hover:not(:disabled){border-color:var(--tn-border-strong);background:var(--tn-bg-surface-muted);color:var(--tn-text)}.course-picker-trigger:focus-visible{outline:2px solid #cbd5e1;border-color:#94a3b8}.course-picker-trigger--open{border-color:var(--tn-border-strong);box-shadow:0 0 0 2px color-mix(in srgb,var(--tn-border-strong) 28%,transparent)}.course-picker-trigger:disabled{background:var(--tn-bg-surface-muted);color:var(--tn-text-secondary);cursor:not-allowed}.course-picker-trigger-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-picker-trigger-text--placeholder{color:var(--tn-text-secondary)}.course-picker-trigger-chevron{flex-shrink:0;font-size:.65rem;color:var(--tn-text-secondary);transition:transform .14s ease}.course-picker-trigger--open .course-picker-trigger-chevron{transform:rotate(180deg)}.course-picker-popover{position:absolute;left:0;right:auto;top:calc(100% + .35rem);z-index:20;border:1px solid var(--tn-border-strong);border-radius:var(--radius-sm);background:var(--tn-bg-surface);box-shadow:0 12px 24px #0f172a21;width:min(680px,max(100%,52vw));max-width:calc(100vw - 2rem);max-height:280px;overflow-y:auto;padding:.35rem}.course-picker-search{position:sticky;top:0;z-index:1;background:var(--tn-bg-surface);padding:.05rem .1rem .38rem}.course-picker-search-input{width:100%;height:34px;border:1px solid var(--tn-border-strong);border-radius:var(--radius-xs);background:var(--tn-bg-surface);color:var(--tn-text);font-size:.8rem;padding:0 .55rem}.course-picker-search-input:focus{outline:2px solid #dbe7fb;border-color:#94a3b8}.course-picker-group+.course-picker-group{margin-top:.28rem}.course-picker-group-btn{width:100%;min-height:36px;border:1px solid var(--tn-border-strong);border-radius:var(--radius-xs);background:var(--tn-bg-surface-muted);color:var(--tn-text);font-size:.8rem;font-weight:700;padding:0 .6rem;display:flex;align-items:center;justify-content:space-between;gap:.45rem;cursor:pointer;text-align:left}.course-picker-group-btn:hover{background:var(--tn-bg-app)}.course-picker-group-btn--open{border-color:var(--tn-border-strong);background:var(--tn-bg-app)}.course-picker-group-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.01em}.course-picker-group-chevron{flex-shrink:0;font-size:.62rem;color:var(--tn-text-secondary);transition:transform .14s ease}.course-picker-group-btn--open .course-picker-group-chevron{transform:rotate(180deg)}.course-picker-course-list{margin-top:.22rem;margin-left:.75rem;padding:.18rem .12rem .24rem .45rem;border-left:2px solid var(--tn-border-strong);display:flex;flex-direction:column;gap:.16rem}.course-picker-empty{margin:0;padding:.2rem .3rem;color:var(--tn-text-secondary);font-size:.75rem;font-style:italic}.course-picker-course-btn{width:100%;border:none;border-radius:var(--radius-xs);background:var(--tn-bg-canvas);min-height:34px;padding:.35rem .48rem;display:flex;flex-direction:column;align-items:flex-start;gap:.06rem;cursor:pointer;text-align:left}.course-picker-course-btn:hover{background:var(--tn-bg-app)}.course-picker-course-btn:focus-visible{outline:2px solid #cbd5e1;outline-offset:1px}.course-picker-course-btn--active{background:var(--tn-border)}.course-picker-course-code{font-size:.72rem;font-weight:700;color:var(--tn-text-secondary);line-height:1.2}.course-picker-course-name{font-size:.82rem;font-weight:600;color:var(--tn-text);line-height:1.25}button.course-picker-trigger:hover:not(:disabled),button.course-picker-group-btn:hover:not(:disabled),button.course-picker-course-btn:hover:not(:disabled),button.course-picker-course-btn--active:hover:not(:disabled){background:var(--tn-bg-surface-muted);color:var(--tn-text)}button.course-picker-course-btn--active,button.course-picker-group-btn--open{color:var(--tn-text)}.drop-zone-wrapper{margin-bottom:.72rem}.form-name-input{width:100%;min-height:40px;border:1px solid var(--tn-border-strong);border-radius:var(--radius-sm);padding:0 .75rem;font-size:.9rem;color:var(--tn-text);background:var(--tn-bg-surface);box-sizing:border-box}.form-name-input:focus{outline:2px solid #cbd5e1;border-color:#94a3b8}.form-name-input:disabled{background:var(--tn-bg-surface-muted);color:var(--tn-text-secondary);cursor:not-allowed}.form-name-input::placeholder{color:var(--tn-text-muted)}.drop-zone-label{font-size:.8125rem;font-weight:600;color:var(--tn-text-secondary);margin-bottom:.4rem;letter-spacing:.04em}.force-reprocess-toggle{display:inline-flex;align-items:center;gap:.55rem;color:var(--tn-text-secondary);font-size:.88rem;font-weight:500}.force-reprocess-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--tn-accent)}.force-reprocess-hint{margin:.4rem 0 0;font-size:.78rem;color:var(--tn-text-muted)}.drop-zone{border:2px dashed var(--tn-border-strong);border-radius:var(--radius-sm);background:var(--tn-bg-canvas);cursor:pointer;min-height:108px;padding:.82rem .9rem;display:flex;align-items:center;justify-content:center;transition:border-color .15s,background .15s}.drop-zone:hover{border-color:var(--tn-border-strong);background:var(--tn-bg-surface-muted)}.drop-zone.drag-over,.drop-zone.has-file{border:2px solid var(--tn-accent);background:color-mix(in srgb,var(--tn-accent) 14%,transparent)}.drop-prompt{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:100%;gap:.55rem}.drop-prompt>svg{flex-shrink:0}.drop-prompt>div{min-width:0;max-width:100%;display:flex;flex-direction:column;align-items:center}.drop-title{font-size:.9rem;font-weight:600;color:var(--tn-text-secondary);margin-bottom:.15rem}.drop-hint{font-size:.8125rem;color:var(--tn-text-secondary);margin-bottom:.15rem}.drop-accepts{font-size:.75rem;color:var(--tn-text-muted);line-height:1.35;overflow-wrap:anywhere}.file-info{display:flex;align-items:center;gap:.6rem;width:100%}.file-name{flex:1;font-size:.875rem;color:var(--tn-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{font-size:.8125rem;color:var(--tn-text-secondary);white-space:nowrap}.clear-btn{min-width:var(--btn-min-height);min-height:var(--btn-min-height);background:transparent;border:1px solid transparent;cursor:pointer;font-size:1.1rem;color:var(--tn-text-secondary);border-radius:var(--btn-radius);padding:.1rem .4rem;line-height:1;flex-shrink:0;align-items:center;justify-content:center}.clear-btn:hover{background:var(--tn-bg-app);color:var(--tn-text)}.form-error{color:var(--tn-danger-text);font-size:.8125rem;margin:.25rem 0 .55rem}.upload-wait-hint{font-size:.8125rem;color:var(--tn-text-secondary);margin:.5rem 0 0}.upload-progress{margin-top:.3rem;display:flex;flex-direction:column;gap:8px}.upload-progress-bar{height:6px;background:var(--tn-border);border-radius:var(--radius-xs)}.upload-progress-fill{height:100%}.progress-bar{position:relative;overflow:hidden}.progress-bar-fill{position:relative;height:100%;border-radius:inherit;background:#3b82f6}.progress-bar--determinate .progress-bar-fill{transition:width .4s ease}.progress-bar-fill--determinate:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,#fff0,#ffffff3d,#fff0 92%);transform:translate(-130%);animation:progress-determinate-shimmer 1.6s ease-in-out infinite;pointer-events:none}.progress-bar--indeterminate .progress-bar-fill{width:100%;background:transparent}.progress-bar-fill--indeterminate:before{content:"";position:absolute;top:0;bottom:0;width:38%;min-width:32px;border-radius:inherit;background:linear-gradient(90deg,#60a5fa,#3b82f6 55%,#2563eb);transform:translate(-120%) scaleX(.7);animation:progress-indeterminate-sweep 1.2s ease-in-out infinite}.upload-console{background:var(--tn-bg-surface);border:1px solid var(--tn-border);border-radius:var(--radius-sm);padding:.65rem .85rem;max-height:3.8rem;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:2px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.5}.upload-console-line{color:var(--tn-text-secondary);white-space:pre-wrap;word-break:break-word;display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.upload-console-text{flex:1}.upload-console-check{color:#16a34a;font-size:.8rem;flex-shrink:0}.upload-console-line--dim{color:var(--tn-text-muted)}.upload-console-line--done .upload-console-text{color:var(--tn-text-secondary)}.upload-console-line--active .upload-console-text{position:relative;overflow:hidden}.upload-console-line--active .upload-console-text:after{content:"";position:absolute;inset:-1px 0;border-radius:var(--radius-xs);background:linear-gradient(110deg,#fff0,#60a5fa3d 46%,#3b82f61f 56%,#fff0 92%);transform:translate(-130%);animation:upload-console-line-sweep 1.35s ease-in-out infinite;pointer-events:none}.upload-console--sidebar{margin-top:.4rem;max-height:3.5rem;padding:.5rem .65rem}.submit-btn{width:100%;min-height:48px;background:var(--tn-accent);color:#fff;border:none;border-radius:var(--btn-radius);font-size:var(--btn-font-size);font-weight:700;letter-spacing:.03em;cursor:pointer;display:flex;align-items:center;justify-content:center;margin-top:0;transition:background var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard)}.submit-btn:hover:not(:disabled){background:var(--tn-accent-strong)}.app-shell[data-theme=dark] .submit-btn,.app-shell[data-theme=dark] .submit-btn:hover:not(:disabled){color:#0b1220}.submit-btn:disabled{opacity:var(--btn-disabled-opacity);cursor:not-allowed}.submit-actions{display:flex;flex-direction:column;gap:.5rem}.upload-confirm{border:1.5px solid var(--tn-border-strong);border-radius:var(--radius-md);background:var(--tn-bg-canvas);overflow:hidden;animation:confirm-in var(--motion-duration-enter) var(--motion-ease-emphasis) both}@keyframes confirm-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.upload-confirm-title{font-size:.8125rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tn-text-muted);margin:0;padding:.65rem .9rem .5rem;border-bottom:1px solid var(--tn-border)}.upload-confirm-row{display:grid;grid-template-columns:7.5rem 1fr;align-items:baseline;gap:.5rem;padding:.45rem .9rem;border-bottom:1px solid var(--tn-border)}.upload-confirm-row:last-of-type{border-bottom:none}.upload-confirm-row span:first-child{font-size:.78rem;font-weight:600;color:var(--tn-text-muted);white-space:nowrap}.upload-confirm-row span:last-child{font-size:.84rem;color:var(--tn-text);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.upload-confirm-actions{display:grid;grid-template-columns:auto 1fr;gap:.55rem;padding:.65rem .9rem;background:var(--tn-bg-surface);border-top:1px solid var(--tn-border)}.upload-confirm-actions .btn-secondary{min-height:40px;padding:0 1rem;border:1.5px solid var(--tn-border-strong);border-radius:var(--btn-radius);background:var(--tn-bg-surface);color:var(--tn-text-secondary);font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);cursor:pointer;transition:background var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard);white-space:nowrap}.upload-confirm-actions .btn-secondary:hover{background:var(--tn-bg-surface-muted);border-color:var(--tn-text-muted)}.upload-confirm-actions .submit-btn{min-height:40px}.spinner--dark{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}button{padding:var(--btn-padding-y) var(--btn-padding-x);border:1px solid var(--tn-border-strong, #ccc);border-radius:var(--btn-radius);background:var(--tn-bg-surface, #fff);color:var(--tn-text, #1f2937);font-size:var(--btn-font-size);font-family:inherit;font-weight:var(--btn-font-weight);line-height:1.2;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--btn-gap);transition:background var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard)}button:hover:not(:disabled){background:var(--tn-bg-surface-muted, #f0f0f0)}button:disabled{opacity:var(--btn-disabled-opacity);cursor:not-allowed}button:focus-visible{outline:var(--btn-focus-ring);outline-offset:var(--btn-focus-offset)}:where(.topbar-btn,.topbar-settings-item,.submit-btn,.course-lectures-page-back-btn,.course-lectures-page-remove-btn,.processing-console-overlay-download-btn,.processing-console-overlay-open-btn,.processing-console-overlay-dismiss-btn,.processing-console-overlay-live-btn,.upload-advanced-toggle,.upload-override-unlock-btn,.new-lecture-overlay-close-btn,.confirm-cancel-btn,.confirm-delete-btn,.modal-btn,.admin-panel-tab,.admin-panel-add-toggle-btn,.admin-panel-create-btn,.admin-panel-secondary-btn,.admin-panel-reject-btn,.dialog-btn,.profile-action-btn,.profile-restore-btn,.access-code-gate-submit){border-radius:var(--btn-radius);font-size:var(--btn-font-size);font-weight:var(--btn-font-weight)}:where(.topbar-btn,.topbar-settings-item,.submit-btn,.course-lectures-page-back-btn,.course-lectures-page-remove-btn,.processing-console-overlay-download-btn,.processing-console-overlay-open-btn,.processing-console-overlay-dismiss-btn,.processing-console-overlay-live-btn,.upload-advanced-toggle,.upload-override-unlock-btn,.new-lecture-overlay-close-btn,.confirm-cancel-btn,.confirm-delete-btn,.modal-btn,.admin-panel-tab,.admin-panel-add-toggle-btn,.admin-panel-create-btn,.admin-panel-secondary-btn,.admin-panel-reject-btn,.dialog-btn,.profile-action-btn,.profile-restore-btn,.access-code-gate-submit):focus-visible{outline:var(--btn-focus-ring);outline-offset:var(--btn-focus-offset)}:where(.topbar-btn,.topbar-settings-item,.submit-btn,.course-lectures-page-back-btn,.course-lectures-page-remove-btn,.processing-console-overlay-download-btn,.processing-console-overlay-open-btn,.processing-console-overlay-dismiss-btn,.processing-console-overlay-live-btn,.upload-advanced-toggle,.upload-override-unlock-btn,.new-lecture-overlay-close-btn,.confirm-cancel-btn,.confirm-delete-btn,.modal-btn,.admin-panel-tab,.admin-panel-add-toggle-btn,.admin-panel-create-btn,.admin-panel-secondary-btn,.admin-panel-reject-btn,.dialog-btn,.profile-action-btn,.profile-restore-btn,.access-code-gate-submit):disabled{opacity:var(--btn-disabled-opacity);cursor:not-allowed}.submit-btn,.modal-btn--primary,.dialog-btn--confirm,.processing-console-overlay-download-btn,.upload-override-unlock-btn,.access-code-gate-submit{background:var(--tn-accent);border-color:var(--tn-accent);color:#fff}.submit-btn:hover:not(:disabled),.modal-btn--primary:hover:not(:disabled),.dialog-btn--confirm:hover:not(:disabled),.processing-console-overlay-download-btn:hover:not(:disabled),.upload-override-unlock-btn:hover:not(:disabled),.access-code-gate-submit:hover:not(:disabled){background:var(--tn-accent-strong);border-color:var(--tn-accent-strong)}button.secondary,.course-lectures-page-back-btn,.modal-btn--secondary,.dialog-btn--cancel,.admin-panel-create-btn,.admin-panel-secondary-btn,.processing-console-overlay-open-btn,.profile-action-btn--admin,.profile-restore-btn,.confirm-cancel-btn{background:var(--tn-bg-surface);border-color:var(--tn-border-strong);color:var(--tn-text-secondary)}button.secondary:hover:not(:disabled),.course-lectures-page-back-btn:hover:not(:disabled),.modal-btn--secondary:hover:not(:disabled),.dialog-btn--cancel:hover:not(:disabled),.admin-panel-create-btn:hover:not(:disabled),.admin-panel-secondary-btn:hover:not(:disabled),.processing-console-overlay-open-btn:hover:not(:disabled),.profile-action-btn--admin:hover:not(:disabled),.profile-restore-btn:hover:not(:disabled),.confirm-cancel-btn:hover:not(:disabled){background:var(--tn-bg-surface-muted);color:var(--tn-text)}button.secondary.danger,.confirm-delete-btn,.admin-panel-reject-btn,.course-lectures-page-remove-btn,.profile-action-btn--logout{color:var(--tn-danger-text);border-color:color-mix(in srgb,var(--tn-danger-text) 45%,transparent)}button.secondary.danger:hover:not(:disabled),.confirm-delete-btn:hover:not(:disabled),.admin-panel-reject-btn:hover:not(:disabled),.course-lectures-page-remove-btn:hover:not(:disabled),.profile-action-btn--logout:hover:not(:disabled){background:var(--tn-danger-bg);color:var(--tn-danger-text);border-color:var(--tn-danger-text)}.topbar-btn--ghost,.topbar-settings-item,.upload-advanced-toggle,.processing-console-overlay-dismiss-btn{background:transparent;border-color:transparent;color:var(--tn-text-secondary)}.topbar-btn--ghost:hover:not(:disabled),.topbar-settings-item:hover:not(:disabled),.upload-advanced-toggle:hover:not(:disabled),.processing-console-overlay-dismiss-btn:hover:not(:disabled){background:var(--tn-bg-surface-muted);color:var(--tn-text)}.topbar-settings-item.topbar-settings-logout{color:var(--tn-danger-text)}.topbar-settings-item.topbar-settings-logout:hover:not(:disabled){background:var(--tn-danger-bg);color:var(--tn-danger-text)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes progress-determinate-shimmer{0%{transform:translate(-130%)}to{transform:translate(150%)}}@keyframes progress-indeterminate-sweep{0%{transform:translate(-120%) scaleX(.65)}50%{transform:translate(95%) scaleX(1)}to{transform:translate(260%) scaleX(.65)}}@keyframes upload-console-line-sweep{0%{transform:translate(-130%)}to{transform:translate(150%)}}@keyframes app-surface-in{0%{opacity:0;transform:translateY(var(--motion-distance-sm))}to{opacity:1;transform:translateY(0)}}@keyframes route-motion-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(calc(-1 * var(--motion-distance-xs)))}}@keyframes route-motion-enter{0%{opacity:0;transform:translateY(var(--motion-distance-xs))}to{opacity:1;transform:translateY(0)}}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.new-lecture-overlay-scrim{position:fixed;inset:0;z-index:190;background:#0f172a29;animation:overlay-fade-in var(--motion-duration-overlay) var(--motion-ease-standard) both}.new-lecture-overlay-panel{position:fixed;top:60px;left:var(--app-inline-inset);width:calc(100vw - 24px);max-width:820px;max-height:min(72vh,calc(100vh - 84px));max-height:min(72vh,calc(100dvh - 84px));overflow-y:auto;box-sizing:border-box;border-radius:var(--radius-md);border:1px solid var(--tn-border-strong);background:var(--tn-bg-surface);box-shadow:0 20px 40px #0f172a3d;opacity:0;transform:translateY(var(--motion-distance-sm));animation:app-surface-in var(--motion-duration-enter) var(--motion-ease-emphasis) forwards}.new-lecture-overlay-header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem .95rem;border-bottom:1px solid var(--tn-border);background:var(--tn-bg-surface)}.new-lecture-overlay-title{margin:0;font-size:.95rem;font-weight:700;color:var(--tn-text)}.new-lecture-overlay-close-btn{width:var(--btn-min-height);min-height:var(--btn-min-height);padding:0;border:1px solid var(--tn-border-strong);border-radius:var(--btn-radius);background:var(--tn-bg-surface);color:var(--tn-text-secondary);font-size:1rem;line-height:1;display:inline-flex;align-items:center;justify-content:center}.new-lecture-overlay-close-btn:hover:not(:disabled){background:var(--tn-bg-surface-muted)}.new-lecture-overlay-panel .upload-form{max-width:none;margin:0;border-radius:var(--radius-xs);box-shadow:none;padding:.85rem .9rem .95rem;background:transparent}.new-lecture-overlay-panel .upload-form--loading{margin:0}.trash-fab{position:fixed;left:var(--app-inline-inset);bottom:14px;width:42px;height:42px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);border:1px solid #dc2626;background:var(--tn-bg-surface);color:var(--tn-danger-text);box-shadow:0 8px 20px #0f172a1f;z-index:80}.trash-fab:hover:not(:disabled){background:var(--tn-danger-bg)}.trash-fab:disabled{opacity:.5;box-shadow:none}.trash-fab-icon{width:20px;height:20px}.confirm-overlay{position:fixed;inset:0;z-index:210;background:#00000073;display:flex;align-items:center;justify-content:center;padding:1rem;animation:overlay-fade-in var(--motion-duration-overlay) var(--motion-ease-standard) both}.confirm-dialog{width:min(420px,100%);background:var(--tn-bg-surface);border-radius:var(--radius-md);border:1px solid var(--tn-border);box-shadow:0 12px 36px #0f172a33;padding:1rem 1rem .9rem;opacity:0;transform:translateY(var(--motion-distance-sm));animation:app-surface-in var(--motion-duration-enter) var(--motion-ease-emphasis) forwards}.confirm-title{margin:0;font-size:1rem;font-weight:700;color:var(--tn-text)}.confirm-text{margin:.55rem 0 0;font-size:.9rem;color:var(--tn-text-secondary);line-height:1.45}.confirm-actions{margin-top:.95rem;display:flex;justify-content:flex-end;gap:.5rem}.confirm-cancel-btn,.confirm-delete-btn{min-width:86px;min-height:var(--btn-min-height);background:var(--tn-bg-surface)}.confirm-cancel-btn{color:var(--tn-text);border-color:var(--tn-border-strong)}.confirm-cancel-btn:hover:not(:disabled){background:var(--tn-bg-surface-muted)}.confirm-delete-btn{background:var(--tn-danger-bg)}.confirm-delete-btn:hover:not(:disabled){background:color-mix(in srgb,var(--tn-danger-text) 20%,var(--tn-danger-bg))}.info-card-blue{background:#e8eff8;border:1px solid #d3dff5;border-radius:var(--radius-lg);padding:20px}.info-card-orange{background:#ebe4d9;border:1px solid #d9ccc0;border-radius:var(--radius-lg);padding:20px}.info-card-tip{background:#f0f2f0;border:1px solid #d8e2d8;border-radius:var(--radius-lg);padding:16px}.info-card-amber{background:#f1ede8;border:1px solid #ddd4c8;border-radius:var(--radius-lg);padding:16px}.info-card-title--blue{color:#1d4ed8}.info-card-title--orange{color:#c2410c}.info-card-subtitle{color:#64748b}.app-shell[data-theme=dark] .info-card-blue{background:#262a31;border-color:#373d47}.app-shell[data-theme=dark] .info-card-orange{background:#2a2520;border-color:#3a3028}.app-shell[data-theme=dark] .info-card-tip{background:#262a26;border-color:#373d37}.app-shell[data-theme=dark] .info-card-amber{background:#2a2620;border-color:#383028}.app-shell[data-theme=dark] .info-card-title--blue{color:#93c5fd}.app-shell[data-theme=dark] .info-card-title--orange{color:#fb923c}.app-shell[data-theme=dark] .info-card-subtitle{color:var(--tn-text-muted)}.results{--results-chat-rail-width: 56px;display:flex;flex-direction:column;flex:1 1 auto;min-height:0;position:relative;width:100%;background:transparent}.results-card{display:flex;flex-direction:column;flex:0 0 auto;min-height:0;background:var(--tn-bg-surface);border:1px solid var(--tn-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 24px 60px #0f172a1f;position:relative}.results-card--layout-v2{gap:0;background:transparent;border:none;border-radius:0;box-shadow:none;overflow:visible}.results-top-gap{height:.8rem;flex:0 0 auto;background:transparent}.results-body{min-height:0}.results-body--layout-v2{display:grid;grid-template-columns:minmax(280px,30fr) minmax(420px,40fr) minmax(280px,30fr);align-items:start;gap:.95rem;padding:0 .95rem 1rem}.results-body--layout-v2.results-body--chat-collapsed{grid-template-columns:minmax(280px,36fr) minmax(420px,64fr) var(--results-chat-rail-width)}.results-notes-column{display:flex;flex-direction:column;border:1px solid var(--tn-border);border-radius:var(--radius-lg);background:var(--tn-bg-surface);box-shadow:0 18px 40px #0f172a1c;min-width:0;min-height:0;max-height:calc(100vh - 7.5rem);max-height:calc(100dvh - 7.5rem);overflow:hidden;align-self:start}.results-notes-column>.transcript-panel{--transcript-fade-rgb: 255, 255, 255;flex:1 1 auto;min-height:0;overflow:hidden;background:transparent}.results-notes-column .tab-content-shell{flex:1 1 auto;min-height:0}.results-notes-column .tab-content{overflow-y:auto;overflow-x:hidden}.results-notes-column .tab-content-shell>.tab-content{height:100%}.app-shell[data-theme=dark] .results-notes-column>.transcript-panel{--transcript-fade-rgb: 17, 24, 39}.results-notes-column .tab-content-bottom-fade{height:2.2rem;background:linear-gradient(to bottom,rgba(var(--transcript-fade-rgb),0),rgba(var(--transcript-fade-rgb),.52) 72%,rgba(var(--transcript-fade-rgb),.72))}@media(min-width:901px){.results-notes-column{height:calc(100vh - 7.5rem);height:calc(100dvh - 7.5rem)}.results-chat-column{display:flex!important}.results-chat-toggle-btn,.workspace-chat-card,.workspace-chat-overlay{display:none}}.results-slide-column{display:flex;flex-direction:column;gap:.65rem;min-width:0}.results-slide-column>.slide-viewer{width:100%;overflow:visible}.results-chat-column{display:flex;min-height:0;min-width:0;align-self:stretch;overflow:hidden}.results-chat-column>.chat-panel,.results-chat-column>.chat-rail{display:flex;flex:1 1 auto;min-height:0;width:100%;border:1px solid var(--tn-border);border-radius:var(--radius-lg);background:var(--tn-bg-surface);box-shadow:0 18px 40px #0f172a1c;overflow:hidden}.results-chat-column--collapsed{min-width:var(--results-chat-rail-width);width:var(--results-chat-rail-width)}@media(min-width:901px){.results-chat-column{height:calc(100vh - 7.5rem);height:calc(100dvh - 7.5rem);min-height:calc(100vh - 7.5rem);min-height:calc(100dvh - 7.5rem);max-height:calc(100vh - 7.5rem);max-height:calc(100dvh - 7.5rem)}}.app-shell[data-theme=dark] :where(.profile-restore-btn,.admin-panel-create-btn,.admin-panel-secondary-btn,.admin-panel-add-toggle-btn){background:var(--tn-bg-surface-muted);border-color:var(--tn-border-strong);color:var(--tn-text-secondary)}.app-shell[data-theme=dark] :where(.profile-restore-btn,.admin-panel-create-btn,.admin-panel-secondary-btn,.admin-panel-add-toggle-btn):hover:not(:disabled){background:color-mix(in srgb,var(--tn-bg-surface-muted) 80%,var(--tn-border) 20%);color:var(--tn-text)}.main-page-canvas{width:100%;max-width:1100px;margin-inline:auto;padding-inline:clamp(.5rem,1.2vw,1rem)}.main-page-canvas--wide{max-width:1600px}.resizable-split{display:flex;flex:1 1 auto;min-height:0;min-width:0}.resizable-split__pane{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;min-width:0}.resizable-split__pane--left{flex:0 0 55%}.resizable-split__pane--right{flex:1 1 auto}.resizable-split__divider{flex:0 0 10px;width:10px;cursor:col-resize;touch-action:none;background:var(--tn-bg-surface-muted);border-left:1px solid var(--tn-border);border-right:1px solid var(--tn-border);position:relative;outline:none}.resizable-split__divider:after{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translate(-50%);background:var(--tn-border-strong);transition:background .15s ease}.resizable-split__divider:hover:after,.resizable-split__divider:focus-visible:after,body.resizable-split--dragging .resizable-split__divider:after{background:#2563eb}.resizable-split__divider:focus-visible{background:color-mix(in srgb,var(--tn-accent) 14%,transparent)}body.resizable-split--dragging{cursor:col-resize;-webkit-user-select:none;user-select:none}.slide-audio-player{position:relative;display:flex;flex-direction:column;flex:1 1 auto;min-width:0;width:100%;margin:0;padding:.16rem .4rem .16rem .46rem;border-radius:var(--radius-pill) 0 0 var(--radius-pill);background:var(--tn-bg-surface);overflow:visible}.slide-audio-player--disabled{background:var(--tn-bg-surface-muted)}.slide-audio-main-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.3rem}.slide-audio-play-btn,.slide-audio-settings-btn{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,color .14s ease}.slide-audio-play-btn{width:1.75rem;height:1.75rem;border:none;background:transparent;color:var(--tn-text-secondary);transition:color .18s}.slide-audio-play-btn:hover{color:var(--tn-text)}.slide-audio-play-btn:active{transform:scale(.96)}.slide-audio-play-btn:disabled,.slide-audio-play-btn--disabled{cursor:not-allowed;color:var(--tn-text-muted)}.slide-audio-play-btn:disabled:hover{color:var(--tn-text-muted)}.slide-audio-play-btn--playing{color:var(--tn-accent)}.slide-audio-play-btn--playing:hover{color:var(--tn-accent-strong)}.slide-audio-play-btn:focus-visible{outline:2px solid var(--tn-accent);outline-offset:2px}.slide-audio-play-btn--loading{color:var(--tn-accent)}.slide-audio-play-btn--loading:hover{color:var(--tn-accent-strong);cursor:wait}.slide-audio-spinner{animation:slide-audio-spin 1.2s linear infinite;transform-origin:center}@keyframes slide-audio-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.slide-audio-play-btn svg,.slide-audio-settings-btn svg,.slide-audio-settings-title--with-icon svg{width:.92rem;height:.92rem;flex-shrink:0}.slide-audio-play-btn svg{width:.8rem;height:.8rem}.slide-audio-settings-btn{width:1.52rem;height:1.52rem;border:none;background:transparent;color:var(--tn-text-secondary);transition:color .18s}.slide-audio-settings-btn:hover{color:var(--tn-text)}.slide-audio-settings-btn--open{color:var(--tn-accent-strong)}.slide-audio-settings-btn:disabled{cursor:not-allowed;color:var(--tn-text-muted)}.slide-audio-settings-btn:focus-visible{outline:2px solid var(--tn-accent);outline-offset:2px}.slide-audio-progress-group{display:flex;flex-direction:column;gap:.1rem;min-width:0}.slide-audio-progress-head{display:flex;align-items:center;justify-content:space-between;gap:.4rem}.slide-audio-progress-label{font-size:.5rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--tn-text-secondary)}.slide-audio-progress{position:relative;display:flex;align-items:center;height:.62rem;isolation:isolate}.slide-audio-progress-track{position:absolute;inset:50% 0 auto;height:.38rem;transform:translateY(-50%);border-radius:var(--radius-pill);border:1px solid color-mix(in srgb,var(--tn-border) 60%,transparent);background:var(--tn-bg-surface-muted);overflow:hidden;pointer-events:none;z-index:1}.slide-audio-progress-fill{position:absolute;inset:0 auto 0 0;width:var(--slide-audio-progress);border-radius:inherit;background:linear-gradient(90deg,var(--tn-accent) 0%,var(--tn-accent) 100%);pointer-events:none;z-index:2;transition:width .1s linear}.slide-audio-progress:focus-within .slide-audio-progress-track{border-color:#93c5fd;box-shadow:0 0 0 2px #3b82f629}.slide-audio-scrubber{-webkit-appearance:none;appearance:none;position:relative;width:100%;height:.62rem;margin:0;background:transparent;cursor:pointer;z-index:3}.slide-audio-scrubber:disabled{cursor:not-allowed}.slide-audio-scrubber:focus{outline:none}.slide-audio-scrubber::-webkit-slider-runnable-track{height:.62rem;background:transparent}.slide-audio-scrubber::-moz-range-track{height:.62rem;background:transparent;border:none}.slide-audio-scrubber::-webkit-slider-thumb,.slide-audio-settings-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:.72rem;height:.72rem;border-radius:var(--radius-pill);background:var(--tn-accent);border:1.5px solid var(--tn-accent);box-shadow:0 2px 4px #0f172a1f;position:relative;z-index:4}.slide-audio-scrubber::-webkit-slider-thumb{margin-top:calc((.62rem - .72rem) / 2);opacity:0;transform:scale(.82);transition:opacity .12s ease,transform .12s ease}.slide-audio-settings-slider::-webkit-slider-thumb{margin-top:calc((.9rem - .72rem) / 2)}.slide-audio-progress:hover .slide-audio-scrubber::-webkit-slider-thumb,.slide-audio-progress:focus-within .slide-audio-scrubber::-webkit-slider-thumb{opacity:1;transform:scale(1)}.slide-audio-scrubber::-moz-range-thumb,.slide-audio-settings-slider::-moz-range-thumb{width:.72rem;height:.72rem;border-radius:var(--radius-pill);background:var(--tn-accent);border:1.5px solid var(--tn-accent);box-shadow:0 2px 4px #0f172a1f;position:relative;z-index:4}.slide-audio-scrubber::-moz-range-thumb{opacity:0;transform:scale(.82);transition:opacity .12s ease,transform .12s ease}.slide-audio-progress:hover .slide-audio-scrubber::-moz-range-thumb,.slide-audio-progress:focus-within .slide-audio-scrubber::-moz-range-thumb{opacity:1;transform:scale(1)}.slide-audio-time{font-size:.6rem;color:var(--tn-text-secondary);white-space:nowrap;font-variant-numeric:tabular-nums}.slide-audio-time--remaining{min-width:2.35rem;text-align:right;color:var(--tn-text-secondary)}.slide-audio-player--disabled .slide-audio-progress-label,.slide-audio-player--disabled .slide-audio-time{color:var(--tn-text-muted)}.slide-audio-player--disabled .slide-audio-progress-track{border-color:var(--tn-border);background:var(--tn-bg-surface-muted)}.slide-audio-player--disabled .slide-audio-progress-fill{background:var(--tn-border-strong)}.slide-audio-settings-popover{position:fixed;z-index:210;width:min(16.75rem,calc(100vw - 1.5rem));display:flex;flex-direction:column;gap:.7rem;padding:.76rem;border:1px solid var(--tn-border-strong);border-radius:var(--radius-md);background:var(--tn-bg-surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 4px 6px #0000000d,0 12px 24px #0f172a1f}.slide-audio-settings-section{display:flex;flex-direction:column;gap:.42rem}.slide-audio-settings-section+.slide-audio-settings-section{padding-top:.58rem;border-top:1px solid var(--tn-border)}.slide-audio-settings-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.52rem}.slide-audio-settings-title-group{display:flex;flex-direction:column;gap:.18rem;min-width:0}.slide-audio-settings-title{color:var(--tn-text-secondary);font-size:.76rem;font-weight:700;line-height:1.25}.slide-audio-settings-title--with-icon{display:inline-flex;align-items:center;gap:.38rem}.slide-audio-settings-hint{color:var(--tn-text-secondary);font-size:.67rem;line-height:1.35}.slide-audio-settings-value{flex-shrink:0;padding:.14rem .38rem;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--tn-accent) 14%,transparent);color:var(--tn-accent-strong);font-size:.64rem;font-weight:700;font-variant-numeric:tabular-nums}.slide-audio-settings-slider-row{position:relative;display:flex;align-items:center;isolation:isolate}.slide-audio-settings-slider-row:before{content:"";position:absolute;left:0;right:0;top:50%;height:.34rem;transform:translateY(-50%);border-radius:var(--radius-pill);background:linear-gradient(90deg,rgba(59,130,246,.14) 0 var(--slide-audio-setting-progress),var(--tn-border) var(--slide-audio-setting-progress) 100%);box-shadow:none;pointer-events:none;z-index:1}.slide-audio-settings-slider-row:after{content:"";position:absolute;left:0;top:50%;width:var(--slide-audio-setting-progress);height:.34rem;transform:translateY(-50%);border-radius:var(--radius-pill);background:var(--tn-accent);pointer-events:none;z-index:2}.slide-audio-settings-slider{-webkit-appearance:none;appearance:none;position:relative;width:100%;height:.9rem;margin:0;background:transparent;cursor:pointer;z-index:3}.slide-audio-settings-slider:focus{outline:none}.slide-audio-settings-slider::-webkit-slider-runnable-track{height:.9rem;background:transparent}.slide-audio-settings-slider::-moz-range-track{height:.9rem;background:transparent;border:none}.slide-audio-settings-slider-row:focus-within:before{box-shadow:0 0 0 2px #3b82f629}@media(max-width:768px){.slide-audio-settings-popover{left:.5rem;right:.5rem;width:auto;bottom:calc(100% - .3rem)}}.slide-switch-shell{transform:translate(0);opacity:1}.slide-switch-shell--phase-from.slide-switch-shell--dir-next{transform:translate(8px);opacity:.985}.slide-switch-shell--phase-from.slide-switch-shell--dir-prev{transform:translate(-8px);opacity:.985}.slide-switch-shell--phase-to{transition:transform var(--motion-duration-fast) var(--motion-ease-standard),opacity var(--motion-duration-fast) var(--motion-ease-standard);transform:translate(0);opacity:1}.slide-viewer{display:flex;flex-direction:column;background:var(--tn-bg-surface);overflow:hidden;width:100%;min-width:0;min-height:0;border-radius:var(--radius-lg);border:none;box-shadow:0 18px 40px #0f172a1c}.slide-controls-bar{display:flex;align-items:stretch;justify-content:space-between;gap:0;padding:.12rem .55rem .34rem;border-top:none;background:transparent;flex-shrink:0}.slide-nav{flex:0 0 auto;display:flex;align-items:center;gap:.6rem;padding:.2rem .26rem .2rem .46rem;border:none;border-radius:0 var(--radius-pill) var(--radius-pill) 0;background:var(--tn-bg-surface);box-shadow:none}.slide-nav-status{color:var(--tn-text-secondary);font-size:.7rem;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.slide-nav-actions{display:flex;align-items:center;gap:.35rem}.slide-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;padding:0;border:none;background:transparent;color:var(--tn-text-secondary);font-size:.88rem;line-height:1;transition:color .18s;cursor:pointer}.slide-nav-btn:hover:not(:disabled){color:var(--tn-text)}.slide-controls-audio{flex:1 1 auto;min-width:0;display:flex}.slide-text{flex:1;overflow-y:auto;margin:0;padding:1.25rem;font-size:.85rem;white-space:pre-wrap;word-break:break-word;font-family:Courier New,Courier,monospace;line-height:1.6}@media(max-width:920px){.slide-controls-bar{flex-direction:column;align-items:stretch;gap:.4rem;padding:.12rem .55rem .34rem}.slide-controls-audio{width:100%}.slide-audio-player{border-right:none;border-radius:var(--radius-pill);width:100%;padding:.16rem .4rem .16rem .46rem}.slide-nav{align-self:flex-end;border-radius:var(--radius-pill);padding:.2rem .26rem .2rem .46rem}}@media(max-width:640px){.slide-controls-bar{gap:.35rem;padding:.12rem .5rem .34rem}.slide-audio-player{padding:.14rem .34rem .14rem .4rem}.slide-nav{width:100%;justify-content:space-between;align-self:stretch;padding:.18rem .24rem .18rem .4rem}}.transcript-panel{--transcript-fade-rgb: 248, 250, 252;display:flex;flex-direction:column;overflow:hidden;background:var(--tn-bg-canvas);min-width:0;min-height:0}.transcript-panel h2{margin:0 0 .75rem;font-size:1rem;color:var(--tn-text);text-transform:uppercase;letter-spacing:.05em}.transcript-panel .empty{color:var(--tn-text-muted);font-size:.9rem}.no-audio-note{color:var(--tn-text-muted);font-size:.8rem;font-style:italic;margin-bottom:.75rem}.notes-pending{display:flex;align-items:center;gap:.6rem;padding:1rem 0}.notes-pending-text{color:var(--tn-text-muted);font-size:.9rem;margin:0}.transcript-panel .timestamp{color:var(--tn-text-muted);font-family:monospace;white-space:nowrap;flex-shrink:0}.slide-pdf{flex:0 1 auto;width:100%;min-height:0;position:relative;overflow-y:auto;display:flex;justify-content:center;align-items:flex-start;padding:.4rem 1rem .2rem;background:transparent;border-radius:var(--radius-lg) var(--radius-lg) 0 0;border:none;box-shadow:none}.slide-meta-row{flex:0 0 auto;display:flex;align-items:center;min-width:0;padding:.02rem .62rem .2rem;background:transparent}.slide-pdf--error{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:.75rem}.slide-pdf-error{background:var(--tn-danger-bg);border:1px solid color-mix(in srgb,var(--tn-danger-text) 30%,transparent);color:var(--tn-danger-text);border-radius:var(--radius-xs);padding:.6rem .75rem;font-size:.84rem;line-height:1.4}.slide-pdf-error-text{margin:0;padding:1rem;background:var(--tn-bg-surface);border:1px solid var(--tn-border);border-radius:var(--radius-xs);font-size:.82rem;line-height:1.55;white-space:pre-wrap;word-break:break-word;font-family:Courier New,Courier,monospace}.slide-pdf canvas{max-width:100%;height:auto!important;box-shadow:0 2px 12px #00000026;border-radius:var(--radius-xs)}.slide-pdf-preview-overlay{position:absolute;top:.4rem;left:50%;transform:translate(-50%);max-width:calc(100% - 2rem);width:auto;height:auto;max-height:calc(100% - .6rem);object-fit:contain;pointer-events:none;z-index:2;box-shadow:0 2px 12px #00000026;border-radius:var(--radius-xs)}.slide-pdf-loading{color:var(--tn-text-muted);font-size:.875rem;padding:2rem}.panel-tabs{display:flex;border-bottom:1px solid var(--tn-border);padding:0 .75rem;gap:.25rem;background:var(--tn-bg-surface);flex-shrink:0}.panel-tab{padding:.5rem .75rem;font-size:.8125rem;font-weight:600;border:none;border-bottom:2px solid transparent;background:none;color:var(--tn-text-secondary);cursor:pointer;border-radius:var(--radius-xs);transition:color .15s;margin-bottom:-1px}button.panel-tab:hover:not(:disabled){background:var(--tn-bg-surface-muted);color:var(--tn-text)}.panel-tab.active{color:var(--tn-accent-strong);border-bottom-color:var(--tn-accent)}.tab-content{flex:1;overflow-y:auto;padding:1rem 1.25rem}.tab-content-shell{flex:1 1 auto;min-height:0;position:relative}.tab-content-shell>.tab-content{height:100%}.tab-content-bottom-fade{position:absolute;left:0;right:0;bottom:0;height:3rem;pointer-events:none;background:linear-gradient(to bottom,rgba(var(--transcript-fade-rgb),0),rgba(var(--transcript-fade-rgb),.9) 72%,rgba(var(--transcript-fade-rgb),1))}.transcript-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.transcript-list li{display:flex;gap:.6rem;font-size:.875rem;line-height:1.5}.notes{display:flex;flex-direction:column;gap:.65rem}.tab-content--notes .notes ::selection{background:color-mix(in srgb,var(--tn-accent) 26%,transparent);color:var(--tn-text)}.tab-content--notes .notes ::-moz-selection{background:color-mix(in srgb,var(--tn-accent) 26%,transparent);color:var(--tn-text)}.notes-summary{margin:0;font-size:.9375rem;font-weight:600;color:var(--tn-text);line-height:1.5;padding:.875rem 1rem;background:color-mix(in srgb,var(--tn-accent) 10%,var(--tn-bg-surface));border:1px solid color-mix(in srgb,var(--tn-accent) 25%,var(--tn-border));border-radius:var(--radius-md)}.notes-section{display:flex;flex-direction:column;gap:.5rem;background:var(--tn-bg-surface);border:1px solid var(--tn-border);border-radius:var(--radius-md);padding:.875rem 1rem}.notes-section--content{background:color-mix(in srgb,#10b981 4%,var(--tn-bg-surface));border-color:color-mix(in srgb,#10b981 12%,var(--tn-border))}.notes-section--content h3{color:color-mix(in srgb,#10b981 50%,var(--tn-text))}.notes-section--lecturer{background:color-mix(in srgb,#f59e0b 4%,var(--tn-bg-surface));border-color:color-mix(in srgb,#f59e0b 12%,var(--tn-border))}.notes-section--lecturer h3{color:color-mix(in srgb,#f59e0b 50%,var(--tn-text))}.notes-section--takeaways{background:color-mix(in srgb,#8b5cf6 4%,var(--tn-bg-surface));border-color:color-mix(in srgb,#8b5cf6 12%,var(--tn-border))}.notes-section--takeaways h3{color:color-mix(in srgb,#8b5cf6 50%,var(--tn-text))}.notes-section h3{margin:0;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--tn-text)}.notes-section p{margin:0;font-size:.875rem;color:var(--tn-text-secondary);line-height:1.6}.notes-list{list-style:disc;margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.3rem}.notes-list li{font-size:.875rem;color:var(--tn-text-secondary);line-height:1.55}.takeaways-list{list-style:disc;margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.3rem}.takeaways-list li{font-size:.875rem;color:var(--tn-text-secondary);line-height:1.5}.error-boundary-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:1rem}.slide-area{--slide-controls-clearance: 7.25rem;display:flex;flex:1;min-height:0;position:relative;justify-content:center}.slide-area__shell{position:relative;display:flex;flex:1 1 auto;width:100%;max-width:100%;min-width:0;min-height:0}.slide-area__chat{min-height:0;flex-shrink:0;width:0;overflow:visible;position:relative;transition:width .26s cubic-bezier(.22,1,.36,1)}.slide-area--open .slide-area__chat{overflow:hidden;border-right:none}.chat-resize-handle{flex-shrink:0;width:5px;cursor:col-resize;background:var(--tn-border);transition:background .12s;position:relative;z-index:5}.chat-resize-handle:hover,.chat-resize-handle:active{background:var(--tn-accent)}.slide-area--resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.slide-area--resizing .slide-area__viewer *{pointer-events:none;-webkit-user-select:none;user-select:none}.slide-area__viewer{flex:1;display:flex;min-width:0;min-height:0;align-items:stretch;justify-content:flex-start;padding:.4rem 1rem .8rem;overflow:hidden}.slide-area__viewer-shell{position:relative;display:flex;flex-direction:column;width:100%;max-width:100%;min-width:0;min-height:0}.slide-area__viewer-shell>.slide-area__viewer-top>.slide-viewer{width:100%;max-width:none;flex:1 1 auto;min-height:0}.slide-area__viewer--split{flex-direction:column;align-items:center;justify-content:flex-start;min-height:0;overflow:hidden}.slide-area__viewer--split .slide-area__viewer-shell{flex:1 1 auto;max-height:100%;overflow-y:auto;overscroll-behavior:contain}.slide-area__viewer-top{flex:1 1 auto;display:flex;flex-direction:column;width:100%;min-height:0;min-width:0}.slide-area__viewer--split .slide-area__viewer-top{flex:0 1 auto;display:flex;justify-content:center;width:100%;min-height:0}.slide-area__viewer--split .slide-area__viewer-top>.slide-viewer{width:100%;max-width:none;height:auto;margin-inline:auto;flex:0 1 auto;min-height:0}.slide-area__notes{flex:0 1 auto;display:flex;flex-direction:column;background:var(--tn-bg-surface);border:1px solid var(--tn-border);border-radius:var(--radius-lg);padding:1rem;margin-top:.55rem;box-shadow:0 18px 40px #0f172a1f;width:100%;min-height:0;max-height:min(35vh,19rem);overflow:hidden;align-self:stretch}.slide-area__notes>.transcript-panel{--transcript-fade-rgb: 255, 255, 255;flex:1;min-height:0;background:transparent;border:none;padding:0}.app-shell[data-theme=dark] .slide-area__notes>.transcript-panel{--transcript-fade-rgb: 17, 24, 39}.chat-rail{display:flex;align-items:stretch;justify-content:center;height:100%;min-height:0}.chat-rail-open-btn{width:100%;border:none;background:transparent;color:var(--tn-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.4rem;line-height:1;transition:background .14s,color .14s}.chat-rail-open-btn:hover{background:var(--tn-bg-surface-muted);color:var(--tn-text)}.chat-rail-open-btn:focus-visible{outline:none;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--tn-accent) 36%,transparent)}@media(min-width:901px){.chat-rail-open-btn{display:none}}.chat-panel{position:relative;display:flex;flex-direction:column;width:100%;height:100%;min-height:0;background:var(--tn-bg-surface);transition:box-shadow .2s ease}.chat-panel--lecture-only{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,#5b9cf6 35%,transparent)}.chat-panel--lecture-only .chat-bubble--user{background:color-mix(in srgb,var(--tn-bg-surface-muted) 90%,#3b82f6 10%);border-color:color-mix(in srgb,var(--tn-border) 80%,#3b82f6 20%)}.app-shell[data-theme=dark] .chat-panel--lecture-only .chat-bubble--user{background:color-mix(in srgb,var(--tn-bg-surface-muted) 88%,#3b82f6 12%)}.chat-container{display:flex;flex-direction:row;height:100%;width:100%;background:var(--tn-bg-surface)}.chat-sidebar{display:flex;flex-direction:column;width:260px;flex-shrink:0;border-right:1px solid var(--tn-border);background:color-mix(in srgb,var(--tn-bg-surface) 98%,var(--tn-bg-surface-muted) 2%);overflow-y:auto;overflow-x:hidden}.chat-sidebar-new-chat{display:flex;align-items:center;gap:.75rem;border:none;background:none;color:var(--tn-text);padding:.95rem;margin:.6rem .6rem 0;border-radius:.5rem;font-size:.95rem;font-weight:500;cursor:pointer;transition:background-color .2s ease,color .2s ease;text-align:left}.chat-sidebar-new-chat:hover{background-color:color-mix(in srgb,var(--tn-bg-surface-muted) 80%,transparent)}.chat-sidebar-new-chat-icon{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:.35rem;background-color:var(--tn-bg-surface-muted);font-size:.9rem;font-weight:600}.chat-sidebar-new-chat-label{flex:1}.chat-sidebar-tabs-list{flex:1;overflow-y:auto;padding:.4rem .6rem;display:flex;flex-direction:column;gap:.3rem}.chat-sidebar-tab{display:flex;align-items:center;justify-content:space-between;width:100%;border-radius:.5rem;background:transparent;transition:background-color .15s ease;position:relative;margin-bottom:.1rem;overflow:hidden}.chat-sidebar-tab--active{background-color:color-mix(in srgb,var(--tn-accent) 12%,transparent)}.chat-sidebar-tab-button{flex:1;min-width:0;border:none;background:none!important;color:var(--tn-text-secondary);padding:.55rem .75rem;font-size:.85rem;font-weight:500;cursor:pointer;transition:color .15s ease;display:flex;align-items:center;justify-content:flex-start;text-align:left}.chat-sidebar-tab--active .chat-sidebar-tab-button,.chat-sidebar-tab-button:hover{color:var(--tn-text)}.chat-sidebar-tab-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1}.chat-sidebar-tab-close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.4rem;height:1.4rem;border:none;background:transparent!important;color:var(--tn-text-secondary);cursor:pointer;border-radius:.35rem;font-size:.85rem;margin-right:.4rem;opacity:0;z-index:2;pointer-events:auto;transition:opacity .1s ease,background-color .1s ease,color .1s ease}.chat-sidebar-tab:hover .chat-sidebar-tab-close{opacity:1}.chat-sidebar-tab-add:hover{background-color:color-mix(in srgb,var(--tn-text) 12%,transparent)!important;color:var(--tn-text)}.chat-sidebar-new-chat-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.6rem .8rem;border-radius:.5rem;background-color:transparent;color:var(--tn-text);border:none;font-size:.85rem;font-weight:500;cursor:pointer;transition:background-color .15s ease}.chat-sidebar-new-chat-btn:hover{background-color:var(--tn-bg-surface-muted)}.chat-sidebar-new-chat-plus{font-size:1.1rem;line-height:1;opacity:.8}.chat-sidebar-footer{display:flex;align-items:center;justify-content:center;flex-shrink:0;border-top:1px solid var(--tn-border);padding:.8rem .6rem}.chat-sidebar-clear{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;background:none;color:var(--tn-text-secondary);cursor:pointer;border-radius:.4rem;font-size:1rem;transition:background-color .2s ease,color .2s ease}.chat-sidebar-clear:hover:not(:disabled){background-color:color-mix(in srgb,var(--tn-text) 10%,transparent);color:var(--tn-text)}.chat-sidebar-clear:disabled{opacity:.4;cursor:default}.chat-panel-new-tab{border:none;background:none;color:var(--tn-text-secondary);border-radius:var(--radius-pill);padding:.14rem .1rem;font-size:.76rem;font-weight:600;line-height:1.2;cursor:default;transition:color .14s ease,opacity .14s ease,background .14s ease}.chat-panel-new-tab:hover{background:var(--tn-bg-surface-muted);color:var(--tn-text)}.chat-panel-clear{border:none;background:none;color:var(--tn-text-secondary);border-radius:var(--radius-pill);padding:.14rem .1rem;font-size:.76rem;font-weight:600;line-height:1.2;cursor:default;transition:color .14s ease,opacity .14s ease,background .14s ease}.chat-panel-clear:hover:not(:disabled){background:var(--tn-bg-surface-muted);color:var(--tn-text)}.chat-panel-clear:disabled{opacity:.45;cursor:default}.chat-panel-gk-toggle{border:1px solid var(--tn-border-strong);background:var(--tn-bg-surface-muted);color:var(--tn-text-secondary);border-radius:var(--radius-pill);padding:.18rem .55rem;font-size:.72rem;font-weight:600;font-family:inherit;line-height:1.2;cursor:default;margin-right:auto;transition:color .14s ease,background .14s ease,border-color .14s ease}.chat-panel-gk-toggle:hover{background:color-mix(in srgb,var(--tn-bg-surface-muted) 60%,var(--tn-bg-surface));color:var(--tn-text)}.chat-panel-gk-toggle--on{background:color-mix(in srgb,var(--tn-accent) 12%,var(--tn-bg-surface));border-color:color-mix(in srgb,var(--tn-accent) 40%,transparent);color:var(--tn-accent)}.chat-panel-gk-toggle--on:hover{background:color-mix(in srgb,var(--tn-accent) 18%,var(--tn-bg-surface));color:var(--tn-accent)}.chat-panel-gk-toggle--on-lecture{background:color-mix(in srgb,var(--tn-accent) 12%,var(--tn-bg-surface));border-color:color-mix(in srgb,var(--tn-accent) 40%,transparent);color:var(--tn-accent)}.chat-panel-gk-toggle--on-lecture:hover{background:color-mix(in srgb,var(--tn-accent) 18%,var(--tn-bg-surface));color:var(--tn-accent)}.chat-panel-gk-toggle:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--tn-accent) 30%,transparent)}.chat-panel-topbar{display:flex;align-items:center;justify-content:flex-start;gap:.72rem;flex-shrink:0;padding:.56rem .95rem .5rem;border-bottom:1px solid color-mix(in srgb,var(--tn-border) 92%,transparent);font-family:inherit}.chat-panel-gk-toggle-group{display:flex;align-items:center;gap:.72rem}.chat-panel-new-tab{margin-left:auto}.chat-panel-close{background:none;border:none;cursor:default;font-size:.92rem;color:var(--tn-text-secondary);padding:.14rem .1rem;border-radius:var(--radius-pill);line-height:1.2;transition:color .14s ease,background .14s ease}.chat-panel-close:hover{background:var(--tn-bg-surface-muted);color:var(--tn-text)}.chat-panel-advanced-toggle:focus-visible,.chat-panel-new-tab:focus-visible,.chat-panel-clear:focus-visible,.chat-panel-close:focus-visible{outline:none;box-shadow:0 1px 0 0 currentColor}.chat-panel-tabs{display:flex;align-items:center;gap:.35rem;flex-shrink:0;overflow-x:auto;padding:.6rem .95rem .42rem;border-bottom:1px solid color-mix(in srgb,var(--tn-border) 92%,transparent);scrollbar-width:thin}.chat-panel-tab{display:inline-flex;align-items:center;border:1px solid transparent;border-radius:var(--radius-pill);background:transparent;color:var(--tn-text-secondary);flex-shrink:0}.chat-panel-tab--active{border-color:color-mix(in srgb,var(--tn-border-strong) 72%,var(--tn-accent) 28%);background:color-mix(in srgb,var(--tn-bg-surface-muted) 70%,var(--tn-bg-surface) 30%);color:var(--tn-text);box-shadow:0 1px 2px #0f172a0d}.chat-panel-tab-button{border:none;background:none;color:inherit;cursor:pointer;padding:.26rem .58rem .28rem .72rem;font-size:.75rem;font-weight:600;line-height:1}.chat-panel-tab-close{border:none;background:none;color:inherit;cursor:pointer;width:1.2rem;height:1.2rem;padding:0;margin-right:.2rem;border-radius:var(--radius-pill);font-size:.82rem;line-height:1;opacity:.62;transition:background .12s ease,opacity .12s ease}.chat-panel-tab:hover .chat-panel-tab-close,.chat-panel-tab-close:focus-visible{opacity:1}.chat-panel-tab-close:hover{background:var(--tn-bg-surface-muted)}.chat-panel-body{flex:1 1 auto;min-height:0}.chat-panel-body--empty{display:flex;align-items:stretch;justify-content:center;padding:1.35rem;overflow-y:auto}.chat-panel-empty-layout{width:min(100%,50rem);min-height:100%;display:flex;flex-direction:column;gap:.9rem;justify-content:center}.chat-panel-body--active{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;position:relative}.chat-panel-messages{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:.95rem .95rem 60vh;display:flex;flex-direction:column;gap:1.1rem}.chat-panel-footer{flex-shrink:0;display:flex;flex-direction:column;border-top:1px solid var(--tn-border);background:var(--tn-bg-surface)}.chat-composer{display:flex;flex-direction:column;gap:.8rem;min-height:0;overflow:visible}.chat-composer--empty{justify-content:flex-end}.chat-composer--empty .chat-suggestion-rows{flex:0 0 auto}.chat-composer-copy{display:flex;flex-direction:column;gap:.4rem;text-align:center}.chat-composer-copy__title{margin:0;color:var(--tn-text);font-size:1.1rem;font-weight:600;line-height:1.2}.chat-composer-copy__desc{margin:0;color:var(--tn-text-secondary);font-size:.9rem;line-height:1.5}.chat-composer-copy__desc--warning{color:var(--tn-text-muted);font-size:.85rem;margin-bottom:1rem}.chat-composer-copy__text{margin:0;color:var(--tn-text-secondary);font-size:.9rem;line-height:1.5}.chat-main{flex:1;display:flex;flex-direction:column;min-height:0;background:var(--tn-bg-surface)}.chat-messages-area{flex:1;display:flex;flex-direction:column;min-height:0;overflow-y:auto;overflow-x:hidden}.chat-messages-area--empty{align-items:center;justify-content:center;padding:2rem 1.5rem;overflow-y:visible;overflow-x:hidden}.chat-messages-area--active{padding:1.5rem 1.5rem 0}.chat-empty-state{text-align:center;max-width:32rem}.chat-empty-title{margin:0 0 .5rem;font-size:1.5rem;font-weight:600;color:var(--tn-text)}.chat-empty-subtitle{margin:0;font-size:.95rem;color:var(--tn-text-secondary);line-height:1.5}.chat-messages{display:flex;flex-direction:column;gap:1rem;padding-bottom:1rem}.chat-message{display:flex;gap:.75rem;align-items:flex-start;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.chat-message--user{justify-content:flex-end}.chat-message--assistant{justify-content:flex-start}.chat-message-avatar{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.4rem;background:color-mix(in srgb,var(--tn-accent) 12%,transparent);color:var(--tn-accent);font-size:.85rem;font-weight:600;flex-shrink:0}.chat-message-content{flex:1;max-width:65%;padding:.75rem 1rem;border-radius:.6rem;line-height:1.5;word-wrap:break-word;white-space:pre-wrap}.chat-message--user .chat-message-content{background:color-mix(in srgb,var(--tn-accent) 10%,transparent);color:var(--tn-text);border-radius:.6rem 0 .6rem .6rem}.chat-message--assistant .chat-message-content{background:color-mix(in srgb,var(--tn-bg-surface-muted) 100%,transparent);color:var(--tn-text);border-radius:0 .6rem .6rem}.chat-message--error{justify-content:flex-start;padding:.75rem 1rem;border-radius:.6rem;background:color-mix(in srgb,#dc2626 8%,transparent);color:#991b1b;border:1px solid color-mix(in srgb,#dc2626 30%,transparent)}.chat-message--error p{margin:0;font-size:.9rem}.chat-continue-button{align-self:flex-start;margin:.5rem 0;padding:.5rem 1rem;border:none;background:color-mix(in srgb,var(--tn-accent) 15%,transparent);color:var(--tn-accent);border-radius:.4rem;font-size:.85rem;font-weight:500;cursor:pointer;transition:background-color .2s ease,color .2s ease}.chat-continue-button:hover{background:color-mix(in srgb,var(--tn-accent) 25%,transparent)}.chat-input-area{flex-shrink:0;display:flex;flex-direction:column;border-top:1px solid var(--tn-border);background:var(--tn-bg-surface);padding:1rem 1.5rem}.chat-input-container{display:flex;flex-direction:column;gap:.5rem}.chat-input-meta{display:flex;justify-content:space-between}.chat-input-quota{margin:0;font-size:.75rem;color:var(--tn-text-secondary)}.chat-input-row{display:flex;position:relative;align-items:flex-end}.chat-input{flex:1;padding:.75rem 3rem .75rem 1rem;border:1px solid var(--tn-border);background:var(--tn-bg-surface);color:var(--tn-text);border-radius:.5rem;font-size:.95rem;font-family:inherit;resize:none;transition:border-color .2s ease,box-shadow .2s ease;max-height:5rem;min-height:2.4rem;width:100%}.chat-input:focus{outline:none;border-color:var(--tn-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--tn-accent) 20%,transparent)}.chat-input:disabled{opacity:.6;cursor:not-allowed}.chat-send-button{display:flex;align-items:center;justify-content:center;position:absolute;right:.4rem;bottom:.4rem;width:2.4rem;height:2.4rem;padding:0;border:none;background:var(--tn-accent);color:#fff;border-radius:.4rem;font-size:1.1rem;cursor:pointer;transition:background-color .2s ease,opacity .2s ease;flex-shrink:0}.chat-send-button:hover:not(:disabled){background:color-mix(in srgb,var(--tn-accent) 90%,black)}.chat-send-button:active:not(:disabled){transform:scale(.95)}.chat-send-button:disabled{opacity:.4;cursor:not-allowed}.chat-hacks-toast{position:absolute;right:.95rem;bottom:4.85rem;z-index:7;width:min(21rem,calc(100% - 1.9rem));border:1px solid color-mix(in srgb,var(--tn-border) 84%,var(--tn-accent) 16%);border-radius:var(--radius-md);background:color-mix(in srgb,var(--tn-bg-surface) 95%,var(--tn-accent) 5%);box-shadow:0 12px 28px #0f172a29;padding:.56rem .62rem .62rem;display:flex;flex-direction:column;gap:.46rem}.chat-hacks-toast__head{display:flex;align-items:center;justify-content:space-between;gap:.45rem}.chat-hacks-toast__title{margin:0;color:var(--tn-text);font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.chat-hacks-toast__dismiss{border:none;background:none;color:var(--tn-text-secondary);border-radius:var(--radius-pill);width:1.2rem;height:1.2rem;line-height:1;cursor:pointer}.chat-hacks-toast__dismiss:hover{background:var(--tn-bg-surface-muted);color:var(--tn-text)}.chat-hacks-toast__meta{margin:0;color:var(--tn-text-secondary);font-size:.72rem;line-height:1.35}.chat-hacks-toast__chips{display:flex;flex-wrap:wrap;gap:.34rem}.chat-hacks-toast__chip{border:1px solid var(--tn-border);background:var(--tn-bg-surface);color:var(--tn-text);font-size:.69rem;line-height:1.2;border-radius:var(--radius-pill);padding:.24rem .5rem;cursor:pointer}.chat-hacks-toast__chip:hover:not(:disabled){background:var(--tn-bg-surface-muted)}.chat-hacks-toast__chip:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--tn-accent) 60%,transparent)}.chat-hacks-toast__chip:disabled{opacity:.55;cursor:default}.chat-suggestion-rows{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;width:fit-content;margin:0 auto;max-width:100%}.chat-suggestion-row{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.5rem .4rem;background:var(--tn-bg-surface);border:1px solid var(--tn-border);border-radius:var(--radius-md);color:var(--tn-text);text-align:center;cursor:pointer;transition:all var(--motion-duration-fast) var(--motion-ease-standard);min-width:130px}.chat-suggestion-row:hover:not(:disabled){background:var(--tn-bg-surface-muted);border-color:var(--tn-accent);transform:translateY(-1px);box-shadow:0 2px 4px #0000000f}.chat-suggestion-row:disabled{opacity:.5;cursor:default}.chat-suggestion-row:focus-visible{outline:none;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--tn-accent) 60%,transparent)}.chat-suggestion-row__icon{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:var(--radius-sm);background:var(--tn-bg-surface-muted);flex-shrink:0}.chat-suggestion-row__icon-glyph{display:inline-flex;align-items:center;justify-content:center;width:.85rem;height:.85rem;font-size:.85rem;line-height:1;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",Twemoji Mozilla,sans-serif}.chat-suggestion-row__body{display:flex;flex-direction:column;gap:.1rem;min-width:0}.chat-suggestion-row__title{font-size:.7rem;font-weight:600;line-height:1.1;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.chat-suggestion-row__desc{font-size:.6rem;color:var(--tn-text-secondary);line-height:1.1;display:none}@media(min-width:640px){.chat-suggestion-row__desc{display:block}}.chat-course-selection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;width:100%;max-width:700px;max-width:1000px;margin:0 auto}.chat-course-card{all:unset;display:flex;flex-direction:column;border:1px solid var(--tn-border);border-radius:var(--radius-md);background:var(--tn-bg-surface);cursor:pointer;overflow:hidden;transition:border-color .15s,box-shadow .15s;text-align:left}.chat-course-card:hover{border-color:var(--tn-border-strong);box-shadow:0 8px 20px #0f172a17}.chat-course-card__preview{aspect-ratio:16 / 9;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--tn-bg-canvas) 80%,var(--tn-accent) 6%);overflow:hidden;border-bottom:1px solid var(--tn-border)}.chat-course-card__preview-code{font-size:1.1rem;font-weight:800;color:color-mix(in srgb,var(--tn-accent-strong) 70%,transparent);letter-spacing:.04em;text-transform:uppercase}.chat-course-card__meta{padding:.65rem .75rem .75rem;display:flex;flex-direction:column;gap:.3rem;background:var(--tn-bg-canvas);border-top:1px solid var(--tn-border);min-height:72px}.chat-course-card__tag{font-size:.72rem;font-weight:800;color:var(--tn-accent-strong);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-course-card__title{font-size:.85rem;font-weight:600;color:var(--tn-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0}.chat-term-chips{display:flex;flex-wrap:wrap;gap:.4rem;padding:.25rem .75rem .6rem}.chat-term-chip{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:999px;border:1px solid var(--tn-border);background:var(--tn-bg-surface);color:var(--tn-text);font-size:.75rem;cursor:pointer;transition:background var(--motion-duration-fast) var(--motion-ease-standard)}.chat-term-chip:hover{background:var(--tn-bg-surface-muted)}.chat-term-chip:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--tn-accent) 60%,transparent)}.chat-preset-popover{position:absolute;left:0;right:0;bottom:calc(100% + .5rem);display:flex;flex-direction:column;gap:.5rem;border:1px solid color-mix(in srgb,var(--tn-border) 82%,var(--tn-accent) 18%);border-radius:var(--radius-md);background:linear-gradient(180deg,color-mix(in srgb,var(--tn-bg-surface-muted) 78%,var(--tn-bg-surface) 22%) 0%,var(--tn-bg-surface) 100%);box-shadow:0 16px 34px #0f172a24;padding:.56rem .62rem .62rem;max-height:min(36vh,18rem);overflow-y:auto;z-index:20;transform-origin:bottom center;animation:chat-preset-popover-in var(--motion-duration-fast) var(--motion-ease-standard)}@keyframes chat-preset-popover-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chat-preset-popover__header{display:flex;flex-direction:column;gap:.14rem}.chat-preset-popover__eyebrow{margin:0;color:var(--tn-text-muted);font-size:.69rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.chat-preset-popover__hint{margin:0;color:var(--tn-text-secondary);font-size:.74rem;line-height:1.35}.chat-preset-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(162px,1fr));gap:.46rem}.chat-preset-card{all:unset;box-sizing:border-box;display:flex;flex-direction:column;gap:.32rem;min-height:3.55rem;padding:.58rem .66rem;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--preset-accent, var(--tn-accent)) 20%,var(--tn-border) 80%);background:linear-gradient(180deg,color-mix(in srgb,var(--preset-accent, var(--tn-accent)) 9%,var(--tn-bg-surface) 91%) 0%,var(--tn-bg-surface) 100%);box-shadow:0 2px 8px #0f172a0d;cursor:pointer;transform:translateY(0);transition:transform var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard),background var(--motion-duration-fast) var(--motion-ease-standard)}.chat-preset-card:hover:not(:disabled){transform:translateY(-1px);border-color:color-mix(in srgb,var(--preset-accent, var(--tn-accent)) 46%,var(--tn-border));box-shadow:0 10px 20px color-mix(in srgb,var(--preset-accent, var(--tn-accent)) 16%,rgba(15,23,42,.12))}.chat-preset-card:focus-visible{outline:none;border-color:color-mix(in srgb,var(--preset-accent, var(--tn-accent)) 62%,var(--tn-border));box-shadow:0 0 0 3px color-mix(in srgb,var(--preset-accent, var(--tn-accent)) 22%,transparent),0 10px 20px color-mix(in srgb,var(--preset-accent, var(--tn-accent)) 16%,rgba(15,23,42,.12))}.chat-preset-card:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 12px color-mix(in srgb,var(--preset-accent, var(--tn-accent)) 12%,rgba(15,23,42,.08))}.chat-preset-card:disabled{opacity:.55;cursor:default;transform:none;box-shadow:none}.chat-preset-card__top{display:flex;align-items:center;gap:.42rem;min-width:0}.chat-preset-card__emoji{width:1.22rem;height:1.22rem;border-radius:var(--radius-xs);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.78rem;line-height:1;background:color-mix(in srgb,var(--preset-accent, var(--tn-accent)) 18%,transparent)}.chat-preset-card__title{color:var(--tn-text);font-size:.84rem;font-weight:650;line-height:1.25;min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chat-preset-card__description{color:var(--tn-text-secondary);font-size:.71rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chat-preset-card--teal{--preset-accent: #0d9488}.chat-preset-card--blue{--preset-accent: #2563eb}.chat-preset-card--sky{--preset-accent: #0284c7}.chat-preset-card--green{--preset-accent: #16a34a}.chat-preset-card--amber{--preset-accent: #d97706}.chat-preset-card--rose{--preset-accent: #e11d48}.app-shell[data-theme=dark] .chat-preset-popover{box-shadow:0 18px 34px #02061770}.app-shell[data-theme=dark] .chat-preset-card{background:linear-gradient(180deg,color-mix(in srgb,var(--preset-accent, var(--tn-accent)) 18%,var(--tn-bg-surface) 82%) 0%,var(--tn-bg-surface) 100%)}.app-shell[data-theme=dark] .chat-preset-card--teal{--preset-accent: #2dd4bf}.app-shell[data-theme=dark] .chat-preset-card--blue{--preset-accent: #60a5fa}.app-shell[data-theme=dark] .chat-preset-card--sky{--preset-accent: #38bdf8}.app-shell[data-theme=dark] .chat-preset-card--green{--preset-accent: #4ade80}.app-shell[data-theme=dark] .chat-preset-card--amber{--preset-accent: #fbbf24}.app-shell[data-theme=dark] .chat-preset-card--rose{--preset-accent: #fb7185}.app-shell[data-theme=dark] .chat-preset-card__emoji{color:#0b1220}.chat-bubble{padding:.65rem .82rem;border-radius:var(--radius-lg);font-size:.85rem;line-height:1.7;max-width:92%;white-space:pre-wrap;word-break:break-word}.chat-bubble--user{background:color-mix(in srgb,var(--tn-bg-surface-muted) 90%,#f97316 10%);color:var(--tn-text);align-self:flex-end;max-width:75%;border:1px solid color-mix(in srgb,var(--tn-border) 80%,#f97316 20%);border-bottom-right-radius:var(--radius-xs)}.app-shell[data-theme=dark] .chat-bubble--user{background:color-mix(in srgb,var(--tn-bg-surface-muted) 88%,#f97316 12%);color:var(--tn-text)}.chat-bubble--assistant{background:transparent;border:none;color:var(--tn-text);align-self:flex-start;max-width:100%}.chat-bubble--general-knowledge{border-color:color-mix(in srgb,#f97316 40%,transparent);position:relative}.chat-bubble-gk-badge{position:absolute;top:.35rem;right:.45rem;font-size:.62rem;font-weight:600;color:color-mix(in srgb,#f97316 75%,var(--tn-text-secondary));opacity:.75;pointer-events:none;-webkit-user-select:none;user-select:none}.chat-resend-lecture-btn{margin-top:.5rem;border:1px solid var(--tn-border-strong);background:var(--tn-bg-surface-muted);color:var(--tn-text);border-radius:var(--radius-pill);padding:.2rem .55rem;font-size:.72rem;font-weight:600;cursor:pointer}.chat-inline-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82em;background:var(--tn-bg-surface-muted);padding:.1em .35em;border-radius:var(--radius-xs)}.chat-markdown{white-space:normal;font-size:1.05rem}.chat-markdown__h1,.chat-markdown__h2,.chat-markdown__h3{margin:.25rem 0 .45rem;line-height:1.35;color:color-mix(in srgb,var(--tn-accent-strong) 10%,var(--tn-text) 90%)}.chat-markdown__h1{font-size:1.3rem}.chat-markdown__h2{font-size:1.2rem}.chat-markdown__h3{font-size:1.1rem}.chat-markdown__p{margin:.35rem 0}.chat-markdown__lecture-suggestion{margin-top:.85rem;padding-left:.65rem;border-left:2px solid color-mix(in srgb,var(--tn-accent-strong) 50%,transparent);color:var(--tn-text-secondary);font-style:italic;font-size:.875rem}.chat-markdown__strong{font-weight:640;color:color-mix(in srgb,var(--tn-accent-strong) 18%,var(--tn-text) 82%);background:color-mix(in srgb,var(--tn-accent) 5%,transparent);border:1px solid color-mix(in srgb,var(--tn-accent) 10%,transparent);border-radius:.24rem;padding:.005em .12em;box-decoration-break:clone;-webkit-box-decoration-break:clone}.chat-markdown__em{color:color-mix(in srgb,var(--tn-accent-strong) 14%,var(--tn-text-secondary) 86%);font-style:italic}.chat-markdown__mark{color:inherit;background:color-mix(in srgb,var(--tn-accent) 8%,var(--tn-bg-surface-muted) 92%);border-radius:.28rem;padding:.01em .14em}.chat-markdown__ul,.chat-markdown__ol{margin:.35rem 0 .35rem 1.05rem;padding:0}.chat-markdown__li{margin:.2rem 0}.chat-markdown__ul .chat-markdown__li::marker,.chat-markdown__ol .chat-markdown__li::marker{color:color-mix(in srgb,var(--tn-accent-strong) 18%,var(--tn-text-muted) 82%);font-weight:600}.chat-markdown__blockquote{margin:.45rem 0;padding:.2rem .65rem;border-left:3px solid var(--tn-border-strong);color:var(--tn-text-secondary)}.chat-markdown__link{color:var(--tn-accent-strong);text-decoration:underline;text-decoration-thickness:1px}.chat-markdown__pre{margin:.45rem 0;padding:.55rem .65rem;border-radius:var(--radius-sm);background:var(--tn-bg-surface-muted);border:1px solid var(--tn-border);overflow-x:auto;white-space:pre}.chat-markdown__code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95rem}.chat-markdown__table-wrap{margin:.45rem 0;overflow-x:auto}.chat-markdown__table{width:100%;min-width:18rem;border-collapse:collapse;font-size:.79rem}.chat-markdown__th,.chat-markdown__td{border:1px solid var(--tn-border);padding:.28rem .42rem;text-align:left;vertical-align:top}.chat-markdown__th{background:color-mix(in srgb,var(--tn-bg-surface-muted) 74%,transparent);font-weight:600}.app-shell[data-theme=dark] .chat-markdown__strong{color:color-mix(in srgb,var(--tn-accent-strong) 20%,var(--tn-text) 80%);background:color-mix(in srgb,var(--tn-accent) 10%,transparent);border-color:color-mix(in srgb,var(--tn-accent) 16%,transparent)}.app-shell[data-theme=dark] .chat-markdown__mark{background:color-mix(in srgb,var(--tn-accent) 12%,var(--tn-bg-surface-muted) 88%)}.chat-bubble__toggle{display:block;margin-top:.4rem;background:none;border:none;color:#ffffffbf;font-size:.75rem;cursor:pointer;padding:0;text-align:right;width:100%;outline:none}.chat-bubble__toggle:hover{color:#fff}.app-shell[data-theme=dark] .chat-bubble--user .chat-bubble__toggle{color:#0b1220a6}.app-shell[data-theme=dark] .chat-bubble--user .chat-bubble__toggle:hover{color:#0b1220}.chat-bubble--loading{padding:.6rem .75rem;display:flex;align-items:center;min-width:3rem}.chat-panel-error{color:var(--tn-danger-text);font-size:.82rem;margin:0}.chat-panel-status-console{display:flex;flex-direction:column;gap:.35rem;margin:0 0 .5rem;padding:.6rem .7rem;border:1px solid var(--tn-border);border-radius:var(--radius-xs);background:var(--tn-bg-surface-muted)}.chat-panel-status-title{color:var(--tn-text);font-size:.82rem;font-weight:600;margin:0}.chat-panel-status{color:var(--tn-text-muted);font-size:.82rem;margin:0}.chat-panel-status-hint{color:var(--tn-text-muted);font-size:.78rem;margin:0}.chat-panel-status-progress{height:4px;border-radius:999px;background:var(--tn-border)}.chat-panel-questions-left{all:unset;font-size:.74rem;color:var(--tn-text-muted);text-align:left;padding:0;margin:0;cursor:pointer;display:flex;align-items:center;gap:0}.chat-panel-questions-left:disabled{cursor:default}.chat-panel-questions-left:hover:not(:disabled){text-decoration:underline}.chat-panel-questions-left--active{color:#16a34a;transition:color .2s ease}.app-shell[data-theme=dark] .chat-panel-questions-left--active{color:#4ade80}.chat-panel-questions-left--warning{color:#e05555;transition:color .2s ease}.app-shell[data-theme=dark] .chat-panel-questions-left--warning{color:#f87171;transition:color .2s ease}.chat-panel-meta-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:0 4px 2px}.chat-panel-meta-left{display:inline-flex;align-items:center;gap:.38rem;min-width:0}.chat-panel-cache-timer{font-size:.74rem;color:var(--tn-text-muted);text-align:right;margin:0;white-space:nowrap}@keyframes cache-timer-pulse{0%,to{color:var(--tn-text-muted);opacity:1}50%{color:#e05555;opacity:.7}}.chat-panel-cache-timer--warning{animation:cache-timer-pulse 2s ease-in-out infinite}@keyframes cache-timer-flash-green{0%{color:var(--tn-text-muted)}20%{color:#22c55e}60%{color:#22c55e}to{color:var(--tn-text-muted)}}.chat-panel-cache-timer--flash{animation:cache-timer-flash-green .7s ease-out forwards}.chat-panel-help-meta{border:none;background:transparent;color:var(--tn-text-secondary);padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;opacity:.6;transition:opacity var(--motion-duration-fast) var(--motion-ease-standard)}.chat-panel-help-meta:hover{opacity:1}.chat-panel-help-meta:focus-visible{outline:2px solid var(--tn-accent);border-radius:3px}.rate-limit-banner{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-radius:10px;background:var(--tn-bg-surface-muted);border:1px solid var(--tn-border);margin:6px 0;font-size:.85rem}.rate-limit-banner--warning{background:oklch(from #d97706 l c h / .1);border-color:oklch(from #d97706 l c h / .35)}.app-shell[data-theme=dark] .rate-limit-banner--warning{background:oklch(from #fbbf24 l c h / .08);border-color:oklch(from #fbbf24 l c h / .3)}.rate-limit-banner__icon{font-size:1rem;margin-top:1px;flex-shrink:0}.rate-limit-banner__title{font-weight:600;margin:0;color:var(--tn-text)}.rate-limit-banner__subtitle{margin:2px 0 0;color:var(--tn-text-muted)}.rate-limit-banner__low-warning{font-size:.75rem;color:var(--tn-text-muted);text-align:right;padding:0 4px 2px;margin:0}.chat-continue-button{background:var(--tn-bg-surface-muted);color:var(--tn-text);border:1px solid var(--tn-border-strong);border-radius:var(--radius-xs);padding:.5rem 1rem;font-size:.875rem;cursor:pointer;transition:background-color .12s ease,border-color .12s ease;align-self:flex-start;margin-top:.5rem}.chat-continue-button:hover{background:var(--tn-border);border-color:var(--tn-border-strong)}.chat-continue-button:active{opacity:.85}.chat-panel-input-row{width:100%;padding:.3rem .95rem .55rem}.chat-panel-input-row--centered{padding:0}.chat-panel-input-shell{position:relative;width:100%}.chat-panel-input{width:100%;box-sizing:border-box;resize:none;min-height:2.6rem;border:1px solid color-mix(in srgb,var(--tn-border-strong) 86%,var(--tn-accent) 14%);border-radius:var(--radius-pill);padding:.8rem 5.5rem .8rem 1.2rem;font-size:.9rem;font-family:inherit;line-height:1.45;outline:none;background:var(--tn-bg-surface);box-shadow:0 1px 3px #0f172a14;transition:border-color var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard)}.chat-panel-input-row--centered .chat-panel-input{min-height:3.5rem;padding:.9rem 5.5rem .9rem 1.2rem;border-radius:var(--radius-pill)}.chat-panel-input:focus{border-color:var(--tn-accent);background:var(--tn-bg-surface);box-shadow:0 0 0 3px color-mix(in srgb,var(--tn-accent) 18%,transparent),0 2px 8px #0f172a0f}.chat-panel-input:disabled{opacity:.6}.chat-panel-send{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:var(--tn-text-secondary);color:#fff;border:none;border-radius:50%;width:34px;height:34px;font-size:.88rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease,transform .1s ease;z-index:10;pointer-events:auto}.chat-panel-input-row--centered .chat-panel-send{width:36px;height:36px;right:.7rem}.chat-panel-send:hover:not(:disabled){background:var(--tn-accent);opacity:1}.chat-panel--lecture-only .chat-panel-send{background:color-mix(in srgb,var(--tn-text-secondary) 92%,#111827 8%)}.chat-panel--lecture-only .chat-panel-send:hover:not(:disabled){background:color-mix(in srgb,var(--tn-text-secondary) 86%,#111827 14%)}.chat-panel--general-knowledge{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,#f97316 45%,transparent),0 18px 40px #0f172a1c}.chat-panel--general-knowledge .chat-panel-send{background:#f97316}.chat-panel--general-knowledge .chat-panel-send:hover:not(:disabled){background:#ea580c}.chat-panel--general-knowledge .chat-panel-input{border-color:color-mix(in srgb,#f97316 56%,var(--tn-border-strong) 44%)}.chat-panel--general-knowledge .chat-panel-input:focus{border-color:#f97316;box-shadow:0 0 0 3px color-mix(in srgb,#f97316 28%,transparent),0 4px 12px #0f172a14}.app-shell[data-theme=dark] .chat-panel-send,.app-shell[data-theme=dark] .chat-panel-send:hover:not(:disabled){color:#0b1220}.chat-panel-send:disabled{opacity:.45;cursor:default;pointer-events:none}.chat-help-overlay{z-index:25;background:#00000073}.chat-help-dialog{max-width:min(32rem,calc(100vw - 2rem));background:var(--tn-bg-surface, #ffffff);color:var(--tn-text, #111827)}.chat-help-title{margin-bottom:.55rem}.chat-help-body{margin:0 0 .55rem;color:color-mix(in srgb,var(--tn-text) 78%,var(--tn-text-muted) 22%);font-size:.86rem;line-height:1.45}.chat-help-subtitle{margin:.6rem 0 .35rem;font-size:.8rem;font-weight:700;color:var(--tn-text)}.chat-help-list{margin:0;padding-left:1rem;display:grid;gap:.28rem;color:color-mix(in srgb,var(--tn-text) 74%,var(--tn-text-muted) 26%);font-size:.82rem;line-height:1.4}.chat-help-list strong{color:var(--tn-text);font-weight:700}@media(max-width:1200px){.chat-preset-popover__hint{text-align:left}}@media(max-width:900px){.slide-area{--slide-controls-clearance: 8rem}.chat-panel-tabs{padding-left:.85rem;padding-right:.85rem}.chat-panel-topbar{gap:.58rem;padding:.5rem .85rem .46rem}.chat-panel-new-tab,.chat-panel-clear,.chat-panel-close{font-size:.73rem}.slide-area__shell,.slide-area__viewer-shell{width:100%}.chat-panel-body--empty{padding:1rem .85rem}.chat-panel-empty-layout{width:100%}.chat-panel-messages{padding:.85rem .85rem .45rem}.chat-preset-popover{bottom:calc(100% + .42rem);padding:.5rem .52rem .54rem;max-height:min(42vh,17rem)}.chat-preset-grid{grid-template-columns:repeat(2,1fr);gap:.34rem}.chat-preset-card{min-height:2.95rem;padding:.46rem .5rem;gap:.24rem}.chat-preset-card__top{gap:.34rem}.chat-preset-card__emoji{width:1.08rem;height:1.08rem;font-size:.7rem}.chat-preset-card__title{font-size:.74rem}.chat-preset-card__description{font-size:.64rem}.chat-panel-input-row{padding:.72rem .85rem .85rem}.chat-panel-input-row--centered{padding:0}.chat-panel-input{font-size:.86rem;padding-right:4.9rem}.chat-panel-input-row--centered .chat-panel-input{min-height:4.1rem;padding-right:5.05rem}.chat-panel-presets-toggle{width:24px;height:24px;right:2.78rem;font-size:.8rem}.chat-panel-input-row--centered .chat-panel-presets-toggle{width:26px;height:26px;right:3.3rem}.chat-panel-send{width:28px;height:28px;right:.52rem}.chat-panel-input-row--centered .chat-panel-send{width:30px;height:30px;right:.58rem}}.ask-ai-context-menu{position:fixed;z-index:1000;display:inline-flex;align-items:center;gap:.3rem;background:var(--tn-bg-surface);color:var(--tn-text);border:1px solid var(--tn-border-strong);border-radius:var(--radius-pill);padding:.36rem .72rem;font-size:.78rem;font-weight:700;letter-spacing:.01em;cursor:pointer;box-shadow:0 10px 26px #0f172a2e;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:background var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard),transform var(--motion-duration-fast) var(--motion-ease-standard)}.ask-ai-context-menu:hover{background:var(--tn-bg-surface-muted);border-color:var(--tn-accent);color:var(--tn-accent-strong)}.ask-ai-context-menu:active{transform:translateY(1px)}@media(max-width:900px){.slide-area--open .slide-area__chat{width:100%}}@media(max-width:640px){.slide-area{--slide-controls-clearance: 8.75rem}}@media(max-width:900px){.app-shell{height:auto;min-height:100vh}.main-content--workspace .site-footer{display:none}.topbar-shell{padding-top:0;padding-bottom:0;--app-inline-inset: 12px}.topbar-capsule{width:100%;min-height:52px;padding:0 var(--app-inline-inset);padding-right:0;flex-wrap:nowrap;gap:.12rem}.topbar-capsule>*+*{margin-left:.12rem;padding-left:.5rem}.topbar-capsule>*+*:before{height:14px;display:none}.topbar-brand+*:before{display:block}.topbar-brand,.topbar-btn{font-size:.82rem;padding-left:.18rem;padding-right:.18rem}.topbar-lectures{flex:0 1 auto;min-width:0;order:0}.topbar-lectures-trigger{width:auto;min-width:0;max-width:100%;gap:.2rem}.topbar-lectures-menu{width:min(340px,calc(100vw - (var(--app-inline-inset) * 2)))}.topbar-actions{order:0;margin-left:auto;width:auto;flex:0 0 auto;gap:.1rem;padding-right:12px}.topbar-actions>*+*{margin-left:.1rem;padding-left:.5rem}.topbar-actions .topbar-btn{flex:0 0 auto}.topbar-profile-name{display:none}.topbar-actions .topbar-btn img{width:24px;height:24px}.main-content{min-height:0}.new-lecture-overlay-scrim{background:#0f172a6b}.new-lecture-overlay-panel{top:0!important;left:0!important;width:100vw;max-height:none;height:100dvh;border-radius:0;border:none}.new-lecture-overlay-panel .upload-form{padding:.85rem .72rem 1rem}.upload-form-layout{grid-template-columns:1fr;gap:.25rem}.upload-file-grid{grid-template-columns:1fr;gap:.55rem}.upload-file-grid .drop-zone-wrapper{margin-bottom:.55rem}.drop-zone{min-height:94px}.process-toast,.processing-console-overlay{left:.75rem;right:.75rem;bottom:.75rem;width:auto}.trash-fab{position:absolute;left:.75rem;top:.75rem;bottom:auto}.main-content--workspace{height:calc(100dvh - 52px);overflow:hidden;flex:none}.main-content--workspace>.route-motion-shell--main{height:100%;min-height:0;flex:1 1 0}.main-content--workspace .route-motion-content--main{height:100%;min-height:0;flex:1 1 0}.workspace-page{height:100%;overflow:hidden;padding:0}.results{flex:1 1 0;height:100%;min-height:0;overflow:hidden}.results-card--layout-v2{height:100%;overflow:hidden}.results-body--layout-v2,.results-body--layout-v2.results-body--chat-collapsed{display:flex;flex-direction:column;height:calc(100% - .8rem);overflow:hidden;gap:.75rem;padding:0 .75rem .5rem;align-items:center}.results-chat-column--collapsed{width:100%;min-width:0}.results-chat-column>.chat-rail{min-height:72px}.results-chat-column{display:none}.results-slide-column{flex:0 0 auto;order:-1;width:100%;max-width:100%}.results-notes-column{flex:1 1 0;min-height:0;overflow:hidden;width:100%}.workspace-mobile-chat-fab{position:fixed;bottom:1.5rem;right:1.25rem;z-index:115;width:56px;height:56px;border:none;border-radius:50%;background:var(--tn-bg-surface-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px #00000040;transition:transform .2s ease,box-shadow .2s ease;padding:0}.workspace-mobile-chat-fab img{filter:brightness(1.2)}.workspace-mobile-chat-fab:hover{transform:scale(1.05);box-shadow:0 6px 16px #0000004d}.workspace-mobile-chat-fab:active{transform:scale(.95)}.workspace-chat-overlay{position:fixed;inset:0;z-index:120;background:#0006;cursor:pointer}.workspace-chat-card{position:fixed;inset:auto 0 0;height:65dvh;z-index:125;background:var(--tn-bg-app);border-radius:var(--radius-lg) var(--radius-lg) 0 0;display:flex;flex-direction:column;box-shadow:0 -8px 24px #00000026;overflow:hidden;touch-action:none}.workspace-chat-card-handle{flex:0 0 auto;height:20px;background:transparent;cursor:grab;display:flex;align-items:center;justify-content:center;touch-action:none}.workspace-chat-card-handle:before{content:"";width:40px;height:4px;background:var(--tn-border);border-radius:2px}.workspace-chat-card-handle:active{cursor:grabbing}.workspace-chat-card .chat-panel{flex:1;border-radius:0;box-shadow:none;border:none;overflow:hidden;display:flex;flex-direction:column}.workspace-chat-card .chat-bubbles{flex:0 1 auto;overflow-y:auto}.workspace-chat-card .chat-input-area{flex:0 0 auto;margin-top:auto}.slide-viewer{flex:none;min-height:auto}.results-notes-column>.transcript-panel{flex:1 1 0;min-height:0;overflow:hidden}.results-notes-column .tab-content-shell{flex:1 1 auto;min-height:0}.results-notes-column .tab-content{height:100%;overflow-y:auto}.homepage{padding:1rem 1rem 2.5rem}.homepage-v2{gap:1rem}.homepage-search-input{height:48px}.homepage-v2-section-toggle{padding:.18rem}.homepage-v2-section-heading{font-size:.95rem}.homepage-v2-section-header-row{padding:.85rem .95rem}.homepage-v2-section-count{min-width:26px;height:26px;font-size:.78rem}.homepage-v2-section-body{padding:.9rem .95rem 1rem}.homepage-v2-course-create{padding:.85rem .95rem}.homepage-v2-course-create-controls{flex-direction:column;align-items:stretch}.homepage-v2-section-add-btn{min-width:1.75rem;height:1.75rem;font-size:1.02rem}.homepage-v2-section-add-grow{top:calc(100% + .4rem);left:0;width:min(320px,calc(100vw - 3rem));transform-origin:top left}.course-lectures-page-header,.search-results-page-header{align-items:flex-start}.course-lectures-page-header-meta,.search-results-page-header-meta{width:100%}.course-lectures-page-title,.search-results-page-title{font-size:1rem}.homepage-v2-course-row-header{padding:.85rem .95rem;flex-direction:column;align-items:flex-start}.homepage-v2-course-row-title-wrap{width:100%;flex-wrap:wrap;gap:.4rem}.homepage-v2-grid{gap:14px}.homepage-v2-course-tag{font-size:.78rem}.homepage-v2-card-title{font-size:.94rem}.homepage-section-heading h2{font-size:1.5rem}.homepage-carousel{gap:.75rem}.all-lectures-placeholder{width:calc(100% - 2rem);margin:1rem auto}}.modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:200;animation:overlay-fade-in var(--motion-duration-overlay) var(--motion-ease-standard) both}.modal-box{background:var(--tn-bg-surface);border-radius:var(--radius-md);padding:2rem;width:100%;max-width:380px;box-shadow:0 8px 32px #0000002e;display:flex;flex-direction:column;gap:.75rem;opacity:0;transform:translateY(var(--motion-distance-sm));animation:app-surface-in var(--motion-duration-enter) var(--motion-ease-emphasis) forwards}.modal-title{margin:0;font-size:1.125rem;font-weight:700;color:var(--tn-text)}.modal-description{margin:0;font-size:.875rem;color:var(--tn-text-secondary)}.modal-input{padding:.5rem .75rem;border:1px solid var(--tn-border-strong);border-radius:var(--radius-xs);font-size:.9375rem;outline:none;transition:border-color .15s}.modal-input:focus{border-color:var(--tn-accent)}.modal-error{margin:0;font-size:.8125rem;color:var(--tn-danger-text)}.modal-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.25rem}.modal-btn{min-height:var(--btn-min-height);padding:var(--btn-padding-y) var(--btn-padding-x);border-radius:var(--btn-radius);font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);cursor:pointer;border:1px solid transparent;transition:background var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard)}.modal-btn--secondary{background:var(--tn-bg-surface);border-color:var(--tn-border-strong);color:var(--tn-text-secondary)}.modal-btn--secondary:hover{background:var(--tn-bg-surface-muted)}.modal-btn--primary{background:var(--tn-accent);border-color:var(--tn-accent);color:#fff}.modal-btn--primary:hover:not(:disabled){background:var(--tn-accent-strong)}.app-shell[data-theme=dark] .modal-btn--primary,.app-shell[data-theme=dark] .modal-btn--primary:hover:not(:disabled){color:#0b1220}.modal-btn--primary:disabled{opacity:var(--btn-disabled-opacity);cursor:not-allowed}.admin-panel{padding:2rem;width:100%;max-width:1120px;margin:0 auto}.admin-panel-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.75rem}.admin-panel-back-btn{all:unset;font-size:.875rem;color:var(--tn-text-secondary);cursor:pointer;padding:.25rem 0}.admin-panel-back-btn:hover{color:var(--tn-text)}.admin-panel-title{margin:0;font-size:1.5rem;font-weight:700;color:var(--tn-text)}.admin-panel-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.admin-panel-usage-wide{width:min(98vw,1920px);margin-left:50%;transform:translate(-50%)}.admin-panel-tab{border:1px solid var(--tn-border-strong);background:var(--tn-bg-surface);color:var(--tn-text-secondary);border-radius:var(--btn-radius);min-height:var(--btn-min-height);padding:var(--btn-padding-y) var(--btn-padding-x);font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);cursor:pointer}.admin-panel-tab:hover{background:var(--tn-bg-surface-muted)}.admin-panel-tab--active{background:var(--tn-accent);border-color:var(--tn-accent);color:#fff}.admin-panel-tab--active:hover{background:var(--tn-accent-strong);border-color:var(--tn-accent-strong);color:#fff}.app-shell[data-theme=dark] .admin-panel-tab--active,.app-shell[data-theme=dark] .admin-panel-tab--active:hover{color:#0b1220}.admin-panel-section-title{font-size:1rem;font-weight:600;color:var(--tn-text-secondary);margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.admin-panel-add-toggle-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--btn-min-height);min-height:var(--btn-min-height);border-radius:var(--btn-radius);border:1px solid var(--tn-border-strong);background:var(--tn-bg-surface);color:var(--tn-text-secondary);font-size:1rem;line-height:1;cursor:pointer;padding:0;transition:background var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard)}.admin-panel-add-toggle-btn:hover{background:var(--tn-bg-surface-muted);border-color:var(--tn-border-strong)}.admin-panel-error{color:var(--tn-danger-text);font-size:.875rem;margin-bottom:.75rem}.admin-panel-loading,.admin-panel-empty{font-size:.9375rem;color:var(--tn-text-muted);margin:0}.admin-panel-table{width:100%;border-collapse:collapse;font-size:.875rem}.admin-panel-table th{text-align:left;padding:.5rem .75rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--tn-text-muted);border-bottom:1px solid var(--tn-border)}.admin-panel-table td{padding:.75rem;border-bottom:1px solid var(--tn-border);color:var(--tn-text)}.admin-panel-table th.num,.admin-panel-table td.num{text-align:right}.admin-panel-table td.group-label{padding:.25rem .75rem;font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--tn-text-muted);background:var(--tn-bg-surface-muted);border-top:1px solid var(--tn-border-strong)}.admin-panel-cell--id{font-family:var(--font-mono);font-size:.75rem;color:var(--tn-text-muted);white-space:nowrap}.admin-panel-lecture-link{all:unset;color:var(--tn-text);cursor:pointer;font-weight:500}.admin-panel-lecture-link:hover{color:var(--tn-accent-strong);text-decoration:underline}.admin-panel-lecture-link:focus-visible{border-radius:var(--radius-xs);outline:2px solid #93c5fd;outline-offset:2px}.admin-panel-cell--muted{color:var(--tn-text-secondary)}.admin-panel-cell--uploader{max-width:320px;overflow-wrap:anywhere;word-break:break-word}.admin-panel-actions-header{display:flex;align-items:center;justify-content:center}.admin-panel-actions{display:flex;align-items:center;gap:.5rem}.admin-panel-actions--courses,.admin-panel-actions--lectures{position:relative;justify-content:center}.admin-panel-row-actions-menu{position:absolute;top:calc(100% - .3rem);left:50%;transform:translate(-50%);z-index:25;display:flex;flex-direction:column;gap:.35rem;min-width:9.25rem;padding:.4rem;border:1px solid var(--tn-border-strong);border-radius:var(--radius-sm);background:var(--tn-bg-surface);box-shadow:0 10px 24px #0f172a1f}.admin-panel-row-actions-menu .admin-panel-secondary-btn,.admin-panel-row-actions-menu .admin-panel-reject-btn{width:100%;text-align:left}.admin-panel-reusers-row td{background:color-mix(in srgb,var(--tn-bg-surface) 88%,var(--tn-bg-app))}.admin-panel-reusers-wrap{padding:.1rem 0}.admin-panel-reusers-table{margin-top:.35rem}.admin-panel-reusers-table th,.admin-panel-reusers-table td{padding-top:.55rem;padding-bottom:.55rem}.admin-panel-reusers-owner-row td{background:color-mix(in srgb,var(--tn-accent) 8%,transparent)}.admin-panel-reuser-owner-badge{margin-left:.45rem;display:inline-flex;align-items:center;min-height:1.2rem;padding:0 .42rem;border-radius:var(--radius-pill);border:1px solid var(--tn-border-strong);font-size:.68rem;font-weight:700;color:var(--tn-text-secondary);background:var(--tn-bg-surface);text-transform:uppercase;letter-spacing:.04em}.admin-panel-reuser-email{color:var(--tn-text-secondary)}.admin-panel-create-row{display:grid;grid-template-columns:minmax(140px,180px) minmax(200px,1fr) auto;gap:.55rem;margin-bottom:.85rem}.admin-panel-search-row{display:flex;align-items:center;gap:.6rem;margin-bottom:.85rem}.admin-panel-search-row .admin-panel-input{max-width:300px}.admin-panel-search-count{font-size:.8rem;color:var(--tn-text-secondary)}.admin-panel-input{height:34px;border:1px solid var(--tn-border-strong);border-radius:var(--radius-sm);background:var(--tn-bg-surface);color:var(--tn-text);padding:0 .6rem;font-size:.85rem}.admin-panel-create-btn,.admin-panel-secondary-btn{min-height:var(--btn-min-height);padding:var(--btn-padding-y) var(--btn-padding-x);border-radius:var(--btn-radius);border:1px solid var(--tn-border-strong);background:var(--tn-bg-surface);color:var(--tn-text-secondary);font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);cursor:pointer}.admin-panel-create-btn:hover:not(:disabled),.admin-panel-secondary-btn:hover:not(:disabled){background:var(--tn-bg-surface-muted)}.admin-panel-create-btn:disabled,.admin-panel-secondary-btn:disabled{opacity:var(--btn-disabled-opacity);cursor:not-allowed}.admin-panel-reject-btn{min-height:var(--btn-min-height);padding:var(--btn-padding-y) var(--btn-padding-x);border-radius:var(--btn-radius);font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);cursor:pointer;border:1px solid color-mix(in srgb,var(--tn-danger-text) 45%,transparent);transition:background var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard)}.admin-panel-reject-btn{background:var(--tn-danger-bg);color:var(--tn-danger-text)}.admin-panel-reject-btn:hover:not(:disabled){background:color-mix(in srgb,var(--tn-danger-text) 20%,var(--tn-danger-bg))}.admin-panel-reject-btn:disabled{opacity:var(--btn-disabled-opacity);cursor:not-allowed}.admin-panel-sync-copy{margin-top:0;margin-bottom:.9rem}.admin-panel-sync-controls{display:flex;align-items:flex-end;gap:.8rem;flex-wrap:wrap;margin-bottom:1rem}.admin-panel-sync-controls label{display:flex;flex-direction:column;gap:.3rem;font-size:.78rem;color:var(--tn-text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.admin-panel-sync-checkbox{flex-direction:row!important;align-items:center;gap:.4rem!important;text-transform:none!important;letter-spacing:0!important;font-size:.85rem!important;font-weight:500!important}.admin-panel-sync-result{border:1px solid var(--tn-border);border-radius:var(--radius-sm);background:var(--tn-bg-surface);padding:.8rem}.admin-panel-sync-result h3{margin:0 0 .6rem;font-size:.9rem;color:var(--tn-text)}.admin-panel-sync-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.25rem 1rem;font-size:.82rem;color:var(--tn-text)}.admin-panel-sync-metrics p{margin:0}.admin-panel-sync-warnings{margin-top:.75rem;border-top:1px solid var(--tn-border);padding-top:.65rem}.admin-panel-sync-warnings h4{margin:0 0 .4rem;font-size:.8rem;color:var(--tn-danger-text)}.admin-panel-sync-warnings ul{margin:0;padding-left:1rem;color:var(--tn-danger-text);font-size:.8rem;display:flex;flex-direction:column;gap:.2rem}.admin-panel-usage-layout{display:flex;flex-direction:column;gap:.85rem;margin-top:.5rem}.admin-panel-section--usage{display:flex;flex-direction:column;gap:1rem}.admin-panel-usage-section{border:1px solid var(--tn-border-strong);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--tn-bg-surface) 86%,var(--tn-bg-app));padding:1rem;box-shadow:0 8px 20px #0f172a0d}.admin-panel-usage-section--controls .admin-panel-section-title{margin:0}.admin-panel-usage-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.65rem}.admin-panel-usage-card{border:1px solid var(--tn-border-strong);background:var(--tn-bg-app);border-radius:var(--radius-sm);padding:.9rem}.admin-panel-usage-card p{margin:0 0 .35rem;font-size:.78rem;color:var(--tn-text-secondary)}.admin-panel-usage-card strong{font-size:1.1rem;color:var(--tn-text)}.admin-panel-usage-subtitle{margin:.25rem 0 0;font-size:.9rem;color:var(--tn-text)}.admin-panel-usage-controls{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.admin-panel-usage-controls-actions{display:flex;align-items:center;gap:.5rem;margin-left:auto}.admin-panel-usage-days-select{appearance:none;background:var(--tn-bg-surface);border:1px solid var(--tn-border);border-radius:var(--radius-sm);color:var(--tn-text);cursor:pointer;font-size:.82rem;padding:.35rem .65rem}.admin-panel-usage-days-select:focus{outline:none;border-color:var(--tn-accent)}.admin-panel-usage-presets{display:flex;gap:.5rem}.admin-panel-usage-preset-btn{background:var(--tn-bg-surface);border:1px solid var(--tn-border);border-radius:var(--radius-sm);color:var(--tn-text);cursor:pointer;font-size:.82rem;padding:.35rem .65rem;font-weight:500;transition:all var(--motion-duration-base) var(--motion-ease-standard)}.admin-panel-usage-preset-btn:hover{border-color:var(--tn-accent);color:var(--tn-accent)}.admin-panel-usage-preset-btn.active{background:var(--tn-accent);border-color:var(--tn-accent);color:#fff}.admin-panel-usage-date-range{display:flex;align-items:center;gap:.5rem}.admin-panel-date-input{background:var(--tn-bg-surface);border:1px solid var(--tn-border);border-radius:var(--radius-sm);color:var(--tn-text);cursor:pointer;font-size:.82rem;padding:.35rem .65rem}.admin-panel-date-input:focus{outline:none;border-color:var(--tn-accent)}.admin-panel-date-separator{color:var(--tn-text-secondary);font-size:.82rem;font-weight:500}.admin-panel-usage-details{border:1px solid var(--tn-border);border-radius:var(--radius-sm)}.admin-panel-usage-details-summary{cursor:pointer;font-size:.88rem;font-weight:500;color:var(--tn-text-secondary);padding:.6rem .75rem;-webkit-user-select:none;user-select:none}.admin-panel-usage-details-summary:hover{color:var(--tn-text)}.admin-panel-usage-details-body{padding:.75rem;border-top:1px solid var(--tn-border)}.admin-panel-usage-details-group+.admin-panel-usage-details-group{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--tn-border)}.admin-panel-usage-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.admin-panel-usage-header-actions{display:flex;align-items:center;gap:.5rem}.admin-panel-usage-window{font-size:.82rem;color:var(--tn-text-secondary)}.admin-panel-usage-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem;align-items:start}.admin-panel-usage-grid>div{border:1px solid var(--tn-border);border-radius:var(--radius-sm);background:var(--tn-bg-surface);padding:.85rem}.admin-panel-usage-table-scroll{overflow-x:auto}@media(max-width:1200px){.admin-panel-usage-wide{width:100%;margin-left:0;transform:none}}@media(max-width:768px){.admin-panel-usage-grid{grid-template-columns:1fr}.admin-panel-usage-controls-actions{margin-left:0;width:100%}}@media(max-width:900px){.admin-panel-create-row{grid-template-columns:1fr}.admin-panel{padding:1rem}.admin-panel-usage-section{padding:.8rem}.admin-panel-usage-wide{width:100%;margin-left:0;transform:none}}.admin-panel-uploader-btn{background:none;border:none;color:var(--tn-text-secondary);cursor:pointer;font-size:inherit;padding:0;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:2px;transition:all .2s ease}.admin-panel-uploader-btn:hover{color:var(--tn-text);text-decoration-color:currentColor}.admin-panel-uploader-btn:focus{outline:1px solid var(--tn-accent);outline-offset:2px;border-radius:2px}.admin-panel-user-btn{background:none;border:none;color:var(--tn-text-secondary);cursor:pointer;font-size:inherit;padding:0;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:2px;transition:all .2s ease}.admin-panel-user-btn:hover{color:var(--tn-text);text-decoration-color:currentColor}.admin-panel-user-btn:focus{outline:1px solid var(--tn-accent);outline-offset:2px;border-radius:2px}.dialog-content{background:var(--tn-bg-surface);border:1px solid var(--tn-border);border-radius:var(--radius-sm);max-width:400px;width:90vw;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem;border-bottom:1px solid var(--tn-border);flex-shrink:0}.dialog-header h2{margin:0;font-size:1.1rem;font-weight:600;color:var(--tn-text)}.dialog-close-btn{background:none;border:none;color:var(--tn-text-secondary);cursor:pointer;font-size:1.5rem;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--btn-radius);transition:all .2s ease}.dialog-close-btn:hover{background:var(--tn-bg-surface-muted);color:var(--tn-text)}.dialog-body{flex:1;padding:1.25rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.uploader-details-section{display:flex;flex-direction:column;gap:.75rem}.uploader-details-divider{height:1px;background:var(--tn-border);margin:.5rem 0}.uploader-details-row{display:flex;flex-direction:column;gap:.5rem}.uploader-details-row label{font-size:.8rem;font-weight:600;color:var(--tn-text-secondary);text-transform:uppercase;letter-spacing:.5px}.uploader-details-value{font-size:.95rem;color:var(--tn-text);word-break:break-all}.uploader-details-value.lecture-name{font-weight:500;color:var(--tn-text)}.uploader-email a{color:var(--tn-accent);text-decoration:none;transition:opacity .2s ease}.uploader-email a:hover{opacity:.8;text-decoration:underline}.uploader-uuid code{background:var(--tn-bg-surface-muted);padding:.25rem .5rem;border-radius:3px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85rem;color:var(--tn-text-secondary)}.dialog-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:1rem 1.25rem;border-top:1px solid var(--tn-border);flex-shrink:0;background:var(--tn-bg-surface-muted)}.dialog-btn{min-height:var(--btn-min-height);padding:var(--btn-padding-y) var(--btn-padding-x);border-radius:var(--btn-radius);border:1px solid transparent;cursor:pointer;font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);transition:background var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard)}.dialog-btn:hover{opacity:1}.dialog-btn:focus-visible{outline:var(--btn-focus-ring);outline-offset:var(--btn-focus-offset)}.dialog-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.dialog-box{background:var(--tn-bg-surface);border:1px solid var(--tn-border);border-radius:var(--radius-sm);padding:1.5rem;min-width:300px;max-width:420px;display:flex;flex-direction:column;gap:1rem}.dialog-message{margin:0;font-size:.95rem;color:var(--tn-text);line-height:1.5}.dialog-label{font-size:.85rem;font-weight:600;color:var(--tn-text-secondary)}.dialog-input{width:100%;box-sizing:border-box;padding:.5rem .75rem;border-radius:var(--radius-xs);border:1px solid var(--tn-border-strong);background:var(--tn-bg-surface-muted);color:var(--tn-text);font-size:.9rem}.dialog-input:focus{outline:none;border-color:var(--tn-accent)}.dialog-actions{display:flex;justify-content:flex-end;gap:.5rem}.dialog-btn--cancel{background:var(--tn-bg-surface);border:1px solid var(--tn-border-strong);color:var(--tn-text-secondary)}.dialog-btn--cancel:hover{background:var(--tn-bg-surface-muted)}.dialog-btn--confirm{background:var(--tn-accent);border-color:var(--tn-accent);color:#fff}.dialog-btn--confirm:hover{background:var(--tn-accent-strong);border-color:var(--tn-accent-strong)}@media(max-width:768px){.dialog-box{padding:1.5rem}.info-card-blue,.info-card-orange,.info-card-tip,.info-card-amber{padding:16px}}.profile-page{flex:1;overflow-y:auto;background:var(--tn-bg-canvas);min-height:100vh}.profile-page-inner{max-width:680px;margin:0 auto;padding:2rem 1.5rem 4rem;display:flex;flex-direction:column;gap:1.5rem}.profile-back-btn{align-self:flex-start;background:none;border:none;color:var(--tn-accent);font-size:.875rem;cursor:pointer;padding:0}.profile-back-btn:hover{text-decoration:underline}.profile-card{display:flex;align-items:center;gap:1.25rem;background:var(--tn-bg-surface);border:1px solid var(--tn-border);border-radius:var(--radius-md);padding:1.25rem 1.5rem}.profile-avatar{flex-shrink:0;width:56px;height:56px;border-radius:50%;background:var(--tn-accent);color:#fff;font-size:1.25rem;font-weight:700;display:flex;align-items:center;justify-content:center}.app-shell[data-theme=dark] .profile-avatar{color:#0b1220}.profile-card-info{display:flex;flex-direction:column;gap:.2rem}.profile-display-name{font-size:1.1rem;font-weight:700;color:var(--tn-text)}.profile-email{font-size:.875rem;color:var(--tn-text-secondary)}.profile-joined{font-size:.75rem;color:var(--tn-text-muted);margin-top:.15rem}.profile-billing-status{font-size:.75rem;color:var(--tn-text-muted)}.profile-section{background:var(--tn-bg-surface);border:1px solid var(--tn-border);border-radius:var(--radius-md)}.profile-section-title{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--tn-text-muted);margin:0;padding:1rem 1.25rem .5rem}.profile-theme-switcher-wrap{padding:0 1.25rem 1rem}.profile-font-picker-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.85rem}.profile-font-picker-label{font-size:.78rem;font-weight:600;color:var(--tn-text-secondary)}.profile-font-preset-picker{width:min(260px,100%)}.language-switcher-subtle{display:inline-flex;align-items:center;position:relative;background:transparent;color:var(--tn-text-muted);font-size:.8rem;font-weight:500;transition:color .15s}.language-switcher-subtle:hover{color:var(--tn-text-secondary)}.language-switcher-subtle__btn{display:flex;align-items:center;background:transparent;border:none;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;padding:.25rem 0;cursor:pointer;outline:none}.language-switcher-subtle__icon{display:flex;align-items:center;margin-right:.45rem;opacity:.7}.language-switcher-subtle__label{line-height:1}.site-footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem;max-width:1400px;margin:0 auto;padding:.75rem 1.5rem}.site-footer-left{display:flex;align-items:center;gap:1.25rem}.theme-switcher{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem;background:var(--tn-bg-surface-muted);border:1px solid var(--tn-border);border-radius:var(--radius-sm)}.theme-switcher-btn{border:none;border-radius:var(--radius-sm);background:transparent;color:var(--tn-text-secondary);font-size:.82rem;font-weight:600;line-height:1;padding:.48rem .72rem;cursor:pointer}.theme-switcher-btn:hover{background:var(--tn-bg-app)}.theme-switcher-btn--active{background:var(--tn-accent);color:#fff}.app-shell[data-theme=dark] .theme-switcher-btn--active{color:#0b1220}.font-preset-picker{width:100%;position:relative}.font-preset-picker-trigger{width:100%;min-height:var(--btn-min-height);padding:.45rem .7rem;border:1px solid var(--tn-border);border-radius:var(--btn-radius);background:var(--tn-bg-surface-muted);color:var(--tn-text);font-size:.82rem;font-weight:600;line-height:1.2;display:inline-flex;align-items:center;justify-content:space-between;gap:.5rem;text-align:left;cursor:pointer}.font-preset-picker-trigger:hover{border-color:var(--tn-border-strong);background-color:var(--tn-bg-app)}.font-preset-picker-trigger:focus-visible{outline:var(--btn-focus-ring);outline-offset:var(--btn-focus-offset)}.font-preset-picker-trigger-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.font-preset-picker-trigger-chevron{font-size:.7rem;color:var(--tn-text-secondary);transition:transform var(--motion-duration-fast) var(--motion-ease-standard)}.font-preset-picker-trigger-chevron--open{transform:rotate(180deg)}.font-preset-picker-menu{position:absolute;top:calc(100% + 4px);left:0;width:100%;z-index:250;display:flex;flex-direction:column;gap:.12rem;padding:.25rem;border:1px solid var(--tn-border);border-radius:var(--radius-md);background:var(--tn-bg-surface);box-shadow:0 8px 22px #0f172a33}.app-shell[data-theme=dark] .font-preset-picker-menu{box-shadow:0 10px 24px #00000061}.font-preset-picker-option{width:100%;min-height:30px;padding:.35rem .55rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--tn-text);font-size:.82rem;font-weight:600;line-height:1.2;display:inline-flex;align-items:center;justify-content:flex-start;gap:.42rem;text-align:left;cursor:pointer}.font-preset-picker-option:hover{background:var(--tn-bg-surface-muted)}.font-preset-picker-option--active{background:color-mix(in srgb,var(--tn-accent) 16%,var(--tn-bg-surface));color:var(--tn-text)}.font-preset-picker-option-check{margin-left:.1rem;color:var(--tn-accent-strong);font-size:.75rem;line-height:1}.font-preset-picker-option-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-course-list{list-style:none;margin:0;padding:0 1.25rem 1.25rem;display:flex;flex-direction:column;gap:.4rem}.profile-course-item{display:flex;align-items:baseline;gap:.6rem;padding:.5rem .75rem;border-radius:var(--radius-sm);background:var(--tn-bg-canvas);border:1px solid var(--tn-border)}.profile-course-code{font-size:.75rem;font-weight:700;color:var(--tn-text-secondary);min-width:60px}.profile-course-name{font-size:.875rem;color:var(--tn-text)}.profile-collapsible-header{width:100%;display:flex;align-items:center;gap:.6rem;padding:1rem 1.25rem;background:none;border:none;cursor:pointer;font-size:.9rem;font-weight:600;color:var(--tn-text);text-align:left}.profile-collapsible-header:hover{background:var(--tn-bg-surface-muted)}.profile-collapsible-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:var(--radius-sm);background:var(--tn-bg-surface-muted);font-size:.7rem;font-weight:700;color:var(--tn-text-secondary)}.profile-collapsible-chevron{margin-left:auto;color:var(--tn-text-muted);font-size:.75rem}.profile-lecture-list{border-top:1px solid var(--tn-border);padding:.5rem .75rem .75rem;display:flex;flex-direction:column;gap:.35rem}.profile-lecture-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.5rem;background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;text-align:left;color:var(--tn-text)}.profile-lecture-item:hover:not(.profile-lecture-item--deleted){background:var(--tn-bg-surface-muted)}.profile-lecture-item--deleted{cursor:default}.profile-lecture-icon{font-size:1rem;flex-shrink:0}.profile-lecture-body{display:flex;flex-direction:column;gap:.1rem;flex:1;min-width:0}.profile-lecture-name{font-size:.875rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-lecture-date{font-size:.75rem;color:var(--tn-text-muted)}.profile-restore-btn{flex-shrink:0;min-height:var(--btn-min-height);padding:var(--btn-padding-y) var(--btn-padding-x);border:1px solid var(--tn-border-strong);border-radius:var(--btn-radius);background:var(--tn-bg-surface);color:var(--tn-text-secondary);font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);cursor:pointer}.profile-restore-btn:hover:not(:disabled){background:color-mix(in srgb,var(--tn-accent) 14%,transparent)}.profile-restore-btn:disabled{opacity:var(--btn-disabled-opacity);cursor:not-allowed}.profile-empty{margin:0;padding:.25rem .5rem;color:var(--tn-text-muted);font-size:.85rem}.profile-section--actions{background:var(--tn-bg-surface);padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.6rem}.profile-action-btn{width:100%;min-height:var(--btn-min-height);padding:var(--btn-padding-y) var(--btn-padding-x);border-radius:var(--btn-radius);font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);cursor:pointer;text-align:left;border:1px solid transparent}.profile-action-btn--admin{background:var(--tn-bg-surface-muted);color:var(--tn-text);border:1px solid var(--tn-border)}.profile-action-btn--admin:hover{background:var(--tn-bg-surface-muted)}.profile-action-btn--subscription{background:color-mix(in srgb,var(--tn-accent) 9%,var(--tn-bg-surface));color:var(--tn-text);border:1px solid color-mix(in srgb,var(--tn-accent) 30%,transparent)}.profile-action-btn--subscription:hover:not(:disabled){background:color-mix(in srgb,var(--tn-accent) 15%,var(--tn-bg-surface))}.profile-action-btn--billing{background:color-mix(in srgb,var(--tn-accent) 10%,var(--tn-bg-surface));color:var(--tn-text);border:1px solid color-mix(in srgb,var(--tn-accent) 36%,transparent)}.profile-action-btn--billing:hover:not(:disabled){background:color-mix(in srgb,var(--tn-accent) 16%,var(--tn-bg-surface))}.profile-action-btn--logout{background:var(--tn-danger-bg);color:var(--tn-danger-text);border:1px solid color-mix(in srgb,var(--tn-danger-text) 34%,transparent)}.profile-action-btn--logout:hover{background:color-mix(in srgb,var(--tn-danger-text) 18%,var(--tn-danger-bg))}.profile-billing-error{margin:0;color:var(--tn-danger-text);font-size:.82rem}.subscription-page{flex:1;overflow-y:auto;background:var(--tn-bg-canvas);min-height:100vh}.subscription-page-inner{max-width:680px;margin:0 auto;padding:2rem 1.5rem 4rem;display:flex;flex-direction:column;gap:1.5rem}.subscription-back-btn{align-self:flex-start;background:none;border:none;color:var(--tn-accent);font-size:.875rem;cursor:pointer;padding:0}.subscription-back-btn:hover{text-decoration:underline}.subscription-card{background:var(--tn-bg-surface);border:1px solid var(--tn-border);border-radius:var(--radius-md);padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.subscription-card-head{display:flex;flex-direction:column;gap:.45rem}.subscription-title{margin:0;color:var(--tn-text);font-size:1.3rem;font-weight:700}.subscription-subtitle{margin:0;color:var(--tn-text-secondary);font-size:.9rem}.subscription-summary{display:flex;flex-direction:column;gap:.55rem}.subscription-summary-row{margin:0;display:flex;justify-content:space-between;gap:.75rem;color:var(--tn-text-secondary);font-size:.9rem}.subscription-summary-row strong{color:var(--tn-text)}.subscription-actions{display:flex;gap:.6rem;flex-wrap:wrap}.subscription-btn{min-height:var(--btn-min-height);padding:var(--btn-padding-y) var(--btn-padding-x);border-radius:var(--btn-radius);border:1px solid transparent;font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);cursor:pointer}.subscription-btn--primary{background:var(--tn-accent);color:#fff}.subscription-btn--primary:hover:not(:disabled){background:var(--tn-accent-strong)}.app-shell[data-theme=dark] .subscription-btn--primary,.app-shell[data-theme=dark] .subscription-btn--primary:hover:not(:disabled){color:#0b1220}.subscription-btn--secondary{background:var(--tn-bg-surface);color:var(--tn-text);border-color:var(--tn-border-strong)}.subscription-btn--secondary:hover:not(:disabled){background:var(--tn-bg-surface-muted)}.subscription-btn:disabled{opacity:var(--btn-disabled-opacity);cursor:not-allowed}.subscription-error{margin:0;color:var(--tn-danger-text);font-size:.85rem}@media(prefers-reduced-motion:reduce){:root{--motion-duration-fast: 1ms;--motion-duration-base: 1ms;--motion-duration-enter: 1ms;--motion-duration-exit: 1ms;--motion-duration-overlay: 1ms;--motion-distance-xs: 0px;--motion-distance-sm: 0px;--motion-distance-md: 0px;--motion-stagger-step: 0ms}.route-motion-content,.route-motion-shell[data-motion-phase=exit] .route-motion-content,.route-motion-shell[data-motion-phase=enter] .route-motion-content{animation:none;opacity:1;transform:none;pointer-events:auto}.app-surface,.app-surface--stagger>.app-surface-item,.confirm-overlay,.confirm-dialog,.new-lecture-overlay-scrim,.new-lecture-overlay-panel,.process-toast,.processing-console-overlay,.modal-overlay,.modal-box{animation:none;opacity:1;transform:none}:where(.topbar-btn,.topbar-settings-item,.topbar-lecture-item,.homepage-lecture-card--interactive,.homepage-v2-section-toggle,.homepage-v2-section-chevron,.homepage-course-group-chevron,.program-picker-trigger-chevron,.course-picker-trigger-chevron,.course-picker-group-chevron,.upload-progress-fill,.progress-bar-fill,.panel-tab,.submit-btn,.course-lectures-page-back-btn,.course-lectures-page-remove-btn,.processing-console-overlay-download-btn,.processing-console-overlay-open-btn,.processing-console-overlay-dismiss-btn,.processing-console-overlay-live-btn,.upload-advanced-toggle,.upload-override-unlock-btn,.new-lecture-overlay-close-btn,.confirm-cancel-btn,.confirm-delete-btn,.modal-btn,.admin-panel-add-toggle-btn,.admin-panel-tab,.admin-panel-secondary-btn,.admin-panel-create-btn,.admin-panel-reject-btn,.dialog-btn,.profile-restore-btn,.profile-action-btn,.profile-collapsible-header,.access-code-gate-submit){transition:none}.progress-bar--indeterminate .progress-bar-fill{background:#3b82f6}.progress-bar-fill:before,.progress-bar-fill:after{animation:none;transform:none}.upload-console-line--active .upload-console-text:after{animation:none;transform:none;content:none}.slide-switch-shell,.slide-switch-shell--phase-from.slide-switch-shell--dir-next,.slide-switch-shell--phase-from.slide-switch-shell--dir-prev,.slide-switch-shell--phase-to{transition:none;transform:none;opacity:1}}.site-footer{background:transparent;color:var(--tn-text-muted);font-size:.8rem;padding-top:1rem;margin-top:auto;flex-shrink:0}.site-footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;max-width:1400px;margin:0 auto;padding:.75rem 1.5rem}.site-footer-copy{color:var(--tn-text-muted)}.site-footer-links{display:flex;gap:1.25rem}.site-footer-links a{color:var(--tn-text-secondary);text-decoration:none;transition:color .15s}.site-footer-links a:hover{color:var(--tn-accent)}.general-assistant-layout{display:flex;flex-direction:row;height:100%;gap:0;padding:0 .95rem 1rem;box-sizing:border-box}.general-chat-sidebar{width:320px;flex-shrink:0;display:flex;flex-direction:column;border:1px solid var(--tn-border);border-right:none;border-radius:var(--radius-lg) 0 0 var(--radius-lg);background:var(--tn-bg-surface);overflow:hidden}.general-chat-panel{flex:1;min-width:0;display:flex;flex-direction:column;border:1px solid var(--tn-border);border-radius:0 var(--radius-lg) var(--radius-lg) 0;background:var(--tn-bg-surface);box-shadow:0 18px 40px #0f172a1c;overflow:hidden}.general-chat-sidebar .chat-sidebar-tab-button{text-align:left}.general-chat-sidebar .chat-panel-topbar{justify-content:space-between;padding:0 .85rem}.general-chat-panel .chat-panel-topbar{margin-bottom:.75rem}.chat-sidebar-course-folder{display:flex;flex-direction:column}.chat-sidebar-course-folder--active{background-color:color-mix(in srgb,var(--tn-text) 3%,transparent)}.chat-sidebar-course-folder--active .chat-sidebar-course-title{color:var(--tn-accent)}.chat-sidebar-course-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.5rem .85rem;border:none;background:none;color:var(--tn-text-secondary);font-size:.85rem;font-weight:700;letter-spacing:.01em;cursor:pointer;transition:color .15s ease;text-align:left;border-radius:var(--radius-sm)}.chat-sidebar-course-title{flex:1}.chat-sidebar-course-header:hover{color:var(--tn-text)}.chat-sidebar-course-chevron{font-size:.6rem;transition:transform .2s ease;opacity:.7}.chat-sidebar-course-chevron--expanded{transform:rotate(90deg)}.chat-sidebar-course-tabs{display:flex;flex-direction:column;gap:.2rem;padding-left:.6rem;margin-bottom:.4rem}.chat-sidebar-course-tabs .chat-sidebar-tab,.chat-sidebar-course-tabs .chat-sidebar-tab--active{border-radius:var(--radius-sm)}.chat-sidebar-course-tabs .chat-sidebar-tab-button{padding-top:.45rem;padding-bottom:.45rem;font-size:.82rem}.chat-panel-course-select{border:1px solid var(--tn-border);border-radius:var(--radius-sm);background:var(--tn-bg-surface-muted);color:var(--tn-text-secondary);font-size:.76rem;font-weight:600;padding:.15rem .45rem;outline:none;cursor:pointer;max-width:140px}.chat-panel-course-select:hover{background:color-mix(in srgb,var(--tn-bg-surface-muted) 80%,var(--tn-text));color:var(--tn-text)}.chat-sidebar-tab-add{display:flex;align-items:center;justify-content:flex-start;width:100%;padding:.55rem .75rem;border:none;background:none;color:var(--tn-text-muted);font-size:.8rem;font-weight:500;cursor:pointer;transition:color .15s ease;text-align:left}.chat-sidebar-tab-add:hover{color:var(--tn-accent)}@media(max-width:768px){.general-assistant-layout{flex-direction:row}.general-chat-sidebar{width:280px}.general-chat-panel{flex:1}.chat-panel-input-row{padding:.6rem .65rem .65rem}.chat-panel-input{min-height:2.4rem;padding:.7rem 4.4rem .7rem .95rem;font-size:.82rem}.chat-panel-input-row--centered .chat-panel-input{min-height:3.2rem;padding:.75rem 4.5rem .75rem .95rem}.chat-panel-send{width:40px;height:40px;right:.5rem;font-size:.8rem}.chat-panel-input-row--centered .chat-panel-send{width:42px;height:42px;right:.55rem}.chat-panel-presets-toggle{width:32px;height:32px;right:3rem;font-size:.76rem}.chat-panel-input-row--centered .chat-panel-presets-toggle{width:34px;height:34px;right:3.2rem}.chat-panel-messages{padding:.75rem .75rem .4rem}.chat-bubble{margin:.4rem 0}.chat-course-selection-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.65rem}.chat-course-card__title{font-size:.8rem}.chat-course-card__preview-code{font-size:1rem}.chat-sidebar-course-tabs .chat-sidebar-tab-button{font-size:.75rem;padding-top:.35rem;padding-bottom:.35rem}}.chat-panel-sidebar-toggle{display:none}@media(max-width:640px){.general-assistant-layout{flex-direction:column;height:100%}.general-chat-sidebar{display:none;width:100%;height:auto;max-height:60vh;flex-shrink:0;border-right:none;border-bottom:1px solid var(--tn-border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;overflow-y:auto}.general-chat-sidebar--visible{display:flex}.general-chat-panel{flex:1;width:100%;min-width:0;border-radius:0;border:none;border-top:1px solid var(--tn-border);overflow:hidden}.chat-panel-sidebar-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--tn-border);background:var(--tn-bg-surface);border-radius:var(--radius-md);cursor:pointer;font-size:1rem;color:var(--tn-text);padding:0;flex-shrink:0;transition:background .15s ease,border-color .15s ease}.chat-panel-sidebar-toggle:hover{background:var(--tn-bg-surface-muted)}.chat-panel-sidebar-toggle:focus-visible{outline:none;border-color:var(--tn-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--tn-accent) 18%,transparent)}.chat-panel-input-row{padding:.5rem .55rem .6rem;display:flex;flex-direction:column;gap:.4rem}.chat-panel-input-shell{position:relative;width:100%;display:flex;flex-direction:column;gap:.4rem}.chat-panel-input{width:100%;min-height:2.2rem;padding:.65rem .85rem;font-size:.8rem;border-radius:var(--radius-md)}.chat-panel-input-row--centered .chat-panel-input{min-height:2.2rem;padding:.65rem .85rem}.chat-panel-send,.chat-panel-presets-toggle{position:static;transform:none;width:44px;height:44px;min-height:44px;min-width:44px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;right:auto;top:auto}.chat-panel-input-shell>div:last-child{display:flex;gap:.5rem;margin-top:.4rem}.chat-panel-messages{padding:.6rem .5rem .3rem}.chat-bubble{margin:.3rem 0;padding:.6rem .7rem}.chat-bubble--user{max-width:90%}.chat-bubble--assistant{max-width:95%}.chat-course-selection-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.5rem;max-width:100%;margin:0;padding:0 .5rem}.chat-course-card{border-radius:var(--radius-sm)}.chat-course-card__preview{aspect-ratio:auto;min-height:70px}.chat-course-card__preview-code{font-size:.95rem}.chat-course-card__meta{padding:.45rem;min-height:50px}.chat-course-card__title{font-size:.75rem;-webkit-line-clamp:2}.chat-course-card__tag{font-size:.65rem}.chat-composer-copy{padding:.5rem}.chat-composer-copy__title{font-size:1.1rem;margin-bottom:.4rem}.chat-composer-copy__desc{font-size:.8rem;line-height:1.4}.chat-sidebar-course-tabs .chat-sidebar-tab-button{font-size:.72rem;padding:.35rem .6rem}.chat-sidebar-course-header{padding:.45rem .65rem;font-size:.8rem}.rate-limit-banner{padding:.5rem .6rem;font-size:.75rem}.rate-limit-banner__icon{font-size:.9rem}.rate-limit-banner__title{font-size:.73rem}.rate-limit-banner__subtitle{font-size:.7rem}.chat-panel-input-row--centered{padding:.5rem .55rem .6rem}.chat-panel-questions-left{font-size:.72rem}}.auth-page{--auth-bg-main: #eef3ff;--auth-bg-alt: #f8fbff;--auth-panel: rgba(255, 255, 255, .9);--auth-card: #ffffff;--auth-border: #d7e1f0;--auth-border-strong: #9ab0d1;--auth-heading: #14253f;--auth-body: #344967;--auth-muted: #5e7396;--auth-accent: #2d5eb3;--auth-accent-hover: #234d93;--auth-accent-soft: #e6eefc;--auth-danger-bg: #fef2f2;--auth-danger-text: #8f1d1d;--auth-shadow-soft: 0 24px 60px rgba(26, 54, 103, .12);--auth-shadow-card: 0 18px 40px rgba(31, 63, 110, .14);--auth-radius-xl: 10px;--auth-radius-lg: 8px;--auth-radius-md: 6px;position:relative;min-height:100vh;padding:clamp(1rem,2.4vw,2.25rem);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;background:radial-gradient(circle at 8% 10%,#f8fbff,#f8fbff00 48%),radial-gradient(circle at 92% 14%,#dce8ff,#dce8ff00 45%),linear-gradient(145deg,var(--auth-bg-main),var(--auth-bg-alt));font-family:var(--tn-font-body, "Avenir Next", Avenir, "Trebuchet MS", "Segoe UI", sans-serif);color:var(--auth-body);overflow:hidden;color-scheme:light}.auth-page[data-theme=dark]{--auth-bg-main: #1e1e1e;--auth-bg-alt: #262626;--auth-panel: rgba(30, 30, 30, .9);--auth-card: #2a2a2a;--auth-border: #333333;--auth-border-strong: #444444;--auth-heading: #f5f5f5;--auth-body: #d0d0d0;--auth-muted: #999999;--auth-accent: #3b82f6;--auth-accent-hover: #60a5fa;--auth-accent-soft: rgba(59, 130, 246, .12);--auth-danger-bg: #451111;--auth-danger-text: #ffb3b3;--auth-shadow-soft: 0 24px 60px rgba(0, 0, 0, .3);--auth-shadow-card: 0 18px 40px rgba(0, 0, 0, .4);color-scheme:dark;background:radial-gradient(circle at 8% 10%,#3b82f614,#3b82f600 48%),radial-gradient(circle at 92% 14%,#3b82f60f,#3b82f600 45%),linear-gradient(145deg,var(--auth-bg-main),var(--auth-bg-alt))}.auth-page__shape{position:absolute;border-radius:999px;pointer-events:none;filter:blur(.2px)}.auth-page__shape--one{width:min(42vw,500px);height:min(42vw,500px);top:-16%;left:-10%;background:radial-gradient(circle at 40% 35%,rgba(125,164,235,.22),rgba(125,164,235,.06) 68%,transparent 100%)}.auth-page[data-theme=dark] .auth-page__shape--one{background:radial-gradient(circle at 40% 35%,rgba(59,130,246,.15),rgba(59,130,246,.03) 68%,transparent 100%)}.auth-page__shape--two{width:min(30vw,360px);height:min(30vw,360px);bottom:-12%;right:-8%;background:radial-gradient(circle at 60% 50%,rgba(132,159,196,.19),rgba(132,159,196,.05) 64%,transparent 100%)}.auth-page[data-theme=dark] .auth-page__shape--two{background:radial-gradient(circle at 60% 50%,rgba(59,130,246,.12),rgba(59,130,246,.02) 64%,transparent 100%)}.auth-shell{width:min(980px,100%);display:grid;grid-template-columns:minmax(230px,.9fr) minmax(320px,1fr);gap:clamp(1rem,3vw,2rem);align-items:stretch;position:relative;z-index:1}.auth-shell--single{grid-template-columns:minmax(320px,760px);justify-content:center}.auth-hero{border-radius:var(--auth-radius-xl);border:1px solid rgba(154,176,209,.45);background:var(--auth-panel);box-shadow:var(--auth-shadow-soft);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:clamp(1.25rem,2.8vw,2rem);display:flex;flex-direction:column;justify-content:space-between;animation:auth-rise var(--motion-duration-enter, .22s) var(--motion-ease-emphasis, cubic-bezier(.2, .9, .2, 1)) both}.auth-page[data-theme=dark] .auth-hero{border-color:#64748b40}.auth-hero__eyebrow{margin:0;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--auth-muted)}.auth-hero__title{margin:.4rem 0 .7rem;color:var(--auth-heading);font-size:clamp(1.45rem,2.7vw,2.05rem);line-height:1.1;letter-spacing:-.02em}.auth-hero__text{margin:0;color:var(--auth-body);font-size:.96rem}.auth-hero__list{margin:1.35rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.7rem}.auth-hero__list-item{display:flex;align-items:center;gap:.55rem;color:var(--auth-body);font-size:.9rem}.auth-hero__dot{width:.5rem;height:.5rem;border-radius:999px;background:linear-gradient(135deg,#386cc7,#5b88d5);box-shadow:0 0 0 3px #e9f1ff;flex:0 0 auto}.auth-back-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .6rem;margin-bottom:.75rem;margin-left:-.5rem;border:none;background:transparent;color:var(--auth-muted);font-size:.82rem;font-weight:600;border-radius:var(--auth-radius-md);cursor:pointer;transition:all .2s ease}.auth-back-btn:hover{color:var(--auth-accent);background:var(--auth-accent-soft)}.auth-back-btn svg{transition:transform .2s ease}.auth-back-btn:hover svg{transform:translate(-2px)}.auth-card{border-radius:var(--auth-radius-xl);border:1px solid rgba(145,166,196,.42);background:var(--auth-card);box-shadow:var(--auth-shadow-card);padding:clamp(1.15rem,3vw,2rem);animation:auth-rise var(--motion-duration-enter, .22s) var(--motion-ease-emphasis, cubic-bezier(.2, .9, .2, 1)) both}.auth-page[data-theme=dark] .auth-card{border-color:#64748b40}.auth-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;margin-bottom:1.35rem}.auth-card__language{margin-top:-.25rem;margin-right:-.25rem;flex-shrink:0}.auth-card__title{margin:0;color:var(--auth-heading);font-size:clamp(1.24rem,2.2vw,1.55rem);line-height:1.16;letter-spacing:-.01em}.auth-card__subtitle{margin:.35rem 0 0;color:var(--auth-muted);font-size:.86rem}.auth-form{display:grid;gap:.94rem}.auth-field{display:grid;gap:.32rem}.auth-label{display:block;color:#264268;font-size:.83rem;font-weight:700;letter-spacing:.01em}.auth-page[data-theme=dark] .auth-label{color:#b8c9d9}.auth-input-wrap{position:relative}.auth-input{width:100%;min-height:43px;padding:.62rem .78rem;border:1px solid var(--auth-border);border-radius:var(--auth-radius-md);background:#fdfefe;color:#1b2f50;font-size:.95rem;transition-property:border-color,box-shadow,background}.auth-input::placeholder{color:#8ca0c0}.auth-input:hover{border-color:#bacbe3}.auth-input:focus-visible{outline:none;border-color:var(--auth-border-strong);box-shadow:0 0 0 3px #dbe7fb;background:#fff}.auth-page[data-theme=dark] .auth-input{background:#313131;color:#e0e0e0}.auth-page[data-theme=dark] .auth-input::placeholder{color:#777}.auth-page[data-theme=dark] .auth-input:hover{border-color:#555}.auth-page[data-theme=dark] .auth-input:focus-visible{border-color:var(--auth-border-strong);box-shadow:0 0 0 3px #3b82f633;background:#3a3a3a}.auth-input--has-toggle{padding-right:4.5rem}.auth-page button.auth-password-toggle{position:absolute;top:50%;right:.3rem;transform:translateY(-50%);min-height:31px;padding:.2rem .6rem;border-radius:var(--btn-radius, var(--auth-radius-md));border:1px solid transparent;background:transparent;color:#3f5f8d;font-size:.74rem;font-weight:700;letter-spacing:.01em;transition-property:background,color,border-color}.auth-page button.auth-password-toggle:hover:not(:disabled){background:#edf3ff;color:#2b4f86}.auth-page button.auth-password-toggle:focus-visible{outline:none;border-color:#aac1e4;background:#f2f7ff}.auth-page[data-theme=dark] button.auth-password-toggle{color:#80a0c0}.auth-page[data-theme=dark] button.auth-password-toggle:hover:not(:disabled){background:#3b82f61a;color:#a8c5e0}.auth-page[data-theme=dark] button.auth-password-toggle:focus-visible{border-color:#3b82f666;background:#3b82f614}.auth-error{margin:0;padding:.62rem .75rem;border-radius:5px;border:1px solid #f4b5b5;background:var(--auth-danger-bg);color:var(--auth-danger-text);font-size:.84rem;line-height:1.35}.auth-page[data-theme=dark] .auth-error{border-color:#ff6b6b66}.auth-row{display:grid;gap:.58rem}.auth-checkbox-field{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:.55rem}.auth-checkbox{margin-top:.1rem;width:1rem;height:1rem}.auth-checkbox-label{color:#2c456d;font-size:.84rem;line-height:1.45}.auth-page[data-theme=dark] .auth-checkbox-label{color:#b8c9d9}.auth-page button.auth-btn{width:100%;min-height:43px;border:none;border-radius:var(--btn-radius, var(--auth-radius-md));background:linear-gradient(135deg,#3263bb,#28539f);color:#fff;font-size:.9rem;font-weight:700;letter-spacing:.01em;justify-content:center;transition-property:filter,transform}.auth-page button.auth-btn:hover:not(:disabled){background:linear-gradient(135deg,#2c58ab,#234b90);transform:translateY(calc(-1 * var(--motion-distance-xs, 6px) * .25))}.auth-page button.auth-btn.auth-btn--secondary{border:1px solid var(--auth-border);background:#f4f8ff;color:#1f3b68}.auth-page button.auth-btn.auth-btn--secondary:hover:not(:disabled){background:#eaf1ff}.auth-page button.auth-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #d9e6fb}.auth-page button.auth-btn:disabled{opacity:var(--btn-disabled-opacity, .55)}.auth-page[data-theme=dark] button.auth-btn{background:linear-gradient(135deg,#3b82f6,#2563eb)}.auth-page[data-theme=dark] button.auth-btn:hover:not(:disabled){background:linear-gradient(135deg,#60a5fa,#3b82f6)}.auth-page[data-theme=dark] button.auth-btn.auth-btn--secondary{border-color:var(--auth-border);background:#3b82f61a;color:#a8c5e0}.auth-page[data-theme=dark] button.auth-btn.auth-btn--secondary:hover:not(:disabled){background:#3b82f626}.auth-page[data-theme=dark] button.auth-btn:focus-visible{box-shadow:0 0 0 3px #3b82f640}.auth-footer{margin:1rem 0 0;text-align:center;color:var(--auth-muted);font-size:.85rem}.auth-page button.auth-inline-link,.auth-page a.auth-inline-link{border:none;background:transparent;padding:0;margin-left:.2rem;color:var(--auth-accent);font-size:.85rem;font-weight:700;text-decoration:underline;text-underline-offset:2px;transition-property:color}.auth-inline-link.auth-inline-link--standalone{margin-left:0}.auth-page button.auth-inline-link.auth-inline-link--left,.auth-page a.auth-inline-link.auth-inline-link--left{margin-left:0;text-align:left}.auth-page button.auth-inline-link:hover:not(:disabled),.auth-page a.auth-inline-link:hover{background:transparent;color:var(--auth-accent-hover)}.auth-page button.auth-inline-link:focus-visible,.auth-page a.auth-inline-link:focus-visible{outline:none;border-radius:var(--btn-radius, var(--auth-radius-md));box-shadow:0 0 0 3px #dce8fa}.auth-page[data-theme=dark] button.auth-inline-link:focus-visible,.auth-page[data-theme=dark] a.auth-inline-link:focus-visible{box-shadow:0 0 0 3px #3b82f640}@keyframes auth-rise{0%{opacity:0;transform:translateY(var(--motion-distance-sm, 10px))}to{opacity:1;transform:translateY(0)}}.auth-page .site-footer{width:min(980px,100%);margin-top:0;border-top:1px solid rgba(154,176,209,.25)}.auth-page .site-footer-inner{padding:1.25rem 0}@media(max-width:860px){.auth-shell{grid-template-columns:1fr;max-width:560px}.auth-hero{order:2;padding-top:1.1rem;padding-bottom:1.1rem}.auth-card{order:1}}@media(max-width:520px){.auth-page{padding:.72rem}.auth-shell{gap:.7rem}.auth-card,.auth-hero{border-radius:8px;padding:1rem}.auth-card__head{margin-bottom:1.05rem}}@media(prefers-reduced-motion:reduce){.auth-card,.auth-hero{animation:none}.auth-page button.auth-btn:hover:not(:disabled){transform:none}.auth-input,.auth-page button.auth-btn,.auth-page button.auth-password-toggle,.auth-page button.auth-inline-link,.auth-page a.auth-inline-link{transition:none}}.auth-confirmation{background:color-mix(in srgb,var(--color-accent, #6366f1) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-accent, #6366f1) 30%,transparent);border-radius:4px;padding:1rem 1.25rem;margin-bottom:1rem;color:inherit;font-size:.9rem;line-height:1.5}.billing-paywall-summary{margin:0 0 1rem;padding:.75rem;border-radius:6px;border:1px solid var(--auth-border);background:#f7faff}.billing-paywall-summary__row{margin:0;display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:#29456e;font-size:.86rem}.billing-paywall-summary__row+.billing-paywall-summary__row{margin-top:.45rem}.billing-paywall-legal{margin:0 0 1rem;padding:.75rem;border-radius:6px;border:1px solid var(--auth-border);background:#fcfdff}.billing-paywall-legal__title{margin:0 0 .5rem;font-size:.9rem;color:#1e3a67}.billing-paywall-legal__list{margin:0;padding-left:1.1rem;color:#2f4a72;font-size:.84rem;line-height:1.45}.billing-paywall-legal__links{margin:.55rem 0 0;color:#35557f;font-size:.84rem}.auth-legal-card{max-height:min(86vh,860px);overflow:auto}.auth-legal-card__links{margin:0 0 .85rem;display:flex;align-items:center;gap:.7rem;font-size:.86rem}.auth-legal-card__content{color:#26456d;font-size:.9rem;line-height:1.55}.auth-legal-card__content h2{margin:.95rem 0 .35rem;color:#153157;font-size:1rem}.auth-legal-card__content p{margin:.45rem 0}.auth-footer.auth-footer--left{text-align:left}.landing{--lp-bg-main: #f8f9fa;--lp-bg-alt: #f1f5f9;--lp-heading: #0f172a;--lp-body: #334155;--lp-muted: #64748b;--lp-accent: #00a2f4;--lp-accent-hover: #0088cc;--lp-accent-soft: #f0f9ff;--lp-border: #e2e8f0;--lp-border-strong: #cbd5e1;--lp-card: #ffffff;--lp-shadow: 0 1px 3px rgba(15,23,42,.07), 0 4px 12px rgba(15,23,42,.05);--lp-radius-sm: 4px;--lp-radius-md: 6px;--lp-radius-lg: 8px;min-height:100vh;background:var(--lp-bg-main);font-family:var(--tn-font-body, system-ui, Helvetica, Arial, sans-serif);color:var(--lp-body);overflow-x:hidden;color-scheme:light}.landing[data-theme=dark]{--lp-bg-main: #171717;--lp-bg-alt: #212121;--lp-heading: #f5f5f5;--lp-body: #c4c4c4;--lp-muted: #8a8a8a;--lp-accent: #3b82f6;--lp-accent-hover: #60a5fa;--lp-accent-soft: rgba(59,130,246,.12);--lp-border: #333333;--lp-border-strong: #444444;--lp-card: #262626;--lp-shadow: 0 1px 3px rgba(0,0,0,.3), 0 4px 12px rgba(0,0,0,.2);color-scheme:dark}.landing-nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.5rem,6vw,5rem);height:64px;background:rgba(from var(--lp-bg-main) r g b / .9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--lp-border)}.landing-nav__logo{display:flex;align-items:center;gap:.5rem;font-size:1.05rem;font-weight:700;color:var(--lp-heading);letter-spacing:-.01em;text-decoration:none}.landing-nav__logo-icon{width:28px;height:28px;flex-shrink:0}.landing-nav__actions{display:flex;align-items:center;gap:.625rem}.landing-nav__language{margin-right:.25rem}@media(max-width:680px){.landing-nav__language{display:none}}.landing-nav__btn{font-family:inherit;font-size:.875rem;font-weight:600;border-radius:var(--btn-radius, var(--lp-radius-md));padding:.45rem 1.1rem;cursor:pointer;transition:background .18s,color .18s,box-shadow .18s,transform .12s;border:none;line-height:1.4}.landing-nav__btn:focus-visible{outline:var(--btn-focus-ring, 2px solid color-mix(in srgb, var(--lp-accent) 55%, transparent));outline-offset:var(--btn-focus-offset, 2px)}.landing-nav__btn:active{transform:translateY(1px)}.landing-nav__btn--ghost{background:transparent;color:var(--lp-body);border:1.5px solid transparent}.landing-nav__btn--ghost:hover{background:var(--lp-bg-alt);color:var(--lp-body);border-color:var(--lp-border)}.landing-nav__btn--primary{background:var(--lp-accent);color:#fff;box-shadow:0 2px 8px #2563eb33}.landing-nav__btn--primary:hover{background:var(--lp-accent-hover);box-shadow:0 4px 14px #2563eb47}@keyframes lp-fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.landing-hero{position:relative;z-index:1;padding:clamp(4.6rem,10vw,8.8rem) clamp(1.5rem,6vw,5rem) clamp(3.8rem,7vw,6rem);background:linear-gradient(180deg,var(--lp-bg-alt) 0%,transparent 100%);animation:lp-fade-up .4s ease both}.landing-hero__grid{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:minmax(300px,1fr) minmax(540px,1.2fr);align-items:center;gap:clamp(2rem,3vw,3.4rem)}.landing-hero__content{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.landing-hero__eyebrow{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--lp-muted);margin-bottom:1.6rem}.landing-hero__title{font-size:clamp(2.25rem,4.9vw,4rem);font-weight:800;line-height:1.13;letter-spacing:-.03em;color:var(--lp-heading);max-width:640px;margin:0 0 1.2rem}.landing-hero__title em{font-style:normal;color:var(--lp-accent)}.landing-hero__sub{font-size:clamp(1rem,1.9vw,1.16rem);color:var(--lp-muted);max-width:590px;line-height:1.62;margin:0 0 2rem}.landing-hero__cta{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:flex-start}.landing-demo{width:100%;background:var(--lp-bg-alt);border:1px solid color-mix(in srgb,var(--tn-border-strong, #cbd5e1) 92%,#fff);border-radius:16px;box-shadow:0 24px 52px #0f172a1f;padding:.95rem}.landing[data-theme=dark] .landing-demo{box-shadow:0 24px 52px #0000004d}.landing-demo__steps{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.72rem}.landing-demo__step-pill{border:1px solid color-mix(in srgb,var(--tn-border, #e2e8f0) 90%,#fff);border-radius:999px;background:var(--tn-bg-surface, #fff);color:var(--tn-text-secondary, #475569);cursor:pointer;font-size:.76rem;font-weight:700;display:inline-flex;align-items:center;gap:.35rem;padding:.34rem .58rem;transition:border-color .16s ease,color .16s ease,background .16s ease}.landing-demo__step-pill:hover{border-color:var(--tn-border-strong, #cbd5e1)}.landing-demo__step-pill.is-active{border-color:color-mix(in srgb,var(--tn-accent, #00a2f4) 40%,var(--tn-border, #e2e8f0));color:var(--tn-accent-strong, #1d4ed8);background:color-mix(in srgb,var(--tn-accent, #00a2f4) 14%,#fff)}.landing-demo__step-pill:focus-visible{outline:var(--btn-focus-ring, 2px solid color-mix(in srgb, var(--lp-accent) 55%, transparent));outline-offset:var(--btn-focus-offset, 2px)}.landing-demo__step-pill-index{display:inline-grid;place-items:center;width:1.2rem;height:1.2rem;border-radius:999px;border:1px solid currentColor;font-size:.72rem;line-height:1}.landing-demo__frame{position:relative;min-height:368px;border-radius:12px;border:1px solid var(--tn-border, #e2e8f0);background:var(--tn-bg-surface, #fff);padding:.82rem;overflow:hidden}.landing-demo-scene{position:absolute;inset:.82rem;opacity:0;transform:translateY(8px) scale(.992);transition:opacity .34s ease,transform .34s ease;pointer-events:none;display:flex;flex-direction:column;gap:.62rem}.landing-demo-scene.is-active{opacity:1;transform:translateY(0) scale(1)}.landing-demo-app-chrome{display:flex;align-items:center;gap:.34rem;border:1px solid var(--tn-border, #e2e8f0);border-radius:var(--radius-sm, 6px);background:var(--tn-bg-surface-muted, #f8fafc);padding:.36rem .5rem}.landing-demo-app-chrome__dot{width:7px;height:7px;border-radius:999px;background:var(--tn-border-strong, #cbd5e1)}.landing-demo-app-chrome__title{margin-left:.35rem;font-size:.72rem;font-weight:700;color:var(--tn-text-secondary, #475569)}.landing-demo-upload-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:.58rem;min-height:0;flex:1}.landing-demo-upload-meta{display:flex;flex-direction:column;gap:.5rem}.landing-demo-upload-field{border:1px solid var(--tn-border, #e2e8f0);border-radius:var(--radius-sm, 6px);background:var(--tn-bg-surface, #fff);padding:.52rem .6rem;display:flex;flex-direction:column;gap:.14rem}.landing-demo-upload-field__label{font-size:.66rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--tn-text-muted, #64748b)}.landing-demo-upload-field__value{font-size:.74rem;font-weight:600;color:var(--tn-text, #0f172a)}.landing-demo-upload-files{display:flex;flex-direction:column;gap:.5rem}.landing-demo-upload-dropzone{border:2px dashed var(--tn-border-strong, #cbd5e1);border-radius:var(--radius-sm, 6px);background:var(--tn-bg-canvas, #f8fafc);min-height:102px;padding:.62rem;display:flex;flex-direction:column;justify-content:center;gap:.22rem}.landing-demo-upload-dropzone__label{font-size:.68rem;font-weight:700;color:var(--tn-text-secondary, #475569)}.landing-demo-upload-dropzone__file{display:inline-flex;align-self:flex-start;font-size:.72rem;font-weight:600;color:var(--tn-accent-strong, #1d4ed8);background:color-mix(in srgb,var(--tn-accent, #00a2f4) 14%,#fff);border:1px solid color-mix(in srgb,var(--tn-accent, #00a2f4) 22%,transparent);border-radius:var(--radius-pill, 999px);padding:.2rem .5rem}.landing-demo-upload-progress{margin-top:auto;border:1px solid var(--tn-border, #e2e8f0);border-radius:999px;background:var(--tn-bg-surface-muted, #eef2f7);height:9px;overflow:hidden}.landing-demo-upload-progress__bar{width:76%;height:100%;background:linear-gradient(90deg,#93c5fd 0%,var(--tn-accent, #00a2f4) 90%);animation:lp-upload-pulse 2.2s ease-in-out infinite}@keyframes lp-upload-pulse{0%,to{opacity:.86}50%{opacity:1}}.landing-demo-results-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:.58rem;flex:1;min-height:0}.landing-demo-results-notes,.landing-demo-results-slide{display:flex;flex-direction:column;border:1px solid var(--tn-border, #e2e8f0);border-radius:var(--radius-md, 8px);background:var(--tn-bg-surface, #fff);min-height:0;overflow:hidden}.landing-demo-results-tabs{display:flex;align-items:center;gap:.2rem;border-bottom:1px solid var(--tn-border, #e2e8f0);padding:.42rem .48rem .36rem;background:var(--tn-bg-surface-muted, #f8fafc)}.landing-demo-results-tabs span{font-size:.69rem;font-weight:700;color:var(--tn-text-secondary, #475569);padding:.2rem .4rem;border-radius:var(--radius-xs, 4px)}.landing-demo-results-tabs .is-active{color:var(--tn-text, #0f172a);background:var(--tn-bg-surface, #fff);border:1px solid var(--tn-border, #e2e8f0)}.landing-demo-notes-summary{margin:.52rem .52rem 0;font-size:.73rem;font-weight:600;color:var(--tn-text, #0f172a);line-height:1.45;padding:.46rem .54rem;background:color-mix(in srgb,var(--tn-accent, #00a2f4) 12%,#fff);border-left:3px solid var(--tn-accent, #00a2f4);border-radius:0 var(--radius-xs, 4px) var(--radius-xs, 4px) 0}.landing-demo-notes-list{list-style:disc;margin:.5rem .58rem .58rem 1.35rem;padding:0 .25rem 0 0;display:grid;gap:.34rem}.landing-demo-notes-list li{font-size:.71rem;color:var(--tn-text-secondary, #475569);line-height:1.45}.landing-demo-slide-sheet{margin:.56rem;display:flex;flex-direction:column;gap:.26rem;background:var(--lp-card);border:1px solid var(--tn-border-strong, #cbd5e1);border-radius:var(--radius-xs, 4px);padding:.58rem;flex:1}.landing-demo-slide-sheet__line{height:6px;border-radius:999px;background:var(--tn-border, #e2e8f0)}.landing-demo-slide-sheet__line.short{width:52%}.landing-demo-slide-nav{margin:0 .56rem .56rem;border:1px solid var(--tn-border, #e2e8f0);border-radius:var(--radius-pill, 999px);background:var(--tn-bg-surface-muted, #f8fafc);color:var(--tn-text-secondary, #475569);font-size:.69rem;font-weight:700;padding:.25rem .5rem;align-self:flex-start}.landing-demo-chat-panel{display:flex;flex:1;min-height:0;flex-direction:column;border:1px solid var(--tn-border, #e2e8f0);border-radius:var(--radius-md, 8px);background:var(--tn-bg-surface, #fff);overflow:hidden}.landing-demo-chat-topbar{border-bottom:1px solid var(--tn-border, #e2e8f0);background:var(--tn-bg-surface-muted, #f8fafc);padding:.42rem .56rem;display:flex;justify-content:flex-end;gap:.6rem}.landing-demo-chat-topbar span{font-size:.67rem;font-weight:700;color:var(--tn-text-secondary, #475569)}.landing-demo-chat-messages{flex:1;min-height:0;display:flex;flex-direction:column;gap:.48rem;padding:.6rem}.landing-demo-chat-bubble{font-size:.72rem;line-height:1.45;padding:.48rem .56rem;border-radius:var(--radius-md, 8px);max-width:88%}.landing-demo-chat-bubble--user{align-self:flex-end;color:#fff;background:linear-gradient(135deg,#00a2f4,#3b82f6);border-bottom-right-radius:var(--radius-xs, 4px)}.landing-demo-chat-bubble--ai{align-self:flex-start;border:1px solid var(--tn-border, #e2e8f0);color:var(--tn-text, #0f172a);background:color-mix(in srgb,var(--tn-bg-surface, #fff) 94%,transparent);border-bottom-left-radius:var(--radius-xs, 4px)}.landing-demo-chat-input{margin:0 .58rem .58rem;border:1px solid color-mix(in srgb,var(--tn-border-strong, #cbd5e1) 86%,var(--tn-accent, #00a2f4) 14%);border-radius:var(--radius-lg, 12px);background:linear-gradient(180deg,var(--tn-bg-surface, #fff) 0%,color-mix(in srgb,var(--tn-bg-surface, #fff) 94%,var(--tn-bg-surface-muted, #f8fafc) 6%) 100%);color:var(--tn-text-muted, #64748b);padding:.48rem .68rem;font-size:.72rem}.landing-demo__caption{margin:.78rem 0 0;font-size:.82rem;color:var(--tn-text-secondary, #475569);line-height:1.45}.landing-demo__caption strong{color:var(--tn-text, #0f172a)}.landing-btn{font-family:inherit;font-size:1rem;font-weight:700;border-radius:var(--btn-radius, var(--lp-radius-md));padding:.75rem 1.75rem;cursor:pointer;transition:background .18s,box-shadow .18s,transform .12s;border:none;line-height:1.4;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem}.landing-btn:focus-visible{outline:var(--btn-focus-ring, 2px solid color-mix(in srgb, var(--lp-accent) 55%, transparent));outline-offset:var(--btn-focus-offset, 2px)}.landing-btn:active{transform:translateY(1px)}.landing-btn--primary{background:var(--lp-accent);color:#fff;box-shadow:0 2px 8px #2563eb33}.landing-btn--primary:hover{background:var(--lp-accent-hover);box-shadow:0 4px 14px #2563eb47}.landing-btn--secondary{background:var(--lp-card);color:var(--lp-body);border:1.5px solid var(--lp-border);box-shadow:0 1px 3px #0f172a12}.landing-btn--secondary:hover{background:var(--lp-bg-alt);border-color:var(--lp-border-strong)}.landing-features{position:relative;z-index:1;padding:clamp(2rem,5vw,4rem) clamp(1.5rem,6vw,5rem)}.landing-features__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:980px;margin:0 auto}@media(max-width:720px){.landing-features__grid{grid-template-columns:1fr}}@media(max-width:980px){.landing-hero__grid{grid-template-columns:1fr}.landing-hero__content{align-items:center;text-align:center}.landing-hero__cta{justify-content:center}.landing-demo{max-width:760px;margin:0 auto}.landing-demo__frame{min-height:340px}}@media(max-width:740px){.landing-demo-upload-layout,.landing-demo-results-layout{grid-template-columns:1fr}.landing-demo__frame{min-height:392px}}.landing-feature-card{background:var(--lp-card);border:1px solid var(--lp-border);border-radius:8px;padding:2rem 1.75rem;box-shadow:var(--lp-shadow);opacity:0;transform:translateY(16px);transition:opacity .38s cubic-bezier(.22,1,.36,1),transform .38s cubic-bezier(.22,1,.36,1),box-shadow .18s ease}.landing-feature-card.is-visible{opacity:1;transform:translateY(0)}.landing-feature-card:nth-child(2){transition-delay:60ms}.landing-feature-card:nth-child(3){transition-delay:.12s}.landing-feature-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0f172a1a}.landing-feature-card.is-visible:hover{transform:translateY(-2px)}.landing-feature-card__icon{width:44px;height:44px;border-radius:var(--lp-radius-md);background:var(--lp-bg-alt);border:1px solid var(--lp-border);display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem;color:var(--lp-body)}.landing-feature-card__title{font-size:1.05rem;font-weight:700;color:var(--lp-heading);margin:0 0 .5rem;letter-spacing:-.01em}.landing-feature-card__desc{font-size:.9rem;color:var(--lp-muted);line-height:1.6;margin:0}.landing-cta{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:clamp(3rem,7vw,5rem) clamp(1.5rem,6vw,5rem) clamp(4rem,8vw,6rem);border-top:1px solid var(--lp-border);background:var(--lp-bg-alt);opacity:0;transform:translateY(16px);transition:opacity .38s cubic-bezier(.22,1,.36,1),transform .38s cubic-bezier(.22,1,.36,1)}.landing-cta.is-visible{opacity:1;transform:translateY(0)}.landing-cta__title{font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:800;color:var(--lp-heading);letter-spacing:-.02em;margin:0 0 .75rem}.landing-cta__sub{font-size:1rem;color:var(--lp-muted);margin:0 0 2rem}.landing-cta__actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}@media(prefers-reduced-motion:reduce){.landing-feature-card,.landing-cta{opacity:1;transform:none;transition:none}.landing-hero{animation:none}.landing-demo-scene,.landing-demo-upload-progress__bar{transition:none;animation:none}}.landing .site-footer{background:transparent;color:var(--lp-muted)}.landing .site-footer-copy{color:var(--lp-muted)}.landing .site-footer-links a{color:var(--lp-body)}.landing .site-footer-links a:hover{color:var(--lp-accent)}.landing .language-switcher-subtle{color:var(--lp-muted)}.landing .language-switcher-subtle:hover{color:var(--lp-body)}:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors:active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--total-scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--total-scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@media screen and (forced-colors:active){:root{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{position:absolute;text-align:initial;inset:0;overflow:hidden;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;inset:100% 0 0;z-index:-1;cursor:default;-webkit-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}
