/*
Theme Name: Blocksy Child — Rhymbro
Template: blocksy
Version: 1.0.7
Description: rhymbro.com 매거진 그리드 리디자인 (RB THEME 2026-09-09). 되돌리기: 외모→테마에서 Ashe 재활성화.
Author: Rhymbro
*/

/* ============================================================
   RB THEME 2026-09-09 — 0. 토큰 (시안 rhymbro_redesign_mock 기준, 라이트 단일)
   ============================================================ */
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.css");
:root{
  --rb-paper:#F7F5F0; --rb-surface:#FFFFFF; --rb-ink:#1B1B1B; --rb-muted:#5F5F5F; --rb-faint:#8C877D;
  --rb-rule:#E3DFD5; --rb-rule2:#CFC9BC; --rb-accent:#B45F04; --rb-accent-ink:#8F4B03; --rb-accent-soft:#F5EBDD;
  --rb-c1:#C98A3C; --rb-c2:#3F6F9E; --rb-c3:#5F7D5A; --rb-c4:#7A5A9E; --rb-c5:#C96B5A; --rb-c6:#4A8F88; --rb-c7:#7F8C3F;
  --rb-shadow:0 10px 30px rgba(27,27,27,.08);
  --rb-font:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,system-ui,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  --rb-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --rb-measure:720px;
  /* Blocksy 팔레트 연결 */
  --theme-palette-color-1:#B45F04; --theme-palette-color-2:#8F4B03; --theme-palette-color-3:#1B1B1B; --theme-palette-color-4:#5F5F5F;
  --theme-palette-color-5:#E3DFD5; --theme-palette-color-6:#FFFFFF; --theme-palette-color-7:#F7F5F0; --theme-palette-color-8:#FFFFFF;
  --theme-font-family:var(--rb-font);
  --theme-link-initial-color:#B45F04; --theme-link-hover-color:#8F4B03;
}
html{color-scheme:light}
body{font-family:var(--rb-font);background:var(--rb-paper);color:var(--rb-ink);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6,.site-title,.entry-title,.page-title,.menu a,input,select,textarea,button{font-family:var(--rb-font)}

/* 홈(#115)의 Blocksy 페이지 제목 영역 숨김 — 홈 히어로는 쇼트코드가 담당 */
.page-id-115 .hero-section, .page-id-115 .entry-header{display:none}
.page-id-115 .entry-content{max-width:none}
.page-id-115 .site-main .ct-container{width:100%;max-width:none;padding:0} /* 헤더의 .ct-container는 제외(로고가 좌측에 붙던 문제, 2026-09-10) */
.page-id-115 .site-main{padding-top:0}

/* 공통 원자 */
.rb-eyebrow{font-family:var(--rb-mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--rb-faint)}
.rb-chip{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--rb-ink);text-decoration:none}
.rb-chip i{width:9px;height:9px;border-radius:2px;background:var(--cc,var(--rb-accent));flex:none}
.rb-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-family:var(--rb-mono);font-size:12px;color:var(--rb-faint);font-variant-numeric:tabular-nums}
.rb-meta b{font-weight:500;color:var(--rb-muted)}
.rb-wrap{width:var(--theme-container-width,min(1280px,92%));max-width:1290px;margin:0 auto} /* Blocksy 헤더 컨테이너와 좌우선 일치 (2026-09-10) */
.rb-sec{padding:34px 0 8px}
.rb-sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0 0 16px}
.rb-sec-h h2{margin:0;font-size:20px;font-weight:700;letter-spacing:-.01em;display:flex;align-items:center;gap:10px;line-height:1.3}
.rb-sec-h h2 i{width:12px;height:12px;border-radius:2px;background:var(--cc,var(--rb-ink))}
.rb-sec-h .rb-more{font-size:13px;color:var(--rb-muted);border-bottom:1px solid var(--rb-rule2);padding-bottom:1px;text-decoration:none}
.rb-sec-h .rb-more:hover{color:var(--rb-accent);border-color:var(--rb-accent)}

