/**
 * AllPlanner Community Styles — v42.0 Unified Structure
 *
 * Feed: unified card structure (Post/Q&A same pattern)
 * Reader: full-screen overlay for immersive reading
 *
 * @package AllPlanner
 * @since 42.0.0
 */

/* ========================================
   CSS Variables (community-specific)
   ======================================== */
.t2w-page-community {
  /* Phase 1: color fix — #C8956C → --color-primary (#FFB700) */
  --gold: var(--color-primary);
  --gold-light: var(--color-bg-cream);
  --gold-bg: var(--color-bg-warm);
  --blue: var(--color-info);
  --blue-light: #EFF6FF;
  --green: var(--color-success);
  --green-light: #ECFDF5;
  --red: var(--color-error);
  --red-light: #FEF2F2;
  --purple: #7C3AED;
  --purple-light: #F5F3FF;
  --g50: var(--color-bg-light);
  --g100: var(--color-bg-gray);
  --g200: var(--color-border-light);
  --g300: var(--color-border-medium);
  --g400: var(--color-text-light);
  --g500: var(--color-text-muted);
  --g700: var(--color-text-secondary);
  --g800: var(--color-text-primary);
  --g900: var(--color-text-primary);
  --radius: var(--radius-md);
  --radius-sm: 6px;
  --pad: var(--space-4);
}

/* ========================================
   Page-level override
   ======================================== */
html body .site-content:has(.t2w-page-community) {
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 0;
}
.t2w-page-community {
  background: var(--color-white);
}

/* ========================================
   FEED NAV (sticky top)
   ======================================== */
.feed-nav {
  position: sticky;
  top: 0;
  z-index: 50;
  background: #fff;
  border-bottom: 1px solid #eee;
}
/* Mobile header (search + title + write) */
.feed-nav-top {
  display: flex;
  align-items: center;
  padding: 6px var(--pad);
  gap: 6px;
}
.feed-nav-title {
  font-size: 16px;
  font-weight: 700;
  flex: 1;
  text-align: center;
  color: var(--g900);
  line-height: 1.2;
  margin: 0;
}
.feed-nav-icon {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  color: var(--g500);
  cursor: pointer;
}
/* feed-nav-write removed — now uses .feed-nav-icon with pen icon */

/* ========================================
   FEED SEARCH BAR
   ======================================== */
.feed-search {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease;
  padding: 0 var(--pad);
}
.feed-search.is-open {
  max-height: 38px;
  padding: 2px var(--pad) 6px;
}
.feed-search-inner {
  display: flex;
  align-items: center;
  gap: 6px;
  border: 1px solid #ddd;
  border-radius: var(--t2w-r,12px);
  padding: 0 10px;
  background: #fff;
  height: 30px;
}
.feed-search-icon {
  font-size: 13px;
  color: var(--g400);
  flex-shrink: 0;
}
.feed-search-input {
  flex: 1;
  border: none;
  background: transparent;
  font-size: 13px;
  color: var(--g900);
  outline: none;
  line-height: 1;
  height: 28px;
  padding: 0;
  margin: 0;
}
.feed-search-input::placeholder {
  color: var(--g400);
  font-size: 13px;
}
.feed-search-clear {
  display: none;
  border: none;
  background: none;
  font-size: 13px;
  color: var(--g400);
  cursor: pointer;
  padding: 0;
  line-height: 1;
}
.feed-search-clear.is-visible {
  display: block;
}
.feed-nav-icon.is-searching {
  color: var(--gold);
}

/* ========================================
   FEED TABS
   ======================================== */
