@keyframes bl-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.ink-landing .bl{padding:56px 0 96px}.ink-landing .bl-hero{text-align:center;max-width:720px;margin:0 auto 40px;animation:.45s cubic-bezier(.2,.7,.2,1) both bl-rise}.ink-landing .bl-hero h1{letter-spacing:-.035em;margin:14px 0 0;font-size:clamp(34px,5vw,48px);font-weight:600;line-height:1.06}.ink-landing .bl-hero p{max-width:600px;color:var(--t2);margin:16px auto 0;font-size:16.5px;line-height:1.6}.ink-landing .bl-chips{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:22px;display:flex}.ink-landing .bl-chip{border:1px solid var(--line2);height:34px;color:var(--t2);border-radius:999px;align-items:center;padding:0 14px;font-size:13px;transition:color .2s,border-color .2s,background .2s;display:inline-flex}.ink-landing .bl-chip:hover{border-color:var(--line3);color:var(--text);background:#ffffff0a}.ink-landing .bl-lead,.ink-landing .bl-card{border:1px solid var(--line);background:linear-gradient(180deg,var(--card1),var(--card2));color:var(--text);border-radius:18px;flex-direction:column;gap:10px;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.ink-landing .bl-lead:hover,.ink-landing .bl-card:hover{border-color:var(--line3);transform:translateY(-2px);box-shadow:0 24px 48px -30px #000,inset 0 1px #ffffff0d}.ink-landing .bl-lead:active,.ink-landing .bl-card:active{transform:translateY(0)scale(.995)}.ink-landing .bl-lead:focus-visible,.ink-landing .bl-card:focus-visible{outline-offset:3px;outline:2px solid #fff6}.ink-landing .bl-lead{max-width:920px;margin:0 auto;padding:34px 36px;animation:.5s cubic-bezier(.2,.7,.2,1) 50ms both bl-rise}.ink-landing .bl-lead h2{letter-spacing:-.025em;margin:0;font-size:clamp(24px,3.2vw,32px);font-weight:600;line-height:1.15}.ink-landing .bl-lead p{max-width:680px;color:var(--t2);margin:0;font-size:16px;line-height:1.6}.ink-landing .bl-card{padding:22px 24px}.ink-landing .bl-card h3{letter-spacing:-.01em;margin:0;font-size:17px;font-weight:600;line-height:1.3}.ink-landing .bl-card p{color:var(--t2);margin:0;font-size:14px;line-height:1.55}.ink-landing .bl-card-meta{font-family:var(--mono);letter-spacing:.02em;color:var(--mut);font-size:11.5px}.ink-landing .bl-more{color:var(--text);align-items:center;gap:6px;margin-top:4px;font-size:13.5px;font-weight:500;display:inline-flex}.ink-landing .bl-more svg{width:14px;height:14px;transition:transform .2s}.ink-landing :is(.bl-lead,.bl-card):hover .bl-more svg{transform:translate(3px)}.ink-landing .bl-group{max-width:920px;margin:48px auto 0}.ink-landing .bl-group-h{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--silver);margin:0 0 14px;font-size:11px;font-weight:500}.ink-landing .bl-grid{grid-template-columns:1fr;gap:14px;display:grid}@media (min-width:720px){.ink-landing .bl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.ink-landing .bl-empty{border:1px dashed var(--line2);text-align:center;max-width:520px;color:var(--t2);border-radius:18px;flex-direction:column;align-items:center;gap:14px;margin:24px auto;padding:44px 28px;display:flex}.ink-landing .bl-empty h1{color:var(--text);margin:0;font-size:26px;font-weight:600}.ink-landing .bl-empty p{margin:0}.ink-landing .bl-post{grid-template-columns:minmax(0,1fr);justify-content:center;gap:48px;display:grid}@media (min-width:1100px){.ink-landing .bl-post{grid-template-columns:minmax(0,700px) 220px}}.ink-landing .bl-art{min-width:0;max-width:var(--read-max);width:100%;margin:0 auto;animation:.45s cubic-bezier(.2,.7,.2,1) both bl-rise}.ink-landing .bl-crumbs{color:var(--mut);align-items:center;gap:6px;font-size:13px;display:flex}.ink-landing .bl-crumbs a{color:var(--t2);transition:color .2s}.ink-landing .bl-crumbs a:hover{color:var(--text)}.ink-landing .bl-crumbs svg{width:13px;height:13px}.ink-landing .bl-art>h1{letter-spacing:-.03em;margin:18px 0 0;font-size:clamp(30px,4.4vw,42px);font-weight:600;line-height:1.1}.ink-landing .bl-lead-p{color:var(--t2);margin:16px 0 0;font-size:18px;line-height:1.6}.ink-landing .bl-meta{border-bottom:1px solid var(--line);color:var(--mut);flex-wrap:wrap;gap:6px 8px;margin:18px 0 0;padding-bottom:22px;font-size:13px;display:flex}.ink-landing .bl-checked{color:var(--t2)}.ink-landing .bl-toc-m{border:1px solid var(--line);background:#ffffff05;border-radius:12px;margin:22px 0 0}.ink-landing .bl-toc-m summary{cursor:pointer;padding:12px 16px;font-size:14px;font-weight:500}.ink-landing .bl-toc-m ul{margin:0;padding:0 16px 14px 34px;font-size:14px;line-height:1.9}.ink-landing .bl-toc-m a{color:var(--t2)}@media (min-width:1100px){.ink-landing .bl-toc-m{display:none}}.ink-landing .bl-toc{display:none}@media (min-width:1100px){.ink-landing .bl-toc{align-self:start;padding-top:120px;display:block;position:sticky;top:96px}}.ink-landing .bl-toc p{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--silver);margin:0 0 10px;font-size:11px}.ink-landing .bl-toc ul{border-left:1px solid var(--line);flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.ink-landing .bl-toc a{color:var(--mut);border-left:1px solid #0000;margin-left:-1px;padding:5px 0 5px 14px;font-size:13px;line-height:1.4;transition:color .2s,border-color .2s;display:block}.ink-landing .bl-toc a:hover{color:var(--text);border-left-color:var(--line3)}.ink-landing .bl-prose{color:#d9d9dc;font-size:17px;line-height:1.72}.ink-landing .bl-prose>:first-child{margin-top:28px}.ink-landing .bl-prose p{margin:18px 0}.ink-landing .bl-prose h2{letter-spacing:-.02em;color:var(--text);margin:48px 0 12px;scroll-margin-top:96px;font-size:25px;font-weight:600;line-height:1.25;position:relative}.ink-landing .bl-prose h3{color:var(--text);margin:32px 0 8px;scroll-margin-top:96px;font-size:19px;font-weight:600;position:relative}.ink-landing .bl-anchor{opacity:0;color:var(--mut);transition:opacity .15s;position:absolute;left:-22px}.ink-landing .bl-prose :is(h2,h3):hover .bl-anchor{opacity:1}.ink-landing .bl-prose a{color:var(--text);text-underline-offset:3px;-webkit-text-decoration:underline #ffffff4d;text-decoration:underline #ffffff4d;transition:text-decoration-color .2s}.ink-landing .bl-prose a:hover{-webkit-text-decoration-color:var(--text);text-decoration-color:var(--text)}.ink-landing .bl-prose strong{color:var(--text);font-weight:600}.ink-landing .bl-prose ul,.ink-landing .bl-prose ol{margin:18px 0;padding-left:22px}.ink-landing .bl-prose ul{list-style:outside}.ink-landing .bl-prose ol{list-style:decimal}.ink-landing .bl-prose li::marker{color:var(--mut)}.ink-landing .bl-sources ul{list-style:outside}.ink-landing .bl-prose li{margin:8px 0}.ink-landing .bl-prose code{border:1px solid var(--line);font-family:var(--mono);border-radius:5px;padding:1px 5px;font-size:.88em}.ink-landing .bl-prose blockquote{border:1px solid var(--line2);border-left:3px solid var(--silver);color:var(--text);background:#ffffff06;border-radius:4px 14px 14px 4px;margin:26px 0;padding:18px 22px;font-size:16px}.ink-landing .bl-prose blockquote p{margin:0}.ink-landing .bl-prose blockquote p+p{color:var(--t2);margin-top:10px;font-size:13.5px}.ink-landing .bl-prose table{border-collapse:collapse;width:100%;max-width:100%;margin:22px 0;font-size:15px;display:block;overflow-x:auto}.ink-landing .bl-prose thead th{vertical-align:bottom;border-bottom:1px solid var(--line2);letter-spacing:.04em;text-align:left;text-transform:uppercase;color:var(--mut);padding:10px 14px;font-size:12px;font-weight:500;line-height:1.35}.ink-landing .bl-prose td{border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;vertical-align:top;padding:10px 14px;line-height:1.45}.ink-landing .bl-prose td:first-child{white-space:nowrap}.ink-landing .bl-prose tbody tr{transition:background .15s}.ink-landing .bl-prose tbody tr:hover{background:#ffffff06}.ink-landing .bl-prose hr{border:0;border-top:1px solid var(--line);margin:40px 0}.ink-landing .bl-prose em{color:var(--t2)}.ink-landing .bl-cta{border:1px solid var(--line2);background:linear-gradient(180deg,var(--card1),var(--card2));border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 20px;margin:30px 0;padding:20px 22px;display:flex}.ink-landing .bl-cta p{color:var(--text);flex:320px;margin:0;font-size:15px;line-height:1.55}.ink-landing .bl-cta .btn-primary,.ink-landing .bl-end .btn-primary{transition:box-shadow .2s,transform .12s}.ink-landing .bl-cta .btn-primary:active,.ink-landing .bl-end .btn-primary:active{transform:scale(.98)}.ink-landing .bl-sources{border-top:1px solid var(--line);margin:44px 0 0;padding-top:22px}.ink-landing .bl-sources h2{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--silver);margin:0 0 10px;font-size:11px;font-weight:500}.ink-landing .bl-sources ul{margin:0;padding-left:18px;font-size:14px;line-height:1.8}.ink-landing .bl-sources a{color:var(--t2);word-break:break-word}.ink-landing .bl-sources a:hover{color:var(--text)}.ink-landing .bl-sources p{color:var(--mut);margin:8px 0 0;font-size:13px}.ink-landing .bl-end{border:1px solid var(--line2);background:radial-gradient(90% 120% at 50% 0%,#ffffff0f,transparent 60%),var(--card2);text-align:center;border-radius:20px;max-width:700px;margin:56px auto 0;padding:34px 32px}.ink-landing .bl-end h2{letter-spacing:-.02em;margin:0;font-size:24px;font-weight:600}.ink-landing .bl-end p{max-width:520px;color:var(--t2);margin:10px auto 18px;font-size:15px;line-height:1.6}.ink-landing .bl-related{margin:56px 0 0}.ink-landing .bl-related>h2{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--silver);margin:0 0 14px;font-size:11px;font-weight:500}@media (max-width:719px){.ink-landing .bl-prose table{font-size:13.5px}.ink-landing .bl-prose :is(td,thead th){padding:8px 9px}.ink-landing .bl-prose thead th{letter-spacing:.02em;white-space:normal;font-size:10.5px}.ink-landing .bl{padding:36px 0 72px}.ink-landing .bl-lead{padding:26px 22px}.ink-landing .bl-prose{font-size:16.5px}.ink-landing .bl-prose blockquote{padding:16px 18px}.ink-landing .bl-end{padding:28px 20px}.ink-landing .bl-anchor{display:none}}@media (prefers-reduced-motion:reduce){.ink-landing :is(.bl-hero,.bl-lead,.bl-art){animation:none}.ink-landing :is(.bl-lead,.bl-card,.bl-chip,.bl-more svg){transition:none}}@media (min-width:1441px){.ink-landing .bl-index .bl-group{max-width:none}.ink-landing .bl-index .bl-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}}
