/* ===========================================================================
   site-workbench-pages.css — B workbench applied to SSR page bodies.
   Scope: body.site-workbench EXCLUDING .workbench-blog / .analysis-workbench
   (approved blog + analysis surfaces keep their existing CSS untouched).
   Loads LAST (parent injects after legacy + inline CSS); consumes global
   --sw-* tokens with fallbacks; owns page-body panels only — shared shell
   (header/footer/brand/nav) stays with the parent stylesheet.
   Design: white/quiet-gray, 14px body, 12-13px controls, 1px hairlines,
   5px control corners, no gradients/shadows/pills; Noto Serif CJK KR only
   for page/editorial headings; financial heatmaps/chart colors untouched.
   =========================================================================== */

/* ---- 0. Body base ------------------------------------------------------ */
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) {
  background: var(--sw-bg, #fff);
  color: var(--sw-text, #202326);
  font-family: var(--sw-sans, 'Noto Sans CJK KR', 'Apple SD Gothic Neo', sans-serif);
  font-size: 14px;
  line-height: 1.65;
  letter-spacing: normal;
}
/* kill legacy radial/grid gradients + fixed overlay on legacy pages */
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench))::before {
  content: none;
  display: none;
}

/* ---- 1. Legacy #root width container (shell main slot) ---------------- */
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) #root.board-wrap {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .page-shell {
  max-width: none;
}

