:root{--bg:#fff;--ink:#1a1a1a;--muted:#6b7280;--line:#eaeaea;--max:1120px;--read:68ch;--sans:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif;--serif:Newsreader,Georgia,Charter,Times New Roman,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.read{max-width:var(--read);margin:0 auto}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#000;color:#fff;padding:8px 12px;z-index:99}
.progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--ink);z-index:60}
.site-head{position:static;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 1px 8px rgba(0,0,0,.06);z-index:50}
.head-in{display:flex;align-items:center;gap:24px;height:64px}
.brand{font-weight:800;letter-spacing:-.02em;font-size:1.1rem}
.brand-wrap{display:flex;align-items:center;flex-shrink:0}
.nav{margin-left:auto;display:flex;align-items:center}
.nav-list{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:24px;flex-direction:row}
.nav-list li{list-style:none;margin:0;padding:0}
.nav-list a{font-size:.92rem;font-weight:600;color:inherit;white-space:nowrap}.nav-list a:hover{color:inherit}
.mobile-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.mobile-list li{list-style:none}.mobile-list a{font-weight:600;color:inherit}
.foot-list{list-style:none;margin:0;padding:0;display:flex;gap:24px;flex-wrap:wrap}
.tools{display:flex;gap:4px;align-items:center;margin-left:4px}
.search-btn{background:none;border:0;padding:8px;display:grid;place-items:center;cursor:pointer;color:inherit}.search-btn svg{display:block}
.icon-btn{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:999px;width:36px;height:36px;display:grid;place-items:center;cursor:pointer}.icon-btn svg{display:block}
.icon-btn[data-menu]{display:none}
.hero{padding:48px 0 8px;border-bottom:1px solid var(--line);margin-bottom:32px}
.hero h1{font-size:clamp(2rem,4vw,3rem);line-height:1.05;letter-spacing:-.03em;margin:0 0 12px}
.hero p{color:var(--muted);margin:0;max-width:60ch}
.grid-feature{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;margin:28px 0}
.card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--bg);display:flex;flex-direction:column}
.card img{aspect-ratio:16/9;object-fit:cover;width:100%}
.card-body{padding:16px}.kicker{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.card h2,.card h3{margin:8px 0;font-size:1.15rem;line-height:1.3;letter-spacing:-.01em}
.excerpt{color:var(--muted);font-size:.95rem;margin:0}
.meta{font-size:.82rem;color:var(--muted);margin-top:12px;display:flex;gap:8px}
.list{display:grid;gap:0;border-top:1px solid var(--line);margin:24px 0}
.row{display:grid;grid-template-columns:220px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);align-items:start}
.row img{border-radius:10px;aspect-ratio:16/10;object-fit:cover}
.row h2{margin:6px 0;font-size:1.25rem}
.article{font-family:var(--sans);font-size:17px;line-height:1.75;color:#334155}.article p{margin:0 0 20px}.article ul,.article ol{margin:0 0 20px;padding-left:22px}.article li{margin-bottom:8px}.article h2{font-size:24px;line-height:1.3;font-weight:800;color:#0f172a;margin:32px 0 14px;letter-spacing:-.02em}.article h3{font-size:19px;font-weight:700;color:#0f172a;margin:26px 0 12px}.article img{border-radius:12px}.article a{text-decoration:underline;text-underline-offset:3px}
.article blockquote{border-left:3px solid #0f172a;margin:24px 0;padding:4px 0 4px 16px;color:#0f172a;font-weight:500}
.article pre{background:#0f172a;color:#e2e8f0;padding:16px;border-radius:10px;overflow:auto;font-size:.9rem}
.article code{font-family:ui-monospace,Menlo,monospace;font-size:.9em;background:#f1f5f9;padding:2px 6px;border-radius:6px}.article pre code{background:transparent;padding:0}
.article table{width:100%;border-collapse:collapse;font-size:.95rem}.article th,.article td{border:1px solid var(--line);padding:8px 10px;text-align:left}
.single-head{padding:28px 0 18px}.single-head h1{font-size:24px;line-height:1.25;font-weight:800;color:#0f172a;letter-spacing:-.02em;margin:0 0 12px}
.meta-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;color:#64748b}.cat-pill{background:#f1f5f9;border-radius:6px;padding:4px 10px;font-weight:600;color:#334155}.cat-pill a{text-decoration:none}.meta-sep{opacity:.6}
.single-thumb{border-radius:12px;margin:8px 0 24px;width:100%}
@media(min-width:768px){.single-head h1{font-size:34px}.article{font-size:18px}.article h2{font-size:28px}}
.toc{border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-family:var(--sans);font-size:.9rem;margin:20px 0}
.author{display:flex;gap:14px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin:32px 0}
.author img{border-radius:50%;width:48px;height:48px}
.author-desc{color:var(--muted);font-size:.9rem}
.tags{margin-top:24px}
.page-wrap{padding:32px 20px}
.notfound{padding:64px 20px;text-align:center}
.muted{color:var(--muted)}
.underline{text-decoration:underline}
.empty{padding:48px 0}
.comments-box{margin:32px 0}
.comment-list{list-style:none;padding:0;display:grid;gap:16px}
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pagination{display:flex;gap:8px;justify-content:center;padding:32px 0}.pagination a,.pagination span{border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:.9rem}
.site-foot{border-top:1px solid var(--line);margin-top:48px;padding:48px 0 56px;background:#f8f9fb;color:#555;font-size:.9rem}
.foot-logo{margin-bottom:28px;font-weight:900;font-style:italic;font-size:1.8rem;letter-spacing:-.02em;color:#0f172a}.foot-logo img{max-height:48px}.footer-logo{height:auto}
.foot-main{display:flex;align-items:center;gap:28px;flex-wrap:wrap;padding-bottom:24px}.foot-brand{color:#0f172a;font-weight:700}
.foot-list{list-style:none;margin:0;padding:0;display:flex;gap:24px;flex-wrap:wrap}.foot-list a{font-weight:500;color:#111}
.foot-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;padding:16px 0;margin:8px 0 24px;font-size:.82rem}.foot-bar .copy{text-align:center;color:#666}.legal-nav{justify-self:end}.legal-list{list-style:none;margin:0;padding:0;display:flex;gap:20px}.legal-list a{color:#666;font-size:.82rem}
.disclaimer-center{max-width:820px;margin:0 auto;text-align:center;font-size:.82rem;line-height:1.6;color:#777}.disclaimer-center strong{font-weight:500}.disclaimer-center p{margin:8px 0 0}
.search-overlay{position:fixed;inset:0;background:color-mix(in srgb,var(--bg) 96%,transparent);display:none;place-items:start center;padding-top:15vh;z-index:80}.search-overlay.open{display:grid}
.search-box{width:min(640px,90vw)}.search-box input{width:100%;font-size:1.5rem;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink)}
.mobile-nav{display:none}
@media(max-width:860px){.grid-feature,.related{grid-template-columns:1fr}.row{grid-template-columns:1fr}.nav{display:none}.search-btn{display:none}.tools{margin-left:auto}.icon-btn[data-menu]{display:grid;width:32px;height:32px;padding:0;border:0;border-radius:0;background:transparent}.mobile-nav.open{display:block;border-top:1px solid var(--line);padding:12px 20px}.mobile-list a{display:block;padding:10px 0}.foot-bar{grid-template-columns:1fr;gap:8px;text-align:center}.legal-nav{justify-self:center}}
