
    :root{--bg:#f5f7fb;--paper:#fff;--ink:#172033;--muted:#5e6b82;--line:#dbe2ee;--navy:#18243b;--blue:#3267e3;--blue2:#e8efff;--teal:#087d76;--teal2:#e1f5f2;--amber:#a66200;--amber2:#fff1d5;--red:#b33a49;--red2:#fde8eb;--purple:#7352b8;--purple2:#eee8fb;--shadow:0 14px 40px rgba(28,43,74,.09);--radius:18px}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.72 system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif}button,input{font:inherit}a{color:var(--blue)}code{font-family:Consolas,"SFMono-Regular",monospace;background:#eef2f8;padding:.12em .38em;border-radius:5px;color:#27416f}.wrap{max-width:1180px;margin:auto;padding:0 24px}.hero{color:#fff;background:radial-gradient(circle at 80% 10%,#315186 0,transparent 34%),linear-gradient(135deg,#111a2d,#1f3152);padding:58px 0 46px}.eyebrow{color:#9ec1ff;letter-spacing:.16em;font-size:12px;font-weight:700}.hero h1{font-size:clamp(32px,5vw,58px);line-height:1.08;max-width:920px;margin:12px 0 18px}.hero p{max-width:800px;color:#d7e0f2;font-size:18px}.hero-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px}.hero-stat{border:1px solid #ffffff32;background:#ffffff0d;padding:14px 16px;border-radius:14px}.hero-stat b{display:block;font-size:20px}.hero-stat span{color:#c6d1e5;font-size:13px}.sticky{position:sticky;top:0;z-index:20;background:#ffffffed;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.nav{display:flex;gap:4px;overflow:auto;padding:9px 24px}.nav a{white-space:nowrap;text-decoration:none;color:var(--muted);padding:7px 11px;border-radius:8px}.nav a:hover{background:var(--blue2);color:var(--blue)}section{padding:54px 0}.section-head{display:flex;gap:18px;align-items:flex-end;justify-content:space-between;margin-bottom:22px}.section-head h2{font-size:30px;line-height:1.2;margin:0}.section-head p{max-width:630px;margin:0;color:var(--muted)}.notice{background:var(--amber2);border-left:4px solid var(--amber);padding:14px 17px;border-radius:0 12px 12px 0;margin:16px 0}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.starter{padding:22px}.starter h3{margin:0 0 12px}.starter-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.decision-list{display:grid;gap:10px}.decision{width:100%;text-align:left;border:1px solid var(--line);background:#fff;padding:13px 14px;border-radius:12px;cursor:pointer;color:var(--ink)}.decision:hover,.decision.active{border-color:var(--blue);background:var(--blue2)}.decision b{display:block}.decision small{color:var(--muted)}.route-panel{padding:20px;background:linear-gradient(160deg,#142038,#22385d);color:#fff;border-radius:16px;min-height:100%}.route-panel h3{margin:0 0 4px}.route-panel .why{color:#cbd7ec;margin:0 0 15px}.route-steps{list-style:none;margin:0;padding:0}.route-steps li{position:relative;padding:0 0 16px 37px}.route-steps li:not(:last-child):after{content:"";position:absolute;left:13px;top:28px;bottom:0;border-left:2px solid #5f79a5}.route-steps .n{position:absolute;left:0;top:1px;width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#82aaff;color:#10203c;font-weight:800}.route-steps b{display:block}.route-steps small{color:#cbd7ec}.map-shell{padding:20px;overflow:hidden}.map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.legend{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:12px}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}.map-scroll{overflow:auto;border:1px solid var(--line);border-radius:14px;background:linear-gradient(#fff,#f9fbff)}svg{display:block;min-width:980px;width:100%;height:auto}.edge{stroke:#aab7cb;stroke-width:2;fill:none;marker-end:url(#arrow)}.edge.branch{stroke-dasharray:6 5}.edge.active{stroke:var(--blue);stroke-width:4}.node rect{stroke-width:1.5;cursor:pointer}.node text{pointer-events:none}.node.active rect{stroke:var(--blue);stroke-width:4}.node.core rect{fill:var(--blue2);stroke:#87a6ee}.node.entry rect{fill:var(--amber2);stroke:#e1b665}.node.support rect{fill:var(--teal2);stroke:#63b9b2}.node.foundation rect{fill:var(--purple2);stroke:#a992d9}.node.maintenance rect{fill:var(--red2);stroke:#d78b96}.node .label{font-size:12px;font-weight:700;fill:var(--ink)}.node .sub{font-size:10px;fill:var(--muted)}.detail{margin-top:14px;padding:16px 18px;display:grid;grid-template-columns:180px 1fr 1fr;gap:18px}.detail h3{margin:0;font-size:18px}.detail p{margin:0;color:var(--muted)}.detail strong{color:var(--ink)}.scenario-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.scenario{padding:18px}.scenario .tag,.skill .tag{display:inline-block;padding:3px 8px;border-radius:999px;background:var(--blue2);color:var(--blue);font-size:12px;font-weight:700}.scenario h3{margin:10px 0 4px;font-size:17px}.scenario p{margin:4px 0;color:var(--muted)}.scenario .sequence{padding-top:10px;border-top:1px solid var(--line);color:var(--ink);font-weight:650}.case-brief{display:grid;grid-template-columns:1.05fr .95fr;gap:16px;padding:21px}.case-brief h3{margin:0 0 8px}.case-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.fact{background:var(--blue2);border-radius:11px;padding:10px 12px}.fact b{display:block}.fact span{color:var(--muted);font-size:13px}.case-flow{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:16px 0}.case-step{position:relative;padding:15px 12px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:12px;min-height:180px}.case-step:not(:last-child):after{content:'›';position:absolute;right:-9px;top:70px;z-index:2;width:18px;height:28px;display:grid;place-items:center;background:var(--bg);color:var(--blue);font-size:25px}.case-step .stepno{color:var(--blue);font-weight:800;font-size:12px}.case-step h3{font-size:15px;margin:5px 0}.case-step p{font-size:13px;color:var(--muted);margin:5px 0}.case-step .artifact{border-top:1px solid var(--line);padding-top:7px;color:var(--ink)}.compare{display:grid;grid-template-columns:1fr 1fr;gap:12px}.compare>div{padding:17px}.compare h3{margin:0 0 6px}.bad{border-left:4px solid var(--red)}.good{border-left:4px solid var(--teal)}.example{margin-top:11px;padding:11px 12px;border-radius:10px;background:var(--teal2);color:#225b58}.example strong{display:block;color:var(--teal)}.gate{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin:20px 0}.gate-step{min-height:150px;padding:14px 11px;background:#fff;border:1px solid var(--line);border-radius:12px}.gate-step b{display:block;margin-bottom:7px}.gate-step span{color:var(--muted);font-size:13px}.gate-step.covered{border-top:4px solid var(--teal)}.gate-step.gap{border-top:4px solid var(--red)}.gate-legend{display:flex;gap:16px;color:var(--muted)}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.filter{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 11px;cursor:pointer}.filter.active{background:var(--navy);color:#fff;border-color:var(--navy)}.search{min-width:260px;flex:1;border:1px solid var(--line);border-radius:10px;padding:9px 12px}.skills-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.skill{padding:17px}.skill header{display:flex;justify-content:space-between;gap:12px}.skill h3{margin:0;font-size:17px}.skill .meta{font-size:12px;color:var(--muted)}.skill dl{display:grid;grid-template-columns:75px 1fr;gap:5px 8px;margin:13px 0 0}.skill dt{font-weight:700;color:var(--ink)}.skill dd{margin:0;color:var(--muted)}.skill[hidden]{display:none}.glossary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.term{padding:15px}.term h3{font-size:15px;margin:0 0 5px}.term p{color:var(--muted);margin:0}.prompt{background:#18243b;color:#dce6f7;border-radius:14px;padding:16px;position:relative;white-space:pre-wrap}.copy{position:absolute;right:9px;top:9px;border:1px solid #ffffff33;background:#ffffff12;color:#fff;border-radius:7px;padding:5px 8px;cursor:pointer}.checklist{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.check{padding:18px}.check h3{margin:0 0 8px}.check ul{margin:0;padding-left:19px;color:var(--muted)}footer{padding:36px 0 70px;color:var(--muted);border-top:1px solid var(--line)}@media(max-width:900px){.starter-grid,.skills-grid,.checklist,.case-brief{grid-template-columns:1fr}.scenario-grid,.glossary{grid-template-columns:repeat(2,1fr)}.gate,.case-flow{grid-template-columns:repeat(2,1fr)}.case-step:not(:last-child):after{display:none}.detail{grid-template-columns:1fr}.hero-grid{grid-template-columns:1fr}}@media(max-width:560px){.wrap{padding:0 15px}.scenario-grid,.glossary,.gate,.case-flow,.compare{grid-template-columns:1fr}.hero{padding-top:40px}.section-head{display:block}.section-head p{margin-top:8px}.search{min-width:100%}}
    .scope-stack{display:grid;gap:10px}.scope-row{display:grid;grid-template-columns:150px 170px 1fr 1fr;gap:14px;align-items:center;padding:15px 17px;background:#fff;border:1px solid var(--line);border-radius:13px}.scope-row .level{font-weight:800;color:var(--blue)}.scope-row .freq{font-size:12px;background:var(--blue2);color:var(--blue);padding:5px 8px;border-radius:999px;text-align:center}.scope-row p{margin:0;color:var(--muted)}.scope-row strong{color:var(--ink)}.big-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;gap:10px;margin:18px 0}.big-box{padding:18px;background:#fff;border:1px solid var(--line);border-radius:14px}.big-box h3{margin:0 0 7px}.big-box p{margin:5px 0;color:var(--muted)}.big-arrow{align-self:center;color:var(--blue);font-size:30px;font-weight:700}.module-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.module-card{padding:15px;border-top:4px solid var(--purple)}.module-card h3{margin:0 0 5px;font-size:16px}.module-card p{margin:3px 0;color:var(--muted);font-size:13px}.doc-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tree{background:#18243b;color:#dbe6f7;border-radius:14px;padding:18px;white-space:pre-wrap;font-family:Consolas,monospace;line-height:1.75}.tree .dim{color:#8fa2c2}.matrix-wrap{overflow:auto}.matrix{width:100%;border-collapse:collapse;background:#fff}.matrix th,.matrix td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top}.matrix th{background:var(--blue2);white-space:nowrap}.matrix td:first-child{font-weight:700;min-width:155px}.matrix td{min-width:170px}.rule-list{counter-reset:rule;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.rule{counter-increment:rule;padding:16px}.rule:before{content:counter(rule);float:left;width:28px;height:28px;margin-right:9px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:#fff;font-weight:800}.rule h3{margin:2px 0 8px;font-size:16px}.rule p{clear:both;color:var(--muted);margin:8px 0 0}.truth{background:var(--red2);border-left:4px solid var(--red);padding:16px 18px;border-radius:0 12px 12px 0;margin:18px 0}.truth h3{margin:0 0 5px;color:var(--red)}.truth p{margin:0}@media(max-width:900px){.scope-row{grid-template-columns:120px 150px 1fr}.scope-row p:last-child{grid-column:3}.module-grid,.rule-list{grid-template-columns:repeat(2,1fr)}.doc-layout{grid-template-columns:1fr}}@media(max-width:650px){.scope-row{grid-template-columns:1fr}.scope-row p:last-child{grid-column:auto}.big-flow{grid-template-columns:1fr}.big-arrow{transform:rotate(90deg);justify-self:center}.module-grid,.rule-list{grid-template-columns:1fr}}
    .session-principle{padding:20px;display:grid;grid-template-columns:180px 1fr;gap:18px;align-items:center}.session-principle .big{font-size:25px;font-weight:800;line-height:1.25;color:var(--blue)}.session-principle p{margin:3px 0;color:var(--muted)}.conversation-flow{display:grid;grid-template-columns:1fr 70px 1fr 70px 1fr;gap:8px;align-items:center;margin:18px 0}.chat-stage{padding:17px;background:#fff;border:1px solid var(--line);border-radius:14px;min-height:210px}.chat-stage h3{margin:0 0 8px}.chat-stage .chatname{display:inline-block;background:var(--navy);color:#fff;border-radius:999px;padding:3px 8px;font-size:12px}.chat-stage p{margin:6px 0;color:var(--muted)}.chat-stage strong{color:var(--ink)}.handoff-gate{text-align:center}.handoff-gate b{display:block;color:var(--amber)}.handoff-gate span{font-size:12px;color:var(--muted)}.traffic{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.light{padding:17px;border-top:5px solid}.light h3{margin:0 0 6px}.light p{color:var(--muted);margin:4px 0}.light.green{border-color:var(--teal)}.light.yellow{border-color:var(--amber)}.light.red{border-color:var(--red)}.turn-table{width:100%;border-collapse:collapse;background:#fff}.turn-table th,.turn-table td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}.turn-table th{background:var(--blue2)}.turn-table td:first-child{white-space:nowrap;font-weight:700}.turn-table .same{color:var(--teal);font-weight:700}.turn-table .new{color:var(--blue);font-weight:700}.turn-table .maybe{color:var(--amber);font-weight:700}.chat-example{display:grid;grid-template-columns:110px 1fr;gap:8px 14px;padding:18px}.speaker{font-weight:800}.bubble{padding:11px 13px;border-radius:12px;background:#f0f3f8}.bubble.user{background:var(--blue2)}.done-loop{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.done-step{padding:13px;background:#fff;border:1px solid var(--line);border-radius:11px}.done-step b{display:block;color:var(--blue)}.done-step span{font-size:13px;color:var(--muted)}@media(max-width:900px){.conversation-flow{grid-template-columns:1fr}.handoff-gate{padding:4px}.traffic{grid-template-columns:1fr}.done-loop{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.session-principle{grid-template-columns:1fr}.chat-example{grid-template-columns:1fr}.done-loop{grid-template-columns:1fr}}
    /* Progressive reading and visual polish */
    body{background:#f4f6fa;color:#192235}main>section{position:relative;border-bottom:1px solid #e5eaf2}main>section:nth-child(even){background:#fff}.wrap{max-width:1160px}.hero{padding:72px 0 66px}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 49%,#ffffff08 49% 50%,transparent 50%);background-size:54px 54px;pointer-events:none}.hero .wrap{position:relative}.hero h1{letter-spacing:-.025em}.hero p{line-height:1.75}.sticky{box-shadow:0 6px 22px rgba(26,40,70,.06)}.nav{align-items:center;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav:before{content:"学习地图";font-weight:800;color:var(--navy);white-space:nowrap;margin-right:8px}.nav a{transition:.18s ease}.nav a.is-active{background:var(--navy);color:#fff}.reading-progress{position:fixed;left:0;top:0;height:3px;width:0;background:linear-gradient(90deg,var(--blue),var(--teal));z-index:100;transition:width .08s linear}.reading-hub{margin:22px auto 0}.reading-intro{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:12px}.reading-intro h2{margin:0;font-size:21px}.reading-intro p{margin:0;color:var(--muted)}.reading-paths{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.reading-path{display:block;text-decoration:none;padding:18px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 7px 24px rgba(28,43,74,.06);transition:.2s ease}.reading-path:hover{transform:translateY(-2px);border-color:#9bb4ef}.reading-path .time{display:inline-block;font-size:12px;font-weight:800;color:var(--blue);background:var(--blue2);border-radius:999px;padding:3px 8px}.reading-path h3{margin:9px 0 4px;color:var(--ink);font-size:17px}.reading-path p{margin:0;color:var(--muted);font-size:13px}.reading-path .go{display:block;margin-top:9px;color:var(--blue);font-weight:700}.section-head{padding-bottom:15px;border-bottom:1px solid var(--line)}.section-head h2{letter-spacing:-.018em}.section-head .eyebrow{margin-bottom:7px}.section-head p{font-size:14px}.card{box-shadow:0 8px 28px rgba(29,45,78,.07);transition:box-shadow .2s ease}.notice,.truth{box-shadow:0 5px 18px rgba(60,50,20,.05)}.quick-rule{display:grid;grid-template-columns:86px 1fr;gap:14px;align-items:center;background:linear-gradient(135deg,#eaf0ff,#edf9f7);border:1px solid #cddbf5;padding:16px 18px;border-radius:15px;margin:17px 0}.quick-rule b{font-size:12px;text-align:center;color:#fff;background:var(--blue);border-radius:999px;padding:5px}.quick-rule p{margin:0;font-size:16px;font-weight:650}.chapter-strip{display:flex;gap:7px;flex-wrap:wrap;margin:-4px 0 18px}.chapter-strip span{font-size:12px;color:var(--muted);background:#fff;border:1px solid var(--line);padding:4px 8px;border-radius:999px}.reference-zone{background:linear-gradient(180deg,#f8f6fc,#f4f6fa)!important}.reference-zone:before{content:"按需查询区";position:absolute;right:max(24px,calc((100% - 1112px)/2));top:26px;color:var(--purple);font-size:12px;font-weight:800;letter-spacing:.12em}.skill{padding:0;overflow:hidden}.skill summary{list-style:none;cursor:pointer;padding:16px 17px}.skill summary::-webkit-details-marker,.term summary::-webkit-details-marker,.prompt-fold summary::-webkit-details-marker{display:none}.skill summary:after,.term summary:after,.prompt-fold summary:after{content:"＋";float:right;color:var(--blue);font-size:20px;line-height:1}.skill[open] summary:after,.term[open] summary:after,.prompt-fold[open] summary:after{content:"−"}.skill-summary-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.skill-summary-top code{font-weight:800}.skill-when{display:block;margin-top:7px;color:var(--muted);font-size:13px}.skill-body{padding:0 17px 17px;border-top:1px solid var(--line)}.skill dl{margin-top:13px}.term{padding:0;overflow:hidden}.term summary{list-style:none;cursor:pointer;padding:14px 15px;font-weight:750}.term .term-body{padding:0 15px 15px;color:var(--muted)}.term .term-body p{margin:0}.prompt-fold{margin:13px 0;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.prompt-fold summary{list-style:none;cursor:pointer;padding:14px 16px;font-weight:750}.prompt-fold .prompt{border-radius:0;margin:0}.backtop{position:fixed;right:18px;bottom:18px;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;text-decoration:none;background:#fff;color:var(--blue);box-shadow:var(--shadow);z-index:15}.source-note{margin-top:12px;font-size:12px;color:var(--muted)}@media(max-width:900px){.reading-paths{grid-template-columns:1fr}.reading-intro{display:block}.reading-intro p{margin-top:4px}.reference-zone:before{display:none}.nav:before{display:none}}@media(max-width:560px){section{padding:42px 0}.hero{padding:50px 0 46px}.hero h1{font-size:35px}.reading-hub{margin-top:14px}.quick-rule{grid-template-columns:1fr}.quick-rule b{justify-self:start}.section-head{padding-bottom:12px}.backtop{right:10px;bottom:10px}}
    .doc-chain{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;align-items:stretch;margin:18px 0}.doc-chain .doc-node{position:relative;padding:15px 13px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:13px}.doc-chain .doc-node:not(:last-child):after{content:"→";position:absolute;right:-13px;top:42%;z-index:2;width:18px;color:var(--blue);font-weight:900}.doc-node b{display:block;margin-bottom:5px}.doc-node span{display:block;color:var(--muted);font-size:12px}.doc-table td:nth-child(2) code{white-space:nowrap}.doc-table .you{color:var(--red);font-weight:750}.doc-table .ai{color:var(--blue);font-weight:750}.read-lanes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.read-lane{padding:19px}.read-lane h3{margin:0 0 8px}.read-lane ul{margin:0;padding-left:20px;color:var(--muted)}.read-lane.you-lane{border-top:5px solid var(--red)}.read-lane.ai-lane{border-top:5px solid var(--blue)}.recovery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.recovery-step{padding:16px;background:#fff;border:1px solid var(--line);border-radius:13px}.recovery-step b{display:block;color:var(--blue);margin-bottom:5px}.recovery-step p{margin:0;color:var(--muted);font-size:13px}.path-note{padding:16px 18px;border-radius:13px;background:var(--purple2);border-left:4px solid var(--purple)}.path-note p{margin:4px 0}.change-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.change-card{padding:17px}.change-card h3{margin:0 0 7px}.change-card p{margin:5px 0;color:var(--muted)}@media(max-width:900px){.doc-chain{grid-template-columns:1fr 1fr}.doc-chain .doc-node:after{display:none}.recovery{grid-template-columns:1fr 1fr}.change-strip{grid-template-columns:1fr}}@media(max-width:560px){.doc-chain,.read-lanes,.recovery{grid-template-columns:1fr}}
  

  /* ── 0. 令牌补充：沿用既有命名体系 ───────────────────────── */
  :root{
    --focus:#3267e3;
    --hover-tint:#f3f7ff;
    --shadow-hover:0 10px 26px rgba(28,43,74,.13);
    --ease:cubic-bezier(.22,.61,.36,1);
  }

  /* ── 1. 视觉层级：补齐缺失的「小节标题」层级 ───────────── */
  .wrap > h3{
    margin:36px 0 14px;
    font-size:clamp(18px,2.05vw,21px);
    font-weight:750;
    line-height:1.4;
    letter-spacing:-.012em;
    padding-left:11px;
    border-left:4px solid var(--blue);
    text-wrap:balance;
  }
  .section-head h2{font-size:clamp(24px,3.1vw,30px);text-wrap:balance}
  .hero h1{text-wrap:balance}
  .hero p{text-wrap:pretty}

  /* ── 2. 布局修复 ──────────────────────────────────────── */
  /* Hero 装饰网格原先以视口为定位上下文，溢出到首屏其它区域 */
  .hero{position:relative;overflow:hidden}
  /* 末节下边框与页脚上边框重叠成双线 */
  main > section:last-of-type{border-bottom:0}
  /* 锚点跳转时抵消吸顶导航高度 */
  html{scroll-padding-top:72px}

  /* ── 3. 响应式补充 ───────────────────────────────────── */
  @media(max-width:900px){
    section{padding:48px 0}
    .section-head{display:block}
    .section-head p{margin-top:10px;max-width:none}
  }
  @media(max-width:560px){
    .wrap{padding:0 16px}
    section{padding:40px 0}
    /* 窄屏表格：收紧内边距与最小列宽，减少横向滚动距离 */
    .matrix th,.matrix td,.turn-table th,.turn-table td{padding:9px 10px;font-size:13.5px}
    .matrix td{min-width:132px}
    .matrix td:first-child{min-width:116px}
    /* 单列时解除固定高度，避免大片空白 */
    .gate-step,.case-step,.chat-stage{min-height:0}
    .wrap > h3{margin:30px 0 12px}
    .detail{padding:14px}
  }

  /* ── 4. 交互反馈：补齐缺失状态 ───────────────────────── */
  .filter,.copy,.backtop,.decision,.reading-path{
    transition:background-color .18s var(--ease),border-color .18s var(--ease),
               box-shadow .18s var(--ease),transform .18s var(--ease),color .18s var(--ease);
  }
  .filter:hover:not(.active){border-color:#9bb4ef;background:var(--blue2);color:var(--blue)}
  .backtop:hover{transform:translateY(-2px);border-color:#9bb4ef;box-shadow:var(--shadow-hover)}
  .copy:hover{background:#ffffff26;border-color:#ffffff70}
  .decision:hover{box-shadow:0 6px 18px rgba(28,43,74,.10)}
  .nav a{padding:8px 12px}
  .search:focus,.search:focus-visible{
    outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(50,103,227,.14)
  }

  /* 长表扫读：行悬停高亮 */
  .matrix tbody tr,.turn-table tbody tr{transition:background-color .15s var(--ease)}
  .matrix tbody tr:hover,.turn-table tbody tr:hover{background:var(--hover-tint)}

  /* ── 5. 可访问性 ─────────────────────────────────────── */
  a:focus-visible,button:focus-visible,input:focus-visible,
  summary:focus-visible,[tabindex]:focus-visible{
    outline:2px solid var(--focus);outline-offset:3px
  }
  .copy:focus-visible{outline-color:#a8c6ff}
  .node:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
  .node:focus-visible rect{stroke:var(--blue);stroke-width:3}

  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto}
    *,*::before,*::after{
      transition-duration:.01ms!important;
      animation-duration:.01ms!important;
      animation-iteration-count:1!important
    }
  }

  /* ── 6. 一致性细节 ───────────────────────────────────── */
  ::selection{background:#cfe0ff;color:#10203c}
  .node .sub{font-size:11px}                 /* 10px 中文过小 */
  code{overflow-wrap:anywhere}               /* 窄列内长路径不再溢出 */
  .prompt{padding-right:66px}                /* 为右上角「复制」预留安全区 */
  .matrix-wrap{border:1px solid var(--line);border-radius:14px}
  footer{font-size:13px}
  .map-scroll,.matrix-wrap{scrollbar-width:thin}
  .map-scroll::-webkit-scrollbar,.matrix-wrap::-webkit-scrollbar{height:8px}
  .map-scroll::-webkit-scrollbar-thumb,.matrix-wrap::-webkit-scrollbar-thumb{
    background:#c9d4e6;border-radius:999px
  }

  /* ── 7. 打印 ─────────────────────────────────────────── */
  @media print{
    .sticky,.backtop,.reading-progress,.filters,.copy,.hero:before,.map-toolbar{display:none!important}
    body{background:#fff;color:#000}
    .wrap{max-width:none;padding:0}
    section{padding:14px 0;border-bottom:1px solid #ccc;break-inside:avoid}
    .card,.notice,.truth,.quick-rule,.reading-path,.path-note{box-shadow:none!important}
    .hero{background:#fff!important;color:#000;padding:18px 0}
    .hero p,.eyebrow,.hero-stat span{color:#333!important}
    .hero-stat{border-color:#999}
    .prompt,.tree,.route-panel{background:#f2f2f2!important;color:#000}
    .prompt,.tree{border:1px solid #ccc}
    a{color:#000}
  }
  

  :root{--stage:#07111e;--stage2:#0d1b2d;--stageLine:#263a55;--stageInk:#edf4ff;--stageMuted:#9fb0c9;--electric:#78a6ff;--mint:#58d0bb}
  .hero{min-height:690px;display:flex;align-items:center;background:radial-gradient(circle at 78% 18%,rgba(67,113,190,.55),transparent 31%),radial-gradient(circle at 18% 86%,rgba(23,124,116,.24),transparent 28%),linear-gradient(145deg,#07111e 0%,#12233b 55%,#091522 100%)}
  .hero .wrap{width:100%}.hero .eyebrow{display:inline-flex;align-items:center;gap:9px}.hero .eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:#66ddc6;box-shadow:0 0 0 6px rgba(102,221,198,.1)}
  .hero h1{max-width:1020px;font-size:clamp(42px,6vw,72px);line-height:1.02;margin-top:20px}.hero>div>p{max-width:850px;font-size:18px}
  .hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0 30px}.hero-action{appearance:none;border:1px solid #ffffff30;background:#ffffff0b;color:#e8f0ff;border-radius:999px;padding:10px 16px;text-decoration:none;cursor:pointer;font-weight:750;transition:.18s ease}.hero-action.primary{border-color:#8eb0ff;background:#7da4ff;color:#091425}.hero-action:hover{transform:translateY(-2px);background:#ffffff18}.hero-action.primary:hover{background:#95b5ff}
  .architecture-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border:1px solid #ffffff22;border-radius:18px;overflow:hidden;background:#ffffff22;box-shadow:0 22px 70px rgba(0,0,0,.22)}
  .architecture-phase{position:relative;min-height:146px;padding:20px;background:rgba(7,17,30,.78);backdrop-filter:blur(12px)}.architecture-phase:after{content:"→";position:absolute;right:-11px;top:50%;z-index:2;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#18304e;color:#8eb0ff;transform:translateY(-50%)}.architecture-phase:last-child:after{display:none}.architecture-phase .phase-no{font:700 11px/1 Consolas,monospace;letter-spacing:.14em;color:#79ddca}.architecture-phase h2{font-size:19px;margin:12px 0 6px}.architecture-phase p{font-size:13px!important;line-height:1.55!important;margin:0!important;color:#aebdd2!important}.architecture-phase code{display:inline-block;margin-top:10px;background:#ffffff0e;color:#bcd1ff;border:1px solid #ffffff12;font-size:11px}
  .hero-grid{margin-top:14px}.hero-stat{background:rgba(7,17,30,.5);border-color:#ffffff20}.hero-stat b{font-size:16px}.hero-stat span{font-size:12px}
  .map-shell{background:linear-gradient(160deg,var(--stage2),var(--stage));border-color:var(--stageLine);box-shadow:0 26px 80px rgba(3,10,20,.3);color:var(--stageInk);padding:18px}
  .map-stage-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:15px}.map-stage-title{display:flex;align-items:center;gap:12px}.map-stage-kicker{font:700 11px/1 Consolas,monospace;letter-spacing:.15em;color:var(--mint)}.map-stage-title strong{display:block;font-size:17px}.map-controls{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.stage-button{appearance:none;border:1px solid #31445f;background:#101f33;color:#aebed4;padding:7px 10px;border-radius:9px;cursor:pointer;font-size:12px;font-weight:750}.stage-button:hover,.stage-button.active{border-color:#739cf1;background:#1a3153;color:#fff}.stage-button.present{margin-left:5px;color:#dfe9fb}.map-stage-hint{font:11px/1.4 Consolas,monospace;color:#7286a3}
  /* 工具台两行布局：上排 标题+阅读分段器，下排 路径/视图工具/演示 */
  .map-stage-bar{flex-direction:column;align-items:stretch}
  .map-stage-head{display:flex;align-items:center;justify-content:space-between;gap:10px 18px;flex-wrap:wrap;margin-bottom:10px}
  .map-stage-title{flex-direction:column;align-items:flex-start;gap:5px}
  .map-stage-sub{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;padding:8px 10px;border:1px solid #223650;background:rgba(13,27,45,.55);border-radius:11px}
  .map-view-seg{display:inline-flex;align-items:center;gap:8px}
  .seg-label{display:inline-flex;align-items:center;font:700 10.5px/1 Consolas,monospace;letter-spacing:.08em;color:var(--mint);padding:0 6px 0 2px;border-left:2px solid var(--mint)}
  .seg-track{display:inline-flex;gap:2px;padding:3px;border:1px solid #31445f;background:#0b192a;border-radius:10px}
  .seg-btn{appearance:none;border:1px solid transparent;background:transparent;color:#aebed4;font-size:12px;font-weight:750;padding:5px 12px;border-radius:7px;cursor:pointer;transition:.16s ease}
  .seg-btn:hover{color:#fff}
  .seg-btn.active{background:#1a3153;border-color:#3d5a8a;color:#fff}
  .ctl-group{display:inline-flex;align-items:center;gap:8px}
  .ctl-group+.ctl-group{padding-left:14px;border-left:1px solid #223650}
  .ctl-group-label{display:inline-flex;align-items:center;font:700 10.5px/1 Consolas,monospace;letter-spacing:.08em;color:var(--mint);padding:0 6px 0 2px;border-left:2px solid var(--mint)}
  .ctl-btns{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
  .map-stage-sub .stage-button.present{margin-left:auto}
  .map-shell .map-toolbar{padding:10px 12px;margin:0 0 10px;border:1px solid #223650;border-radius:12px;background:#0b192a}.map-shell .map-toolbar>strong{color:#dce7f8}.map-shell .legend{color:#8fa2bd}.map-shell .node .label{fill:#172033}.map-shell .node .sub{fill:#5e6b82}
  .map-shell .map-scroll{border-color:#263b58;background:radial-gradient(circle at 50% 18%,rgba(58,96,158,.18),transparent 40%),linear-gradient(#07111e,#0b1727)}.map-shell svg>text{fill:#7f92ae}.map-shell .edge{stroke:#526781}.map-shell .edge.active{stroke:#79a2ff;filter:drop-shadow(0 0 4px rgba(121,162,255,.55))}.map-shell .node{transition:opacity .2s ease,filter .2s ease}.map-shell .node:hover{filter:drop-shadow(0 8px 9px rgba(0,0,0,.25))}.map-shell .detail{border:1px solid #263b58;border-radius:14px;background:#0d1b2d}.map-shell .detail p{color:#9fb0c9}.map-shell .detail strong{color:#f0f5ff}.map-shell .detail code{background:#182b47;color:#bcd1ff}.map-shell .tag{background:#1a3153;color:#9fbdff}
  .map-shell[data-view="map"] .node:not(.core),.map-shell[data-view="map"] .edge.branch{opacity:.08}.map-shell[data-view="map"] .detail{display:none}.map-shell[data-view="map"] .map-scroll{max-height:360px}.map-shell[data-view="read"] .node.foundation,.map-shell[data-view="read"] .node.maintenance{opacity:.18}.map-shell[data-view="read"] .detail{display:grid}.map-shell[data-view="full"] .node,.map-shell[data-view="full"] .edge{opacity:1}.map-shell .edge,.map-shell .node{transition:opacity .24s ease,stroke .24s ease,filter .24s ease}
  .map-caption{display:flex;justify-content:space-between;gap:20px;color:#8598b5;font-size:12px;margin:12px 3px 0}.map-caption b{color:#ccd9eb}.map-caption .proof{font-family:Consolas,monospace;white-space:nowrap;color:#59cfb9}
  body.presentation{overflow:hidden}body.presentation #map{position:fixed;inset:0;z-index:120;overflow:auto;padding:24px 0;background:#07111e!important;color:#edf4ff}body.presentation #map .section-head{border-color:#263a55}body.presentation #map .section-head p{color:#9fb0c9}body.presentation #map .section-head .eyebrow{color:#78a6ff!important}body.presentation #map .notice{display:none}body.presentation #map .map-shell{min-height:calc(100vh - 155px)}body.presentation .reading-progress{z-index:130}
  html[data-theme="dark"]{--bg:#07111e;--paper:#0d1b2d;--ink:#e9f0fb;--muted:#9fafc4;--line:#263750;--navy:#e9f0fb;--blue:#82a8ff;--blue2:#172b49;--teal:#62d2bd;--teal2:#153a38;--amber:#f4bd63;--amber2:#3c2d17;--red:#ff8897;--red2:#40202a;--purple:#b69aef;--purple2:#2b2442;--shadow:0 14px 42px rgba(0,0,0,.25)}html[data-theme="dark"] body,html[data-theme="dark"] main>section:nth-child(even){background:var(--bg)}html[data-theme="dark"] .sticky{background:#0a1625ed}html[data-theme="dark"] .nav a,html[data-theme="dark"] .nav:before{color:var(--muted)}html[data-theme="dark"] .nav a.is-active{background:#dce8ff;color:#0a1424}html[data-theme="dark"] .decision,html[data-theme="dark"] .reading-path,html[data-theme="dark"] .big-box,html[data-theme="dark"] .scope-row,html[data-theme="dark"] .module-card,html[data-theme="dark"] .doc-node,html[data-theme="dark"] .recovery-step,html[data-theme="dark"] .gate-step,html[data-theme="dark"] .case-step,html[data-theme="dark"] .chat-stage,html[data-theme="dark"] .done-step,html[data-theme="dark"] .filter,html[data-theme="dark"] .search,html[data-theme="dark"] .prompt-fold,html[data-theme="dark"] .matrix,html[data-theme="dark"] .turn-table{background:var(--paper);color:var(--ink)}html[data-theme="dark"] .matrix th,html[data-theme="dark"] .turn-table th{background:#172b49}html[data-theme="dark"] .bubble{background:#172536}html[data-theme="dark"] code{background:#172b49;color:#bcd1ff}html[data-theme="dark"] .filter.active{background:#dce8ff;color:#0a1424;border-color:#dce8ff}html[data-theme="dark"] .reference-zone{background:linear-gradient(180deg,#0c1728,#07111e)!important}html[data-theme="dark"] .quick-rule{background:linear-gradient(135deg,#132743,#12312f);border-color:#2b4962}html[data-theme="dark"] .example{color:#aee9df}
  @media(max-width:900px){.hero{min-height:auto}.architecture-strip{grid-template-columns:1fr 1fr}.architecture-phase:nth-child(2):after{display:none}.map-stage-bar{align-items:flex-start;flex-direction:column}.map-caption{display:block}.map-caption .proof{display:block;margin-top:5px}}
  @media(max-width:560px){.hero h1{font-size:40px}.architecture-strip{grid-template-columns:1fr}.architecture-phase{min-height:0}.architecture-phase:after{display:none}.hero-actions{margin-bottom:22px}.map-stage-hint{display:none}.stage-button.present{margin-left:0}.map-shell{padding:10px}.map-caption{padding:0 5px}}
  @media print{.hero-actions,.map-controls,.map-stage-sub,.map-view-seg,.map-stage-hint{display:none!important}.hero{min-height:0}.architecture-strip{break-inside:avoid;border-color:#bbb;box-shadow:none}.architecture-phase{background:#fff;color:#000;border:1px solid #ddd}.architecture-phase p{color:#333!important}.architecture-phase code{color:#000;background:#f2f2f2;border-color:#ccc}.map-shell{background:#fff!important;color:#000;border-color:#bbb}.map-shell .map-scroll,.map-shell .detail,.map-shell .map-toolbar{background:#fff!important;border-color:#bbb}.map-shell .detail p,.map-caption{color:#333}.map-shell .detail strong,.map-shell .map-toolbar>strong{color:#000}.map-shell[data-view] .node,.map-shell[data-view] .edge{opacity:1!important}.map-shell[data-view] .detail{display:grid!important}}
    /* Teaching-completeness additions: preserve the original visual system. */
  #use-audit,#recovery-guide{scroll-margin-top:74px}
  .audit-matrix a{color:var(--blue);font-weight:800;text-decoration-thickness:1px;text-underline-offset:3px}
  .skill-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
  .tag.invocation.user{background:var(--teal2);color:#08776c}
  .tag.invocation.model{background:var(--purple2);color:#7654a5}
  .skills-grid{align-items:start}
  details.skill[open]{grid-column:1/-1}
  .teaching-fields{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:0 0 12px!important}
  .teaching-field{display:grid;grid-template-columns:112px minmax(0,1fr);border-bottom:1px solid var(--line);background:var(--paper)}
  .teaching-field:nth-child(odd){border-right:1px solid var(--line)}
  .teaching-field:nth-last-child(-n+2){border-bottom:0}
  .teaching-label,.teaching-value{padding:12px;min-width:0}
  .teaching-label{font-weight:850;color:var(--navy);background:var(--blue2)}
  .teaching-value{line-height:1.65;color:var(--muted);overflow-wrap:anywhere}
  .teaching-field ol{margin:0;padding-left:20px}.teaching-field li+li{margin-top:5px}
  .skill-call{border:1px solid #b9e4dc;background:var(--teal2);border-radius:12px;padding:13px 15px;color:#075f58}
  .skill-call p{margin:6px 0 0;color:inherit}
  @media(max-width:820px){.teaching-fields{grid-template-columns:1fr}.teaching-field:nth-child(odd){border-right:0}.teaching-field:nth-last-child(2){border-bottom:1px solid var(--line)}}
  @media(max-width:560px){.teaching-field{grid-template-columns:1fr}.teaching-label{padding-bottom:7px}.teaching-value{padding-top:7px}.skill-badges{justify-content:flex-start}}


  /* ── 1. 设计令牌：重新定义，全站 var() 自动继承 ───────────── */
  :root{
    --bg:#f6f7f9; --paper:#ffffff;
    --ink:#141a24; --muted:#5b6678;
    --line:#e5e9f0; --line-strong:#d5dce8;
    --navy:#131c2e;
    --blue:#2b5ce6; --blue2:#eaf0ff;
    --teal:#0a7a70; --teal2:#e0f4f1;
    --amber:#96600a; --amber2:#fff3dd;
    --red:#ab344a;  --red2:#fdeaee;
    --purple:#6b4bc4; --purple2:#efeafd;
    --shadow:0 12px 32px rgba(16,24,40,.09);
    --shadow-1:0 1px 2px rgba(16,24,40,.05);
    --shadow-2:0 4px 14px rgba(16,24,40,.07);
    --shadow-hover:0 12px 28px rgba(16,24,40,.14);
    --radius:16px; --radius-sm:11px; --radius-lg:20px;
    --ease:cubic-bezier(.22,.61,.36,1);
    --focus:#2b5ce6;
    --hover-tint:#f4f7ff;

    /* 图表分类色（跟随主题，保证两种主题下都可读） */
    --cat-core:#eaf1ff;        --cat-core-line:#8fb0f0;        --cat-core-ink:#16305f;
    --cat-entry:#fff3dd;       --cat-entry-line:#e8bd74;       --cat-entry-ink:#6f4306;
    --cat-support:#e2f5f1;     --cat-support-line:#74c3bb;     --cat-support-ink:#0a564f;
    --cat-foundation:#f1ecfd;  --cat-foundation-line:#b39ee6;  --cat-foundation-ink:#4b3490;
    --cat-maintenance:#fdeaef; --cat-maintenance-line:#e0a3ae; --cat-maintenance-ink:#8a2438;
    --cat-active:#2b5ce6;
    --reach:#2b5ce6;
  }
  html[data-theme="dark"]{
    --bg:#080d16; --paper:#0f1725;
    --ink:#e8eefb; --muted:#9aa8bd;
    --line:#1e2b40; --line-strong:#2a3a54;
    --navy:#e8eefb;
    --blue:#82a8ff; --blue2:#172b49;
    --teal:#62d2bd; --teal2:#12302c;
    --amber:#f4bd63; --amber2:#3a2a10;
    --red:#ff8897;  --red2:#3c1a23;
    --purple:#b69aef; --purple2:#241f3c;
    --shadow:0 14px 42px rgba(0,0,0,.30);
    --shadow-1:0 1px 2px rgba(0,0,0,.40);
    --shadow-2:0 4px 14px rgba(0,0,0,.35);
    --shadow-hover:0 12px 28px rgba(0,0,0,.45);
    --focus:#82a8ff;
    --hover-tint:#132138;
    --cat-core:#16233c;        --cat-core-line:#4d76c8;        --cat-core-ink:#dbe7ff;
    --cat-entry:#33270f;       --cat-entry-line:#b8903f;       --cat-entry-ink:#f6dca8;
    --cat-support:#12312e;     --cat-support-line:#3f9c92;     --cat-support-ink:#b6ece4;
    --cat-foundation:#221d3a;  --cat-foundation-line:#8a72c9;  --cat-foundation-ink:#ded1ff;
    --cat-maintenance:#35161f; --cat-maintenance-line:#c3707f; --cat-maintenance-ink:#ffc7d1;
    --cat-active:#9dbaff;
    --reach:#82a8ff;
  }

  /* ── 2. 排版：字体栈、行高、字距、渲染 ──────────────────── */
  body{
    font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",
                "PingFang SC","Hiragino Sans GB","Microsoft YaHei UI","Microsoft YaHei",sans-serif;
    font-size:15px; line-height:1.75; letter-spacing:.004em;
    -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
    text-rendering:optimizeLegibility;
  }
  h1,h2,h3,h4{text-wrap:balance;letter-spacing:-.018em}
  p,li,dd{text-wrap:pretty}
  .section-head h2{font-size:clamp(26px,3.2vw,34px);font-weight:780}
  .wrap > h3{font-size:clamp(18px,2.1vw,22px);font-weight:740}
  .hero p{font-size:17px;line-height:1.78}
  .matrix,.turn-table,.hero-stat b,.fact b,.freq{font-variant-numeric:tabular-nums}
  code,.tree,.prompt,.map-stage-kicker,.map-stage-hint,.proof{
    font-family:"JetBrains Mono","Cascadia Mono",Consolas,"SFMono-Regular",
                "Sarasa Mono SC","Microsoft YaHei Mono",monospace;
  }
  code{background:#eef2f8;color:#27416f;border-radius:6px}
  html[data-theme="dark"] code{background:#172b49;color:#bcd1ff}

  /* ── 3. 深色主题对比度修复（原有硬编码白字在深色下不可读） ── */
  .rule:before,.chat-stage .chatname{background:#131c2e;color:#fff}
  html[data-theme="dark"] .quick-rule b{background:#2b5ce6;color:#fff}
  html[data-theme="dark"] .tag.invocation.user{background:#12302c;color:#7fe0d3}
  html[data-theme="dark"] .tag.invocation.model{background:#241f3c;color:#cbb6ff}
  html[data-theme="dark"] .skill-call{border-color:#2f5b56;color:#9fe6dc}
  html[data-theme="dark"] .skill-call p{color:inherit}
  html[data-theme="dark"] .reading-path{color:var(--ink)}
  html[data-theme="dark"] .backtop{background:#0f1725;border-color:#2a3a54}

  /* ── 4. 布局稳定性：解除 1fr 被长内容顶破、消除溢出与错位 ── */
  .wrap,.wrap > *,main,main > section,footer > .wrap{min-width:0}
  .scenario-grid > *,.module-grid > *,.rule-list > *,.checklist > *,.compare > *,
  .skills-grid > *,.glossary > *,.gate > *,.case-flow > *,.done-loop > *,.recovery > *,
  .change-strip > *,.traffic > *,.doc-chain > *,.hero-grid > *,.reading-paths > *,
  .starter-grid > *,.doc-layout > *,.read-lanes > *,.big-flow > *,
  .conversation-flow > *,.scope-row > *,.teaching-fields > *,.teaching-field > *,
  .detail > *,.case-facts > *,.architecture-strip > *,.skills-grid,.glossary{min-width:0}
  .starter-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)}
  .skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .glossary{grid-template-columns:repeat(3,minmax(0,1fr))}
  .scenario-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .module-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .rule-list{grid-template-columns:repeat(3,minmax(0,1fr))}
  .checklist,.compare,.doc-layout,.read-lanes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gate,.case-flow{grid-template-columns:repeat(7,minmax(0,1fr))}
  .done-loop{grid-template-columns:repeat(5,minmax(0,1fr))}
  .recovery{grid-template-columns:repeat(4,minmax(0,1fr))}
  .change-strip,.traffic{grid-template-columns:repeat(3,minmax(0,1fr))}
  .doc-chain{grid-template-columns:repeat(5,minmax(0,1fr))}
  .hero-grid,.reading-paths{grid-template-columns:repeat(3,minmax(0,1fr))}
  .conversation-flow{grid-template-columns:minmax(0,1fr) 70px minmax(0,1fr) 70px minmax(0,1fr)}
  .big-flow{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr)}
  .detail{grid-template-columns:minmax(0,190px) minmax(0,1fr) minmax(0,1fr)}
  .scope-row{grid-template-columns:150px 170px minmax(0,1fr) minmax(0,1fr)}
  .teaching-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .teaching-field{grid-template-columns:112px minmax(0,1fr)}
  .session-principle{grid-template-columns:180px minmax(0,1fr)}
  .chat-example{grid-template-columns:110px minmax(0,1fr)}
  .case-brief{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
  .case-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .skill dl{grid-template-columns:75px minmax(0,1fr)}
  .quick-rule{grid-template-columns:86px minmax(0,1fr)}
  .teaching-value,.skill dd,.case-step p,.gate-step span,.check ul{overflow-wrap:anywhere}

  /* ── 4b. 响应式阶梯（必须放在 4 之后：覆盖层同样作用于窄屏） ── */
  @media(max-width:1180px){
    .module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    .recovery{grid-template-columns:repeat(2,minmax(0,1fr))}
    .doc-chain{grid-template-columns:repeat(3,minmax(0,1fr))}
    .done-loop{grid-template-columns:repeat(3,minmax(0,1fr))}
  }
  @media(max-width:1000px){
    .gate,.case-flow{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
    .case-step:not(:last-child):after{display:none}
    .doc-chain .doc-node:not(:last-child):after{display:none}
    .scenario-grid,.glossary,.rule-list,.traffic,.change-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
    .scope-row{grid-template-columns:132px 150px minmax(0,1fr) minmax(0,1fr);gap:11px}
    .starter-grid,.doc-layout,.conversation-flow,.session-principle,.big-flow{grid-template-columns:minmax(0,1fr)}
    .big-arrow{transform:rotate(90deg);justify-self:center}
  }
  @media(max-width:900px){
    .skills-grid,.checklist,.case-brief,.compare,.read-lanes,.doc-layout,
    .traffic,.change-strip,.hero-grid,.reading-paths,.detail{grid-template-columns:minmax(0,1fr)}
    .gate,.case-flow{grid-template-columns:repeat(2,minmax(0,1fr))}
    .done-loop{grid-template-columns:repeat(2,minmax(0,1fr))}
    .scope-row{grid-template-columns:120px 150px minmax(0,1fr)}
    .scope-row p:last-child{grid-column:3}
  }
  @media(max-width:820px){
    .teaching-fields{grid-template-columns:minmax(0,1fr)}
    .teaching-field:nth-child(odd){border-right:0}
    .teaching-field:nth-last-child(2){border-bottom:1px solid var(--line)}
  }
  @media(max-width:760px){
    .recovery,.done-loop,.doc-chain,.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  }
  @media(max-width:650px){
    .scope-row{grid-template-columns:minmax(0,1fr);gap:7px}
    .scope-row p:last-child{grid-column:auto}
    .scope-row .freq{justify-self:start}
    .module-grid{grid-template-columns:minmax(0,1fr)}
  }
  @media(max-width:560px){
    .scenario-grid,.glossary,.rule-list,.gate,.case-flow,.compare,.chat-example,
    .session-principle,.teaching-field,.done-loop,.recovery,.doc-chain,
    .skills-grid,.checklist{grid-template-columns:minmax(0,1fr)}
    .teaching-label{padding-bottom:7px}
    .teaching-value{padding-top:7px}
    .skill-badges{justify-content:flex-start}
  }

  /* ── 5. 节奏与层级 ─────────────────────────────────────── */
  section{padding:62px 0}
  .section-head{margin-bottom:24px}
  .section-head p{font-size:14.5px;line-height:1.7}
  .card{border-radius:var(--radius);box-shadow:var(--shadow-2)}
  .notice,.truth{border-radius:0 var(--radius-sm) var(--radius-sm) 0;box-shadow:var(--shadow-1)}
  .matrix tbody tr:nth-child(even),.turn-table tbody tr:nth-child(even){background:rgba(20,26,36,.022)}
  html[data-theme="dark"] .matrix tbody tr:nth-child(even),
  html[data-theme="dark"] .turn-table tbody tr:nth-child(even){background:rgba(255,255,255,.028)}
  .matrix th,.turn-table th{position:relative;white-space:nowrap}
  .matrix td,.turn-table td{line-height:1.65}
  .eyebrow{letter-spacing:.14em}
  footer{padding:40px 0 74px;line-height:1.8}

  /* ── 6. 全景图舞台：固定视口 + 内部缩放平移，避免页面跳动 ── */
  .map-shell .map-scroll{
    height:clamp(380px,64vh,660px);
    overflow:auto;overscroll-behavior:contain;touch-action:pan-y;
    cursor:grab;scrollbar-width:thin;
  }
  .map-shell .map-scroll.is-panning{cursor:grabbing;user-select:none}
  .map-shell svg{min-width:0;margin:0 auto;display:block}
  .map-shell[data-view="map"] .map-scroll{max-height:none}
  .map-shell .node rect{transition:stroke .24s var(--ease),stroke-width .24s var(--ease),fill .24s var(--ease)}
  .map-shell .node{cursor:pointer}
  .map-shell .map-stage-title{flex:1 1 auto;min-width:0}
  .map-shell .map-stage-title strong{font-size:15px;line-height:1.35;text-wrap:balance}
  .map-shell .map-controls{justify-content:flex-end}
    cursor:pointer;user-select:none;padding:3px 8px;border-radius:999px;
    border:1px solid transparent;transition:.18s var(--ease);
  }
  .map-shell .map-toolbar .legend span:hover{border-color:var(--line-strong);background:rgba(127,150,180,.12)}
  .map-shell .map-toolbar .legend span.is-lens{border-color:var(--blue);background:var(--blue2);color:var(--blue)}

  /* 节点分类色：随主题切换，保证文字对比度 */
  .map-shell .node.core rect{fill:var(--cat-core);stroke:var(--cat-core-line)}
  .map-shell .node.entry rect{fill:var(--cat-entry);stroke:var(--cat-entry-line)}
  .map-shell .node.support rect{fill:var(--cat-support);stroke:var(--cat-support-line)}
  .map-shell .node.foundation rect{fill:var(--cat-foundation);stroke:var(--cat-foundation-line)}
  .map-shell .node.maintenance rect{fill:var(--cat-maintenance);stroke:var(--cat-maintenance-line)}
  .map-shell .node.core text{fill:var(--cat-core-ink)}
  .map-shell .node.entry text{fill:var(--cat-entry-ink)}
  .map-shell .node.support text{fill:var(--cat-support-ink)}
  .map-shell .node.foundation text{fill:var(--cat-foundation-ink)}
  .map-shell .node.maintenance text{fill:var(--cat-maintenance-ink)}
  .map-shell .node .sub{opacity:.82}
  .map-shell .node:hover rect{stroke-width:3}
  .map-shell .node.active rect{stroke:var(--cat-active);stroke-width:3.5}

  /* 聚焦 / 上下游可达（reach）高亮 */
  .map-shell[data-view] .node.is-focus rect{stroke:var(--cat-active);stroke-width:4.5}
  .map-shell[data-view] .edge.is-reach{stroke:var(--reach);stroke-width:3.4;opacity:1;
    filter:drop-shadow(0 0 5px color-mix(in srgb,var(--reach) 55%,transparent))}
  .map-shell[data-view] .node.is-reach{opacity:1}
  .map-shell[data-view] .node.is-reach rect{stroke-width:2.6}
  .map-shell[data-view] .node.is-dim{opacity:.13}
  .map-shell[data-view] .edge.is-dim{opacity:.10}
  .map-shell[data-view] .node.is-lens-dim{opacity:.11}

  /* 有限动效（finite motion）：尊重 prefers-reduced-motion，不进打印 */
  @keyframes mapTrace{from{stroke-dashoffset:var(--len)}to{stroke-dashoffset:0}}
  @keyframes mapFlow{from{stroke-dashoffset:0}to{stroke-dashoffset:-66}}
  .map-shell .edge.is-trace{stroke-dasharray:var(--len,1000);animation:mapTrace .72s var(--ease) both}
  .map-shell .edge.is-flow{animation:mapFlow 1.05s linear both}

  /* 视觉预设 */
  .map-shell[data-preset="blueprint"] .map-scroll{
    background:linear-gradient(#0a1626,#0d1c30);
  }
  .map-shell[data-preset="blueprint"] .node rect{
    fill:rgba(120,170,255,.06);stroke-width:1.6;stroke-dasharray:5 3.5;
  }
  .map-shell[data-preset="blueprint"] .node.core rect{fill:rgba(120,170,255,.10)}
  .map-shell[data-preset="blueprint"] .node text{fill:#cfe0ff}
  .map-shell[data-preset="blueprint"] .edge{stroke:#4d6a95;stroke-width:1.6}
  .map-shell[data-preset="classic"] .node rect{stroke-width:2.4}
  .map-shell[data-preset="classic"] .map-shell,
  .map-shell[data-preset="classic"] .edge{stroke-linecap:butt}
  .map-shell[data-preset="classic"] .node.is-focus rect,
  .map-shell[data-preset="classic"] .edge.is-reach{filter:none}

  /* 详情面板：关系链 */
  .detail .reach-row{
    grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px 18px;align-items:flex-start;
    padding-top:13px;border-top:1px solid var(--line);
  }
  html[data-theme="dark"] .detail .reach-row{border-color:#26374f}
  .reach-group{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:0}
  .reach-tag{
    font-size:11px;font-weight:800;letter-spacing:.08em;padding:3px 8px;border-radius:999px;
    background:var(--blue2);color:var(--blue);white-space:nowrap;
  }
  .reach-tag.down{background:var(--teal2);color:var(--teal)}
  .reach-chip{
    font:inherit;font-size:12.5px;line-height:1.3;padding:4px 9px;border-radius:8px;cursor:pointer;
    border:1px solid var(--line-strong);background:var(--paper);color:var(--ink);
    transition:.16s var(--ease);
  }
  .reach-chip:hover{border-color:var(--blue);background:var(--blue2);color:var(--blue)}
  .reach-empty{font-size:12.5px;color:var(--muted);font-style:normal}
  .map-zoom{min-width:62px;text-align:center;color:var(--muted);cursor:default;font-variant-numeric:tabular-nums}
  .map-zoom:hover{border-color:#31445f;background:#101f33;color:var(--muted)}

  /* ── 7. 打印：还原为静态全量视图 ───────────────────────── */
  @media print{
    .map-shell .map-scroll{height:auto!important;max-height:none!important;overflow:visible!important}
    .map-shell svg{width:100%!important;height:auto!important}
    .map-shell .edge,.map-shell .node{opacity:1!important;animation:none!important}
    .detail .reach-row{display:none}
    .map-zoom{display:none!important}
  }

  /* ── 8. 吸顶导航：重设计（v5） ──────────────────────────── */
  /* 设计目标：清晰的"品牌 + 主线 + 参考"三段结构；
     激活态用蓝色实底 + 底部高亮条；
     悬停态浅蓝底 + 蓝色文字；
     滚动溢出收敛；暗色主题对比度合格 */
  .sticky{
    box-shadow:0 6px 22px rgba(26,40,70,.06), 0 1px 0 rgba(20,28,46,.04);
    border-bottom:1px solid var(--line);
  }
  .nav{
    display:flex;flex-wrap:nowrap;align-items:center;
    column-gap:2px;row-gap:6px;
    padding:9px 22px;
    overflow-x:auto;overflow-y:hidden;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    mask-image:linear-gradient(90deg,transparent 0,#000 24px,#000 calc(100% - 24px),transparent 100%);
  }
  .nav::-webkit-scrollbar{display:none;height:0}

  /* 品牌标识：左侧的"学习地图"徽标 */
  .nav-brand{
    display:inline-flex;align-items:center;gap:9px;
    padding:6px 12px 6px 8px;margin-right:6px;
    text-decoration:none;color:var(--navy);
    border-radius:10px;
    background:linear-gradient(180deg,rgba(43,92,230,.06),rgba(43,92,230,.02));
    border:1px solid rgba(43,92,230,.14);
    transition:.18s var(--ease);
    flex-shrink:0;
  }
  .nav-brand:hover{background:linear-gradient(180deg,rgba(43,92,230,.10),rgba(43,92,230,.04));border-color:rgba(43,92,230,.24)}
  .nav-brand-mark{
    width:22px;height:22px;border-radius:6px;
    background:
      radial-gradient(circle at 30% 30%,#fff 0 22%,transparent 24%),
      linear-gradient(135deg,#2b5ce6 0%,#7352b8 100%);
    box-shadow:0 1px 0 rgba(255,255,255,.4) inset, 0 2px 6px rgba(43,92,230,.28);
    flex-shrink:0;
  }
  .nav-brand-title{
    font-weight:780;font-size:14px;letter-spacing:.01em;line-height:1;
  }
  .nav-brand-sub{
    font-size:11px;color:var(--muted);font-weight:600;
    padding-left:8px;border-left:1px solid rgba(43,92,230,.18);
    line-height:1;white-space:nowrap;
  }

  /* 主导航项 */
  .nav > a:not(.nav-brand){
    position:relative;
    display:inline-flex;align-items:center;
    padding:8px 12px;border-radius:9px;
    text-decoration:none;
    color:var(--muted);
    font-size:13.5px;font-weight:600;line-height:1.2;
    white-space:nowrap;
    transition:background-color .18s var(--ease),color .18s var(--ease),transform .18s var(--ease);
    flex-shrink:0;
  }
  .nav > a:not(.nav-brand):hover{
    background:var(--hover-tint);color:var(--blue);
  }
  .nav > a:not(.nav-brand):active{transform:translateY(1px)}

  /* 当前激活项：蓝色实底 + 下方小条 + 微阴影 */
  .nav > a.is-active{
    background:var(--blue);color:#fff;
    box-shadow:0 6px 16px rgba(43,92,230,.28), 0 1px 0 rgba(255,255,255,.16) inset;
  }
  .nav > a.is-active::after{
    content:"";position:absolute;left:50%;bottom:-10px;
    width:18px;height:3px;border-radius:2px;
    background:var(--blue);transform:translateX(-50%);
    box-shadow:0 0 0 3px rgba(43,92,230,.10);
  }
  .nav > a.is-active:hover{background:var(--blue);color:#fff}

  /* 主线 / 参考 之间的分隔小竖条 */
  .nav-sep{
    width:1px;height:18px;background:var(--line-strong);
    margin:0 8px;flex-shrink:0;border-radius:1px;
  }

  /* 暗色主题适配 */
  html[data-theme="dark"] .sticky{
    background:rgba(8,13,22,.78);
    border-bottom-color:#1e2b40;
    box-shadow:0 6px 22px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.04);
  }
  html[data-theme="dark"] .nav-brand{
    background:linear-gradient(180deg,rgba(130,168,255,.10),rgba(130,168,255,.04));
    border-color:rgba(130,168,255,.24);color:#dbe7ff;
  }
  html[data-theme="dark"] .nav-brand:hover{
    background:linear-gradient(180deg,rgba(130,168,255,.16),rgba(130,168,255,.06));
    border-color:rgba(130,168,255,.36);
  }
  html[data-theme="dark"] .nav-brand-sub{
    color:#9fb0c9;border-left-color:rgba(130,168,255,.24);
  }
  html[data-theme="dark"] .nav > a:not(.nav-brand){
    color:#9fb0c9;
  }
  html[data-theme="dark"] .nav > a:not(.nav-brand):hover{
    background:rgba(130,168,255,.10);color:#cfddff;
  }
  html[data-theme="dark"] .nav > a.is-active{
    background:#82a8ff;color:#0a1424;
    box-shadow:0 6px 16px rgba(130,168,255,.30), 0 1px 0 rgba(255,255,255,.20) inset;
  }
  html[data-theme="dark"] .nav > a.is-active::after{
    background:#82a8ff;
    box-shadow:0 0 0 3px rgba(130,168,255,.18);
  }
  html[data-theme="dark"] .nav-sep{background:#263750}

  /* 窄屏：去掉品牌副标题，但保留品牌主标 */
  @media(max-width:900px){
    .nav-brand-sub{display:none}
    .nav-brand{padding:6px 10px 6px 8px}
  }
  @media(max-width:560px){
    .nav{padding:8px 14px}
    .nav-brand-title{font-size:13px}
  }

  /* 旧的"学习地图"前缀文字（来自更早样式）已不再需要，这里强制关闭 */
  .nav:before{display:none !important;content:none !important}
  

  /* ── 1. 令牌重定义：浅色纸感 + 蓝→靛→紫 ───────────────── */
  :root{
    --bg:#f6f8fc; --paper:#ffffff;
    --ink:#202e50; --muted:#5a6881;
    --line:#e1e7f2; --line-strong:#d0daea;
    --navy:#202e50;
    --blue:#3b82f6; --blue2:#edf1ff;
    --indigo:#6366f1; --violet:#8b5cf6; --accent:#4f46e5;
    --teal:#0e8a7d; --teal2:#e6f5f2;
    --amber:#96600a; --amber2:#fdf3de;
    --red:#b3425a; --red2:#fdecef;
    --purple:#6366f1; --purple2:#eef0fe;
    --gradient:linear-gradient(135deg,#3b82f6,#6366f1 75%,#8b5cf6);
    --focus:#4f46e5; --hover-tint:#f0f3ff;
    --shadow:0 12px 32px rgba(32,46,80,.10);
    --shadow-1:0 1px 2px rgba(32,46,80,.05);
    --shadow-2:0 4px 14px rgba(32,46,80,.07);
    --shadow-hover:0 12px 28px rgba(32,46,80,.14);
    --serif:'Noto Serif SC','Songti SC','STSong',serif;
    --sans:'Noto Sans SC',system-ui,-apple-system,'Segoe UI','Microsoft YaHei',sans-serif;
    /* 全景图舞台：浅色画布（暗色主题在下方单独回填深色值） */
    --stage:#ffffff; --stage2:#f6f8fc; --stageLine:#e1e7f2;
    --stageInk:#202e50; --stageMuted:#5a6881;
    --electric:#3b82f6; --mint:#4f46e5;
    /* 图表分类色：收敛到 蓝/靛/紫 家族 */
    --cat-core:#e0ebff;        --cat-core-line:#7ea6f7;        --cat-core-ink:#1e3a8a;
    --cat-entry:#fdf3dd;       --cat-entry-line:#e8bd74;       --cat-entry-ink:#6f4306;
    --cat-support:#e3f4ef;     --cat-support-line:#6fc3b6;     --cat-support-ink:#0a564f;
    --cat-foundation:#ece9fc;  --cat-foundation-line:#a78bfa;  --cat-foundation-ink:#4c2095;
    --cat-maintenance:#fdecef; --cat-maintenance-line:#e0a3b4;  --cat-maintenance-ink:#8a2440;
    --cat-active:#4f46e5; --reach:#4f46e5;
  }
  /* 暗色主题：仅同步强调色家族；舞台令牌保持深色 */
  html[data-theme="dark"]{
    --blue:#8ea2ff; --purple:#b3a4f9; --focus:#8ea2ff;
    --cat-active:#a5b4fc; --reach:#a5b4fc;
    --stage:#0b1626; --stage2:#0f1a2c; --stageLine:#22344e;
    --stageInk:#e8eefb; --stageMuted:#9fb0c9; --mint:#62d2bd;
  }

  /* ── 2. 字体系统：与站点一致（衬线大标题 + 无衬线正文） ── */
  body{font-family:var(--sans);background:var(--bg)}
  .hero h1{font-family:var(--serif);font-weight:900;letter-spacing:-.04em;line-height:1.18}
  .section-head h2,.reading-intro h2{font-family:var(--serif);font-weight:800;letter-spacing:-.025em;line-height:1.34}

  /* ── 3. Hero：深色舞台 → 站点式浅色渐变首屏 ─────────────── */
  html:not([data-theme="dark"]) .hero{
    color:var(--ink);
    background:linear-gradient(110deg,#f0f5ff 0%,#eff3ff 52%,#f0ecff 100%);
    border-bottom:1px solid var(--line);
  }
  /* 隐藏 v2 层遗留的装饰网格线（在浅色背景下会显形为竖线） */
  html:not([data-theme="dark"]) .hero:before{display:none}
  html:not([data-theme="dark"]) .hero p{color:var(--muted)}
  html:not([data-theme="dark"]) .hero .eyebrow{color:var(--accent);font-size:11.5px;letter-spacing:.17em}
  html:not([data-theme="dark"]) .hero .eyebrow:before{background:#6366f1;box-shadow:0 0 0 6px rgba(99,102,241,.12)}
  html:not([data-theme="dark"]) .hero-stat{background:#ffffffb9;border-color:#dce2fb;box-shadow:0 4px 14px rgba(32,46,80,.05)}
  html:not([data-theme="dark"]) .hero-stat b{color:var(--ink)}
  html:not([data-theme="dark"]) .hero-stat span{color:var(--muted)}
  html:not([data-theme="dark"]) .hero-action{border-color:#cad5e8;background:#ffffffb8;color:var(--ink)}
  html:not([data-theme="dark"]) .hero-action:hover{background:#ffffff;border-color:#b9c8e8;box-shadow:0 8px 22px rgba(32,46,80,.10)}
  html:not([data-theme="dark"]) .hero-action.primary{border-color:transparent;background:var(--gradient);color:#fff}
  html:not([data-theme="dark"]) .hero-action.primary:hover{background:linear-gradient(135deg,#2f7bf2,#5457f0 75%,#8b5cf6);box-shadow:0 10px 26px rgba(99,102,241,.28)}

  /* Hero 四阶段条：深色玻璃 → 白卡 */
  html:not([data-theme="dark"]) .architecture-strip{border-color:#dce2fb;background:#ffffffcc;box-shadow:0 16px 44px rgba(32,46,80,.09)}
  html:not([data-theme="dark"]) .architecture-phase{background:#ffffffd9;backdrop-filter:none}
  html:not([data-theme="dark"]) .architecture-phase:after{background:#fff;border:1px solid #dce2fb;color:var(--accent);box-shadow:0 3px 10px rgba(32,46,80,.10)}
  html:not([data-theme="dark"]) .architecture-phase .phase-no{color:var(--accent)}
  html:not([data-theme="dark"]) .architecture-phase h2{color:var(--ink)}
  html:not([data-theme="dark"]) .architecture-phase p{color:var(--muted)!important}
  html:not([data-theme="dark"]) .architecture-phase code{background:#edf1ff;color:#4338ca;border-color:#dce2fb}

  /* ── 4. 吸顶导航：站内 pill 风格（浅靛底 + 靛字） ──────── */
  html:not([data-theme="dark"]) .nav > a:not(.nav-brand):hover{background:#edf1ff;color:var(--accent)}
  html:not([data-theme="dark"]) .nav > a.is-active{background:#edf1ff;color:var(--accent);box-shadow:none}
  html:not([data-theme="dark"]) .nav > a.is-active:hover{background:#e3e9ff;color:var(--accent)}
  html:not([data-theme="dark"]) .nav > a.is-active::after{background:var(--accent);box-shadow:0 0 0 3px rgba(79,70,229,.12)}
  html:not([data-theme="dark"]) .nav-brand{color:var(--ink);background:linear-gradient(180deg,rgba(79,70,229,.06),rgba(79,70,229,.02));border-color:rgba(79,70,229,.16)}
  html:not([data-theme="dark"]) .nav-brand:hover{background:linear-gradient(180deg,rgba(79,70,229,.10),rgba(79,70,229,.04));border-color:rgba(79,70,229,.26)}
  html:not([data-theme="dark"]) .nav-brand-mark{background:radial-gradient(circle at 30% 30%,#fff 0 22%,transparent 24%),linear-gradient(135deg,#3b82f6 0%,#8b5cf6 100%);box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 2px 6px rgba(99,102,241,.32)}
  html:not([data-theme="dark"]) .nav-brand-sub{border-left-color:rgba(79,70,229,.20)}

  /* ── 5. 全景图舞台：深色控制台 → 浅色画布 ─────────────── */
  html:not([data-theme="dark"]) .map-shell{background:linear-gradient(165deg,#ffffff,#f3f6fd);border-color:var(--line);box-shadow:0 26px 70px rgba(32,46,80,.14)}
  html:not([data-theme="dark"]) .map-shell .map-scroll{border-color:var(--line);background:radial-gradient(circle at 50% 18%,rgba(99,102,241,.07),transparent 42%),linear-gradient(#ffffff,#f4f7fd)}
  html:not([data-theme="dark"]) .map-shell svg>text{fill:#5a6881}
  html:not([data-theme="dark"]) .map-shell .edge{stroke:#b9c6e2}
  html:not([data-theme="dark"]) .map-shell .edge.active{stroke:#4f46e5;filter:drop-shadow(0 0 4px rgba(79,70,229,.40))}
  html:not([data-theme="dark"]) .map-shell .node:hover{filter:drop-shadow(0 6px 10px rgba(32,46,80,.16))}
  html:not([data-theme="dark"]) .map-shell .map-toolbar{border-color:var(--line);background:#f6f8fc}
  html:not([data-theme="dark"]) .map-shell .map-toolbar>strong{color:var(--ink)}
  html:not([data-theme="dark"]) .map-shell .legend{color:var(--muted)}
  html:not([data-theme="dark"]) .map-shell .detail{border-color:var(--line);background:#ffffff}
  html:not([data-theme="dark"]) .map-shell .detail p{color:var(--muted)}
  html:not([data-theme="dark"]) .map-shell .detail strong{color:var(--ink)}
  html:not([data-theme="dark"]) .map-shell .detail code{background:#edf1ff;color:#4338ca}
  html:not([data-theme="dark"]) .map-shell .tag{background:var(--blue2);color:var(--accent)}
  html:not([data-theme="dark"]) .map-caption{color:var(--muted)}
  html:not([data-theme="dark"]) .map-caption b{color:var(--ink)}
  html:not([data-theme="dark"]) .map-caption .proof{color:var(--teal)}
  html:not([data-theme="dark"]) .map-stage-hint{color:var(--muted)}
  html:not([data-theme="dark"]) .stage-button{border-color:var(--line-strong);background:#ffffff;color:var(--muted)}
  html:not([data-theme="dark"]) .stage-button:hover,
  html:not([data-theme="dark"]) .stage-button.active{border-color:#c7d2fe;background:#eef2ff;color:var(--accent)}
  html:not([data-theme="dark"]) .stage-button.present{color:var(--accent)}

  /* ===== 工具栏分组 + 主干路径注释 + 整体美化 ===== */
  /* 主干路径 callout：浅靛底 + 左侧 accent 色条，浮在工具栏下方 */
  html:not([data-theme="dark"]) #mainline-callout{
    display:flex;flex-direction:column;gap:6px;
    margin:14px 0 12px;padding:12px 14px 12px 16px;
    background:linear-gradient(180deg,#f4f7ff 0%,#eef2ff 100%);
    border:1px solid #dde5fb;border-left:3px solid var(--accent);
    border-radius:12px;color:var(--ink);font-size:13px;line-height:1.7;
  }
  html:not([data-theme="dark"]) #mainline-callout .map-caption-title{
    font-size:12.5px;font-weight:700;color:var(--accent);
    letter-spacing:0;text-transform:none;
  }
  html:not([data-theme="dark"]) #mainline-callout p{margin:0;color:var(--ink)}
  html:not([data-theme="dark"]) #mainline-callout strong{color:var(--accent)}
  html:not([data-theme="dark"]) #mainline-callout code{
    font-family:Consolas,"SFMono-Regular",monospace;
    background:#ffffff;border:1px solid #dde5fb;
    padding:1px 6px;border-radius:5px;
    color:var(--accent);font-size:12px;
  }
  html:not([data-theme="dark"]) #mainline-callout .map-stage-hint{
    font-size:11.5px;color:var(--muted);
    border-top:1px dashed #dde5fb;padding-top:8px;margin-top:4px;
  }

  /* ── 工具台布局重设计：上排"标题 + 阅读深度分段器"，下排"路径 / 视图工具 / 演示" ── */
  html:not([data-theme="dark"]) .map-stage-bar{
    display:flex;flex-direction:column;gap:10px;
  }
  html:not([data-theme="dark"]) .map-stage-head{
    display:flex;align-items:center;justify-content:space-between;gap:10px 18px;flex-wrap:wrap;
  }
  html:not([data-theme="dark"]) .map-stage-title{
    display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0;
  }
  html:not([data-theme="dark"]) .map-stage-title strong{font-size:16px;line-height:1.35}
  /* 阅读深度：分段器（segmented control），选中项为白色浮起胶囊 */
  html:not([data-theme="dark"]) .map-view-seg{
    display:inline-flex;align-items:center;gap:8px;
  }
  html:not([data-theme="dark"]) .seg-label{
    display:inline-flex;align-items:center;
    font:700 10.5px/1 Consolas,monospace;
    letter-spacing:.08em;color:var(--accent);
    padding:0 6px 0 2px;
    border-left:2px solid var(--accent);
  }
  html:not([data-theme="dark"]) .seg-track{
    display:inline-flex;align-items:stretch;gap:2px;
    padding:3px;background:#e9edf6;border:1px solid var(--line);
    border-radius:10px;
  }
  html:not([data-theme="dark"]) .seg-btn{
    appearance:none;border:1px solid transparent;background:transparent;
    padding:5px 12px;border-radius:7px;cursor:pointer;
    font-size:12px;font-weight:750;color:var(--muted);
    transition:.16s var(--ease);
  }
  html:not([data-theme="dark"]) .seg-btn:hover{color:var(--accent)}
  html:not([data-theme="dark"]) .seg-btn.active{
    background:#ffffff;border-color:#d3ddf3;color:var(--accent);
    box-shadow:0 1px 4px rgba(32,46,80,.16);
  }
  /* 下排控制台：路径组 / 视图工具组 / 演示按钮，各成封闭小组，折行时标签永远跟着按钮走 */
  html:not([data-theme="dark"]) .map-stage-sub{
    display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;
    padding:8px 10px;
    background:rgba(99,102,241,.04);
    border:1px solid var(--line);
    border-radius:11px;
  }
  html:not([data-theme="dark"]) .ctl-group{
    display:inline-flex;align-items:center;gap:8px;
  }
  html:not([data-theme="dark"]) .ctl-group + .ctl-group{
    padding-left:14px;border-left:1px solid var(--line);
  }
  html:not([data-theme="dark"]) .ctl-group-label{
    display:inline-flex;align-items:center;
    font:700 10.5px/1 Consolas,monospace;
    letter-spacing:.08em;color:var(--accent);
    padding:0 6px 0 2px;
    border-left:2px solid var(--accent);
  }
  html:not([data-theme="dark"]) .ctl-btns{
    display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;
  }
  /* 工具栏按钮紧凑化 */
  html:not([data-theme="dark"]) .stage-button{
    padding:5px 10px;font-size:12px;border-radius:7px;
  }
  /* 主干路径按钮特殊样式：让用户一眼看到它是默认推荐 */
  html:not([data-theme="dark"]) .stage-button.ctl-main{
    background:#edf1ff;border-color:#c7d4ff;color:var(--accent);
  }
  html:not([data-theme="dark"]) .stage-button.ctl-main:hover{
    background:#dde5fb;border-color:var(--accent);color:#3730a3;
  }
  /* 演示模式按钮：固定在下排最右，渐变主按钮样式 */
  html:not([data-theme="dark"]) .stage-button.present{
    margin-left:auto;
    background:linear-gradient(135deg,var(--blue),var(--indigo));
    border-color:transparent;color:#fff;
  }
  html:not([data-theme="dark"]) .stage-button.present:hover{
    background:linear-gradient(135deg,var(--indigo),var(--violet));
    color:#fff;
  }

  /* ===== 修复 MAP / READ / FULL 视觉差异不明显 + 演示模式大图 ===== */
  /* MAP·总览：只留主干（非主干节点 + 虚线分支直接隐藏，差异最大化） */
  html:not([data-theme="dark"]) .map-shell[data-view="map"] .node:not(.core){
    opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease;
  }
  html:not([data-theme="dark"]) .map-shell[data-view="map"] .edge.branch{
    opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease;
  }
  html:not([data-theme="dark"]) .map-shell[data-view="map"] .node.core,
  html:not([data-theme="dark"]) .map-shell[data-view="map"] .edge:not(.branch){
    opacity:1;visibility:visible;
  }
  /* READ·关系：显示主干+入口+支援；底层纪律/维护淡化到 0.35（可见但不抢眼） */
  html:not([data-theme="dark"]) .map-shell[data-view="read"] .node.foundation,
  html:not([data-theme="dark"]) .map-shell[data-view="read"] .node.maintenance{
    opacity:.35;visibility:visible;
  }
  html:not([data-theme="dark"]) .map-shell[data-view="read"] .node:not(.foundation):not(.maintenance){
    opacity:1;visibility:visible;
  }
  /* FULL·全部：所有节点/边全部亮起 */
  html:not([data-theme="dark"]) .map-shell[data-view="full"] .node,
  html:not([data-theme="dark"]) .map-shell[data-view="full"] .edge{
    opacity:1;visibility:visible;
  }
  /* 切换 toast：告诉用户当前视图显示什么，避免"点了没反应"的困惑 */
  html:not([data-theme="dark"]) .map-shell{position:relative}
  html:not([data-theme="dark"]) .view-toast{
    position:absolute;top:8px;right:12px;z-index:30;
    background:#ffffff;border:1px solid var(--line-strong);
    border-left:3px solid var(--accent);
    box-shadow:0 6px 18px rgba(32,46,80,.16);
    padding:8px 12px;border-radius:9px;
    font-size:12.5px;color:var(--ink);
    opacity:0;transform:translateY(-6px);pointer-events:none;
    transition:opacity .25s ease,transform .25s ease;
    max-width:380px;
  }
  html:not([data-theme="dark"]) .view-toast.show{
    opacity:1;transform:translateY(0);
  }
  /* 演示模式：让 .wrap 突破 1160px 限制，svg 撑满视口，成为真正的"大图" */
  html:not([data-theme="dark"]) body.presentation #map{
    background:#f6f8fc!important;color:var(--ink);
  }
  html:not([data-theme="dark"]) body.presentation #map .section-head p{color:var(--muted)}
  html:not([data-theme="dark"]) body.presentation #map .wrap{
    max-width:none;padding:0 32px;
  }
  html:not([data-theme="dark"]) body.presentation .map-shell svg{
    width:100%;min-width:0;
  }
  html:not([data-theme="dark"]) body.presentation .map-shell .map-scroll{
    max-height:none;
  }
  html:not([data-theme="dark"]) .map-zoom:hover{border-color:#c7d2fe;background:#eef2ff;color:var(--accent)}

  /* 蓝图预设 → 浅靛图纸 */
  html:not([data-theme="dark"]) .map-shell[data-preset="blueprint"] .map-scroll{background:linear-gradient(#f8faff,#eef2fd)}
  html:not([data-theme="dark"]) .map-shell[data-preset="blueprint"] .node rect{fill:rgba(99,102,241,.05)}
  html:not([data-theme="dark"]) .map-shell[data-preset="blueprint"] .node.core rect{fill:rgba(99,102,241,.10)}
  html:not([data-theme="dark"]) .map-shell[data-preset="blueprint"] .node text{fill:#4338ca}
  html:not([data-theme="dark"]) .map-shell[data-preset="blueprint"] .edge{stroke:#a5b4fc}

  /* 放映模式底色同步改浅 */
  html:not([data-theme="dark"]) body.presentation #map{background:#f6f8fc!important;color:var(--ink)}
  html:not([data-theme="dark"]) body.presentation #map .section-head{border-color:var(--line)}
  html:not([data-theme="dark"]) body.presentation #map .section-head p{color:var(--muted)}
  html:not([data-theme="dark"]) body.presentation #map .section-head .eyebrow{color:var(--accent)!important}

  /* ── 6. 零散硬编码收口 ────────────────────────────────── */
  code{background:#edf1ff;color:#4338ca}
  .tree,.prompt{background:#202e50;color:#dbe6f7}
  .tree .dim{color:#93a2bd}
  .rule:before,.chat-stage .chatname{background:#202e50;color:#fff}
  .reading-progress{background:var(--gradient)}
  ::selection{background:#dce7ff}
  .backtop{color:var(--accent)}
  .search:focus,.search:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px rgba(79,70,229,.14)}
  html:not([data-theme="dark"]) .filter:hover:not(.active){border-color:#c7d2fe;background:var(--blue2);color:var(--accent)}
  html:not([data-theme="dark"]) .reading-path:hover{border-color:#c7d2fe}
  /* 各节眉题（内联着色）统一为站点 accent 靛蓝 */
  html:not([data-theme="dark"]) .eyebrow[style]{color:var(--accent)!important}

  /* ── 7. 场景入口板块：等宽 + 左侧紧凑双列 + 路由面板色调对齐 ─ */
  html:not([data-theme="dark"]) .starter-grid{grid-template-columns:1fr 1fr;gap:20px}
  html:not([data-theme="dark"]) .decision-list{grid-template-columns:1fr 1fr;gap:8px}
  html:not([data-theme="dark"]) .decision{padding:11px 13px}
  html:not([data-theme="dark"]) .decision b{font-size:14.5px;margin-bottom:3px;line-height:1.35}
  html:not([data-theme="dark"]) .decision small{font-size:12.5px;line-height:1.45}
  html:not([data-theme="dark"]) .decision:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(32,46,80,.08)}
  html:not([data-theme="dark"]) .decision.active{background:#edf1ff;border-color:var(--accent);color:var(--accent)}
  html:not([data-theme="dark"]) .decision.active small{color:var(--accent)}
  /* 路由面板：纯海军蓝 → 站点 ink 系渐变，与品牌色统一 */
  html:not([data-theme="dark"]) .route-panel{background:linear-gradient(160deg,#202e50 0%,#2d3f6a 100%)}

  /* ── 8. 场景入口板块：分块清晰化 + 内容关联显式化 ──────── */
  /* 主问题标题：左侧 accent 色条，让"问题"先被看到 */
  html:not([data-theme="dark"]) #start .section-head h2{
    position:relative;padding-left:18px;
  }
  html:not([data-theme="dark"]) #start .section-head h2::before{
    content:"";position:absolute;left:0;top:10px;bottom:10px;
    width:4px;background:var(--accent);border-radius:2px;
  }
  /* 主答案（starter-grid）与下方补充内容之间加分界 + "补充与参考"子标题 */
  html:not([data-theme="dark"]) #start .quick-rule{
    position:relative;margin-top:30px;
  }
  html:not([data-theme="dark"]) #start .quick-rule::before{
    content:"";position:absolute;top:-17px;left:0;right:0;
    height:1px;background:var(--line);
  }
  html:not([data-theme="dark"]) #start .quick-rule::after{
    content:"补充与参考";position:absolute;top:-26px;left:18px;
    background:var(--paper);padding:0 10px;
    font-size:11px;font-weight:700;letter-spacing:.14em;
    color:var(--accent);text-transform:uppercase;
  }
  /* 角色标签：旧规则已由下方"标签样式升级"完全替代，删除以保持单一来源。
     此处留空 */

  /* ===== 标签样式升级 ===== */
  /* 把"快速上手 · 最常用路径"等 4 个角色标签由【全大写 + 0.14em letter-spacing + 11px + 灰】
     改为【中文 12.5px + 600 字重 + accent 色 + 左侧 3px 色条 + 浮在 1px 分割线之上】，
  html:not([data-theme="dark"]) #start .wrap > div:nth-child(4){
    padding-top:24px;margin-top:18px;
    border-top:1px solid var(--line);
  }
  html:not([data-theme="dark"]) #start .wrap > div:nth-child(4)::before{
    content:"快速上手 · 最常用路径";
    position:absolute;top:-1px;left:0;
    display:inline-block;
    background:var(--paper);padding:0 10px 0 8px;
    font-size:12.5px;font-weight:600;letter-spacing:0;
    text-transform:none;line-height:1;
    color:var(--accent);
    border-left:3px solid var(--accent);
    border-radius:0 6px 6px 0;
    transform:translateY(-50%);
  }
  html:not([data-theme="dark"]) #start .matrix-wrap{
    position:relative;margin-top:14px;
    padding-top:24px;border-top:1px solid var(--line);
  }
  html:not([data-theme="dark"]) #start .matrix-wrap::before{
    content:"常见问题 · 关于 Skill 机制";
    display:inline-block;
    background:var(--paper);padding:0 10px 0 8px;
    font-size:12.5px;font-weight:600;letter-spacing:0;
    text-transform:none;line-height:1;
    color:var(--accent);
    border-left:3px solid var(--accent);
    border-radius:0 6px 6px 0;
    position:absolute;top:-1px;left:0;
    transform:translateY(-50%);
  }
  html:not([data-theme="dark"]) #start .wrap > div:nth-child(6){
    padding-top:24px;margin-top:22px;
    border-top:1px solid var(--line);
  }
  html:not([data-theme="dark"]) #start .wrap > div:nth-child(6)::before{
    content:"";
    position:absolute;top:-1px;left:0;
    display:inline-block;
    background:var(--paper);padding:0 10px 0 8px;
    font-size:12.5px;font-weight:600;letter-spacing:0;
    text-transform:none;line-height:1;
    color:var(--accent);
    border-left:3px solid var(--accent);
    border-radius:0 6px 6px 0;
    transform:translateY(-50%);
  }

  /* 对话气泡（.chat-example）：紧凑化 + "旧对话/新对话"分组
     4 行结构 = [speaker.你/旧] [bubble.user] [speaker.Agent/旧] [bubble] [speaker.你/新] [bubble.user] [speaker.Agent/新] [bubble]
     用 :nth-child 兄弟选择器在"Agent·旧对话"行后插一道分割线，
     并在"你·新对话"行前加 "↓ 新对话"小标记，作为组与组的视觉分隔。 */
  html:not([data-theme="dark"]) .chat-example{
    padding:14px;
    grid-template-columns:108px 1fr;
    gap:6px 12px;
    background:linear-gradient(180deg,#fafbff 0%,#ffffff 100%);
  }
  html:not([data-theme="dark"]) .chat-example .speaker{
    align-self:center;
    font-size:12.5px;
    color:var(--muted);
    padding:6px 10px;border-radius:7px;
    background:#fff;border:1px solid var(--line);
    line-height:1.35;
  }
  html:not([data-theme="dark"]) .chat-example .speaker strong,
  html:not([data-theme="dark"]) .chat-example .speaker b{font-weight:700}
  /* 第 3 个 .speaker 是 "你 · 新对话"，作为新组的开始 */
  html:not([data-theme="dark"]) .chat-example .speaker:nth-child(5){
    background:#edf1ff;border-color:#c7d4ff;color:var(--accent);
    font-weight:700;
  }
  /* 第 7 个 .speaker 是 "Agent · 新对话"，加左侧色条作收尾 */
  html:not([data-theme="dark"]) .chat-example .speaker:nth-child(7){
    background:#fff;border-color:#c7d4ff;color:var(--accent);
    border-left:3px solid var(--accent);
    font-weight:700;
  }
  html:not([data-theme="dark"]) .chat-example .bubble{
    padding:9px 12px;font-size:13.5px;line-height:1.65;border-radius:10px;
    background:#f4f6fb;border:1px solid var(--line);
  }
  html:not([data-theme="dark"]) .chat-example .bubble.user{
    background:#eaf0ff;border-color:#d6e0ff;color:var(--ink);
  }
  /* 让"你·旧对话"、"Agent·旧对话"两行视觉上稍微淡化（属于已结束对话） */
  html:not([data-theme="dark"]) .chat-example .bubble:nth-child(2),
  html:not([data-theme="dark"]) .chat-example .bubble:nth-child(4){
    background:#f7f8fb;color:var(--muted);
  }
  /* 在 "你·新对话" (.speaker:nth-child(5)) 加 accent 色背景，
     "Agent·新对话" (.speaker:nth-child(7)) 加左侧色条，
     形成"旧对话（淡灰）/ 新对话（accent 蓝）"两组视觉对比。*/
  
/* Multi-page reading copy: small-screen first, with a visible next step. */
html{scroll-padding-top:88px}
.chapter-hero{background:radial-gradient(circle at 90% 10%,#275581,transparent 35%),linear-gradient(125deg,#101b30,#233a5d);color:#fff;padding:50px 0 42px}
.chapter-hero h1{font:800 clamp(30px,4.5vw,52px)/1.18 system-ui,'Microsoft YaHei',sans-serif;max-width:930px;margin:12px 0}
.chapter-hero p{color:#d9e5f7;max-width:760px;font-size:17px;margin:0}
.chapter-hero .eyebrow{color:#80dbc9}
.chapter-index{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.chapter-index a{color:#e8f1ff;background:#ffffff18;border:1px solid #ffffff35;border-radius:100px;padding:7px 12px;text-decoration:none}
.chapter-index a:hover{background:#ffffff30}
.sticky .nav{align-items:center;justify-content:space-between;gap:8px}
.nav .top-link{font-weight:700}
.nav a[aria-current="page"]{background:#e6eeff;color:#224fd1;font-weight:800}
.chapter-kicker{font-size:12px;font-weight:800;letter-spacing:.17em;color:var(--teal)}
.wrap.journey{padding:38px 24px 16px}
.journey h2{font-size:clamp(23px,3vw,32px);line-height:1.3;margin:7px 0 8px}
.journey p{color:var(--muted);margin:0 0 16px}
.journey-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.journey-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:18px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);min-height:160px;display:flex;flex-direction:column}
.journey-card b{font-size:17px;margin:6px 0}.journey-card small{color:var(--muted);line-height:1.55}.journey-card .number{font:800 12px/1 monospace;color:var(--teal)}
.journey-card .go{margin-top:auto;color:var(--blue);font-weight:750}
.journey-card[aria-current="step"]{border-color:#4e79db;background:var(--blue2)}
.journey-card:hover,.chapter-next a:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}
.chapter-next{border-top:1px solid var(--line);padding:35px 0 60px;background:var(--paper)}
.chapter-next .wrap{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.chapter-next p{margin:0;color:var(--muted)}.chapter-next a{display:inline-flex;text-decoration:none;background:#1e4baf;color:white;padding:12px 18px;border-radius:11px;font-weight:750;transition:.18s}
.version-panel{margin:20px 0;background:var(--teal2);border-left:4px solid var(--teal);border-radius:12px;padding:17px 21px;line-height:1.75}
.version-panel p{margin:5px 0}.version-panel a{font-weight:700}
.reading-progress{position:fixed;top:0;left:0;z-index:60;height:3px;background:#59cdb4;width:0;pointer-events:none}
.skill .deep-link{display:inline-block;margin:9px 0 2px;font-size:13px;font-weight:700}
.route-skill-links{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.route-skill-links a{display:inline-block;color:#fff;background:#ffffff1d;border:1px solid #ffffff55;border-radius:7px;padding:2px 8px;font-size:11px;text-decoration:none}.route-skill-links a:hover{background:#ffffff35}
@media(max-width:900px){.journey-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nav{justify-content:flex-start!important}}
@media(max-width:560px){.wrap.journey{padding:32px 16px 12px}.journey-grid{grid-template-columns:1fr}.journey-card{min-height:0}.chapter-hero{padding:42px 0}.chapter-index{gap:6px}.chapter-index a{font-size:12px}.sticky .nav{padding:8px 15px}}
@media print{.sticky,.reading-progress,.chapter-next{display:none!important}.chapter-hero{color:#111;background:#fff;padding:18px 0}.chapter-hero p{color:#444}}
