:root {
  --tc-bg: #f5f7fb;
  --tc-surface: #ffffff;
  --tc-surface-soft: #eef3ff;
  --tc-text: #152033;
  --tc-muted: #60708a;
  --tc-accent: #0b63f3;
  --tc-border: #d8e1ef;
  --tc-shadow: 0 20px 50px rgba(16, 32, 59, 0.08);
  --tc-radius: 24px;
  --tc-radius-sm: 16px;
  --tc-container: 1200px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--tc-bg);
  color: var(--tc-text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.7;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
.tc-container { width: min(calc(100% - 32px), var(--tc-container)); margin: 0 auto; }
.tc-site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(245, 247, 251, 0.92);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--tc-border);
}
.tc-header-row { display: flex; align-items: center; gap: 24px; padding: 18px 0; }
.tc-branding { flex: 1; }
.tc-site-title { font-size: 1.6rem; font-weight: 800; }
.tc-site-tagline { margin: 6px 0 0; color: var(--tc-muted); font-size: 0.95rem; }
.tc-primary-nav ul, .tc-footer-nav ul {
  display: flex; gap: 18px; list-style: none; margin: 0; padding: 0;
}
.tc-menu-toggle, .tc-search-toggle, .tc-button {
  border: 0; border-radius: 999px; padding: 12px 18px; font: inherit; cursor: pointer;
  background: var(--tc-accent); color: #fff;
}
.tc-button-muted { background: var(--tc-surface); color: var(--tc-text); border: 1px solid var(--tc-border); }
.tc-search-panel { border-top: 1px solid var(--tc-border); padding: 16px 0 20px; }
.search-form { display: flex; gap: 12px; }
.search-field {
  width: 100%; border: 1px solid var(--tc-border); border-radius: 999px; padding: 14px 18px;
  background: var(--tc-surface);
}
.search-submit { border-radius: 999px; border: 0; background: var(--tc-accent); color: #fff; padding: 0 20px; }
.tc-hero, .tc-section { padding: 44px 0; }
.tc-hero-grid, .tc-main-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 28px; }
.tc-hero-copy, .tc-summary, .tc-card-summary, .tc-empty-panel p, .tc-archive-description, .tc-entry-content p { color: var(--tc-muted); }
.tc-kicker { margin: 0 0 12px; color: var(--tc-accent); font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.8rem; }
.tc-hero h1, .tc-article-header h1, .tc-archive-header h1, .tc-page-article h1 { margin: 0 0 14px; line-height: 1.1; font-size: clamp(2.3rem, 4vw, 4rem); }
.tc-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.tc-hero-card, .tc-card, .tc-empty-panel, .tc-page-article, .tc-article, .tc-sidebar .widget, .tc-toc, .tc-category-card {
  background: var(--tc-surface); border: 1px solid var(--tc-border); border-radius: var(--tc-radius); box-shadow: var(--tc-shadow);
}
.tc-card-link { display: block; }
.tc-card-media img, .tc-featured-media img { width: 100%; object-fit: cover; }
.tc-card-body, .tc-page-article, .tc-article, .tc-empty-panel, .tc-category-card, .tc-sidebar .widget, .tc-toc { padding: 24px; }
.tc-card-title { margin: 10px 0 12px; font-size: 1.3rem; line-height: 1.25; }
.tc-card-category, .tc-card-meta, .tc-post-meta, .tc-breadcrumb { color: var(--tc-muted); font-size: 0.92rem; }
.tc-post-grid, .tc-category-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.tc-post-grid-compact { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tc-category-card { display: flex; flex-direction: column; gap: 8px; min-height: 160px; }
.tc-section-muted { background: rgba(11, 99, 243, 0.05); }
.tc-section-heading { margin-bottom: 18px; }
.tc-main-grid { padding: 38px 0 64px; }
.tc-content-area { min-width: 0; }
.tc-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.tc-article-header { margin-bottom: 28px; }
.tc-post-meta { display: flex; flex-wrap: wrap; gap: 14px; }
.tc-featured-media { margin: 0 0 24px; overflow: hidden; border-radius: var(--tc-radius); }
.tc-entry-content { font-size: 1.02rem; }
.tc-entry-content h2, .tc-entry-content h3 { scroll-margin-top: 100px; margin-top: 40px; }
.tc-entry-content ul, .tc-entry-content ol { padding-left: 22px; }
.tc-toc { margin-bottom: 24px; }
.tc-toc ul { margin: 12px 0 0; padding-left: 18px; }
.tc-related-posts { margin-top: 48px; }
.tc-site-footer { padding: 38px 0; background: #0f1729; color: #f2f5fb; margin-top: 40px; }
.tc-footer-grid { display: grid; grid-template-columns: 1fr auto; gap: 24px; }
.tc-footer-bottom { padding-top: 22px; color: rgba(255,255,255,0.7); }
.tc-page-shell { padding: 44px 0 64px; }
.tc-not-found { max-width: 760px; margin: 0 auto; }
.tc-ad-slot { margin: 24px 0; padding: 16px; border: 1px dashed var(--tc-border); border-radius: var(--tc-radius-sm); background: #fbfcfe; }
.screen-reader-text {
  position: absolute !important; clip: rect(1px,1px,1px,1px); padding: 0; border: 0; height: 1px; width: 1px; overflow: hidden;
}
.screen-reader-text:focus {
  clip: auto !important; height: auto; width: auto; background: #fff; color: #000; padding: 12px 16px; top: 12px; left: 12px; z-index: 50;
}
@media (max-width: 980px) {
  .tc-hero-grid, .tc-main-grid, .tc-footer-grid, .tc-post-grid, .tc-category-grid { grid-template-columns: 1fr; }
  .tc-primary-nav { display: none; width: 100%; }
  .tc-primary-nav.is-open { display: block; }
  .tc-primary-nav ul { flex-direction: column; padding: 12px 0 0; }
  .tc-header-row { flex-wrap: wrap; }
}
