/*
Theme Name: FWERKOR Blog
Theme URI: https://github.com/fwerkor/fwerkor-blog-theme
Author: FWERKOR
Author URI: https://www.fwerkor.com
Description: A clean, responsive WordPress theme for FWERKOR Blog, visually aligned with Auctor.
Version: 1.1.1
License: MIT
Text Domain: fwerkor-blog
Tags: blog, custom-logo, custom-menu, featured-images, accessibility-ready
*/

 :root {
  --fw-bg: #f8fafd;
  --fw-surface: #fff;
  --fw-soft: #f1f5f9;
  --fw-text: #1f1f1f;
  --fw-muted: #5f6368;
  --fw-secondary: #4f5357;
  --fw-control: #3c4043;
  --fw-dim: #9aa0a6;
  --fw-border: #dfe3e8;
  --fw-subtle-border: #edf0f2;
  --fw-blue: #0b57d0;
  --fw-blue-hover: #0842a0;
  --fw-on-blue: #fff;
  --fw-hover: #eef3f8;
  --fw-header: rgba(248,250,253,.92);
  --fw-header-strong: rgba(248,250,253,.98);
  --fw-footer-bg: #f1f5f9;
  --fw-input-bg: #fff;
  --fw-code-bg: #f4f7fa;
  --fw-code-inline-bg: #eef3f8;
  --fw-code-text: #202124;
  --fw-focus: rgba(11,87,208,.12);
  --fw-radius: 10px;
  --fw-radius-sm: 7px;
  --fw-shadow: 0 1px 2px rgba(60,64,67,.08), 0 1px 3px rgba(60,64,67,.05);
  --fw-max: 1240px;
  --fw-content: 790px;
}

