.post-state{padding:3rem 0;color:var(--subtext);font-size:.9rem;text-align:center}#post-content{width:min(100%,960px);max-width:960px;margin:0 auto}.post-back{display:inline-flex;align-items:center;gap:.3rem;color:var(--subtext);font-size:.83rem;background:none;border:none;cursor:pointer;padding:0;margin-bottom:1rem;font-family:inherit;transition:color .12s}.post-back:hover{color:var(--text)}.post-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:0 2px 16px #0000000f}.post-hero{width:100%;height:320px;object-fit:cover;display:block}.post-no-hero{width:100%;height:160px;background:linear-gradient(135deg,#4f6ef71a,#4f6ef708);display:block}.post-card-body{padding:1.75rem 2rem 2.25rem}.post-cats{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.8rem}.post-cat{padding:.2rem .6rem;background:#eef2ff;color:var(--accent);border-radius:9999px;font-size:.72rem;font-weight:600;letter-spacing:.02em}.post-title{font-size:1.9rem;font-weight:800;color:var(--text);line-height:1.15;margin:0 0 1.1rem}.post-meta{display:flex;align-items:center;gap:.55rem;padding:.7rem 1rem;background:var(--surface2);border:1px solid var(--border);border-radius:8px;margin-bottom:1.5rem;font-size:.83rem;color:var(--subtext)}.post-desc{max-width:72ch;margin:0 auto 2.25rem;color:var(--text);font-size:1.08rem;line-height:1.82}.post-desc>*{margin:0}.post-desc>*+*{margin-top:1.35rem}.post-desc .post-lead{color:var(--text);font-size:1.2rem;line-height:1.7}.post-desc h2{margin-top:2.4rem;color:var(--text);font-size:clamp(1.35rem,2.5vw,1.75rem);line-height:1.2;letter-spacing:-.025em}.post-desc h3{color:var(--text);font-size:1.15rem;line-height:1.3}.post-desc ul,.post-desc ol{padding-left:1.35rem}.post-desc li+li{margin-top:.55rem}.post-desc a{color:var(--accent);font-weight:650}.post-desc code{padding:.12rem .3rem;background:var(--surface2);border:1px solid var(--border);font-size:.9em}.post-desc pre{position:relative;overflow:auto;margin:1.6rem 0;padding:2.8rem 1.15rem 1.15rem;border:1px solid #55313c;border-radius:.7rem;background:#24151b;color:#fff7f2;box-shadow:0 10px 22px #24151b24;font-size:.88rem;line-height:1.65;tab-size:2;white-space:pre}.post-desc pre:before{position:absolute;top:.7rem;left:1.15rem;content:"Code snippet";color:#f4b9a8;font:700 .68rem/1.2 ui-sans-serif,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase}.post-desc pre:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.post-desc pre code{display:block;padding:0;border:0;background:transparent;color:inherit;font:inherit;white-space:inherit}.post-callout,.post-insight{padding:1rem 1.15rem;border:1px solid var(--border);background:#fffaf6}.post-callout{border-top:3px solid var(--brand-coral)}.post-callout p{margin-top:.35rem}.post-insight{border-top:3px solid var(--accent);color:var(--portal-article-ink);font-style:italic}.post-link-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.65rem 1.4rem;background:var(--accent);color:#fff;border-radius:8px;font-size:.88rem;font-weight:600;text-decoration:none;transition:opacity .12s}.post-card{max-width:860px;margin:0 auto;overflow:hidden;background:var(--surface)}.post-hero{max-height:440px;object-fit:cover}.post-card-body{padding:clamp(1.25rem,4vw,2.75rem)}.post-title{font-size:clamp(1.8rem,4vw,3rem);line-height:1.08;letter-spacing:-.04em}.post-desc{max-width:68ch;font-size:1.05rem;line-height:1.8;color:var(--subtext)}.post-meta{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.post-meta img{width:16px!important;height:12px!important;min-width:16px;max-width:16px;object-fit:cover;flex:0 0 16px}.post-back{margin-bottom:1rem}@media(max-width:640px){.post-hero{max-height:280px}.post-card-body{padding:1.1rem}}.post-link-btn:hover{opacity:.85}.post-confidence{display:grid;gap:.75rem;margin:1rem auto 0;max-width:860px}.post-confidence>div,.post-confidence details{display:grid;gap:.2rem;padding:1rem 1.15rem;border:1px solid var(--border);border-radius:.8rem;background:var(--surface)}.post-confidence strong{color:var(--text);font-size:.9rem}.post-confidence span,.post-confidence p{color:var(--subtext);font-size:.82rem;line-height:1.5}.post-confidence a{color:var(--accent);font-size:.82rem;font-weight:700;text-decoration:none}.post-confidence a:hover{text-decoration:underline}.post-confidence summary{cursor:pointer;color:var(--text);font-weight:700;font-size:.9rem}
