.page-intro{padding-bottom:var(--s-5)}.page-intro h1{font-family:var(--f-display);font-size:var(--fs-3xl);font-weight:var(--w-bold);letter-spacing:-.01em;margin:var(--s-2) 0 var(--s-2)}.page-lede{font-size:var(--fs-md);color:var(--c-ink-2);line-height:var(--lh-normal);word-break:keep-all;max-width:var(--read-ko)}.sec-eyebrow{font-family:var(--f-body);font-size:var(--fs-2xs);font-weight:var(--w-medium);letter-spacing:var(--ls-ko);color:var(--c-ink-3);margin-bottom:var(--s-2)}.section-head h2{font-family:var(--f-display);font-size:var(--fs-2xl);font-weight:var(--w-bold);letter-spacing:-.01em;line-height:var(--lh-tight);margin-bottom:var(--s-2)}.dept-sec-lede{font-size:var(--fs-base);color:var(--c-ink-2);line-height:var(--lh-normal);word-break:keep-all;margin-bottom:var(--s-4);max-width:var(--read-ko)}.install-tip{background:var(--c-bg-2);border-radius:10px;padding:var(--s-4) var(--s-4);margin:0}.install-tip-label{font-family:var(--f-body);font-size:var(--fs-2xs);letter-spacing:var(--ls-ko);color:var(--c-ink-3);margin-bottom:var(--s-3)}.install-tip-desc{font-size:var(--fs-sm);color:var(--c-ink-2);line-height:1.55;word-break:keep-all;max-width:var(--read-ko)}.cli-alt{margin-top:var(--s-3)}.cli-alt summary{font-family:var(--f-body);font-size:var(--fs-2xs);letter-spacing:var(--ls-ko);color:var(--c-ink-3);cursor:pointer;list-style:none}.cli-alt summary::-webkit-details-marker{display:none}.cli-alt summary:before{content:"▸ ";color:var(--c-ink-3)}.cli-alt[open] summary:before{content:"▾ "}.cli-alt summary:hover{color:var(--c-accent)}.cli-alt p{font-size:var(--fs-sm);color:var(--c-ink-2);line-height:var(--lh-normal);word-break:keep-all;margin:var(--s-2) 0}.cli-note{font-size:var(--fs-xs);color:var(--c-ink-2)}.install-prereq{margin-top:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--c-line)}.install-prereq-note{font-size:var(--fs-sm);color:var(--c-ink-2);line-height:1.55;word-break:keep-all;margin-bottom:var(--s-2)}.install-prereq .try-prompt{background:var(--c-bg)}.install-prereq-list{list-style:none;padding:0;margin:var(--s-3) 0 0;display:flex;flex-direction:column;gap:var(--s-2)}.install-prereq-list li{font-size:var(--fs-sm);color:var(--c-ink-2);line-height:1.6;word-break:keep-all;padding-left:var(--s-3);border-left:2px solid var(--c-line)}.install-prereq-list b{color:var(--c-ink);font-weight:var(--w-semibold)}.install-prereq-list a{color:var(--c-accent-text);border-bottom:1px solid rgba(105,124,112,.35);text-decoration:none}.install-prereq-list a:hover{border-bottom-color:var(--c-accent)}.dept-toc{font-family:var(--f-body);font-size:var(--fs-xs);letter-spacing:0;display:flex;flex-wrap:wrap;gap:var(--s-1) var(--s-4);margin:0 0 var(--s-6);padding-bottom:var(--s-4);border-bottom:1px solid var(--c-line)}.dept-toc a{color:var(--c-accent-text);text-decoration:none;border-bottom:1px solid rgba(105,124,112,.35)}.dept-toc a:hover{border-bottom-color:var(--c-accent)}.dept-card{margin-top:var(--s-6);padding-top:var(--s-6);border-top:1px solid var(--c-line)}.dept-card:first-of-type{border-top:0;padding-top:0}.dept-head{display:flex;align-items:baseline;gap:var(--s-3);margin-bottom:var(--s-2)}.dept-num{font-family:var(--f-number-display);font-size:38px;line-height:1;color:var(--c-eucalyptus);flex:0 0 auto;min-width:44px}.dept-head-text{flex:1}.dept-name{font-family:var(--f-display);font-size:var(--fs-xl);font-weight:var(--w-semibold);line-height:1.16;letter-spacing:-.01em;margin:0 0 var(--s-1)}.dept-tagline{font-family:var(--f-body);font-size:var(--fs-2xs);letter-spacing:var(--ls-ko);color:var(--c-ink-3)}.dept-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);margin-bottom:var(--s-3)}.dept-pack{font-family:var(--f-body);font-size:var(--fs-2xs);letter-spacing:var(--ls-ko);color:var(--c-accent-text);border:1px solid var(--c-accent);border-radius:var(--r-pill);padding:2px var(--s-2)}.dept-install-list{background:var(--c-bg-2);border:var(--border);border-radius:var(--r-sm);padding:var(--s-3);margin-top:var(--s-4)}.dept-install-list h4{font-family:var(--f-body);font-weight:var(--w-semibold);font-size:var(--fs-sm);letter-spacing:var(--ls-ko);color:var(--c-ink);word-break:keep-all;margin:0 0 var(--s-2)}.dept-install-list ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--s-2)}.dept-install-list li{font-size:var(--fs-sm);line-height:var(--lh-normal);word-break:keep-all}.install-name{display:inline-block;font-family:var(--f-body);font-size:var(--fs-xs);color:var(--c-accent-text);margin-right:var(--s-2)}.install-desc{color:var(--c-ink-2)}.install-src{font-family:var(--f-body);font-size:var(--fs-2xs);color:var(--c-accent-text);text-decoration:underline;text-underline-offset:.2em;white-space:nowrap}.badge-paid{display:inline-block;font-family:var(--f-body);letter-spacing:var(--ls-ko);font-size:var(--fs-2xs);line-height:1.4;color:var(--c-ink-2);border:1px solid var(--c-line);border-radius:var(--r-pill);padding:0 var(--s-2);margin-right:var(--s-1);vertical-align:middle}.dept-hook{font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--c-ink);margin-bottom:var(--s-3);word-break:keep-all}.dept-outcome{font-size:var(--fs-sm);line-height:var(--lh-normal);color:var(--c-ink-2);margin-bottom:0;word-break:keep-all}.dept-outcome b{display:block;font-family:var(--f-body);font-weight:var(--w-semibold);letter-spacing:var(--ls-ko);font-size:10px;margin-bottom:var(--s-1);color:var(--c-accent-text)}.dept-steps,.dept-try,.dept-intro-only,.dept-pitfalls,.dept-takeaway{margin-top:var(--s-5)}.dept-steps h4,.dept-try h4,.dept-intro-only h4,.dept-pitfalls h4,.dept-takeaway h4{font-family:var(--f-body);font-weight:var(--w-semibold);font-size:var(--fs-sm);letter-spacing:var(--ls-ko);color:var(--c-ink);word-break:keep-all;margin:0 0 var(--s-2)}.dept-steps ol{padding-left:var(--s-4);margin:0}.dept-steps li{list-style:decimal;font-size:var(--fs-base);line-height:var(--lh-normal);word-break:keep-all;margin-bottom:var(--s-2)}.dept-intro-only ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--s-2)}.dept-intro-only li{font-size:var(--fs-sm);color:var(--c-ink-2);line-height:1.6;word-break:keep-all;padding-left:var(--s-3);border-left:2px solid var(--c-line)}.dept-intro-only b{color:var(--c-ink);font-weight:var(--w-semibold)}.dept-pitfalls p{font-size:var(--fs-sm);line-height:var(--lh-normal);color:var(--c-ink-2);word-break:keep-all}.dept-takeaway{background:var(--c-bg-2);border:var(--border);border-left:3px solid var(--c-accent);border-radius:var(--r-md);padding:var(--s-4)}.dept-takeaway p{font-size:var(--fs-md);font-weight:var(--w-medium);line-height:var(--lh-normal);color:var(--c-ink);word-break:keep-all}.dept-note{font-size:var(--fs-xs);color:var(--c-ink-2);line-height:1.5;margin-top:var(--s-3);word-break:keep-all}.step-try{margin:var(--s-2) 0 var(--s-3)}.try-block{margin:var(--s-3) 0}.try-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--s-1)}.try-label{font-family:var(--f-body);font-size:var(--fs-xs);letter-spacing:var(--ls-ko);color:var(--c-accent-text)}.try-copy{display:inline-flex;align-items:center;justify-content:center;width:26px;height:22px;color:var(--c-ink-2);background:none;border:var(--border);border-radius:var(--r-sm);padding:0;cursor:pointer;transition:color var(--t) var(--ease),border-color var(--t) var(--ease)}.try-copy:hover{color:var(--c-accent);border-color:var(--c-accent)}.try-copy svg{width:13px;height:13px;pointer-events:none}.try-copy .icon-check,.try-copy.copied .icon-clip{display:none}.try-copy.copied .icon-check{display:block}.try-copy.copied{color:var(--c-eucalyptus);border-color:var(--c-eucalyptus)}.try-prompt{font-family:var(--f-body);font-size:var(--fs-sm);line-height:var(--lh-normal);background:var(--c-bg-2);border:var(--border);border-radius:var(--r-sm);padding:var(--s-3);margin:0;white-space:pre-wrap;word-break:keep-all}.step-try .try-prompt{font-family:var(--f-mono);font-size:var(--fs-xs);line-height:1.7}.try-expect{margin-top:var(--s-2)}.try-expect summary{font-family:var(--f-body);font-size:var(--fs-xs);letter-spacing:var(--ls-ko);color:var(--c-ink-2);cursor:pointer;list-style:none}.try-expect summary::-webkit-details-marker{display:none}.try-expect summary:before{content:"▸ ";color:var(--c-ink-3)}.try-expect[open] summary:before{content:"▾ "}.try-expect summary:hover{color:var(--c-accent)}.try-expect p{font-size:var(--fs-sm);line-height:var(--lh-normal);color:var(--c-ink-2);margin:var(--s-2) 0 0;padding-left:var(--s-3);border-left:2px solid var(--c-line);word-break:keep-all}.tool-note{font-size:var(--fs-xs);color:var(--c-ink-2);line-height:1.5;margin-top:var(--s-2);word-break:keep-all}.more-list{list-style:none;padding:0;margin:var(--s-4) 0 0;display:flex;flex-direction:column;gap:var(--s-2)}.more-list li{font-size:var(--fs-sm);color:var(--c-ink-2);line-height:1.6;word-break:keep-all;padding-left:var(--s-3);border-left:2px solid var(--c-line)}.more-list b{color:var(--c-ink);font-weight:var(--w-semibold)}.back-link{margin-top:var(--s-6);padding-top:var(--s-5);border-top:1px solid var(--c-line);font-family:var(--f-body);font-size:var(--fs-xs);letter-spacing:var(--ls-ko)}.back-link a{color:var(--c-accent);text-decoration:none;border-bottom:1px solid rgba(105,124,112,.35)}.back-link a:hover{border-bottom-color:var(--c-accent)}