html[data-theme="dark"] {
  color-scheme: dark;
  --fw-bg: #111318;
  --fw-surface: #1b1f24;
  --fw-soft: #20252b;
  --fw-text: #e8eaed;
  --fw-muted: #9aa0a6;
  --fw-secondary: #bdc1c6;
  --fw-control: #bdc1c6;
  --fw-dim: #80868b;
  --fw-border: #343a40;
  --fw-subtle-border: #2a2f35;
  --fw-blue: #8ab4f8;
  --fw-blue-hover: #aecbfa;
  --fw-on-blue: #10233f;
  --fw-hover: #242a31;
  --fw-header: rgba(17,19,24,.92);
  --fw-header-strong: rgba(17,19,24,.98);
  --fw-footer-bg: #161a1f;
  --fw-input-bg: #161a1f;
  --fw-code-bg: #161a1f;
  --fw-code-inline-bg: #202a36;
  --fw-code-text: #e8eaed;
  --fw-focus: rgba(138,180,248,.22);
  --fw-shadow: 0 1px 2px rgba(0,0,0,.38), 0 2px 8px rgba(0,0,0,.18);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0; background: var(--fw-bg); color: var(--fw-text);
  font-family: Inter, Roboto, "Noto Sans SC", "Microsoft YaHei", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px; line-height: 1.7; text-rendering: optimizeLegibility;
}
img { max-width: 100%; height: auto; }
a { color: var(--fw-blue); text-decoration: none; }
a:hover { color: var(--fw-blue-hover); }
button,input,textarea,select { font: inherit; color:inherit; }
.screen-reader-text { position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.skip-link:focus { width:auto;height:auto;clip:auto;margin:8px;padding:8px 12px;background:var(--fw-surface);color:var(--fw-text);z-index:10000; }
.fw-shell { width:min(calc(100% - 40px),var(--fw-max));margin-inline:auto; }

.site-header {
  position:sticky;top:0;z-index:100;background:var(--fw-header);
  backdrop-filter:blur(18px);border-bottom:1px solid var(--fw-border);
}
.admin-bar .site-header { top:32px; }
.header-inner { min-height:72px;display:flex;align-items:center;gap:28px; }
.site-branding { display:flex;align-items:center;gap:11px;min-width:0;color:var(--fw-text); }
.site-branding:hover { color:var(--fw-text); }
.custom-logo-link { display:flex;align-items:center;flex:0 0 auto; }
.custom-logo { width:42px;height:42px;object-fit:contain; }
.brand-copy { min-width:0;line-height:1.12; }
.site-title { display:block;font-size:17px;font-weight:690;letter-spacing:-.015em;white-space:nowrap; }
.site-description { display:block;color:var(--fw-muted);font-size:12px;margin-top:3px;white-space:nowrap; }
.site-nav { display:flex;align-items:center;gap:4px;margin-left:auto; }
.site-nav ul { display:flex;gap:2px;align-items:center;list-style:none;padding:0;margin:0; }
.site-nav a,.header-action {
  display:inline-flex;min-height:40px;align-items:center;padding:0 13px;border-radius:var(--fw-radius-sm);
  color:var(--fw-control);font-size:14px;font-weight:560;
}
.site-nav a:hover,.site-nav .current-menu-item>a { background:var(--fw-hover);color:var(--fw-blue); }
.header-actions { display:flex;align-items:center;gap:4px; }
.header-action { border:0;background:transparent;cursor:pointer; }
.header-action:hover { background:var(--fw-hover); }
.header-action.account-link {
  background:transparent;
  color:var(--fw-secondary);
  border:1px solid var(--fw-border);
  padding-inline:14px;
}
.header-action.account-link:hover {
  background:var(--fw-hover);
  color:var(--fw-text);
  border-color:var(--fw-border);
}
.theme-control { position:relative; }
.theme-toggle {
  width:40px;
  padding:0;
  justify-content:center;
}
.theme-toggle svg { width:19px;height:19px;display:block; }
.theme-menu {
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  z-index:120;
  min-width:150px;
  padding:6px;
  background:var(--fw-surface);
  border:1px solid var(--fw-border);
  border-radius:var(--fw-radius-sm);
  box-shadow:var(--fw-shadow);
}
.theme-menu[hidden] { display:none; }
.theme-option {
  width:100%;
  min-height:38px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 10px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:var(--fw-control);
  text-align:left;
  cursor:pointer;
}
.theme-option:hover,
.theme-option[aria-checked="true"] {
  background:var(--fw-hover);
  color:var(--fw-text);
}
.theme-option[aria-checked="true"]::after {
  content:"✓";
  margin-left:auto;
  color:var(--fw-blue);
}
.menu-toggle { display:none; }

.search-panel { border-top:1px solid var(--fw-border);padding:14px 0 16px;background:var(--fw-header-strong); }
.search-panel[hidden] { display:none; }
.search-form { display:flex;gap:10px;max-width:720px;margin-inline:auto; }
.search-field {
  flex:1;min-width:0;min-height:46px;border:1px solid var(--fw-border);border-radius:var(--fw-radius-sm);
  background:var(--fw-input-bg);color:var(--fw-text);padding:0 14px;outline:none;
}
.search-field:focus { border-color:var(--fw-blue);box-shadow:0 0 0 2px var(--fw-focus); }
.search-submit,.fw-button {
  min-height:42px;border:0;border-radius:var(--fw-radius-sm);background:var(--fw-blue);
  color:var(--fw-on-blue);padding:0 17px;font-weight:600;cursor:pointer;
}
.search-submit:hover,.fw-button:hover { background:var(--fw-blue-hover);color:var(--fw-on-blue); }

.site-main { padding:34px 0 64px; }
.home-intro { display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px; }
.home-intro h1,.archive-header h1,.search-header h1 {
  margin:0;font-size:clamp(28px,3vw,40px);line-height:1.18;letter-spacing:-.035em;
}
.home-intro p,.archive-header p { margin:8px 0 0;color:var(--fw-muted); }
.content-grid { display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:28px;align-items:start; }
.posts-stack { min-width:0; }

.post-card {
  display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:24px;padding:24px;margin-bottom:16px;
  background:var(--fw-surface);border:1px solid var(--fw-border);border-radius:var(--fw-radius);box-shadow:var(--fw-shadow);
}
.post-card.no-thumb { grid-template-columns:1fr; }
.post-card:first-child { padding:28px; }
.post-card-content { min-width:0;display:flex;flex-direction:column; }
.post-meta { display:flex;flex-wrap:wrap;align-items:center;gap:7px 10px;margin-bottom:9px;color:var(--fw-muted);font-size:13px; }
.post-meta a { color:var(--fw-muted); }
.post-meta a:hover { color:var(--fw-blue); }
.meta-dot::before { content:"·";margin-right:10px;color:var(--fw-dim); }
.post-title { margin:0;font-size:clamp(20px,2.15vw,28px);line-height:1.3;letter-spacing:-.025em; }
.post-title a { color:var(--fw-text); }
.post-title a:hover { color:var(--fw-blue); }
.post-excerpt {
  margin:11px 0 0;color:var(--fw-secondary);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.post-card-footer { margin-top:auto;padding-top:16px;font-size:14px;font-weight:600; }
.post-thumb { align-self:stretch;min-height:160px; }
.post-thumb a { display:block;width:100%;height:100%; }
.post-thumb img {
  width:100%;height:100%;min-height:160px;max-height:190px;object-fit:cover;border-radius:var(--fw-radius-sm);display:block;
}

.sidebar { position:sticky;top:96px;display:grid;gap:16px; }
.admin-bar .sidebar { top:128px; }
.sidebar-card,.widget { background:var(--fw-surface);border:1px solid var(--fw-border);border-radius:var(--fw-radius);padding:20px; }
.sidebar-heading,.widget-title,.widget h2 { margin:0 0 12px;font-size:14px;font-weight:700;letter-spacing:.01em; }
.sidebar-intro { color:var(--fw-muted);font-size:14px; }
.sidebar-intro p:last-child { margin-bottom:0; }
.widget ul,.category-list,.recent-list { list-style:none;padding:0;margin:0; }
.widget li,.category-list li,.recent-list li { padding:7px 0;border-top:1px solid var(--fw-subtle-border); }
.widget li:first-child,.category-list li:first-child,.recent-list li:first-child { border-top:0; }
.category-list a,.recent-list a,.widget a { color:var(--fw-control); }
.category-list a:hover,.recent-list a:hover,.widget a:hover { color:var(--fw-blue); }
.category-count { float:right;color:var(--fw-dim);font-size:12px; }

.fw-pagination { margin-top:24px; }
.nav-links { display:flex;flex-wrap:wrap;gap:7px; }
.page-numbers {
  min-width:38px;height:38px;display:inline-grid;place-items:center;padding:0 10px;border:1px solid var(--fw-border);
  border-radius:var(--fw-radius-sm);color:var(--fw-control);background:var(--fw-surface);
}
.page-numbers.current { background:var(--fw-blue);border-color:var(--fw-blue);color:var(--fw-on-blue); }

.article-layout {
  display:grid;grid-template-columns:minmax(0,var(--fw-content)) 280px;justify-content:center;gap:36px;align-items:start;
}
.article-shell {
  min-width:0;background:var(--fw-surface);border:1px solid var(--fw-border);border-radius:var(--fw-radius);
  padding:clamp(24px,4vw,48px);box-shadow:var(--fw-shadow);
}
.article-header { margin-bottom:28px; }
.article-title { margin:0;font-size:clamp(30px,4.2vw,48px);line-height:1.16;letter-spacing:-.04em; }
.article-header .post-meta { margin:14px 0 0; }
.article-hero { margin:0 0 28px; }
.article-hero img { width:100%;max-height:520px;object-fit:cover;border-radius:var(--fw-radius-sm); }

.entry-content { font-size:17px;line-height:1.82;overflow-wrap:anywhere; }
.entry-content>*:first-child { margin-top:0; }
.entry-content p { margin:1.15em 0; }
.entry-content h2,.entry-content h3,.entry-content h4 { line-height:1.28;letter-spacing:-.025em;scroll-margin-top:100px; }
.entry-content h2 { margin:2em 0 .7em;font-size:28px; }
.entry-content h3 { margin:1.7em 0 .65em;font-size:22px; }
.entry-content h4 { margin:1.5em 0 .6em;font-size:18px; }
.entry-content a { text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--fw-blue) 35%, transparent);text-underline-offset:3px; }
.entry-content blockquote { margin:1.5em 0;padding:4px 0 4px 18px;border-left:3px solid var(--fw-blue);color:var(--fw-secondary); }
.entry-content code,.entry-content pre,kbd { font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace; }
.entry-content code { padding:.16em .38em;border-radius:4px;background:var(--fw-code-inline-bg);font-size:.9em; }
.entry-content pre {
  overflow-x:auto;padding:18px 20px;border:1px solid var(--fw-border);border-radius:var(--fw-radius-sm);
  background:var(--fw-code-bg);line-height:1.6;font-size:14px;
}
.entry-content pre code,
.entry-content .wp-block-code code {
  display:block;
  min-width:max-content;
  padding:0;
  background:transparent;
  color:var(--fw-code-text) !important;
  text-shadow:none !important;
  font-size:inherit;
  line-height:inherit;
  white-space:pre;
  overflow-wrap:normal;
  word-break:normal;
  tab-size:4;
}
.entry-content table { width:100%;border-collapse:collapse;display:block;overflow-x:auto; }
.entry-content th,.entry-content td { padding:10px 12px;border:1px solid var(--fw-border);text-align:left; }
.entry-content img { border-radius:var(--fw-radius-sm); }
.entry-content figure { margin:1.6em 0; }
.entry-content figcaption { color:var(--fw-muted);font-size:13px;text-align:center;margin-top:6px; }

