/* 主题只保留语义变量与文章内容适配，组件外观交给 TailwindCSS 与 daisyUI。 */
:root {
  --page-margin: 2rem;
  --color-base-100: oklch(98% 0.002 247.839);
  --color-base-200: oklch(96% 0.003 264.542);
  --color-base-300: oklch(92% 0.006 264.531);
  --color-base-content: oklch(21% 0.034 264.665);
  --color-primary: oklch(0% 0 0);
  --color-primary-content: oklch(100% 0 0);
  --color-secondary: oklch(59% 0.145 163.225);
  --color-secondary-content: oklch(97% 0.021 166.113);
  --color-accent: oklch(68% 0.162 75.834);
  --color-accent-content: oklch(98% 0.026 102.212);
  --color-neutral: oklch(44% 0.03 256.802);
  --color-neutral-content: oklch(98% 0.002 247.839);
  --color-info: oklch(62% 0.214 259.815);
  --color-info-content: oklch(97% 0.014 254.604);
  --color-success: oklch(70% 0.14 182.503);
  --color-success-content: oklch(98% 0.014 180.72);
  --color-warning: oklch(70% 0.213 47.604);
  --color-warning-content: oklch(98% 0.016 73.684);
  --color-error: oklch(65% 0.241 354.308);
  --color-error-content: oklch(97% 0.014 343.198);
  --radius-selector: 0.25rem;
  --radius-field: 1rem;
  --radius-box: 1rem;
  --size-selector: 0.25rem;
  --size-field: 0.25rem;
  --border: 1px;
  --depth: 0;
  --noise: 1;
}

html[data-color="bumblebee"] {
  --color-base-100: oklch(98% 0.002 247.839);
  --color-base-200: oklch(96% 0.003 264.542);
  --color-base-300: oklch(92% 0.006 264.531);
  --color-base-content: oklch(21% 0.034 264.665);
  --color-primary: oklch(0% 0 0);
  --color-primary-content: oklch(100% 0 0);
  --color-secondary: oklch(59% 0.145 163.225);
  --color-secondary-content: oklch(97% 0.021 166.113);
  --color-accent: oklch(68% 0.162 75.834);
  --color-accent-content: oklch(98% 0.026 102.212);
  --color-neutral: oklch(44% 0.03 256.802);
  --color-neutral-content: oklch(98% 0.002 247.839);
  --color-info: oklch(62% 0.214 259.815);
  --color-info-content: oklch(97% 0.014 254.604);
  --color-success: oklch(70% 0.14 182.503);
  --color-success-content: oklch(98% 0.014 180.72);
  --color-warning: oklch(70% 0.213 47.604);
  --color-warning-content: oklch(98% 0.016 73.684);
  --color-error: oklch(65% 0.241 354.308);
  --color-error-content: oklch(97% 0.014 343.198);
  --radius-selector: 0.25rem;
  --radius-field: 1rem;
  --radius-box: 1rem;
  --size-selector: 0.25rem;
  --size-field: 0.25rem;
  --border: 1px;
  --depth: 0;
  --noise: 1;
}
html[data-theme="dark"] {
  color-scheme: dark;
  --color-base-100: oklch(25.33% 0.016 252.42);
  --color-base-200: oklch(23.26% 0.014 253.1);
  --color-base-300: oklch(21.15% 0.012 254.09);
  --color-base-content: oklch(97.807% 0.029 256.847);
  --color-primary: oklch(58% 0.233 277.117);
  --color-primary-content: oklch(96% 0.018 272.314);
  --color-secondary: oklch(65% 0.241 354.308);
  --color-secondary-content: oklch(94% 0.028 342.258);
  --color-accent: oklch(77% 0.152 181.912);
  --color-accent-content: oklch(38% 0.063 188.416);
  --color-neutral: oklch(14% 0.005 285.823);
  --color-neutral-content: oklch(92% 0.004 286.32);
  --color-info: oklch(74% 0.16 232.661);
  --color-info-content: oklch(29% 0.066 243.157);
  --color-success: oklch(76% 0.177 163.223);
  --color-success-content: oklch(37% 0.077 168.94);
  --color-warning: oklch(82% 0.189 84.429);
  --color-warning-content: oklch(41% 0.112 45.904);
  --color-error: oklch(71% 0.194 13.428);
  --color-error-content: oklch(27% 0.105 12.094);
}

