:root{color:#1d2a2b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#1d2a2b;--muted:#667371;--line:#d9e2dc;--panel:#fff;--accent:#0f8f6f;--accent-strong:#09684f;--accent-soft:#e0f4ed;--amber:#f0b84f;--blue:#2f6fc7;background:#f4f7f3;font-family:Microsoft YaHei UI,PingFang SC,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer}.app-shell{background:linear-gradient(135deg,#0f8f6f1f,#0000 36%),linear-gradient(315deg,#f0b84f29,#0000 32%),#f4f7f3;min-height:100dvh;padding:18px}.top-panel{grid-template-columns:minmax(0,1fr) minmax(320px,520px) auto;align-items:stretch;gap:18px;max-width:1500px;margin:0 auto 18px;display:grid}.brand-block,.summary-grid,.sidebar,.lesson-list,.detail-panel{background:#ffffffe0;border:1px solid #d9e2dceb;box-shadow:0 20px 60px #24403614}.brand-block{border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;padding:24px;display:grid}.brand-mark{color:#fff;background:var(--accent);border-radius:8px;place-items:center;width:54px;height:54px;display:grid}.sound-toggle{border:1px solid var(--line);min-height:44px;color:var(--ink);background:#ffffffe6;border-radius:999px;justify-content:center;align-self:start;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:900;display:inline-flex;box-shadow:0 14px 40px #24403614}.sound-toggle.active{border-color:var(--accent);background:var(--accent);color:#fff}.eyebrow{color:var(--accent-strong);letter-spacing:0;margin:0 0 6px;font-size:12px;font-weight:800}h1,h2,h3,p{margin-top:0}h1{letter-spacing:0;max-width:720px;margin-bottom:0;font-size:clamp(24px,2.7vw,38px);line-height:1.12}.summary-grid{border-radius:8px;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.summary-item{border-left:1px solid var(--line);gap:8px;padding:22px 18px;display:grid}.summary-item:first-child{border-left:0}.summary-item strong{color:var(--accent-strong);font-size:clamp(26px,3vw,42px);line-height:1}.summary-item span,.source-note,.lesson-meta,.lesson-foot{color:var(--muted);font-size:13px}.workspace{grid-template-columns:250px minmax(280px,410px) minmax(420px,1fr);align-items:start;gap:18px;max-width:1500px;margin:0 auto;display:grid}.sidebar,.lesson-list,.detail-panel{border-radius:8px}.sidebar{padding:16px;position:sticky;top:18px}.search-box{border:1px solid var(--line);height:44px;color:var(--muted);background:#f8faf8;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:0 12px;display:grid}.search-box input{width:100%;color:var(--ink);background:0 0;border:0;outline:0}.filter-group,.path-map{margin-top:18px}.section-title{color:var(--ink);align-items:center;gap:8px;margin-bottom:10px;font-size:14px;font-weight:800;display:flex}.segmented{flex-wrap:wrap;gap:8px;display:flex}.segmented button,.path-row{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px}.segmented button{min-height:34px;padding:6px 10px;font-size:13px}.segmented button.active,.path-row.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong);font-weight:800}.path-row{justify-content:space-between;align-items:center;width:100%;min-height:38px;margin-bottom:8px;padding:0 12px;display:flex}.lesson-list{max-height:calc(100dvh - 136px);padding:16px;overflow:auto}.list-head{justify-content:space-between;gap:12px;margin-bottom:14px;display:flex}.list-head h2,.detail-heading h2{letter-spacing:0;margin:0;line-height:1.15}.cards{gap:10px;display:grid}.lesson-card{text-align:left;border:1px solid var(--line);background:#fff;border-radius:8px;gap:7px;padding:14px;display:grid}.lesson-card.selected{border-color:var(--accent);box-shadow:inset 4px 0 0 var(--accent)}.lesson-card strong{color:var(--ink);font-size:15px}.lesson-card p{color:var(--muted);margin:0;font-size:14px}.lesson-foot{justify-content:space-between;align-items:center;display:flex}.detail-panel{min-height:calc(100dvh - 136px);overflow:hidden}.detail-content{padding:20px}.detail-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.tag{white-space:nowrap;color:#fff;background:var(--accent);border-radius:8px;padding:7px 10px;font-size:13px;font-weight:800}.hook{color:var(--ink);margin:16px 0 8px;font-size:18px;font-weight:800}.plain{color:var(--muted);max-width:70ch;line-height:1.8}.learning-ladder{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0;display:grid}.learning-ladder div{border:1px solid var(--line);background:#fff;border-radius:8px;align-content:start;gap:6px;min-height:104px;padding:12px;display:grid}.learning-ladder div.featured{background:linear-gradient(135deg,#0f8f6f1f,#f0b84f1f);border-color:#0f8f6f6b}.learning-ladder strong{color:var(--ink);font-size:14px}.learning-ladder span{color:var(--accent-strong);font-size:18px;font-weight:900}.learning-ladder p{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.topic-navigator{border:1px solid var(--line);background:#fbfdfb;border-radius:8px;margin-top:16px;padding:14px}.topic-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.topic-list button{border:1px solid var(--line);min-height:40px;color:var(--ink);text-align:left;background:#fff;border-radius:8px;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;padding:7px 10px;font-size:13px;font-weight:800;display:grid}.topic-list button span{width:24px;height:24px;color:var(--blue);background:#e9f1ff;border-radius:999px;place-items:center;font-size:12px;display:grid}.topic-list button.active{border-color:var(--accent);background:var(--accent);color:#fff}.topic-list button.active span{color:#fff;background:#ffffff38}.topic-current{color:var(--muted);background:#eef7f2;border-radius:8px;grid-template-columns:auto minmax(0,1fr);gap:10px;margin-top:10px;padding:10px 12px;display:grid}.topic-current b{color:var(--accent-strong)}.stage{border:1px solid var(--line);background:linear-gradient(135deg,#0f8f6f17,#0000 38%),linear-gradient(315deg,#2f6fc71a,#0000 36%),#f8fbf9;border-radius:8px;margin:18px 0;padding:14px}.stage-top{justify-content:space-between;align-items:center;gap:18px;display:flex}.mode-switch{border:1px solid var(--line);background:#ffffffbd;border-radius:8px;gap:6px;padding:4px;display:flex}.mode-switch button{min-height:30px;color:var(--muted);background:0 0;border:0;border-radius:6px;padding:0 10px;font-size:13px;font-weight:800}.mode-switch button.active{background:var(--accent);color:#fff}.stage h3,.info-block h3{align-items:center;gap:8px;margin:0;font-size:15px;display:flex}.stage-controls{justify-content:space-between;align-items:center;gap:12px;margin:12px 0;display:flex}.stage label{color:var(--muted);grid-template-columns:auto minmax(140px,220px);align-items:center;gap:10px;font-size:13px;display:grid}input[type=range]{accent-color:var(--accent)}.scene-button{text-align:left;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;width:100%;padding:0;display:block}.scene-button:active{cursor:grabbing}.scene-button:focus-visible,button:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #0f8f6f47}.scene{-webkit-user-select:none;user-select:none;background:radial-gradient(circle at 22% 16%,#f0b84f33,#0000 24%),radial-gradient(circle at 82% 18%,#2f6fc729,#0000 26%),linear-gradient(#fff,#eef7f2);border:1px solid #dbe7df;border-radius:8px;width:100%;height:clamp(230px,30vw,320px);margin:8px 0;display:block}.axis,.tick,.measure{stroke:#334240;stroke-width:3px;stroke-linecap:round}.tick{stroke-width:2px}.measure{stroke:var(--amber)}.draw-line{stroke-dasharray:420}.arc,.outline,.challenge-line{fill:none;stroke:var(--accent);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.challenge-line{stroke:#d56b2d;stroke-width:6px;opacity:.72}.shape{fill:#0f8f6f33;stroke:var(--accent);stroke-width:3px}.place-cell{fill:#ffffffd1;stroke:#cfe0d7;stroke-width:2px}.bar-fill{fill:var(--accent)}.bar-empty{fill:#e9efe9;stroke:#cbd8d1;stroke-width:2px}.graph-line{fill:none;stroke:var(--blue);stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.pulse-dot{fill:var(--amber)}.scene text{fill:#3e4e4b;text-anchor:middle;font-size:12px}.scene-title{font-weight:700;text-anchor:start!important}.scene-label{font-weight:900;font-size:16px!important}.cell-title{font-weight:900;font-size:13px!important}.big-digit{font-weight:900;fill:var(--accent-strong)!important;font-size:30px!important}.play-button{background:var(--ink);color:#fff;border:0;border-radius:8px;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-weight:800;display:inline-flex}.olympiad-banner{background:#ffffffc7;border:1px solid #0f8f6f38;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 12px;padding:10px;display:flex}.olympiad-banner b{color:var(--accent-strong);margin-right:2px}.olympiad-banner span{color:var(--ink);background:#fff;border:1px solid #dbe7df;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800}.progress-track{background:#dfe9e3;border-radius:999px;height:8px;margin:10px 0;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--amber));height:100%;transition:width .22s;display:block}.insight-strip{color:var(--muted);background:#ffffffc2;border:1px solid #0f8f6f2e;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:12px;line-height:1.55;display:grid}.insight-strip b{color:var(--accent-strong)}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.info-block{border-top:1px solid var(--line);padding-top:14px}.info-block h3{color:var(--accent-strong)}.info-block ul{gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.info-block li{color:var(--muted);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;font-size:14px;line-height:1.45;display:grid}.info-block li svg{color:var(--accent);margin-top:2px}@media (width<=1180px){.workspace{grid-template-columns:250px minmax(0,1fr)}.detail-panel{grid-column:1/-1;min-height:auto}.lesson-list{max-height:560px}}@media (width<=780px){.app-shell{padding:10px}.top-panel,.workspace,.summary-grid,.learning-ladder,.topic-list,.info-grid{grid-template-columns:1fr}.brand-block{grid-template-columns:1fr;padding:18px}.summary-item{border-left:0;border-top:1px solid var(--line)}.summary-item:first-child{border-top:0}.sidebar{position:static}.lesson-list{max-height:none}.detail-heading,.stage-top,.stage-controls,.list-head{flex-direction:column;align-items:stretch}.stage label{grid-template-columns:1fr}.scene{height:220px}}
