:root { --ink:#172d3a; --muted:#62736f; --line:#dfe6e2; --soft:#f3f5f1; --primary:#17665e; --primary-soft:#eaf3ef; --accent:#967344; --paper:#fffefa; --radius:18px; }
html { scroll-padding-top:100px; }
body, body.public-page { background:#f6f7f3; color:var(--ink); font-family:Pretendard,"Noto Sans KR",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:15px; line-height:1.65; letter-spacing:-.025em; -webkit-font-smoothing:antialiased; }
*, *::before, *::after { box-sizing:border-box; }
a, button { -webkit-tap-highlight-color:transparent; }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible { outline:3px solid #78b5a5; outline-offset:4px; }
button { font:inherit; cursor:pointer; }
button:disabled { cursor:not-allowed; opacity:.55; }
.skip-link { position:fixed; left:20px; top:-90px; z-index:2000; padding:12px 18px; color:#fff; background:var(--primary); border-radius:10px; }
.skip-link:focus { top:10px; }
.site-header { position:sticky; top:0; z-index:1030; background:rgba(255,254,250,.97); border-bottom:1px solid var(--line); backdrop-filter:blur(16px); }
.site-header-inner { width:min(1320px,calc(100% - 64px)); min-height:76px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.site-brand { display:inline-flex; align-items:center; gap:10px; color:var(--ink); text-decoration:none; white-space:nowrap; }
.site-brand-logo { width:38px; height:38px; }
.site-brand strong { font-size:21px; font-weight:800; letter-spacing:-.055em; }
.site-header .global-nav { display:flex; align-self:stretch; gap:10px; align-items:center; }
.site-header .global-nav a { position:relative; min-height:44px; display:flex; align-items:center; padding:10px 17px; border-radius:10px; font-size:15px; font-weight:650; color:#556762; text-decoration:none; white-space:nowrap; }
.site-header .global-nav a[aria-current=page] { color:var(--primary); background:var(--primary-soft); font-weight:800; }
.site-header .global-nav a[aria-current=page]::after { content:""; position:absolute; height:3px; bottom:-16px; left:18px; right:18px; background:var(--primary); border-radius:3px; }
.header-about { color:var(--muted); font-size:13px; text-decoration:none; white-space:nowrap; }
.mobile-site-nav { display:none; }
.page-shell, .issue-detail-shell, .public-page .wrap { width:min(1320px,calc(100% - 64px)); margin:auto; padding:20px 0 44px; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:0 0 16px; color:#73817b; font-size:13px; }
.breadcrumbs a { color:inherit; text-decoration:none; }
.breadcrumbs [aria-current=page] { color:var(--ink); font-weight:650; }
.intro-panel { display:flex; min-height:0; padding:0 0 16px; gap:20px; border-radius:0; background:none; box-shadow:none; color:var(--ink); }
.section-kicker, .intro-panel .section-kicker, .issue-detail-hero .section-kicker { color:var(--primary); font-size:12px; font-weight:650; letter-spacing:0; }
.intro-panel h1, .issue-detail-hero h1 { margin:7px 0 9px; font-size:36px; line-height:1.25; font-weight:800; letter-spacing:-.06em; }
.intro-panel p:last-child { color:var(--muted); font-size:13px; }
.edition-label { margin-left:auto; display:grid; gap:3px; text-align:right; }
.edition-label span, .edition-label small { color:var(--muted); font-size:12px; }
.edition-label strong { font-size:24px; font-variant-numeric:tabular-nums; letter-spacing:-.04em; }
.archive-strip { gap:7px; margin:0 0 18px; padding-bottom:3px; }
.archive-strip a { border-color:var(--line); color:var(--muted); padding:6px 13px; font-size:12px; }
.archive-strip a.active { background:var(--ink); border-color:var(--ink); color:white; }
.magazine-layout { display:grid; grid-template-columns:minmax(0,1fr) 270px; gap:26px; align-items:start; }
.magazine-main, .magazine-rail { min-width:0; }
.magazine-rail { display:grid; gap:20px; }
.magazine-card, .daily-brief-panel, .issue-ranking-panel, .daily-top-panel, .discovery-panel, .latest-posts-panel, .search-results-panel, .community-card, .issue-detail-panel { border:1px solid var(--line); border-radius:var(--radius); background:var(--paper); box-shadow:0 3px 12px #203c3003; }
.magazine-card { padding:24px; }
.magazine-card h2 { margin:0; font-size:18px; letter-spacing:-.045em; font-weight:750; }
.magazine-card header { display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between; }
.status-chip, .issue-category { display:inline-block; padding:3px 9px; color:var(--primary); background:var(--primary-soft); border-radius:6px; font-size:12px; font-weight:650; }
.muted-copy { font-size:13px; color:var(--muted); margin:12px 0; }
.preview-chart { height:165px; display:flex; gap:9px; padding:12px 0 0; margin-bottom:14px; }
.preview-chart > div { min-width:0; flex:1; display:flex; flex-direction:column; text-align:center; }
.preview-track { height:105px; display:flex; align-items:end; justify-content:center; border-bottom:1px solid var(--line); }
.preview-track i { display:block; width:18px; border-radius:4px 4px 0 0; background:#43857a; }
.preview-track i.pending { border:1px dashed #8eaaa0; background:transparent; }
.preview-chart span { margin-top:6px; font-size:12px; }
.preview-chart small { font-size:10px; color:var(--muted); font-variant-numeric:tabular-nums; }
.preview-state { color:var(--muted); min-height:80px; margin:20px 0; font-size:13px; }
.editorial-link { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 0 0; color:var(--primary); font-size:14px; font-weight:700; text-decoration:none; border-top:1px solid var(--line); }
.editorial-link:hover { color:#0c4942; text-decoration:underline; }
.rail-topics ol { padding:0; margin:16px 0; list-style:none; }
.rail-topics li { display:grid; grid-template-columns:18px minmax(0,1fr) auto; gap:8px; align-items:center; padding:12px 0; border-bottom:1px solid #edf0eb; }
.rail-topics li > span, .rail-topics li > small { font-size:12px; color:var(--muted); }
.rail-topics li a { color:var(--ink); font-size:14px; font-weight:650; overflow-wrap:anywhere; text-decoration:none; }
.rail-note { padding:22px; background:#ecefe7; border-radius:var(--radius); }
.rail-note h2 { margin:12px 0; font-size:18px; }
.rail-note p, .rail-note a { color:#5f7064; font-size:13px; line-height:1.8; }
.daily-brief-panel { position:relative; margin:0 0 20px; padding:20px 24px; background:linear-gradient(115deg,#edf4ee,#f8faf5); border-color:#d6e3d9; }
.daily-brief-panel::before { content:""; width:3px; position:absolute; left:-1px; top:23px; bottom:23px; background:#408675; border-radius:2px; }
.daily-brief-panel h2 { font-size:19px; }
.daily-brief-panel ul { margin:14px 0; padding-left:19px; font-size:15px; line-height:1.85; }
.daily-brief-panel li::marker { color:var(--primary); }
.daily-brief-panel small, .basis-note { color:#65786e; font-size:12px; }
.panel-heading, .section-heading { align-items:center; gap:12px; }
.panel-heading h2, .section-heading h2 { font-size:19px; font-weight:750; }
.panel-heading > span, .section-heading > span { font-size:12px; }
.discovery-panel { display:grid; grid-template-columns:auto minmax(0,1fr); column-gap:18px; padding:18px 22px; box-shadow:none; }
.discovery-heading, .discovery-primary { grid-column:1/-1; }
.discovery-heading h2 { font-size:16px; }
.discovery-primary { grid-template-columns:minmax(0,1fr) 130px auto; gap:10px; }
.range-buttons { grid-column:auto; }
.range-buttons button { min-height:34px; padding:6px 14px; border-color:var(--line); font-size:12px; }
.search-box input, .date-picker-wrap input { height:44px; background:#fafbf8; border-color:#dbe3dc; font-size:14px; border-radius:10px; }
.search-box input:focus { border-color:#43857a; box-shadow:0 0 0 3px #17665e12; }
.personal-filters { gap:12px; margin:14px 0 0; }
.personal-filters button { color:var(--primary); border-color:#d5e3da; font-size:13px; min-height:38px; }
.personal-filters button.active { background:var(--primary); border-color:var(--primary); }
.personal-filters span { display:none; font-size:12px; color:var(--muted); }
.community-filter { margin-top:14px; padding-top:0; border:0; }
.community-filter button { padding:6px 10px; min-height:34px; border-color:var(--line); font-size:12px; }
.community-filter button.active { color:var(--primary); border-color:#b8d5c7; background:var(--primary-soft); }
.range-buttons button:hover, .community-filter button:hover { border-color:#8db7a6; color:var(--primary); }
.flatpickr-day.selected, .flatpickr-day.selected:hover { border-color:var(--primary); background:var(--primary); }
.story-grid { display:grid; grid-template-columns:minmax(0,1fr) 235px; gap:20px; align-items:stretch; margin:0 0 20px; }
.story-grid > :only-child { grid-column:1/-1; }
.latest-posts-panel { padding:22px; margin:0; }
.latest-posts-panel .panel-heading { flex-wrap:wrap; }
.latest-posts-panel ol, .search-results-panel ol { grid-template-columns:minmax(0,1fr); margin-top:14px; }
.latest-posts-panel li, .search-results-panel li { grid-template-columns:20px minmax(0,1fr); padding:14px 0; gap:4px 10px; align-items:start; border-color:#e9eee7; }
.latest-posts-panel li > a, .search-results-panel li > a { font-size:15px; line-height:1.65; white-space:normal; overflow:visible; word-break:keep-all; overflow-wrap:anywhere; font-weight:650; }
.latest-posts-panel li > small, .search-results-panel li > small { grid-column:2; max-width:none; font-size:11px; }
.post-rank { font-size:12px; line-height:2; color:#8b9b91; }
.featured-issue { display:flex; flex-direction:column; background:linear-gradient(150deg,#f5f3ec,#fffefa 75%); border-color:#e6e2d5; }
.featured-issue .issue-category { align-self:start; margin:22px 0 12px; background:#ebe9dd; color:#756644; }
.featured-issue h2 { font-size:27px; line-height:1.45; overflow-wrap:anywhere; }
.featured-issue h2 a { color:var(--primary); text-decoration:none; }
.feature-summary { margin:20px 0; font-size:15px; line-height:1.9; color:#5b6962; word-break:keep-all; overflow-wrap:anywhere; }
.featured-issue small { font-size:12px; color:var(--muted); }
.featured-issue .editorial-link { margin-top:auto; padding-top:20px; }
.insights-details { border-color:var(--line); border-radius:var(--radius); margin:0 0 24px; box-shadow:none; }
.insights-details > summary { padding:20px 22px; color:var(--ink); font-size:15px; }
.insights-details > .overview-grid { grid-template-columns:minmax(0,1fr); }
.issue-main a, .daily-top-list a { font-size:15px; }
.issue-main p, .daily-top-list span { font-size:12px; }
.issue-ranking-list li { padding:14px 0; }
.mini-meter span, .issue-detail-meter span { background:linear-gradient(90deg,#9dc1af,#307468); }
.issue-ranking-list li > strong { color:#8b774f; }
.reaction-grid { grid-template-columns:minmax(0,1fr); }
.reaction-ranking { padding:20px; box-shadow:none; border-color:var(--line); }
.reaction-ranking h3 { font-size:17px; }
.reaction-ranking li a { white-space:normal; font-size:14px; }
.reaction-ranking header p, .reaction-ranking li small, .reaction-ranking li > .community-name { font-size:12px; }
.reaction-ranking.empathy { border-top-color:#608a7b; }
.reaction-ranking.discussion { border-top-color:#69889d; }
.reaction-ranking.rising { border-top-color:#b3a17e; }
.masonry { column-count:2; column-gap:20px; }
.masonry-item { margin-bottom:20px; }
.community-card-header { padding:18px 20px; }
.community-card-header h2 { font-size:16px; }
.community-card-header p { font-size:12px; }
.community-post-list li { padding:13px 18px; gap:10px; }
.community-post-list a { font-size:14px; line-height:1.7; }
.community-post-list p { font-size:11px; color:#77877c; }
.community-card-footer { padding:12px 18px 18px; }
.community-card-footer button { min-height:40px; font-size:13px; border-color:#c8dace; }
.favorite-button { min-width:36px; min-height:36px; font-size:22px; }
.favorite-button.active { color:#9b7b36; }
.data-guide { background:transparent; padding:24px 0; border-top:1px solid var(--line); border-radius:0; }
.data-guide p { font-size:12px; }
.site-footer { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 24px; border-top:1px solid var(--line); padding:22px 20px 45px; font-size:13px; color:var(--muted); }
.site-footer a { padding:8px 0; color:inherit; text-decoration:none; }
.issue-detail-shell { max-width:1000px; }
.issue-detail-hero, .public-page .hero { padding:0 0 24px; border:0; border-radius:0; color:var(--ink); background:transparent; box-shadow:none; }
.issue-detail-hero > p:not(.section-kicker) { color:var(--muted); }
.issue-back-link { border:1px solid var(--line); background:var(--paper); padding:9px 14px; color:var(--primary); font-size:13px; }
.section-links { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 22px; border-bottom:1px solid var(--line); padding-bottom:12px; }
.section-links a { padding:9px 16px; font-size:14px; font-weight:650; color:var(--primary); text-decoration:none; background:var(--primary-soft); border-radius:8px; }
[id^=issue-], #main-content, #issues, #analysis, #posts, #communities { scroll-margin-top:110px; }
.issue-detail-stats { gap:12px; margin:0 0 24px; }
.issue-detail-stats > div { padding:18px; border-radius:14px; border-color:var(--line); background:var(--paper); }
.issue-detail-stats strong { font-size:23px; }
.issue-detail-stats span { font-size:12px; }
.issue-detail-panel { padding:26px 30px; margin-top:20px; }
.issue-detail-panel h2 { font-size:21px; margin-bottom:16px; }
.issue-detail-panel h3 { font-size:17px; }
.issue-detail-panel p, .issue-detail-panel li { font-size:16px; line-height:1.9; color:#485e52; word-break:keep-all; overflow-wrap:anywhere; }
.issue-detail-list article { padding:17px; border-color:var(--line); }
.issue-detail-list a { font-size:15px; line-height:1.8; }
.public-page .wrap { max-width:1120px; }
.public-page .hero h1 { font-size:36px; letter-spacing:-.055em; margin:10px 0; }
.public-page .hero p { color:var(--muted); max-width:800px; font-size:14px; }
.public-page .hero a { color:var(--primary); }
.public-page .eyebrow { color:var(--primary); font-size:12px; letter-spacing:0; }
.public-page .panel, .public-page .topic, .public-page .day { background:var(--paper); border-color:var(--line); border-radius:var(--radius); box-shadow:none; padding:26px; }
.public-page .panel { margin-top:22px; }
.public-page .panel h2 { font-size:21px; margin:0 0 15px; }
.public-page .panel h3 { font-size:17px; }
.public-page .panel a { color:var(--primary); }
.public-issues .wrap { max-width:1000px; }
.public-issues .stat span { color:var(--muted); font-size:12px; }
.public-page .panel p { font-size:15px; line-height:1.85; }
.public-page .fine { font-size:13px; color:var(--muted); }
.public-page .stat, .public-page .reaction-total, .public-page .summary-card { background:#eef3ed; border-color:var(--line); border-radius:12px; padding:18px; }
.public-page .summary-card.hot { background:#ecefe2; }
.public-page .chart-box { background:var(--paper); border-color:var(--line); }
.public-page .week-track i, .public-page .rank-track i, .public-page .meter span { background:linear-gradient(180deg,#7bab97,#28695a); }
.public-page .week-column.peak .week-track i { background:#a58b55; }
.public-page .badge { color:#6f633f; background:#f2efdf; }
.public-page .btn { min-height:42px; padding:10px 16px; background:var(--primary); color:white; font:inherit; font-size:13px; }
.public-page .btn.alt, .public-page .hero .btn { background:var(--primary-soft); color:var(--primary); }
.public-page .spread a { background:var(--primary-soft); color:var(--primary); padding:8px 12px; }
.public-page .reaction-list a { font-size:14px; white-space:normal; line-height:1.65; }
.public-page .reaction-list small { font-size:12px; }
.public-page .reaction-column { border-color:var(--line); padding:18px; }
.public-page .community { background:transparent; border-color:var(--line); padding:15px; }
.public-page .footer { margin:25px 0 0; color:var(--muted); }
.weekly-pager { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.weekly-pager a { padding:9px 14px; border:1px solid var(--line); border-radius:8px; color:var(--primary); text-decoration:none; background:var(--paper); font-size:13px; }
.scroll-top-button { width:42px; height:42px; background:var(--primary); box-shadow:0 4px 14px #173c3020; }
@media(min-width:1550px) { .story-grid { grid-template-columns:minmax(0,1fr) 280px; } }
@media(max-width:1100px) {
  .discovery-primary { grid-template-columns:minmax(0,1fr) 124px; }
  .range-buttons { grid-column:1/-1; }
  .discovery-panel { display:block; }
  .site-header-inner { gap:16px; }
  .header-about { display:none; }
  .site-header .global-nav a { padding:10px 12px; font-size:14px; }
  .magazine-layout { grid-template-columns:minmax(0,1fr) 240px; gap:20px; }
  .story-grid { grid-template-columns:minmax(0,1fr); }
  .featured-issue { display:none; }
  .magazine-card { padding:20px; }
  .masonry { column-count:1; }
}
@media(max-width:800px) {
  .site-header-inner, .page-shell, .issue-detail-shell, .public-page .wrap { width:calc(100% - 36px); }
  .site-header-inner { min-height:64px; }
  .site-brand strong { font-size:19px; }
  .site-brand-logo { width:33px; height:33px; }
  .site-header .global-nav { display:none; }
  .header-about { display:block; }
  .page-shell, .issue-detail-shell, .public-page .wrap { padding-top:19px; }
  .magazine-layout { grid-template-columns:minmax(0,1fr); }
  .magazine-rail { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rail-note { grid-column:1/-1; }
  .intro-panel { gap:16px; align-items:start; padding-bottom:18px; }
  .intro-panel h1, .issue-detail-hero h1, .public-page .hero h1 { font-size:29px; }
  .edition-label strong { font-size:17px; }
  .edition-label small { display:none; }
  .breadcrumbs { margin-bottom:18px; font-size:12px; gap:8px; }
  .daily-brief-panel { padding:19px 21px; }
  .daily-brief-panel .panel-heading { flex-wrap:wrap; gap:7px; }
  .daily-brief-panel ul { font-size:14px; line-height:1.8; }
  .daily-brief-panel small { display:block; line-height:1.6; }
  .discovery-panel { padding:18px; }
  .discovery-primary { grid-template-columns:minmax(0,1fr) 124px; }
  .search-box input { font-size:13px; }
  .range-buttons { grid-column:1/-1; }
  .range-buttons button { min-height:40px; flex:1; }
  .personal-filters button, .community-filter button { min-height:40px; }
  .personal-filters span { font-size:11px; }
  .mobile-site-nav { position:fixed; bottom:0; inset-inline:0; z-index:1050; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:6px 12px calc(6px + env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:rgba(255,254,250,.98); backdrop-filter:blur(16px); }
  .mobile-site-nav a { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; min-height:52px; color:#718279; text-decoration:none; font-size:11px; border-radius:12px; position:relative; }
  .mobile-site-nav a[aria-current=page] { color:var(--primary); background:var(--primary-soft); font-weight:750; }
  .mobile-site-nav a[aria-current=page]::before { content:""; position:absolute; top:-6px; width:24px; height:3px; border-radius:0 0 3px 3px; background:var(--primary); }
  .site-footer { padding-bottom:100px; font-size:12px; }
  .scroll-top-button { bottom:85px; }
  .issue-detail-panel, .public-page .panel { padding:22px; }
  .issue-detail-panel p, .issue-detail-panel li { font-size:15px; }
  .issue-detail-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .public-page .reaction-columns { grid-template-columns:minmax(0,1fr); }
  .section-links { gap:6px; }
  .section-links a { padding:9px 12px; font-size:13px; }
}
@media(max-width:480px) {
  .intro-panel { display:block; }
  .edition-label { display:none; }
  .intro-panel .section-kicker { font-size:11px; }
  .intro-panel h1 { font-size:28px; }
  .discovery-primary { grid-template-columns:minmax(0,1fr); }
  .magazine-rail { grid-template-columns:minmax(0,1fr); }
  .rail-note { grid-column:auto; }
  .latest-posts-panel { padding:19px; }
  .latest-posts-panel li > a { font-size:15px; }
  .issue-detail-panel { padding:20px; }
  .issue-detail-stats > div { padding:14px; }
  .public-page .topic-head { flex-wrap:wrap; }
  .public-page .community { flex-wrap:wrap; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
