: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{isolation:isolate;border-radius:var(--radius-lg);background:#000;position:relative;overflow:hidden}.player-shell #player-container{z-index:1;position:relative}.player-shell video{object-fit:contain;background:#000;width:100%;min-height:420px;display:block}.player-shell .player-web-fullscreen-control{z-index:50;right:max(16px, calc(12px + env(safe-area-inset-right)));bottom:max(64px, calc(52px + env(safe-area-inset-bottom)));color:#fff;cursor:pointer;background:#0a1523c7;border:1px solid #ffffffb8;border-radius:50%;place-items:center;width:44px;height:44px;margin:0;padding:0;transition:background .15s,transform .15s;display:inline-grid;position:absolute}.player-shell .player-web-fullscreen-control:hover{background:#142b45eb}.player-shell .player-web-fullscreen-control:active{transform:scale(.94)}.player-shell .player-web-fullscreen-control:focus-visible{outline-offset:2px;outline:3px solid #fff}.player-shell .player-web-fullscreen-control svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:22px;height:22px}.player-shell.player-shell--immersive{z-index:50;width:100vw;max-width:100vw;height:100dvh;min-height:0;padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));box-sizing:border-box;background:#000;border-radius:0;position:fixed;inset:0}.player-shell.player-shell--immersive #player-container{place-items:center;display:grid;aspect-ratio:auto!important;width:100%!important;height:100%!important;min-height:0!important}.player-shell.player-shell--immersive video{object-fit:contain;width:100%;height:100%;min-height:0}.player-shell.player-shell--immersive .test-player{height:100%;min-height:100%}.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)}.player-shell .player-watermark-viewport{z-index:40;pointer-events:none;position:absolute;inset:0;overflow:hidden}.player-shell .live-watermark{z-index:1;color:#ffffff4d;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 2px #000000a6;max-inline-size:84%;font-size:15px;line-height:1.4;animation:19s linear infinite alternate watermarkMove;position:absolute;overflow:hidden}.player-shell .player-central-play-control{z-index:20;color:#fff;cursor:pointer;background:#0a1523c7;border:1px solid #ffffffbf;border-radius:50%;place-items:center;width:56px;height:56px;margin:0;padding:0;display:inline-grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.player-shell .player-central-play-control:hover{background:#142b45eb}.player-shell .player-central-play-control:focus-visible{outline-offset:3px;outline:3px solid #fff}.player-shell .player-central-play-control svg{fill:currentColor;width:28px;height:28px;transform:translate(1px)}@keyframes watermarkMove{0%,to{top:8%;left:8%;transform:translate(0)}35%{top:calc(100% - max(72px,14%));left:8%;transform:translateY(-100%)}65%{top:calc(100% - max(72px,14%));left:92%;transform:translate(-100%,-100%)}}.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}.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}.player-shell .live-watermark{max-inline-size:84%;font-size:12px}.player-shell video{min-height:240px}}.admin-shell .button,.admin-shell .course-admin-actions>.button{min-height:44px}.admin-shell .course-admin-actions{flex-wrap:wrap}.admin-shell .admin-subsection{border-top:1px solid #d9e8ff;gap:12px;margin-top:24px;padding-top:24px;display:grid}.admin-shell .admin-subsection h2{font-size:20px}@media (max-width:640px){.admin-shell .course-admin-actions{flex-direction:column;align-items:stretch}.admin-shell .course-admin-actions>.button,.admin-shell .course-admin-actions>a.button{width:100%}}.learning-center-shell,.lesson-page,.practice-page{--student-bg:#f5f9ff;--student-card:#fff;--student-pale:#f2f7ff;--student-current:#dcebff;--student-primary:#6aa8ff;--student-border:#d8e8ff;--student-text:#173b67;--student-muted:#718096;--student-success:#22b78b;font-family:Inter,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif}.learning-center-shell .learning-timeline .timeline-card{border-color:var(--student-border);box-shadow:none}.learning-center-shell .learning-timeline .timeline-card.is-open{border-color:var(--student-primary);background:var(--student-pale)}.learning-center-shell .learning-timeline .timeline-node{background:var(--student-pale);color:var(--student-primary)}.learning-center-shell .learning-timeline .timeline-node.completed{background:var(--student-success)}.learning-center-shell .learning-timeline .timeline-toggle{min-width:0}.learning-center-shell .learning-timeline .timeline-copy strong,.learning-center-shell .learning-timeline .lesson-copy strong{color:var(--student-text);font-weight:600}.learning-center-shell .learning-timeline .timeline-copy small,.learning-center-shell .learning-timeline .lesson-copy small{color:var(--student-muted)}.learning-center-shell .learning-timeline .chapter-resources{gap:10px;display:grid}.learning-center-shell .learning-timeline .resource-box{background:var(--student-card);border-color:var(--student-border)}.learning-center-shell .learning-timeline .resource-box h4{color:var(--student-text);font-size:14px;font-weight:600}.learning-center-shell .learning-timeline .pdf-link{border:0;border-top:1px solid var(--student-border);width:100%;min-height:44px;color:var(--student-text);text-align:left;background:0 0;border-radius:0;grid-template-columns:20px minmax(0,1fr) auto;padding:10px 0;display:grid}.learning-center-shell .learning-timeline .pdf-link:after{content:"下载";color:var(--student-primary);font-weight:600}.learning-center-shell .learning-timeline .lesson-link{border-color:var(--student-border);background:var(--student-card)}.learning-center-shell .learning-timeline .lesson-state.completed{color:var(--student-success)}.lesson-page{background:var(--student-bg)}.lesson-page .lesson-card,.lesson-page .lesson-directory-card,.lesson-page .lesson-directory-mobile{border-color:var(--student-border);box-shadow:none}.lesson-page .lesson-heading{align-items:flex-start}.lesson-page .lesson-heading-copy h1{color:var(--student-text);font-weight:600}.lesson-page .lesson-position-badge,.lesson-page .lesson-state{border:1px solid var(--student-border);background:var(--student-pale);color:var(--student-muted);font-weight:600}.lesson-page .lesson-state.is-watched,.lesson-page .directory-item.is-current{border-color:var(--student-primary);background:var(--student-current);color:var(--student-primary);box-shadow:none}.lesson-page .lesson-state.is-complete,.lesson-page .lesson-status.is-complete{color:var(--student-success)}.lesson-page .lesson-resources{border:1px solid var(--student-border);background:var(--student-pale);border-radius:12px;gap:8px;padding:16px;display:grid}.lesson-page .lesson-resources h2{color:var(--student-text);margin:0 0 2px;font-size:15px;font-weight:600}.lesson-page .lesson-resource-row{border-top:1px solid var(--student-border);color:var(--student-text);overflow-wrap:anywhere;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding-top:8px;display:grid}.lesson-page .lesson-resource-row .button{min-height:36px;color:var(--student-primary);border-color:var(--student-border)}.lesson-page .lesson-progress-summary{color:var(--student-muted);flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.lesson-page .lesson-progress-summary strong{color:var(--student-text);font-weight:600}.practice-page{background:var(--student-bg)}.practice-page-heading h1{color:var(--student-text);margin:0;font-size:28px;font-weight:700}.practice-page .practice-panel{border-color:var(--student-border);box-shadow:none}.practice-page .practice-save-status{min-height:20px;color:var(--student-muted);justify-content:flex-end;font-size:14px;display:flex}.practice-page .practice-question-card{border-color:var(--student-border);background:var(--student-card)}.practice-page .practice-question-meta span,.practice-page .practice-question-meta strong{border:1px solid var(--student-primary);background:var(--student-current);color:var(--student-primary);font-weight:600}.practice-page .practice-question-text{color:var(--student-text);white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;font-weight:400;line-height:1.65}.practice-page .practice-question-text p+p{margin-top:14px}.practice-page .practice-option{border-color:var(--student-border);background:var(--student-card);color:var(--student-text)}.practice-page .practice-option-label{color:var(--student-primary)}.practice-page .practice-option:has(input:checked){border-color:var(--student-primary);background:var(--student-current)}.practice-page .practice-essay-input{border-color:var(--student-border);background:var(--student-card);color:var(--student-text)}.practice-page .practice-question-nav-button.is-current{border-color:var(--student-primary);background:var(--student-current);color:var(--student-primary)}.practice-page .practice-question-nav-button.is-saved:after{background:var(--student-success)}.practice-page .practice-question-nav-button:focus-visible,.practice-page .practice-actions .button:focus-visible,.lesson-page .lesson-resource-row .button:focus-visible{outline-offset:2px;outline:3px solid #6aa8ff73}@media (max-width:640px){.lesson-page .lesson-resource-row{align-items:start}.lesson-page .lesson-resource-row .button{min-height:44px}.practice-page .practice-question-text{font-size:16px}}.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}.practice-page,.practice-panel,.practice-main,.practice-question-card,.practice-history,.practice-history-detail,.practice-answer-section,.practice-history-copy{min-width:0}.practice-panel{gap:var(--space-5)}.practice-layout{align-items:start;gap:var(--space-5);grid-template-columns:minmax(0,1fr);display:grid}.practice-navigation{align-self:start;gap:var(--space-4);width:fit-content;max-width:100%;padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-muted);display:grid}.practice-navigation-heading{justify-content:space-between;align-items:baseline;gap:var(--space-3);color:var(--color-text);display:flex}.practice-navigation-heading strong{font-size:var(--font-size-card-title)}.practice-navigation-heading span{color:var(--color-muted);font-variant-numeric:tabular-nums}.practice-question-group{gap:var(--space-2);display:grid}.practice-question-group+.practice-question-group{padding-top:var(--space-4);border-top:1px solid var(--color-border)}.practice-question-group h3{color:var(--color-text-secondary);font-size:var(--font-size-small);margin:0}.practice-question-nav{gap:var(--space-2);grid-template-columns:repeat(auto-fill,44px);display:grid}.practice-question-nav-button{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);min-width:0;min-height:44px;color:var(--color-primary);cursor:pointer;font:inherit;font-weight:700;position:relative}.practice-question-nav-button:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-soft)}.practice-question-nav-button:focus-visible,.practice-expand-answer:focus-visible{box-shadow:var(--focus-ring);outline:none}.practice-question-nav-button:disabled{cursor:not-allowed;opacity:.6}.practice-question-nav-button.is-current{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.practice-question-nav-button.is-saved:after,.practice-question-nav-button.is-pending:after{border:2px solid var(--color-surface-muted);background:var(--color-success);content:"";border-radius:50%;width:14px;height:14px;position:absolute;top:-5px;right:-5px}.practice-question-nav-button.is-pending:after{background:#f79009}.practice-nav-legend{gap:var(--space-3);color:var(--color-muted);font-size:var(--font-size-small);flex-wrap:wrap;display:flex}.practice-nav-legend span{align-items:center;gap:6px;display:inline-flex}.practice-nav-legend span:before{border:1px solid var(--color-border-strong);background:var(--color-surface);content:"";border-radius:50%;width:10px;height:10px}.practice-nav-legend .is-current:before{border-color:var(--color-primary);background:var(--color-primary)}.practice-nav-legend .is-saved:before{border-color:var(--color-success);background:var(--color-success)}.practice-question-card{gap:var(--space-5);width:100%;padding:clamp(var(--space-5), 2.5vw, var(--space-7));border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);display:grid}.practice-question-text,.practice-answer-copy{color:var(--color-text);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.7}.practice-question-text{font-size:var(--font-size-card-title)}.practice-options{gap:var(--space-3);display:grid}.practice-option{min-width:0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);align-items:flex-start;line-height:1.6}.practice-option span{overflow-wrap:anywhere;min-width:0}.practice-option:has(input:checked){border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-text)}.practice-essay-input{resize:vertical;white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;min-height:clamp(180px,28vw,320px);line-height:1.7}.practice-main{gap:var(--space-4);width:100%;min-width:0;display:grid}.practice-actions{gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.practice-actions .button{flex:144px;min-height:44px}.practice-result{margin-top:var(--space-5)}.practice-history{gap:var(--space-5)}.practice-history-list{gap:var(--space-3);display:grid}.practice-history-item{justify-content:space-between;align-items:center;gap:var(--space-4);min-width:0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-muted);display:flex}.practice-history-copy{gap:var(--space-1);display:grid}.practice-history-copy strong,.practice-history-copy small{overflow-wrap:anywhere}.practice-history-copy small{color:var(--color-muted)}.practice-history-detail{padding:clamp(var(--space-5), 2.5vw, var(--space-7));border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface)}.practice-answer-columns{gap:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}.practice-answer-section{align-content:start;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-muted);display:grid}.practice-answer-section h4{color:var(--color-text);font-size:var(--font-size-card-title);margin:0}.practice-answer-summary:not(.is-expanded){-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.practice-expand-answer{min-height:44px;color:var(--color-primary);cursor:pointer;font:inherit;text-underline-offset:3px;background:0 0;border:0;justify-self:start;padding:0;font-weight:700;text-decoration:underline}@media (min-width:641px) and (max-width:899px){.practice-layout{grid-template-columns:minmax(0,1fr)}.practice-navigation{padding:var(--space-4)}.practice-question-group{grid-template-columns:minmax(112px,auto) minmax(0,1fr);align-items:start}.practice-question-group+.practice-question-group{padding-top:var(--space-3)}.practice-question-nav{grid-template-columns:repeat(auto-fill,minmax(48px,1fr))}.practice-answer-columns{grid-template-columns:minmax(0,1fr)}}@media (min-width:900px) and (max-width:1199px){.practice-layout{gap:var(--space-4);grid-template-columns:minmax(0,1fr)}.practice-navigation{padding:var(--space-4)}.practice-question-card,.practice-history-detail{padding:var(--space-5)}}@media (max-width:640px){.practice-panel,.practice-history{gap:var(--space-4)}.practice-layout{gap:var(--space-4);grid-template-columns:minmax(0,1fr)}.practice-navigation{padding:var(--space-4)}.practice-question-nav{grid-template-columns:repeat(auto-fill,minmax(44px,1fr))}.practice-question-card,.practice-history-detail{padding:var(--space-4);border-radius:var(--radius-lg)}.practice-question-text{font-size:var(--font-size-body)}.practice-actions{grid-template-columns:minmax(0,1fr);display:grid}.practice-actions .button{width:100%}.practice-history-item{flex-direction:column;align-items:stretch}.practice-history-item .button{width:100%}.practice-answer-columns{grid-template-columns:minmax(0,1fr)}.practice-answer-section{padding:var(--space-3)}}.practice-page.container{width:min(100%,1600px);max-width:none;padding-inline:clamp(32px,3vw,40px)}.practice-page{gap:var(--space-6)}.practice-page .dashboard-heading h1,.practice-panel h2,.practice-history h2,.practice-history h3,.practice-history h4{color:#103b68}.practice-panel,.practice-history{border-color:#c9ddf2;box-shadow:0 12px 30px #18477a14}.practice-navigation,.practice-question-card,.practice-history-detail,.practice-answer-section{border-color:#bdd8f2}.practice-navigation,.practice-answer-section{background:#f5faff}.practice-question-card,.practice-history-detail{padding:clamp(28px,2vw,32px)}.practice-question-meta{align-items:center;gap:var(--space-3);color:#176dcc;font-size:var(--font-size-small);flex-wrap:wrap;font-weight:700;display:flex}.practice-question-meta span{color:#176dcc;background:#eaf5ff;border-radius:999px;padding:4px 10px}.practice-question-meta strong{color:#12375f;font-variant-numeric:tabular-nums}.practice-question-text{color:#12375f;max-inline-size:82ch;font-size:clamp(15px,1.05vw,17px);font-weight:400;line-height:1.8}.practice-question-text strong{font-weight:inherit;overflow-wrap:anywhere}.practice-option{column-gap:var(--space-3);padding:var(--space-4) var(--space-5);color:#183b62;background:#fff;border-color:#c3d9f0;grid-template-columns:auto auto minmax(0,1fr);display:grid}.practice-option:hover:has(input:not(:disabled)){background:#f1f8ff;border-color:#2684ff}.practice-option:has(input:checked){color:#12375f;background:#eaf5ff;border-color:#1683ff;box-shadow:inset 0 0 0 1px #1683ff1f}.practice-option-label{color:#176dcc;font-weight:800}.practice-option input{margin-top:3px}.practice-essay-input{padding:var(--space-4);background:#fff;border-color:#b9d6f1}.practice-essay-input:focus-visible{border-color:#1683ff;outline:none;box-shadow:0 0 0 3px #1683ff33}.practice-actions{align-items:stretch;gap:var(--space-3)}.practice-actions .button{flex-basis:152px}.practice-submit-feedback{color:#12693f;min-height:1.5em;margin:0;font-weight:700;line-height:1.5}.practice-submit-feedback.is-error{color:#b42318}.practice-submit-summary{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-5) clamp(28px, 2vw, 32px);border-radius:var(--radius-xl);color:#12375f;background:#f0fbf5;border:1px solid #b8e8ce;display:flex}.practice-submit-summary h3,.practice-submit-summary p{margin:0}.practice-submit-summary p+p{margin-top:var(--space-2)}.practice-answer-record{gap:var(--space-5);grid-template-columns:minmax(0,1fr);display:grid}.practice-answer-navigation{align-self:start;gap:var(--space-4);width:fit-content;max-width:100%;padding:var(--space-5);border-radius:var(--radius-lg);background:#f5faff;border:1px solid #bdd8f2;display:grid}.practice-answer-record-main{gap:var(--space-5);min-width:0}.practice-answer-columns{gap:var(--space-5);grid-template-columns:minmax(0,1fr)}.practice-answer-section{width:100%;padding:var(--space-5)}.practice-answer-section h4{color:#103b68}.practice-answer-options{gap:var(--space-3);display:grid}.practice-answer-option{align-items:start;gap:var(--space-3);min-width:0;padding:var(--space-4);border-radius:var(--radius-md);color:#173a61;background:#fff;border:1px solid #c3d9f0;grid-template-columns:auto minmax(0,1fr) auto;line-height:1.6;display:grid}.practice-answer-option-copy{overflow-wrap:anywhere;min-width:0}.practice-answer-option.is-correct{background:#effcf5;border-color:#14a66a}.practice-answer-option.is-incorrect{background:#fff2f0;border-color:#ef6b62}.practice-answer-option.is-selected{background:#eef7ff;border-color:#1683ff}.practice-answer-state{color:#087c49;font-size:var(--font-size-caption);white-space:nowrap;background:#d8f8e7;border-radius:999px;align-self:center;padding:4px 8px;font-weight:800}.practice-answer-option.is-incorrect .practice-answer-state{color:#b42318;background:#ffe0dd}.practice-result-status{border-radius:999px;width:fit-content;padding:6px 10px;font-weight:800}.practice-result-status.is-correct{color:#087c49;background:#d8f8e7}.practice-result-status.is-incorrect{color:#b42318;background:#ffe0dd}.practice-history-item{background:#f7fbff;border-color:#c3d9f0}.practice-history-item:hover{border-color:#1683ff}.practice-expand-answer{color:#176dcc}.practice-answer-page .practice-history:has(.practice-history-detail)>.practice-history-list{display:none}@media (min-width:900px) and (max-width:1199px){.practice-answer-record{gap:var(--space-4);grid-template-columns:minmax(0,1fr)}.practice-answer-navigation,.practice-answer-section{padding:var(--space-4)}}@media (min-width:641px) and (max-width:899px){.practice-answer-record{grid-template-columns:minmax(0,1fr)}.practice-answer-navigation{padding:var(--space-4)}.practice-navigation,.practice-answer-navigation{width:100%}.practice-navigation .practice-question-nav,.practice-answer-navigation .practice-question-nav{grid-template-columns:repeat(auto-fill,minmax(48px,1fr))}}@media (max-width:640px){.practice-page.container{padding-inline:20px}.practice-page{gap:var(--space-5)}.practice-panel,.practice-history,.practice-question-card,.practice-history-detail{padding:20px}.practice-question-text{font-size:16px}.practice-option{padding:var(--space-4);grid-template-columns:auto auto minmax(0,1fr)}.practice-actions{gap:var(--space-3)}.practice-actions .button{min-height:44px}.practice-submit-summary{flex-direction:column;align-items:stretch;padding:20px}.practice-submit-summary .button{width:100%;min-height:44px}.practice-answer-record{gap:var(--space-4);grid-template-columns:minmax(0,1fr)}.practice-answer-navigation{padding:var(--space-4)}.practice-navigation,.practice-answer-navigation{width:100%}.practice-navigation .practice-question-nav,.practice-answer-navigation .practice-question-nav{grid-template-columns:repeat(auto-fill,minmax(44px,1fr))}.practice-answer-section{padding:20px}.practice-answer-option{grid-template-columns:auto minmax(0,1fr)}.practice-answer-state{grid-column:2;justify-self:start}.practice-question-meta{gap:var(--space-2)}}.practice-panel .practice-navigation,.practice-answer-page .practice-answer-navigation{align-self:auto;align-items:center;gap:var(--space-3);width:auto;padding:var(--space-4) var(--space-5);flex-wrap:wrap;display:flex}.practice-panel .practice-navigation-heading,.practice-answer-page .practice-navigation-heading{flex:none;min-width:max-content}.practice-panel .practice-question-group{align-items:center;gap:var(--space-2);flex-wrap:wrap;flex:0 auto;display:flex}.practice-panel .practice-question-group+.practice-question-group{padding-top:0;padding-left:var(--space-3);border-top:0;border-left:1px solid #c3d9f0}.practice-panel .practice-question-group h3{white-space:nowrap}.practice-panel .practice-question-nav,.practice-answer-page .practice-question-nav{gap:var(--space-2);flex-wrap:wrap;display:flex}.practice-panel .practice-question-nav-button,.practice-answer-page .practice-question-nav-button{flex:0 0 44px;width:44px}.practice-panel .practice-nav-legend,.practice-answer-page .practice-nav-legend{flex:0 auto;margin-left:auto}.practice-panel .practice-main,.practice-answer-page .practice-answer-record-main{width:100%}.practice-panel .practice-question-text,.practice-answer-page .practice-question-text{max-inline-size:none;width:100%;font-size:clamp(16px,1.15vw,18px);font-weight:400}.practice-answer-page .practice-answer-navigation{background:0 0;border:0;border-radius:0;padding-inline:0}.practice-answer-page .practice-history-detail,.practice-answer-page .practice-answer-columns,.practice-answer-page .practice-answer-section{width:100%}@media (max-width:640px){.practice-panel .practice-navigation,.practice-answer-page .practice-answer-navigation{width:100%;padding:var(--space-4);align-items:stretch}.practice-panel .practice-navigation-heading,.practice-answer-page .practice-navigation-heading,.practice-panel .practice-question-group,.practice-panel .practice-nav-legend,.practice-answer-page .practice-nav-legend{width:100%;margin-left:0}.practice-panel .practice-question-group+.practice-question-group{padding-top:var(--space-3);border-top:1px solid #c3d9f0;border-left:0;padding-left:0}.practice-panel .practice-question-nav,.practice-answer-page .practice-question-nav{grid-template-columns:repeat(auto-fit,minmax(44px,1fr));width:100%;display:grid}.practice-panel .practice-question-nav-button,.practice-answer-page .practice-question-nav-button{width:auto}}.lesson-page .directory-chapter-group{gap:8px;display:grid}.lesson-page .directory-chapter-group+.directory-chapter-group{border-top:1px solid var(--student-border);margin-top:12px;padding-top:12px}.lesson-page .directory-chapter-group h3{color:var(--student-text);overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:600}.learning-center-shell{--sc-blue:#6aa8ff!important;--sc-title:#173b67!important;--sc-text:#718096!important;--sc-bg:#f5f9ff!important;--sc-card:#fff!important;--sc-border:#d8e8ff!important;--sc-pale:#f2f7ff!important;--sc-success:#22b78b!important;font-family:Inter,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif!important}.learning-center-shell .course-hero{background:#fff!important}
