.sec em,.page-head em{color:var(--ink);font-style:normal;font-weight:800}.page-head .actions>:is(.jump,.facts,.card-tags,.wip){flex-basis:100%}.page-head .actions>.card-tags{margin:4px 0 0}.sub-h{font-size:var(--fs-min);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin:0;font-weight:800;line-height:1.3}:lang(zh-Hans) .sub-h{letter-spacing:.12em}.back-ic{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px;transition:transform .2s var(--ease-out);display:inline-block;transform:scaleX(-1)}.ext{vertical-align:-2px;fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px;transition:transform .2s var(--ease-out);flex:none;margin-left:4px;display:inline-block}.jump ul{flex-wrap:wrap;gap:10px;margin:8px 0 0;padding:0;list-style:none;display:flex}.jump a{border:var(--rule) solid var(--ink);background:var(--white);min-height:44px;font-size:var(--fs-min);transition:transform .16s var(--ease-out), background-color .16s ease;border-radius:999px;align-items:center;gap:10px;padding:2px 16px 0;font-weight:800;line-height:1.2;text-decoration:none;display:inline-flex}.jump a:active{transform:scale(.97)}.jump-num,.module-num,.pick-num,.stage-num{font-variant-numeric:tabular-nums;color:var(--ink-2);font-weight:800;font-stretch:90%}.wip{margin-top:4px}.wip-box{border:var(--rule) dashed var(--ink);border-radius:var(--r);background:var(--white);align-items:flex-start;gap:14px;width:fit-content;max-width:60ch;padding:16px 20px 16px 16px;display:flex}.wip p{color:var(--ink);margin:0;line-height:1.5}.wip p+p{margin-top:8px}.wip-mark{fill:none;width:24px;height:24px;stroke:var(--ink);stroke-width:1.8px;flex:none;margin-top:1px}.wip-mark .wip-fill{fill:var(--ink);stroke:none}.stage-head .pills{margin-top:20px}.stage-tagline{max-width:52ch;color:var(--ink-2);margin:12px 0 0;font-size:20px;line-height:1.45}.sec>.body{margin-top:20px}.cards{grid-template-columns:minmax(0,1fr);column-gap:32px;margin:40px 0 0;padding:0;list-style:none;display:grid}.card{border-top:var(--rule) solid var(--ink);flex-direction:column;padding:22px 0 28px;display:flex;position:relative}.card-tags{font-size:var(--fs-min);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin:0 0 10px;font-weight:800;line-height:1.3}:lang(zh-Hans) .card-tags{letter-spacing:.12em}.card-link{text-decoration:none}.card-link:after{content:"";position:absolute;inset:0}.card-link:focus-visible{outline:none}.card:has(.card-link:focus-visible){outline:2px solid var(--ink);outline-offset:6px;border-radius:3px}.card-body{color:var(--ink-2)}.card-body p,p.card-body{max-width:52ch;margin:10px 0 0}.card-more{font-size:var(--fs-min);align-items:center;gap:8px;margin-top:auto;padding-top:18px;font-weight:800;display:inline-flex}.facts{flex-wrap:wrap;gap:10px 28px;margin:18px 0 0;display:flex}.facts div{min-width:0}.facts dt{font-size:var(--fs-min);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-weight:800;line-height:1.3}:lang(zh-Hans) .facts dt{letter-spacing:.12em}.facts dd{font-size:var(--fs-min);font-variant-numeric:tabular-nums;margin:2px 0 0;line-height:1.45}.facts-wide{flex-basis:100%}.facts-head{border-top:1px solid var(--steel-ink);gap:14px 40px;max-width:760px;margin-top:4px;padding-top:18px}.facts-head dd{font-size:var(--fs-body);font-weight:800}.stages{margin:44px 0 0;padding:0;list-style:none}.stage{border-top:var(--rule) solid var(--ink);grid-template-columns:minmax(0,1fr);gap:8px 40px;padding:32px 0 44px;scroll-margin-top:8px;display:grid}.stage-num{letter-spacing:-.03em;color:var(--steel-ink);margin:0;font-size:clamp(56px,14vw,104px);line-height:.9}.stage-name{font-size:var(--h2);letter-spacing:-.02em;margin:0;font-weight:800;font-stretch:90%;line-height:1.04}.stage-main .pills,.stage-main>.body{margin-top:20px}.stage-main>.body p{margin:0}.stage-cols{grid-template-columns:minmax(0,1fr);gap:28px 40px;margin-top:32px;display:grid}.ticks{margin:12px 0 0;padding:0;list-style:none}.ticks li{border-top:1px dashed var(--dash);padding:8px 0 8px 22px;line-height:1.4;position:relative}.ticks li:before{content:"";background:var(--ink);width:10px;height:2px;position:absolute;top:calc(8px + .7em);left:0}.tags{flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0;list-style:none;display:flex}.tags li{background:var(--steel-2);min-height:36px;font-size:var(--fs-min);border-radius:6px;align-items:center;padding:2px 12px 0;font-weight:700;line-height:1.25;display:inline-flex}.stage-list{margin-top:36px}.list-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 20px;display:flex}.more{font-size:var(--fs-min);align-items:center;gap:8px;padding:10px 0;font-weight:800;text-decoration:none;display:inline-flex}.rows{border-bottom:1px solid var(--steel-ink);margin:6px 0 0;padding:0;list-style:none}.rows li{border-top:1px solid var(--steel-ink)}.rows a{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 20px;min-height:52px;padding:12px 0;text-decoration:none;display:flex}.row-name{font-weight:800;line-height:1.3}.row-meta{font-size:var(--fs-min);color:var(--ink-2);font-variant-numeric:tabular-nums}.stage-unlocks{max-width:60ch;margin:28px 0 0;font-weight:800;line-height:1.45}.pills.build{margin-top:32px}.modules{grid-template-columns:minmax(0,1fr);column-gap:32px;margin:36px 0 0;padding:0;list-style:none;display:grid}.modules li{border-top:1px solid var(--steel-ink);grid-template-columns:52px minmax(0,1fr);align-content:start;column-gap:12px;padding:18px 0 22px;display:grid}.module-num{font-size:var(--h3);grid-row:span 2;line-height:1.2}.modules p{max-width:52ch;color:var(--ink-2);grid-column:2;margin:6px 0 0}.pair{grid-template-columns:minmax(0,1fr);gap:44px 56px;display:grid}.pair .lede{margin-top:18px}.pair .body{margin-top:2px}.picks{grid-template-columns:minmax(0,1fr);column-gap:32px;margin:36px 0 0;padding:0;list-style:none;display:grid}.picks li{border-top:var(--rule) solid var(--ink);grid-template-columns:52px minmax(0,1fr);align-content:start;column-gap:12px;padding:20px 0 24px;display:grid}.pick-num{font-size:var(--h3);grid-row:span 4;line-height:1.2}.picks .item-title a{text-decoration:none}.picks .item-title a:focus-visible{text-decoration:underline}.pick-body{max-width:52ch;color:var(--ink);grid-column:2;margin:8px 0 0}.pick-meta{max-width:52ch;font-size:var(--fs-min);color:var(--ink-2);grid-column:2;margin:8px 0 0}.pick-format{background:var(--steel-2);font-size:var(--fs-min);border-radius:6px;grid-column:2;justify-self:start;margin:12px 0 0;padding:3px 10px 1px;font-weight:700;line-height:1.4}.more-h{margin-top:40px}.mentions{max-width:72ch;margin:12px 0 0;padding:0;list-style:none}.mentions li{border-top:1px dashed var(--dash);color:var(--ink-2);padding:14px 0;line-height:1.5}.mentions a{color:var(--ink);text-decoration:none}.mention-body{margin-top:2px;display:block}.ext-link{text-decoration:none}.briefs{margin:40px 0 0;padding:0;list-style:none}.brief{border-top:var(--rule) solid var(--ink);padding:30px 0 40px;scroll-margin-top:8px}.brief .eyebrow{margin-bottom:10px}.brief-name{letter-spacing:-.015em;text-wrap:balance;margin:0;font-size:clamp(24px,6vw,32px);font-weight:800;font-stretch:90%;line-height:1.1}.brief-grid{grid-template-columns:minmax(0,1fr);gap:0 32px;margin:22px 0 26px;display:grid}.brief-field{border-top:1px solid var(--steel-ink);padding:14px 0 16px}.brief-field dt{font-size:var(--fs-min);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-weight:800;line-height:1.3}:lang(zh-Hans) .brief-field dt{letter-spacing:.12em}.brief-field dd{max-width:62ch;margin:6px 0 0;line-height:1.5}.brief-grid{max-width:1040px}.brief-problem dd{font-weight:700}.lenses{grid-template-columns:minmax(0,1fr);column-gap:32px;margin:0;padding:0;list-style:none;display:grid}.lenses li{border-top:var(--rule) solid var(--ink);flex-direction:column;padding:22px 0 32px;display:flex}.lenses li:first-child{border-top:0;padding-top:0}.lenses .module-num{font-size:var(--h2);color:var(--steel-ink);line-height:1}.lens-title{font-size:var(--h3);margin-top:14px}.lens-body{max-width:46ch;color:var(--ink-2);margin:10px 0 0}.lens-body p{margin:0}.lens-links{flex-wrap:wrap;gap:12px;padding-top:24px;display:flex}.shelf{grid-template-columns:minmax(0,1fr);column-gap:32px;margin:28px 0 0;padding:0;list-style:none;display:grid}.shelf>li{border-top:1px solid var(--steel-ink);padding:16px 0 20px}.shelf-course{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 16px;text-decoration:none;display:flex}.shelf-pick{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:8px 0 0;display:flex}.shelf-label{font-size:var(--fs-min);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-weight:800}:lang(zh-Hans) .shelf-label{letter-spacing:.12em}.shelf-pick a,.shelf-links a{border-bottom:1px solid var(--steel-ink);text-decoration:none}.shelf-links{margin:8px 0 0;padding:0;list-style:none}.shelf-links li{padding:4px 0}@media (hover:hover) and (pointer:fine){.jump a:hover{background-color:var(--steel-2)}.ask-btn:hover .back-ic{transform:scaleX(-1)translate(3px)}.card:hover .card-link,.rows a:hover .row-name,.shelf-course:hover .row-name{text-underline-offset:.2em;text-decoration:underline 1.5px}.card:hover .card-more .go,.more:hover .go{transform:translate(3px)}.picks .item-title a:hover,.ext-link:hover,.mentions a:hover b{text-underline-offset:.2em;text-decoration:underline 1.5px}.picks .item-title a:hover .ext,.ext-link:hover .ext,.mentions a:hover .ext,.shelf-pick a:hover .ext,.shelf-links a:hover .back-ic{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px;transition:transform .2s var(--ease-out);display:inline-block;transform:scaleX(-1)}.ext{transform:translate(2px,-2px)}.shelf-pick a:hover,.shelf-links a:hover{border-bottom-color:var(--ink)}}@media (width>=700px){.cards,.modules,.picks,.stage-cols,.brief-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brief-problem,.brief-precedent{grid-column:1/-1}.lenses{grid-template-columns:repeat(2,minmax(0,1fr))}.lenses li:nth-child(2){border-top:0;padding-top:0}.shelf{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=900px){.pair{grid-template-columns:repeat(2,minmax(0,1fr))}.stage{grid-template-columns:160px minmax(0,1fr)}}@media (width>=1100px){.cards,.picks,.lenses:not(.lenses-2){grid-template-columns:repeat(3,minmax(0,1fr))}.lenses:not(.lenses-2) li:nth-child(3){border-top:0;padding-top:0}.stage{grid-template-columns:220px minmax(0,1fr)}}
