:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-primary:#123b63;--color-primary-hover:#0e2f4f;--color-primary-soft:#eaf2f8;--color-secondary:#159a8c;--color-secondary-hover:#0f7f73;--color-secondary-soft:#e8f7f4;--color-background:#f5f7fa;--color-surface:#fff;--color-surface-muted:#f8fafc;--color-border:#d9e1ea;--color-border-strong:#b8c5d3;--color-text:#172033;--color-text-secondary:#475467;--color-muted:#667085;--color-placeholder:#98a2b3;--color-error:#b42318;--color-error-bg:#fef3f2;--color-success:#087443;--color-success-bg:#ecfdf3;--color-warning:#b54708;--color-warning-bg:#fffaeb;--color-focus:#159a8c;--font-family-base:Arial, "PingFang SC", "Microsoft YaHei", sans-serif;--font-size-display:30px;--font-size-page-title:26px;--font-size-section-title:20px;--font-size-card-title:17px;--font-size-body:15px;--font-size-small:13px;--font-size-caption:12px;--line-height-tight:1.3;--line-height-normal:1.6;--line-height-relaxed:1.8;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--page-padding:24px;--page-padding-mobile:16px;--content-max-width:1120px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--shadow-card:0 4px 18px #1f304e0f;--shadow-elevated:0 10px 30px #1f304e1a;--control-height-sm:36px;--control-height-md:42px;--control-height-lg:48px;--focus-ring:0 0 0 3px #159a8c38;background:var(--color-background);color:var(--color-text);font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:var(--color-background);font-family:var(--font-family-base);font-size:var(--font-size-body);line-height:var(--line-height-normal);margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.container{max-width:var(--content-max-width);padding:var(--page-padding);margin:0 auto}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-card)}.stack{gap:var(--space-4);display:grid}.grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.label{gap:var(--space-2);color:var(--color-text-secondary);font-weight:600;display:grid}.input{width:100%;min-height:var(--control-height-md);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);padding:10px 12px}.input::placeholder{color:var(--color-placeholder)}.input:focus-visible,.button:focus-visible,a:focus-visible{box-shadow:var(--focus-ring);outline:none}.button{min-height:var(--control-height-md);border-radius:var(--radius-md);background:var(--color-primary);color:#fff;cursor:pointer;border:0;padding:10px 16px;font-weight:700}.button:hover:not(:disabled){background:var(--color-primary-hover)}.button.secondary{background:var(--color-primary-soft);color:var(--color-primary)}.button.secondary:hover:not(:disabled){background:#dce9f4}.button:disabled{opacity:.6;cursor:not-allowed}.muted{color:var(--color-muted)}.error{color:var(--color-error);background:var(--color-error-bg);border-radius:var(--radius-md);border:1px solid #fecdca;padding:12px}.header{background:var(--color-surface);border-bottom:1px solid var(--color-border)}.header-inner{max-width:var(--content-max-width);padding:var(--space-4) var(--page-padding);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.login-page{place-items:start center;min-height:calc(100vh - 96px);padding-top:80px;display:grid}.login-card{width:min(100%,480px);box-shadow:var(--shadow-elevated)}.login-brand{gap:var(--space-2);display:grid}.login-brand h1{color:var(--color-primary);font-size:var(--font-size-page-title);line-height:var(--line-height-tight);margin:0}.login-brand p{margin:0}.login-notice{font-size:var(--font-size-small);line-height:var(--line-height-relaxed);margin:0}.admin-page{padding-top:var(--space-8);padding-bottom:var(--space-10)}.admin-heading h1{margin:var(--space-1) 0 var(--space-2);color:var(--color-primary);font-size:var(--font-size-page-title);line-height:var(--line-height-tight)}.admin-heading p:last-child{margin:0}.admin-message{border-radius:var(--radius-md);background:var(--color-success-bg);color:var(--color-success);border:1px solid #abefc6;padding:12px}.admin-section{gap:var(--space-5)}.section-heading,.subsection-heading,.form-heading{justify-content:space-between;align-items:start;gap:var(--space-4);display:flex}.section-heading h2,.subsection-heading h3,.form-heading h3{margin:var(--space-1) 0 0;color:var(--color-text);line-height:var(--line-height-tight)}.section-heading h2{font-size:var(--font-size-section-title)}.subsection-heading h3,.form-heading h3{font-size:var(--font-size-card-title)}.section-hint,.field-hint{color:var(--color-muted);font-size:var(--font-size-small);font-weight:400}.admin-form-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.admin-form{align-content:start}.admin-form .form-heading{min-height:58px;display:block}.admin-form .form-heading p{margin:var(--space-2) 0 0;font-size:var(--font-size-small)}.admin-form .label{margin-top:var(--space-1);display:block}.admin-form .input+.label{margin-top:var(--space-1)}.textarea{resize:vertical;min-height:92px}.form-two-col{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.table-scroll{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.admin-table{min-width:640px}.admin-table th{background:var(--color-surface-muted);color:var(--color-text-secondary);font-size:var(--font-size-small);white-space:nowrap;font-weight:700}.admin-table th,.admin-table td{border-bottom-color:var(--color-border);padding:12px}.admin-table tbody tr:hover{background:#fbfdff}.monospace{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:var(--font-size-small)}.status-badge{width:fit-content;font-size:var(--font-size-caption);white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;padding:4px 8px;font-weight:700;line-height:1.2;display:inline-flex}.status-neutral{border-color:var(--color-border);background:var(--color-surface-muted);color:var(--color-text-secondary)}.status-active{background:var(--color-success-bg);color:var(--color-success);border-color:#abefc6}.status-inactive,.status-expired{background:var(--color-warning-bg);color:var(--color-warning);border-color:#fedf89}.status-ended{border-color:var(--color-border);background:var(--color-surface-muted);color:var(--color-muted)}.status-revoked{background:var(--color-error-bg);color:var(--color-error);border-color:#fecdca}.button.danger{color:#fff;background:#b42318}.button.danger:hover:not(:disabled){background:#912018}.admin-student-select{max-width:520px}.loading-message,.empty-message{padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-muted);color:var(--color-muted);margin:0}.admin-subsection,.course-admin-list{gap:var(--space-3);display:grid}.course-admin-item{justify-content:space-between;align-items:start;gap:var(--space-5);min-width:0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);display:flex}.course-admin-item.is-editing{gap:var(--space-3);background:var(--color-surface-muted);display:grid}.course-admin-copy{min-width:0}.course-admin-copy h3{margin:0 0 var(--space-2);color:var(--color-text);font-size:var(--font-size-card-title);overflow-wrap:anywhere}.course-admin-copy p{overflow-wrap:anywhere;margin:0}.course-admin-meta,.course-admin-actions{align-items:center;gap:var(--space-2);flex:none;display:flex}.course-admin-actions{justify-content:flex-start}.checkbox-field{align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-weight:600;display:flex}.checkbox-field input{width:18px;height:18px;accent-color:var(--color-secondary)}.dashboard-heading{justify-content:space-between;align-items:end;gap:var(--space-4);padding:var(--space-4) 0 var(--space-2);display:flex}.dashboard-heading h1{margin:var(--space-1) 0;color:var(--color-primary);font-size:var(--font-size-page-title);line-height:var(--line-height-tight)}.eyebrow{color:var(--color-secondary);font-size:var(--font-size-small);letter-spacing:.06em;margin:0;font-weight:700}.dashboard-count,.course-count{background:var(--color-primary-soft);color:var(--color-primary);font-size:var(--font-size-small);border-radius:999px;flex:none;padding:6px 10px;font-weight:700}.course-card{gap:var(--space-5)}.course-card-heading{justify-content:space-between;align-items:start;gap:var(--space-4);display:flex}.course-title-block{min-width:0}.course-title-block h2{margin:var(--space-1) 0 var(--space-2);color:var(--color-text);font-size:var(--font-size-section-title);line-height:var(--line-height-tight);overflow-wrap:anywhere}.course-description{overflow-wrap:anywhere;margin:0}.lesson-list{gap:var(--space-2)}.lesson-link{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);transition:border-color .15s,background-color .15s,transform .15s;display:flex}.lesson-link:hover{border-color:var(--color-secondary);background:var(--color-secondary-soft);transform:translateY(-1px)}.lesson-main{align-items:start;gap:var(--space-3);min-width:0;display:flex}.lesson-position{color:var(--color-secondary);font-size:var(--font-size-small);flex:none;font-weight:700;line-height:1.5}.lesson-copy{gap:var(--space-1);min-width:0;display:grid}.lesson-copy strong,.lesson-copy small{overflow-wrap:anywhere}.lesson-status{text-align:right;min-width:76px;font-size:var(--font-size-small);flex:none;gap:2px;font-weight:700;display:grid}.lesson-status small{color:var(--color-muted);white-space:nowrap;font-weight:400}.lesson-status.is-complete{color:var(--color-success)}.lesson-status.is-watched{color:var(--color-secondary)}.lesson-status.is-unwatched{color:var(--color-muted)}.empty-lessons{padding:var(--space-3);margin:0}.empty-state{gap:var(--space-2);text-align:center;padding:var(--space-10) var(--space-6);display:grid}.lesson-page{padding-top:var(--space-8);padding-bottom:var(--space-10)}.lesson-layout{align-items:start;gap:var(--space-6);grid-template-columns:minmax(0,2fr) minmax(280px,1fr);display:grid}.lesson-main-column{min-width:0}.lesson-directory-card{top:var(--space-5);min-width:0;position:sticky}.lesson-directory-mobile{display:none}.course-directory-content{gap:var(--space-4);display:grid}.directory-heading{justify-content:space-between;align-items:start;gap:var(--space-3);display:flex}.directory-heading h2{margin:var(--space-1) 0 0;color:var(--color-primary);font-size:var(--font-size-card-title);line-height:var(--line-height-tight)}.course-directory-list{gap:var(--space-2);max-height:min(70vh,680px);display:grid;overflow-y:auto}.directory-item{justify-content:space-between;align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);display:flex}.directory-item:hover{border-color:var(--color-secondary);background:var(--color-secondary-soft)}.directory-item.is-current{border-color:var(--color-primary);background:var(--color-primary-soft);box-shadow:inset 3px 0 0 var(--color-primary)}.directory-item-main{align-items:start;gap:var(--space-2);min-width:0;display:flex}.directory-position{color:var(--color-secondary);font-size:var(--font-size-small);flex:none;font-weight:700}.directory-copy{gap:2px;min-width:0;display:grid}.directory-copy strong,.directory-copy small{overflow-wrap:anywhere}.directory-copy small{font-size:var(--font-size-caption)}.directory-item .lesson-status{min-width:0;font-size:var(--font-size-caption)}.back-link{width:fit-content;color:var(--color-primary);font-weight:700}.back-link:hover{color:var(--color-secondary)}.lesson-card{gap:var(--space-6)}.lesson-heading{justify-content:space-between;align-items:start;gap:var(--space-6);display:flex}.lesson-heading-copy{min-width:0}.lesson-heading h1{margin:var(--space-1) 0 var(--space-2);color:var(--color-primary);font-size:var(--font-size-page-title);line-height:var(--line-height-tight);overflow-wrap:anywhere}.lesson-description{overflow-wrap:anywhere;max-width:760px;margin:0}.lesson-meta{justify-items:end;gap:var(--space-2);flex:none;display:grid}.lesson-position-badge{background:var(--color-primary-soft);color:var(--color-primary);font-size:var(--font-size-small);white-space:nowrap;border-radius:999px;padding:6px 10px;font-weight:700}.lesson-state{font-size:var(--font-size-small);font-weight:700}.lesson-state.is-watched{color:var(--color-secondary)}.lesson-state.is-unwatched{color:var(--color-muted)}.lesson-progress-summary{align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-muted);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.lesson-progress-summary strong{color:var(--color-primary)}.lesson-player-frame{border-radius:var(--radius-lg);box-shadow:var(--shadow-elevated);background:#111827;border:1px solid #24364d;overflow:hidden}.lesson-player-frame .player-shell{border-radius:0}.lesson-loading{color:#fff;place-items:center;min-height:clamp(240px,37.5vw,420px);display:grid}.lesson-player-note{margin:calc(var(--space-4) * -1) 0 0;font-size:var(--font-size-small)}.lesson-link{border:1px solid #e4e8f0;border-radius:10px;justify-content:space-between;gap:14px;padding:14px;display:flex}.player-shell{border-radius:var(--radius-lg);background:#000;position:relative;overflow:hidden}.player-shell video{background:#000;width:100%;min-height:420px;display:block}.test-player{min-height:clamp(240px,37.5vw,420px);padding:var(--space-8);color:#fff;background:#142b45;place-items:center;display:grid}.test-player-content{justify-items:center;gap:var(--space-3);text-align:center;max-width:100%;display:grid}.test-player-kicker{color:#77d4c8;font-size:var(--font-size-small);letter-spacing:.08em;font-weight:700}.test-player-title{font-size:var(--font-size-section-title);line-height:var(--line-height-tight)}.test-player-subtitle{color:#c3d2e2;font-size:var(--font-size-small)}.test-player-time{align-items:baseline;gap:var(--space-2);color:#fff;font-variant-numeric:tabular-nums;font-size:22px;font-weight:700;display:flex}.test-player-time-separator{color:#8ba2ba;font-size:var(--font-size-body);font-weight:400}.test-player .button{background:var(--color-secondary);min-width:112px;min-height:44px}.test-player .button:hover:not(:disabled){background:var(--color-secondary-hover)}.live-watermark{z-index:20;pointer-events:none;color:#ffffff4d;white-space:nowrap;text-shadow:0 1px 2px #000000a6;font-size:15px;line-height:1.4;animation:19s linear infinite alternate watermarkMove;position:absolute}.live-watermark-fullscreen{z-index:30}@keyframes watermarkMove{0%{top:12%;left:5%}to{top:78%;left:64%}}.hidden-shield{z-index:30;padding:var(--space-6);color:#fff;text-align:center;background:#0a1523f5;place-items:center;display:grid;position:absolute;inset:0}.player-error{margin:0}.player-security-note{margin:var(--space-4) 0 0;font-size:var(--font-size-small);line-height:var(--line-height-relaxed)}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;vertical-align:top;border-bottom:1px solid #e4e8f0;padding:10px}@media (max-width:640px){.container{padding:var(--page-padding-mobile)}.card{padding:var(--space-5)}.login-page{min-height:calc(100vh - 88px);padding-top:32px}.login-card{border-radius:var(--radius-lg)}.admin-page{padding-top:var(--space-5)}.admin-form-grid{grid-template-columns:1fr}.section-heading,.subsection-heading{align-items:start;gap:var(--space-2);flex-direction:column}.admin-form .form-heading{min-height:0}.form-two-col{gap:var(--space-2)}.admin-student-select{max-width:none}.admin-table{min-width:620px}.course-admin-item{gap:var(--space-3);flex-direction:column}.course-admin-meta{justify-content:space-between;width:100%}.dashboard-heading{flex-direction:column;align-items:start}.course-card-heading{flex-direction:column}.course-count{align-self:start}.lesson-link{flex-direction:column;align-items:start}.lesson-status{text-align:left;min-width:0}.lesson-status small{white-space:normal}.lesson-page{padding-top:var(--space-5)}.lesson-layout{display:block}.lesson-directory-card{display:none}.lesson-directory-mobile{margin-top:var(--space-4);display:block}.lesson-directory-mobile summary{cursor:pointer;color:var(--color-primary);font-weight:700;list-style-position:inside}.lesson-directory-mobile[open] summary{margin-bottom:var(--space-4)}.course-directory-list{max-height:none}.lesson-heading{gap:var(--space-4);flex-direction:column}.lesson-meta{justify-items:start}.lesson-progress-summary{align-items:start;gap:var(--space-1);flex-direction:column}.lesson-player-frame{border-radius:var(--radius-md)}.test-player{padding:var(--space-6) var(--space-4)}.test-player-title{font-size:var(--font-size-card-title)}.test-player-time{font-size:20px}.live-watermark{text-overflow:ellipsis;max-width:calc(100% - 24px);font-size:12px;overflow:hidden}.player-shell video{min-height:240px}}.site-footer{color:#64748b;background:#f8fafc;border-top:1px solid #e5e7eb;margin-top:48px;padding:24px 0;font-size:13px}.footer-row{flex-wrap:wrap;justify-content:space-between;gap:16px;display:flex}.site-footer nav{flex-wrap:wrap;gap:12px;display:flex}.site-footer a{color:#315f88;text-decoration:none}.prose-page{max-width:860px;padding-top:40px;padding-bottom:40px}.prose-page h2{margin-top:28px}.prose-page p{line-height:1.8}