*, *::before, *::after { box-sizing: border-box; }
html { overflow-x: hidden; }
body { min-width: 320px; overflow-x: hidden; }
img, svg, video, iframe { max-width: 100%; }
button, input, textarea, select { max-width: 100%; }
.site-shell { padding-block: var(--page-margin); }
.navbar { box-shadow: 0 1px 0 var(--color-base-300); }
[data-lucide] { width: 1.125rem; height: 1.125rem; stroke-width: 1.8; flex: 0 0 auto; }
.menu [data-lucide], .dock [data-lucide] { width: 1.25rem; height: 1.25rem; }
.article-content { max-width: 48rem; margin-inline: auto; line-height: 1.85; font-size: 1rem; color: var(--color-base-content); overflow-wrap: anywhere; }
.article-content > :first-child { margin-top: 0; }
.article-content > :last-child { margin-bottom: 0; }
.article-content :where(p, ul, ol, blockquote, pre, table, figure, hr) { margin-block: 1.4rem; }
.article-content p { color: color-mix(in oklab, var(--color-base-content) 88%, transparent); }
.article-content :where(h1, h2, h3, h4, h5, h6) { color: var(--color-base-content); line-height: 1.35; font-weight: 700; scroll-margin-top: 5rem; }
.article-content h1 { margin-block: 2.75rem 1rem; font-size: 2rem; }
.article-content h2 { margin-block: 2.5rem 1rem; padding-bottom: .55rem; border-bottom: 1px solid var(--color-base-300); font-size: 1.6rem; }
.article-content h3 { margin-block: 2rem .75rem; font-size: 1.3rem; }
.article-content :where(h4, h5, h6) { margin-block: 1.5rem .6rem; font-size: 1.1rem; }
.article-content :where(ul, ol) { padding-inline-start: 1.6rem; }
.article-content ul { list-style: disc; }
.article-content ol { list-style: decimal; }
.article-content li { margin-block: .35rem; padding-inline-start: .2rem; }
.article-content li::marker { color: var(--color-primary); }
.article-content a { color: var(--color-primary); text-decoration: underline; text-decoration-color: color-mix(in oklab, var(--color-primary) 35%, transparent); text-underline-offset: .2em; }
.article-content a:hover { text-decoration-color: var(--color-primary); }
.article-content strong { color: var(--color-base-content); font-weight: 700; }
.article-content del { color: color-mix(in oklab, var(--color-base-content) 55%, transparent); }
.article-content blockquote { border-inline-start: .25rem solid var(--color-primary); padding: 1rem 1.25rem; color: color-mix(in oklab, var(--color-base-content) 72%, transparent); background: color-mix(in oklab, var(--color-primary) 7%, var(--color-base-100)); border-radius: var(--radius-field); }
.article-content blockquote > :first-child { margin-top: 0; }
.article-content blockquote > :last-child { margin-bottom: 0; }
.article-content :where(code, kbd) { border: 1px solid var(--color-base-300); border-radius: var(--radius-selector); background: var(--color-base-200); padding: .15em .4em; font-family: var(--font-mono, monospace); font-size: .9em; }
.article-content pre { overflow-x: auto; border: 1px solid var(--color-base-300); border-radius: var(--radius-box); background: var(--color-neutral); color: var(--color-neutral-content); padding: 1.15rem 1.25rem; line-height: 1.65; box-shadow: 0 8px 24px color-mix(in oklab, var(--color-base-content) 8%, transparent); }
.article-content pre code { display: block; border: 0; border-radius: 0; background: transparent; padding: 0; color: inherit; font-size: .875rem; white-space: pre; }
.article-content hr { border: 0; border-top: 1px solid var(--color-base-300); }
.article-content table { display: block; width: 100%; max-width: 100%; overflow-x: auto; border: 1px solid var(--color-base-300); border-radius: var(--radius-box); border-spacing: 0; border-collapse: separate; }
.article-content th, .article-content td { min-width: 7rem; padding: .8rem 1rem; border-bottom: 1px solid var(--color-base-300); text-align: start; }
.article-content th { background: var(--color-base-200); color: var(--color-base-content); font-weight: 700; }
.article-content tr:last-child td { border-bottom: 0; }
.article-content tbody tr:hover { background: color-mix(in oklab, var(--color-primary) 4%, transparent); }
.article-content img { max-width: 100%; height: auto; cursor: zoom-in; border: 1px solid var(--color-base-300); border-radius: var(--radius-box); box-shadow: 0 6px 18px color-mix(in oklab, var(--color-base-content) 10%, transparent); }
.article-content figure { text-align: center; }
.article-content figcaption { margin-top: .6rem; color: color-mix(in oklab, var(--color-base-content) 55%, transparent); font-size: .875rem; }
.article-content .mockup-code { margin-block: 1.5rem; }
.article-content input[type="checkbox"] { width: 1rem; height: 1rem; margin-inline-end: .4rem; accent-color: var(--color-primary); }
.drawer-side > div { min-height: 100dvh; }
.drawer-side .menu li > a:hover { color: var(--color-primary); background-color: color-mix(in oklab, var(--color-primary) 10%, transparent); }
.sidebar-widget { display: block; }
.sidebar-widget:empty { display: none; }
.sidebar-widget h2, .sidebar-widget h3, .sidebar-widget h4 { margin-bottom: .75rem; font-size: 1rem; font-weight: 700; }
.sidebar-widget ul { display: grid; gap: .5rem; }
.sidebar-widget a { display: block; border-radius: var(--radius-field); padding: .5rem .625rem; color: color-mix(in oklab, var(--color-base-content) 75%, transparent); transition: color .2s, background-color .2s; }
.sidebar-widget a:hover { color: var(--color-primary); background-color: color-mix(in oklab, var(--color-primary) 10%, transparent); }
.sidebar-widget input { width: 100%; border: 1px solid var(--color-base-300); border-radius: var(--radius-field); background: var(--color-base-100); padding: .625rem .75rem; color: var(--color-base-content); }
.footer { gap: .5rem; }

