.blog-surface{--bg: #fbf7ec;--ink: #1f2d46;--muted: #4c5a70;--accent: #c93f76;--accent-ink: #ffffff;--note: #0a6f7a;--blog-rule: rgba(31, 45, 70, .24);color:var(--ink);background:var(--bg);font-family:Aptos,Segoe UI,ui-sans-serif,system-ui,sans-serif}.blog-page{min-height:70vh}.blog-shell{width:min(1160px,calc(100% - clamp(32px,6vw,88px)));margin-inline:auto}.blog-surface :where(a,button,input):focus-visible{outline:3px solid var(--note);outline-offset:4px}.blog-skip-link{position:fixed;top:8px;left:8px;z-index:100;padding:12px 20px;border-radius:8px;background:#fff;transform:translateY(-200%)}.blog-skip-link:focus{transform:none}.blog-intro{padding-block:clamp(48px,8vw,100px) 32px}.blog-intro h1{margin:0;font-size:clamp(3rem,8vw,6rem);font-weight:850;line-height:1;letter-spacing:-.035em}.blog-index-list{padding-block:24px clamp(64px,8vw,100px)}.blog-index-list ul{margin:0;padding:0;list-style:none;border-top:1px solid var(--blog-rule)}.blog-index-list li{border-bottom:1px solid var(--blog-rule)}.blog-index-list a{display:block;padding-block:clamp(28px,5vw,56px);color:var(--ink);font-size:clamp(1.75rem,4vw,3.4rem);font-weight:700;line-height:1.12;letter-spacing:-.025em;text-decoration:none;overflow-wrap:anywhere}.blog-index-list a:hover{color:var(--note);text-decoration:underline;text-underline-offset:.15em}.blog-empty{margin:0;color:var(--muted);font-size:1.15rem}.blog-article{display:grid;grid-template-columns:minmax(160px,220px) minmax(0,720px);justify-content:start;column-gap:clamp(32px,6vw,80px);padding-block:clamp(48px,7vw,88px)}.blog-prose{grid-column:2;grid-row:1;min-width:0;font-size:clamp(1.04rem,1rem + .2vw,1.15rem);line-height:1.8;overflow-wrap:anywhere}.blog-prose>:first-child{margin-top:0}.blog-prose h1{margin-bottom:32px;color:var(--ink);font-size:clamp(2.5rem,5.6vw,4.6rem);font-weight:850;line-height:1.02;letter-spacing:-.03em;text-wrap:balance}.blog-prose h2{margin-block:2em .65em;color:var(--ink);font-size:clamp(1.8rem,3vw,2.5rem);font-weight:800;line-height:1.15;letter-spacing:-.025em}.blog-prose h3{margin-block:1.65em .65em;font-size:1.4rem;font-weight:800;line-height:1.3}.blog-prose :where(h1,h2,h3,h4,h5,h6){scroll-margin-top:130px}.blog-prose :where(p,ul,ol,blockquote,pre,table){margin-block:1.25em}.blog-prose :where(ul,ol){padding-left:1.5em}.blog-prose li{margin-block:.4em}.blog-prose a{color:var(--note);font-weight:700;text-decoration:underline;text-underline-offset:.18em}.blog-prose a:hover{color:var(--accent)}.blog-prose blockquote{margin-inline:0;padding:8px 24px;border-left:4px solid var(--accent);background:#fff}.blog-prose :where(img,video){max-width:100%;height:auto;border-radius:16px}.blog-prose pre{overflow-x:auto;padding:16px;background:#fff;border-radius:8px}.blog-prose code{font-size:.9em}.blog-prose table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.blog-prose :where(th,td){padding:8px 12px;border:1px solid var(--blog-rule)}.blog-prose hr{margin-block:2em;border:0;border-top:1px solid var(--blog-rule)}.blog-contents{grid-column:1;grid-row:1;position:sticky;top:120px;align-self:start;max-height:calc(100dvh - 144px);overflow-y:auto}.blog-contents p{margin:0 0 16px;font-size:.875rem;font-weight:800}.blog-contents ol{margin:0;padding:0;list-style:none;border-top:1px solid var(--blog-rule)}.blog-contents li{border-bottom:1px solid var(--blog-rule)}.blog-contents a{display:flex;align-items:center;min-height:44px;padding-block:10px;font-size:.875rem;line-height:1.5;text-decoration:none}.blog-contents a:hover{color:var(--note);text-decoration:underline}.blog-afterword{grid-column:2;grid-row:2;min-width:0;margin-top:40px}.blog-author{display:grid;grid-template-columns:128px minmax(0,1fr);align-items:start;gap:24px;padding:clamp(20px,3vw,32px);border-radius:16px;background:#fff}.blog-author img{width:128px;height:160px;object-fit:cover;border-radius:12px}.blog-author p{margin:0 0 12px;color:var(--muted);font-size:.9375rem;line-height:1.65}.blog-author .blog-byline{color:var(--ink);font-size:1.125rem}.blog-byline a{font-weight:800;text-underline-offset:.15em}.blog-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-weight:800;text-decoration:none}.blog-author ul{display:flex;flex-wrap:wrap;gap:0 16px;margin:12px 0 0;padding:0;list-style:none}.blog-author li{min-width:0;max-width:100%}.blog-author li a{display:flex;align-items:center;min-height:44px;color:var(--note);font-size:.9375rem;overflow-wrap:anywhere}.blog-recommendations{padding-block:clamp(44px,7.5vw,92px)}.blog-recommendations-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px}.blog-recommendations h2{margin:0;font-size:clamp(2.2rem,5vw,3.5rem);font-weight:850;line-height:1.05;letter-spacing:-.025em}.blog-all-link{display:inline-flex;align-items:center;min-height:44px;flex-shrink:0;color:var(--note);font-weight:800;text-underline-offset:.2em}.blog-recommendation-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:0;padding:0;list-style:none}.blog-recommendation-list li{display:flex;min-width:0}.blog-recommendation-list a{display:flex;flex-direction:column;width:100%;padding-top:24px;border-top:1px solid var(--blog-rule);text-decoration:none;overflow-wrap:anywhere}.blog-recommendation-list h3{margin:0 0 16px;color:var(--ink);font-size:clamp(1.4rem,2.2vw,1.85rem);font-weight:800;line-height:1.2;letter-spacing:-.025em}.blog-recommendation-list p{margin:0 0 24px;color:var(--muted);font-size:1rem;line-height:1.7}.blog-read-more{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:44px;margin-top:auto;color:var(--note);font-weight:800}.blog-recommendation-list a:hover h3{color:var(--note);text-decoration:underline;text-underline-offset:.15em}@media(max-width:832px){.blog-article{display:block}.blog-prose,.blog-afterword{max-width:720px;margin-inline:auto}.blog-contents{display:none}.blog-recommendation-list{grid-template-columns:1fr}}@media(max-width:560px){.blog-author{grid-template-columns:1fr}.blog-author img{width:96px;height:120px}.blog-recommendations-heading{flex-direction:column;align-items:flex-start;gap:12px}}
