@layer components{.post-fig{margin:2.2rem 0}.post-fig img{border-radius:var(--r);width:100%;box-shadow:var(--shadow-sm);background:var(--bg-soft);display:block}.post-fig figcaption{color:var(--blue);text-align:center;margin-top:.75rem;font-size:.85rem;font-weight:700}.post-share{flex-wrap:wrap;align-items:center;gap:.7rem;margin-top:1.7rem;display:flex}.post-share .lbl{font-size:var(--label-sm);text-transform:uppercase;letter-spacing:var(--track);color:var(--muted);font-weight:800}.post-share a{border:1px solid var(--line);width:40px;height:40px;color:var(--muted);border-radius:11px;place-items:center;transition:transform .18s,border-color .18s,color .18s;display:grid}.post-share a:hover{border-color:var(--blue);color:var(--blue)}.post-share svg{fill:currentColor;width:18px;height:18px}.post-share a[href^=mailto\:] svg{fill:none;stroke:currentColor}@media (hover:hover){.post-share a:hover{transform:translateY(-2px)}}.post-related{border-top:1px solid var(--line);margin-top:3.4rem;padding-top:2.4rem}.post-related .sec-label{margin-bottom:1.5rem}.rel-grid{grid-template-columns:repeat(3,1fr);gap:1.4rem;display:grid}.rel-card{border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;transition:transform .25s,box-shadow .25s;display:flex;overflow:hidden}.rel-card:hover{box-shadow:var(--shadow)}.rel-card h3{color:var(--blue);letter-spacing:-.01em;margin:.4rem 0 0;font-size:.98rem;font-weight:700;line-height:1.3}.rel-card .rc{flex-direction:column;flex:1;padding:1.1rem 1.2rem 1.35rem;display:flex}.rel-card .pdate{font-size:var(--label-sm);letter-spacing:.06em}.rel-ph{aspect-ratio:16/10;background:linear-gradient(135deg,#e7f0ff,var(--green-tint));place-items:center;display:grid;position:relative;overflow:hidden}.rel-ph:after{content:"";background:radial-gradient(60% 80% at 82% 12%,#71c53a47,#0000 60%),radial-gradient(70% 75% at 8% 92%,#2563eb42,#0000 60%);position:absolute;inset:0}.rel-ph img{object-fit:cover;z-index:0;width:100%;height:100%;display:block;position:absolute;inset:0}.rel-ph.has-img{background:var(--surface-media)}.rel-ph.has-img:after{background:linear-gradient(#0b122200 45%,#0b12226b)}.rel-ph .cat-badge{letter-spacing:.1em;border-radius:6px;padding:.28rem .5rem;font-size:.6rem;top:.6rem;left:.6rem}@media (hover:hover){.rel-card:hover{transform:translateY(-4px)}}@media (width<=760px){.rel-grid{grid-template-columns:1fr}}.post-nav{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:1rem;margin-top:3rem;padding-top:2.2rem;display:grid}.post-nav .pn-item{border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;gap:.45rem;padding:1.1rem 1.3rem;transition:transform .22s,box-shadow .22s,border-color .22s;display:flex}.post-nav .pn-item:hover{box-shadow:var(--shadow);border-color:var(--blue)}.post-nav .pn-item:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.post-nav .pn-dir{font-size:var(--label-sm);text-transform:uppercase;letter-spacing:var(--track);color:var(--blue);font-weight:800}.post-nav .pn-title{color:var(--ink);letter-spacing:-.01em;font-size:.98rem;font-weight:700;line-height:1.32}.post-nav .pn-next{text-align:right;grid-column:2}@media (hover:hover){.post-nav .pn-item:hover{transform:translateY(-3px)}}@media (width<=640px){.post-nav{grid-template-columns:1fr;gap:.7rem;margin-top:2.4rem}.post-nav .pn-next{text-align:left;grid-column:1}}}@layer pages{.post-main{padding:clamp(2rem,4vw,3.2rem) 0 clamp(3.5rem,7vw,5.5rem)}.post-inner{max-width:820px;margin:0 auto}.post-back{color:var(--muted);align-items:center;gap:.45rem;margin-bottom:1.8rem;font-size:.85rem;font-weight:700;transition:color .15s;display:inline-flex}.post-back:hover{color:var(--blue)}.post-cat{letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--blue);background:var(--blue-tint);border-radius:8px;padding:.35rem .7rem;font-size:.66rem;font-weight:800;display:inline-block}.post-head h1{color:var(--blue);letter-spacing:-.03em;margin:1rem 0;font-size:clamp(2rem,4.5vw,3.1rem);line-height:1.08}.post-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.55rem;font-size:.92rem;font-weight:600;display:flex}.post-meta .post-author{color:var(--ink);font-weight:700}.post-meta .dot{opacity:.45}.post-hero{margin:2.2rem 0}.post-hero img{aspect-ratio:3/2;object-fit:cover;border-radius:var(--r-lg);width:100%;box-shadow:var(--shadow);background:var(--bg-soft);display:block}.post-hero figcaption{color:var(--muted);text-align:center;margin-top:.75rem;font-size:.85rem;font-style:italic;font-weight:600}.post-body{color:var(--ink-2);font-size:1.08rem;line-height:1.78}.post-body p{margin:0 0 1.35rem}.post-body strong{color:var(--ink);font-weight:700}.post-body em{font-style:italic}.post-body h2{color:var(--ink);letter-spacing:-.02em;margin:2.4rem 0 1rem;font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.22}.post-body h3{color:var(--ink);letter-spacing:-.015em;margin:2.1rem 0 .9rem;font-size:clamp(1.15rem,2vw,1.4rem);line-height:1.25}.post-body ul{flex-direction:column;gap:.55rem;margin:0 0 1.35rem;padding:0;list-style:none;display:flex}.post-body ul li{color:var(--ink-2);padding-left:1.5rem;position:relative}.post-body ul li:before{content:"";background:var(--grad);border-radius:50%;width:8px;height:8px;position:absolute;top:.62em;left:0}.post-body ol{flex-direction:column;gap:.55rem;margin:0 0 1.35rem;padding-left:1.3rem;display:flex}.post-body ol li{color:var(--ink-2);padding-left:.3rem}.post-body ol li::marker{color:var(--blue);font-weight:800}.post-body blockquote{border-left:4px solid var(--green);background:var(--bg-soft);border-radius:0 var(--r) var(--r) 0;color:var(--ink);margin:2rem 0;padding:1.3rem 1.6rem;font-weight:600;line-height:1.6}.post-credit{color:var(--muted);margin-top:2.2rem;font-size:.95rem;font-style:italic}.post-cta{border-radius:var(--r);background:var(--grad);color:#fff;letter-spacing:-.01em;box-shadow:var(--shadow-sm);margin:2.6rem 0 .4rem;padding:1.5rem 1.8rem;font-size:1.15rem;font-weight:800}.post-tags{border-top:1px solid var(--line);flex-wrap:wrap;gap:.5rem;margin-top:2.6rem;padding-top:1.9rem;display:flex}.post-tags .tag-mini{text-transform:none;letter-spacing:.01em;color:var(--muted);background:var(--bg-soft);font-weight:700}}
