.blog-page{background:var(--bg-subtle);--b-1: 8px;--b-2: 16px;--b-3: 24px;--b-4: 40px;--b-5: 64px;--b-6: 96px;--meta-h: 16px;--col: 680px;--t-h1: 44px;--t-h2: 24px;--t-body: 16px;--t-mono: 14px}.blog-page .nav-links a,.blog-page .mobile-menu a:not(.btn),.blog-page .legal__footer,.blog-page .btn{font-size:var(--t-body)}.blog-page .eyebrow{font-size:var(--t-mono)}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.blog{padding:calc(var(--header-h) + var(--b-4)) var(--gutter) var(--b-6)}.blog__inner{max-width:var(--content-max);margin-inline:auto}.blog__intro{max-width:640px;padding-top:var(--b-3)}.blog__intro .eyebrow{justify-content:flex-start}.blog__title{font-weight:var(--weight-semibold);font-size:var(--t-h1);line-height:1.15;letter-spacing:var(--track-h3);color:var(--text-primary);margin:var(--b-2) 0 0}.blog__lede{font-family:var(--font-body);font-size:var(--t-body);line-height:1.6;color:var(--text-secondary);margin:var(--b-2) 0 0}.blog-grid{list-style:none;margin:var(--b-5) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--b-4) var(--b-3)}.blog-card{display:flex;flex-direction:column;height:100%;background:var(--surface-default);border:1px solid var(--border-default);border-radius:var(--radius-2xl);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.blog-card:hover,.blog-card:focus-visible{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--border-strong)}.blog-card:focus-visible{outline:2px solid var(--border-focus);outline-offset:3px}.blog-card__media{position:relative;aspect-ratio:16 / 10;background:var(--surface-muted);overflow:hidden}.blog-card__img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block;transition:transform .5s cubic-bezier(.22,1,.36,1)}.blog-card:hover .blog-card__img{transform:scale(1.04)}.blog-card__body{display:flex;flex-direction:column;gap:var(--b-1);padding:var(--b-3);flex:1}.blog-meta{display:flex;flex-wrap:wrap;align-items:center;margin:0;font-family:var(--font-mono);font-weight:500;font-size:12px;letter-spacing:.02em;color:var(--text-muted)}.blog-meta__dot{padding:0 var(--b-1);color:var(--text-tertiary)}.blog-meta a{color:inherit;text-decoration:underline;text-underline-offset:2px;transition:color .2s ease}.blog-meta a:hover,.blog-meta a:focus-visible{color:var(--text-primary)}.blog-card__title{font-weight:var(--weight-semibold);font-size:var(--t-h2);line-height:1.3;color:var(--text-primary);margin:0}.blog-card__excerpt{font-family:var(--font-body);font-size:var(--t-body);line-height:1.6;color:var(--text-secondary);margin:0}.post-nav{position:relative;max-width:var(--content-max);height:0;margin-inline:auto}.post__back{position:absolute;top:0;left:0;display:inline-flex;align-items:center;gap:4px;height:var(--meta-h);font-family:var(--font-heading);font-weight:var(--weight-medium);font-size:var(--t-body);color:var(--text-secondary);transition:color .2s ease}.post__back svg{width:32px;height:32px;margin-left:-12px}.post__back:hover,.post__back:focus-visible{color:var(--brand-mark)}.post__lede{text-wrap:pretty}.post__title{margin:0;font-weight:var(--weight-semibold);font-size:var(--t-h1);line-height:1.15;letter-spacing:var(--track-h3);color:var(--text-primary)}.post__lede{margin:var(--b-2) 0 0;font-family:var(--font-body);font-size:var(--t-body);line-height:1.6;color:var(--text-secondary)}.post .blog-meta{margin:0 0 var(--b-2);line-height:var(--meta-h)}.post__cover{margin:var(--b-3) 0 0;aspect-ratio:16 / 10;border-radius:var(--radius-2xl);overflow:hidden;background:var(--surface-muted)}.post__cover img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block}.post__credit{margin:var(--b-1) 0 0;font-family:var(--font-mono);font-size:var(--t-mono);line-height:1.5;letter-spacing:.02em;color:var(--text-muted)}.post-layout{position:relative;max-width:var(--col);margin:0 auto}.toc{position:absolute;top:0;bottom:0;left:calc(100% + clamp(40px,16.667vw - 160px,96px));width:180px}.toc__details{position:sticky;top:calc(var(--header-h) + var(--b-4))}.toc__title{display:block;margin:0 0 var(--b-2);padding-left:16px;font-family:var(--font-mono);font-weight:500;font-size:var(--t-mono);line-height:1.4;letter-spacing:.02em;color:var(--text-muted);list-style:none;cursor:default;pointer-events:none}.toc__title::-webkit-details-marker{display:none}.toc__list,.toc__list ol{list-style:none;margin:0;padding:0}.toc__list{border-left:2px solid var(--border-default)}.toc__list a{display:block;margin-left:-2px;padding:6px 0 6px 14px;border-left:2px solid transparent;font-family:var(--font-heading);font-weight:var(--weight-medium);font-size:var(--t-body);line-height:1.35;color:var(--text-secondary);transition:color .2s ease,border-color .2s ease}.toc__list ol a{padding-left:28px;font-size:var(--t-body);font-weight:var(--weight-regular)}.toc__list a:hover,.toc__list a:focus-visible{color:var(--text-primary)}.toc__list a.is-active,.toc__list ol a.is-active{color:var(--brand-mark);font-weight:var(--weight-semibold);border-left-color:var(--brand-mark)}.post{min-width:0}.post__body{margin-top:var(--b-4)}.post__body p,.post__body li{font-family:var(--font-body);font-size:var(--t-body);line-height:1.7;color:var(--text-secondary)}.post__body p{margin:0 0 var(--b-3)}.post__body strong{color:var(--text-primary)}.post__body a{color:var(--text-accent);text-decoration:underline;text-underline-offset:2px}.post__body em{color:var(--text-primary)}.post__body h2{margin:var(--b-5) 0 var(--b-3);padding-top:var(--b-3);border-top:1px solid var(--border-default);font-weight:var(--weight-semibold);font-size:var(--t-h2);line-height:1.3;letter-spacing:var(--track-h5);color:var(--text-primary);scroll-margin-top:calc(var(--header-h) + var(--b-3))}.post__body{counter-reset:chapter}.post__body h2:before{counter-increment:chapter;content:counter(chapter,decimal-leading-zero);content:counter(chapter,decimal-leading-zero) / "";display:block;margin-bottom:var(--b-1);font-family:var(--font-mono);font-weight:500;font-size:var(--t-mono);letter-spacing:.06em;color:var(--lime-900)}.post__callout{margin:0;padding:var(--b-3);background:var(--lime-50);border:1px solid var(--lime-200);border-radius:var(--radius-xl)}.post__body .post__callout-title{margin:0 0 var(--b-2);font-family:var(--font-mono);font-weight:500;font-size:var(--t-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--lime-900)}.post__callout ul{list-style:none;margin:0;padding:0}.post__callout li{position:relative;padding-left:32px;color:var(--text-primary)}.post__callout li+li{margin-top:var(--b-1)}.post__callout li:before{content:"\2713";position:absolute;left:0;top:5px;width:20px;height:20px;border-radius:50%;background:var(--lime-300);color:var(--text-on-accent);font-family:var(--font-heading);font-weight:var(--weight-bold);font-size:var(--t-mono);line-height:20px;text-align:center}.levels{list-style:none;margin:var(--b-3) 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--b-2)}.level{position:relative;display:flex;flex-direction:column;gap:var(--b-1);padding:var(--b-3) var(--b-2) var(--b-3);background:var(--surface-default);border:1px solid var(--border-default);border-radius:var(--radius-xl)}.post__body .level strong{font-family:var(--font-heading);font-weight:var(--weight-semibold);font-size:var(--t-body);line-height:1.5}.post__body .level span:last-child{font-size:var(--t-body);line-height:1.55}.level__n{display:grid;place-items:center;width:32px;height:32px;margin-bottom:var(--b-1);border-radius:50%;background:var(--surface-inverse);color:var(--brand-accent);font-family:var(--font-mono);font-weight:500;font-size:var(--t-mono)}.level--key{background:var(--surface-inverse);border-color:var(--surface-inverse)}.post__body .level--key strong{color:var(--text-inverse)}.post__body .level--key span:last-child{color:var(--text-inverse-muted)}.level--key .level__n{background:var(--brand-accent);color:var(--text-on-accent)}.level__flag{position:absolute;top:var(--b-3);right:var(--b-2);max-width:120px;text-align:right;line-height:1.35;font-family:var(--font-mono);font-weight:500;font-size:var(--t-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--brand-accent-on-dark)}.techniques{list-style:none;margin:var(--b-3) 0 0;padding:0;counter-reset:tech;border-bottom:1px solid var(--border-default)}.techniques li{counter-increment:tech;position:relative;margin:0;padding:var(--b-3) 0 var(--b-3) 56px;border-top:1px solid var(--border-default)}.techniques li:before{content:counter(tech);position:absolute;left:0;top:var(--b-3);display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--surface-inverse);color:var(--brand-accent);font-family:var(--font-mono);font-weight:500;font-size:var(--t-mono)}.post__body .techniques strong{display:block;margin-bottom:4px;font-family:var(--font-heading);font-weight:var(--weight-medium);font-size:var(--t-body);line-height:1.5}.post__body .techniques+p{margin-top:var(--b-3)}.chain{display:flex;flex-wrap:wrap;gap:var(--b-1);margin-top:var(--b-2)}.chain span{padding:2px 10px;border-radius:var(--radius-full);background:var(--lime-100);color:var(--lime-900);font-family:var(--font-mono);font-weight:500;font-size:var(--t-mono);line-height:1.6;letter-spacing:.02em}.chain .is-join{background:var(--surface-inverse);color:var(--brand-accent)}.counts{display:grid;gap:var(--b-1);margin-top:var(--b-2)}.counts>span{display:grid;grid-template-columns:112px 1fr;gap:var(--b-2);align-items:baseline;font-family:var(--font-mono);font-weight:500;font-size:var(--t-mono);line-height:1.6;color:var(--text-primary)}.counts .count__label{color:var(--lime-900)}.post__figure{margin:var(--b-4) 0}.post__figure img{width:100%;height:auto;display:block;border-radius:var(--radius-xl);background:var(--surface-muted)}.post__figure--sheet img{padding:var(--b-3) var(--b-2);background:var(--surface-default);border:1px solid var(--border-default)}.post__figure figcaption{margin-top:var(--b-1);font-family:var(--font-mono);font-size:var(--t-mono);line-height:1.5;letter-spacing:.02em;color:var(--text-muted)}.session-bar{display:flex;gap:4px;margin:var(--b-3) 0 var(--b-1)}.session-bar span{flex:var(--m) 1 0;display:grid;place-items:center;height:44px;border-radius:var(--radius-md);background:var(--lime-200);color:var(--lime-900);font-family:var(--font-mono);font-weight:500;font-size:var(--t-mono);white-space:nowrap}.session-bar .is-main{background:var(--surface-inverse);color:var(--brand-accent)}.post__body .session-note{margin:0 0 var(--b-3);font-family:var(--font-mono);font-size:var(--t-mono);line-height:1.5;letter-spacing:.02em;color:var(--text-muted)}.steps{list-style:none;margin:0 0 var(--b-3);padding:0}.steps li{display:grid;grid-template-columns:72px 1fr;align-items:baseline;gap:var(--b-2);padding:12px 0;border-top:1px solid var(--border-default)}.steps li:last-child{border-bottom:1px solid var(--border-default)}.steps .step__min{font-family:var(--font-mono);font-weight:500;font-size:var(--t-mono);letter-spacing:.02em;color:var(--lime-900)}.post__sources{margin-top:var(--b-5);padding-top:var(--b-3);border-top:1px solid var(--border-default)}.post__sources summary{cursor:pointer;font-family:var(--font-heading);font-weight:var(--weight-medium);font-size:var(--t-body);color:var(--text-primary)}.post__sources ul{margin:var(--b-2) 0 0;padding-left:20px}.post__sources li{font-size:var(--t-body);line-height:1.6}.post__sources li+li{margin-top:var(--b-1)}.post__author{margin-top:var(--b-5);padding-top:var(--b-3);border-top:1px solid var(--border-default)}.post__author p{margin:0;font-family:var(--font-body);font-size:var(--t-body);line-height:1.7;color:var(--text-secondary)}.post__author strong{color:var(--text-primary)}.post__author a{color:var(--text-accent);text-decoration:underline;text-underline-offset:2px}.post__author+.post__cta{margin-top:var(--b-4)}.post__cta{margin-top:var(--b-5);padding:var(--b-4);background:var(--surface-inverse);border-radius:var(--radius-3xl);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--b-2) var(--b-4)}.post__cta p{flex:1 1 260px;margin:0;font-family:var(--font-heading);font-weight:var(--weight-medium);font-size:var(--t-h2);line-height:1.3;color:var(--text-inverse)}@media(max-width:1099px){.post-nav{max-width:var(--col);height:auto;margin-bottom:var(--b-3)}.post__back{position:static;height:auto}}@media(max-width:1199px){.toc{position:static;width:auto;margin-top:var(--b-4)}.toc__details{position:static;background:var(--surface-default);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:14px 18px}.toc__title{margin:0;padding-left:0;cursor:pointer;pointer-events:auto;display:flex;align-items:center;justify-content:space-between}.toc__title:after{content:"+";font-size:var(--t-body);line-height:1}.toc__details[open] .toc__title:after{content:"\2212"}.toc__details[open] .toc__title{margin-bottom:12px}}@media(max-width:900px){.blog{padding:calc(var(--header-h-mobile) + var(--b-3)) var(--gutter-mobile) var(--b-5)}.post__body h2{scroll-margin-top:calc(var(--header-h-mobile) + var(--b-2))}}@media(max-width:640px){.levels{grid-template-columns:1fr}}@media(max-width:560px){.blog__title,.post__title{font-size:32px}.blog-grid{grid-template-columns:1fr;margin-top:var(--b-4)}.post .blog-meta>.blog-meta__dot:nth-child(4){display:none}.post .blog-meta>span:nth-child(5){flex-basis:100%}.post__body h2{margin-top:var(--b-5)}.techniques li{padding-left:48px}.techniques li:before{width:32px;height:32px}.counts>span{grid-template-columns:1fr;gap:0}.steps li{grid-template-columns:60px 1fr}.post__cta{padding:var(--b-3)}}@media(prefers-reduced-motion:reduce){.blog-card,.blog-card__img{transition:none}.blog-card:hover,.blog-card:focus-visible{transform:none}.blog-card:hover .blog-card__img{transform:none}}