/* 目标站点风格：居中内容、顶部文字导航、单列文章流 */
body { background: var(--color-base-100); color: var(--color-base-content); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; transition: background-color .2s ease, color .2s ease; }
.page-loading { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; gap: .75rem; background: var(--color-base-100); color: var(--color-base-content); opacity: 1; visibility: visible; transition: opacity .22s ease, visibility .22s ease; }
.page-loading .loading { color: var(--color-primary); }
.page-loading-done { opacity: 0; visibility: hidden; pointer-events: none; }
html[data-theme="light"] { color-scheme: light; }
@media (prefers-reduced-motion: reduce) { .page-loading { transition: none; } }
html[data-theme="light"] .navbar-center .menu li > a { color: var(--color-base-content); }
.card-border { border-color: var(--color-base-300); }
.btn-primary { --btn-color: var(--color-primary); --btn-fg: var(--color-primary-content); }
.navbar, .footer { border-color: var(--color-base-300); }
.drawer { display: block; }
.drawer-content { min-height: 0; width: 100%; }
.drawer-side { display: none; }
.navbar { position: static; max-width: 1120px; margin: 0 auto; min-height: 4.75rem; padding-inline: 1.5rem; border-bottom: 0; background: transparent; box-shadow: none; }
.navbar-start { flex: 1 1 auto; }
.navbar-start > a { gap: .75rem; }
.navbar-start .avatar { display: none; }
.navbar-start strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.25rem; letter-spacing: .08em; }
.navbar-start small { font-size: .75rem; }
.navbar-center { display: flex !important; flex: 1 1 auto; order: 2; }
.navbar-center .menu { gap: .25rem; }
.navbar-center .menu li > a { min-height: 2rem; padding: .5rem .75rem; border-radius: var(--radius-field); color: var(--color-base-content); font-size: .9375rem; }
.navbar-center .menu li > a:hover { color: var(--color-primary); background: transparent; }
.navbar-center [data-lucide] { display: inline-block; width: 1rem; height: 1rem; margin-inline-end: .35rem; }
.navbar-end { order: 3; }
.navbar-end [data-action="layout"] { display: none; }
.site-shell { max-width: 1120px; margin: 0 auto; padding: 3.5rem 1.5rem 5rem; }
.site-shell > .mx-auto { max-width: 760px; }
.site-shell > .grid { display: block; }
.site-shell section > div:first-child { margin-bottom: 2.75rem; }
.site-shell section > div:first-child h1 { font-family: Georgia, "Times New Roman", "Noto Serif SC", serif; font-size: 1.75rem; font-weight: 500; }
.site-shell section > div:first-child .badge { display: none; }
.site-shell section > .grid { display: block; }
.site-shell article.card { margin-bottom: 0; border: 0; border-top: 1px solid var(--color-base-300); border-radius: 0; background: transparent; box-shadow: none; }
.site-shell article.card:first-child { border-top: 0; }
.site-shell article.card .card-body { padding: 2rem 0; }
.site-shell article.card h2 { font-family: Georgia, "Times New Roman", "Noto Serif SC", serif; font-size: 1.45rem; font-weight: 600; }
.site-shell article.card h2 a:hover { color: var(--color-primary); }
.site-shell article.card .card-actions { align-items: center; }
.site-shell aside { margin-top: 3rem; border-top: 1px solid var(--color-base-300); padding-top: 2rem; }
html[data-theme="dark"] .site-shell aside { color: var(--color-base-content); }
html[data-theme="dark"] .sidebar-widget { background: var(--color-base-200); color: var(--color-base-content); }
html[data-theme="dark"] .navbar-center .menu li > a { color: var(--color-base-content); }
.site-shell aside > .card { border: 0; background: transparent; box-shadow: none; }
.site-shell aside > .card .card-body { padding-inline: 0; }
.footer { max-width: 1120px; margin: 0 auto; border: 0; border-top: 1px solid var(--color-base-300); border-radius: 0; background: transparent; box-shadow: none; }
.dock { display: none; }

