:root{
  --ink:#172033;--muted:#68758a;--navy:#183b68;--blue:#2867a8;--blue2:#4a90d9;
  --blue-soft:#edf4fa;--paper:#fff;--bg:#f4f6f8;--line:#dfe5ec;--green:#218a58;
  --green-soft:#eaf7f0;--amber:#b86d13;--amber-soft:#fff5e7;--red:#c84646;
  --shadow:0 14px 40px rgba(24,59,104,.09);--serif:"LXGW WenKai Lite","Kaiti SC",KaiTi,serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}.shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:30;background:rgba(244,246,248,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.top-inner{max-width:1280px;margin:auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}.brand-mark{width:42px;height:42px;border-radius:12px;background:var(--navy);color:#fff;display:grid;place-items:center;font:800 18px var(--serif)}.brand strong{display:block;font:800 20px/1.15 var(--serif)}.brand small{display:block;color:var(--muted);font-size:12px}.top-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.container{max-width:1280px;margin:auto;padding:34px 24px 90px}.hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:28px;align-items:center;padding:36px 0 30px}.eyebrow{color:var(--blue);font-weight:800;letter-spacing:.08em;font-size:13px;text-transform:uppercase}.hero h1{font:800 clamp(36px,5vw,64px)/1.08 var(--serif);margin:10px 0 18px;letter-spacing:-.02em}.hero p{font-size:19px;color:#516075;max-width:760px}.hero-card{background:linear-gradient(145deg,#183b68,#2867a8);color:#fff;padding:28px;border-radius:24px;box-shadow:0 22px 60px #183b6830}.hero-card h2{font:800 26px var(--serif);margin:0 0 12px}.hero-card p{color:#dce9f7;font-size:15px}.path{display:grid;gap:10px;margin-top:20px}.path-row{display:grid;grid-template-columns:46px 1fr;gap:12px;align-items:start}.path-no{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#ffffff1d;border:1px solid #ffffff36;font-weight:900}.path-row b{display:block}.path-row span{font-size:13px;color:#cbdcf0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.entry-card{display:flex;flex-direction:column;min-height:260px;padding:24px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.entry-card .icon{font-size:30px}.entry-card h2{font:800 24px var(--serif);margin:12px 0 8px}.entry-card p{color:var(--muted);margin:0 0 20px}.entry-card .spacer{flex:1}.entry-card.primary{border-top:5px solid var(--blue)}.entry-card.practice{border-top:5px solid #d49b38}.entry-card.listed{border-top:5px solid #4b8c6d}.btn{min-height:44px;border-radius:10px;border:1px solid var(--line);background:#fff;color:#43516a;padding:9px 14px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:800;cursor:pointer}.btn:hover{border-color:var(--blue);color:var(--blue)}.btn.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.btn.dark{background:var(--navy);color:#fff;border-color:var(--navy)}.btn.ghost{background:transparent}.btn.danger{color:var(--red)}.btn[disabled]{opacity:.48;cursor:not-allowed}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:20px}.section-head h1{font:800 clamp(30px,4vw,48px)/1.15 var(--serif);margin:5px 0}.section-head p{color:var(--muted);margin:5px 0}.lesson-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px;align-items:start}.lesson-nav{position:sticky;top:88px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:var(--shadow)}.progress-line{height:8px;background:#e8edf3;border-radius:10px;overflow:hidden;margin:8px 3px 15px}.progress-line i{display:block;height:100%;background:var(--blue);border-radius:10px;transition:width .2s}.step-button{width:100%;border:0;background:transparent;padding:10px 9px;border-radius:10px;text-align:left;color:#6a7687;display:flex;gap:9px;align-items:flex-start;cursor:pointer}.step-button:hover{background:#f5f8fb}.step-button.on{background:var(--blue-soft);color:var(--navy);font-weight:800}.step-button.done .step-dot{background:var(--green);color:#fff}.step-dot{width:26px;height:26px;border-radius:50%;background:#e7ebf0;display:grid;place-items:center;flex:0 0 auto;font-size:12px;font-weight:900}.step-label{line-height:1.3;padding-top:3px}.work-card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:clamp(20px,4vw,38px);min-height:600px}.work-kicker{color:var(--blue);font-size:13px;font-weight:900;letter-spacing:.07em}.work-card h2{font:800 clamp(26px,4vw,38px)/1.2 var(--serif);margin:8px 0 10px}.lead{font-size:18px;color:#526177;max-width:850px}.task-box{margin:24px 0;padding:18px;border-radius:14px;background:#f7f9fb;border:1px solid #e6ebf1}.task-box.info{background:var(--blue-soft);border-color:#cddfee}.task-box.warn{background:var(--amber-soft);border-color:#f0d5ac}.task-box.success{background:var(--green-soft);border-color:#bee4ce}.task-box h3{margin:0 0 6px;font:800 19px var(--serif)}.field{display:block;margin:17px 0}.field>span,.field>strong{display:block;font-weight:800;margin-bottom:6px}.field small{display:block;color:var(--muted);margin-top:5px}.field input,.field select,.field textarea{width:100%;border:1px solid #cfd8e3;border-radius:10px;padding:11px 12px;background:#fff;color:var(--ink);min-height:46px}.field textarea{min-height:104px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid #d9e9f7;border-color:var(--blue)}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.choice{min-height:58px;border:1px solid #d8e0e8;border-radius:11px;background:#fff;padding:10px 12px;text-align:left;cursor:pointer;color:#4d5a6e;font-weight:700}.choice.on{border-color:var(--blue);background:var(--blue-soft);color:var(--navy);box-shadow:inset 0 0 0 1px var(--blue)}.choice.correct{border-color:var(--green);background:var(--green-soft)}.lesson-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}.save-state{font-size:13px;color:var(--muted)}.save-state.good{color:var(--green);font-weight:800}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.metric{border-radius:13px;padding:15px;background:#f0f4f8}.metric b{font-size:22px;display:block;margin-top:4px}.metric small{color:var(--muted)}.balance{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center}.balance-side{border-radius:14px;padding:16px;background:#f5f8fb}.balance-side h3{margin:0 0 8px;font:800 18px var(--serif)}.balance-op{font-size:28px;color:var(--muted);font-weight:900}.balance-total{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:10px;padding-top:8px;font-weight:900}.tag{display:inline-flex;padding:3px 9px;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:12px;font-weight:800}.tag.good{background:var(--green-soft);color:var(--green)}.tag.warn{background:var(--amber-soft);color:var(--amber)}.lab-frame-wrap{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;margin:18px 0}.lab-frame-head{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#edf3f8;padding:10px 13px}.lab-frame{width:100%;height:720px;border:0;background:#fff}.cause-chain{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;align-items:stretch}.cause-node{background:#f4f7fa;border:1px solid #dbe3ec;border-radius:11px;padding:10px;min-height:90px}.cause-node span{display:block;font-size:11px;color:var(--blue);font-weight:900;margin-bottom:4px}.coach{border-left:5px solid var(--blue);padding:16px 18px;background:var(--blue-soft);border-radius:0 13px 13px 0}.coach .mode{color:var(--muted);font-size:12px}.rehearsal{display:grid;grid-template-columns:180px 1fr;gap:20px;align-items:center}.timer{width:160px;height:160px;border-radius:50%;border:12px solid #dce8f3;display:grid;place-items:center;font:900 34px var(--serif);color:var(--navy);background:#fff}.timer.running{border-color:var(--blue)}.checklist{display:grid;gap:8px}.check{display:flex;align-items:center;gap:9px;color:#536176}.check i{width:22px;height:22px;border-radius:50%;background:#e6ebf0;display:grid;place-items:center;font-style:normal;font-size:12px}.check.done{color:var(--green);font-weight:800}.check.done i{background:var(--green);color:#fff}.ready-banner{padding:18px;border-radius:15px;background:var(--green-soft);border:1px solid #bee4ce;color:#176c44}.ready-banner h3{margin:0;font:800 22px var(--serif)}.showcase-shell{min-height:100vh;background:#edf1f6;padding:20px}.showcase{width:min(1280px,calc(100vw - 40px));aspect-ratio:16/9;max-height:calc(100vh - 90px);margin:auto;background:#fff;border-radius:22px;box-shadow:0 22px 70px #17203325;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto}.show-head{padding:20px 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.show-brand{font:800 20px var(--serif)}.show-stage{padding:clamp(30px,5vw,70px);display:grid;align-content:center}.show-stage h1{font:800 clamp(40px,5vw,72px)/1.08 var(--serif);margin:8px 0 20px}.show-stage h2{font:800 clamp(34px,4.5vw,60px)/1.12 var(--serif);margin:8px 0 22px}.show-stage p{font-size:clamp(18px,2vw,28px);color:#526177}.show-foot{padding:14px 24px;background:#f7f9fb;display:flex;align-items:center;justify-content:space-between;gap:12px}.show-dots{display:flex;gap:7px}.show-dots i{width:9px;height:9px;border-radius:50%;background:#c7d0dc}.show-dots i.on{background:var(--blue);transform:scale(1.25)}.show-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.show-metric{border-radius:18px;padding:22px;background:#eef4fa}.show-metric span{color:#5b6a7f}.show-metric b{display:block;font-size:clamp(28px,4vw,50px);margin-top:8px}.only-change{font:900 clamp(34px,5vw,68px)/1.2 var(--serif);color:var(--blue);padding:22px;border-left:10px solid var(--blue);background:var(--blue-soft)}.qr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.qr-card{text-align:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.qr-card img{display:block;width:min(220px,100%);aspect-ratio:1;margin:12px auto}.qr-card code{display:block;overflow-wrap:anywhere;color:var(--muted);font-size:12px}.privacy{font-size:13px;color:var(--muted);padding:12px 0}.footer-note{text-align:center;color:#8490a2;font-size:12px;padding:20px}
.role-box{margin:18px 0 24px;padding:14px 16px;border:1px solid var(--line);border-radius:13px;background:#f7f9fb}.role-box summary{cursor:pointer;font-weight:900;color:var(--navy)}.role-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.role-grid .field{margin:12px 0 0}
@media(max-width:900px){.hero{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.entry-card{min-height:0}.lesson-layout{grid-template-columns:1fr}.lesson-nav{position:static;display:flex;overflow-x:auto;gap:6px}.lesson-nav .progress-line{display:none}.step-button{min-width:180px}.two,.three,.metric-grid{grid-template-columns:1fr 1fr}.cause-chain{grid-template-columns:1fr}.cause-node{min-height:0}.rehearsal{grid-template-columns:1fr}.timer{margin:auto}.lab-frame{height:680px}.role-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){body{font-size:16px}.top-inner{padding:10px 12px}.brand small,.top-actions .hide-mobile{display:none}.container{padding:22px 12px 84px}.hero{padding-top:18px}.hero p{font-size:17px}.hero-card{padding:20px;border-radius:18px}.cards,.two,.three,.choice-grid,.metric-grid,.qr-grid{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}.lesson-layout{gap:12px}.lesson-nav{margin:0 -12px;border-radius:0;border-left:0;border-right:0;padding:8px 12px;top:63px}.step-button{min-width:152px;padding:8px}.work-card{border-radius:14px;padding:20px 15px;min-height:0}.lead{font-size:16px}.lesson-actions{position:sticky;bottom:0;margin:22px -15px -20px;padding:12px 15px;background:rgba(255,255,255,.96);z-index:12}.lesson-actions .save-state{display:none}.balance{grid-template-columns:1fr}.balance-op{text-align:center;transform:rotate(90deg)}.lab-frame-wrap{margin-left:-15px;margin-right:-15px;border-radius:0;border-left:0;border-right:0}.lab-frame{height:680px}.rehearsal{gap:12px}.timer{width:130px;height:130px;font-size:29px}.showcase-shell{padding:0}.showcase{width:100vw;min-height:100vh;max-height:none;aspect-ratio:auto;border-radius:0}.show-head{padding:12px 14px}.show-stage{padding:26px 18px}.show-metrics{grid-template-columns:1fr}.show-foot{position:sticky;bottom:0}.only-change{font-size:34px}.qr-card img{width:190px}}
@media print{.topbar,.lesson-nav,.lesson-actions,.show-foot{display:none!important}.container{padding:0}.work-card,.showcase{box-shadow:none;border:0}.showcase-shell{padding:0;background:#fff}.showcase{aspect-ratio:16/9;min-height:0}}