/* 카드 그리드 */
.rb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}
.rb-grid.rb-g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.rb-card{display:flex;flex-direction:column;gap:10px;min-width:0}
.rb-card .rb-ph{aspect-ratio:16/9;border-radius:4px;overflow:hidden;background:var(--rb-surface);border:1px solid var(--rb-rule);display:block}
.rb-card .rb-ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}
.rb-card:hover .rb-ph img{transform:scale(1.03)}
.rb-card .rb-cover{width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:10% 8%;background:var(--rb-surface);border-left:6px solid var(--cc);color:var(--rb-ink);box-sizing:border-box}
.rb-card .rb-cover .cc{font-size:11px;font-weight:600;color:var(--cc);letter-spacing:.02em}
.rb-card .rb-cover .ct{font-weight:700;font-size:15px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.rb-card .rb-cover .cf{font-family:var(--rb-mono);font-size:10px;color:var(--rb-faint)}
.rb-card h3{margin:2px 0 0;font-size:17px;line-height:1.4;font-weight:700;letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.rb-card h3 a{color:inherit;text-decoration:none}
.rb-card h3 a:hover{color:var(--rb-accent)}
.rb-card p{margin:0;font-size:13.5px;color:var(--rb-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.7}
.rb-card.rb-lead{grid-column:span 2;grid-row:span 2}
.rb-card.rb-lead h3{font-size:24px;-webkit-line-clamp:3}
.rb-card.rb-lead p{-webkit-line-clamp:3;font-size:14.5px}

/* 홈 히어로 */
.rb-hero{padding:34px 0 40px;border-bottom:1px solid var(--rb-rule2)}
.rb-hero-h{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:18px}
.rb-hero-h h2{margin:0;font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--rb-muted)}
.rb-hero-h .rb-date{font-family:var(--rb-mono);font-size:12px;color:var(--rb-faint)}
.rb-hero-g{display:grid;grid-template-columns:minmax(0,7.2fr) minmax(0,4.8fr);gap:40px}
.rb-feat{display:grid;gap:18px}
.rb-feat .rb-ph{aspect-ratio:16/9;overflow:hidden;border-radius:4px;background:var(--rb-surface);border:1px solid var(--rb-rule);display:block}
.rb-feat .rb-ph img{width:100%;height:100%;object-fit:cover;display:block}
.rb-feat h3{margin:12px 0 10px;font-size:30px;line-height:1.3;font-weight:700;letter-spacing:-.015em;text-wrap:balance}
.rb-feat h3 a{color:inherit;text-decoration:none}
.rb-feat h3 a:hover{color:var(--rb-accent)}
.rb-feat p{margin:0 0 14px;color:var(--rb-muted);font-size:15px;max-width:62ch;line-height:1.7}
.rb-side h4{margin:0 0 6px;font-size:13px;font-weight:600;color:var(--rb-muted);padding-bottom:10px;border-bottom:1px solid var(--rb-rule2)}
.rb-side ol{list-style:none;margin:0;padding:0}
.rb-side li{display:grid;grid-template-columns:96px 1fr;gap:14px;padding:14px 0;border-bottom:1px solid var(--rb-rule);align-items:start;margin:0}
.rb-side .rb-th{aspect-ratio:16/9;border-radius:3px;overflow:hidden;background:var(--rb-surface);border:1px solid var(--rb-rule);display:block}
.rb-side .rb-th img{width:100%;height:100%;object-fit:cover;display:block}
.rb-side .rb-t{font-weight:600;font-size:15px;line-height:1.45;margin:4px 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rb-side .rb-t a{color:inherit;text-decoration:none}
.rb-side .rb-t a:hover{color:var(--rb-accent)}

/* 카테고리 띠 */
.rb-cats{padding:30px 0 12px}
.rb-cat-g{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}
.rb-cat{display:flex;flex-direction:column;gap:6px;padding:14px 14px 12px;background:var(--rb-surface);border:1px solid var(--rb-rule);border-top:3px solid var(--cc);border-radius:3px;min-height:112px;transition:transform .2s,box-shadow .2s;text-decoration:none;color:var(--rb-ink);box-sizing:border-box}
.rb-cat:hover{transform:translateY(-3px);box-shadow:var(--rb-shadow);color:var(--rb-ink)}
.rb-cat .nm{font-weight:700;font-size:15.5px;line-height:1.3}
.rb-cat .n{font-family:var(--rb-mono);font-size:12px;color:var(--rb-faint)}
.rb-cat .n b{font-weight:500;color:var(--rb-ink);font-size:15px}
.rb-cat .sub{font-size:12px;color:var(--rb-muted);line-height:1.5;margin-top:auto}

/* 시리즈 목록 (강의자료) */
.rb-series{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 48px;margin-top:26px}
.rb-series a{display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--rb-rule);text-decoration:none;color:var(--rb-ink)}
.rb-series .no{font-family:var(--rb-mono);font-size:12px;color:var(--rb-faint)}
.rb-series .t{font-weight:500;font-size:15px;line-height:1.45}
.rb-series a:hover .t{color:var(--rb-accent)}
.rb-series .d{font-family:var(--rb-mono);font-size:11.5px;color:var(--rb-faint)}

/* About 띠 */
.rb-about{margin:44px 0 0;padding:36px 0;border-top:1px solid var(--rb-rule2);border-bottom:1px solid var(--rb-rule2)}
.rb-about-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:40px;align-items:start}
.rb-about h2{margin:0 0 8px;font-size:22px;font-weight:700;letter-spacing:-.01em}
.rb-about .who{font-size:13.5px;color:var(--rb-muted)}
.rb-about p.txt{margin:0;font-size:16px;line-height:1.9;max-width:64ch}
.rb-about p.txt strong{color:var(--rb-accent-ink);font-weight:600}
.rb-about .rule{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap}
.rb-about .rule span{font-family:var(--rb-mono);font-size:11.5px;color:var(--rb-muted);border:1px solid var(--rb-rule2);border-radius:3px;padding:4px 9px}

/* 단일 글 — 템플릿 A 통일 (래퍼 유무 무관) */
.single .entry-content, .single .rb-post{max-width:var(--rb-measure);margin-left:auto;margin-right:auto;font-size:16px;line-height:1.8;color:var(--rb-ink)}
.single .entry-content>p:first-child, .single .rb-meta-top + p, .single .rb-post>p:first-child, .single .rb-lead{font-size:16px;line-height:1.85;padding:20px 22px;background:var(--rb-surface);border-left:4px solid var(--rb-accent);border-radius:0 6px 6px 0;margin:0 0 34px}
.single .entry-content h2{font-size:20px;font-weight:700;margin:44px 0 16px;padding-bottom:10px;border-bottom:1px solid var(--rb-rule2);letter-spacing:-.01em}
.single .entry-content h3{font-size:17px;font-weight:700;margin:28px 0 12px}
.single .entry-content p{margin:0 0 16px}
.single .entry-content a{color:var(--rb-accent-ink)}
.single .entry-content ul,.single .entry-content ol{padding-left:22px;margin:0 0 18px}
.single .entry-content li{margin-bottom:8px}
.single .entry-content table{width:100%;border-collapse:collapse;margin:0 0 24px;font-size:14px}
.single .entry-content th{text-align:left;padding:12px 13px;background:var(--rb-surface);border:1px solid var(--rb-rule2);font-weight:600;vertical-align:top}
.single .entry-content td{padding:12px 13px;border:1px solid var(--rb-rule);color:var(--rb-muted);line-height:1.7;vertical-align:top}
.single .entry-content .rb-fig,.single .entry-content figure{margin:28px 0 30px}
.single .entry-content svg{width:100%;height:auto;display:block;border:1px solid var(--rb-rule);border-radius:6px;background:#fff}
.single .entry-content pre{max-width:100%;overflow-x:auto}
.single .entry-content blockquote{margin:0 0 18px;padding:4px 0 4px 18px;border-left:3px solid var(--rb-rule2);color:var(--rb-muted)}
.single .entry-content .rb-note,.single .entry-content .rb-related{margin-top:36px;padding:18px 20px;background:var(--rb-surface);border:1px solid var(--rb-rule);border-radius:6px;font-size:14px}
.rb-rel{padding:40px 0 10px}

/* 반응형 */
@media (max-width:1120px){
  .rb-cat-g{grid-template-columns:repeat(4,minmax(0,1fr))}
  .rb-hero-g{grid-template-columns:minmax(0,1fr);gap:28px}
  .rb-side ol{display:grid;grid-template-columns:repeat(3,1fr);gap:0 20px}
  .rb-side li{grid-template-columns:1fr;gap:8px}
  .rb-grid,.rb-grid.rb-g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rb-card.rb-lead{grid-column:span 2;grid-row:auto}
  .rb-series{grid-template-columns:1fr}
  .rb-about-g{grid-template-columns:1fr;gap:16px}
}
@media (max-width:640px){
  .rb-cat-g{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rb-side ol{grid-template-columns:1fr}
  .rb-side li{grid-template-columns:88px 1fr}
  .rb-grid,.rb-grid.rb-g4{grid-template-columns:1fr}
  .rb-card.rb-lead{grid-column:auto}
  .rb-feat h3{font-size:24px}
  .rb-cat{min-height:0}
}

/* ============================================================
   RB THEME — Blocksy 훅 레이어 (실측 선택자 기준, 2026-09-09 스테이징)
   ============================================================ */
/* 헤더 */
.ct-header [data-row="middle"]{border-bottom:1px solid var(--rb-rule2)}
.site-title{font-size:30px;font-weight:700;letter-spacing:-.02em}
.site-title a b{color:var(--rb-accent);font-weight:700}
.site-title-container{display:flex;flex-direction:column;gap:2px}
.rb-tagline{font-size:12.5px;color:var(--rb-muted);font-weight:400;letter-spacing:.02em}
.ct-header .menu>li>a{font-weight:500;font-size:14.5px}
.ct-header .menu>li.menu-item-object-category>a>.ct-menu-link:before,
.ct-header .menu>li.menu-item-object-category>a:before{content:"";display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:8px;background:var(--cc,var(--rb-accent));vertical-align:1px}
.ct-header .menu>li.menu-item-26{--cc:var(--rb-c1)} .ct-header .menu>li.menu-item-126{--cc:var(--rb-c2)}
.ct-header .menu>li.menu-item-130{--cc:var(--rb-c3)} .ct-header .menu>li.menu-item-133{--cc:var(--rb-c4)}
.ct-header .menu>li.menu-item-20{--cc:var(--rb-c5)} .ct-header .menu>li.menu-item-18{--cc:var(--rb-c6)}
.ct-header .menu>li.menu-item-435{--cc:var(--rb-c7)}
/* 아카이브 */
.archive .hero-section{border-bottom:1px solid var(--rb-rule2);padding-bottom:22px}
.archive .page-title{font-size:34px;letter-spacing:-.02em;display:flex;align-items:center;gap:14px}
.archive .page-title .ct-title-label{display:none}
.archive .page-title:before{content:"";width:16px;height:16px;border-radius:3px;background:var(--cc,var(--rb-ink));flex:none}
body.rb-cat-c1{--cc:var(--rb-c1)} body.rb-cat-c2{--cc:var(--rb-c2)} body.rb-cat-c3{--cc:var(--rb-c3)} body.rb-cat-c4{--cc:var(--rb-c4)}
body.rb-cat-c5{--cc:var(--rb-c5)} body.rb-cat-c6{--cc:var(--rb-c6)} body.rb-cat-c7{--cc:var(--rb-c7)}
.rb-subs{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.rb-subs a{font-size:13px;font-weight:500;border:1px solid var(--rb-rule2);border-radius:20px;padding:6px 14px;color:var(--rb-ink);text-decoration:none}
.rb-subs a .n{font-family:var(--rb-mono);font-size:11px;color:var(--rb-faint);margin-left:6px}
.rb-subs a.cur{background:var(--rb-ink);color:var(--rb-paper);border-color:var(--rb-ink)}
.rb-subs a.cur .n{color:var(--rb-rule2)}
.rb-subs a:hover:not(.cur){border-color:var(--rb-accent);color:var(--rb-accent)}
.entry-card .entry-title{font-size:17px;line-height:1.4;letter-spacing:-.01em}
.entry-card .entry-title a:hover{color:var(--rb-accent)}
.entry-card .ct-media-container{border-radius:4px;border:1px solid var(--rb-rule)}
.entry-card .entry-meta{font-size:12.5px}
.entry-card .entry-meta .meta-categories a{font-weight:600;color:var(--rb-ink)}
.entry-card .entry-meta .meta-date{font-family:var(--rb-mono);color:var(--rb-faint)}
.entry-card .entry-excerpt{font-size:13.5px;color:var(--rb-muted)}
/* 단일 글 히어로 */
.single-post .hero-section{max-width:860px;margin-left:auto;margin-right:auto;padding-top:40px}
.single-post .page-title{font-size:38px;line-height:1.28;letter-spacing:-.02em;text-wrap:balance}
.single-post .hero-section .entry-meta{font-size:12.5px}
.single-post .hero-section .meta-categories a{font-weight:600;color:var(--rb-ink);position:relative;padding-left:16px}
.single-post .hero-section .meta-categories a:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:9px;height:9px;border-radius:2px;background:var(--cc,var(--rb-accent))}
.single-post .hero-section .meta-date{font-family:var(--rb-mono);color:var(--rb-faint)}
.rb-meta-top{margin:0 0 20px}
.single-post .entry-tags a{font-family:var(--rb-mono);font-size:12px;border:1px solid var(--rb-rule2);border-radius:3px;padding:5px 10px;background:transparent;color:var(--rb-muted)}
.single-post .entry-tags a:hover{color:var(--rb-accent);border-color:var(--rb-accent)}
.single-post .post-navigation{border-top:1px solid var(--rb-rule2)}
.single-post .rb-rel{max-width:1280px;margin:40px auto 0;padding:0 0 10px}

/* 푸터 */
footer.ct-footer{display:none}
.rb-foot{background:var(--rb-paper);border-top:1px solid var(--rb-rule2);margin-top:20px}
.rb-foot-g{padding:30px 0 40px;display:grid;grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(0,1fr));gap:30px;font-size:13px;color:var(--rb-muted)}
.rb-foot .wm{font-weight:700;font-size:20px;color:var(--rb-ink);margin-bottom:6px}
.rb-foot h5{margin:0 0 8px;font-family:var(--rb-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--rb-faint);font-weight:500}
.rb-foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.rb-foot a{color:inherit;text-decoration:none}
.rb-foot a:hover{color:var(--rb-accent)}
.rb-foot .copy{grid-column:1/-1;border-top:1px solid var(--rb-rule);padding-top:14px;font-family:var(--rb-mono);font-size:11.5px;color:var(--rb-faint)}
@media (max-width:640px){.rb-foot-g{grid-template-columns:1fr}}

/* GNB 폭 여유: 1000~1200px 구간에서 메뉴 11항목 실측 758px → 축소해 줄바꿈 방지 (Blocksy 모바일 전환점 999.98px) */
@media (max-width:1200px){
  .ct-header .menu>li>a{font-size:13.5px;padding-inline:9px}
  .ct-header .menu>li.menu-item-object-category>a:before{margin-right:6px}
  .site-title{font-size:26px}
}
