/*
Theme Name: Genesis Blog Editor
Theme URI: https://genesis-static-blog.pages.dev/
Author: Genesis
Description: 로드브리핑의 검증된 뉴스룸 UX를 일반 블로그용으로 이식한 로컬·정적 발행 테마.
Version: 2.0.0
Requires at least: 6.6
Requires PHP: 8.3
Text Domain: genesis-blog-editor
*/

:root{--gb-ink:#111820;--gb-muted:#66717d;--gb-line:#e5e9ee;--gb-paper:#fff;--gb-soft:#f5f7f9;--gb-accent:#1557c0;--gb-wrap:1180px;--gb-copy:720px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--gb-ink);background:var(--gb-paper);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",sans-serif;text-wrap:pretty}a{color:inherit;text-decoration:none;text-underline-offset:.18em}img{display:block;max-width:100%;height:auto}
.skip{position:fixed;z-index:1000;top:8px;left:8px;padding:.7rem 1rem;background:#111;color:#fff;transform:translateY(-160%)}.skip:focus{transform:none}.gb-wrap{width:min(calc(100% - 40px),var(--gb-wrap));margin-inline:auto}
.site-head{position:sticky;z-index:50;top:0;border-bottom:1px solid var(--gb-line);background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}.head-in{display:flex;min-height:68px;align-items:center;justify-content:space-between;gap:24px}.brand,.foot-brand{margin:0;font-size:1.45rem;font-weight:800;letter-spacing:-.055em}.brand a,.foot-brand a{color:var(--gb-ink)}
.nav{display:flex;align-items:center;gap:24px}.nav a{position:relative;padding:22px 0;color:#37414b;font-size:.94rem;font-weight:650}.nav a::after{position:absolute;right:0;bottom:14px;left:0;height:2px;background:var(--gb-accent);content:"";transform:scaleX(0);transition:transform .18s ease}.nav a:hover::after,.nav a:focus-visible::after{transform:scaleX(1)}.menu-btn{display:none;border:1px solid var(--gb-line);border-radius:6px;background:#fff;padding:.55rem .75rem;font:inherit;font-weight:700}
.site-main{padding-block:36px 64px}.page-heading{margin:0 0 24px;font-size:clamp(2rem,5vw,3.4rem);line-height:1.12;letter-spacing:-.05em}.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 24px}.post-card{min-width:0}.post-card>a{display:block}.card-media{overflow:hidden;margin-bottom:14px;border-radius:2px;background:var(--gb-soft);aspect-ratio:16/9}.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.post-card:hover .card-media img{transform:scale(1.025)}.kicker{display:block;margin-bottom:8px;color:var(--gb-accent);font-size:.78rem;font-weight:800;letter-spacing:.06em}.post-card h2{margin:0;font-size:1.22rem;line-height:1.38;letter-spacing:-.035em}.post-card p{margin:.65rem 0 0;color:var(--gb-muted);font-size:.93rem;line-height:1.65}.byline{font-size:.78rem!important}.pagination{margin-top:48px}
.article-layout{display:grid;grid-template-columns:minmax(0,var(--gb-copy)) 320px;justify-content:center;align-items:start;gap:64px;padding-top:38px}.article-column{min-width:0}.article{min-width:0}.breadcrumb{margin-bottom:26px;color:var(--gb-muted);font-size:.82rem}.article h1{margin:0;font-size:clamp(2.15rem,5vw,3.75rem);line-height:1.16;letter-spacing:-.055em}.article .meta{display:flex;flex-wrap:wrap;gap:8px 15px;margin:22px 0 28px;color:var(--gb-muted);font-size:.84rem}.article .wp-block-post-featured-image{margin:0 0 8px}.article .wp-block-post-featured-image img{width:100%;aspect-ratio:16/9;object-fit:cover}
.article-content{font-size:1.08rem;line-height:1.9}.article-content>p,.article-content>h2,.article-content>h3,.article-content>ul,.article-content>ol,.article-content>blockquote{max-width:var(--gb-copy);margin-inline:auto}.article-content h2{margin-top:2.8rem;font-size:1.65rem;line-height:1.35;letter-spacing:-.035em}.article-content h3{margin-top:2rem}.article-content figure{margin-block:2rem}.article-content figcaption{margin-top:.55rem;color:var(--gb-muted);font-size:.78rem;line-height:1.55}.article-content blockquote{border-left:3px solid var(--gb-accent);padding-left:1.2rem}
.author-box{display:flex;gap:14px;margin-top:38px;border-top:1px solid var(--gb-line);border-bottom:1px solid var(--gb-line);padding:22px 0}.author-mark{display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;border-radius:50%;background:var(--gb-ink);color:#fff;font-size:.82rem;font-weight:800}.author-box .n{font-weight:800}.author-box .b{margin-top:3px;color:var(--gb-muted);font-size:.86rem;line-height:1.55}
.article-rail{grid-column:2;grid-row:1;transition:transform .08s linear}.article-rail>h2,.after-stream>h2{margin:0 0 16px;border-bottom:2px solid var(--gb-ink);padding-bottom:10px;font-size:1rem}.rail-list{display:grid;gap:22px}.rail-item img{width:100%;aspect-ratio:16/9;object-fit:cover}.rail-item h3{margin:8px 0 0;font-size:.95rem;line-height:1.42;letter-spacing:-.025em}.stream-trigger,.article-stream,.after-stream{grid-column:1}.next-article{margin-top:70px;border-top:1px solid var(--gb-line);padding-top:56px}.stream-label{color:var(--gb-accent);font-size:.8rem;font-weight:800;letter-spacing:.08em}.after-stream{margin-top:64px}.after-stream-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}.after-card img{width:100%;aspect-ratio:16/9;object-fit:cover}.after-card h3{margin:9px 0 0;font-size:1rem;line-height:1.45}
.site-foot{margin-top:60px;border-top:1px solid var(--gb-line);background:var(--gb-soft)}.foot-in{padding-block:32px 42px}.foot-nav{display:flex;flex-wrap:wrap;gap:10px 20px;margin:18px 0;color:#46515b;font-size:.82rem}.foot-legal{color:var(--gb-muted);font-size:.76rem;line-height:1.7}:focus-visible{outline:3px solid rgba(21,87,192,.35);outline-offset:3px}
@media(max-width:1100px){.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-layout{grid-template-columns:minmax(0,var(--gb-copy))}.article-rail{display:none}.stream-trigger,.article-stream,.after-stream{grid-column:1}}
@media(max-width:700px){.gb-wrap{width:100%;padding-inline:16px}.head-in{min-height:58px}.menu-btn{display:block}.nav{position:absolute;top:58px;right:0;left:0;display:none;border-bottom:1px solid var(--gb-line);background:#fff;padding:8px 16px 16px;box-shadow:0 12px 24px rgba(16,24,32,.08)}.nav.open{display:grid;gap:0}.nav a{padding:12px 4px}.nav a::after{bottom:7px}.site-main{padding-top:24px}.post-grid{grid-template-columns:1fr;gap:34px}.article-layout{padding-top:24px}.article h1{font-size:2rem}.article-content{font-size:1.02rem;line-height:1.85}.article-content figure,.article .wp-block-post-featured-image{margin-right:-16px;margin-left:-16px}.article-content figcaption{padding-inline:16px}.after-stream-grid{grid-template-columns:1fr}.site-foot{margin-top:38px}}