@media (max-width: 767px) {
  :root { --page-margin: 1rem; }
  .navbar { min-height: 4rem; padding-inline: .75rem; gap: .35rem; }
  .navbar-start { min-width: 0; flex: 0 1 42%; }
  .navbar-start > a { min-width: 0; max-width: 100%; }
  .navbar-start strong { max-width: 100%; font-size: 1rem; letter-spacing: .04em; }
  .navbar-start small { display: none; }
  .navbar-center { min-width: 0; max-width: 58%; overflow-x: auto; scrollbar-width: none; }
  .navbar-center::-webkit-scrollbar { display: none; }
  .navbar-center .menu { flex-wrap: nowrap; padding-inline: 0; }
  .navbar-center .menu li > a { gap: .2rem; padding-inline: .4rem; font-size: .8125rem; white-space: nowrap; }
  .navbar-center [data-lucide] { display: none; }
  .navbar-end { display: none; }
  .site-shell { width: 100%; padding: 2rem .9rem 4rem; }
  .site-shell > .mx-auto, .site-shell > .grid { width: 100%; max-width: 100%; }
  .site-shell section > div:first-child { margin-bottom: 1.75rem; }
  .site-shell section > div:first-child h1 { font-size: 1.5rem; }
  .site-shell article.card .card-body { padding: 1.35rem 0; }
  .site-shell article.card h2 { font-size: 1.22rem; line-height: 1.45; }
  .site-shell article.card .card-actions { align-items: flex-start; flex-direction: column; gap: .75rem; }
  .site-shell article.card .card-actions > span { align-self: flex-end; }
  .site-shell aside { margin-top: 2rem; padding-top: 1.5rem; }
  .article-content { width: 100%; font-size: 1rem; }
  .article-content h1 { font-size: 1.65rem; }
  .article-content h2 { font-size: 1.4rem; }
  .article-content h3 { font-size: 1.2rem; }
  .article-content pre { max-width: 100%; margin-inline: 0; border-radius: var(--radius-field); padding: .9rem; font-size: .875rem; }
  .article-content pre code { font-size: .8rem; }
  .article-content th, .article-content td { min-width: 6rem; padding: .65rem .75rem; }
  .article-content blockquote { padding: .85rem 1rem; }
  .article-content img { border-radius: var(--radius-field); }
  .breadcrumbs { max-width: 100%; overflow-x: auto; white-space: nowrap; }
  .footer { width: calc(100% - 1.8rem); padding: 1.5rem .75rem 2rem; word-break: break-word; }
}

@media (max-width: 380px) {
  .navbar-start { flex-basis: 36%; }
  .navbar-center { max-width: 64%; }
  .navbar-center .menu li > a { padding-inline: .3rem; font-size: .75rem; }
  .site-shell { padding-inline: .75rem; }
}
