.site .ab .ab-page{padding-block:clamp(28px,4vw,52px) clamp(40px,4.4vw,64px)}.site .ab .ab-page:before{content:"";z-index:-1;filter:blur(34px);pointer-events:none;background:radial-gradient(closest-side,#0b0e0d0d,#0b0e0d00 70%);width:1240px;height:820px;position:absolute;top:-380px;left:50%;transform:translate(-50%)}.site .ab .ab-page{isolation:isolate;position:relative;overflow-x:clip}.site .ab .ab-grid{grid-template-columns:minmax(0,1fr) clamp(272px,26vw,300px);grid-template-areas:"head side""main side";align-items:start;gap:0 clamp(48px,6vw,88px);display:grid}.site .ab .ab-head{grid-area:head;min-width:0}.site .ab .ab-main{grid-area:main;min-width:0;container-type:inline-size}.site .ab .ab-side{grid-area:side}@media (max-width:940px){.site .ab .ab-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"head""side""main"}.site .ab .ab-side{max-width:34rem;margin-top:30px}}.site .ab .ab-head .h1{font-size:clamp(2.4rem,1.2rem + 3.4vw,3.9rem)}.site .ab .ab-head .lead{max-width:36rem}.site .ab .ab-lede{border-top:1px solid var(--rule);letter-spacing:-.01em;max-width:40rem;color:var(--ink);text-wrap:pretty;margin-top:clamp(36px,4.4vw,56px);padding-top:clamp(28px,3vw,40px);font-size:clamp(1.2rem,1.08rem + .45vw,1.42rem);line-height:1.56}.site .ab .ab-lede a{color:inherit;text-underline-offset:5px;-webkit-text-decoration:underline #bfc6c2;text-decoration:underline #bfc6c2;text-decoration-thickness:1px}.site .ab .ab-lede a:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.site .ab .ab-sec{margin-top:clamp(56px,6vw,88px)}.site .ab .ab-sec .prose{max-width:40rem}.site .ab .ab-sec .prose>h2:first-child{margin-top:0}.site .ab .ab-fig{margin:28px 0 0}.site .ab .ab-cap{color:var(--ink-3);align-items:flex-start;gap:8px;margin-top:12px;font-size:13.5px;line-height:1.5;display:flex}.site .ab .ab-cap svg{width:14px;height:14px;color:var(--ink-4);flex:none;margin-top:3px}.site .ab .ab-k{font:500 11px/1.2 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.site .ab .ab-qs{border:1px solid var(--rule);box-shadow:var(--shadow-soft);background:#fff;border-radius:18px;overflow:hidden}.site .ab .ab-qs-h{border-bottom:1px solid var(--rule);background:linear-gradient(#fff,#fbfbfa);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px;padding:16px 22px;display:flex}.site .ab .ab-qs-h b{color:var(--ink);font-size:15px}.site .ab .ab-q{grid-template-columns:minmax(0,1fr);gap:10px 28px;padding:20px 22px;display:grid}.site .ab .ab-q+.ab-q{border-top:1px solid var(--rule-2)}@container (min-width:700px){.site .ab .ab-q{grid-template-columns:minmax(0,13.5rem) minmax(0,1fr)}}.site .ab .ab-q-t{align-items:flex-start;gap:12px;display:flex}.site .ab .ab-q-t .mk{margin-top:1px}.site .ab .ab-q-t b{color:var(--ink);text-wrap:balance;font-size:15.5px;font-weight:650;line-height:1.38}.site .ab .ab-q-a blockquote{color:var(--ink-2);text-wrap:pretty;margin:0;font-size:15px;line-height:1.62}.site .ab .ab-q-f{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-top:12px;display:flex}.site .ab .ab-where{color:var(--ink-3);flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:13.5px;display:inline-flex}.site .ab .ab-where .ab-k{color:var(--ink-4)}.site .ab .ab-q-f .inline-link{font-size:13.5px}.site .ab .ab-build{border:1px solid var(--rule);box-shadow:var(--shadow-soft);background:#fff;border-radius:18px;padding:20px 22px 10px}.site .ab .ab-build-h{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px;margin-bottom:12px;display:flex}.site .ab .ab-build-h b{color:var(--ink);font-size:15px}.site .ab .ab-rung{grid-template-columns:11rem minmax(0,1fr);align-items:center;gap:6px 16px;padding:7px 0;display:grid}.site .ab .ab-rung-n{font:700 13px/1.2 var(--f-mono);letter-spacing:.02em;color:var(--ink);align-items:flex-start;gap:9px;display:flex}.site .ab .ab-rung-n i{background:var(--tone);border-radius:3px;flex:none;width:9px;height:9px;margin-top:2px}.site .ab .ab-rung-n small{font:400 12px/1.3 var(--f-body);letter-spacing:0;color:var(--ink-3);margin-top:3px;display:block}.site .ab .ab-track{background:var(--paper-2);border-radius:999px;height:12px;position:relative;overflow:hidden}.site .ab .ab-track span{width:var(--w);background:var(--tone);transform-origin:0;border-radius:999px;position:absolute;inset:0 auto 0 0}@media (prefers-reduced-motion:no-preference){.site:not(.settled) .ab .ab-track span{animation:1s cubic-bezier(.2,.8,.2,1) both ab-grow;animation-delay:calc(var(--i) * 90ms + .2s)}}@keyframes ab-grow{0%{transform:scaleX(0)}}.site .ab .ab-cut{grid-template-columns:11rem minmax(0,1fr);gap:4px 16px;padding:4px 0 6px;display:grid}.site .ab .ab-cut ul{grid-column:2;gap:4px;margin:0;padding:0;list-style:none;display:grid}.site .ab .ab-cut li{color:var(--ink-2);align-items:baseline;gap:8px;font-size:13.5px;line-height:1.45;display:flex}.site .ab .ab-cut li:before{content:"−";width:12px;color:var(--loss);flex:none;font-weight:600}.site .ab .ab-tone-c1{--tone:var(--c1)}.site .ab .ab-tone-c2{--tone:var(--c2)}.site .ab .ab-tone-c3{--tone:var(--c3)}.site .ab .ab-tone-c4{--tone:var(--c4)}.site .ab .ab-tone-c5{--tone:var(--c5)}@container (max-width:560px){.site .ab .ab-rung,.site .ab .ab-cut{grid-template-columns:minmax(0,1fr)}.site .ab .ab-cut ul{grid-column:1;padding:2px 0 4px 18px}.site .ab .ab-rung{gap:8px}}.site .ab .ab-after{margin-top:28px}.site .ab .ab-left{max-width:40rem;margin-top:22px}.site .ab .ab-left b{margin-bottom:2px;display:block}.site .ab .ab-reach{grid-template-columns:minmax(0,1fr);gap:14px;margin-top:26px;display:grid}@container (min-width:700px){.site .ab .ab-reach{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}}.site .ab .ab-mail{border:1px solid var(--rule);box-shadow:var(--shadow-soft);background:#fff;border-radius:18px;flex-direction:column;gap:14px;padding:20px 22px;display:flex}.site .ab .ab-mail-a{font-family:var(--f-display);letter-spacing:-.02em;color:var(--ink);align-items:center;gap:12px;font-size:clamp(1.35rem,1.15rem + .6vw,1.6rem);font-weight:700;font-stretch:106%;text-decoration:none;display:inline-flex}.site .ab .ab-mail-a .gl{width:38px;height:38px}.site .ab .ab-mail-a:hover span{text-underline-offset:6px;text-decoration:underline;text-decoration-thickness:1.5px}.site .ab .ab-mail p{color:var(--ink-3);font-size:14.5px;line-height:1.55}.site .ab .ab-mail-links{border-top:1px solid var(--rule-2);flex-wrap:wrap;gap:8px 22px;margin-top:auto;padding-top:14px;display:flex}.site .ab .ab-mail-links .inline-link{font-size:14px}.site .ab .ab-co{border:1px solid var(--rule);background:var(--paper-2);border-radius:18px;padding:18px 22px 16px}.site .ab .ab-co dl{margin:10px 0 0}.site .ab .ab-co div{border-top:1px solid var(--rule);grid-template-columns:6.5rem minmax(0,1fr);gap:10px;padding:8px 0;display:grid}.site .ab .ab-co dt{font:500 10.5px/1.5 var(--f-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);padding-top:2px}.site .ab .ab-co dd{color:var(--ink);margin:0;font-size:14px;line-height:1.5}.site .ab .ab-co dd span{display:block}.site .ab .ab-co .inline-link{margin-top:10px;font-size:13.5px}.site .ab .ab-side{top:calc(var(--header-h) + 28px);position:sticky}@media (max-width:940px){.site .ab .ab-side{position:static}}.site .ab .ab-card{border:1px solid var(--rule);box-shadow:var(--shadow-obj);background:#fff;border-radius:20px;overflow:hidden}.site .ab .ab-id{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;padding:20px 20px 18px;display:grid}.site .ab .ab-mono{width:76px;height:88px;box-shadow:inset 0 0 0 1px var(--rule),inset 0 0 0 5px #fff,inset 0 0 0 6px var(--rule-2);background:linear-gradient(160deg,#fafbfa,#eceeeb);border-radius:14px;place-items:center;display:grid;position:relative}.site .ab .ab-mono span{font-family:var(--f-display);letter-spacing:-.04em;color:var(--ink);font-size:30px;font-weight:760;font-stretch:118%;line-height:1}.site .ab .ab-mono:after{content:"";background:var(--ink-4);opacity:.5;height:1px;position:absolute;bottom:13px;left:14px;right:14px}.site .ab .ab-id b{letter-spacing:-.01em;color:var(--ink);font-size:17px;font-weight:700;line-height:1.25;display:block}.site .ab .ab-id small{color:var(--ink-3);margin-top:3px;font-size:13.5px;line-height:1.4;display:block}.site .ab .ab-id em{font:500 10.5px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:6px;margin-top:8px;font-style:normal;display:inline-flex}.site .ab .ab-id em svg{width:12px;height:12px}.site .ab .ab-blk{border-top:1px solid var(--rule-2);padding:14px 20px 16px}.site .ab .ab-blk .ab-k{margin-bottom:10px;display:block}.site .ab .ab-topics{flex-wrap:wrap;gap:6px;display:flex}.site .ab .ab-topics a,.site .ab .ab-topics span{border:1px solid var(--rule);height:28px;color:var(--ink-2);background:#fff;border-radius:999px;align-items:center;padding:0 11px;font-size:13px;text-decoration:none;transition:border-color .15s,color .15s;display:inline-flex}.site .ab .ab-topics a:hover{border-color:var(--ink-4);color:var(--ink)}.site .ab .ab-wrote{margin:0;padding:0;list-style:none}.site .ab .ab-wrote a{color:var(--ink-2);grid-template-columns:3rem minmax(0,1fr) 14px;align-items:baseline;gap:10px;padding:7px 0;text-decoration:none;display:grid}.site .ab .ab-wrote li+li a{border-top:1px solid var(--rule-2)}.site .ab .ab-wrote b{font-family:var(--f-display);letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;font-size:19px;font-weight:720;font-stretch:106%}.site .ab .ab-wrote span{font-size:14px}.site .ab .ab-wrote svg{width:13px;height:13px;color:var(--ink-4);transition:transform .18s,color .18s}.site .ab .ab-wrote a:hover span{color:var(--ink)}.site .ab .ab-wrote a:hover svg{color:var(--ink);transform:translate(3px)}.site .ab .ab-card-foot{border-top:1px solid var(--rule-2);background:#fbfbfa;padding:12px 14px 14px;display:flex}.site .ab .ab-card-foot .btn{flex:1}.site .ab .ab-keep-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);align-items:start;gap:24px clamp(32px,5vw,72px);display:grid}@media (max-width:860px){.site .ab .ab-keep-grid{grid-template-columns:minmax(0,1fr)}}.site .ab .ab-keep-t{max-width:17rem;font-family:var(--f-display);letter-spacing:-.024em;color:var(--ink);text-wrap:balance;margin-top:12px;font-size:clamp(1.4rem,1.2rem + .6vw,1.7rem);font-weight:700;font-stretch:106%;line-height:1.12}.site .ab .ab-keep-list{border-top:1px solid var(--rule);margin:0;padding:0;list-style:none}.site .ab .ab-keep-list a{border-bottom:1px solid var(--rule);color:var(--ink-3);grid-template-columns:minmax(0,9rem) minmax(0,1fr) 18px;align-items:baseline;gap:4px 20px;padding:16px 2px;text-decoration:none;transition:background .15s;display:grid}.site .ab .ab-keep-list a:hover{background:#fafbfa}.site .ab .ab-keep-list b{color:var(--ink);font-size:15.5px;font-weight:650}.site .ab .ab-keep-list span{font-size:14.5px;line-height:1.5}.site .ab .ab-keep-list svg{width:14px;height:14px;color:var(--ink-4);transition:transform .18s,color .18s}.site .ab .ab-keep-list a:hover svg{color:var(--ink);transform:translate(3px)}@media (max-width:560px){.site .ab .ab-keep-list a{grid-template-columns:minmax(0,1fr) 18px}.site .ab .ab-keep-list span{grid-area:2/1}}.site .ab .ab-q-a p{color:var(--ink-2);text-wrap:pretty;margin:0;font-size:15px;line-height:1.62}.site .ab .ab-q-a p a{color:inherit;text-underline-offset:4px;-webkit-text-decoration:underline #bfc6c2;text-decoration:underline #bfc6c2;text-decoration-thickness:1px}.site .ab .ab-q-a p a:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.site .ab .ab-topics a,.site .ab .ab-topics span{height:auto;min-height:28px;padding-block:4px;line-height:1.35}.site .ab .ab-co dd a{color:inherit;text-underline-offset:4px;-webkit-text-decoration:underline #bfc6c2;text-decoration:underline #bfc6c2;text-decoration-thickness:1px}.site .ab .ab-co dd a:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}