.feed-tabs {
  display: flex;
  padding: 0 var(--pad);
  gap: 16px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.feed-tabs::-webkit-scrollbar {
  display: none;
}
.feed-tab {
  padding: 8px 18px;
  font-size: 15px;
  font-weight: 600;
  color: var(--g500);
  white-space: nowrap;
  border-bottom: none;
  border-radius: var(--t2w-r-sm,8px);
  transition: all 0.15s;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.feed-tab:hover {
  color: var(--g700);
  background: var(--g50, #fffbeb);
}
.feed-tab.is-active {
  color: #7d5800;
  font-weight: 600;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}

/* ========================================
   SUB-FILTER ROW (Q&A / 정보팁)
   ======================================== */
.sub-filter {
  display: none;
  padding: 8px var(--pad);
  gap: 8px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  background: #fff;
  border-bottom: 1px solid var(--g100);
}
.sub-filter.is-visible {
  display: flex;
}
.sub-filter::-webkit-scrollbar {
  display: none;
}
.sf-chip {
  border: 0; /* S406: 지역 칩은 키보드가 닿는 button 이라 브라우저 기본 테두리·글꼴을 지운다 */
  font-family: inherit;
  padding: 6px 14px;
  border-radius: var(--t2w-r-pill,999px);
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  background: var(--g100);
  color: var(--g500);
  cursor: pointer;
  transition: all 0.15s;
  -webkit-tap-highlight-color: transparent;
  flex-shrink: 0;
}
.sf-chip.is-active {
  background: var(--g800);
  color: #fff;
}
.sf-chip--green.is-active {
  background: var(--g800);
  color: #fff;
}
.sf-chip--gold.is-active {
  background: var(--g800);
  color: #fff;
}

/* ========================================
   FEED CONTAINER
   ======================================== */
.feed {
  max-width: none;
  margin: 0;
  padding: 6px 0;
}
.feed-panel {
  display: none;
}
.feed-panel.is-active {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* ========================================
   FEED ITEMS — v41.1 Compact List
   ======================================== */
.feed-card {
  display: flex;
  flex-direction: column;
  padding: 0;
  background: var(--color-white, #fff);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  border: 1px solid var(--g100);
  border-radius: var(--t2w-r,12px);
  margin-bottom: 12px;
  overflow: hidden;
  transition: box-shadow 0.2s, border-color 0.2s, transform 0.2s;
}
.feed-card:hover {
  box-shadow: 0 4px 20px rgba(0,0,0,0.06);
  border-color: rgba(255, 183, 0, 0.3);
  transform: translateY(-1px);
}
.feed-card:active {
  transform: translateY(0);
}

/* Body: top-row + title + desc + meta */
.fc-body {
  flex: 1;
  min-width: 0;
  padding: 14px 16px 16px;
}
.fc-top-row {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
}
.fc-cat-label {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.3px;
  padding: 4px 10px;
  border-radius: var(--t2w-r-sm,8px);
  background: var(--g100);
  color: var(--g500);
}
.fc-cat-label[data-cat="story"],
.fc-cat-label[data-cat="review"] {
  background: rgba(255, 183, 0, 0.15);
  color: #92400e;
}
.fc-cat-label[data-cat="qa"] {
  background: rgba(59, 130, 246, 0.12);
  color: #1e40af;
}
.fc-cat-label[data-cat="tip"],
.fc-cat-label[data-cat="info"] {
  background: rgba(16, 185, 129, 0.12);
  color: #065f46;
}
.fc-time {
  font-size: 13px;
  color: var(--g400);
}
.fc-top-dot {
  font-size: 13px;
  color: var(--g400);
}
.fc-title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 8px;
  word-break: keep-all;
  color: var(--g900);
  letter-spacing: -0.2px;
}
.fc-title .fc-hot,
.fc-title .fc-solved {
  display: inline;
  vertical-align: middle;
}
.fc-hot {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: var(--t2w-r-sm,8px);
  background: rgba(255, 183, 0, 0.15);
  color: var(--color-primary-text, #b45309);
  vertical-align: middle;
  margin-left: 4px;
}
.fc-hot::after {
  content: 'HOT';
}
.fc-solved {
  color: #10B981;
  font-size: 15px;
  flex-shrink: 0;
}
.fc-desc {
  font-size: 15px;
  line-height: 1.7;
  color: var(--g500);
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.fc-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  color: var(--g400);
  padding-top: 10px;
  margin-top: 10px;
}
.fc-author {
  font-size: 15px;
  font-weight: 600;
  color: var(--g700);
}
.fc-sep {
  margin: 0 1px;
}
.fc-stat {
  display: inline-flex;
  align-items: center;
  gap: 2px;
}
.fc-stat i {
  font-size: 13px;
  opacity: 0.6;
}
.fc-like.liked {
  color: var(--red);
}
.fc-like.liked i {
  opacity: 1;
}

/* ========================================
   COMPACT LIST CARDS — v43 (전체/Q&A/정보팁)
   ======================================== */

/* List container */
.fc-list {
  background: #fff;
}

/* Compact card — overrides .feed-card base */
.feed-card.fc-compact {
  flex-direction: row;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border: none;
  border-radius: 0;
  border-bottom: 1px solid var(--g100);
  margin-bottom: 0;
  overflow: visible;
}
.feed-card.fc-compact:last-child {
  border-bottom: none;
}
.feed-card.fc-compact:hover {
  box-shadow: none;
  border-color: var(--g100);
  transform: none;
  background: var(--gold-light); /* S261 B2: 회색 → 웜 크림 hover */
}
.feed-card.fc-compact:active {
  transform: none;
  background: var(--g100);
}

/* Body */
.fc-compact__body {
  flex: 1;
  min-width: 0;
}

/* Title — keeps .fc-title for JS search compatibility (S261 B2: 위계 강화 600→700) */
.feed-card.fc-compact .fc-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--g900);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 4px;
  letter-spacing: -0.2px;
  line-height: 1.3;
}

/* Meta row */
.fc-compact__meta {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 13px;
  color: var(--g400);
  flex-wrap: nowrap;
  overflow: hidden;
}
.fc-compact__cat {
  font-size: 13px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: var(--t2w-r-sm,8px);
  white-space: nowrap;
  flex-shrink: 0;
}
.fc-compact__cat[data-cat="community"],
.fc-compact__cat[data-cat="review"],
.fc-compact__cat[data-cat="free"] {
  background: rgba(255, 183, 0, 0.12);
  color: #B45309;
}
/* S261 B2: SaaS 파랑/초록 → 웜 태그 팔레트(S191)로 — 3분류 구분은 유지(골드/클레이/세이지) */
.fc-compact__cat[data-cat="qa"] {
  background: var(--color-tag-clay-bg, #FBE0CE);
  color: var(--color-tag-clay-text, #9A4A1E);
}
.fc-compact__cat[data-cat="tip"],
.fc-compact__cat[data-cat="info"] {
  background: var(--color-tag-sage-bg, #EFEAD8);
  color: var(--color-tag-sage-text, #5F5A2A);
}
.fc-compact__dot {
  color: var(--g300);
  font-size: var(--t2w-fs-meta, 13px);
}
.fc-compact__comments {
  display: inline-flex;
  align-items: center;
  gap: 2px;
}
.fc-compact__comments .material-symbols-outlined {
  font-size: 15px;
}

/* S261 B2: 컴팩트 카드 썸네일 + 지역 태그 + 위계 */
.fc-compact__thumb {
  width: 68px;
  height: 68px;
  border-radius: var(--t2w-r,12px);
  background-color: var(--gold-bg);
  background-size: cover;
  background-position: center;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fc-compact__thumb--ph .material-symbols-outlined,
.fc-compact__thumb--qa .material-symbols-outlined {
  font-size: 28px;
  color: var(--gold);
}
.fc-compact__thumb--qa {
  background: linear-gradient(135deg, var(--gold-light), var(--gold-bg));
}
.fc-compact__region {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 1px 8px;
  border-radius: var(--t2w-r-pill,999px);
  background: var(--color-tag-gold-bg, #FFF3D6);
  color: var(--color-tag-gold-text, #8A5A00);
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  flex-shrink: 0;
}
.fc-compact__region .material-symbols-outlined {
  font-size: 13px;
}
@media (max-width: 767px) {
  .fc-compact__thumb {
    width: 56px;
    height: 56px;
    border-radius: var(--t2w-r-sm,8px);
  }
}

/* Right-side stats/info */
.fc-compact__end {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  color: var(--g400);
  flex-shrink: 0;
  white-space: nowrap;
}
.fc-compact__end .material-symbols-outlined {
  font-size: 15px;
}
/* ========================================
   VISUAL CARDS — v43 여행후기 (Instagram style)
   ======================================== */
.feed-card.fc-visual {
  flex-direction: column;
  border: 1px solid var(--g100);
  border-radius: var(--t2w-r,12px);
  margin-bottom: 16px;
  overflow: hidden;
}
.feed-card.fc-visual:hover {
  box-shadow: 0 8px 30px rgba(0,0,0,0.08);
  transform: translateY(-2px);
  border-color: rgba(255, 183, 0, 0.2);
}

.fc-visual__img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
  background: var(--g100);
}

/* Gradient placeholder for posts without images */
.fc-visual__placeholder {
  width: 100%;
  aspect-ratio: 16 / 9;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #F59E0B 0%, #D97706 50%, #B45309 100%);
  position: relative;
}
.fc-visual__placeholder .material-symbols-outlined {
  font-size: 40px;
  color: rgba(255,255,255,0.6);
}

.fc-visual__body {
  padding: 14px 16px 16px;
}
.fc-visual__top {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
}
.fc-visual__author {
  font-size: 15px;
  font-weight: 600;
  color: var(--g700);
}
.fc-visual__dot {
  color: var(--g300);
  font-size: var(--t2w-fs-meta, 13px);
}
.fc-visual__time {
  font-size: 13px;
  color: var(--g400);
}

/* Title — keeps .fc-title for JS search */
.feed-card.fc-visual .fc-title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--g900);
  letter-spacing: -0.2px;
  margin-bottom: 8px;
  word-break: keep-all;
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
}

.fc-visual__desc {
  font-size: 15px;
  line-height: 1.6;
  color: var(--g500);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 10px;
}

.fc-visual__meta {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  color: var(--g400);
  padding-top: 10px;
  border-top: 1px solid var(--g100);
}
.fc-visual__stat {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}
.fc-visual__stat .material-symbols-outlined {
  font-size: 15px;
}
.fc-visual__dest {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-left: auto;
  font-size: 13px;
  color: var(--g500);
  padding: 3px 8px;
  background: var(--g50);
  border-radius: var(--t2w-r-sm,8px);
}
.fc-visual__dest .material-symbols-outlined {
  font-size: 13px;
  color: var(--gold);
}

/* Page header */
.comm-page-header {
  display: none;
}

/* Desktop search bar (full-width, replaces golden banner) */
.comm-search-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--g50, #fffbeb);
  border: 1.5px solid var(--g200);
  border-radius: var(--t2w-r,12px);
  padding: 0 16px;
  height: 46px;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.comm-search-bar:focus-within {
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(255, 183, 0, 0.08);
}
.comm-search-bar .material-symbols-outlined {
  font-size: 22px;
  color: var(--g400);
  flex-shrink: 0;
}
.comm-search-bar input {
  border: none;
  background: transparent;
  font-size: 15px;
  color: var(--g900);
  outline: none;
  width: 100%;
  height: 44px;
  padding: 0;
  margin: 0;
  font-family: inherit;
}
.comm-search-bar input::placeholder {
  color: var(--g400);
}

/* S261 B1: 데스크톱 히어로 — 홈 샴페인 세계관 정합 (표면=hp 종이 토큰, CTA=커머스 골드).
   부모 .comm-page-header가 모바일에서 display:none이라 별도 @media 불필요. */
.comm-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 14px;
  padding: 26px 28px;
  border-radius: var(--t2w-r,12px);
  background: linear-gradient(135deg, var(--t2w-hp-paper-2, #FFF6E6) 0%, var(--t2w-hp-paper, #FFFDF8) 62%);
  border: 1px solid var(--t2w-hp-line, rgba(30, 58, 95, 0.12));
}
.comm-hero-title {
  margin: 0 0 6px;
  font-size: 30px;
  font-weight: 800;
  color: var(--t2w-hp-ink, #241E1A);
  letter-spacing: -0.01em;
}
.comm-hero-sub {
  margin: 0;
  font-size: 15px;
  color: var(--t2w-hp-ink-soft, #6B6157);
}
.comm-hero-write {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  flex-shrink: 0;
  height: 46px;
  padding: 0 22px;
  border: none;
  border-radius: var(--t2w-r-pill,999px);
  background: var(--gold);
  color: var(--g900);
  font-size: 16px;
  font-weight: 800;
  font-family: inherit;
  cursor: pointer;
  box-shadow: 0 4px 15px rgba(255, 183, 0, 0.2);
  transition: transform 0.15s, box-shadow 0.2s;
}
.comm-hero-write:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(255, 183, 0, 0.3);
}
.comm-hero-write .material-symbols-outlined {
  font-size: 21px;
}

/* Legacy classes — removed in v42 (no longer in PHP) */
/* Q&A cards use unified fc-body structure (v42) */

/* Legacy participate/answers removed in v42 */

/* ========================================
   WRITE FAB (mobile only)
   ======================================== */
.fab {
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--gold);
  color: var(--color-white, #fff);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  box-shadow: var(--shadow-gold-md, 0 4px 15px rgba(255,183,0,0.3));
  z-index: 100;
  transition: transform 0.2s, box-shadow 0.2s;
}
.fab:hover {
  transform: scale(1.05);
  box-shadow: var(--shadow-gold-lg, 0 8px 25px rgba(255,183,0,0.4));
}
.fab .material-symbols-outlined {
  font-size: 28px;
}

/* S280: 모바일에서 이 버튼이 하단 네비(z-index 900) 밑에 깔려 사실상 누를 수 없었다
   — 실측 375px: 버튼 828~876px / 네비 828~900px 겹침, 버튼 z 100.
   위치·층 규칙은 챗 FAB 관례를 그대로 따르고(chat-widget.css: 네비 위 88px,
   페이지 액션바가 있으면 152px), 글쓰기 버튼은 그 위에 한 칸 더 쌓는다. */
@media (max-width: 768px) {
  .fab {
    z-index: 901; /* 하단 네비(900) 위 · 챗 시트(9998) 아래 */
    right: 16px;
    bottom: 220px; /* 챗 FAB가 액션바 위(152)일 때 그 위 */
  }
  body:has(.t2w-float-bar.t2w-float-bar--fade) .fab,
  body:not(:has(.t2w-float-bar)) .fab {
    bottom: 156px; /* 챗 FAB(88) + 버튼 56 + 간격 12 */
  }
}

/* 데스크톱은 히어로의 「글쓰기」 버튼이 담당한다(위 주석의 mobile only 의도).
   실측(S280): 규칙이 없어 데스크톱에서도 떠 있었고 챗 FAB와 좌표가 완전히 같아
   클릭이 전부 챗으로 갔다 = 보이지도 눌리지도 않는 버튼. */
@media (min-width: 769px) {
  .fab {
    display: none;
  }
}
/* Legacy nav/write-bar removed in v42 */

/* ========================================
   WRITE MODAL
   ======================================== */
.write-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s;
}
.write-modal.is-open {
  pointer-events: auto;
  opacity: 1;
}
.write-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.4);
}
.write-modal__sheet {
  position: relative;
  width: 100%;
  max-width: 560px;
  max-height: 90vh;
  background: #fff;
  border-radius: var(--t2w-r,12px) var(--t2w-r,12px) 0 0;
  display: flex;
  flex-direction: column;
  transform: translateY(100%);
  transition: transform 0.3s cubic-bezier(0.32, 0.72, 0.24, 1);
}
.write-modal.is-open .write-modal__sheet {
  transform: translateY(0);
}
.write-modal__header {
  display: flex;
  align-items: center;
  padding: 14px var(--pad);
  border-bottom: 1px solid var(--g100);
  gap: 8px;
}
.write-modal__header h3 {
  flex: 1;
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  margin: 0;
}
.write-modal__close {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: none;
  background: var(--g50);
  color: var(--g600);
  font-size: 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.write-modal__submit {
  padding: 8px 18px;
  border-radius: var(--t2w-r-sm,8px);
  border: none;
  background: var(--gold);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}
.write-modal__submit:disabled {
  background: var(--g200);
  color: var(--g400);
  cursor: not-allowed;
}
.write-modal__body {
  padding: 16px var(--pad);
  overflow-y: auto;
  flex: 1;
}
.write-modal__field {
  margin-bottom: 16px;
}
.write-modal__field label {
  display: block;
  font-size: 15px;
  font-weight: 600;
  color: var(--g700);
  margin-bottom: 6px;
}
.write-modal__field .optional {
  color: var(--g400);
  font-weight: 400;
}
.write-modal__field input,
.write-modal__field select,
.write-modal__field textarea {
  width: 100%;
  padding: 10px 14px;
  border: 1.5px solid var(--g200);
  border-radius: var(--t2w-r-sm,8px);
  font-size: 15px;
  font-family: inherit;
  outline: none;
  transition: border-color 0.15s;
  box-sizing: border-box;
}
.write-modal__field input:focus,
.write-modal__field select:focus,
.write-modal__field textarea:focus {
  border-color: var(--gold);
}
.write-modal__field textarea {
  resize: vertical;
  min-height: 120px;
  line-height: 1.7;
}
/* Photo upload in write modal */
.write-modal__photos {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.write-modal__photo-add {
  width: 80px;
  height: 80px;
  border-radius: var(--t2w-r-sm,8px);
  border: 2px dashed var(--g200);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  color: var(--g400);
  font-size: 13px;
  cursor: pointer;
  transition: all 0.15s;
}
.write-modal__photo-add:hover {
  border-color: var(--gold);
  color: var(--gold);
}
.write-modal__photo-add i {
  font-size: 22px;
}
.write-modal__photo-preview {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 8px;
}
.write-modal__photo-item {
  position: relative;
  width: 80px;
  height: 80px;
  border-radius: var(--t2w-r-sm,8px);
  overflow: hidden;
}
.write-modal__photo-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.write-modal__photo-remove {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgba(0,0,0,0.6);
  color: #fff;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  cursor: pointer;
}

.write-modal__login {
  text-align: center;
  padding: 40px 16px;
  color: var(--g400);
}
.write-modal__login i {
  font-size: 36px;
  margin-bottom: 12px;
  display: block;
}
.write-modal__login p {
  font-size: 15px;
  margin: 0 0 16px;
}
.write-modal__login-btn {
  display: inline-block;
  padding: 10px 24px;
  background: var(--gold);
  color: #fff;
  border-radius: var(--t2w-r-sm,8px);
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
}

@media (min-width: 1025px) {
  .write-modal {
    align-items: center;
  }
  .write-modal__sheet {
    border-radius: var(--t2w-r,12px);
    max-height: 80vh;
    transform: translateY(20px);
  }
  .write-modal.is-open .write-modal__sheet {
    transform: translateY(0);
  }
}

/* ========================================
   READER MODE (fullscreen overlay)
   ======================================== */
.reader {
  position: fixed;
  inset: 0;
  z-index: 1100;
  background: #fff;
  transform: translateY(100%);
  transition: transform 0.3s cubic-bezier(0.32, 0.72, 0.24, 1);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.reader.is-open {
  transform: translateY(0);
}
/* Hide site-wide bottom nav when reader is open */
.reader.is-open ~ .t2w-bottom-nav,
body:has(.reader.is-open) .t2w-bottom-nav {
  display: none;
}

/* Reader top bar */
.reader-bar {
  display: flex;
  align-items: center;
  padding: 8px var(--pad);
  gap: 8px;
  border-bottom: 1px solid var(--g100);
  flex-shrink: 0;
  min-height: 48px;
}
.reader-back {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: var(--g700);
  cursor: pointer;
  transition: background 0.15s;
}
.reader-back:hover {
  background: var(--g50);
}
.reader-bar-title {
  flex: 1;
  font-size: 15px;
  font-weight: 600;
  color: var(--g500);
  text-align: center;
}
.reader-counter {
  font-size: 13px;
  color: var(--g400);
  font-weight: 600;
  min-width: 36px;
  text-align: right;
}

/* Reader scroll container */
.reader-scroll {
  flex: 1;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* ========================================
   READER POST (individual)
   ======================================== */
.rp {
  padding-bottom: 24px;
  border-bottom: 8px solid var(--gold-bg); /* S261 B3: 회색 구분띠 → 웜 */
}
.rp:last-child {
  border-bottom: none;
}
.rp-photo {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  display: block;
}
.rp-photo--tall {
  aspect-ratio: 4 / 3;
}
.rp-content {
  padding: 10px var(--pad) 0;
}

/* Category badge */
.rp-cat {
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: var(--t2w-r-sm,8px);
  margin-bottom: 8px;
}
/* S261 B3: 리더 카테고리 필 — 목록 카드(B2)와 같은 웜 3분류(골드/클레이/세이지) */
.rp-cat--story { background: var(--color-tag-gold-bg, #FFF3D6); color: var(--color-tag-gold-text, #8A5A00); }
.rp-cat--qa { background: var(--color-tag-clay-bg, #FBE0CE); color: var(--color-tag-clay-text, #9A4A1E); }
.rp-cat--tip { background: var(--color-tag-sage-bg, #EFEAD8); color: var(--color-tag-sage-text, #5F5A2A); }

/* Title + author (S261 B3: 읽기 위계 강화) */
.rp-title {
  font-size: 28px;
  font-weight: 800;
  line-height: 1.32;
  letter-spacing: -0.01em;
  margin-bottom: 10px;
  word-break: keep-all;
  color: var(--g900);
}
.rp-author {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--g100);
}
.rp-author .av {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 13px;
}
.rp-author .name {
  font-size: 15px;
  font-weight: 600;
}
.rp-author .time {
  font-size: 13px;
  color: var(--g400);
}

/* Body text (S261 B3: 본문 가독 — 한 단계 진하게) */
.rp-text {
  font-size: 16px;
  color: var(--g800);
  line-height: 1.8;
  margin-bottom: 16px;
  word-break: keep-all;
}
.rp-text p {
  margin-bottom: 12px;
}
.rp-text strong { font-weight: 700; color: var(--g800); }
.rp-text ul, .rp-text ol { margin: 8px 0 12px 20px; padding: 0; }
.rp-text li { margin-bottom: 4px; line-height: 1.7; }
.rp-text ul li { list-style: disc; }
.rp-text ol li { list-style: decimal; }

/* Place tag */
.rp-place {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  border-radius: var(--t2w-r-sm,8px);
  background: var(--g50);
  border: 1px solid var(--g100);
  font-size: 13px;
  font-weight: 600;
  color: var(--g700);
  margin-bottom: 16px;
}
.rp-place img {
  width: 28px;
  height: 28px;
  border-radius: var(--t2w-r-sm,8px);
  object-fit: cover;
}
.rp-place i {
  color: var(--gold);
  font-size: 12px;
}

/* Photo grid */
.rp-photos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
  margin-bottom: 16px;
  border-radius: var(--t2w-r-sm,8px);
  overflow: hidden;
}
.rp-photos img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

/* Stats row */
.rp-stats {
  display: flex;
  gap: 16px;
  padding: 12px 0;
  border-top: 1px solid var(--g100);
  font-size: 15px;
  color: var(--g400);
}
.rp-stats .liked {
  color: var(--red);
}

/* ========================================
   Q&A ANSWER IN READER (with vote)
   ======================================== */
.rp-answers-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--g900);
  margin: 16px 0 12px;
}
.rp-answer {
  padding: 14px;
  border-radius: var(--t2w-r-sm,8px);
  background: var(--g50);
  border-left: 3px solid var(--g200);
  margin-bottom: 12px;
}
.rp-answer--best {
  border-left-color: var(--green);
  background: var(--green-light);
}
.rp-answer--bot {
  border-left-color: var(--purple);
}
.rp-answer-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.rp-answer-av {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 13px;
}
.rp-answer-info {
  flex: 1;
  min-width: 0;
}
.rp-answer-label {
  font-size: 13px;
  font-weight: 700;
  color: var(--green);
  display: flex;
  align-items: center;
  gap: 4px;
}
.rp-answer-label--normal {
  color: var(--g500);
}
.rp-answer-label--bot {
  color: var(--purple);
}
.rp-answer-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--g700);
}
.rp-answer-time {
  font-size: 13px;
  color: var(--g400);
}
.rp-answer p {
  font-size: 15px;
  color: var(--g700);
  line-height: 1.7;
  margin: 0;
  word-break: keep-all;
}

/* Vote buttons */
.rp-answer-vote {
  display: flex;
  align-items: center;
  gap: 2px;
  margin-top: 10px;
}
.vote-btn {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 5px 10px;
  border-radius: var(--t2w-r-sm,8px);
  font-size: 13px;
  font-weight: 600;
  color: var(--g400);
  transition: all 0.15s;
  cursor: pointer;
  border: none;
  background: none;
}
.vote-btn:active {
  background: var(--g100);
}
.vote-btn.is-up {
  color: var(--green);
}
.vote-btn.is-down {
  color: var(--red);
}
.vote-btn i {
  font-size: 15px;
}
.vote-count {
  font-size: 15px;
  font-weight: 700;
  color: var(--g700);
  min-width: 20px;
  text-align: center;
}

/* ========================================
   Q&A: Answer input bar (reader bottom)
   ======================================== */
.reader-answer-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  border-top: 1px solid var(--g100);
  padding: 8px var(--pad);
  flex-shrink: 0;
  background: #fff;
  min-height: 56px;
}
.answer-input {
  flex: 1;
  padding: 10px 14px;
  border-radius: var(--t2w-r-pill,999px);
  border: 1.5px solid var(--g200);
  font-size: 15px;
  font-family: inherit;
  outline: none;
  transition: border-color 0.15s;
}
.answer-input:focus {
  border-color: var(--blue);
}
.answer-send {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--blue);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  flex-shrink: 0;
  cursor: pointer;
  border: none;
}

/* ========================================
   TIP: Section markers in reader
   ======================================== */
.rp-section-title {
  font-size: 15px;
  font-weight: 800;
  color: var(--g900);
  padding: 10px 0 4px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.rp-section-title i {
  color: var(--gold);
  font-size: 15px;
}
.rp-tip-box {
  padding: 14px;
  border-radius: var(--t2w-r-sm,8px);
  background: var(--gold-bg);
  border: 1px solid var(--gold-light);
  margin-bottom: 16px;
}
.rp-tip-box-title {
  font-size: 13px;
  font-weight: 700;
  color: var(--gold);
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  gap: 4px;
}
.rp-tip-box p {
  font-size: 15px;
  color: var(--g700);
  line-height: 1.7;
  margin: 0;
}

/* ========================================
   READER POST: Hero + Enhanced Layout (v39.3)
   ======================================== */
.rp-hero {
  position: relative;
  width: 100%;
  max-height: 320px;
  overflow: hidden;
}
.rp-hero__img {
  width: 100%;
  height: 280px;
  object-fit: cover;
  display: block;
}
.rp-hero__place {
  position: absolute;
  bottom: 12px;
  left: 12px;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  background: rgba(0,0,0,0.55);
  backdrop-filter: blur(6px);
  padding: 5px 12px;
  border-radius: var(--t2w-r-sm,8px);
  display: flex;
  align-items: center;
  gap: 5px;
}
.rp-hero__place i {
  color: var(--gold);
  font-size: 13px;
}
.rp-meta-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.rp-dest {
  font-size: 13px;
  color: var(--g500);
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.rp-dest i {
  font-size: 12px;
  color: var(--gold);
}
.rp-av {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 15px;
  flex-shrink: 0;
}
.rp-av--sm {
  width: 28px;
  height: 28px;
  font-size: 13px;
}
.rp-author-info {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.rp-author-name {
  font-size: 15px;
  font-weight: 600;
  color: var(--g800);
}
.rp-author-time {
  font-size: 13px;
  color: var(--g400);
}
.rp-tags {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.rp-tag {
  font-size: 13px;
  padding: 3px 10px;
  border-radius: var(--t2w-r-pill,999px);
  background: var(--gold-light); /* S261 B3: 회색 → 웜 크림 */
  color: var(--color-tag-gold-text, #8A5A00);
  font-weight: 600;
}
.rp-photo-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
  margin: 16px 0;
  border-radius: var(--t2w-r-sm,8px);
  overflow: hidden;
}
.rp-photo-grid__img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}
.rp-status {
  font-size: 13px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: var(--t2w-r-sm,8px);
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.rp-status--solved {
  background: var(--green-light);
  color: var(--green);
}
.rp-status--waiting {
  background: var(--gold-bg);
  color: var(--gold);
}
.rp-answers {
  border-top: 2px solid var(--g100);
  padding-top: 16px;
  margin-top: 8px;
}
.rp-answers__header {
  font-size: 15px;
  font-weight: 700;
  color: var(--g900);
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.rp-answers__header i {
  color: var(--gold); /* S261 B3: 파랑 → 골드 */
}
.rp-answer__badge {
  font-size: 13px;
  font-weight: 700;
  color: var(--green);
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 4px;
}
.rp-answer__head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.rp-answer__name {
  font-size: 15px;
  font-weight: 600;
  color: var(--g700);
}
.rp-answer__time {
  font-size: 13px;
  color: var(--g400);
}
.rp-answer__body {
  font-size: 15px;
  line-height: 1.75;
  color: var(--g700);
  word-break: keep-all;
}
.rp-answer__body p {
  margin: 0 0 8px;
}
.rp-answer__body strong { font-weight: 700; color: var(--g800); }
.rp-answer__body ul, .rp-answer__body ol { margin: 6px 0 10px 18px; padding: 0; }
.rp-answer__body li { margin-bottom: 3px; line-height: 1.65; }
.rp-answer__body ul li { list-style: disc; }
.rp-answer__body ol li { list-style: decimal; }
.rp-no-answers {
  text-align: center;
  padding: 32px 16px;
  color: var(--g400);
}
.rp-no-answers i {
  font-size: 36px;
  margin-bottom: 8px;
  display: block;
}
.rp-no-answers p {
  font-size: 15px;
  margin: 0;
}
.rp-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60vh;
  color: var(--g400);
}
.rp-empty p {
  font-size: 15px;
}

/* ========================================
   READER: Comments Section (v39.4)
   ======================================== */
.rp-comments {
  border-top: 2px solid var(--g100);
  margin-top: 24px;
  padding: 0 var(--pad) 40px;
}
.rp-comments__header {
  font-size: 15px;
  font-weight: 700;
  color: var(--g900);
  padding: 16px 0 12px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.rp-comments__header i {
  color: var(--gold);
}
.rp-comments__body {
  min-height: 40px;
}
.rp-comments__empty {
  font-size: 15px;
  color: var(--g400);
  padding: 12px 0;
  text-align: center;
}
.rp-comments__input {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 0 16px;
  border-top: 1px solid var(--g100);
  margin-top: 12px;
}
.rp-comments__field {
  flex: 1;
  padding: 10px 14px;
  border-radius: var(--t2w-r-pill,999px);
  border: 1.5px solid var(--g200);
  font-size: 15px;
  font-family: inherit;
  outline: none;
  transition: border-color 0.15s;
}
.rp-comments__field:focus {
  border-color: var(--gold);
}
.rp-comments__send {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--gold);
  color: var(--g900); /* S261 B3: 골드 위 흰색 → 진회색(대비) */
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  flex-shrink: 0;
  cursor: pointer;
  border: none;
  transition: opacity 0.15s;
}
.rp-comments__send:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Backend comment items (from render_comment_item) */
.t2w-comments__list {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.t2w-comments__item {
  display: flex;
  gap: 10px;
  padding: 10px 0;
}
.t2w-comments__item--reply {
  margin-left: 42px;
  padding: 8px 0;
}
.t2w-comments__avatar img {
  width: 32px;
  height: 32px;
  border-radius: 50%;
}
.t2w-comments__body {
  flex: 1;
  min-width: 0;
}
.t2w-comments__meta {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 2px;
}
.t2w-comments__meta strong {
  font-size: 15px;
  font-weight: 600;
  color: var(--g900);
}
.t2w-comments__meta span {
  font-size: 13px;
  color: var(--g400);
}
.t2w-comments__text {
  font-size: 15px;
  line-height: 1.6;
  color: var(--g700);
  margin: 0;
  word-break: keep-all;
}
.t2w-comments__actions {
  display: flex;
  gap: 12px;
  margin-top: 4px;
}
.t2w-comments__actions button {
  background: none;
  border: none;
  font-size: 13px;
  color: var(--g400);
  cursor: pointer;
  padding: 2px 0;
  display: flex;
  align-items: center;
  gap: 3px;
}
.t2w-comments__actions button:hover {
  color: var(--g700);
}

/* ========================================
   READER BOTTOM ACTION BAR
   ======================================== */
.reader-actions {
  display: flex;
  align-items: center;
  border-top: 1px solid var(--g100);
  padding: 8px var(--pad);
  gap: 4px;
  flex-shrink: 0;
  background: #fff;
  min-height: 56px;
}
.ra-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 10px 0;
  font-size: 15px;
  font-weight: 600;
  color: var(--g500);
  border-radius: var(--t2w-r-sm,8px);
  transition: background 0.15s;
  cursor: pointer;
  border: none;
  background: none;
}
.ra-btn:active {
  background: var(--g50);
}
.ra-btn i {
  font-size: 20px;
}
.ra-btn.is-liked {
  color: var(--red);
}
.ra-cta {
  padding: 10px 16px;
  border-radius: var(--t2w-r-sm,8px);
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
  cursor: pointer;
  border: none;
}
.ra-cta--gold {
  background: var(--gold);
}
.ra-cta--blue {
  background: var(--blue);
}
.ra-cta--save {
  background: var(--gold);
}

/* ========================================
   EMPTY STATE
   ======================================== */
.feed-empty {
  text-align: center;
  padding: 60px 20px;
  color: var(--g400);
  background: var(--color-white, #fff);
  border-radius: var(--t2w-r,12px);
  margin: 16px 0;
}
.feed-empty .material-symbols-outlined {
  font-size: 48px;
  display: block;
  margin: 0 auto 12px;
  opacity: 0.3;
  color: var(--gold);
}
.feed-empty p {
  font-size: 15px;
  margin: 0;
}
.feed-empty-sub {
  font-size: 15px;
  color: var(--g400);
  margin-top: 4px;
}
.feed-empty-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 16px;
  padding: 10px 24px;
  border-radius: var(--t2w-r-pill,999px);
  background: var(--gold);
  color: var(--color-white, #fff);
  font-size: 15px;
  font-weight: 600;
  border: none;
  cursor: pointer;
  transition: opacity 0.15s;
  box-shadow: var(--shadow-gold-sm);
}
.feed-empty-cta:hover {
  opacity: 0.9;
}
.fc-filtered-out,
.fc-search-hidden {
  display: none;
}

/* LOADING */
.feed-loading {
  display: flex;
  justify-content: center;
  padding: 40px;
}
.feed-spinner {
  width: 32px;
  height: 32px;
  border: 3px solid var(--g200);
  border-top-color: var(--gold);
  border-radius: 50%;
  animation: t2w-spin 0.7s linear infinite;
}
@keyframes t2w-spin {
  to { transform: rotate(360deg); }
}

/* Infinite scroll zone */
.feed-more {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 16px;
}
.feed-sentinel {
  height: 1px;
  width: 100%;
}

/* Skeleton cards */
.feed-skeleton {
  width: 100%;
}
.skeleton-card {
  display: flex;
  gap: 14px;
  padding: 20px 24px;
  border-bottom: 1px solid var(--g100);
}
.skeleton-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--g100);
  flex-shrink: 0;
  animation: skeletonPulse 1.2s ease-in-out infinite;
}
.skeleton-lines {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: 4px;
}
.skeleton-line {
  height: 12px;
  border-radius: var(--t2w-r-sm,8px);
  background: var(--g100);
  animation: skeletonPulse 1.2s ease-in-out infinite;
}
.skeleton-line--w60 { width: 60%; }
.skeleton-line--w90 { width: 90%; }
.skeleton-line--w80 { width: 80%; }
.skeleton-line--w70 { width: 70%; }
.skeleton-line--w50 { width: 50%; }
.skeleton-line--w40 { width: 40%; }

@keyframes skeletonPulse {
  0%, 100% { opacity: 0.4; }
  50% { opacity: 1; }
}

/* Scroll end state */
.feed-scroll-end {
  padding: 20px 0;
  text-align: center;
  color: var(--g400);
  font-size: 15px;
}
.feed-scroll-end span::before {
  content: '✓ ';
  color: var(--gold);
}

/* ========================================
   SIDEBAR — hidden by default (shown on desktop)
   ======================================== */
.feed-sidebar {
  display: none;
}

/* ========================================
   RESPONSIVE — Tablet (768px+)
   ======================================== */
@media (min-width: 768px) {
  .t2w-page-community {
    --pad: 20px;
  }
  .feed {
    max-width: 700px;
    padding: 4px 0;
  }
  .rp-title {
    font-size: 28px;
  }
  .rp-text {
    font-size: 16px;
  }
}

/* ========================================
   RESPONSIVE — Desktop (1025px+)
   ======================================== */
@media (min-width: 1025px) {
  /* Hide mobile header on desktop */
  .feed-nav-top {
    display: none;
  }
  /* Show search bar on desktop */
  .comm-page-header {
    display: block;
    margin-bottom: 16px;
  }

  .feed-nav {
    background: transparent;
    border-bottom: none;
    position: static;
  }
  .feed-tabs {
    max-width: 1100px;
    margin: 0 auto;
    padding: 4px;
    gap: 4px;
    border-bottom: none;
    background: #EEEEEB;
    border-radius: var(--t2w-r,12px);
    display: inline-flex;
  }
  .sub-filter {
    max-width: 1100px;
    margin: 0 auto;
  }

  .feed-layout {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    gap: 36px;
    padding: 24px 20px;
    min-height: calc(100vh - 160px);
    align-items: flex-start;
  }
  .feed {
    flex: 1;
    max-width: 640px;
    padding: 0;
    min-width: 0;
  }
  /* Desktop: compact list container */
  .fc-list {
    border: 1px solid var(--g100);
    border-radius: var(--t2w-r,12px);
    overflow: hidden;
  }
  .feed-card.fc-compact {
    padding: 14px 20px;
  }

  /* Desktop: visual cards */
  .feed-card.fc-visual {
    border-radius: var(--t2w-r,12px);
  }

  /* Sidebar */
  .feed-sidebar {
    display: block;
    width: 280px;
    flex-shrink: 0;
    position: sticky;
    top: 80px;
    align-self: flex-start;
  }

  /* Write CTA button */
  .sidebar-cta-btn {
    display: block;
    width: 100%;
    padding: 12px;
    border-radius: var(--t2w-r,12px);
    background: var(--gold);
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    border: none;
    cursor: pointer;
    text-align: center;
    margin-bottom: 16px;
    transition: opacity 0.2s;
  }
  .sidebar-cta-btn:hover {
    opacity: 0.9;
  }

  /* Sidebar sections */
  .feed-sidebar-card {
    background: var(--color-white, #fff);
    border: 1px solid var(--g100);
    border-radius: var(--t2w-r,12px);
    padding: 20px;
    margin-bottom: 16px;
    box-shadow: var(--shadow-sm);
  }
  .feed-sidebar-card h3 {
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 14px;
    color: var(--g900);
    display: flex;
    align-items: center;
    gap: 6px;
  }

  /* Popular list */
  .feed-sidebar-item {
    display: flex;
    gap: 10px;
    padding: 8px 4px;
    border-bottom: 1px solid var(--g100);
    border-radius: var(--t2w-r-sm,8px);
    font-size: 15px;
    line-height: 1.45;
    color: var(--g700);
    text-decoration: none;
    transition: background 0.15s;
  }
  .feed-sidebar-item:hover {
    background: var(--gold-light);
  }
  .feed-sidebar-item:last-child {
    border-bottom: none;
  }
  .feed-sidebar-item .rank {
    color: var(--gold);
    font-weight: 700;
    font-size: 15px;
    width: 18px;
    flex-shrink: 0;
  }
  .feed-sidebar-item .views {
    margin-left: auto;
    font-size: 13px;
    color: var(--g400);
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 3px;
  }

  /* Q&A sidebar */
  .feed-sidebar-item--qa {
    display: flex;
    align-items: flex-start;
    gap: 8px;
  }
  .feed-sidebar-item--qa .qa-q {
    display: none;
  }
  .feed-sidebar-item--qa .qa-title {
    font-size: 15px;
    color: var(--g700);
    line-height: 1.4;
  }
  .sidebar-participate-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 10px;
    margin-top: 10px;
    border-radius: var(--t2w-r,12px);
    border: 1px solid #eee;
    color: var(--g500);
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    transition: border-color 0.15s;
  }
  .sidebar-participate-link:hover {
    border-color: var(--gold);
    color: var(--gold);
  }
  .sidebar-empty-msg {
    font-size: 15px;
    color: var(--g400);
    margin: 0;
  }

  /* Topics */
  .sidebar-topics {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }
  .sidebar-topic-chip {
    padding: 6px 14px;
    border-radius: var(--t2w-r-pill,999px);
    background: var(--g100);
    color: var(--g500);
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s;
    border: 1px solid transparent;
  }
  .sidebar-topic-chip:hover {
    background: var(--gold-light);
    border-color: var(--gold);
    color: var(--color-primary-text, #b45309);
  }

  /* CTA card */
  .sidebar-cta-card {
    text-align: center;
    background: var(--gold-bg);
    border-color: var(--gold-light);
  }
  .sidebar-cta-card i {
    font-size: 28px;
    color: var(--gold);
    margin-bottom: 8px;
  }
  .sidebar-cta-card p {
    font-size: 15px;
    color: var(--g700);
    line-height: 1.5;
    margin: 0 0 12px;
    word-break: keep-all;
  }

}

/* ========================================
   RESPONSIVE — Mobile (<=767px)
   ======================================== */
@media (max-width: 767px) {
  .comm-page-header {
    display: none;
  }
  .feed-nav-top {
    display: flex;
  }
  .feed {
    padding: 0;
  }
  /* Mobile: compact cards */
  .feed-card.fc-compact {
    padding: 12px var(--pad);
  }
  .feed-card.fc-compact .fc-title {
    font-size: 15px;
  }
  .fc-compact__end {
    display: none; /* Save space on mobile */
  }

  /* Mobile: visual cards */
  .feed-card.fc-visual {
    border-radius: 0;
    border: none;
    border-bottom: 8px solid var(--g100);
    margin-bottom: 0;
  }
  .feed-card.fc-visual:last-child {
    border-bottom: none;
  }
  .feed-card.fc-visual:hover {
    transform: none;
    box-shadow: none;
  }
  .fc-visual__img {
    aspect-ratio: 4 / 3;
  }
  .rp-title {
    font-size: 22px;
  }

  /* Feed bottom padding for global bottom nav */
  .feed-more {
    padding-bottom: 70px;
  }
}

/* Feed "Add to Trip" button — moved from template-community.php inline <style> (2026-04-18) */
.fc-add-trip { margin-left: auto; padding: 4px 8px; border-radius: var(--t2w-r-sm,8px); border: none; background: rgba(255, 183, 0, .1); color: #E5A400; cursor: pointer; display: inline-flex; align-items: center; font-size: 13px; font-weight: 700; transition: all .15s; font-family: inherit; flex-shrink: 0; }
.fc-add-trip:active { background: rgba(255, 183, 0, .2); transform: scale(.95); }
.fc-add-trip .material-symbols-outlined { font-size: 16px; }
.fc-add-trip--done { background: rgba(16, 185, 129, .1); color: #10B981; pointer-events: none; }

/* ========================================
   S261 B4: 모바일 폴리시 — 터치 타깃 44px · 웜 틴트 · 칩 스크롤 관성
   ======================================== */
@media (max-width: 767px) {
  .feed-nav-icon {
    width: 44px;
    height: 44px;
    font-size: 16px;
  }
  .feed-tab {
    padding: 12px 18px;
  }
  .sf-chip {
    padding: 10px 16px;
    font-size: 15px;
  }
  .feed-tabs,
  .sub-filter {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .feed-tabs::-webkit-scrollbar,
  .sub-filter::-webkit-scrollbar {
    display: none;
  }
  .feed-nav {
    background: var(--t2w-hp-paper, #ffffff);
  }
  .feed-nav-title {
    color: var(--t2w-hp-ink, #241E1A);
  }
}

/* ========================================
   S396 (마스터 4번): 게시판 위 공식 정보 시작점 세 줄 — 글이 없어도 쓸모가 있게. 값은 이 화면의 토큰만.
   ======================================== */
.comm-official { margin: 8px var(--pad, 16px) 12px; padding: 14px 16px 12px; background: var(--color-white, #fff); border: 1px solid var(--g200); border-radius: var(--t2w-r,12px); }
.comm-official-head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; flex-wrap: wrap; }
.comm-official-eyebrow { font-size: 13px; font-weight: 800; letter-spacing: .06em; color: var(--g900); background: var(--gold-bg); border-radius: var(--t2w-r-pill,999px); padding: 3px 9px; }
.comm-official-title { margin: 0; font-size: 16px; font-weight: 800; color: var(--g900); line-height: 1.3; }
.comm-official-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.comm-official-list > li { margin: 0; }
.comm-official-item { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 8px 10px; border-radius: var(--t2w-r-sm,8px); background: var(--g50, #fffbeb); color: inherit; text-decoration: none; transition: background 0.15s; }
.comm-official-item:hover { background: var(--gold-bg); }
.comm-official-scope { flex: none; font-size: 13px; font-weight: 800; color: var(--g700); background: var(--color-white, #fff); border: 1px solid var(--g200); border-radius: var(--t2w-r-pill,999px); padding: 3px 8px; white-space: nowrap; }
.comm-official-body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.comm-official-body strong { font-size: 15px; font-weight: 700; color: var(--g900); line-height: 1.35; word-break: keep-all; }
.comm-official-body small { font-size: 13px; color: var(--g500); }
.comm-official-arrow { flex: none; font-size: 20px; color: var(--g400); }
@media (min-width: 769px) {
  .comm-official { margin: 0 0 16px; }
}
@media (max-width: 768px) {
  /* 휴대폰: 피드가 이미 양옆 여백을 가지므로 더 좁히지 않는다. 화살표는 빼고 범위 표를 작게 — 문장이 두 줄 안에 들어오게. */
  .comm-official { margin: 8px 0 12px; padding: 12px 12px 10px; }
  .comm-official-item { gap: 8px; padding: 8px; }
  .comm-official-scope { font-size: 13px; padding: 2px 6px; }
  .comm-official-arrow { display: none; }
}

/* ========================================
   S406 — 지역 칩 · 생활/뉴스 말머리 · 장소 필터 띠 · 공식 안내 접힘 · 읽기 화면 장소 링크
   (이름은 css·js·php 전수 grep 뒤 지음 — 다른 규칙과 겹치지 않음)
   ======================================== */
/* 지역 칩 줄: 탭 바로 아래, 모든 탭 공통. 항상 보인다(카드가 있는 지역만 서버가 그림). */
.sub-filter--region {
  display: flex;
  background: transparent;
  border-bottom: 1px solid var(--g100);
  padding: 6px var(--pad) 8px;
}
.sf-chip--region {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 6px 14px;
  font-size: 15px;
}
/* 생활 말머리 = 꿀색, 뉴스 = 청동색 (DESIGN 웜 태그 팔레트 — 골드/클레이/세이지 옆 두 칸) */
.fc-compact__cat[data-cat="jobs"],
.fc-compact__cat[data-cat="money"],
.fc-compact__cat[data-cat="realestate"],
.fc-compact__cat[data-cat="visa"],
.fc-compact__cat[data-cat="life"] {
  background: var(--color-tag-honey-bg, #FBE3B8);
  color: var(--color-tag-honey-text, #7A4B12);
}
.fc-compact__cat[data-cat="news"] {
  background: var(--color-tag-bronze-bg, #F1E2C4);
  color: var(--color-tag-bronze-text, #6B4A1A);
}
/* 장소 상세에서 온 「이 장소의 질문만」 띠 */
.comm-place-filter {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 var(--pad) 12px;
  padding: 8px 8px 8px 12px;
  border-radius: var(--t2w-r,12px);
  background: var(--gold-bg);
  font-size: 15px;
  color: var(--g700);
}
.comm-place-filter[hidden] { display: none; } /* S273 판례: hidden 을 토글하는 요소는 이 줄이 있어야 숨는다 */
.comm-place-filter .material-symbols-outlined { font-size: 20px; color: var(--g500); }
.comm-place-filter__clear {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 12px;
  border-radius: var(--t2w-r-sm,8px);
  background: var(--color-white, #fff);
  color: var(--g900);
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
/* 공식 안내 넷째부터 접힘 — 스크립트 없는 details */
.comm-official-more > summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  margin-top: 4px;
  padding: 6px 10px;
  border-radius: var(--t2w-r-sm,8px);
  font-size: 15px;
  font-weight: 700;
  color: var(--g700);
}
.comm-official-more > summary::-webkit-details-marker { display: none; }
.comm-official-more > summary::after { content: "▾"; margin-left: auto; color: var(--g400); }
.comm-official-more[open] > summary::after { content: "▴"; }
.comm-official-more > summary:hover { background: var(--g50, #fffbeb); }
.comm-official-more > .comm-official-list { margin-top: 2px; }
/* 키보드 초점(아스트라 A-6) — 탭·칩·지역 칩 */
.feed-tab:focus-visible,
.sf-chip:focus-visible { outline: 2px solid var(--g800); outline-offset: 2px; }
/* 읽기 화면: 장소 배지·장소 링크 */
a.rp-hero__place { text-decoration: none; }
a.rp-dest { text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 768px) {
  .sf-chip--region { min-height: 40px; }
  .comm-place-filter { margin: 0 0 12px; }
}

/* ═══ S407 B1: 뉴스 — 「이게 나에게 무슨 뜻인지」 · 출처 줄 · 카드 출처 (색은 S406 뉴스 청동 토큰 재사용) ═══ */
.rp-meaning {
  margin: 0 0 14px;
  padding: 10px 12px;
  border-left: 3px solid var(--color-tag-bronze-text, #6B4A1A);
  background: var(--color-tag-bronze-bg, #F1E2C4);
  color: var(--g800);
  font-size: 16px;
  line-height: 1.6;
  word-break: keep-all;
  border-radius: 0 var(--t2w-r-sm,8px) var(--t2w-r-sm,8px) 0;
}
.rp-meaning__label {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: var(--color-tag-bronze-text, #6B4A1A);
  margin-bottom: 2px;
}
.rp-source {
  margin: 16px 0 4px;
  font-size: 15px;
  color: var(--g500);
}
.rp-source__link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 44px;
  color: var(--g700);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.rp-source__link:focus-visible {
  outline: 2px solid var(--g900);
  outline-offset: 2px;
  border-radius: var(--t2w-r-sm,8px);
}
.rp-source--links {
  line-height: 1.7;
  overflow-wrap: anywhere;
}
.rp-source--links .rp-source__link {
  display: inline;
  overflow-wrap: anywhere;
}
.fc-compact__source {
  color: var(--g600);
  font-weight: 600;
}

/* V2 community: reuse the active shell and existing feed, with content first.
   The body class is owned by TravelShellChromeRuntime; legacy layout stays scoped out. */
/* 2026-09-28: 머리·바닥은 .t2w-page-community 바깥이라 안쪽 사전이 닿지 않는다.
   생활 화면에서는 머리 선도 같은 한 가지 선으로. */
body.t2w-has-community-shell { --t2w-hp-line: var(--t2w-line, #E5E7EB); --t2w-hp-line-2: var(--t2w-line, #E5E7EB); }

body.t2w-has-community-shell .t2w-page-community {
  /* 2026-09-28: 자체 색을 버리고 한 벌의 옷(variables.css)을 쓴다. */
  --comm-line: var(--t2w-line, #E5E7EB);
  --comm-muted: var(--t2w-ink-3, #6B7280);
  --comm-ink: var(--t2w-ink, #152A47);
  --t2w-hp-line: var(--t2w-line, #E5E7EB);
  --t2w-hp-line-2: var(--t2w-line, #E5E7EB);
  /* 2026-09-28: 보조·메타(가게 이름·원래 값·날짜)가 14px 과 13px 두 벌이었다. 한 단으로. */
  --text-sm: var(--t2w-fs-meta, 13px);
  --gold: var(--color-primary, #ffb700);
  box-sizing: border-box;
  width: 100%;
  max-width: var(--t2w-wrap-max);
  margin: 0 auto;
  padding: var(--t2w-space-6) var(--t2w-wrap-pad) var(--t2w-space-20);
  color: var(--comm-ink);
  background: var(--color-white, #fff);
}
body.t2w-has-community-shell .site-content > .container { width: 100%; max-width: none; padding-left: 0; padding-right: 0; }
body.t2w-has-community-shell .t2w-page-community * { box-sizing: border-box; }
body.t2w-has-community-shell .comm-page-header { display: block; margin: 0 0 20px; }
body.t2w-has-community-shell .comm-hero { margin: 0; padding: 0; border: 0; border-radius: 0; background: none; }
body.t2w-has-community-shell .comm-hero-title { font-size: 34px; line-height: 1.3; letter-spacing: -.04em; margin: 0 0 6px; }
body.t2w-has-community-shell .comm-hero-sub { font-size: 15px; line-height: 1.5; color: var(--comm-muted); }
body.t2w-has-community-shell .comm-hero-write { min-height: 44px; border-radius: var(--t2w-r,12px); box-shadow: none; }
body.t2w-has-community-shell .comm-search-bar,
body.t2w-has-community-shell .feed-nav-top { display: none; }
body.t2w-has-community-shell .feed-nav { position: static; border: 0; background: transparent; }
body.t2w-has-community-shell .feed-search { display: block; max-height: none; padding: 0 0 16px; overflow: visible; }
body.t2w-has-community-shell .feed-search-inner { height: 50px; padding: 0 10px 0 16px; gap: 10px; border: 1px solid var(--comm-line); border-radius: var(--t2w-r,12px); background: var(--color-bg-light, #f8fafc); }
body.t2w-has-community-shell .feed-search-inner:focus-within { border-color: var(--comm-ink); outline: 2px solid var(--color-tag-gold-bg, #fff3d6); }
body.t2w-has-community-shell .feed-search-icon { font-size: 24px; color: var(--comm-muted); }
body.t2w-has-community-shell .feed-search-input { min-width: 0; height: 46px; padding: 0; border: 0; border-radius: 0; outline: none; background: transparent; font-size: 16px; color: var(--comm-ink); box-shadow: none; }
body.t2w-has-community-shell .feed-search-input::placeholder { font-size: 15px; color: var(--comm-muted); }
body.t2w-has-community-shell .feed-search-clear { min-width: 44px; min-height: 44px; font-size: 22px; }
body.t2w-has-community-shell .feed-tabs { display: flex; max-width: none; margin: 0; padding: 0; gap: 6px; overflow-x: auto; border-radius: 0; border-bottom: 1px solid var(--comm-line); background: transparent; scrollbar-width: none; }
body.t2w-has-community-shell .feed-tab { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; min-height: 48px; padding: 0 16px; border-radius: 0; border-bottom: 3px solid transparent; font-size: 16px; font-weight: 600; color: var(--comm-muted); box-shadow: none; }
body.t2w-has-community-shell .feed-tab.is-active { color: var(--comm-ink); border-bottom-color: var(--gold); font-weight: 800; background: transparent; }
body.t2w-has-community-shell .sub-filter { max-width: none; margin: 0; padding: 10px 0; gap: 8px; border: 0; overflow-x: auto; scrollbar-width: none; }
body.t2w-has-community-shell .sf-chip { display: inline-flex; align-items: center; flex: 0 0 auto; min-height: 44px; padding: 0 15px; border: 1px solid var(--comm-line); border-radius: var(--t2w-r-pill,999px); font-size: 15px; color: var(--comm-muted); background: var(--color-white, #fff); }
body.t2w-has-community-shell .sf-chip.is-active { border-color: var(--comm-ink); background: var(--comm-ink); color: var(--color-white, #fff); }
body.t2w-has-community-shell .feed-layout { display: grid; grid-template-columns: minmax(0, 1fr) 290px; align-items: start; min-height: 0; max-width: none; margin: 6px 0 0; padding: 0; gap: 32px; }
body.t2w-has-community-shell .feed { width: 100%; max-width: none; min-width: 0; padding: 0; margin: 0; }
body.t2w-has-community-shell .comm-official--compact { margin: 0 0 24px; padding: 0; border-color: var(--comm-line); border-radius: var(--t2w-r,12px); background: var(--t2w-hp-paper, #ffffff); }
body.t2w-has-community-shell .comm-official-directory > summary { margin: 0; padding: 12px 16px; gap: 12px; color: var(--comm-ink); }
body.t2w-has-community-shell .comm-official-directory > summary > .material-symbols-outlined { font-size: 28px; color: var(--color-tag-gold-text, #8a5a00); }
body.t2w-has-community-shell .comm-official-directory > summary strong { display: block; font-size: 15px; line-height: 1.5; }
body.t2w-has-community-shell .comm-official-directory > summary small { display: block; font-size: 13px; font-weight: 400; line-height: 1.5; color: var(--comm-muted); }
body.t2w-has-community-shell .comm-official-directory > .comm-official-list { margin: 0; padding: 0 10px 10px; }
body.t2w-has-community-shell .comm-official-item { padding: 12px 10px; background: var(--color-white, #fff); border: 1px solid transparent; }
body.t2w-has-community-shell .comm-official-item.is-region-match { border-color: var(--color-tag-gold-text, #8a5a00); }
body.t2w-has-community-shell .comm-official-body small { line-height: 1.5; color: var(--comm-muted); overflow-wrap: anywhere; }
body.t2w-has-community-shell .comm-official-body .comm-official-match { color: var(--color-tag-gold-text, #8a5a00); font-weight: 700; }
body.t2w-has-community-shell .comm-official-match[hidden] { display: none; }
body.t2w-has-community-shell .comm-feed-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 0 0 8px; }
body.t2w-has-community-shell .comm-feed-heading h2 { margin: 0; font-size: 21px; line-height: 1.5; font-weight: 800; letter-spacing: -.03em; }
body.t2w-has-community-shell #communityRegionLabel { flex-shrink: 0; font-size: 13px; color: var(--comm-muted); }
body.t2w-has-community-shell .fc-list { border: 0; border-radius: 0; overflow: visible; }
body.t2w-has-community-shell .feed-card.fc-compact { padding: 20px 0; gap: 18px; align-items: flex-start; border-bottom: 1px solid var(--comm-line); }
body.t2w-has-community-shell .feed-card.fc-compact:hover { background: var(--t2w-hp-paper, #ffffff); }
body.t2w-has-community-shell .feed-card.fc-compact .fc-title { white-space: normal; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-size: 18px; line-height: 1.5; margin: 0 0 8px; letter-spacing: -.025em; }
body.t2w-has-community-shell .fc-compact__thumb { width: 88px; height: 88px; border-radius: var(--t2w-r,12px); }
body.t2w-has-community-shell .feed-card[data-category="news"] .fc-compact__thumb { width: 160px; height: 100px; border-radius: var(--t2w-r,12px); background-size: contain; background-repeat: no-repeat; background-position: center; }
body.t2w-has-community-shell .fc-compact__thumb--ph { display: none; }
body.t2w-has-community-shell .fc-compact__thumb--qa { width: 44px; height: 44px; background: var(--color-tag-clay-bg, #fbe0ce); }
body.t2w-has-community-shell .fc-compact__thumb--qa .material-symbols-outlined { color: var(--color-tag-clay-text, #9a4a1e); }
body.t2w-has-community-shell .fc-compact__meta { flex-wrap: wrap; overflow: visible; column-gap: 6px; row-gap: 5px; font-size: 13px; color: var(--comm-muted); }
body.t2w-has-community-shell .fc-compact__cat { padding: 3px 8px; border-radius: var(--t2w-r-sm,8px); }
body.t2w-has-community-shell .fc-compact__source { color: var(--comm-muted); }
body.t2w-has-community-shell .fc-compact__end { display: none; }
body.t2w-has-community-shell .fc-compact__meaning { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 0 0 10px; font-size: 15px; line-height: 1.6; color: var(--comm-muted); }
body.t2w-has-community-shell .fc-answer-state { display: inline-block; margin: 0 0 8px; font-size: 13px; font-weight: 600; color: var(--color-tag-clay-text, #9a4a1e); }
body.t2w-has-community-shell .feed-sidebar { display: block; width: auto; position: static; }
body.t2w-has-community-shell .feed-sidebar-card { padding: 20px; margin: 0 0 16px; border: 1px solid var(--comm-line); border-radius: var(--t2w-r,12px); box-shadow: none; background: var(--color-white, #fff); }
body.t2w-has-community-shell .feed-sidebar-card h3 { font-size: 16px; margin: 0 0 12px; }
body.t2w-has-community-shell .feed-sidebar-item { align-items: flex-start; min-height: 48px; padding: 12px 0; gap: 10px; line-height: 1.6; color: var(--comm-ink); }
body.t2w-has-community-shell .sidebar-title,
body.t2w-has-community-shell .feed-sidebar-item--qa .qa-title { flex: 1; min-width: 0; white-space: normal; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
body.t2w-has-community-shell .feed-sidebar-item .views { display: none; }
body.t2w-has-community-shell .sidebar-participate-link { display: flex; align-items: center; min-height: 44px; color: var(--color-tag-gold-text, #8a5a00); }
body.t2w-has-community-shell .sidebar-topic-chip { min-height: 44px; border: 1px solid var(--comm-line); color: var(--comm-ink); font: inherit; font-size: 13px; cursor: pointer; }
body.t2w-has-community-shell .sidebar-cta-btn { min-height: 44px; border-radius: var(--t2w-r,12px); color: var(--comm-ink); }
body.t2w-has-community-shell .t2w-page-community :is(button, a, summary, [role="tab"], [role="button"]):focus-visible { outline: 2px solid var(--comm-ink); outline-offset: 3px; }
body.t2w-has-community-shell .feed-more { padding-bottom: 40px; }
body.t2w-has-community-shell .comm-place-filter__clear { min-height: 44px; }
@media (max-width: 1024px) {
  body.t2w-has-community-shell .feed-layout { grid-template-columns: minmax(0, 1fr); }
  body.t2w-has-community-shell .feed-sidebar { display: none; }
}
@media (max-width: 768px) {
  body.t2w-has-community-shell .t2w-page-community { padding: var(--t2w-space-5) var(--t2w-wrap-pad) var(--t2w-space-24); }
  body.t2w-has-community-shell .comm-page-header { margin-bottom: 16px; }
  body.t2w-has-community-shell .comm-hero-title { font-size: 25px; }
  body.t2w-has-community-shell .comm-hero-sub { font-size: 15px; }
  body.t2w-has-community-shell .comm-hero { gap: 12px; }
  body.t2w-has-community-shell .comm-hero-write { height: 44px; padding: 0 12px; gap: 5px; font-size: 15px; }
  body.t2w-has-community-shell .feed-search { padding-bottom: 10px; }
  body.t2w-has-community-shell .feed-tab { padding: 0 12px; font-size: 15px; }
  body.t2w-has-community-shell .sub-filter { padding: 8px 0; }
  body.t2w-has-community-shell .comm-official--compact { margin-bottom: 20px; }
  body.t2w-has-community-shell .comm-official-directory > summary { padding: 10px 12px; gap: 8px; }
  body.t2w-has-community-shell .comm-official-item { flex-wrap: wrap; gap: 8px; }
  body.t2w-has-community-shell .comm-official-body { flex-basis: 100%; }
  body.t2w-has-community-shell .comm-feed-heading h2 { font-size: 18px; }
  body.t2w-has-community-shell .feed-card.fc-compact { padding: 18px 0; gap: 12px; }
  body.t2w-has-community-shell .feed-card.fc-compact .fc-title { font-size: 16px; }
  body.t2w-has-community-shell .fc-compact__thumb { width: 68px; height: 68px; }
  body.t2w-has-community-shell .feed-card[data-category="news"] .fc-compact__thumb { width: 112px; height: 70px; }
  body.t2w-has-community-shell .fc-compact__thumb--qa { width: 36px; height: 36px; }
}
@media (prefers-reduced-motion: reduce) {
  body.t2w-has-community-shell .t2w-page-community *,
  body.t2w-has-community-shell .t2w-page-community *::before,
  body.t2w-has-community-shell .t2w-page-community *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Community E1: discovery and static readers stay inside the existing V2 shell. */
body.t2w-has-community-shell .comm-discover { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--t2w-space-4); margin: var(--t2w-space-8) 0 var(--t2w-space-6); padding-top: var(--t2w-space-6); border-top: 1px solid var(--comm-line); }
body.t2w-has-community-shell .comm-discover[hidden],
body.t2w-has-community-shell .comm-discover-card[hidden],
body.t2w-has-community-shell [data-wage-copy][hidden] { display: none; }
body.t2w-has-community-shell .comm-discover-card { min-width: 0; padding: 20px; border: 1px solid var(--comm-line); border-radius: var(--t2w-r,12px); background: var(--t2w-hp-paper, var(--color-bg-cream)); }
body.t2w-has-community-shell .comm-discover-eyebrow { display: block; color: var(--color-tag-gold-text, var(--comm-ink)); font-size: 13px; font-weight: 700; letter-spacing: .02em; }
body.t2w-has-community-shell .comm-discover h2 { font-size: 21px; line-height: 1.5; margin: 10px 0; letter-spacing: -.025em; }
body.t2w-has-community-shell .comm-discover h2 a { display: flex; align-items: center; min-height: 44px; color: var(--comm-ink); text-decoration: none; }
body.t2w-has-community-shell .comm-discover p { margin: 10px 0; font-size: 15px; line-height: 1.7; }
body.t2w-has-community-shell .comm-discover-note { display: block; color: var(--comm-muted); font-size: 13px; line-height: 1.6; }
body.t2w-has-community-shell .wage-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
body.t2w-has-community-shell [data-wage-compact] fieldset { min-width: 0; padding: 0; margin: 0; border: 0; }
body.t2w-has-community-shell [data-wage-compact] legend { padding: 0 0 8px; }
body.t2w-has-community-shell .wage-fields label { min-width: 0; display: flex; flex-direction: column; gap: 7px; font-size: 15px; font-weight: 600; line-height: 1.5; }
body.t2w-has-community-shell .wage-fields :is(input, select) { box-sizing: border-box; width: 100%; min-width: 0; min-height: 46px; padding: 8px 10px; color: var(--comm-ink); background: var(--color-white); border: 1px solid var(--comm-line); border-radius: var(--t2w-r-sm,8px); font: inherit; font-size: 16px; }
body.t2w-has-community-shell .wage-fields :is(input, select):focus-visible { outline: 2px solid var(--comm-ink); outline-offset: 2px; }
body.t2w-has-community-shell .wage-link { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 8px 14px; border: 0; border-radius: var(--t2w-r-sm,8px); background: var(--gold); color: var(--comm-ink); font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; text-decoration: none; line-height: 1.5; }
body.t2w-has-community-shell .reader:not(.is-open) { visibility: hidden; }
body.t2w-has-community-shell .reader-static { background: var(--color-white); color: var(--comm-ink); }
body.t2w-has-community-shell .reader-static .reader-bar { min-height: 60px; padding: 8px max(16px, calc((100vw - 760px) / 2)); border-color: var(--comm-line); }
body.t2w-has-community-shell .reader-static .reader-back,
body.t2w-has-community-shell .reader-static .wage-reset { width: auto; height: auto; min-height: 44px; padding: 8px 12px; border: 0; border-radius: var(--t2w-r-sm,8px); background: transparent; color: var(--comm-ink); font: inherit; font-size: 15px; text-decoration: none; cursor: pointer; }
body.t2w-has-community-shell .reader-static .reader-label { flex: 1; text-align: center; font-weight: 700; font-size: 15px; }
body.t2w-has-community-shell .reader-static .reader-counter { min-width: 0; }
body.t2w-has-community-shell .reader-static-body { box-sizing: border-box; width: 100%; max-width: 760px; margin: 0 auto; padding: 36px 24px 80px; overflow-wrap: anywhere; }
body.t2w-has-community-shell .reader-scroll > .rp { width: 100%; max-width: 760px; margin: 0 auto; }
body.t2w-has-community-shell .rp-news-header { padding: var(--t2w-space-6) var(--pad) var(--t2w-space-5); }
body.t2w-has-community-shell .rp-news-header .rp-title { margin: var(--t2w-space-2) 0 var(--t2w-space-4); font-size: clamp(24px, 4vw, 32px); line-height: 1.4; overflow-wrap: anywhere; }
body.t2w-has-community-shell .rp-news-byline { display: flex; flex-wrap: wrap; gap: var(--t2w-space-2) var(--t2w-space-4); color: var(--comm-muted); font-size: var(--t2w-text-sm); line-height: 1.6; }
/* 2026-10-12 GAP D10: 글 공유 — 날짜 줄 오른쪽 끝, 투어 화면 「공유」와 같은 동작 */
body.t2w-has-community-shell .rp-news-byline { align-items: center; }
body.t2w-has-community-shell .rp-share { display: inline-flex; align-items: center; gap: 4px; margin-left: auto; min-height: 40px; padding: 0 14px; border: 1px solid var(--comm-line); border-radius: 999px; background: var(--color-white, #fff); color: var(--comm-ink); font: inherit; font-size: 15px; font-weight: 700; line-height: 1; cursor: pointer; }
body.t2w-has-community-shell .rp-share:hover { border-color: var(--comm-ink); }
body.t2w-has-community-shell .rp-share .material-symbols-outlined { font-size: 18px; }
@media (max-width: 768px) { body.t2w-has-community-shell .rp-share { min-height: 44px; } }
body.t2w-has-community-shell .rp--news .rp-hero { max-height: none; padding: 0 var(--pad); margin-bottom: var(--t2w-space-4); }
body.t2w-has-community-shell .rp--news .rp-hero[hidden] { display: none; }
body.t2w-has-community-shell .rp--news .rp-hero__img { height: auto; max-height: 480px; object-fit: contain; border-radius: var(--t2w-r,12px); }
/* The active dialog owns interaction; restore the chat entry when it closes. */
body.t2w-has-community-shell:has(#postModal.is-open, .reader.is-open) .t2w-chat-fab { display: none; }
/* Both shell headers must yield to a reader, including direct and no-JS entry. */
body.t2w-has-community-shell:has(.reader.is-open) :is(.t2w-travel-shell__global, .t2w-travel-shell__mobile-top) { display: none; }
body.t2w-has-community-shell .reader-static-body h1 { margin: 14px 0 20px; font-size: clamp(26px, 5vw, 36px); line-height: 1.4; letter-spacing: -.035em; }
body.t2w-has-community-shell .reader-static-body h2 { margin: 0 0 12px; font-size: 23px; line-height: 1.5; letter-spacing: -.025em; }
body.t2w-has-community-shell .reader-static-body p { margin: 12px 0; font-size: 16px; line-height: 1.9; }
body.t2w-has-community-shell .reader-static-body > section { margin: 36px 0; }
body.t2w-has-community-shell .stars-toc { margin: 24px 0; padding: 16px 20px; border: 1px solid var(--comm-line); border-radius: var(--t2w-r,12px); }
body.t2w-has-community-shell .stars-toc p { margin: 0 0 8px; font-weight: 700; }
body.t2w-has-community-shell .stars-toc ol { margin: 0; padding-left: 20px; }
body.t2w-has-community-shell .stars-toc a { display: flex; align-items: center; min-height: 44px; padding: 6px 0; color: var(--comm-ink); font-size: 16px; line-height: 1.6; text-decoration: underline; text-underline-offset: 3px; }
body.t2w-has-community-shell .reader-stars section[id] { scroll-margin-top: 24px; }
body.t2w-has-community-shell .stars-intro { margin: -36px -24px 32px; padding: 42px 24px; border-radius: 0 0 var(--t2w-r,12px) var(--t2w-r,12px); color: var(--color-white); background: radial-gradient(circle at 8% 14%, var(--color-white) 0 1px, transparent 1.8px), radial-gradient(circle at 83% 9%, var(--color-white) 0 1px, transparent 1.8px), radial-gradient(circle at 94% 31%, var(--gold) 0 1px, transparent 1.8px), radial-gradient(circle at 73% 86%, var(--color-white) 0 1px, transparent 1.8px), radial-gradient(circle at 28% 91%, var(--color-white) 0 1px, transparent 1.8px), radial-gradient(ellipse at top right, var(--color-info), transparent), var(--color-text-primary); }
body.t2w-has-community-shell .stars-intro h1 { color: var(--color-white); }
body.t2w-has-community-shell .stars-intro .comm-discover-eyebrow { color: var(--gold); }
body.t2w-has-community-shell .stars-intro small { font-size: 13px; }
body.t2w-has-community-shell .reader-source { margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--comm-line); color: var(--comm-muted); }
body.t2w-has-community-shell .reader-source a:not(.wage-link) { display: inline-flex; align-items: center; min-height: 44px; color: var(--comm-ink); text-decoration: underline; }
body.t2w-has-community-shell .reader-source ul { padding-left: 20px; }
body.t2w-has-community-shell .reader-static-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 24px 0; }
body.t2w-has-community-shell .wage-reference { padding: 20px; margin: 24px 0; border: 1px solid var(--comm-line); border-radius: var(--t2w-r,12px); background: var(--t2w-hp-paper, var(--color-bg-cream)); }
body.t2w-has-community-shell .wage-reference small { display: block; font-size: 13px; line-height: 1.8; }
body.t2w-has-community-shell [data-wage-form] fieldset { min-width: 0; padding: 0; margin: 24px 0 0; border: 0; }
body.t2w-has-community-shell [data-wage-form] legend { padding: 0 0 18px; font-size: 23px; font-weight: 700; }
body.t2w-has-community-shell .wage-error { color: var(--red); font-size: 13px; font-weight: 400; }
body.t2w-has-community-shell .wage-result { white-space: pre-line; font-size: 16px; line-height: 1.9; }
body.t2w-has-community-shell .wage-result:not(:empty) { margin: 24px 0; padding: 20px; border: 1px solid var(--comm-line); border-radius: var(--t2w-r,12px); background: var(--gold-bg); }
/* 2026-10-15 「이번 주 내 돈」 — 시급 비교 아래, 같은 칸 모양을 쓴다 */
body.t2w-has-community-shell .pay-tool { margin-top: 40px; padding-top: 32px; border-top: 1px solid var(--comm-line); word-break: keep-all; }
body.t2w-has-community-shell [data-pay-form] fieldset { min-width: 0; padding: 0; margin: 24px 0 0; border: 0; }
body.t2w-has-community-shell [data-pay-form] legend { padding: 0 0 14px; font-size: 18px; font-weight: 700; }
body.t2w-has-community-shell .pay-result:not(:empty) { margin: 24px 0; padding: 16px 20px; border: 1px solid var(--comm-line); border-radius: var(--t2w-r,12px); background: var(--gold-bg); }
body.t2w-has-community-shell .pay-result p { display: flex; justify-content: space-between; gap: 12px; margin: 0; padding: 8px 0; font-size: 16px; line-height: 1.6; border-bottom: 1px solid var(--comm-line); }
body.t2w-has-community-shell .pay-result p:nth-child(3), body.t2w-has-community-shell .pay-result p:last-of-type { font-weight: 700; }
body.t2w-has-community-shell .pay-result small { display: block; margin-top: 12px; color: var(--comm-muted); font-size: 13px; line-height: 1.7; }
body.t2w-has-community-shell .pay-source { color: var(--comm-muted); font-size: 14px; line-height: 1.8; }
body.t2w-has-community-shell .pay-source a { display: inline-flex; align-items: center; min-height: 44px; color: var(--comm-ink); text-decoration: underline; }
/* 2026-10-16 「세컨비자 일수 세기」 — 시급 비교와 같은 칸 모양, 기간마다 한 상자 */
body.t2w-has-community-shell #reader-tool-whv .reader-static-body { word-break: keep-all; }
body.t2w-has-community-shell .whv-facts { margin: var(--space-3) 0; padding-left: var(--space-5); line-height: 1.8; }
body.t2w-has-community-shell [data-whv-form] fieldset { min-width: 0; padding: 0; margin: var(--space-6) 0 0; border: 0; }
body.t2w-has-community-shell [data-whv-form] legend { padding: 0 0 var(--space-3); font-size: 18px; font-weight: 700; }
body.t2w-has-community-shell .whv-period { margin-bottom: var(--space-4); padding: var(--space-4); border: 1px solid var(--comm-line); border-radius: var(--t2w-r,12px); }
body.t2w-has-community-shell .whv-period__head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); margin-bottom: var(--space-3); }
body.t2w-has-community-shell .whv-period__head [data-whv-remove][hidden], body.t2w-has-community-shell .whv-add[hidden] { display: none; }
body.t2w-has-community-shell .whv-add { margin-bottom: var(--space-2); }
/* 2026-10-16 가계부 1차 — 맨 위 「이번 주 남은 돈」 하나만 크게, 나머지는 줄로 */
body.t2w-has-community-shell .ledger { word-break: keep-all; }
body.t2w-has-community-shell .ledger-now { margin: var(--space-6) 0; padding: var(--space-5); border-radius: var(--t2w-r,12px); background: var(--gold-bg); }
body.t2w-has-community-shell #reader-tool-ledger .ledger-now__label { margin: 0; color: var(--comm-muted); font-size: 14px; }
body.t2w-has-community-shell #reader-tool-ledger .ledger-now__big { margin: var(--space-1) 0; font-size: 32px; font-weight: 800; line-height: 1.2; font-variant-numeric: tabular-nums; }
body.t2w-has-community-shell #reader-tool-ledger .ledger-now__sub { margin: 0 0 var(--space-4); color: var(--comm-muted); font-size: 13px; line-height: 1.6; }
body.t2w-has-community-shell .ledger-sums { margin: 0; }
body.t2w-has-community-shell .ledger-sums > div { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-3); padding: var(--space-2) 0; border-top: 1px solid var(--comm-line); }
body.t2w-has-community-shell #reader-tool-ledger .ledger-sums dt { flex: 0 0 auto; font-size: 14px; }
body.t2w-has-community-shell #reader-tool-ledger .ledger-sums dd { margin: 0; text-align: right; font-size: 14px; font-variant-numeric: tabular-nums; }
body.t2w-has-community-shell #reader-tool-ledger .ledger-sums dd small { display: block; color: var(--comm-muted); font-size: 13px; }
body.t2w-has-community-shell [data-ledger-form] fieldset { min-width: 0; padding: 0; margin: var(--space-6) 0 0; border: 0; }
body.t2w-has-community-shell [data-ledger-form] legend { padding: 0 0 var(--space-3); font-size: 18px; font-weight: 700; }
body.t2w-has-community-shell [data-ledger-for][hidden], body.t2w-has-community-shell [data-ledger-more][hidden], body.t2w-has-community-shell [data-ledger-clear-yes][hidden], body.t2w-has-community-shell .ledger-cats[hidden], body.t2w-has-community-shell [data-ledger-empty][hidden] { display: none; }
body.t2w-has-community-shell #reader-tool-ledger .ledger-preview { min-height: 1.6em; margin: var(--space-2) 0 0; color: var(--comm-muted); font-size: 14px; line-height: 1.6; }
body.t2w-has-community-shell #reader-tool-ledger .ledger-status { min-height: 1.6em; font-size: 14px; }
body.t2w-has-community-shell #reader-tool-ledger .ledger-h { margin: var(--space-8) 0 var(--space-3); font-size: 18px; }
body.t2w-has-community-shell .ledger-cats, body.t2w-has-community-shell .ledger-rows { list-style: none; margin: 0; padding: 0; }
body.t2w-has-community-shell .ledger-cats li { display: grid; grid-template-columns: 5.5em minmax(0, 1fr) auto; align-items: center; gap: var(--space-3); padding: var(--space-1) 0; font-size: 14px; }
body.t2w-has-community-shell .ledger-cats i { display: block; height: 10px; border-radius: 5px; background: var(--color-primary); }
body.t2w-has-community-shell .ledger-cats strong, body.t2w-has-community-shell .ledger-rows strong { font-variant-numeric: tabular-nums; white-space: nowrap; }
body.t2w-has-community-shell .ledger-rows li { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: var(--space-3); padding: var(--space-2) 0; border-top: 1px solid var(--comm-line); font-size: 14px; }
body.t2w-has-community-shell .ledger-rows li span { min-width: 0; overflow-wrap: anywhere; }
body.t2w-has-community-shell .ledger-tools { margin-top: var(--space-8); }
body.t2w-has-community-shell [data-ledger-wd][hidden] { display: none; }
body.t2w-has-community-shell #reader-tool-ledger .ledger-check { display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: flex-start; gap: var(--space-2); min-height: 44px; grid-column: 1 / -1; text-align: left; font-weight: 600; }
body.t2w-has-community-shell #reader-tool-ledger .ledger-check input { flex: 0 0 20px; width: 20px; min-width: 0; height: 20px; min-height: 0; margin: 0; padding: 0; }
body.t2w-has-community-shell #reader-tool-ledger .ledger-check[hidden] { display: none; }
body.t2w-has-community-shell #reader-tool-ledger .ledger-checks p { font-size: 14px; line-height: 1.7; }
body.t2w-has-community-shell .ledger-checks [data-ledger-check-link][hidden] { display: none; }
body.t2w-has-community-shell #reader-tool-ledger .ledger-h small { margin-left: var(--space-2); color: var(--comm-muted); font-size: 13px; font-weight: 400; }
body.t2w-has-community-shell [data-ledger-goal] fieldset { min-width: 0; padding: 0; margin: 0; border: 0; }
body.t2w-has-community-shell .ledger-goal__bar { height: 12px; margin: var(--space-4) 0 var(--space-2); border-radius: 6px; background: var(--comm-line); overflow: hidden; }
body.t2w-has-community-shell .ledger-goal__bar i { display: block; height: 100%; border-radius: 6px; background: var(--color-primary); }
body.t2w-has-community-shell #reader-tool-ledger .ledger-goal__note, body.t2w-has-community-shell #reader-tool-ledger .ledger-leave__note { margin: var(--space-2) 0 0; color: var(--comm-muted); font-size: 14px; line-height: 1.7; }
/* 2026-10-16 생활 달력 */
body.t2w-has-community-shell .cal-list { list-style: none; margin: 0; padding: 0; }
body.t2w-has-community-shell .cal-item { display: grid; grid-template-columns: 6.5em minmax(0, 1fr) auto; align-items: start; gap: var(--space-3); padding: var(--space-3) 0; border-top: 1px solid var(--comm-line); }
body.t2w-has-community-shell .cal-item__when { display: flex; flex-direction: column; }
body.t2w-has-community-shell #reader-tool-cal .cal-item__when strong { font-size: 16px; font-weight: 800; font-variant-numeric: tabular-nums; }
body.t2w-has-community-shell #reader-tool-cal .cal-item__when small, body.t2w-has-community-shell #reader-tool-cal .cal-item__body small { color: var(--comm-muted); font-size: 13px; line-height: 1.5; }
body.t2w-has-community-shell .cal-item__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; overflow-wrap: anywhere; }
body.t2w-has-community-shell #reader-tool-cal .cal-item__body b { font-size: 15px; line-height: 1.5; }
body.t2w-has-community-shell #reader-tool-cal .cal-item__body em { align-self: flex-start; padding: 0 var(--space-2); border-radius: 999px; background: var(--comm-line); font-size: 12px; font-style: normal; font-weight: 700; line-height: 1.7; }
body.t2w-has-community-shell #reader-tool-cal .cal-item--mine .cal-item__body em, body.t2w-has-community-shell #reader-tool-cal .cal-item--tax .cal-item__body em { background: var(--gold-bg); }
body.t2w-has-community-shell #reader-tool-cal .cal-item__body a { align-self: flex-start; min-height: 32px; display: inline-flex; align-items: center; color: var(--comm-ink); font-size: 13px; text-decoration: underline; text-underline-offset: 3px; }
body.t2w-has-community-shell [data-cal-empty][hidden], body.t2w-has-community-shell [data-cal-more][hidden], body.t2w-has-community-shell [data-cal-label][hidden] { display: none; }
body.t2w-has-community-shell #reader-tool-cal .cal-state { margin: var(--space-4) 0 0; }
@media (max-width: 480px) {
  body.t2w-has-community-shell .cal-item { grid-template-columns: 5.5em minmax(0, 1fr); }
  body.t2w-has-community-shell .cal-item button { grid-column: 2; justify-self: start; }
}body.t2w-has-community-shell .ledger-fold { margin-top: var(--space-6); border-top: 1px solid var(--comm-line); }
body.t2w-has-community-shell .ledger-fold + .ledger-fold { margin-top: 0; }
body.t2w-has-community-shell .ledger-fold:last-of-type { border-bottom: 1px solid var(--comm-line); }
body.t2w-has-community-shell .ledger-fold > summary { display: flex; flex-wrap: wrap; align-items: center; column-gap: var(--space-3); row-gap: 2px; min-height: 56px; padding: var(--space-3) 2em var(--space-3) 0; position: relative; cursor: pointer; list-style: none; }
body.t2w-has-community-shell .ledger-fold > summary::-webkit-details-marker { display: none; }
body.t2w-has-community-shell .ledger-fold > summary::after { content: '⌄'; position: absolute; right: 0; top: 50%; transform: translateY(-50%); font-size: 18px; }
body.t2w-has-community-shell .ledger-fold[open] > summary::after { content: '⌃'; }
body.t2w-has-community-shell #reader-tool-ledger .ledger-fold > summary .ledger-h { margin: 0; font-size: 17px; }
body.t2w-has-community-shell #reader-tool-ledger .ledger-fold__peek { color: var(--comm-muted); font-size: 14px; font-variant-numeric: tabular-nums; }
body.t2w-has-community-shell .ledger-fold > :not(summary) { margin-bottom: var(--space-4); }body.t2w-has-community-shell [data-ledger-newcat][hidden] { display: none; }
body.t2w-has-community-shell .ledger-catedit { margin-top: var(--space-4); padding: var(--space-3) var(--space-4); border: 1px solid var(--comm-line); border-radius: var(--t2w-r,12px); }
body.t2w-has-community-shell .ledger-catedit summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; font-size: 15px; font-weight: 700; }
body.t2w-has-community-shell .ledger-catedit__list { list-style: none; margin: var(--space-2) 0; padding: 0; }
body.t2w-has-community-shell .ledger-catedit__list li { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-3); padding: var(--space-2) 0; border-top: 1px solid var(--comm-line); }
body.t2w-has-community-shell .ledger-catedit__list li:has(button) { grid-template-columns: minmax(0, 1fr) auto auto; }
body.t2w-has-community-shell #reader-tool-ledger .ledger-catedit__list input[type="text"], body.t2w-has-community-shell #reader-tool-ledger .ledger-catedit__add input { width: 100%; min-width: 0; min-height: 44px; }
body.t2w-has-community-shell #reader-tool-ledger .ledger-catedit__list .ledger-check { grid-column: auto; min-height: 44px; font-weight: 400; font-size: 14px; white-space: nowrap; }
body.t2w-has-community-shell #reader-tool-ledger .ledger-catedit__list small { color: var(--comm-muted); font-size: 13px; white-space: nowrap; }
body.t2w-has-community-shell .ledger-catedit__add { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: var(--space-3); margin-top: var(--space-3); }
body.t2w-has-community-shell #reader-tool-ledger .ledger-catedit__add label { display: flex; flex-direction: column; gap: var(--space-1); font-size: 14px; font-weight: 600; }
body.t2w-has-community-shell #reader-tool-ledger .ledger-catedit__status { min-height: 1.6em; margin: var(--space-2) 0 0; font-size: 14px; line-height: 1.6; }
body.t2w-has-community-shell .ledger-cats li span { min-width: 0; overflow-wrap: anywhere; }body.t2w-has-community-shell .ledger-import { position: relative; cursor: pointer; }
body.t2w-has-community-shell .ledger-import input { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
body.t2w-has-community-shell .ledger-import:focus-within { outline: 2px solid var(--comm-ink); outline-offset: 2px; }
@media (max-width: 480px) {
  body.t2w-has-community-shell .ledger-rows li { grid-template-columns: minmax(0, 1fr) auto; }
  body.t2w-has-community-shell .ledger-rows li button { grid-column: 1 / -1; justify-self: end; }
}
@media (max-width: 768px) {
  body.t2w-has-community-shell .comm-discover { grid-template-columns: minmax(0, 1fr); }
  body.t2w-has-community-shell .comm-discover-card { padding: 18px; }
  body.t2w-has-community-shell .reader-static-body { padding: 28px 20px 60px; }
  body.t2w-has-community-shell .stars-intro { margin: -28px -20px 28px; padding: 36px 20px; }
  body.t2w-has-community-shell .reader-static .reader-bar { padding: 8px 12px; }
  body.t2w-has-community-shell .reader-static-body > section { margin: 28px 0; }
}
/* 2026-10-16 생활 도구 배치 고도화 — 폰은 짧은 칸 둘씩·설명 접기·고르기는 단추, PC는 왼쪽 넣기 · 오른쪽 결과(.planning/life-ui-2026-10-16/toss-reference.md) */
body.t2w-has-community-shell .reader-tool .reader-static-body h1 { margin: var(--space-2) 0; font-size: clamp(24px, 4vw, 30px); }
body.t2w-has-community-shell .reader-tool .reader-static-body p { line-height: 1.7; }
body.t2w-has-community-shell .reader-tool .reader-static-body > p { margin: 0 0 var(--space-4); font-size: 15px; }
body.t2w-has-community-shell .reader-tool .reader-static-body h2 { font-size: 20px; }
body.t2w-has-community-shell .reader-tool .reader-source h2 { font-size: 17px; }
body.t2w-has-community-shell .reader-tool legend { padding: 0 0 var(--space-3); font-size: 17px; font-weight: 700; }
body.t2w-has-community-shell .reader-tool .wage-fields { gap: var(--space-3); }
body.t2w-has-community-shell .reader-tool .wage-fields label { gap: var(--space-1); font-size: 14px; }
body.t2w-has-community-shell .reader-tool .wage-fields .is-wide { grid-column: 1 / -1; }
body.t2w-has-community-shell .reader-tool .wage-fields :is(input, select) { min-height: 44px; }
body.t2w-has-community-shell .reader-tool .wage-error:empty { display: none; }
body.t2w-has-community-shell .reader-tool .reader-static-actions { margin: var(--space-4) 0; }
body.t2w-has-community-shell .reader-tool .comm-discover-note { margin: var(--space-3) 0 0; }
body.t2w-has-community-shell .reader-tool .pay-tool { margin-top: var(--space-8); padding-top: var(--space-6); }
body.t2w-has-community-shell .reader-tool .pay-tool > h2 { margin-bottom: var(--space-1); }
body.t2w-has-community-shell .reader-tool .pay-tool > h2 + p { margin: 0; font-size: 15px; }
body.t2w-has-community-shell .reader-tool .tool-main > form:first-child > fieldset:first-child { margin-top: 0; }
body.t2w-has-community-shell .reader-tool .tool-side > h2:first-child { margin-top: 0; }
body.t2w-has-community-shell .reader-tool :is(h2, .ledger-h) { font-weight: 700; }
body.t2w-has-community-shell .reader-tool .reader-source { margin-top: var(--space-8); padding-top: var(--space-5); }
body.t2w-has-community-shell .reader-tool .reader-source p { margin: var(--space-2) 0; font-size: 14px; }
body.t2w-has-community-shell .reader-tool .reader-source ul { display: flex; flex-wrap: wrap; column-gap: var(--space-4); margin: var(--space-2) 0 0; padding: 0; list-style: none; font-size: 14px; }
body.t2w-has-community-shell #reader-tool-ledger :is(.ledger-preview, .ledger-status):empty { min-height: 0; margin: 0; }
body.t2w-has-community-shell #reader-tool-ledger .ledger-h:has(+ .ledger-cats[hidden]) { display: none; }
/* 기준·계산법 상자 — 숫자 한 줄만 보이고 나머지는 펼쳐 본다 */
body.t2w-has-community-shell .tool-ref { margin: 0 0 var(--space-6); padding: 0 var(--space-4); border: 1px solid var(--comm-line); border-radius: var(--t2w-r,12px); background: var(--t2w-hp-paper, var(--color-bg-cream)); }
body.t2w-has-community-shell .tool-ref > summary { position: relative; display: flex; flex-wrap: wrap; align-items: center; column-gap: var(--space-3); row-gap: 2px; min-height: 52px; padding: var(--space-3) 2em var(--space-3) 0; cursor: pointer; list-style: none; font-size: 15px; line-height: 1.5; }
body.t2w-has-community-shell .tool-ref > summary::-webkit-details-marker { display: none; }
body.t2w-has-community-shell .tool-ref > summary::after { content: '⌄'; position: absolute; right: 0; top: 50%; transform: translateY(-50%); font-size: 18px; }
body.t2w-has-community-shell .tool-ref[open] > summary::after { content: '⌃'; }
body.t2w-has-community-shell .tool-ref > summary span { color: var(--comm-muted); font-size: 14px; font-variant-numeric: tabular-nums; }
body.t2w-has-community-shell .reader-tool .tool-ref p { margin: 0 0 var(--space-2); font-size: 14px; }
body.t2w-has-community-shell .tool-ref small { display: block; padding-bottom: var(--space-3); color: var(--comm-muted); font-size: 13px; line-height: 1.6; }
body.t2w-has-community-shell .tool-ref .whv-facts { margin: 0 0 var(--space-2); font-size: 14px; line-height: 1.7; }
/* 고르는 목록 → 한눈에 보이는 단추(js/life-tools.js chipSelect). 뒤의 목록은 값만 맡는다 */
body.t2w-has-community-shell .has-chips > select { display: none; }
body.t2w-has-community-shell .tool-chips { display: flex; flex-wrap: wrap; gap: var(--space-2); }
body.t2w-has-community-shell .tool-chip { flex: 0 0 auto; min-height: 44px; padding: 0 var(--space-4); border: 1px solid var(--comm-line); border-radius: 999px; background: var(--color-white); color: var(--comm-ink); font: inherit; font-size: 15px; font-weight: 600; white-space: nowrap; cursor: pointer; }
body.t2w-has-community-shell .tool-chip[aria-pressed="true"] { border-color: var(--comm-ink); box-shadow: inset 0 0 0 1px var(--comm-ink); background: var(--gold-bg); font-weight: 700; }
body.t2w-has-community-shell .tool-chip:focus-visible { outline: 2px solid var(--comm-ink); outline-offset: 2px; }
/* 가계부 요약 — 큰 숫자 하나 + 카드 */
body.t2w-has-community-shell .reader-tool .ledger-now { margin: 0 0 var(--space-6); padding: var(--space-4); }
body.t2w-has-community-shell .ledger-now .ledger-sums { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); }
body.t2w-has-community-shell .ledger-now .ledger-sums > div { flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 2px; padding: var(--space-3); border: 0; border-radius: var(--t2w-r-sm,8px); background: var(--color-white); }
body.t2w-has-community-shell .ledger-now .ledger-sums > div:nth-child(-n+2) { grid-column: 1 / -1; }
body.t2w-has-community-shell #reader-tool-ledger .ledger-now .ledger-sums dt { color: var(--comm-muted); font-size: 13px; }
body.t2w-has-community-shell #reader-tool-ledger .ledger-now .ledger-sums dd { text-align: left; font-size: 17px; font-weight: 700; }
body.t2w-has-community-shell #reader-tool-ledger .ledger-now .ledger-sums dd small { font-weight: 400; }
@media (max-width: 768px) {
  /* 폰은 단추를 한 줄로 두고 옆으로 넘긴다(분류가 많아도 세로로 안 늘어남) */
  body.t2w-has-community-shell .tool-chips { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding-bottom: 2px; }
  body.t2w-has-community-shell .tool-chips::-webkit-scrollbar { display: none; }
  /* 가계부 요약은 폰에서 넷 다 둘씩 — 「적기」가 첫 화면에 들어오게. 이번 달 들어온·쓴 돈 줄은 폰에서 감춤(아래 「어디에 썼나」에 있음) */
  body.t2w-has-community-shell .ledger-now .ledger-sums > div:nth-child(-n+2) { grid-column: auto; }
  body.t2w-has-community-shell #reader-tool-ledger .ledger-now [data-ledger-month] { display: none; }
  body.t2w-has-community-shell #reader-tool-ledger .ledger-now .ledger-sums dd { font-size: 16px; }
}
@media (min-width: 1025px) {
  body.t2w-has-community-shell .reader-tool .reader-bar { padding-left: max(16px, calc((100vw - var(--t2w-wrap-max)) / 2)); padding-right: max(16px, calc((100vw - var(--t2w-wrap-max)) / 2)); }
  body.t2w-has-community-shell .reader-tool .reader-static-body { max-width: var(--t2w-wrap-max); }
  body.t2w-has-community-shell .tool-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 380px); gap: var(--space-10); align-items: start; }
  body.t2w-has-community-shell .tool-grid > .tool-main { grid-column: 1; grid-row: 1; min-width: 0; }
  body.t2w-has-community-shell .tool-grid > .tool-side { grid-column: 2; grid-row: 1; min-width: 0; position: sticky; top: var(--space-6); }
  body.t2w-has-community-shell .tool-side :is(.wage-result, .pay-result):not(:empty) { margin-top: 0; }
  body.t2w-has-community-shell .tool-side :is(.wage-result, .pay-result):empty::before { content: attr(data-empty); display: block; padding: var(--space-8) var(--space-5); border: 1px dashed var(--comm-line); border-radius: var(--t2w-r,12px); color: var(--comm-muted); font-size: 14px; line-height: 1.7; text-align: center; }
}
body.t2w-has-community-shell .reader-static .reader-home{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;margin-left:auto;color:var(--comm-text);font-size:15px;text-decoration:none}
body.t2w-has-community-shell .reader-static .reader-bar{gap:8px}
body.t2w-has-community-shell .reader-static .reader-back{white-space:normal;height:auto;flex-shrink:0;max-width:55%}

/* Brand decoration is separate from the news category and reading controls. */
body.t2w-has-community-shell .comm-hero-title::after {
    content: "";
    display: inline-block;
    width: 28px;
    height: 24px;
    margin-left: var(--t2w-space-2);
    vertical-align: -.1em;
    background: var(--t2w-gg);
    -webkit-mask: var(--t2w-southern-cross) center / contain no-repeat;
    mask: var(--t2w-southern-cross) center / contain no-repeat;
    pointer-events: none;
}

/* Editorial life guides: title first, compact illustration, readable steps. */
body.t2w-has-community-shell .rp--life .rp-hero { width: auto; height: auto; aspect-ratio: 3 / 2; max-height: 320px; margin: 0 24px; border-radius: var(--t2w-r,12px); overflow: hidden; background: var(--comm-bg); }
body.t2w-has-community-shell .rp--life .rp-hero__img { display: block; width: 100%; height: 100%; object-fit: contain; }
body.t2w-has-community-shell .rp--life .rp-hero[hidden] { display: none; }
body.t2w-has-community-shell .rp--life .rp-text h2 { margin: 28px 0 12px; font-size: 23px; line-height: 1.5; color: var(--comm-ink); }
body.t2w-has-community-shell .rp--life .rp-text a { overflow-wrap: anywhere; text-decoration: underline; text-underline-offset: 3px; }
body.t2w-has-community-shell .rp--life .life-guide-steps { padding: 16px 16px 16px 38px; border: 1px solid var(--comm-line); border-radius: var(--t2w-r,12px); background: var(--gold-bg); }
body.t2w-has-community-shell .rp--life .life-guide-steps li { padding: 4px 0 4px 4px; }
body.t2w-has-community-shell .rp--life .life-guide-steps li::marker { color: var(--comm-ink); font-weight: 800; }
@media (max-width: 600px) {
    body.t2w-has-community-shell .rp--life .rp-hero { margin: 0 16px; max-height: 210px; }
    body.t2w-has-community-shell .rp--life .rp-text h2 { font-size: 21px; }
}


/* Community discovery: one feed, four routes, explicit regional coverage. */
.t2w-page-community .rp--life .life-guide-step-visuals { display:grid; gap:16px; margin:16px 0 24px; }
.t2w-page-community .rp--life .life-guide-step-figure { margin:0; padding:12px; border:1px solid var(--comm-line); border-radius:var(--t2w-r,12px); background:var(--color-white); }
.t2w-page-community .rp--life .life-guide-screen-action { margin:0 0 14px; font-size:16px; line-height:1.7; }
.t2w-page-community .rp--life .life-guide-screen-action strong { display:block; margin-bottom:5px; color:var(--comm-ink); }
.t2w-page-community .rp--life .life-guide-zoom-link { display:block; color:var(--color-secondary,#1e3a5f); }
.t2w-page-community .rp--life .life-guide-zoom-link img { display:block; width:100%; height:auto; max-height:480px; object-fit:contain; }
.t2w-page-community .rp--life .life-guide-zoom-link span { display:flex; align-items:center; min-height:44px; font-size:15px; text-decoration:underline; }
.t2w-page-community .rp--life .life-guide-step-figure figcaption { color:var(--comm-muted); font-size:13px; line-height:1.7; overflow-wrap:anywhere; }
body.t2w-has-community-shell .t2w-page-community[data-community-ia="2"] { max-width: 1040px; }
.t2w-page-community[data-community-ia="2"] .comm-hero { align-items:center; gap:16px; }
.t2w-page-community[data-community-ia="2"] .comm-hero-actions { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.t2w-page-community[data-community-ia="2"] .comm-region-trigger { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:8px 14px; border:1px solid var(--comm-line); border-radius:var(--t2w-r-pill,999px); background:var(--color-white); color:var(--comm-ink); font:inherit; font-size:15px; white-space:nowrap; }
.t2w-page-community[data-community-ia="2"] .feed-tabs { justify-content:flex-start; gap:20px; overflow:visible; }
.t2w-page-community[data-community-ia="2"] .feed-tab { padding:0 12px; }
.t2w-page-community[data-community-ia="2"] .feed-layout { display:block; margin-top:12px; }
.t2w-page-community[data-community-ia="2"] .comm-feed-heading { min-height:32px; align-items:center; margin:0; gap:8px; }
.t2w-page-community[data-community-ia="2"] .comm-feed-heading h2 { font-size:15px; font-weight:600; }
.t2w-page-community[data-community-ia="2"] #communityResultCount { font-size:13px; color:var(--comm-muted); margin-right:auto; }
.t2w-page-community[data-community-ia="2"] .feed-card.fc-compact { display:grid; grid-template-columns:minmax(0,1fr) 160px; align-items:center; gap:24px; padding:18px 0; min-height:137px; }
.t2w-page-community[data-community-ia="2"] .feed-card.fc-filtered-out,
.t2w-page-community[data-community-ia="2"] .feed-card.fc-search-hidden { display:none; }
.t2w-page-community[data-community-ia="2"] .feed-card.fc-compact .fc-compact__thumb { grid-column:2; grid-row:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; flex-shrink:0; width:160px; height:100px; border-radius:var(--t2w-r,12px); background:var(--color-bg-light,#f5f6f8); overflow:hidden; }
.t2w-page-community[data-community-ia="2"] .fc-compact__thumb img { display:block; width:100%; height:100%; object-fit:cover; }
.t2w-page-community[data-community-ia="2"] .feed-card[data-info-type="guide"] .fc-compact__thumb img,
.t2w-page-community[data-community-ia="2"] .feed-card[data-category="news"] .fc-compact__thumb img { object-fit:contain; }
.t2w-page-community[data-community-ia="2"] .fc-compact__thumb img[hidden] { display:none; }
.t2w-page-community[data-community-ia="2"] .fc-compact__body { grid-column:1; grid-row:1; display:grid; grid-template-rows:20px minmax(51px,auto) 20px; gap:4px; align-content:center; min-width:0; }
.t2w-page-community[data-community-ia="2"] .fc-compact__kicker { display:flex; gap:8px; min-width:0; color:var(--comm-muted); font-size:13px; line-height:20px; white-space:nowrap; overflow:hidden; }
.t2w-page-community[data-community-ia="2"] .fc-compact__kicker strong { color:var(--color-secondary,#1e3a5f); font-weight:700; flex-shrink:0; }
.t2w-page-community[data-community-ia="2"] .fc-compact__kicker span { overflow:hidden; text-overflow:ellipsis; }
.t2w-page-community[data-community-ia="2"] .feed-card.fc-compact .fc-title { font-size:18px; line-height:1.5; min-height:3em; margin:0; overflow:hidden; }
.t2w-page-community[data-community-ia="2"] .fc-compact__meta { display:flex; flex-wrap:nowrap; white-space:nowrap; overflow:hidden; min-width:0; line-height:20px; gap:5px; }
.t2w-page-community[data-community-ia="2"] .fc-compact__meta > span { flex-shrink:0; }
.t2w-page-community[data-community-ia="2"] .fc-compact__meta > span:nth-child(3) { flex-shrink:1; min-width:0; overflow:hidden; text-overflow:ellipsis; }
.t2w-page-community[data-community-ia="2"] .fc-compact__meta .fc-compact__region { display:none; }
.t2w-page-community[data-community-ia="2"] .fc-answer-state { display:block; max-width:100%; padding:0 6px; font-size:13px; line-height:1.4; text-align:center; color:var(--color-secondary,#1e3a5f); }
.t2w-page-community[data-community-ia="2"] .fc-compact__thumb--qa .material-symbols-outlined { color:var(--color-secondary,#1e3a5f); font-size:32px; }
.t2w-page-community[data-community-ia="2"] .comm-info-filters { border:0; border-bottom:1px solid var(--comm-line); margin:0; padding:0; }
.t2w-page-community[data-community-ia="2"] .comm-info-filters summary { min-height:44px; display:flex; align-items:center; flex-wrap:wrap; font-size:15px; cursor:pointer; color:var(--comm-ink); }
.t2w-page-community[data-community-ia="2"] .comm-info-filters summary::after { content:'⌄'; margin-left:auto; }
.t2w-page-community[data-community-ia="2"] .comm-info-filters[open] summary::after { content:'⌃'; }
.t2w-page-community[data-community-ia="2"] #infoFilterSummary { color:var(--comm-muted); }
.t2w-page-community[data-community-ia="2"] .comm-filter-fields { display:flex; gap:16px; padding:0 0 14px; }
.t2w-page-community[data-community-ia="2"] .comm-filter-fields label { flex:1; font-size:13px; min-width:0; }
.t2w-page-community[data-community-ia="2"] select { display:block; width:100%; min-height:44px; border:1px solid var(--comm-line); border-radius:var(--t2w-r-sm,8px); background:var(--color-white); color:var(--comm-ink); padding:8px 10px; font:inherit; }
.t2w-page-community[data-community-ia="2"] .comm-region-dialog { position:fixed; inset:0; margin:auto; width:calc(100% - 32px); max-width:440px; max-height:90vh; overflow:auto; padding:24px; border:0; border-radius:var(--t2w-r,12px); color:var(--comm-ink); background:var(--color-white); box-shadow:0 20px 60px #0003; }
.t2w-page-community[data-community-ia="2"] .comm-region-dialog::backdrop { background:#10213588; }
.t2w-page-community[data-community-ia="2"] .comm-region-dialog h2 { margin:0 0 20px; font-size:24px; }
.t2w-page-community[data-community-ia="2"] .comm-region-dialog label { display:block; font-size:15px; margin:14px 0; }
.t2w-page-community[data-community-ia="2"] .comm-region-dialog p { font-size:15px; line-height:1.7; color:var(--comm-muted); }
.t2w-page-community[data-community-ia="2"] .comm-region-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:20px; }
.t2w-page-community[data-community-ia="2"] .comm-region-actions button,
.t2w-page-community[data-community-ia="2"] [data-community-reset] { min-height:44px; padding:8px 18px; border:1px solid var(--comm-line); border-radius:var(--t2w-r-sm,8px); background:var(--color-white); color:var(--comm-ink); font:inherit; font-size:15px; }
.t2w-page-community[data-community-ia="2"] #regionPickerApply { background:var(--color-secondary,#1e3a5f); color:white; }
.t2w-page-community[data-community-ia="2"] [hidden] { display:none !important; }
.t2w-page-community[data-community-ia="2"] :is(button,select,summary):focus-visible { outline:3px solid var(--color-secondary,#1e3a5f); outline-offset:3px; }
@media(max-width:600px) {
 .t2w-page-community[data-community-ia="2"] .comm-hero { flex-wrap:nowrap; gap:8px; }
 .t2w-page-community[data-community-ia="2"] .comm-hero-text { width:auto; min-width:0; }
 .t2w-page-community[data-community-ia="2"] .comm-hero-title { font-size:23px; white-space:nowrap; margin:0; }
 .t2w-page-community[data-community-ia="2"] .comm-hero-title::after { width:14px; margin-left:4px; }
 .t2w-page-community[data-community-ia="2"] .comm-hero-actions { width:auto; gap:6px; }
 .t2w-page-community[data-community-ia="2"] .comm-region-trigger { padding:8px 10px; font-size:13px; }
 .t2w-page-community[data-community-ia="2"] .comm-hero-write { width:44px; min-width:44px; padding:8px; }
 .t2w-page-community[data-community-ia="2"] .comm-write-label { display:none; }
 .t2w-page-community[data-community-ia="2"] .comm-hero-sub { display:none; }
 .t2w-page-community[data-community-ia="2"] .comm-page-header { margin-bottom:14px; }
 .t2w-page-community[data-community-ia="2"] .feed-tabs { justify-content:space-between; gap:0; }
 .t2w-page-community[data-community-ia="2"] .feed-tab { padding:0 8px; font-size:15px; }
 .t2w-page-community[data-community-ia="2"] .feed-card.fc-compact { grid-template-columns:minmax(0,1fr) 112px; gap:12px; padding:14px 0; min-height:128px; }
 .t2w-page-community[data-community-ia="2"] .feed-card.fc-compact .fc-compact__thumb { width:112px; height:70px; border-radius:var(--t2w-r-sm,8px); }
 .t2w-page-community[data-community-ia="2"] .fc-compact__body { grid-template-rows:18px minmax(45px,auto) 18px; }
 .t2w-page-community[data-community-ia="2"] .feed-card.fc-compact .fc-title { font-size:16px; }
 .t2w-page-community[data-community-ia="2"] .fc-compact__kicker { font-size:13px; line-height:18px; gap:5px; }
 .t2w-page-community[data-community-ia="2"] .fc-compact__meta { font-size:13px; line-height:18px; }
 .t2w-page-community[data-community-ia="2"] .fc-answer-state { font-size:13px; }
 .t2w-page-community[data-community-ia="2"] .fc-compact__thumb--qa .material-symbols-outlined { font-size:24px; }
}

/* Two distinct purposes share the same region/search and card rhythm. */
.t2w-page-community[data-community-spaces="2"] .feed-tabs { gap:24px; justify-content:flex-start; }
.t2w-page-community[data-community-spaces="2"] .feed-tab { min-height:48px; padding:0 8px; }
@media(max-width:600px) {
 .t2w-page-community[data-community-spaces="2"] .feed-tabs { gap:0; }
 .t2w-page-community[data-community-spaces="2"] .feed-tab { flex:1; text-align:center; }
}

/* 2026-09-16: 글 고정 주소 페이지 — 읽기 창(.rp) 뼈대를 페이지 폭에 맞춰 그린다 */
.t2w-page-community-post { max-width: 760px; margin: 0 auto; padding: 8px 0 48px; }
.t2w-page-community-post .rp--page { background: var(--color-white, #fff); }
.t2w-page-community-post .rp-page__crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: 12px; font-size: 15px; color: var(--comm-muted, #6b7280); }
.t2w-page-community-post .rp-page__crumbs a { color: inherit; text-decoration: none; min-height: 32px; display: inline-flex; align-items: center; }
.t2w-page-community-post .rp-page__crumbs a:hover { text-decoration: underline; }
.t2w-page-community-post .rp-text h2 { margin: 28px 0 10px; font-size: 22px; line-height: 1.45; font-weight: 700; color: var(--comm-ink, #111827); }
.t2w-page-community-post .rp-text p, .t2w-page-community-post .rp-text li { font-size: 16px; line-height: 1.8; }
.t2w-page-community-post .rp-page__more { margin: 36px 0 0; padding: 20px 0 0; border-top: 1px solid var(--comm-line, #e5e7eb); }
.t2w-page-community-post .rp-page__more h2 { margin: 0 0 8px; font-size: 16px; font-weight: 700; }
.t2w-page-community-post .rp-page__more ul { list-style: none; margin: 0; padding: 0; }
.t2w-page-community-post .rp-page__more li { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--comm-line, #e5e7eb); font-size: 16px; line-height: 1.5; }
.t2w-page-community-post .rp-page__more li a { flex: 1 1 auto; color: var(--comm-ink, #111827); text-decoration: none; font-weight: 600; }
.t2w-page-community-post .rp-page__more li a:hover { text-decoration: underline; }
.t2w-page-community-post .rp-page__more li span { flex: none; color: var(--comm-muted, #6b7280); font-size: 15px; }
.t2w-page-community-post .rp-page__board { display: inline-flex; align-items: center; min-height: 44px; margin-top: 8px; font-size: 15px; font-weight: 700; color: var(--color-secondary, #1e3a5f); text-decoration: none; }
.feed-card .fc-title__link { color: inherit; text-decoration: none; }
@media (max-width: 600px) { .t2w-page-community-post { padding-bottom: 32px; } .t2w-page-community-post .rp-text p, .t2w-page-community-post .rp-text li { font-size: 16px; } }

/* 2026-09-16 마스터: 추천·비교 글의 표·상품 사진·숫자 상자 — 읽기 창(.rp-text)과 글 페이지 공통 */
.rp-text .t2w-cmp-wrap { margin: 16px 0 20px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.rp-text table.t2w-cmp { width: 100%; min-width: 420px; border-collapse: collapse; font-size: 15px; line-height: 1.5; }
.rp-text table.t2w-cmp caption { caption-side: top; text-align: left; padding: 0 0 8px; font-size: 15px; font-weight: 700; color: var(--comm-ink, #111827); }
.rp-text table.t2w-cmp th, .rp-text table.t2w-cmp td { padding: 9px 10px; border-bottom: 1px solid var(--comm-line, #e5e7eb); text-align: left; vertical-align: top; }
.rp-text table.t2w-cmp th { background: var(--comm-bg, #f8f7f3); font-weight: 700; color: var(--comm-ink, #111827); white-space: nowrap; }
.rp-text table.t2w-cmp td.num, .rp-text table.t2w-cmp th.num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.rp-text table.t2w-cmp tr.is-best td { background: var(--gold-bg, #fff8e6); font-weight: 700; }
.rp-text .t2w-stat { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; margin: 16px 0 20px; }
.rp-text .t2w-stat__item { padding: 14px 14px 12px; border: 1px solid var(--comm-line, #e5e7eb); border-radius: var(--t2w-r,12px); background: var(--comm-bg, #f8f7f3); }
.rp-text .t2w-stat__item b { display: block; font-size: 24px; line-height: 1.2; font-weight: 800; color: var(--comm-ink, #111827); letter-spacing: -.01em; }
.rp-text .t2w-stat__item span { display: block; margin-top: 4px; font-size: 13px; line-height: 1.4; color: var(--comm-muted, #6b7280); }
.rp-text figure.t2w-fig { margin: 16px 0 20px; padding: 0; }
.rp-text figure.t2w-fig img { display: block; width: auto; max-width: 100%; max-height: 260px; margin: 0 auto; border-radius: var(--t2w-r,12px); background: #fff; }
.rp-text figure.t2w-fig figcaption { margin-top: 6px; text-align: center; font-size: 13px; line-height: 1.4; color: var(--comm-muted, #6b7280); }
.rp-text .t2w-fig-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 12px; margin: 16px 0 20px; }
.rp-text .t2w-fig-row figure.t2w-fig { margin: 0; }
.rp-text .t2w-fig-row figure.t2w-fig img { max-height: 160px; }
@media (max-width: 600px) { .rp-text table.t2w-cmp { font-size: 15px; } .rp-text .t2w-stat__item b { font-size: 22px; } }
/* Three Life content tabs and a separate, collapsed group of reader-tool links. */
.feed-tabs-row { display: flex; align-items: stretch; gap: 6px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.feed-tabs-row::-webkit-scrollbar { display: none; }
.feed-tabs-row .feed-tabs { flex: 1 1 auto; overflow: visible; }
.feed-tools { display: flex; flex: 0 0 auto; align-items: stretch; gap: 6px; margin-left: auto; }
.comm-life-tools { border-bottom: 1px solid var(--comm-line); }
.comm-life-tools > summary { display: flex; align-items: center; min-height: 44px; font-size: 15px; cursor: pointer; }
.comm-life-tools > summary::after { content: '⌄'; margin-left: auto; }
.comm-life-tools[open] > summary::after { content: '⌃'; }
.comm-life-tools .feed-tools { flex-wrap: wrap; margin: 0; }
.feed-tab--link { text-decoration: none; }
body.t2w-has-community-shell .feed-tabs-row { border-bottom: 1px solid var(--comm-line); }
body.t2w-has-community-shell .feed-tabs-row .feed-tabs { border-bottom: 0; }
body.t2w-has-community-shell .feed-tab--link { color: var(--comm-muted); border-bottom-color: transparent; }
body.t2w-has-community-shell .feed-tab--link:hover { color: var(--comm-ink); }

/* A service destination, separate from the three community tabs and life tools. */
.comm-settle-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 4px 0; color: var(--comm-ink, var(--color-secondary-dark)); font-size: 15px; font-weight: 600; text-decoration: none; }
.comm-settle-link:hover { text-decoration: underline; }
.comm-settle-link:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

/* Approved editorial Life page. Existing reader/filter/assistant owners stay intact. */
body.t2w-has-community-shell:has([data-community-design="editorial"]) .site-content>.container { margin-top:0; }
body.t2w-has-community-shell .t2w-page-community[data-community-design="editorial"] { --comm-ink:var(--t2w-ink, #152A47); }
body.t2w-has-community-shell .t2w-page-community[data-community-design="editorial"] { max-width:var(--t2w-wrap-max); padding-top:var(--space-8); }
.comm-editorial-eyebrow { display:block; font-size:13px; letter-spacing:.15em; font-weight:600; color:var(--color-text-secondary); }
.comm-editorial-search,.comm-editorial-types,.fc-editorial-summary { display:none; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-page-header { display:flex; align-items:center; justify-content:space-between; gap:var(--space-6); margin-bottom:var(--space-6); }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-hero { margin:0; padding:0; flex:1; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-hero-title { font-size:36px; line-height:1.4; margin:var(--space-2) 0; letter-spacing:-.04em; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-hero-title::after { display:none; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-hero-sub { font-size:15px; margin:0; color:var(--comm-muted); }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-search-bar { display:flex; width:340px; flex:none; margin:0; min-height:48px; padding:0 var(--space-4); border-radius:var(--t2w-r,12px); }
body.t2w-has-community-shell .t2w-page-community[data-editorial-ready] .feed-search { display:none; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-search-bar input { height:46px; font-size:15px; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-tabs-row { display:flex; align-items:center; border-bottom:1px solid var(--comm-line); gap:var(--space-4); }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-tabs { flex:1; border:0; gap:var(--space-6); }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-tab { min-height:50px; font-size:16px; padding:0 var(--space-2); }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-hero-write { min-height:44px; height:44px; padding:0 var(--space-3); background:transparent; color:var(--comm-ink); box-shadow:none; font-size:15px; border:1px solid var(--comm-line); }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-editorial-toolbar { display:flex; align-items:center; gap:var(--space-3); padding-top:var(--space-4); }
body.t2w-has-community-shell .t2w-page-community[data-editorial-ready] .comm-editorial-types { display:flex; gap:var(--space-1); margin-right:auto; }
.comm-editorial-types button { min-height:44px; padding:0 var(--space-4); border:0; border-radius:var(--t2w-r-pill,999px); background:transparent; color:var(--comm-ink); font:inherit; font-size:15px; font-weight:600; box-shadow:none; }
.comm-editorial-types button[aria-pressed="true"] { background:var(--comm-ink); color:var(--color-white); }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-info-filters { border:0; margin:0; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-info-filters summary { display:none; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-filter-fields { gap:var(--space-2); padding:0; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-filter-fields label { font-size:0; flex:none; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-filter-fields select { font-size:15px; min-width:120px; max-width:180px; }
body.t2w-has-community-shell .t2w-page-community[data-editorial-info="true"] .comm-filter-fields label:has(#infoType) { display:none; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-region-trigger { font-size:15px; border-radius:var(--t2w-r,12px); }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-feed-heading { min-height:38px; margin-bottom:var(--space-2); }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-feed-heading h2 { font-size:13px; color:var(--comm-muted); font-weight:400; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] #communityRegionLabel { display:none; }
.comm-editorial { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,29%); gap:var(--space-10); align-items:start; }
.comm-editorial--single { grid-template-columns:minmax(0,1fr); }
.comm-editorial-news,.comm-editorial-guides { min-width:0; }
.comm-editorial-section-head { display:flex; justify-content:space-between; gap:var(--space-3); align-items:center; margin:var(--space-3) 0 var(--space-4); }
body.t2w-has-community-shell .comm-editorial-section-head h2 { font-size:18px; font-weight:700; margin:0; }
.comm-editorial-section-head>span { color:var(--comm-muted); font-size:13px; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.fc-compact { display:flex; align-items:center; gap:var(--space-6); padding:var(--space-6) 0; min-height:0; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.fc-filtered-out,
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.fc-search-hidden { display:none; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .fc-compact__body { display:block; flex:1; min-width:0; order:0; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card .fc-compact__thumb { order:1; width:142px; height:102px; border-radius:var(--t2w-r,12px); }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card .fc-compact__thumb--ph { display:none; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card .fc-title { min-height:0; margin:var(--space-2) 0 var(--space-3); font-size:21px; line-height:1.6; font-weight:700; -webkit-line-clamp:unset; white-space:normal; word-break:keep-all; overflow-wrap:anywhere; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .fc-title__link { text-decoration:none; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .fc-compact__meta { font-size:13px; line-height:1.8; min-height:0; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .fc-compact__end { display:none; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.is-editorial-lead { display:block; background:color-mix(in srgb,var(--t2w-gg) 9%,var(--color-white)); padding:var(--space-6) var(--space-8); border:0; border-radius:var(--t2w-r,12px); position:relative; margin-bottom:var(--space-2); }
.is-editorial-lead::before { content:''; position:absolute; left:0; top:var(--space-8); width:3px; height:28px; background:var(--t2w-gg); }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .is-editorial-lead .fc-title { font-size:32px; line-height:1.5; letter-spacing:-.035em; margin:var(--space-3) 0 var(--space-4); }
.is-editorial-lead .fc-editorial-summary { display:block; margin:0 0 var(--space-5); font-size:15px; line-height:1.8; color:var(--comm-muted); word-break:keep-all; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .is-editorial-lead .fc-compact__meta { border-top:1px solid var(--comm-line); padding-top:var(--space-4); }
.comm-editorial-guides { border:1px solid var(--comm-line); border-radius:var(--t2w-r,12px); padding:var(--space-6); background:var(--color-bg-light); }
body.t2w-has-community-shell .comm-editorial-guides h2 { font-size:28px; line-height:1.5; font-weight:700; margin:var(--space-3) 0; letter-spacing:-.03em; }
.comm-editorial-guide-intro { font-size:15px; line-height:1.6; color:var(--comm-muted); margin:0 0 var(--space-5); }
.comm-editorial-guide-mobile { display:none; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-editorial-guides .feed-card { padding:var(--space-4) 0; border-top:1px solid var(--comm-line); border-bottom:0; background:transparent; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .fc-title__link { white-space:normal; display:block; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-editorial-guides .fc-title { font-size:15px; font-weight:600; line-height:1.65; margin:var(--space-1) 0 var(--space-2); }
.comm-editorial-all-guides { display:flex; width:100%; justify-content:space-between; align-items:center; min-height:48px; margin-top:var(--space-3); padding:0 var(--space-3); background:var(--color-white); border:1px solid var(--comm-line); border-radius:var(--t2w-r,12px); color:var(--comm-ink); font:inherit; font-size:15px; }
.comm-editorial-utility { display:flex; align-items:flex-start; gap:var(--space-6); margin:var(--space-6) 0; border-top:1px solid var(--comm-line); padding-top:var(--space-3); }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-editorial-utility .comm-life-tools { border:0; margin:0; }
body.t2w-has-community-shell .t2w-page-community[data-editorial-ready] .comm-discover { display:none; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .rp-news-header { padding-top:var(--space-10); }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .rp-news-header .rp-title { font-size:40px; line-height:1.5; letter-spacing:-.035em; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .rp-news-byline { gap:var(--space-3); font-size:15px; line-height:1.8; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .rp-meaning { background:var(--color-bg-cream); border-left:3px solid var(--t2w-gg); padding:var(--space-5) var(--space-6); border-radius:0 var(--t2w-r,12px) var(--t2w-r,12px) 0; font-size:16px; line-height:1.9; margin:var(--space-4) 0 var(--space-6); }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .rp-text p { font-size:18px; line-height:1.95; margin:0 0 var(--space-6); }
.comm-editorial-dock,.comm-editorial-chat-label { display:none; }
@media(max-width:650px) {
 body.t2w-has-community-shell .t2w-page-community[data-editorial-overview="true"] .comm-feed-heading { position:absolute; width:1px; height:1px; min-height:0; overflow:hidden; clip-path:inset(50%); }
 .comm-editorial-dock { display:flex; position:fixed; bottom:0; left:0; right:0; z-index:990; min-height:64px; padding:var(--space-1) var(--space-2) max(var(--space-1),env(safe-area-inset-bottom)); background:var(--color-white); border-top:1px solid var(--color-border); justify-content:space-around; }
 .comm-editorial-dock>a { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:var(--space-1); min-width:64px; min-height:52px; color:var(--color-text-muted); font-size:13px; text-decoration:none; }
 .comm-editorial-dock>a>span:first-child { font-size:26px; height:26px; }
 .comm-editorial-dock>a[aria-current] { color:var(--color-secondary-dark); background:var(--color-bg-light); border-radius:var(--t2w-r,12px); }
 body .comm-editorial-dock #t2w-chat-fab.comm-editorial-chat-docked { display:flex; position:static; flex-direction:column; align-items:center; justify-content:center; gap:var(--space-1); width:64px; height:52px; min-height:52px; padding:0; margin:0; border:0; border-radius:var(--t2w-r,12px); background:transparent; color:var(--color-secondary-dark); box-shadow:none; transform:none; animation:none; }
 .comm-editorial-dock .comm-editorial-chat-label { display:block; font-size:13px; font-weight: 600; }
 .comm-editorial-dock .t2w-chat-fab::before,.comm-editorial-dock .t2w-chat-fab::after { display:none; }
 body:has(.reader.is-open) .comm-editorial-dock { display:none; }
}
@media(max-width:1024px) {
 .comm-editorial { gap:var(--space-6); grid-template-columns:minmax(0,1fr) 260px; }
 .comm-editorial--single { grid-template-columns:minmax(0,1fr); }
 .comm-editorial-guides { padding:var(--space-5); }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-search-bar { width:290px; }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-hero-title { font-size:27px; }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card .fc-title { font-size:18px; }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .is-editorial-lead .fc-title { font-size:25px; }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card .fc-compact__thumb { width:104px; height:83px; }
}
@media(max-width:650px) {
 body.t2w-has-community-shell .t2w-page-community[data-community-design] { padding-top:var(--space-3); }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-page-header { display:block; margin-bottom:var(--space-2); }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-hero { min-height:44px; gap:var(--space-2); }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-hero-text { flex:1; }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-hero-title { font-size:26px; white-space:normal; line-height:1.5; margin:0; }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-hero-sub,.comm-hero-text>.comm-editorial-eyebrow { display:none; }
 body.t2w-has-community-shell .t2w-page-community[data-editorial-ready] .comm-editorial-search { display:grid; place-items:center; width:44px; height:44px; flex:none; border:0; border-radius:50%; background:var(--color-bg-light); color:var(--comm-ink); }
 body.t2w-has-community-shell .t2w-page-community[data-editorial-ready] .comm-search-bar { display:none; width:100%; margin-top:var(--space-2); }
 body.t2w-has-community-shell .t2w-page-community[data-editorial-ready] .comm-search-bar.is-editorial-search-open { display:flex; }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-tabs-row { gap:var(--space-2); }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-tabs { gap:0; }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-tab { min-height:47px; font-size:15px; padding:0 var(--space-1); }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-hero-write { width:44px; padding:0; min-width:44px; }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-editorial-toolbar { padding-top:var(--space-2); gap:var(--space-1); }
 .comm-editorial-types button { font-size:13px; padding:0 var(--space-3); }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-region-trigger { font-size:13px; padding:0 var(--space-2); min-height:44px; }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-info-filters { position:relative; }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-info-filters summary { display:flex; min-width:44px; font-size:13px; gap:var(--space-1); }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-info-filters[open] .comm-filter-fields { position:absolute; top:44px; right:0; padding:var(--space-3); min-width:180px; background:var(--color-white); border:1px solid var(--comm-line); border-radius:var(--t2w-r,12px); z-index:10; box-shadow:var(--shadow-lg); flex-wrap:wrap; }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] #infoFilterSummary { max-width:65px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-feed-heading { min-height:24px; margin:0; }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-feed-heading h2,body.t2w-has-community-shell .t2w-page-community[data-community-design] #communityResultCount { font-size:13px; }
 .comm-editorial { display:block; }
 .comm-editorial-section-head { margin:var(--space-1) 0 var(--space-2); }
 body.t2w-has-community-shell .comm-editorial-section-head h2 { font-size:16px; }
 .comm-editorial-section-head>span { font-size:13px; }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.fc-compact { padding:var(--space-5) 0; gap:var(--space-3); }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card .fc-title { font-size:16px; }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card .fc-compact__thumb { width:88px; height:74px; }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.is-editorial-lead { padding:var(--space-5); }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .is-editorial-lead .fc-title { font-size:26px; margin:var(--space-2) 0 var(--space-3); }
 .is-editorial-lead .fc-editorial-summary { font-size:15px; }
 .comm-editorial-guides { margin:var(--space-6) 0; padding:var(--space-5); }
 .comm-editorial-guides>.comm-editorial-eyebrow,.comm-editorial-guide-desktop,.comm-editorial-guide-intro { display:none; }
 .comm-editorial-guide-mobile { display:inline; }
 body.t2w-has-community-shell .comm-editorial-guides h2 { font-size:18px; margin:0 0 var(--space-3); }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-editorial-guides .feed-card .fc-title { font-size:15px; }
 .comm-editorial-utility { flex-wrap:wrap; gap:var(--space-3); }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .rp-news-header { padding-top:var(--space-6); }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .rp-news-header .rp-title { font-size:27px; }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .rp-meaning { padding:var(--space-4); font-size:15px; }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .rp-text p { font-size:16px; }
}


/* Keep editorial surfaces and controls independent of theme defaults. */
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-editorial .fc-list { background:transparent; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-editorial-types button { box-shadow:none; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-search-bar input { border:0; box-shadow:none; padding:0; background:transparent; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card .fc-title { display:block; }

/* Life spaces: shared entry, distinct reading/list/comparison surfaces. */
body.t2w-has-community-shell .t2w-page-community[data-community-design] { --t2w-life-blue: #dceaf5; --t2w-life-sage: #e4eee7; --t2w-life-lilac: #eee7f6; --t2w-life-ink: var(--t2w-ink, #152A47); --t2w-life-line: var(--t2w-line, #E5E7EB); --t2w-life-shadow: 0 6px 18px rgba(37,57,77,.055); padding-top:20px; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-hero-title { font-size:32px; margin:6px 0; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-page-header { margin-bottom:18px; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-search-bar { width:300px; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-tabs-row { border:0; gap:12px; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-tabs { gap:6px; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-tab { border:1px solid var(--t2w-life-line); border-radius:var(--t2w-r,12px); min-height:46px; padding:0 20px; color:var(--t2w-ink-3, #6B7280); background:var(--color-white); }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-tab::after { display:none; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-tab.is-active { color:var(--t2w-life-ink); border-color:#b9cddd; background:linear-gradient(150deg,var(--color-white),var(--t2w-life-blue)); box-shadow:inset 0 1px 0 var(--color-white),var(--t2w-life-shadow); }
body.t2w-has-community-shell .t2w-page-community[data-community-design] #tab-talk.is-active { background:linear-gradient(150deg,var(--color-white),var(--t2w-life-sage)); border-color:#b9cec0; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] #tab-picks.is-active { background:linear-gradient(150deg,var(--color-white),var(--t2w-life-lilac)); border-color:#d1c2e0; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-tab:focus-visible { outline:2px solid #314e68; outline-offset:2px; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-space-intro { padding:0; margin:0 0 8px; border-radius:0; background:transparent; color:#435b4d; font-size:15px; line-height:1.6; }
body.t2w-has-community-shell #panel-picks .comm-space-intro { background:transparent; color:#5d5070; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] #panel-talk .feed-card.fc-compact { padding:12px var(--space-5); gap:16px; border-bottom:1px solid var(--t2w-life-line); background:transparent; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] #panel-talk .fc-compact__meta { margin-top:2px; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] #panel-picks .fc-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; background:transparent; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] #panel-picks .feed-card.fc-compact { padding:18px; border:1px solid #ded2ea; border-radius:var(--t2w-r,12px); background:linear-gradient(145deg,var(--color-white),var(--t2w-life-lilac)); box-shadow:inset 0 1px 0 var(--color-white),var(--t2w-life-shadow); gap:14px; align-items:flex-start; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] #panel-picks .fc-title { font-size:16px; line-height:1.55; margin:8px 0 12px; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.is-editorial-lead { background:linear-gradient(125deg,var(--t2w-life-blue),#f4f8fb); box-shadow:inset 0 1px 0 var(--color-white),var(--t2w-life-shadow); }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .is-editorial-lead::before { background:#91afc8; width:4px; border-radius:0 var(--t2w-r-sm,8px) var(--t2w-r-sm,8px) 0; }
body.t2w-has-community-shell .t2w-page-community:has(#tab-picks.is-active) .comm-filter-fields label:has(#infoType) { display:none; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-editorial-guides { background:linear-gradient(155deg,var(--t2w-life-sage),var(--color-white)); border-color:#ceded3; box-shadow:inset 0 1px 0 var(--color-white),var(--t2w-life-shadow); }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-editorial-guides .feed-card { border-bottom-color:#d2dfd6; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] #panel-talk .fc-list { background:linear-gradient(130deg,var(--t2w-life-sage),var(--color-white) 65%); border:1px solid #ceded3; border-radius:var(--t2w-r,12px); box-shadow:var(--t2w-life-shadow); }
body.t2w-has-community-shell .t2w-page-community[data-community-design] #panel-talk .feed-card:last-child { border-bottom:0; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] #panel-picks .fc-compact__kicker strong { padding:var(--space-1) var(--space-2); margin:calc(-1 * var(--space-1)) 0; border-radius:var(--t2w-r-sm,8px); background:#e1d5ed; color:#554265; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] #panel-picks .fc-compact__meta { border-top:1px solid #ded2ea; padding-top:var(--space-2); }
@media(hover:hover) {
 body.t2w-has-community-shell .t2w-page-community[data-community-design] #panel-talk .feed-card:hover { background:color-mix(in srgb,var(--color-white) 65%,transparent); }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] #panel-picks .feed-card:hover { border-color:#bba7ce; box-shadow:inset 0 1px 0 var(--color-white),0 8px 22px rgba(65,45,90,.09); }
}
@media(min-width:901px) {
 body.t2w-has-community-shell .t2w-page-community[data-community-design] #panel-talk { max-width:880px; }
}
@media(max-width:650px) {
 body.t2w-has-community-shell .t2w-page-community[data-community-design] { padding-top:12px; }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-hero-title { font-size:28px; }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-page-header { margin-bottom:6px; }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-search-bar { width:100%; }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-tabs { gap:4px; }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-tab { min-height:44px; padding:0 8px; font-size:13px; }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] #panel-picks .fc-list { grid-template-columns:minmax(0,1fr); gap:10px; }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] #panel-picks .feed-card.fc-compact { padding:14px; }
 body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-space-intro { padding:0; font-size:13px; }
}
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-filter-fields label { font-size:13px; display:flex; align-items:center; gap:8px; color:var(--t2w-ink-3, #6B7280); white-space:nowrap; }

body.t2w-has-community-shell .t2w-page-community[data-community-design]:has(#tab-talk.is-active) .comm-feed-heading,
body.t2w-has-community-shell .t2w-page-community[data-community-design]:has(#tab-picks.is-active) .comm-feed-heading { min-height:22px; margin-bottom:4px; }

/* Edited article HTML: shared by the existing reader and public permalink. */
.rp-text .t2w-editorial {
 --t2w-article-blue: #edf4fa;
 --t2w-article-sage: #eff5f0;
 --t2w-article-line: #dbe5ec;
 --t2w-article-ink: #263e53;
 color:var(--comm-ink);
 overflow-wrap:anywhere;
}
body .rp-text .t2w-editorial h2 { margin:var(--space-10) 0 var(--space-4); padding:0; font-size:24px; line-height:1.5; font-weight:700; letter-spacing:-.025em; color:var(--t2w-article-ink); }
body .rp-text .t2w-editorial h3 { margin:var(--space-6) 0 var(--space-3); font-size:20px; line-height:1.5; }
body .rp-text .t2w-editorial p { margin:0 0 var(--space-5); font-size:18px; line-height:1.85; word-break:keep-all; }
body .rp-text .t2w-editorial .t2w-article-lead { font-size:20px; line-height:1.8; color:var(--t2w-article-ink); }
.rp-text .t2w-editorial a { color:var(--t2w-article-ink); text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.rp-text .t2w-editorial a:focus-visible { outline:2px solid currentColor; outline-offset:3px; border-radius:var(--t2w-r-sm,8px); }
.rp-text .t2w-editorial .t2w-article-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-4); margin:var(--space-6) 0; padding:var(--space-5); border:1px solid var(--t2w-article-line); border-radius:var(--t2w-r,12px); background:linear-gradient(135deg,var(--t2w-article-blue),var(--color-white)); box-shadow:inset 0 1px 0 var(--color-white); }
.rp-text .t2w-article-facts > div { min-width:0; }
.rp-text .t2w-article-facts dt { color:var(--comm-muted); font-size:15px; font-weight: 600; margin:0 0 var(--space-2); }
.rp-text .t2w-article-facts dd { margin:0; color:var(--t2w-article-ink); font-size:22px; line-height:1.5; font-weight:700; font-variant-numeric:tabular-nums; }
.rp-text .t2w-article-facts > dt { align-self:center; margin:0; }
.rp-text .t2w-editorial .t2w-article-note { margin:var(--space-6) 0; padding:var(--space-5); border-left:3px solid var(--t2w-gg); border-radius:0 var(--t2w-r,12px) var(--t2w-r,12px) 0; background:var(--t2w-article-sage); }
body .rp-text .t2w-editorial .t2w-article-note p:last-child { margin-bottom:0; }
body .rp-text .t2w-editorial ul, body .rp-text .t2w-editorial ol { margin:var(--space-4) 0 var(--space-6); padding-left:var(--space-6); }
body .rp-text .t2w-editorial li { margin:0 0 var(--space-3); padding-left:var(--space-1); font-size:16px; line-height:1.8; }
.rp-text .t2w-editorial .t2w-article-steps > li { padding:var(--space-4) var(--space-4) var(--space-4) var(--space-2); border-bottom:1px solid var(--t2w-article-line); }
.rp-text .t2w-article-steps > li::marker { font-weight:700; color:var(--t2w-article-ink); }
.rp-text .t2w-editorial table { width:100%; margin:var(--space-5) 0; border-collapse:collapse; font-size:16px; line-height:1.7; }
.rp-text .t2w-editorial caption { text-align:left; font-weight:700; padding-bottom:var(--space-3); }
.rp-text .t2w-editorial th, .rp-text .t2w-editorial td { padding:var(--space-3); border-bottom:1px solid var(--t2w-article-line); text-align:left; vertical-align:top; }
.rp-text .t2w-editorial th { background:var(--t2w-article-blue); color:var(--t2w-article-ink); }
.rp-text .t2w-editorial .t2w-article-sources { margin-top:var(--space-10); padding-top:var(--space-5); border-top:1px solid var(--t2w-article-line); color:var(--comm-muted); }
body .rp-text .t2w-editorial .t2w-article-sources h2 { margin:0 0 var(--space-3); font-size:16px; }
body .rp-text .t2w-editorial .t2w-article-sources p, body .rp-text .t2w-editorial .t2w-article-sources li { font-size:15px; }
.rp-text .t2w-article-sources a { display:inline-flex; align-items:center; min-height:44px; }
.rp-text:has(.t2w-editorial .t2w-article-sources) + .rp-source { display:none; }
.rp-text .t2w-editorial img { max-width:100%; height:auto; }
/* 사진 출처 한 줄 — 본문 설명 문단 대신(2026-09-21 마스터 「이런 내용은 본문에 작성하지 마라」).
   조건 표시가 필요한 사진(위키미디어·자료사진)에만 붙고, 기사 사진은 글 아래 출처 줄이 대신한다. */
body .rp-text .t2w-photo-credit,
body .rp-text p.t2w-photo-credit { margin:0 0 var(--space-6); font-size:13px; line-height:1.6; color:var(--comm-muted); }
.rp-text .t2w-photo-credit a { color:inherit; text-decoration:underline; text-underline-offset:2px; }
/* 비교 막대 — 같은 기준의 비율·몫을 나란히(2026-09-21 마스터 「인포그래픽도 적절히」).
   네이티브 <meter> 라 값이 스타일 속성이 아니라 요소에 있다. 이름 · 막대 · 값 세 칸. */
.rp-text .t2w-editorial .t2w-article-bars { list-style:none; margin:var(--space-6) 0; padding:var(--space-5); background:var(--t2w-article-blue); border-radius:var(--t2w-r,12px); display:grid; gap:var(--space-4); }
body .rp-text .t2w-editorial .t2w-article-bars li { display:grid; grid-template-columns:minmax(0,9em) minmax(0,1fr) auto; align-items:center; gap:var(--space-3); margin:0; padding:0; font-size:16px; line-height:1.5; }
.rp-text .t2w-article-bars li > span { color:var(--t2w-article-ink); overflow-wrap:anywhere; }
.rp-text .t2w-article-bars li > strong { color:var(--t2w-article-ink); font-variant-numeric:tabular-nums; white-space:nowrap; }
.rp-text .t2w-article-bars meter { width:100%; height:12px; border:0; border-radius:var(--t2w-r-pill,999px); background:rgba(38,62,83,.12); -webkit-appearance:none; appearance:none; }
.rp-text .t2w-article-bars meter::-webkit-meter-bar { background:rgba(38,62,83,.12); border:0; border-radius:var(--t2w-r-pill,999px); height:12px; }
.rp-text .t2w-article-bars meter::-webkit-meter-optimum-value,
.rp-text .t2w-article-bars meter::-webkit-meter-suboptimum-value,
.rp-text .t2w-article-bars meter::-webkit-meter-even-less-good-value { background:var(--t2w-article-ink); border-radius:var(--t2w-r-pill,999px); }
.rp-text .t2w-article-bars meter::-moz-meter-bar { background:var(--t2w-article-ink); border-radius:var(--t2w-r-pill,999px); }
@media(max-width:420px) {
 body .rp-text .t2w-editorial .t2w-article-bars li { grid-template-columns:minmax(0,1fr) auto; }
 .rp-text .t2w-article-bars li > span { grid-column:1 / -1; }
}
@media(max-width:768px) {
 body .rp-text .t2w-editorial h2 { font-size:22px; margin-top:var(--space-8); }
 body .rp-text .t2w-editorial p, body .rp-text .t2w-editorial .t2w-article-lead { font-size:16px; }
 .rp-text .t2w-article-facts dd { font-size:20px; }
}
@media(max-width:420px) {
 .rp-text .t2w-editorial .t2w-article-facts { grid-template-columns:minmax(0,1fr); gap:var(--space-4); padding:var(--space-4); }
 .rp-text .t2w-editorial .t2w-article-note { padding:var(--space-4); }
}


/* ═══════════════════════════════════════════════════════════════
   생활 메인 「오늘의 호주 한 장」 (2026-09-22 마스터 승인, 시안 C — .tmp/ux-2026-09-22/portal.cjs)
   판 메뉴 6(밑줄 탭) · 첫 장 = 모든 판이 한 화면 · 목록 페이지는 짧은 행(B 밀도) · 첫 장엔 조작부 없음 · 서랍 없음
   참고 실측: 클리앙(첫 화면에 모든 판) · 호주나라(헤드라인 1+4) · 뽐뿌(할인이 첫 줄) · 당근(장소·댓글 신호)
   ═══════════════════════════════════════════════════════════════ */

/* ── 머리: 제목 + 글쓰기 한 줄, 판 메뉴는 밑줄 탭 ── */
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-page-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 4px; min-height: 0; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-hero { flex: 1 1 auto; min-height: 0; align-items: center; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-hero-text { flex: 1 1 auto; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-hero-title { margin: 0; font-size: 28px; line-height: 1.3; font-weight: 700; letter-spacing: -.03em; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-hero-write { height: 36px; min-height: 0; padding: 0 16px; border-radius: var(--t2w-r-pill,999px); }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-search-bar { height: 40px; }
body.t2w-has-community-shell .t2w-page-community[data-community-design][data-community-tab="all"] .comm-search-bar,
body.t2w-has-community-shell .t2w-page-community[data-community-design][data-community-tab="all"] .comm-editorial-search { display: none; } /* 첫 장은 훑는 곳 — 검색은 목록 탭에서 */

body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-nav { margin: 0 0 24px; padding: 0; border-bottom: 1px solid #e5e7eb; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-tabs-row { gap: 0; margin-bottom: -1px; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-tabs { gap: 4px; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-tab,
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-tab--link { flex: 0 0 auto; display: inline-flex; align-items: center; height: 44px; min-height: 0; padding: 0 12px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; box-shadow: none; font-size: 16px; font-weight: 600; color: var(--color-text-muted, #6b7280); white-space: nowrap; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-tab:hover,
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-tab--link:hover { color: var(--color-secondary-dark, #152a47); background: transparent; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-tab.is-active { color: var(--color-secondary-dark, #152a47); border-bottom-color: var(--color-secondary-dark, #152a47); background: transparent; box-shadow: none; }

/* ── 조작부: 첫 장에는 없음, 목록 탭은 필터 서랍 하나(유형 칩 줄은 판 메뉴가 대신) ── */
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-editorial-types { display: none !important; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-editorial-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 12px; padding: 0; min-height: 0; }
.comm-topic-field { display: flex; flex: 0 0 auto; align-items: center; gap: var(--space-2); min-width: 0; margin: 0; font-size: var(--text-base); white-space: nowrap; }
.comm-topic-field select { min-height: 44px; width: auto; max-width: 210px; margin: 0; border: 1px solid var(--color-border, #dfe5ec); border-radius: var(--t2w-r-sm,8px); padding: 0 32px 0 12px; background-color: var(--color-white); font: inherit; }
.comm-guide-entry { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2) var(--space-4); min-height: 44px; margin: var(--space-2) 0 var(--space-6); padding: var(--space-3) var(--space-4); border-radius: var(--t2w-r-sm,8px); background: var(--color-primary-light, #fffaeb); color: var(--color-secondary-dark, #152a47); font-size: var(--text-base); font-weight: 600; }
.comm-guide-entry span { font-size: var(--text-sm); font-weight: 400; }
.comm-guide-entry i { margin-left: auto; font-style: normal; }
.comm-guide-entry + .comm-guide-entry { margin-top: calc(-1 * var(--space-4)); } /* 길 둘이 붙어 설 때 사이 8px */
.comm-topic-field[hidden], .comm-guide-entry[hidden] { display: none !important; }
.comm-topic-field select:focus-visible, .comm-guide-entry:focus-visible { outline: 2px solid var(--color-secondary-dark, #152a47); outline-offset: 3px; }
body.t2w-has-community-shell .t2w-page-community[data-community-design][data-community-tab="all"] .comm-editorial-toolbar,
body.t2w-has-community-shell .t2w-page-community[data-community-design][data-community-tab="all"] .comm-feed-heading,
body.t2w-has-community-shell .t2w-page-community[data-community-design][data-community-tab="all"] .comm-editorial-utility,
body.t2w-has-community-shell .t2w-page-community[data-community-design][data-community-tab="all"] .feed-more { display: none; }
/* 2026-09-23: 추천·비교는 품목 칩으로 고른다 — 지역·유형 서랍과 「N개 글」(사진 카드는 세지 못한다)은 여기 없다 */
body.t2w-has-community-shell .t2w-page-community[data-community-design][data-community-tab="picks"] .comm-editorial-toolbar,
body.t2w-has-community-shell .t2w-page-community[data-community-design][data-community-tab="picks"] .comm-feed-heading,
body.t2w-has-community-shell .t2w-page-community[data-community-design][data-community-tab="picks"] .comm-editorial-utility,
body.t2w-has-community-shell .t2w-page-community[data-community-design][data-community-tab="picks"] .feed-more { display: none; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-info-filters { position: relative; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-info-filters > summary { display: inline-flex; align-items: center; height: 44px; padding: 0 12px; border: 1px solid #dfe5ec; border-radius: var(--t2w-r-pill,999px); font-size: 15px; cursor: pointer; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-info-filters[open] .comm-filter-fields { position: absolute; top: 52px; left: 0; z-index: 20; display: grid; gap: 10px; min-width: 260px; padding: 12px; background: #fff; border: 1px solid #dfe5ec; border-radius: var(--t2w-r,12px); box-shadow: 0 8px 24px rgba(0,0,0,.08); }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-region-trigger { height: 44px; min-height: 44px; padding: 0 12px; border-radius: var(--t2w-r-pill,999px); font-size: 15px; }

@media (max-width: 767px) {
  body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-nav { margin: 0 -16px 20px; padding: 0 16px; }
  body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-tab,
  body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-tab--link { height: 40px; padding: 0 10px; font-size: 15px; }
  body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-hero-title { font-size: 24px; }
}

/* 생활 사진판: 이 판만 소유하며 내부 목록과 글 읽기는 기존 규칙을 쓴다. */
.comm-life-edition { color:var(--color-text-primary,#17212d); line-height:1.55; }
.comm-life-edition .le-section { min-width:0; padding:36px 0 44px; border-bottom:1px solid var(--ca-line,#e5e7eb); }
.comm-life-edition .le-news { padding-top:18px; }
.comm-life-edition :is(h2,h3,p) { margin:0; }
.comm-life-edition :is(h2,h3) { word-break:keep-all; overflow-wrap:anywhere; letter-spacing:-.025em; }
.comm-life-edition h2 { font-size:22px; line-height:1.45; font-weight:700; }
.comm-life-edition h3 { font-size:17px; line-height:1.5; font-weight:650; }
.comm-life-edition .le-head { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:22px; }
.comm-life-edition .le-head>a { display:flex; align-items:center; gap:6px; min-height:44px; color:var(--ca-mute,#6c747c); font-size:12px; white-space:nowrap; }
.comm-life-edition .le-eyebrow { color:var(--ca-gold,#876300); font-size:11px; margin-bottom:3px; }
.comm-life-edition .le-news-layout { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:34px; }
.comm-life-edition :is(.le-lead,.le-pick,.le-deal,.le-guide>div) { min-width:0; }
.comm-life-edition :is(.le-story,.le-deal-link) { display:block; min-height:44px; }
.comm-life-edition a:hover h3 { text-decoration:underline; text-underline-offset:4px; }
.comm-life-edition .le-media { display:block; overflow:hidden; background:var(--ca-soft,#f7f7f5); }
.comm-life-edition .le-media img { display:block; width:100%; height:100%; object-fit:cover; }
.comm-life-edition .le-news-photo { aspect-ratio:16/9; border-radius:12px; margin-bottom:17px; }
.comm-life-edition .le-lead h3 { font-size:23px; line-height:1.45; font-weight:700; letter-spacing:-.04em; }
.comm-life-edition .le-meta { margin-top:9px; font-size:12px; color:var(--ca-mute,#6c747c); line-height:1.5; }
.comm-life-edition .le-meaning { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin-top:10px; color:var(--ca-mute,#59616b); font-size:14px; line-height:1.7; }
.comm-life-edition .le-secondary { display:flex; flex-direction:column; gap:25px; padding-top:1px; }
.comm-life-edition .le-secondary article+article { padding-top:25px; border-top:1px solid var(--ca-line,#e5e7eb); }
.comm-life-edition .le-secondary .le-story { display:flex; align-items:flex-start; gap:18px; }
.comm-life-edition .le-secondary-photo { width:150px; height:100px; flex:none; border-radius:8px; }
.comm-life-edition .le-secondary h3 { font-size:17px; line-height:1.55; font-weight:600; }
.comm-life-edition .le-shelf { position:relative; min-width:0; }
.comm-life-edition .le-picks { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.comm-life-edition .le-pick-media { height:190px; border-radius:12px; margin-bottom:15px; padding:8px 18px; }
.comm-life-edition :is(.le-pick-media,.le-deal-media) img { object-fit:contain; mix-blend-mode:multiply; }
.comm-life-edition .le-pick h3 { font-size:15px; font-weight:600; line-height:1.6; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.comm-life-edition .le-pick .le-meta { margin-top:8px; }
.comm-life-edition .le-arrow { position:absolute; top:57px; width:44px; height:44px; border:1px solid #d4d9df; border-radius:50%; background:#fff; color:#17212d; font:25px/1 sans-serif; box-shadow:0 2px 7px #17212d12; cursor:pointer; z-index:1; padding:0; }
.comm-life-edition .le-previous { left:-12px; }
.comm-life-edition .le-next { right:-12px; }
.comm-life-edition .le-arrow:disabled { opacity:.35; cursor:default; }
.comm-life-edition .le-arrow[hidden] { display:none; }
.comm-life-edition .le-deals-head { margin:38px 0 18px; }
.comm-life-edition .le-deals-head h3 { font-size:18px; }
.comm-life-edition .le-price-notice { font-size:12px; color:var(--ca-mute,#6c747c); margin-top:3px; }
.comm-life-edition .le-deals { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:18px; }
.comm-life-edition .le-deal-media { height:150px; border-radius:12px; margin-bottom:12px; padding:10px; }
.comm-life-edition .le-deal h3 { font-size:14px; font-weight:550; line-height:1.5; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:42px; }
.comm-life-edition .le-shop { color:var(--ca-mute,#6c747c); font-size:12px; margin-bottom:4px; }
.comm-life-edition .le-price { display:flex; align-items:baseline; gap:5px; flex-wrap:wrap; margin-top:7px; }
.comm-life-edition .le-price strong { font-size:18px; font-weight:700; white-space:nowrap; letter-spacing:-.03em; }
.comm-life-edition .le-price :is(s,span) { font-size:12px; }
.comm-life-edition .le-price s { color:var(--ca-mute,#858b92); }
.comm-life-edition .le-price span { color:var(--ca-gold,#8a5700); }
.comm-life-edition :is(.le-deal-meta,.le-unit) { font-size:12px; color:var(--ca-mute,#6c747c); margin-top:6px; }
.comm-life-edition .le-unit { margin-top:3px; }
.comm-life-edition .le-mine { display:inline-flex; align-items:center; gap:6px; min-height:44px; margin-top:10px; font-size:12px; color:var(--ca-mute,#6c747c); }
.comm-life-edition .le-guides { display:grid; grid-template-columns:1fr 1fr; gap:28px 36px; }
.comm-life-edition .le-guide { display:flex; align-items:center; gap:20px; min-height:96px; }
.comm-life-edition .le-guide-photo { width:128px; height:96px; flex:none; border-radius:8px; }
.comm-life-edition .le-guide h3 { font-size:16px; line-height:1.6; font-weight:600; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.comm-life-edition .le-guide .le-meta { margin-top:7px; }
.comm-life-edition .le-city { display:flex; align-items:center; justify-content:space-between; min-height:64px; gap:15px; margin-top:29px; border-top:1px solid var(--ca-line,#e5e7eb); font-size:14px; font-weight:600; }
.comm-life-edition .le-city small { font-size:12px; color:var(--ca-mute,#6c747c); font-weight:400; }
.comm-life-edition .le-more { display:flex; align-items:center; gap:28px; flex-wrap:wrap; padding:25px 0 35px; font-size:12px; }
.comm-life-edition .le-more>span { color:var(--ca-mute,#6c747c); margin-right:auto; }
.comm-life-edition .le-more a { display:flex; align-items:center; min-height:44px; }
.comm-life-edition .le-empty { padding:20px 0; color:var(--ca-mute,#66717d); font-size:14px; line-height:1.8; grid-column:1/-1; }
.comm-life-edition .le-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:1000px) {
  .comm-life-edition .le-news-layout { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:25px; }
  .comm-life-edition .le-secondary-photo { width:115px; height:83px; }
  .comm-life-edition .le-secondary .le-story { gap:14px; }
  .comm-life-edition .le-secondary h3 { font-size:15px; }
  .comm-life-edition .le-deals { grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; }
  .comm-life-edition .le-deal-media { height:170px; }
  .comm-life-edition .le-guide-photo { width:105px; height:88px; }
  .comm-life-edition .le-guide { gap:14px; }
  .comm-life-edition .le-guide h3 { font-size:15px; }
}
@media(max-width:600px) {
  .comm-life-edition .le-section { padding:29px 0 33px; }
  .comm-life-edition .le-news { padding-top:12px; }
  .comm-life-edition .le-head { margin-bottom:15px; gap:10px; }
  .comm-life-edition h2 { font-size:19px; letter-spacing:-.04em; }
  .comm-life-edition .le-head>a { font-size:11px; }
  .comm-life-edition .le-news-layout { display:block; }
  .comm-life-edition .le-news-photo { height:185px; aspect-ratio:auto; margin-bottom:14px; border-radius:10px; }
  .comm-life-edition .le-lead h3 { font-size:20px; line-height:1.5; }
  .comm-life-edition .le-meaning { font-size:13px; line-height:1.65; margin-top:8px; }
  .comm-life-edition .le-secondary { margin-top:20px; gap:15px; }
  .comm-life-edition .le-secondary article+article { padding-top:15px; }
  .comm-life-edition .le-secondary article:nth-child(n+3) { display:none; }
  .comm-life-edition .le-secondary-photo { width:96px; height:64px; }
  .comm-life-edition .le-secondary .le-story { gap:14px; min-height:64px; }
  .comm-life-edition .le-secondary h3 { font-size:14px; line-height:1.5; }
  .comm-life-edition :is(.le-picks,.le-deals) { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 16px; }
  .comm-life-edition :is(.le-picks,.le-deals).is-shelf { display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:5px; overscroll-behavior-x:contain; }
  .comm-life-edition .is-shelf::-webkit-scrollbar { display:none; }
  .comm-life-edition .is-shelf>article { flex:0 0 calc((100% - 16px)/2); scroll-snap-align:start; }
  .comm-life-edition .le-pick-media { height:160px; margin-bottom:11px; padding:9px; border-radius:10px; }
  .comm-life-edition .le-pick h3 { font-size:14px; line-height:1.55; }
  .comm-life-edition .le-deals-head { margin:29px 0 16px; }
  .comm-life-edition .le-deals-head h3 { font-size:17px; }
  .comm-life-edition .le-deal-media { height:150px; border-radius:10px; margin-bottom:10px; }
  .comm-life-edition .le-guides { grid-template-columns:1fr; gap:18px; }
  .comm-life-edition .le-guide { gap:16px; min-height:82px; }
  .comm-life-edition .le-guide-photo { width:105px; height:82px; }
  .comm-life-edition .le-city { margin-top:23px; font-size:13px; flex-wrap:wrap; gap:0; }
  .comm-life-edition .le-city small { font-size:11px; }
  .comm-life-edition .le-more { gap:4px 22px; padding:19px 0 25px; }
  .comm-life-edition .le-more>span { flex-basis:100%; }
}

/* ── 첫 장 ── */
/* 생활 첫 장: 구간마다 폭을 확보하고, 상품·읽을거리·다음 행동을 구분한다. */
.comm-all { --ca-ink: var(--color-secondary-dark); --ca-body: var(--color-text-primary); --ca-mute: var(--color-text-muted); --ca-line: var(--color-border-light); --ca-soft: var(--color-bg-light); --ca-gold: var(--color-primary-text); color: var(--ca-body); font-size: var(--text-base); line-height: 1.5; font-variant-numeric: tabular-nums; }
.comm-all a { color: inherit; text-decoration: none; }
.comm-all a:hover strong, .comm-all__head > a:hover, .comm-all-action:hover { text-decoration: underline; text-underline-offset: 3px; }
.comm-all :is(a, button, [tabindex]):focus-visible { outline: 2px solid var(--ca-ink); outline-offset: 4px; }
.comm-all h2, .comm-all h3, .comm-all strong { color: var(--ca-ink); }
.comm-all h3 { margin: 0; font-size: var(--text-lg); font-weight: 700; }
.comm-all i, .comm-all em { font-style: normal; }
.comm-all__sec { min-width: 0; margin: 0 0 calc(var(--space-12) + var(--space-2)); }
.comm-all__head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--space-2) var(--space-4); margin-bottom: var(--space-4); }
.comm-all__head h2 { margin: 0; font-size: var(--text-2xl); font-weight: 700; letter-spacing: -.02em; }
.comm-all__head > a { display: inline-flex; align-items: center; gap: var(--space-2); min-height: 44px; font-size: var(--text-sm); font-weight: 600; color: var(--ca-mute); }
.comm-all__description { margin: 0 0 var(--space-5); color: var(--ca-mute); line-height: 1.7; }
.comm-all-guide-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.comm-all-guide-actions > :only-child { grid-column: 1 / -1; }
.comm-all-guide-actions > :nth-child(3):last-child { grid-column: 1 / -1; } /* 2026-10-16 도구 카드 세 개 — 태블릿 두 칸에서 셋째가 반쪽으로 남지 않게 */
.comm-life-toolcards[hidden] { display: none; } /* 2026-10-16 생활 안내 칸 맨 위 도구 카드 — 첫 장(.comm-all)과 같은 옷 */
body.t2w-has-community-shell .comm-life-toolcards { --ca-ink: var(--color-secondary-dark); --ca-mute: var(--color-text-muted); --ca-soft: var(--color-bg-light); gap: var(--space-3); margin: 0 0 var(--space-6); color: var(--color-text-primary); }
body.t2w-has-community-shell .comm-life-toolcards .comm-all-toolcard { margin-top: 0; color: inherit; text-decoration: none; }
body.t2w-has-community-shell .comm-life-toolcards .comm-all-toolcard:hover span { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 767px) { /* 휴대폰 = 한 줄 옆으로 넘기기(마스터 기준) */ body.t2w-has-community-shell .comm-life-toolcards:not([hidden]) { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: var(--space-3); padding-bottom: var(--space-2); overscroll-behavior-x: contain; } body.t2w-has-community-shell .comm-life-toolcards .comm-all-toolcard { flex: 0 0 78%; scroll-snap-align: start; } }
.comm-all-guide-actions > :first-child:nth-last-child(5) { grid-column: 1 / -1; } /* 2026-10-16 카드 다섯 개(정착 입구 + 도구 넷) — 정착 입구는 한 줄 전체, 도구 넷은 2×2 */
@media (min-width: 1025px) { .comm-all-guide-actions--top:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); } .comm-all-guide-actions--top > :nth-child(3):last-child { grid-column: auto; } }
.comm-all-action, .comm-all-ask { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-3); min-height: 44px; padding: var(--space-2) var(--space-4); border: 1px solid var(--ca-line); border-radius: var(--t2w-r-sm,8px); background: var(--color-white); color: var(--ca-ink); font: inherit; font-size: var(--text-sm); font-weight: 600; cursor: pointer; }
.comm-all-toolcard { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-6); padding: var(--space-4); border-radius: var(--t2w-r-sm,8px); background: var(--ca-soft); }
.comm-all-toolcard span { font-size: var(--text-base); font-weight: 600; }
.comm-all-toolcard small { display: block; margin-top: var(--space-1); font-size: var(--text-sm); font-weight: 400; color: var(--ca-mute); }
@media (max-width: 767px) {
  .comm-all-guide-actions { grid-template-columns: minmax(0, 1fr); gap: 0; }
}
.rp-answer__body a[href*=".gov.au"] { overflow-wrap: anywhere; text-decoration: underline; }
.comm-all-talk__empty { margin: 0 0 var(--space-4); color: var(--ca-mute); }
/* 2026-10-22 생활 고도화 ①: 맨 위 「지금」 한 줄 — 홈과 같은 조각(시각·날씨·환율·새 소식), 진짜 값만 */
.comm-all .t2w-hp-todayline { margin: 0 0 var(--space-4); }
.comm-all .t2w-hp-todayline .t2w-hp-wrap { max-width: none; padding: 0; }
.comm-all .t2w-hp-todayline p { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-1) 0; margin: 0; font-size: var(--text-sm); line-height: 1.5; color: var(--ca-mute); }
.comm-all .t2w-hp-todayline b { font-weight: 700; color: var(--ca-ink); }
.comm-all .t2w-hp-todayline i { margin: 0 var(--space-2); opacity: .55; }
@media (max-width: 767px) {
  .comm-all .t2w-hp-todayline [data-t2w-clock-note] { display: none; } /* 폰 폭엔 「한국보다 ○시간」까지 들어가지 않는다 — 잘리느니 뺀다 */
}

.t2w-cover { display: block; width: 100%; height: 100%; }
.t2w-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fc-compact__thumb--cover { overflow: hidden; border-radius: var(--t2w-r,12px); background: var(--ca-soft, #FFFBEB); }
.fc-compact__thumb--cover .t2w-cover.is-art img { object-fit: contain; padding: 10px; box-sizing: border-box; }
.rp-hero--cover { border-radius: var(--t2w-r,12px); overflow: hidden; }
.rp-hero--cover.is-art { background: var(--ca-soft, #FFFBEB); border: 1px solid var(--ca-line, #e5e7eb); }
.rp-hero--cover.is-art .rp-hero__img { width: auto; max-width: 260px; margin: 22px auto; display: block; }
.t2w-cover-credit { margin: 8px 0 0; font-size: var(--t2w-fs-meta, 13px); color: var(--ca-mute, #6b7280); }
.t2w-cover-credit a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }


/* 생활 내부 목록: 소식은 출처·요점, 안내는 방법, 게시판은 대화 중심. */
/* Filter state takes precedence over every card layout, including the guide grid. */
.t2w-page-community[data-community-design] .feed-card.fc-filtered-out,
.t2w-page-community[data-community-design] .feed-card.fc-search-hidden { display: none !important; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-life-tools { display: none; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-feed-heading { flex-wrap: wrap; min-height: 0; gap: 6px 12px; margin: 8px 0 24px; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-feed-heading h2 { color: var(--comm-ink); font-size: 26px; font-weight: 700; line-height: 1.4; }
/* 2026-10-22: 소식 머리의 「50개 글」·설명을 뺐다 — 보일 글이 없을 때는 빈 머리가 위아래 여백만 차지하지 않게 접는다. */
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-feed-heading:not(:has(#communityResultCount:not(:empty))):not(:has(.comm-feed-description:not([hidden]))) { margin: 0; }
.comm-feed-description { flex-basis: 100%; margin: 0; font-size: 15px; line-height: 1.65; color: var(--comm-muted); word-break: keep-all; overflow-wrap: anywhere; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-editorial { grid-template-columns: minmax(0,1fr); gap: 24px; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-editorial-guides { position: static; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] :is(#panel-info,#panel-talk,#panel-search,#panel-picks) .fc-list { border: 0; border-radius: 0; padding: 0; background: transparent; box-shadow: none; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.fc-compact { display: flex; gap: 20px; align-items: flex-start; padding: 24px 0; margin: 0; border: 0; border-bottom: 1px solid var(--comm-line); border-radius: 0; background: transparent; box-shadow: none; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.fc-compact:hover .fc-title__link { text-decoration: underline; text-underline-offset: 4px; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.fc-compact:focus-visible { outline: 2px solid var(--comm-ink); outline-offset: 4px; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.fc-compact .fc-compact__body { display: block; grid-template-rows: none; gap: 0; flex: 1; min-width: 0; order: 0; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.fc-compact .fc-compact__thumb { display: flex; flex: 0 0 132px; width: 132px; height: 100px; min-height: 0; aspect-ratio: auto; order: 1; overflow: hidden; border-radius: var(--t2w-r-sm,8px); background: var(--color-bg-light); }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.fc-compact .fc-compact__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.fc-compact .fc-compact__thumb .t2w-cover.is-art img { object-fit: contain; padding: 12px; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.fc-compact :is(.fc-compact__thumb--ph,.fc-compact__thumb--qa[hidden],.fc-compact__end,.fc-compact__kicker) { display: none; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.fc-compact .fc-title { display: block; overflow: visible; -webkit-line-clamp: unset; min-height: 0; margin: 0 0 10px; font-size: 18px; font-weight: 700; line-height: 1.5; letter-spacing: -.02em; word-break: keep-all; overflow-wrap: anywhere; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.fc-compact .fc-title__link { display: inline; min-height: 0; margin: 0; padding: 0; font: inherit; color: inherit; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.fc-compact .fc-editorial-summary { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; margin: 0 0 12px; color: var(--comm-muted); font-size: var(--t2w-fs-body, 15px); line-height: 1.7; word-break: keep-all; overflow-wrap: anywhere; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.fc-compact .fc-compact__meta { display: flex; flex-wrap: wrap; gap: 4px 7px; margin: 0; padding: 0; min-height: 0; border: 0; font-size: 13px; line-height: 1.6; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .fc-compact__meta .fc-compact__cat { display: none; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .fc-compact__cat + .fc-compact__dot { display: none; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .fc-compact__source { color: var(--comm-ink); font-weight: 600; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-editorial-news-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 32px; align-items: start; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.is-editorial-lead { grid-column: 1 / -1; align-items: stretch; gap: 0; padding: 0; margin: 0 0 8px; overflow: hidden; border: 1px solid var(--comm-line); border-radius: var(--t2w-r,12px); background: var(--color-bg-light); }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.is-editorial-lead::before,
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.is-editorial-lead::after { display: none; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.is-editorial-lead .fc-compact__thumb { flex: 0 0 48%; width: 48%; height: auto; min-height: 260px; order: 0; border-radius: 0; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.is-editorial-lead .fc-compact__body { align-self: center; padding: 28px; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.is-editorial-lead .fc-title { font-size: 27px; line-height: 1.4; margin-bottom: 14px; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.is-editorial-lead .fc-editorial-summary { font-size: 15px; -webkit-line-clamp: 3; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-editorial-guide-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; align-items: start; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-editorial-guides .feed-card.fc-compact { display: flex; flex-direction: column; gap: 0; padding: 0; border: 1px solid var(--comm-line); border-radius: var(--t2w-r,12px); overflow: hidden; background: var(--color-white); }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-editorial-guides .feed-card .fc-compact__thumb { order: 0; flex: none; width: 100%; height: auto; aspect-ratio: 16/10; border-radius: 0; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-editorial-guides .feed-card .fc-compact__body { flex: auto; width: 100%; padding: 20px; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] #panel-talk { max-width: none; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] #panel-talk .fc-list { display: block; max-width: 900px; margin: 0; border-top: 1px solid var(--comm-line); }
body.t2w-has-community-shell .t2w-page-community[data-community-design] #panel-talk .feed-card.fc-compact { padding: 24px 4px; gap: 24px; background: transparent; border: 0; border-bottom: 1px solid var(--comm-line); }
body.t2w-has-community-shell .t2w-page-community[data-community-design] #panel-talk .fc-compact__comments { color: var(--comm-ink); font-weight: 600; }
body.t2w-has-community-shell .t2w-page-community[data-community-design] #panel-talk .fc-compact__comments.is-solved { color: var(--color-success,#23734d); }
body.t2w-has-community-shell .t2w-page-community[data-community-design] #infoFilterSummary { display: none; }
@media (max-width:1023px) {
  body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-editorial-news-list { grid-template-columns: minmax(0,1fr); }
  body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-editorial-guide-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
  body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.is-editorial-lead .fc-title { font-size: 24px; }
}
@media (max-width:650px) {
  body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-feed-heading { margin: 4px 0 20px; }
  body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-feed-heading h2 { font-size: 23px; }
  body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-hero-write { position: static; transform: none; }
  body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.fc-compact { padding: 20px 0; gap: 14px; }
  body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.fc-compact .fc-compact__thumb { flex-basis: 104px; width: 104px; height: 84px; border-radius: var(--t2w-r-sm,8px); }
  body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.fc-compact .fc-title { font-size: 17px; line-height: 1.5; margin-bottom: 8px; }
  body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.fc-compact .fc-editorial-summary { font-size: var(--t2w-fs-body, 15px); margin-bottom: 8px; }
  body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.is-editorial-lead { flex-direction: column; padding: 0; gap: 0; }
  body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.is-editorial-lead .fc-compact__thumb { flex: none; width: 100%; height: auto; min-height: 0; aspect-ratio: 16/9; border-radius: 0; }
  body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.is-editorial-lead .fc-compact__body { padding: 20px; }
  body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.is-editorial-lead .fc-title { font-size: 23px; line-height: 1.4; }
  body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-editorial-guide-list { grid-template-columns: minmax(0,1fr); gap: 0; }
  body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-editorial-guides .feed-card.fc-compact { flex-direction: row; gap: 16px; padding: 20px 0; border: 0; border-bottom: 1px solid var(--comm-line); border-radius: 0; }
  body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-editorial-guides .feed-card .fc-compact__thumb { order: 1; flex: 0 0 104px; width: 104px; height: 96px; border-radius: var(--t2w-r-sm,8px); }
  body.t2w-has-community-shell .t2w-page-community[data-community-design] .comm-editorial-guides .feed-card .fc-compact__body { padding: 0; flex: 1; width: auto; }
  body.t2w-has-community-shell .t2w-page-community[data-community-design] #panel-talk .feed-card.fc-compact { padding: 20px 0; gap: 14px; }
}


/* ══════════════════════════════════════════════════════════════
   글 화면 데스크톱 틀 (2026-09-23 마스터 「본문이 왼쪽으로 치우친다」)
   뿌리: 넓은 화면용 틀이 없어 936px 한 칸에 좁은 화면 조각을 쏟았다 —
   문단은 한 줄 60자를 넘고, 사진·칩은 제 폭만 차지해 왼쪽에 붙었다.
   고침: 읽기 칸 680 + 따라오는 옆 칸 272. 좁은 화면은 지금 그대로 한 칸.
   ══════════════════════════════════════════════════════════════ */
.rp-rail { display: none; }
@media (min-width: 1024px) {
  .t2w-page-community-post { max-width: 1016px; }
  .t2w-page-community-post .rp-read { display: grid; grid-template-columns: minmax(0, 680px) 272px; gap: 64px; justify-content: center; align-items: start; }
  .t2w-page-community-post .rp-read--solo,
  .t2w-page-community-post .rp-read:has(.rp-rail:empty) { grid-template-columns: minmax(0, 680px); }
  .t2w-page-community-post .rp-col { min-width: 0; }
  /* 옆 칸이 실제로 차례를 들고 있을 때만 본문 차례를 접는다(스크립트가 안 돌면 본문 차례가 그대로 남는다) */
  .t2w-page-community-post .rp-read:has(.rp-rail__picks) .t2w-article-toc { display: none; }
  .rp-rail { display: flex; flex-direction: column; gap: 12px; position: sticky; top: 88px; }
  .rp-rail:empty { display: none; }
  .rp-rail__box { border: 1px solid var(--comm-line, #e5e7eb); border-radius: var(--t2w-r,12px); padding: 16px; background: #fff; }
  .rp-rail__h { margin: 0 0 10px; font-size: 15px; font-weight: 800; color: var(--comm-ink, #111827); }
  .rp-rail__picks { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
  .rp-rail__picks a { display: grid; grid-template-columns: 40px 1fr; gap: 10px; align-items: center; padding: 6px; border-radius: var(--t2w-r-sm,8px); color: var(--comm-ink, #111827); text-decoration: none; }
  .rp-rail__picks a:hover { background: #fffbeb; }
  .rp-rail__picks img { width: 40px; height: 40px; object-fit: contain; background: #fffbeb; border-radius: var(--t2w-r-sm,8px); mix-blend-mode: multiply; }
  .rp-rail__picks em { display: block; font-style: normal; font-size: 13px; font-weight: 700; color: #b88a2e; }
  .rp-rail__picks strong { display: block; font-size: 15px; line-height: 1.35; font-weight: 700; }
  .rp-rail__toc { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
  .rp-rail__toc a { display: block; padding: 8px 0; font-size: 15px; line-height: 1.4; color: var(--comm-muted, #6b7280); text-decoration: none; border-top: 1px solid var(--comm-line, #e5e7eb); }
  .rp-rail__toc li:first-child a { border-top: 0; }
  .rp-rail__alert { background: #fbf8f1; border-color: #efe4cc; }
  .rp-rail__alert .rp-rail__h { font-size: 15px; margin-bottom: 6px; }
  .rp-rail__alert p { margin: 0 0 12px; font-size: 15px; line-height: 1.55; color: var(--comm-muted, #6b7280); }
  .rp-rail__alert a { display: flex; align-items: center; justify-content: center; min-height: 44px; border-radius: var(--t2w-r-sm,8px); background: #1d2b3a; color: #fff; font-size: 15px; font-weight: 700; text-decoration: none; }
  /* 부모 테마가 .site-container 를 overflow:hidden 으로 잘라 따라오기(sticky)가 멈춘다.
     clip 은 자르되 스크롤 상자를 만들지 않아 sticky 가 산다. 부모 테마는 건드리지 않는다. */
  .site-container:has(.t2w-page-community-post) { overflow: clip; }
}

/* 글 조각 목록의 점 — 바깥 규칙(.rp-text ul li)이 새어 들어 조각 안에도 점이 찍혔다.
   조각의 목록은 제 모양대로(칩·좋은 점·차례는 점 없음), 글쓴이가 쓴 보통 목록은 점 그대로. */
.rp-text .t2w-editorial ul,
.rp-text .t2w-editorial ol { margin-left: 0; }
.rp-text .t2w-editorial li { list-style: inherit; }

/* fc-title-lock — 2026-09-30 마스터 「제목이 길어지면 세로 길이도 늘어난다. 고정되어야 한다」
   자유게시판(질문·이야기) 카드만. 소식·생활 안내 제목은 잘리면 안 되므로 건드리지 않는다.
   실측(카드 24장): 폰은 제목이 1줄 7 · 2줄 13 이라 두 줄로 고정 → 모두 121px.
   768px 이상은 24개 전부 한 줄로 들어가므로(잘림 0) 한 줄로 고정 → 모두 107px, 빈 줄 없음. */
@media (max-width: 767px) {
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.fc-compact[data-reader-type="story"] .fc-title,
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.fc-compact[data-reader-type="qa"] .fc-title {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 3em;
}
}
@media (min-width: 768px) {
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.fc-compact[data-reader-type="story"] .fc-title,
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.fc-compact[data-reader-type="qa"] .fc-title {
  display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; min-height: 1.5em;
}
}

/* fc-board-row — 2026-09-30 마스터 「익명, 4개월 이런 문구가 또 한 줄이네」
   그 줄에 보이던 것은 「익명」(글 80편 전부, 알려 주는 것 0)과 「4개월 전」뿐이었다.
   지역 꼬리표는 모든 폭에서 이미 감춰져 있었다. 익명을 빼면 남는 것은 시각·답변 수 —
   제목 오른쪽에 붙일 수 있는 크기다. 글 80편 전부에서 잘린 제목 0개로 실측.
   결과: 카드 높이 폰 121→92px · 넓은 화면 107→76px (높이는 그대로 고정). */
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.fc-compact[data-reader-type="story"] .fc-compact__body,
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.fc-compact[data-reader-type="qa"] .fc-compact__body {
  /* 2026-09-30 마스터 「가로 끝에」: 날짜를 제목 첫 줄과 같은 높이에 둔다 —
     가운데 맞춤이면 두 줄짜리 제목 옆에서 날짜가 줄 사이에 떠 보였다. */
  display: flex; align-items: flex-start; gap: 10px;
}
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.fc-compact[data-reader-type="story"] .fc-title,
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.fc-compact[data-reader-type="qa"] .fc-title {
  flex: 1 1 auto; min-width: 0; margin: 0;
}
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.fc-compact[data-reader-type="story"] .fc-compact__meta,
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.fc-compact[data-reader-type="qa"] .fc-compact__meta {
  flex: 0 0 auto; margin: 0; justify-content: flex-end; text-align: right; white-space: nowrap;
}
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.fc-compact[data-reader-type="story"],
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.fc-compact[data-reader-type="qa"] {
  padding-top: 14px; padding-bottom: 14px;
}

/* fc-board-by — 2026-09-30 마스터 「작성자가 글 옆에 나와야 하지 않을까」
   폰에서는 오른쪽 끝에 이름과 시각이 함께 들어가지 않는다 — 글 80편으로 재니
   둘 다 넣으면 제목이 69개 잘리고(제목 폭 190→91px), 이름만 넣으면 0개다.
   그래서 폰은 이름을 남기고 시각을 감춘다. 자유게시판 글은 전부 4~9개월 전이라
   시각으로는 글끼리 구별되지 않지만 이름은 글마다 다르다.
   이름이 없는 글에서는(.fc-compact__by 자체가 없다) 지금처럼 시각이 그대로 보인다.
   2026-10-15 생활 진단: 시각이 없으니 새 글과 반년 된 글이 구별되지 않았다 — 폰은 오른쪽 끝을 세로로 쌓아
   (이름 / 시각 / 답 수) 한 줄 폭을 넓히지 않고 시각을 되살린다. 점(·)은 줄이 나뉘어 필요 없다. */
@media (max-width: 767px) {
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.fc-compact[data-reader-type="story"] .fc-compact__meta,
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.fc-compact[data-reader-type="qa"] .fc-compact__meta {
  flex-direction: column; align-items: flex-end; row-gap: 2px;
}
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.fc-compact[data-reader-type="story"] .fc-compact__dot,
body.t2w-has-community-shell .t2w-page-community[data-community-design] .feed-card.fc-compact[data-reader-type="qa"] .fc-compact__dot {
  display: none;
}
}

/* 2026-10-13 결정 012 2단계: 게시판 1차가 열리면(몸통 이름표 t2w-board-open) 글쓰기 단추가 보인다 — 손님이 못 쓰는 추천·비교 단추는 계속 감춘다.
   2026-10-01 출시 결재(정보 + 문의형): 회원 글쓰기는 출시 뒤 연다 — 흩어진 글쓰기 단추를 감춘다. 「답변이 있는 질문」 칸은 게시판을 닫아 둔 동안만(t2w-board-closed) 감춘다.
   서버 창구도 닫혀 있다(inc/class-launch-gate.php). 이름표 t2w-info-mode 는 그 스위치가 몸통에 단다. */
body.t2w-info-mode:not(.t2w-board-open) .write-trigger,
body.t2w-info-mode:not(.t2w-board-open).t2w-has-community-shell .t2w-page-community[data-community-design] .write-trigger,
body.t2w-info-mode .write-trigger[data-write-category="picks"],
body.t2w-info-mode.t2w-has-community-shell .t2w-page-community[data-community-design] .write-trigger[data-write-category="picks"],
body.t2w-board-closed .comm-all-talk {
  display: none;
}

/* 2026-10-03 생활 첫 장: 찜한 할인은 할인 제목 줄 오른쪽 · 정착 입구는 생활 안내 맨 위 */
.comm-all-shop__mine { margin-left: auto; display: inline-flex; align-items: center; gap: var(--space-2); min-height: 44px; font-size: var(--text-sm); font-weight: 600; }
.comm-all-guide-actions--top { margin-bottom: var(--space-6); }
@media (max-width: 767px) { .comm-all-shop__mine { margin-left: 0; min-height: 36px; } .comm-all-guide-actions--top { margin-bottom: var(--space-4); } }
/* 2026-10-19 생활 첫 장 세로 줄이기 — 덩어리 사이 빈칸, 도구 카드 쌓임, 할인 머리 세 줄을 줄인다(.planning/life-ui-2026-10-16/toss-reference.md §첫 장) */
.comm-all .comm-all-guide-actions--top { gap: var(--space-3); }
.comm-all .comm-all-guide-actions--top .comm-all-toolcard { margin-top: 0; }
.comm-all__sec { margin-bottom: var(--space-10); }
/* 2026-10-19 첫 장 맨 위 도구 바로가기 한 줄 — 폰은 그림 + 두세 낱말 다섯 칸, 태블릿은 한 줄 설명까지, PC는 그림 옆에 글 */
.comm-all-quick { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--space-2); margin: 0 0 var(--space-8); }
.comm-all-quick a { display: flex; flex-direction: column; align-items: center; gap: var(--space-1); min-width: 0; padding: var(--space-2) 0; border-radius: var(--t2w-r-sm,8px); text-align: center; }
.comm-all-quick__icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 16px; background: var(--ca-soft); color: var(--ca-ink); }
.comm-all-quick__icon .material-symbols-outlined { font-size: 26px; }
.comm-all-quick b { color: var(--ca-ink); font-size: var(--text-sm); font-weight: 700; line-height: 1.35; word-break: keep-all; }
.comm-all-quick small { display: none; color: var(--ca-mute); font-size: 13px; line-height: 1.4; word-break: keep-all; }
.comm-all-quick a:hover .comm-all-quick__icon { background: var(--color-bg-warm, var(--ca-soft)); }
.comm-all-quick a:hover b { text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 768px) { .comm-all-quick small { display: block; } }
@media (min-width: 1025px) {
  .comm-all-quick { gap: var(--space-3); }
  .comm-all-quick a { display: grid; grid-template-columns: 48px minmax(0, 1fr); grid-template-areas: "icon name" "icon note"; align-items: center; column-gap: var(--space-3); row-gap: 0; padding: var(--space-3); background: var(--ca-soft); text-align: left; }
  .comm-all-quick__icon { grid-area: icon; background: var(--color-white); }
  .comm-all-quick b { grid-area: name; align-self: end; font-size: var(--text-base); }
  .comm-all-quick small { grid-area: note; align-self: start; }
}
@media (max-width: 767px) { .comm-all-quick { gap: var(--space-1); margin-bottom: var(--space-6); } }.comm-all > .comm-all__sec:last-child { margin-bottom: 0; }
/* 설명 줄이 없는 글(함께 보면 좋은 글)은 제목을 그림 가운데 높이에 */
.comm-all-rows a:not(:has(small)) strong { grid-row: 1 / -1; align-self: center; }
@media (min-width: 1025px) {
  /* 정착 입구 + 도구 넷 = 정착 한 줄 · 도구 넷 한 줄(2×2였을 때보다 한 줄 짧음) */
  .comm-all .comm-all-guide-actions--top:has(> :first-child:nth-last-child(5)) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
  /* 세 번째 카드가 잘려 보여 옆으로 넘기는 줄인 걸 알 수 있어 안내 문장은 감춘다(읽어 주기 연결은 그대로) */
  .comm-all-scrollhint { display: none; }
}
@media (max-width: 767px) {
  .comm-all__sec { margin-bottom: var(--space-8); }
  .comm-all-shop, .comm-all-guides, .comm-all-support { padding-top: var(--space-5); }
  /* 도구 카드 다섯 장 = 한 줄 옆으로 넘기기(휴대폰 기준, 생활 안내 칸과 같게) */
  .comm-all .comm-all-guide-actions--top { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: var(--space-3); margin: 0 calc(-1 * var(--space-4)) var(--space-4); padding: 0 var(--space-4) var(--space-2); scroll-padding-inline: var(--space-4); overscroll-behavior-x: contain; scrollbar-width: none; }
  .comm-all .comm-all-guide-actions--top::-webkit-scrollbar { display: none; }
  .comm-all .comm-all-guide-actions--top .comm-all-toolcard { flex: 0 0 78%; scroll-snap-align: start; }
  /* 할인 머리: 「이번 주 할인」과 「내가 찜한 할인」 한 줄, 날짜는 그 아래 한 줄 */
  .comm-all-shop__caption { column-gap: var(--space-3); row-gap: 0; }
  .comm-all-shop__caption p { order: 3; }
  .comm-all-shop__mine { margin-left: auto; }
  /* 목록 그림 칸은 소식 목록과 같은 56px — 줄마다 덜 길게 */
  .comm-all-rows a, .comm-all-rows--picks a { grid-template-columns: calc(var(--space-12) + var(--space-2)) minmax(0, 1fr); padding: var(--space-3) 0; }
  .comm-all-n, .comm-all-rows--picks img { width: calc(var(--space-12) + var(--space-2)); height: calc(var(--space-12) + var(--space-2)); }
}
@media (max-width: 1024px) {
  /* 할인 카드: 상품 사진은 가운데 담기라 가로로 조금 눕혀도 잘리지 않는다 — 카드 키를 줄인다. 이름은 크기·무게가 끝에 있어 세 줄까지 둔다 */
  .comm-all-deal__img { aspect-ratio: 4 / 3; margin-bottom: var(--space-2); }
  .comm-all-deals strong { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; flex: 0 0 auto; }
  .comm-all-deals a { height: auto; }
}
/* ── 2026-10-12 결정 012: 게시판 안전장치 — 신고 단추·신고 창·고정 안내·글쓰기 규칙 한 줄 ── */
.rp-report, .t2w-comments__report { display: inline-flex; align-items: center; min-height: 40px; padding: 0 12px; border: 0; border-radius: 999px; background: transparent; color: var(--t2w-ink-3, #6B7280); font: inherit; font-size: 14px; font-weight: 600; line-height: 1; cursor: pointer; }
.rp-report:hover, .t2w-comments__report:hover { color: var(--t2w-ink, #152A47); text-decoration: underline; }
.rp-report:disabled, .t2w-comments__report:disabled { cursor: default; text-decoration: none; }
.rp-stats .rp-report { margin-left: auto; }
.t2w-comments__report { min-height: 32px; padding: 0 8px; font-size: 13px; }
@media (max-width: 768px) { .rp-report { min-height: 44px; } .t2w-comments__report { min-height: 44px; } }
.rp-comments__msg { margin: 8px 0 0; font-size: 14px; color: var(--t2w-ink-2, #4B5563); }
.rp-comments__msg:empty { display: none; }

.t2w-board-notice { margin: 0 0 var(--t2w-space-4, 16px); padding: 14px 16px; border: 1px solid var(--t2w-line, #E5E7EB); border-radius: var(--t2w-r, 12px); background: var(--t2w-bg-soft, #F9FAFB); color: var(--t2w-ink-2, #4B5563); font-size: 14px; line-height: 1.55; }
.t2w-board-notice__title { display: flex; align-items: center; gap: 6px; margin: 0 0 6px; color: var(--t2w-ink, #152A47); font-size: 15px; font-weight: 700; }
.t2w-board-notice__title .material-symbols-outlined { font-size: 18px; }
.t2w-board-notice__list { margin: 0 0 8px; padding-left: 18px; }
.t2w-board-notice__list li + li { margin-top: 2px; }
.t2w-board-notice__link { display: inline-flex; align-items: center; min-height: 44px; color: var(--t2w-ink, #152A47); font-weight: 700; text-decoration: underline; }
.write-modal__rules { margin: 4px 0 0; font-size: 13px; line-height: 1.5; color: var(--t2w-ink-3, #6B7280); }
.write-modal__rules a { color: inherit; text-decoration: underline; }
.write-modal__msg { margin: 8px 0 0; font-size: 14px; line-height: 1.5; color: var(--t2w-ink, #152A47); font-weight: 600; }
.write-modal__msg:empty { display: none; }

.t2w-report[hidden] { display: none; }
.t2w-report { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 16px; }
.t2w-report__back { position: absolute; inset: 0; background: rgba(15, 23, 42, .45); }
.t2w-report__box { position: relative; width: 100%; max-width: 420px; max-height: calc(100vh - 32px); overflow: auto; padding: 20px; border-radius: var(--t2w-r, 12px); background: #fff; color: var(--t2w-ink, #152A47); box-shadow: 0 12px 40px rgba(15, 23, 42, .2); }
.t2w-report__title { margin: 0 0 6px; font-size: 18px; font-weight: 700; }
.t2w-report__lead { margin: 0 0 12px; font-size: 14px; line-height: 1.5; color: var(--t2w-ink-2, #4B5563); }
.t2w-report__opts { margin: 0 0 12px; padding: 0; border: 0; display: grid; gap: 2px; }
.t2w-report__opt { display: flex; align-items: center; gap: 8px; min-height: 44px; font-size: 15px; cursor: pointer; }
.t2w-report__opt input { width: 18px; height: 18px; margin: 0; accent-color: var(--t2w-ink, #152A47); }
.t2w-report__more { display: grid; gap: 6px; font-size: 14px; color: var(--t2w-ink-2, #4B5563); }
.t2w-report__more textarea { width: 100%; box-sizing: border-box; padding: 10px; border: 1px solid var(--t2w-line, #E5E7EB); border-radius: 8px; font: inherit; font-size: 16px; resize: vertical; }
.t2w-report__msg { min-height: 1.5em; margin: 10px 0 0; font-size: 14px; color: var(--t2w-ink, #152A47); }
.t2w-report__actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 8px; }
.t2w-report__actions button { min-height: 44px; padding: 0 18px; border-radius: 999px; font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; }
.t2w-report__cancel { border: 1px solid var(--t2w-line, #E5E7EB); background: #fff; color: var(--t2w-ink, #152A47); }
.t2w-report__send { border: 0; background: var(--t2w-ink, #152A47); color: #fff; }
.t2w-report__send:disabled { opacity: .6; cursor: default; }
html.t2w-report-open { overflow: hidden; }
.answer-msg { padding: 0 16px 8px; }

/* 생활 첫 장 차례 — 소식 → 시드니에 산다면 → 장보기 → 생활 안내·요즘 이야기 나란히 (2026-10-22 시안, 10-23 기본으로). */
.comm-all .comm-all__head h2::before { content: ""; display: inline-block; width: 4px; height: .82em; margin-right: var(--space-3); border-radius: 2px; background: var(--color-primary); vertical-align: -.06em; }
.comm-all .comm-all-quick__icon { background: rgba(var(--color-primary-rgb), .16); color: var(--color-primary-text); }
.comm-all .comm-all-city { padding: var(--space-6); border-radius: 16px; background: var(--ca-soft); }
.comm-all .comm-all-city .comm-all__head h2::before { display: none; }
.comm-all-city__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); margin: 0; padding: 0; list-style: none; }
.comm-all-city__grid li { min-width: 0; }
.comm-all-city__grid a { display: grid; grid-template-columns: 40px minmax(0, 1fr); grid-template-areas: "icon name" "fact fact"; align-items: center; gap: var(--space-3); height: 100%; box-sizing: border-box; padding: var(--space-4); border: 1px solid var(--ca-line); border-radius: var(--t2w-r,12px); background: var(--color-white, #fff); }
.comm-all-city__grid a:hover { border-color: var(--color-primary); }
.comm-all-city__icon { grid-area: icon; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: rgba(var(--color-primary-rgb), .16); color: var(--color-primary-text); }
.comm-all-city__icon .material-symbols-outlined { font-size: 22px; }
.comm-all-city__grid b { grid-area: name; color: var(--ca-ink); font-size: var(--text-base); font-weight: 700; }
.comm-all-city__fact { grid-area: fact; align-self: start; color: var(--ca-mute); font-size: var(--text-sm); line-height: 1.5; word-break: keep-all; }
.comm-all-city__fact strong { display: block; margin-bottom: 2px; color: var(--ca-ink); font-size: var(--text-xl); font-weight: 700; letter-spacing: -.01em; }
.comm-all .comm-all-city .comm-all-scrollhint { display: none; }
.comm-all-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-12); padding-top: var(--space-8); border-top: 1px solid var(--ca-line); }
.comm-all-pair > .comm-all__sec { min-width: 0; margin-bottom: 0; padding-top: 0; border-top: 0; }
@media (max-width: 1024px) {
  .comm-all-city__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .comm-all-pair { gap: var(--space-8); }
}
@media (max-width: 767px) {
  .comm-all .comm-all-city { margin-inline: calc(-1 * var(--space-4)); padding: var(--space-5) 0 var(--space-4); border-radius: 0; }
  .comm-all .comm-all-city .comm-all__head, .comm-all .comm-all-city .comm-all-scrollhint { padding-inline: var(--space-4); }
  .comm-all .comm-all-city .comm-all-scrollhint { display: block; }
  .comm-all-city__grid { display: flex; overflow-x: auto; gap: var(--space-3); padding: var(--space-1) var(--space-4) var(--space-2); scroll-snap-type: x proximity; scroll-padding-inline: var(--space-4); }
  .comm-all-city__grid li { flex: 0 0 72%; scroll-snap-align: start; }
  .comm-all-pair { grid-template-columns: minmax(0, 1fr); gap: var(--space-10); padding-top: var(--space-6); }
  .comm-all-pair > .comm-all-talk { padding-top: var(--space-6); border-top: 1px solid var(--ca-line); }
}
