:root{--primary: #1976d2;--primary-deep: #1565c0;--primary-soft: #eaf3fc;--canvas: #f5f6fa;--surface: #ffffff;--ink: #202735;--muted: #657184;--line: #e4e8f0;--green: #2e9e5b;--green-soft: #e3f4e9;--orange: #ff9800;--orange-soft: #fff3df;--purple: #6a1b9a;--purple-soft: #f3eafb;font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:var(--ink);background:var(--canvas);font-synthesis:none;line-height:1.65}*{box-sizing:border-box}body{margin:0}a{color:var(--primary-deep)}button,input,textarea,select{font:inherit}.icon{width:24px;height:24px;flex-shrink:0;vertical-align:middle}button,.button{min-height:46px;padding:11px 20px;border:0;border-radius:14px;background:var(--primary);color:#fff;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;line-height:1.5}button:hover,.button:hover{background:var(--primary-deep)}button:disabled{opacity:.5;cursor:default}button.quiet{background:var(--primary-soft);color:var(--primary-deep)}button.quiet:hover{background:#dcecff}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #3aa0ff;outline-offset:3px}header{display:flex;justify-content:space-between;align-items:center;padding:18px max(24px,calc((100vw - 1370px)/2));background:var(--surface);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:22px;color:var(--ink);text-decoration:none}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;background:var(--primary);color:#fff}.brand .brand-subtitle{font-size:13px;font-weight:500;margin-left:12px;color:var(--muted)}.shell{display:grid;grid-template-columns:220px minmax(0,1fr);max-width:1380px;margin:auto}nav{padding:32px 14px;display:flex;flex-direction:column;gap:8px}nav a{padding:13px 15px;text-decoration:none;color:var(--muted);border-radius:14px;display:flex;align-items:center;gap:12px;font-size:15px;font-weight:500}nav a .icon{width:21px;height:21px}nav a:nth-child(2) .icon{color:var(--purple)}nav a:nth-child(3) .icon{color:var(--green)}nav a:nth-child(4) .icon{color:#c47100}nav a:hover{background:#edf0f6}nav a.active{background:#e4effc;color:var(--primary-deep);font-weight:700}nav a.active .icon{color:var(--primary)}main{padding:36px 32px;min-width:0}h1{font-size:32px;line-height:1.3;letter-spacing:-.5px;margin:0 0 14px;font-weight:700}h2{font-size:21px;margin:0 0 16px;font-weight:650}h3{margin:0 0 10px;font-size:18px}p{margin:0 0 16px}.lead{color:var(--muted);margin-bottom:30px}section{background:var(--surface);padding:28px;border-radius:16px;margin-bottom:24px;box-shadow:0 3px 15px #25345206}section h2 .icon{margin-right:10px;color:var(--primary)}.review-panel{border-left:4px solid var(--green)}.review-panel h2 .icon{color:var(--green)}.review-panel .button{background:var(--green-soft);color:#1b6b3c}.practice-panel{border-left:4px solid var(--primary)}label{display:block;margin:14px 0;font-size:15px;font-weight:500}input:not([type=checkbox]),textarea,select{display:block;width:100%;min-width:0;padding:12px 14px;border:1px solid #d9dfeb;border-radius:12px;background:#fbfcfe;color:var(--ink);margin-top:7px}input::placeholder,textarea::placeholder{color:#7a8699}input:focus,textarea:focus,select:focus{border-color:var(--primary);background:#fff}textarea{min-height:140px;resize:vertical;line-height:1.65}input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}input[type=file]{max-width:100%;border:1px dashed #c9d7e9;padding:14px;background:var(--primary-soft)}input::file-selector-button{border:0;background:#fff;color:var(--primary-deep);padding:8px 12px;border-radius:8px;margin-right:12px;font:inherit}fieldset{border:1px solid var(--line);border-radius:14px;margin:18px 0;padding:16px;min-width:0}legend{font-weight:600;color:var(--primary-deep);padding:0 8px}.muted{font-size:14px;color:var(--muted);font-weight:400}.notice{background:var(--orange-soft);color:#805000;border-left:4px solid var(--orange);padding:16px;border-radius:10px;overflow-wrap:anywhere}.login{max-width:1160px;min-height:100vh;margin:auto;display:grid;grid-template-columns:1.06fr 1fr;align-items:center;gap:0;padding:56px 24px}.intro{position:relative;padding:48px;min-height:630px;color:#fff;background:var(--primary);border-radius:28px 0 0 28px}.login-brand{display:flex;align-items:center;gap:12px;font-size:23px;font-weight:650}.login-brand .brand-mark{background:#ffffff24}.intro h1{font-size:39px;line-height:1.5;letter-spacing:-1px;margin-bottom:18px}.intro p{max-width:370px;color:#e3efff;font-size:16px;line-height:1.85}.wave{display:flex;align-items:center;gap:9px;height:110px;margin:30px 0 22px}.wave span{width:7px;border-radius:8px;background:#ffffffc9}.wave span:nth-child(3n){background:#a7d3ff}.intro ol{padding-left:24px;margin:24px 0 0;line-height:2.3;color:#f0f7ff}.login form{padding:48px;background:#fff;border-radius:0 28px 28px 0;min-height:630px;display:flex;flex-direction:column;justify-content:center;box-shadow:10px 8px 28px #273b6310}.login form h2{font-size:25px;margin:18px 0 26px}.login-symbol{width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:16px;color:var(--primary);background:var(--primary-soft)}.login form label{margin:0 0 18px}.login button{width:100%;margin:4px 0 24px;min-height:50px}.login form>.muted{margin-top:0;font-size:13px}.material-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:20px;margin-bottom:24px}.material-list article{padding:24px;background:var(--surface);border-radius:16px;border:1px solid #e7ebf3}.material-list article:before{content:"";display:block;width:35px;height:5px;background:var(--primary);border-radius:4px;margin-bottom:18px}.material-list article:nth-child(3n+2):before{background:var(--purple)}.material-list article:nth-child(3n):before{background:var(--orange)}.material-list article button{margin:4px 6px 4px 0}.training-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.training-heading strong{color:var(--primary-deep);background:var(--primary-soft);border-radius:22px;padding:7px 16px;font-size:16px;white-space:nowrap}.stages{display:flex;list-style:none;padding:0;gap:10px;flex-wrap:wrap;margin:24px 0;counter-reset:stage}.stages li{display:flex;align-items:center;gap:7px;padding:8px 12px;color:var(--muted);background:#e9edf5;border-radius:12px;font-size:14px;counter-increment:stage}.stages li:before{content:counter(stage);display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#fff;font-size:12px;font-weight:700}.stages li[aria-current]{color:#fff;background:var(--primary);font-weight:600}.stages li[aria-current]:before{color:var(--primary)}.stages li:last-child[aria-current]{background:#237b46}.training-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.training-grid section{min-width:0}.controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:16px 0}.controls label{margin:0}.controls select{width:88px}.cues{display:flex;flex-direction:column;max-height:400px;overflow:auto;gap:10px;padding:2px}.cues button{font-family:Georgia,PingFang SC,serif;font-size:20px;text-align:left;justify-content:flex-start;font-weight:400;color:var(--ink);background:#f5f7fc;padding:16px 18px;line-height:1.55;border:1px solid transparent}.cues button.selected{background:var(--primary-soft);border-color:#9cc6f1;box-shadow:inset 4px 0 var(--primary)}.training-grid audio{width:100%;margin:16px 0}.training-grid section>button{margin:10px 8px 0 0}[data-media-player]{--media-brand: var(--primary)}.english{font-family:Georgia,PingFang SC,serif;font-size:20px;line-height:1.7}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:20px}.stats div{background:#fff;padding:24px;border-radius:16px;border:1px solid var(--line)}.stats dd{font-size:32px;font-weight:650;color:var(--primary-deep);margin:10px 0 0}.stats div:nth-child(3n+2) dd{color:#237b46}.stats div:nth-child(3n) dd{color:var(--purple)}.stats dt{color:var(--muted);font-size:14px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}.feedback{margin-top:24px;border-top:1px solid var(--line);padding-top:20px}.feedback>div{background:var(--orange-soft);border-radius:12px;padding:16px;margin:12px 0}.feedback strong{color:#885000}@media(max-width:850px){.shell{display:block}nav{flex-direction:row;overflow:auto;padding:12px 16px;border-bottom:1px solid var(--line);background:#fff}nav a{white-space:nowrap;padding:10px 12px;gap:6px}nav a .icon{width:19px;height:19px}main{padding:24px 18px}.training-grid{grid-template-columns:1fr}.login{grid-template-columns:1fr;gap:0;max-width:600px;padding:24px 18px}.intro{min-height:auto;padding:30px;border-radius:24px 24px 0 0}.intro h1{font-size:30px;line-height:1.4;margin-bottom:12px}.intro ol{display:none}.wave{height:70px;margin:18px 0;gap:7px}.wave span{transform:scaleY(.75)}.intro p{margin-bottom:0;font-size:14px}.login-brand{font-size:20px}.login form{min-height:auto;padding:30px;border-radius:0 0 24px 24px}.login form h2{font-size:23px;margin:16px 0 24px}header{padding:14px 18px}.brand{font-size:20px;gap:10px}.brand .brand-subtitle{display:none}.brand-mark{width:38px;height:38px;border-radius:12px}.stages{gap:6px}.stages li{padding:7px 9px;font-size:13px}section{padding:22px}h1{font-size:28px}.training-heading{align-items:flex-start}.training-heading strong{padding:6px 10px;font-size:14px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