/* ---- 2. Shared legacy controls (buttons, inputs, badges) -------------- */
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(button, input, select, textarea) {
  font-family: var(--sw-sans, 'Noto Sans CJK KR', 'Apple SD Gothic Neo', sans-serif);
  font-size: 13px;
  box-shadow: none;
  text-transform: none;
  transform: none;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.ghost-button, .danger-button, .small-button, .board-write-button, .board-list-back-button, .board-icon-vote-button, .macro-period-button, .gp-more-btn, .spy-index-more-btn, .follow-add-btn, .notif-mark-all-btn, .follow-remove-btn) {
  border-radius: 5px;
  min-height: 34px;
  padding: 6px 12px;
  font-size: 13px;
  font-weight: 500;
  box-shadow: none;
  transform: none;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.ghost-button, .board-list-back-button, .notif-mark-all-btn, .follow-remove-btn) {
  background: transparent;
  color: var(--sw-muted, #626c73);
  border: 1px solid var(--sw-line, #d8dadb);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .ghost-button:hover {
  color: var(--sw-text, #202326);
  border-color: var(--sw-accent, #33545f);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .board-write-button {
  background: var(--sw-accent, #33545f);
  border-color: var(--sw-accent, #33545f);
  color: var(--sw-bg, #fff);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .small-button {
  background: var(--sw-text, #202326);
  border: 1px solid var(--sw-text, #202326);
  color: var(--sw-bg, #fff);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.small-button, .ghost-button, .danger-button, .board-write-button, .macro-period-button, .gp-more-btn):hover {
  opacity: 0.88;
  transform: none;
  box-shadow: none;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(input[type="search"], input[type="text"], select, textarea) {
  background: var(--sw-bg, #fff);
  border: 1px solid var(--sw-line, #d8dadb);
  border-radius: 5px;
  color: var(--sw-text, #202326);
  font-size: 13px;
}

/* ---- 3. Section cards / panels: flat, hairline, 5px corners ----------- */
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.board-card, .board-list-panel, .board-search-form, .board-detail-card, .board-empty-state, .guru-view-card, .guru-news-card, .guru-deep-section, .guru-disclaimer, .guru-news-notice, .gp-hero-card, .gp-tablewrap, .gp-disclaimer, .gp-sec-history-wrap, .macro-chart-card, .macro-control-card, .macro-explanation, .macro-cycle-dashboard, .spy-status-card, .seo-related-card, .related-posts-card, .markdown-editor-shell, .markdown-preview-panel, .markdown-preview-body) {
  background: var(--sw-bg, #fff);
  border: 1px solid var(--sw-line, #d8dadb);
  border-radius: 5px;
  box-shadow: none;
  backdrop-filter: none;
  overflow: auto;
}

/* ---- 4. Page / section headings: serif only here ----------------------- */
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.board-header, .guru-header, .macro-header, .blog-header, .gp-ov-title, .gp-hero-name, .hub-index h1, .search-page h1, .login-shell h1, .signup-shell h1, .admin-header h1, .macro-chart-heading h2) {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .board-header::before,
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .macro-header::before,
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .blog-header::before,
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .guru-header::before {
  content: none;
  display: none;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.board-header h1, .guru-header h1, .macro-header h1, .blog-header h1, .gp-ov-title, .gp-hero-name, .hub-index h1, .search-page h1) {
  font-family: var(--sw-serif, 'Noto Serif CJK KR', Georgia, serif);
  font-size: 27px;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.35;
  color: var(--sw-text, #202326);
  margin: 0 0 8px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.board-header p, .guru-header p, .macro-header p, .blog-header p, .gp-ov-sub, .gp-hero-sub) {
  color: var(--sw-muted, #626c73);
  font-size: 13px;
  line-height: 1.7;
  margin: 0;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.board-eyebrow) {
  color: var(--sw-accent, #33545f);
  font-family: var(--sw-sans, 'Noto Sans CJK KR', 'Apple SD Gothic Neo', sans-serif);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  margin: 0 0 6px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.board-list-head h2, .board-widget-header h2, .macro-chart-heading h2, .search-section h2, .seo-related-card h2, .guru-view-card h2, .guru-news-card h2, .macro-explanation h2, .admin-header h1) {
  font-family: var(--sw-sans, 'Noto Sans CJK KR', 'Apple SD Gothic Neo', sans-serif);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -0.015em;
  color: var(--sw-text, #202326);
  margin: 0;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .gp-section-title {
  font-size: 15px;
  font-weight: 600;
  color: var(--sw-text, #202326);
}

/* ---- 5. Community (board list + detail) -------------------------------- */
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .board-list-panel {
  padding: 0;
  border: 0;
  border-bottom: 1px solid var(--sw-line, #d8dadb);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .board-list-head {
  border-bottom: 1px solid var(--sw-line, #d8dadb);
  padding: 0 0 12px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .board-list-row {
  border-bottom: 1px solid var(--sw-line, #d8dadb);
  border-radius: 0;
  padding: 14px 4px;
  min-height: 0;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .board-list-row:hover {
  background: var(--sw-soft, #f7f8f8);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .board-list-title {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.01em;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .board-list-title a {
  color: var(--sw-text, #202326);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .board-list-title a:hover {
  color: var(--sw-accent, #33545f);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.board-list-meta, .board-meta, .board-excerpt, .board-detail-meta) {
  color: var(--sw-muted, #626c73);
  font-size: 12px;
  line-height: 1.7;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .board-excerpt {
  color: var(--sw-text, #202326);
  font-size: 13px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .board-detail-meta strong {
  color: var(--sw-text, #202326);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.board-stat-pill, .board-comment-pill, .board-like-pill, .board-engagement span) {
  border: 1px solid var(--sw-line, #d8dadb);
  border-radius: 5px;
  background: var(--sw-soft, #f7f8f8);
  color: var(--sw-muted, #626c73);
  font-size: 12px;
  font-weight: 400;
  min-height: 24px;
  box-shadow: none;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .board-empty-state {
  border-style: dashed;
  color: var(--sw-muted, #626c73);
  background: transparent;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.board-article h1, .board-article-header h1) {
  font-family: var(--sw-serif, 'Noto Serif CJK KR', Georgia, serif);
  font-size: 25px;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.4;
  color: var(--sw-text, #202326);
  margin: 0;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .board-article-header {
  border-bottom: 1px solid var(--sw-line, #d8dadb);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .board-article-content {
  font-family: var(--sw-sans, 'Noto Sans CJK KR', 'Apple SD Gothic Neo', sans-serif);
  font-size: 14px;
  line-height: 1.85;
  letter-spacing: normal;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .board-article-content p {
  color: var(--sw-text, #202326);
  line-height: 1.85;
  margin: 0 0 16px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .board-article-content h2,
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .board-article-content h3 {
  font-family: var(--sw-sans, 'Noto Sans CJK KR', 'Apple SD Gothic Neo', sans-serif);
  letter-spacing: -0.015em;
  color: var(--sw-text, #202326);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .board-article-content blockquote {
  border-left: 1px solid var(--sw-line, #d8dadb);
  color: var(--sw-muted, #626c73);
  background: transparent;
  border-radius: 0;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .board-article-content pre {
  border-radius: 5px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.board-breadcrumb, .board-detail-stats, .board-engagement) {
  color: var(--sw-muted, #626c73);
  font-size: 12px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .board-breadcrumb a {
  color: var(--sw-accent, #33545f);
  font-weight: 500;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.board-detail-actions, .board-actions) {
  border-top: 1px solid var(--sw-line, #d8dadb);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .board-comments {
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  max-width: 780px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .board-widget-header {
  border-bottom: 1px solid var(--sw-line, #d8dadb);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .board-comment-content {
  font-family: var(--sw-sans, 'Noto Sans CJK KR', 'Apple SD Gothic Neo', sans-serif);
  font-size: 14px;
  letter-spacing: normal;
  color: var(--sw-text, #202326);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.board-comment-form textarea, .board-editor textarea, .board-edit-form textarea) {
  border-radius: 5px;
  background: var(--sw-bg, #fff);
  font-size: 14px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .board-pagination a,
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .board-pagination span {
  border: 1px solid var(--sw-line, #d8dadb);
  border-radius: 5px;
  background: var(--sw-bg, #fff);
  color: var(--sw-muted, #626c73);
  font-size: 12px;
  box-shadow: none;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .board-pagination .current {
  background: var(--sw-text, #202326);
  border-color: var(--sw-text, #202326);
  color: var(--sw-bg, #fff);
  font-weight: 500;
}

/* ---- 6. Guru overview + portfolio (gp-*) ------------------------------- */
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .gp-ov-title {
  font-size: 27px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .gp-ov-tablewrap {
  border: 1px solid var(--sw-line, #d8dadb);
  border-radius: 5px;
  background: var(--sw-bg, #fff);
  overflow: auto;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .gp-ov-table th {
  background: var(--sw-soft, #f7f8f8);
  color: var(--sw-muted, #626c73);
  font-size: 11px;
  font-weight: 600;
  border-bottom: 1px solid var(--sw-line, #d8dadb);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .gp-ov-table td {
  border-bottom: 1px solid var(--sw-line, #d8dadb);
  font-size: 13px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .gp-ov-table tbody tr:hover {
  background: var(--sw-soft, #f7f8f8);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.gp-ov-guru, .gp-ov-chip) {
  color: var(--sw-accent, #33545f);
  font-size: 12px;
  font-weight: 500;
  border-radius: 5px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .gp-ov-chip-nolink {
  background: var(--sw-soft, #f7f8f8);
  color: var(--sw-muted, #626c73);
  border: 1px solid var(--sw-line, #d8dadb);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.gp-ov-note, .gp-ov-disclaimer, .gp-ov-sub) {
  color: var(--sw-muted, #626c73);
  font-size: 12px;
  line-height: 1.7;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .gp-ov-fund {
  color: var(--sw-muted, #626c73);
  font-size: 12px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .gp-backnav a {
  border: 1px solid var(--sw-line, #d8dadb);
  border-radius: 5px;
  background: transparent;
  color: var(--sw-muted, #626c73);
  font-size: 12px;
  font-weight: 500;
  box-shadow: none;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .gp-backnav a:hover {
  border-color: var(--sw-accent, #33545f);
  color: var(--sw-accent, #33545f);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.gp-qfilter-chip, .gp-qsel-select) {
  border-radius: 5px;
  border-color: var(--sw-line, #d8dadb);
  background: var(--sw-bg, #fff);
  color: var(--sw-text, #202326);
  font-size: 12px;
  box-shadow: none;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .gp-qfilter-chip.is-active {
  background: var(--sw-text, #202326);
  border-color: var(--sw-text, #202326);
  color: var(--sw-bg, #fff);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.gp-hero-card, .gp-tablewrap, .gp-kpi) {
  border-radius: 5px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.gp-hero-card, .gp-tablewrap) {
  border: 1px solid var(--sw-line, #d8dadb);
  background: var(--sw-bg, #fff);
  box-shadow: none;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .gp-kpi {
  background: var(--sw-soft, #f7f8f8);
  border: 0;
  border-radius: 5px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .gp-kpi b {
  color: var(--sw-text, #202326);
  font-size: 15px;
  font-weight: 600;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .gp-kpi span {
  color: var(--sw-muted, #626c73);
  font-size: 11px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .gp-table th {
  background: var(--sw-soft, #f7f8f8);
  color: var(--sw-muted, #626c73);
  font-size: 11px;
  font-weight: 600;
  border-bottom: 1px solid var(--sw-line, #d8dadb);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .gp-table td {
  font-size: 13px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .gp-table tbody tr:hover {
  background: var(--sw-soft, #f7f8f8);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .gp-ticker {
  color: var(--sw-accent, #33545f);
  font-weight: 600;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.gp-name, .gp-plain) {
  color: var(--sw-text, #202326);
  font-weight: 500;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.gp-more-btn, .gp-backnav a, .gp-qsel-select) {
  border-radius: 5px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .gp-more-btn[aria-expanded="true"] {
  background: var(--sw-text, #202326);
  border-color: var(--sw-text, #202326);
  color: var(--sw-bg, #fff);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.gp-section-title, .gp-sec-history-title) {
  color: var(--sw-text, #202326);
  font-weight: 600;
}
/* decorative right-edge fade gradient inside the 13F table */
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .gp-tablewrap::after {
  content: none;
  display: none;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .gp-sec-history-wrap {
  border-radius: 5px;
  border-color: var(--sw-line, #d8dadb);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .gp-sec-history-table th {
  background: var(--sw-soft, #f7f8f8);
  color: var(--sw-muted, #626c73);
  border-bottom: 1px solid var(--sw-line, #d8dadb);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.gp-note, .gp-change, .gp-foot, .gp-disclaimer, .gp-comparison-note) {
  color: var(--sw-muted, #626c73);
  font-size: 12px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .gp-disclaimer {
  background: var(--sw-soft, #f7f8f8);
  border-left: 1px solid var(--sw-line, #d8dadb);
  border-radius: 0 5px 5px 0;
}

/* ---- 7. Guru market views (opinions / news) ---------------------------- */
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.guru-section-tabs, .guru-filter-form select, .guru-person-chip, .guru-tag, .guru-evidence-time) {
  border-radius: 5px;
  box-shadow: none;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .guru-section-tabs {
  border: 0;
  padding: 0;
  background: transparent;
  gap: 6px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .guru-section-tabs a {
  border: 1px solid var(--sw-line, #d8dadb);
  background: var(--sw-bg, #fff);
  color: var(--sw-muted, #626c73);
  font-size: 12px;
  font-weight: 500;
  min-height: 32px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .guru-section-tabs a[aria-current="page"] {
  background: var(--sw-text, #202326);
  border-color: var(--sw-text, #202326);
  color: var(--sw-bg, #fff);
  box-shadow: none;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .guru-filter-form label {
  color: var(--sw-muted, #626c73);
  font-size: 12px;
  font-weight: 500;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .guru-person-chip {
  border-color: var(--sw-line, #d8dadb);
  background: var(--sw-bg, #fff);
  color: var(--sw-text, #202326);
  font-size: 12px;
  font-weight: 400;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .guru-person-chip[aria-current="true"] {
  background: var(--sw-text, #202326);
  border-color: var(--sw-text, #202326);
  color: var(--sw-bg, #fff);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .guru-view-card {
  padding: 16px 18px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .guru-avatar {
  border-radius: 5px;
  background: var(--sw-accent, #33545f);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .guru-person strong {
  color: var(--sw-text, #202326);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.guru-person small, .guru-view-date, .guru-news-meta, .guru-source-note) {
  color: var(--sw-muted, #626c73);
  font-size: 12px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .guru-summary {
  color: var(--sw-text, #202326);
  font-size: 13px;
  line-height: 1.75;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .guru-quote {
  border-left: 1px solid var(--sw-accent, #33545f);
  color: var(--sw-muted, #626c73);
  font-family: var(--sw-serif, 'Noto Serif CJK KR', Georgia, serif);
  font-size: 13px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .guru-deep summary {
  color: var(--sw-accent, #33545f);
  font-size: 13px;
  font-weight: 500;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .guru-deep-section h3 {
  color: var(--sw-text, #202326);
  font-size: 13px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .guru-deep-section p {
  color: var(--sw-muted, #626c73);
  font-size: 13px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .guru-evidence-time {
  background: var(--sw-soft, #f7f8f8);
  color: var(--sw-muted, #626c73);
  font-size: 11px;
  font-weight: 500;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.guru-evidence-text strong) {
  color: var(--sw-text, #202326);
  font-size: 13px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .guru-evidence-text span {
  color: var(--sw-muted, #626c73);
  font-size: 12px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.guru-source-link, .guru-news-open) {
  color: var(--sw-accent, #33545f);
  font-weight: 500;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .guru-empty {
  color: var(--sw-muted, #626c73);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.guru-disclaimer, .guru-news-notice) {
  color: var(--sw-muted, #626c73);
  font-size: 12px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .guru-pagination a {
  border: 1px solid var(--sw-line, #d8dadb);
  border-radius: 5px;
  background: var(--sw-bg, #fff);
  color: var(--sw-text, #202326);
  font-size: 12px;
  font-weight: 400;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .guru-news-card h2 a {
  color: var(--sw-text, #202326);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .guru-news-card h2 a:hover {
  color: var(--sw-accent, #33545f);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .guru-news-person {
  border-radius: 5px;
  background: var(--sw-soft, #f7f8f8);
  color: var(--sw-muted, #626c73);
  font-size: 11px;
  font-weight: 500;
}

/* ---- 8. Hubs index + follows dashboard --------------------------------- */
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .hub-index h1 {
  font-family: var(--sw-serif, 'Noto Serif CJK KR', Georgia, serif);
  font-size: 27px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--sw-text, #202326);
  margin: 0 0 8px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.hub-index-intro, .hub-caveat, .follows-intro, .follows-digest-note) {
  color: var(--sw-muted, #626c73);
  font-size: 13px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.hub-index-table, .follows-table) {
  font-size: 13px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.hub-index-table th, .follows-table th) {
  color: var(--sw-muted, #626c73);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.05em;
  border-bottom: 1px solid var(--sw-line, #d8dadb);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.hub-index-table td, .follows-table td) {
  border-bottom: 1px solid var(--sw-line, #d8dadb);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.hub-index-table th, .hub-index-table td, .follows-table th, .follows-table td) {
  border-bottom: 1px solid var(--sw-line, #d8dadb);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .follows-table th {
  text-transform: uppercase;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.notif-item) {
  border-radius: 5px;
  background: var(--sw-soft, #f7f8f8);
  font-size: 13px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .follow-add-form :is(select, input[type="text"]) {
  border-radius: 5px;
  border-color: var(--sw-line, #d8dadb);
  background: var(--sw-bg, #fff);
  color: var(--sw-text, #202326);
  font-size: 13px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .follow-add-form label {
  color: var(--sw-muted, #626c73);
  font-size: 12px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .follow-add-btn {
  border-radius: 5px;
  background: var(--sw-accent, #33545f);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .follow-add-btn:hover {
  background: var(--sw-text, #202326);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .notif-mark-all-btn {
  border-radius: 5px;
}

/* ---- 9. Macro page ------------------------------------------------------ */
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .macro-regime-pill {
  border-radius: 5px;
  border: 1px solid var(--sw-line, #d8dadb);
  background: var(--sw-soft, #f7f8f8);
  color: var(--sw-text, #202326);
  font-size: 12px;
  font-weight: 500;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .macro-cycle-card {
  border-radius: 5px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .macro-cycle-card span {
  color: var(--sw-muted, #626c73);
  font-size: 12px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.macro-cycle-value, .macro-cycle-card strong) {
  color: var(--sw-text, #202326);
  font-size: 13px;
  font-weight: 600;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.macro-cycle-note, .macro-insight-list li) {
  color: var(--sw-muted, #626c73);
  font-size: 12px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.macro-period-button, .macro-preset-chip, .macro-maturity-chip) {
  border-radius: 5px;
  border: 1px solid var(--sw-line, #d8dadb);
  background: var(--sw-bg, #fff);
  color: var(--sw-muted, #626c73);
  font-size: 12px;
  font-weight: 500;
  box-shadow: none;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.macro-period-button[aria-pressed="true"], .macro-preset-chip.active) {
  background: var(--sw-text, #202326);
  border-color: var(--sw-text, #202326);
  color: var(--sw-bg, #fff);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .macro-chart-heading p {
  color: var(--sw-muted, #626c73);
  font-size: 12px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.macro-legend, .macro-insight-list) {
  color: var(--sw-muted, #626c73);
  font-size: 12px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .macro-explanation p {
  color: var(--sw-text, #202326);
  font-size: 13px;
  line-height: 1.8;
}

/* ---- 10. SPY model ------------------------------------------------------ */
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.spy-index-chip, .spy-index-more-btn, .spy-pill, .spy-period-badge, .spy-index-drop) {
  border-radius: 5px;
  box-shadow: none;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.spy-index-chip, .spy-index-more-btn) {
  border: 1px solid var(--sw-line, #d8dadb);
  background: var(--sw-bg, #fff);
  color: var(--sw-text, #202326);
  font-size: 12px;
  font-weight: 500;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .spy-index-chip[aria-pressed="true"] {
  background: var(--sw-text, #202326);
  border-color: var(--sw-text, #202326);
  color: var(--sw-bg, #fff);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .spy-combo input {
  border: 1px solid var(--sw-line, #d8dadb);
  border-radius: 5px;
  background: var(--sw-bg, #fff);
  color: var(--sw-text, #202326);
  font-size: 13px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.spy-status-card, .spy-stats-grid) {
  font-size: 13px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.spy-legend, .spy-disclaimer, .spy-fixed-note, .spy-asof) {
  color: var(--sw-muted, #626c73);
  font-size: 12px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .spy-compare th {
  color: var(--sw-muted, #626c73);
  font-size: 11px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.spy-compare td, .spy-events td) {
  font-size: 13px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.spy-events th) {
  color: var(--sw-muted, #626c73);
  font-size: 11px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .spy-compare td.metric {
  color: var(--sw-text, #202326);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .spy-loading {
  color: var(--sw-muted, #626c73);
}

/* ---- 11. Search --------------------------------------------------------- */
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .search-page h1 {
  font-family: var(--sw-serif, 'Noto Serif CJK KR', Georgia, serif);
  font-size: 25px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--sw-text, #202326);
  margin: 0 0 6px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.search-guide, .search-empty) {
  color: var(--sw-muted, #626c73);
  font-size: 13px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .search-form input[type="search"] {
  border: 1px solid var(--sw-line, #d8dadb);
  border-radius: 5px;
  background: var(--sw-bg, #fff);
  color: var(--sw-text, #202326);
  font-size: 13px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.search-section h2) {
  font-size: 15px;
  font-weight: 600;
  color: var(--sw-text, #202326);
  margin: 0 0 8px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .seo-related-list a {
  border: 1px solid var(--sw-line, #d8dadb);
  border-radius: 5px;
  background: var(--sw-bg, #fff);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .seo-related-list a:hover {
  border-color: var(--sw-accent, #33545f);
  background: var(--sw-soft, #f7f8f8);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.seo-related-list strong) {
  color: var(--sw-text, #202326);
  font-size: 13px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.seo-related-list small) {
  color: var(--sw-muted, #626c73);
  font-size: 12px;
}

/* ---- 12. Standalone auth (login / signup) ------------------------------- */
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.login-shell, .signup-shell) {
  margin-top: 9vh;
  border-radius: 5px;
  border: 1px solid var(--sw-line, #d8dadb);
  background: var(--sw-bg, #fff);
  box-shadow: none;
  backdrop-filter: none;
  padding: 26px 26px 22px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.login-shell h1, .signup-shell h1) {
  font-family: var(--sw-serif, 'Noto Serif CJK KR', Georgia, serif);
  font-size: 23px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--sw-text, #202326);
  margin: 0 0 8px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.login-shell p, .signup-shell p) {
  color: var(--sw-muted, #626c73);
  font-size: 13px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.login-shell label, .signup-shell label) {
  color: var(--sw-muted, #626c73);
  font-size: 12px;
  font-weight: 500;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.login-shell input, .signup-shell input) {
  border: 1px solid var(--sw-line, #d8dadb);
  border-radius: 5px;
  background: var(--sw-bg, #fff);
  color: var(--sw-text, #202326);
  font-size: 14px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.login-shell button[type="submit"], .signup-shell button[type="submit"]) {
  border-radius: 5px;
  background: var(--sw-accent, #33545f);
  border-color: var(--sw-accent, #33545f);
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  min-height: 38px;
  box-shadow: none;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.login-actions a, .signup-actions a) {
  color: var(--sw-accent, #33545f);
  font-size: 13px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.login-error, .signup-error) {
  border-radius: 5px;
}

/* ---- 13. Admin (db_admin.html) ------------------------------------------ */
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .admin-shell {
  width: min(1180px, calc(100% - 48px));
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .admin-panel {
  border-radius: 5px;
  border: 1px solid var(--sw-line, #d8dadb);
  background: var(--sw-bg, #fff);
  box-shadow: none;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .admin-header h1 {
  font-family: var(--sw-serif, 'Noto Serif CJK KR', Georgia, serif);
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--sw-text, #202326);
  margin: 0;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .admin-topbar :is(button, a) {
  border-radius: 5px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.admin-hint, .admin-status, .admin-job-meta, .admin-job-message) {
  color: var(--sw-muted, #626c73);
  font-size: 12px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.admin-status, .admin-job-panel, .admin-job-card, .guru-review-card, .admin-ticker-table-wrap, .table-container, .admin-divider) {
  border-radius: 5px;
  border-color: var(--sw-line, #d8dadb);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.admin-status, .admin-job-panel, .admin-job-card, .guru-review-card, .admin-ticker-table-wrap, .table-container) {
  box-shadow: none;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.admin-inline-input, .admin-role-select, .admin-col-select select, .guru-manual-form input, .guru-manual-form select) {
  border-radius: 5px;
  border-color: var(--sw-line, #d8dadb);
  background: var(--sw-bg, #fff);
  color: var(--sw-text, #202326);
  font-size: 13px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .admin-status.error {
  background: #fee2e2;
  border-color: #fecaca;
  color: #b91c1c;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .admin-status.success {
  background: #dcfce7;
  border-color: #bbf7d0;
  color: #166534;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.admin-ticker-table th, .admin-ticker-table td, .admin-job-card, .guru-review-item) {
  font-size: 13px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .admin-ticker-table th {
  color: var(--sw-muted, #626c73);
  font-size: 11px;
  font-weight: 600;
  border-bottom: 1px solid var(--sw-line, #d8dadb);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .admin-ticker-table td {
  border-bottom: 1px solid var(--sw-line, #d8dadb);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.tag-chip, .admin-job-badge) {
  border-radius: 5px;
  background: var(--sw-soft, #f7f8f8);
  color: var(--sw-muted, #626c73);
  font-size: 11px;
  font-weight: 500;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.admin-hint) {
  font-size: 13px;
}

/* ---- 14. Blog write / editor surfaces on legacy shell (non-blog routes) - */
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.markdown-editor-shell, .markdown-preview-panel, .markdown-preview-body) {
  border-radius: 5px;
  border-color: var(--sw-line, #d8dadb);
  box-shadow: none;
  background: var(--sw-bg, #fff);
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.markdown-toolbar button, .markdown-toolbar select) {
  border-radius: 5px;
  font-size: 12px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) .markdown-editor-footer {
  background: var(--sw-soft, #f7f8f8);
  color: var(--sw-muted, #626c73);
  font-size: 12px;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.board-search-form, .blog-language-bar) {
  border-radius: 5px;
  background: var(--sw-bg, #fff);
  border-color: var(--sw-line, #d8dadb);
  box-shadow: none;
}
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.blog-lang-toggle) {
  border-radius: 5px;
  font-size: 12px;
}

/* ---- 15. SEO footer content card on legacy pages ------------------------ */
body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.seo-related-card, .related-posts-card) {
  border-radius: 5px;
  border: 1px solid var(--sw-line, #d8dadb);
  background: var(--sw-bg, #fff);
  box-shadow: none;
}

/* ---- 16. Mobile: 390px — panels go full-bleed, tables scroll internally - */
@media (max-width: 390px) {
  body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.board-card, .board-list-panel, .board-search-form, .board-detail-card, .gp-hero-card, .gp-tablewrap, .guru-view-card, .guru-news-card, .macro-chart-card, .macro-control-card, .macro-explanation, .macro-cycle-dashboard, .spy-status-card, .seo-related-card, .admin-panel) {
    border-radius: 5px;
  }
  body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.board-header h1, .guru-header h1, .macro-header h1, .blog-header h1, .gp-ov-title, .gp-hero-name, .hub-index h1, .search-page h1) {
    font-size: 22px;
  }
  body.site-workbench:not(:has(.workbench-blog,.analysis-workbench)) :is(.gp-tablewrap, .admin-ticker-table-wrap, .table-container) {
    overflow-x: auto;
  }
}
