*{font-family:"ui-rounded"}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f5f5f7;--surface:#f5f5f7;--surface-soft:#ececf0;--ink:#1d1d1f;--ink-soft:#6e6e73;--ink-muted:#98989d;--border:#d2d2d7;--accent:#0071e3;--max-w:1040px;--radius:12px;--shadow-sm:0 1px 4px #00000014;--shadow-md:0 4px 16px #0000001f}html{scroll-behavior:smooth}body{background:var(--bg);min-height:100vh;color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}.empty-home{min-height:100vh}.article-shell{width:min(100%, var(--max-w));margin:0 auto;padding:72px 32px 96px}.article-eyebrow{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px;font-size:12px;font-weight:700}.article-hero{max-width:760px;margin-bottom:44px}.article-title{letter-spacing:0;margin-bottom:18px;font-size:clamp(38px,6vw,68px);font-weight:760;line-height:1.02}.article-summary{color:var(--ink-soft);font-size:18px;line-height:1.7}.blog-grid{grid-template-columns:repeat(3,1fr);gap:36px;display:grid}.blog-card{cursor:pointer}.blog-thumb{aspect-ratio:3/2;background:var(--surface);border-radius:var(--radius);width:100%;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;margin-bottom:22px;transition:box-shadow .18s,transform .18s;display:flex;overflow:hidden}.blog-card:hover .blog-thumb{box-shadow:var(--shadow-md);transform:translateY(-2px)}.blog-meta,.article-detail-meta{color:var(--ink-muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px;font-size:11px;font-weight:500}.blog-title{letter-spacing:-.01em;color:var(--ink);text-wrap:pretty;margin-bottom:10px;font-family:Playfair Display,serif;font-size:18px;font-weight:600;line-height:1.35;text-decoration:none;transition:opacity .15s;display:block}.blog-card:hover .blog-title{opacity:.65}.blog-excerpt{color:var(--ink-muted);font-size:13.5px;line-height:1.65}.article-back-link{color:var(--accent);margin-bottom:28px;font-size:14px;font-weight:700;display:inline-block}.article-detail{max-width:1200px}.article-detail-meta{margin-bottom:20px}.article-detail-title{margin-bottom:22px;font-size:clamp(36px,5.5vw,60px);font-weight:760;line-height:1.06}.article-detail-excerpt{color:var(--ink-soft);margin-bottom:42px;font-size:19px;line-height:1.72}.article-body{gap:30px;display:grid}.article-html{color:var(--ink-soft);font-size:16px;line-height:1.82}.article-html>*+*{margin-top:18px}.article-html h2,.article-html h3{color:var(--ink);text-wrap:pretty;line-height:1.2}.article-html h2{border-top:1px solid var(--border);margin-top:54px;padding-top:30px;font-size:28px;font-weight:760}.article-html h3{margin-top:40px;font-size:21px;font-weight:740}.article-html p{text-wrap:pretty}.article-html strong{color:var(--ink);font-weight:720}.article-html a{color:var(--accent);text-underline-offset:3px;font-weight:700;text-decoration:underline}.article-html a strong{color:inherit}.article-html a:hover{opacity:.72}.article-html ol{gap:12px;padding-left:24px;display:grid}.article-html li{padding-left:6px}.article-html li>p{margin-top:8px}.article-html code{border:1px solid var(--border);background:var(--surface-soft);color:var(--ink);border-radius:6px;padding:.08em .34em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9em}.article-figure{margin:30px 0}.article-figure img{border:1px solid var(--border);background:var(--surface);width:100%;height:auto;box-shadow:var(--shadow-sm);cursor:zoom-in;border-radius:20px;display:block}.article-figure figcaption{color:var(--ink-muted);text-align:center;margin-top:10px;font-size:12px;line-height:1.5}.image-preview-overlay{z-index:1000;cursor:zoom-out;background:#000000db;justify-content:center;align-items:center;padding:32px;display:flex;position:fixed;inset:0}.image-preview{cursor:default;border-radius:20px;width:auto;max-width:min(90%,1600px);height:auto;max-height:calc(100vh - 64px);display:block;box-shadow:0 18px 60px #00000073}.article-section{border-top:1px solid var(--border);padding-top:30px}.article-section h2{margin-bottom:12px;font-size:24px;font-weight:740}.article-section p{color:var(--ink-soft);font-size:16px;line-height:1.78}.not-found-panel{width:min(100%,720px);margin:0 auto;padding:96px 32px}.not-found-panel h1{margin-bottom:14px;font-size:42px}.not-found-panel p{color:var(--ink-soft)}@media (max-width:860px){.blog-grid{grid-template-columns:1fr}}@media (max-width:640px){.article-shell{padding:48px 20px 72px}.blog-grid{gap:28px}.article-detail-title{font-size:34px}.article-detail-excerpt{font-size:17px}.article-html{font-size:15.5px}.article-html h2{margin-top:42px;font-size:24px}.article-html h3{margin-top:34px;font-size:19px}.article-figure{margin:24px 0}.image-preview-overlay{padding:16px}.image-preview{max-height:calc(100vh - 32px)}}
