.toc[data-astro-cid-xvrfupwn]{margin:0 0 28px;padding:16px 18px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}.toc-title[data-astro-cid-xvrfupwn]{margin:0 0 8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-soft)}.toc[data-astro-cid-xvrfupwn] ul[data-astro-cid-xvrfupwn]{list-style:none;margin:0;padding:0}.toc[data-astro-cid-xvrfupwn] li[data-astro-cid-xvrfupwn]{margin:5px 0;font-size:14px;line-height:1.4}.toc-d3[data-astro-cid-xvrfupwn]{padding-left:16px}.toc[data-astro-cid-xvrfupwn] a[data-astro-cid-xvrfupwn]{color:var(--text-muted);text-decoration:none}.toc[data-astro-cid-xvrfupwn] a[data-astro-cid-xvrfupwn]:hover{color:var(--accent);text-decoration:underline}.comments{max-width:720px;margin-top:40px;padding-top:24px;border-top:1px solid var(--border)}.comments .ctrigger{list-style:none;display:inline-flex;align-items:center;gap:9px;padding:9px 16px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font-size:15px;font-weight:600;cursor:pointer;user-select:none;transition:border-color .15s,background .15s}.comments .ctrigger::-webkit-details-marker{display:none}.comments .ctrigger:hover{border-color:var(--accent);background:var(--surface-2)}.comments .ctrigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.comments .cicon{color:var(--accent);flex-shrink:0}.comments .ccount{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:var(--accent-weak);color:var(--accent-ink);font-size:12px;font-weight:700}.comments .cchevron{margin-left:2px;color:var(--text-muted);transition:transform .2s ease}.comments .cwrap[open] .cchevron{transform:rotate(180deg)}.comments .cpanel{margin-top:22px}.comments .cbanner{padding:10px 14px;border-radius:var(--radius);font-size:14px;margin-bottom:14px}.comments .cbanner.ok{background:var(--surface-2);color:var(--text)}.comments .cbanner.err{background:#fce8e6;color:#b3261e}html[data-theme=dark] .comments .cbanner.err{background:#3a1d1d;color:#ff9a92}.comments .cform{display:flex;flex-direction:column;gap:8px;margin-bottom:26px}.comments .cform input,.comments .cform textarea{padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius);font:inherit;background:var(--surface);color:var(--text)}.comments .cform textarea{min-height:90px;resize:vertical}.comments .cform button{align-self:flex-start;padding:8px 18px;border:0;border-radius:var(--radius);background:var(--text);color:var(--surface);font-weight:600;cursor:pointer}.comments .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.comments .clist,.comments .creplies{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:18px}.comments .creplies{margin-top:16px;padding-left:20px;border-left:2px solid var(--border)}.comments .comment{display:flex;gap:12px}.comments .cavatar{width:36px;height:36px;border-radius:50%;flex-shrink:0}.comments .cinitial{display:grid;place-items:center;background:var(--surface-2);color:var(--text-muted);font-weight:600}.comments .cbody{flex:1;min-width:0}.comments .cmeta{font-size:14px}.comments .cmeta time{color:var(--text-muted);font-size:12px;margin-left:6px}.comments .ctext{font-size:15px;line-height:1.55;margin:4px 0;white-space:pre-wrap;overflow-wrap:anywhere}.comments .creply{margin-top:4px}.comments .creply summary{font-size:13px;color:var(--text-muted);cursor:pointer}.comments .creply .cform{margin-top:10px}.comments .cempty{color:var(--text-muted);font-size:14px}.author-box[data-astro-cid-dwrmp7mt]{--paper: #f5f3ef;--green: #22dd77;--mute: #8a8f98;--dim: #c9ccd1;--line: #23252b;--card: #131419;--ink: #14151a;max-width:720px;margin:44px auto 0;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:30px 32px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace}.ab-eyebrow[data-astro-cid-dwrmp7mt]{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);margin-bottom:22px}.ab-eyebrow[data-astro-cid-dwrmp7mt]:after{content:"";flex:1;height:1px;background:var(--line)}.ab-main[data-astro-cid-dwrmp7mt]{display:flex;gap:22px;align-items:flex-start}.ab-avatar[data-astro-cid-dwrmp7mt]{flex:none;width:66px;height:66px;border-radius:16px;background:var(--ink);display:grid;place-items:center;position:relative}.ab-avatar[data-astro-cid-dwrmp7mt] img[data-astro-cid-dwrmp7mt]{width:100%;height:100%;object-fit:cover;border-radius:16px}.ab-avatar[data-astro-cid-dwrmp7mt] .mono[data-astro-cid-dwrmp7mt]{font-weight:600;font-size:30px;color:var(--paper);line-height:1}.ab-avatar[data-astro-cid-dwrmp7mt] .dot[data-astro-cid-dwrmp7mt]{position:absolute;top:-6px;right:-6px;width:18px;height:18px;box-sizing:border-box;border:3px solid var(--card);border-radius:50%;background:var(--green)}.ab-body[data-astro-cid-dwrmp7mt]{flex:1;min-width:0}.ab-name[data-astro-cid-dwrmp7mt]{display:flex;align-items:baseline;gap:7px;font-weight:600;font-size:20px;color:var(--paper);margin:2px 0 4px}.ab-name[data-astro-cid-dwrmp7mt] .d[data-astro-cid-dwrmp7mt]{width:8px;height:8px;border-radius:50%;background:var(--green)}.ab-role[data-astro-cid-dwrmp7mt]{font-size:13px;color:var(--mute);margin-bottom:12px}.ab-bio[data-astro-cid-dwrmp7mt]{font-size:14px;line-height:1.65;color:var(--dim);max-width:54ch;margin:0 0 18px}.ab-links[data-astro-cid-dwrmp7mt]{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.ab-links[data-astro-cid-dwrmp7mt] a[data-astro-cid-dwrmp7mt]{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--dim);text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:7px 13px;transition:border-color .16s,color .16s}.ab-links[data-astro-cid-dwrmp7mt] a[data-astro-cid-dwrmp7mt]:hover{border-color:var(--green);color:var(--green)}.ab-links[data-astro-cid-dwrmp7mt] a[data-astro-cid-dwrmp7mt]:focus-visible{outline:2px solid var(--green);outline-offset:2px}.ab-links[data-astro-cid-dwrmp7mt] .arr[data-astro-cid-dwrmp7mt]{font-size:11px;opacity:.7}.ab-foot[data-astro-cid-dwrmp7mt]{display:flex;align-items:center;gap:9px;font-size:11.5px;color:var(--mute);padding-top:16px;border-top:1px solid var(--line)}.ab-foot[data-astro-cid-dwrmp7mt] .pdot[data-astro-cid-dwrmp7mt]{width:7px;height:7px;border-radius:50%;background:var(--green);flex:none}@media(max-width:520px){.author-box[data-astro-cid-dwrmp7mt]{padding:26px 22px}.ab-main[data-astro-cid-dwrmp7mt]{flex-direction:column;gap:16px}.ab-avatar[data-astro-cid-dwrmp7mt]{width:58px;height:58px}}.article[data-astro-cid-4sn4zg3r]{max-width:720px;padding-top:30px}.back[data-astro-cid-4sn4zg3r]{font-size:13px;color:var(--text-muted);display:inline-block;margin-bottom:18px}.article[data-astro-cid-4sn4zg3r] h1[data-astro-cid-4sn4zg3r]{font-size:32px;line-height:1.2;font-weight:700;letter-spacing:-.02em;margin:14px 0}.byline[data-astro-cid-4sn4zg3r]{margin-bottom:22px}.byline[data-astro-cid-4sn4zg3r] img[data-astro-cid-4sn4zg3r].avatar{object-fit:cover}.hero-cover[data-astro-cid-4sn4zg3r]{height:260px;border-radius:var(--radius);margin-bottom:28px}.hero-img[data-astro-cid-4sn4zg3r]{display:block;width:100%;height:320px;object-fit:cover;border-radius:var(--radius);margin-bottom:28px}.article[data-astro-cid-4sn4zg3r] .post-img{display:block;max-width:100%;height:auto;border-radius:var(--radius);margin:24px auto}.article[data-astro-cid-4sn4zg3r] .post-video{position:relative;margin:24px 0;aspect-ratio:16 / 9}.article[data-astro-cid-4sn4zg3r] .post-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:var(--radius)}.tagrow[data-astro-cid-4sn4zg3r]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:28px;padding-top:18px;border-top:1px solid var(--border)}.tagrow-label[data-astro-cid-4sn4zg3r]{font-size:13px;color:var(--text-soft)}.chip[data-astro-cid-4sn4zg3r].ghost{background:var(--surface-2);color:var(--text-muted)}@media(max-width:560px){.article[data-astro-cid-4sn4zg3r] h1[data-astro-cid-4sn4zg3r]{font-size:25px}.hero-cover[data-astro-cid-4sn4zg3r],.hero-img[data-astro-cid-4sn4zg3r]{height:180px}}