.post-taxonomy { display:flex;flex-wrap:wrap;gap:8px;padding-top:28px;margin-top:34px;border-top:1px solid var(--fw-border); }
.post-taxonomy a {
  display:inline-flex;min-height:32px;align-items:center;padding:0 11px;border-radius:var(--fw-radius-sm);
  background:var(--fw-soft);color:var(--fw-control);font-size:13px;text-decoration:none;
}
.post-navigation { margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.post-navigation a {
  display:block;padding:14px 16px;border:1px solid var(--fw-border);border-radius:var(--fw-radius-sm);background:var(--fw-surface);color:var(--fw-control);
}
.post-navigation .nav-next { text-align:right; }

.comments-area {
  margin-top:20px;background:var(--fw-surface);border:1px solid var(--fw-border);border-radius:var(--fw-radius);padding:clamp(20px,3vw,32px);
}
.comments-title { margin-top:0; }
.comment-list { list-style:none;padding:0; }
.comment-body { padding:16px 0;border-top:1px solid var(--fw-border); }
.comment-list>li:first-child .comment-body { border-top:0; }
.comment-meta { font-size:13px;color:var(--fw-muted); }
.comment-content p:last-child { margin-bottom:0; }
.comment-form textarea,.comment-form input[type="text"],.comment-form input[type="email"],.comment-form input[type="url"] {
  width:100%;border:1px solid var(--fw-border);border-radius:var(--fw-radius-sm);padding:10px 12px;background:var(--fw-input-bg);color:var(--fw-text);
}
.comment-form .submit { min-height:42px;border:0;border-radius:var(--fw-radius-sm);background:var(--fw-blue);color:var(--fw-on-blue);padding:0 16px;cursor:pointer; }

.archive-header,.search-header,.not-found { margin-bottom:22px; }
.empty-state,.not-found { background:var(--fw-surface);border:1px solid var(--fw-border);border-radius:var(--fw-radius);padding:32px; }

.site-footer { border-top:1px solid var(--fw-border);background:var(--fw-footer-bg);color:var(--fw-muted); }
.footer-inner { min-height:120px;padding:28px 0;display:flex;align-items:center;justify-content:space-between;gap:24px; }
.footer-brand { display:flex;align-items:center;gap:10px;color:var(--fw-control);font-weight:650; }
.footer-logo { width:30px;height:30px;object-fit:contain; }
.footer-nav ul { list-style:none;display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;padding:0; }
.footer-nav a { color:var(--fw-muted);font-size:14px; }
.footer-meta { font-size:13px;margin-top:7px; }

@media (max-width:980px) {
  .content-grid,.article-layout { grid-template-columns:minmax(0,1fr); }
  .sidebar { position:static;grid-template-columns:repeat(2,minmax(0,1fr)); }
  .article-shell { max-width:840px;margin-inline:auto; }
  .article-layout>.sidebar { max-width:840px;width:100%;margin-inline:auto; }
  .site-nav { display:none; }
  .menu-toggle { display:inline-flex; }
  .site-nav.is-open {
    display:block;position:absolute;top:72px;left:0;right:0;padding:10px 20px 16px;
    border-bottom:1px solid var(--fw-border);background:var(--fw-bg);
  }
  .site-nav.is-open ul { width:min(100%,var(--fw-max));margin-inline:auto;display:grid; }
  .site-nav.is-open a { width:100%; }
}
@media (max-width:720px) {
  .fw-shell { width:min(calc(100% - 28px),var(--fw-max)); }
  .site-description { display:none; }
  .header-inner { min-height:64px;gap:10px; }
  .custom-logo { width:36px;height:36px; }
  .site-title { font-size:15px; }
  .header-action.account-link { display:none; }
  .site-nav.is-open { top:64px; }
  .site-main { padding-top:22px; }
  .home-intro { align-items:start;flex-direction:column;margin-bottom:18px; }
  .post-card { grid-template-columns:1fr;padding:20px;gap:16px; }
  .post-thumb { order:-1;min-height:180px; }
  .post-thumb img { max-height:250px; }
  .sidebar { grid-template-columns:1fr; }
  .article-shell { padding:24px 20px; }
  .article-title { font-size:clamp(28px,9vw,40px); }
  .entry-content { font-size:16px; }
  .post-navigation { grid-template-columns:1fr; }
  .post-navigation .nav-next { text-align:left; }
  .footer-inner { min-height:0;align-items:flex-start;flex-direction:column; }
}
@media (min-width:601px) and (max-width:782px) {
  .admin-bar .site-header { top:46px; }
}
@media (max-width:600px) {
  .admin-bar .site-header { top:0; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { scroll-behavior:auto!important;transition:none!important; }
}
