.post-hero{background:#0b0e17;color:#fff;padding:48px 0 56px}.post-hero__inner{max-width:720px;margin:0 auto;padding:0 24px;display:flex;flex-direction:column;gap:16px}.post-hero__cat{background:#16a5de;color:#fff;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;width:-moz-max-content;width:max-content}.post-hero__title{margin:0;font-size:36px;font-weight:700;line-height:1.15;color:#fff}@media (min-width: 768px){.post-hero__title{font-size:48px}.post-hero{padding:64px 0 72px}}.post-hero .blog-meta,.post-hero .blog-meta time{color:#ffffffbf}.post-hero .blog-meta__author{color:#fff}.post-body{background:#fff;padding:56px 0 32px}@media (min-width: 768px){.post-body{padding:80px 0 48px}}.post-body__hero-img{max-width:1080px;margin:0 auto 56px;padding:0 24px}.post-body__hero-img picture{display:contents}.post-body__hero-img img{width:100%;aspect-ratio:16 / 9;-o-object-fit:cover;object-fit:cover;border-radius:12px;display:block}.post-body__container{max-width:720px;margin:0 auto;padding:0 24px}.post-body__prose{font-size:18px;line-height:1.7;color:#1a1a1a}.post-body__prose p{margin:0 0 24px}.post-body__prose .post-figure{margin:28px 0}.post-body__prose .post-figure img{display:block;width:100%;height:auto;border-radius:12px}.post-body__prose .post-figure figcaption{margin-top:8px;font-size:14px;line-height:1.5;color:#6b7280;text-align:center}.post-body__prose .post-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.post-body__prose .post-pair__half{position:relative;border-radius:12px;overflow:hidden}.post-body__prose .post-pair__tag{position:absolute;left:8px;top:8px;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:#0b0e17c7;color:#fff}.post-body__prose h2{margin:48px 0 16px;font-size:32px;font-weight:700;line-height:1.25;color:#0b0e17}.post-body__prose h3{margin:32px 0 12px;font-size:24px;font-weight:600;line-height:1.3;color:#0b0e17}.post-body__prose code{background:#f6f7f9;padding:2px 6px;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.92em}.post-body__prose pre{background:#f6f7f9;padding:16px;border-radius:8px;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:14px;line-height:1.55;margin:0 0 24px}.post-body__prose pre code{background:transparent;padding:0}.post-body__prose blockquote{margin:32px 0;padding:24px;border-left:4px solid #0B0E17;background:#fafafa;font-style:italic;color:#444}.post-body__prose blockquote p:last-child{margin-bottom:0}.post-body__prose ul,.post-body__prose ol{margin:0 0 24px;padding-left:24px}.post-body__prose li{margin-bottom:8px}.post-body__prose img{max-width:100%;border-radius:8px;margin:24px 0}.post-body__prose a{color:#0b0e17;border-bottom:1px solid currentColor;text-decoration:none}.post-body__prose table{width:100%;border-collapse:collapse;margin:0 0 24px;font-size:15px;display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.post-body__prose th,.post-body__prose td{border:1px solid #e5e5e5;padding:10px 14px;text-align:left}.post-body__prose th{background:#f6f7f9;font-weight:600}.post-body__prose a{overflow-wrap:anywhere}.post-body__share{margin-top:64px;padding-top:32px;border-top:1px solid #e5e5e5}.post-body__share p{margin:0 0 12px;font-size:13px;font-weight:600;color:#6b6b6b;text-transform:uppercase;letter-spacing:1px}.post-body__share ul{list-style:none;margin:0;padding:0;display:flex;gap:8px;flex-wrap:wrap}.post-body__share a,.post-body__share button{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:6px;border:1px solid #e5e5e5;background:#fff;font-size:13px;font-weight:600;color:#0b0e17;text-decoration:none;cursor:pointer;font-family:inherit}.post-body__share a:hover,.post-body__share button:hover{background:#f6f7f9}.post-toc{margin:0 0 28px;padding:18px 22px;background:#f6f7f9;border:1px solid #e5e5e5;border-radius:12px}.post-toc__label{margin:0 0 10px;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#16a5de}.post-toc ol{margin:0;padding:0 0 0 18px;display:flex;flex-direction:column;gap:6px;font-size:15px}.post-toc ol{gap:0}.post-toc ol a{display:inline-flex;align-items:center;min-height:44px}.post-toc a{color:inherit;text-decoration:none}.post-toc a:hover{color:#16a5de}
