.page-hero{max-width:var(--container-wide);margin:0 auto;padding:56px 32px 40px}.page-hero .meta-row{border-bottom:1px solid var(--rule);font-family:var(--mono);color:var(--ink-3);letter-spacing:.08em;justify-content:space-between;align-items:baseline;margin-bottom:32px;padding-bottom:16px;font-size:11px;display:flex}.page-hero .meta-row .issue{color:var(--ink);font-weight:500}.page-hero .h-grid{grid-template-columns:1fr 1fr;align-items:end;gap:64px;display:grid}.page-hero h1 em{color:var(--accent-deep);font-style:italic}.page-hero .lede{max-width:50ch;margin-top:24px}.page-hero .toc{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);grid-template-columns:1fr 1fr;gap:0;display:grid}.page-hero .toc-row{border-bottom:1px solid var(--rule-soft);justify-content:space-between;align-items:baseline;gap:16px;padding:14px 16px 14px 0;display:flex}.page-hero .toc-row:nth-child(odd){border-right:1px solid var(--rule-soft);padding-right:28px}.page-hero .toc-row:nth-child(2n){padding-left:28px;padding-right:0}.page-hero .toc-row:nth-last-child(-n+2){border-bottom:none}.page-hero .toc-row .lbl{font-family:var(--mono);color:var(--ink-3);letter-spacing:.06em;font-size:10.5px}.page-hero .toc-row .val{font-family:var(--serif);color:var(--ink);letter-spacing:-.005em;font-size:17px}.page-hero .toc-row .val em{color:var(--accent-deep);font-style:italic}.maturity{max-width:var(--container-wide);margin:88px auto 0;padding:0 32px}.map-frame{background:var(--paper);border:1px solid var(--rule);margin-top:24px;padding:28px 40px 40px;position:relative}.map-frame .map-meta-row{font-family:var(--mono);letter-spacing:.1em;color:var(--ink-mute);border-bottom:1px solid var(--rule-soft);justify-content:space-between;margin-bottom:24px;padding-bottom:18px;font-size:10px;display:flex}.map{grid-template-columns:repeat(5,1fr);height:320px;display:grid;position:relative}.map:before{content:"";background:var(--ink);height:1px;position:absolute;top:50%;left:10%;right:10%;transform:translateY(-.5px)}.map:after{content:"";background:var(--accent);width:28%;height:2px;position:absolute;top:50%;left:10%;transform:translateY(-1px)}.node{cursor:pointer;flex-direction:column;align-items:center;display:flex;position:relative}.node .marker{background:var(--paper);border:1.5px solid var(--ink);z-index:2;width:22px;height:22px;transition:transform .2s var(--ease);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.node .marker:after{content:"";background:var(--ink);opacity:0;transition:opacity .2s var(--ease);border-radius:50%;position:absolute;inset:4px}.node.done .marker{background:var(--ink);border-color:var(--ink)}.node.done .marker:after{opacity:1;background:var(--accent)}.node.current .marker{background:var(--accent);border-color:var(--accent-deep);transform:translate(-50%,-50%)scale(1.3)}.node.current .marker:after{opacity:1;background:var(--paper);inset:7px}.node:hover .marker{transform:translate(-50%,-50%)scale(1.1)}.node.current:hover .marker{transform:translate(-50%,-50%)scale(1.4)}.node .label-top{text-align:center;width:100%;padding:0 12px;position:absolute;bottom:calc(50% + 28px)}.node .label-bot{text-align:center;width:100%;padding:0 12px;position:absolute;top:calc(50% + 28px)}.node:nth-child(odd) .label-top{display:block}.node:nth-child(odd) .label-bot,.node:nth-child(2n) .label-top{display:none}.node:nth-child(2n) .label-bot{display:block}.node .n{font-family:var(--mono);letter-spacing:.1em;color:var(--ink-3);margin-bottom:6px;font-size:10.5px;display:block}.node h4{font-family:var(--serif);color:var(--ink);letter-spacing:-.01em;margin-bottom:8px;font-size:22px;font-weight:500;line-height:1.05}.node h4 em{color:var(--accent-deep);font-style:italic}.node .meta{font-family:var(--mono);color:var(--ink-mute);letter-spacing:.06em;font-size:10px}.node.current .n{color:var(--accent-deep)}.node.done .n{color:var(--ink-2)}.map-spark-row{border-top:1px solid var(--rule-soft);grid-template-columns:repeat(5,1fr);gap:0;margin-top:32px;padding-top:18px;display:grid}.map-spark-row .cell{text-align:center;padding:0 12px}.map-spark-row .k{font-family:var(--mono);letter-spacing:.1em;color:var(--ink-mute);margin-bottom:6px;font-size:9.5px}.map-spark-row .v{font-family:var(--serif);color:var(--ink);letter-spacing:-.01em;font-size:18px}.map-spark-row .v em{color:var(--accent-deep);font-style:italic}.stages-detail{max-width:var(--container-wide);margin:100px auto 0;padding:0 32px}.stage-block{border-top:1px solid var(--ink);grid-template-columns:320px 1fr;gap:56px;padding:56px 0;display:grid}.stage-block:first-of-type{border-top:1px solid var(--ink)}.stage-block .left{align-self:start;position:sticky;top:100px}.stage-block .stage-num{font-family:var(--serif);color:var(--ink);letter-spacing:-.03em;margin-bottom:16px;font-size:96px;font-weight:300;line-height:.85}.stage-block .stage-num em{color:var(--accent-deep);font-style:italic}.stage-block .stage-key{font-family:var(--mono);letter-spacing:.1em;color:var(--ink-3);margin-bottom:24px;font-size:11px}.stage-block .stage-key .pill{background:var(--paper-2);border:1px solid var(--rule-soft);border-radius:999px;margin-right:6px;padding:3px 10px;display:inline-block}.stage-block h3.stage-name{margin-bottom:16px;font-size:clamp(30px,2.8vw,40px);line-height:1.05}.stage-block h3.stage-name em{color:var(--accent-deep);font-style:italic}.stage-block .stage-tag{font-family:var(--serif);color:var(--ink-3);margin-bottom:24px;font-size:17px;font-style:italic}.stage-block .stage-summary{color:var(--ink-2);margin-bottom:28px;font-size:14.5px;line-height:1.6}.stage-block .stage-stats{border-top:1px solid var(--rule-soft);gap:32px;margin-bottom:24px;padding-top:16px;display:flex}.stage-block .stage-stats .s .k{font-family:var(--mono);letter-spacing:.08em;color:var(--ink-3);font-size:10.5px}.stage-block .stage-stats .s .v{font-family:var(--serif);color:var(--ink);margin-top:4px;font-size:20px}.lessons{border-top:1px solid var(--rule)}.lesson-row{border-bottom:1px solid var(--rule-soft);cursor:pointer;transition:background .15s var(--ease);grid-template-columns:64px 1fr 100px 80px;align-items:center;gap:24px;padding:18px 0;display:grid}.lesson-row:hover{background:var(--paper-2)}.lesson-row .num{font-family:var(--mono);color:var(--ink-3);letter-spacing:.05em;font-size:12px}.lesson-row .title{font-family:var(--serif);letter-spacing:-.005em;font-size:19px;font-weight:500}.lesson-row .title em{color:var(--accent-deep);font-style:italic}.lesson-row .duration{font-family:var(--mono);color:var(--ink-3);letter-spacing:.04em;text-align:right;font-size:11.5px}.lesson-row .duration .min{color:var(--ink)}.lesson-row .status{font-family:var(--mono);letter-spacing:.08em;text-align:right;font-size:10px}.lesson-row.done{color:var(--ink-3)}.lesson-row.done .title{color:var(--ink-3);text-decoration:line-through;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);text-decoration-thickness:1px}.lesson-row.done .status{color:var(--up)}.lesson-row.current{background:var(--paper-2)}.lesson-row.current .num,.lesson-row.current .status{color:var(--accent-deep)}.lesson-row .kind-practice{font-family:var(--mono);letter-spacing:.08em;color:var(--accent-deep);background:var(--accent-soft);vertical-align:2px;border-radius:2px;gap:6px;margin-left:10px;padding:2px 6px;font-size:9.5px;display:inline-flex}.questions{max-width:var(--container-wide);margin:120px auto 0;padding:0 32px}.q-grid{grid-template-columns:1fr 2fr;gap:56px;display:grid}.q-grid .qa{border-top:1px solid var(--rule);margin-bottom:28px;padding-top:18px}.q-grid .qa h4{font-family:var(--serif);letter-spacing:-.01em;margin-bottom:8px;font-size:20px;font-weight:500}.q-grid .qa p{color:var(--ink-2);font-size:14px;line-height:1.55}@media (max-width:980px){.stage-block{grid-template-columns:1fr}.stage-block .left{position:static}.page-hero .h-grid{grid-template-columns:1fr}.map{grid-template-columns:repeat(5,1fr);height:auto;padding:80px 0}.q-grid{grid-template-columns:1fr}}
