
/* ---------- Da2-only chrome moved out of Ei Foundation ---------- */
.da2-window-icon {
  width: 30px;
  height: 27px;
  display: inline-grid;
  place-items: end center;
  position: relative;
  border: 2px solid #23272b;
  border-radius: 2px;
  background: #fff;
  font: 700 9px/1 var(--da2-mono);
  padding-bottom: 4px;
}

.da2-window-icon { width: 27px; height: 25px; }

.da2-window-icon::before {
  content: "";
  position: absolute;
  left: 3px; right: 3px; top: 4px;
  height: 4px;
  border-top: 2px solid #58bde7;
  border-bottom: 2px solid #f06f61;
}

.mobile-nav__archive { margin: 3px 0 8px; }
.mobile-nav__archive > summary {
  position: relative;
  cursor: pointer;
  list-style: none;
  min-height: 48px;
  padding: 13px 38px 13px 12px;
  border-radius: 6px;
  color: #24282c;
  font-size: 17px;
}
.mobile-nav__archive-label { display: inline; }
.mobile-nav__archive-back { display: none; }
.mobile-nav__archive-chevron {
  position: absolute;
  top: 50%;
  right: 14px;
  transform: translateY(-50%);
  color: var(--da2-muted);
  font-size: 24px;
}
.mobile-nav__archive > summary:hover { background: var(--da2-surface); color: var(--da2-accent); font-weight: 700; }
.mobile-nav__archive[open] > summary {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  right: 0;
  min-height: 58px;
  padding: 18px 18px 14px;
  border-radius: 0;
  border-bottom: 1px solid var(--da2-border);
  background: var(--da2-surface);
  color: var(--da2-text);
  font-weight: 800;
}
.mobile-nav__archive[open] > summary .mobile-nav__archive-label,
.mobile-nav__archive[open] > summary .mobile-nav__archive-chevron { display: none; }
.mobile-nav__archive[open] > summary .mobile-nav__archive-back { display: inline; }
.mobile-nav__archive-layer {
  position: absolute;
  z-index: 2;
  inset: 0;
  padding: 72px 0 28px;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: #fff;
}
.mobile-nav__archive-title {
  display: block;
  margin: 0 16px 4px;
  padding: 10px 12px;
  border: 1px solid var(--da2-border);
  background: var(--da2-surface);
  color: var(--da2-text);
  text-decoration: none;
  font-weight: 800;
}
.mobile-nav__archive-layer .sidebar-archive { padding: 4px 28px 12px; }
.mobile-nav__archive-layer .sidebar-archive-year { margin-bottom: 24px; }
.mobile-nav__archive-layer .sidebar-archive-year-title { font-size: 22px; margin-top: 18px; }
.mobile-nav__archive-layer .sidebar-archive-month-title { font-size: 15px; }
.mobile-nav__archive-layer .sidebar-archive-day-title { font-size: 13px; }
.mobile-nav__archive-layer .sidebar-archive-posts a { padding: 7px 0; font-size: 16px; line-height: 1.45; }
.mobile-nav__archive-extra { margin: 8px 28px 0; padding-top: 14px; border-top: 1px dotted var(--da2-border); }
.mobile-nav__archive-extra a { color: var(--da2-muted); }

/* ---------- Chronological sidebar archive ---------- */
.sidebar-archive { padding: 2px 18px 8px; }
.sidebar-archive-year { margin: 0 0 18px; }
.sidebar-archive-year-title,
.sidebar-archive-month-title,
.sidebar-archive-day-title { margin: 0; line-height: 1.35; }
.sidebar-archive-year-title { margin-top: 15px; margin-bottom: 7px; font-size: 18px; font-weight: 800; }
.sidebar-archive-month-title { margin: 11px 0 4px; font-size: 14px; font-weight: 750; }
.sidebar-archive-day-title { margin: 7px 0 2px; font-size: 12px; font-weight: 700; }
.sidebar-archive-year-title a,
.sidebar-archive-month-title a,
.sidebar-archive-day-title a {
  color: var(--da2-text);
  text-decoration: none;
}
.sidebar-archive-month-title a,
.sidebar-archive-day-title a { color: var(--da2-muted); }
.sidebar-archive-year-title a:hover,
.sidebar-archive-month-title a:hover,
.sidebar-archive-day-title a:hover { color: var(--da2-accent); text-decoration: underline; }
.sidebar-archive-month { margin-left: 0; }
.sidebar-archive-day { margin-left: 10px; }
.sidebar-archive-posts { list-style: none; margin: 0; padding: 0; }
.sidebar-archive-posts li { margin: 0; }
.sidebar-archive-posts a {
  display: block;
  padding: 4px 0;
  color: var(--da2-text);
  font-size: 14px;
  line-height: 1.45;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.sidebar-archive-posts a:hover { color: var(--da2-accent); text-decoration: underline; }
.sidebar-archive-posts .is-current > a {
  color: var(--da2-accent);
  font-weight: 750;
}
.sidebar-archive-empty { margin: 12px 18px; color: var(--da2-muted); font-size: 13px; }

/* Da2 preset: lean into the old personal-homepage / text-index feel. */
body.da2-style-da2 .sidebar-archive-year-title,
body.da2-style-da2 .sidebar-archive-month-title,
body.da2-style-da2 .sidebar-archive-day-title { font-family: var(--da2-mono); }
body.da2-style-da2 .sidebar-archive-posts a { color: #41484b; }
body.da2-style-da2 .sidebar-archive-posts a:hover,
body.da2-style-da2 .sidebar-archive-posts .is-current > a { color: #075f69; }

/* ========================================================================== 
   達二 Visual Presets v0.2.4
   --------------------------------------------------------------------------
   11 個精選視覺語言（含達二風）。全部只使用這一份 CSS：
   - 0 額外 HTTP asset
   - 0 webfont
   - 0 theme JavaScript
   - 0 圖片材質
   風格差異來自 CSS 變數、邊框、排版與原生 gradient。
   ========================================================================== */

/* 00. 達二風 da2：80% 極簡閱讀 + 15% 90 年代個人網站 + 5% 達二細節。 */
body.da2-style-da2 {
  --da2-bg: #f8fbff;
  --da2-surface: #eef5fb;
  --da2-surface-2: #dceaf6;
  --da2-text: #172033;
  --da2-muted: #65758a;
  --da2-border: #9fb4c8;
  --da2-accent: #1769aa;
  --da2-accent-hover: #0b3d6d;
  --da2-footer: #dceaf6;
  --da2-footer-text: #17263a;
  --da2-radius: 2px;
  --da2-shadow: none;
  --da2-font: Verdana, Tahoma, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
  background-color: var(--da2-bg);
  background-image:
    linear-gradient(rgba(19,74,122,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(19,74,122,.018) 1px, transparent 1px);
  background-size: 24px 24px;
}
body.da2-style-da2 .site-header {
  background: rgba(248,251,255,.97);
  border-top: 3px solid #163f67;
  border-bottom-color: #9fb4c8;
  box-shadow: 0 1px 0 #fff;
}
body.da2-style-da2 .site-brand,
body.da2-style-da2 .site-brand:hover,
body.da2-style-da2 .primary-nav a,
body.da2-style-da2 .entry-title,
body.da2-style-da2 .page-title,
body.da2-style-da2 .post-list__title a,
body.da2-style-da2 .breadcrumbs__home { color: #172033; }
body.da2-style-da2 .primary-nav a:hover,
body.da2-style-da2 .primary-nav .current-menu-item > a,
body.da2-style-da2 .primary-nav .current_page_item > a { color: #1769aa; text-decoration: underline; font-weight: 700; }
body.da2-style-da2 a:hover:not(.site-brand) { font-weight: 700; }
body.da2-style-da2 .da2-window-icon {
  border: 1px solid #587895;
  border-radius: 0;
  background: #e8f2fa;
  color: #123f68;
  box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #9eb2c4;
  font-family: var(--da2-mono);
}
body.da2-style-da2 .header-search .search-field {
  border: 1px solid #9fb4c8;
  border-radius: 0;
  background: #fff;
  box-shadow: inset 1px 1px 0 #e0ebf4;
}
body.da2-style-da2 .site-sidebar {
  background: #eef5fb;
  border-right-color: #9fb4c8;
}
body.da2-style-da2 .sidebar-title {
  margin-top: 2px;
  border: 1px solid #9fb4c8;
  border-radius: 0;
  background: #dceaf6;
  color: #163f67;
  box-shadow: inset 1px 1px 0 #fff;
  font-family: var(--da2-mono);
  font-weight: 700;
}
body.da2-style-da2 .sidebar-list a { color: #34475c; }
body.da2-style-da2 .sidebar-list a::after { color: #7c91a5; }
body.da2-style-da2 .sidebar-list a:hover { background: #dceaf6; color: #0b3d6d; text-decoration: underline; font-weight: 700; }
body.da2-style-da2 .sidebar-list .current-cat > a,
body.da2-style-da2 .sidebar-list .current_page_item > a {
  background: #d7e8f6;
  color: #123f68;
  font-weight: 700;
}
body.da2-style-da2 .sidebar-divider { border-top-style: dotted; border-top-color: #829bb1; }
body.da2-style-da2 .breadcrumb-chip {
  border: 1px solid #aec0d0;
  border-radius: 2px;
  background: #edf5fb;
  color: #1769aa;
  font-family: var(--da2-mono);
}
body.da2-style-da2 .entry-title,
body.da2-style-da2 .page-title { letter-spacing: -.025em; }
body.da2-style-da2 .entry-meta,
body.da2-style-da2 .post-list__meta,
body.da2-style-da2 .compact-post-list time {
  font-family: var(--da2-mono);
  letter-spacing: 0;
}
body.da2-style-da2 .entry-content a { color: #1769aa; text-decoration: underline; }
body.da2-style-da2 .entry-content a:hover { color: #0b3d6d; font-weight: 700; }
body.da2-style-da2 .entry-content a:visited { color: #4d5f9b; }
body.da2-style-da2 .entry-content h2 {
  padding-bottom: .24em;
  border-bottom: 1px dotted #9fb4c8;
}
body.da2-style-da2 .entry-content blockquote {
  border-left: 3px solid #1769aa;
  background: #edf6fd;
  color: #29394d;
}
body.da2-style-da2 .entry-content code {
  border-radius: 0;
  background: #eaf2f8;
  border-color: #b6c8d8;
}
body.da2-style-da2 .entry-content pre {
  border-radius: 0;
  border-color: #a9bdcf;
  background: #edf4f9;
  box-shadow: inset 1px 1px 0 #fff;
}
body.da2-style-da2 .entry-content hr { border-top-style: dotted; }
body.da2-style-da2 .post-list__item { border-bottom-style: dotted; border-bottom-color: #bed0df; }
body.da2-style-da2 .post-list__title a:hover { text-decoration: underline; font-weight: 700; }
body.da2-style-da2 .pagination a,
body.da2-style-da2 .pagination span,
body.da2-style-da2 .post-nav a,
body.da2-style-da2 .mobile-nav summary,
body.da2-style-da2 .mobile-nav__panel .search-submit {
  border-radius: 0;
  border-color: #9fb4c8;
  background: #e7f0f7;
  box-shadow: inset 1px 1px 0 #fff, inset -1px -1px 0 #b9cad8;
}
body.da2-style-da2 .post-nav a:hover,
body.da2-style-da2 .pagination a:hover { border-color: #6486a3; color: #0b3d6d; font-weight: 700; }
body.da2-style-da2 .pagination .current {
  background: #1769aa;
  border-color: #0f5388;
  color: #fff;
  box-shadow: none;
}
body.da2-style-da2 .random-bridge {
  padding-top: 12px;
  border-top: 1px dotted #9fb4c8;
  font-family: var(--da2-mono);
}
body.da2-style-da2 .mobile-nav__panel {
  border-radius: 0;
  background: #f8fbff;
}
body.da2-style-da2 .mobile-nav__panel a { border-radius: 0; }
body.da2-style-da2 .comment-respond input[type="text"],
body.da2-style-da2 .comment-respond input[type="email"],
body.da2-style-da2 .comment-respond input[type="url"],
body.da2-style-da2 .comment-respond textarea {
  border-radius: 0;
  background: #fff;
}
body.da2-style-da2 .comment-respond .submit {
  border-radius: 0;
  border-color: #0f5388;
  background: #1769aa;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,.45), inset -1px -1px 0 rgba(0,0,0,.12);
}
body.da2-style-da2 .site-footer {
  border-top: 3px double #7e9ab2;
  background: #dceaf6;
  color: #17263a;
}
body.da2-style-da2 .site-footer h2 { color: #172033; font-family: var(--da2-mono); }
body.da2-style-da2 .site-footer a { color: #1769aa; text-decoration: underline; }
body.da2-style-da2 .site-footer a:hover { color: #0b3d6d; font-weight: 700; }
body.da2-style-da2 .site-footer__fineprint { color: #65758a; border-top: 1px dotted #9fb4c8; }

/* 01. 極簡 minimal：v0.1 原始語言，保留 Wiwi 式資訊閱讀感。 */
body.da2-style-minimal {
  --da2-bg: #ffffff;
  --da2-surface: #f7f8f9;
  --da2-surface-2: #eef0f2;
  --da2-text: #202124;
  --da2-muted: #687078;
  --da2-border: #d9dde2;
  --da2-accent: #24894f;
  --da2-accent-hover: #176c3b;
  --da2-footer: #303846;
  --da2-footer-text: #f2f4f7;
  --da2-radius: 8px;
}

/* 02. Ei 世界風：深藍世界介面＋金色節點，穩重、不做重動畫。 */
body.da2-style-ei_world {
  --da2-bg: #0c1420;
  --da2-surface: #121d2b;
  --da2-surface-2: #192638;
  --da2-text: #e8edf4;
  --da2-muted: #9eacbc;
  --da2-border: #2b3c51;
  --da2-accent: #d6b469;
  --da2-accent-hover: #f0d08a;
  --da2-footer: #07101a;
  --da2-footer-text: #ecf1f7;
  --da2-radius: 7px;
  background: radial-gradient(circle at 78% 12%, #172945 0, #0c1420 38%, #09111a 100%);
}
body.da2-style-ei_world .site-header { background: rgba(12,20,32,.96); border-top-color: #d6b469; }
body.da2-style-ei_world .site-sidebar { background: #0f1926; }
body.da2-style-ei_world .site-brand,
body.da2-style-ei_world .site-brand:hover,
body.da2-style-ei_world .primary-nav a,
body.da2-style-ei_world .entry-title,
body.da2-style-ei_world .page-title,
body.da2-style-ei_world .post-list__title a,
body.da2-style-ei_world .breadcrumbs__home { color: #f2f5f8; }
body.da2-style-ei_world .sidebar-title,
body.da2-style-ei_world .breadcrumb-chip { background: #172538; }
body.da2-style-ei_world .sidebar-list a { color: #c7d0da; }
body.da2-style-ei_world .sidebar-list a:hover,
body.da2-style-ei_world .sidebar-list .current-cat > a { background: #192a3c; color: #f0d08a; }
body.da2-style-ei_world .entry-content blockquote { background: #111f2e; color: #dce4ec; border-left-color: #d6b469; }
body.da2-style-ei_world .entry-content code,
body.da2-style-ei_world .entry-content pre { background: #08111b; color: #d7e2ed; border-color: #31465c; }
body.da2-style-ei_world .post-list__excerpt,
body.da2-style-ei_world .post-nav a { color: #cbd3dc; }
body.da2-style-ei_world .post-nav a { background: #101c29; border-color: #31445a; }
body.da2-style-ei_world .da2-window-icon { background: #142338; color: #f0d08a; border-color: #d6b469; }
body.da2-style-ei_world .comment-respond input,
body.da2-style-ei_world .comment-respond textarea { background: #101b28; color: #edf2f7; }

/* 03. 像素遊戲：硬邊、等寬、像素陰影；沒有圖片與 bitmap font。 */
body.da2-style-pixel {
  --da2-bg: #17181a;
  --da2-surface: #202226;
  --da2-surface-2: #292c31;
  --da2-text: #f2f1e8;
  --da2-muted: #aaa99f;
  --da2-border: #575a60;
  --da2-accent: #75e58a;
  --da2-accent-hover: #a3f4b1;
  --da2-footer: #0d0e10;
  --da2-footer-text: #f7f5e9;
  --da2-radius: 0;
  --da2-font: var(--da2-mono);
  image-rendering: pixelated;
}
body.da2-style-pixel .site-header { background: #17181a; border-top: 3px solid #75e58a; box-shadow: 0 3px 0 #000; }
body.da2-style-pixel .site-sidebar { background: #1b1d20; border-right: 2px solid #575a60; }
body.da2-style-pixel .site-brand,
body.da2-style-pixel .site-brand:hover,
body.da2-style-pixel .primary-nav a,
body.da2-style-pixel .entry-title,
body.da2-style-pixel .page-title,
body.da2-style-pixel .post-list__title a,
body.da2-style-pixel .breadcrumbs__home { color: #fffef2; }
body.da2-style-pixel .sidebar-title,
body.da2-style-pixel .breadcrumb-chip,
body.da2-style-pixel .entry-content code { border: 1px solid #575a60; border-radius: 0; background: #25282c; }
body.da2-style-pixel .sidebar-list a { color: #e2e0d6; }
body.da2-style-pixel .sidebar-list a:hover,
body.da2-style-pixel .sidebar-list .current-cat > a { background: #2b2f33; color: #75e58a; }
body.da2-style-pixel .post-nav a,
body.da2-style-pixel .pagination a,
body.da2-style-pixel .pagination span { border-width: 2px; border-radius: 0; box-shadow: 3px 3px 0 #000; color: #eeeadd; background: #202226; }
body.da2-style-pixel .entry-content blockquote { background: #202b23; color: #e8efe9; border-left: 5px solid #75e58a; }
body.da2-style-pixel .entry-content pre { background: #0d0e10; color: #8ff29f; border: 2px solid #575a60; border-radius: 0; }
body.da2-style-pixel .da2-window-icon { border-radius: 0; box-shadow: 2px 2px 0 #000; }

/* 04. 勇鬥風 dq：經典深藍對話框語言，內容仍保持長文可讀性。 */
body.da2-style-dq {
  --da2-bg: #081b54;
  --da2-surface: #102d78;
  --da2-surface-2: #17398c;
  --da2-text: #ffffff;
  --da2-muted: #c7d6ff;
  --da2-border: #f6f7ff;
  --da2-accent: #ffe36d;
  --da2-accent-hover: #fff2a8;
  --da2-footer: #03102f;
  --da2-footer-text: #ffffff;
  --da2-radius: 4px;
}
body.da2-style-dq .site-header,
body.da2-style-dq .site-sidebar { background: #0b2468; }
body.da2-style-dq .site-header { border-top: 3px solid #ffffff; border-bottom: 2px solid #ffffff; }
body.da2-style-dq .site-sidebar { border-right: 2px solid #fff; }
body.da2-style-dq .site-brand,
body.da2-style-dq .site-brand:hover,
body.da2-style-dq .primary-nav a,
body.da2-style-dq .entry-title,
body.da2-style-dq .page-title,
body.da2-style-dq .post-list__title a,
body.da2-style-dq .breadcrumbs__home { color: #fff; text-shadow: 1px 1px 0 #020817; }
body.da2-style-dq .reading-column { padding: 22px 24px; border: 3px double #fff; background: #102d78; box-shadow: 4px 4px 0 #020817; }
body.da2-style-dq .sidebar-title,
body.da2-style-dq .breadcrumb-chip { background: #17398c; color: #ffe36d; border: 1px solid #fff; }
body.da2-style-dq .sidebar-list a { color: #fff; }
body.da2-style-dq .sidebar-list a:hover,
body.da2-style-dq .sidebar-list .current-cat > a { background: #17398c; color: #ffe36d; }
body.da2-style-dq .entry-content blockquote,
body.da2-style-dq .entry-content pre,
body.da2-style-dq .entry-content code { background: #071b53; color: #fff; border-color: #fff; }
body.da2-style-dq .post-list__excerpt,
body.da2-style-dq .post-nav a { color: #edf2ff; }
body.da2-style-dq .post-nav a { background: #0b2468; border: 2px solid #fff; }
body.da2-style-dq .da2-window-icon { background: #fff; color: #0b2468; border-color: #fff; }

/* 05. 玻璃柔光 glass：少量 backdrop-filter，無粒子、無動畫。 */
body.da2-style-glass {
  --da2-bg: #edf4f8;
  --da2-surface: rgba(255,255,255,.58);
  --da2-surface-2: rgba(255,255,255,.72);
  --da2-text: #20303d;
  --da2-muted: #637583;
  --da2-border: rgba(93,120,139,.28);
  --da2-accent: #287da0;
  --da2-accent-hover: #195f7c;
  --da2-footer: rgba(25,43,57,.92);
  --da2-footer-text: #f5fbff;
  --da2-radius: 14px;
  background: linear-gradient(135deg, #e8f5f7 0%, #f7f2f9 52%, #edf6ef 100%);
}
body.da2-style-glass .site-header { background: rgba(255,255,255,.68); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
body.da2-style-glass .site-sidebar { background: rgba(255,255,255,.42); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
body.da2-style-glass .sidebar-title,
body.da2-style-glass .breadcrumb-chip,
body.da2-style-glass .post-nav a,
body.da2-style-glass .entry-content blockquote,
body.da2-style-glass .entry-content pre { background: rgba(255,255,255,.58); box-shadow: inset 0 1px 0 rgba(255,255,255,.75), 0 8px 24px rgba(50,72,86,.06); }
body.da2-style-glass .site-brand,
body.da2-style-glass .site-brand:hover,
body.da2-style-glass .primary-nav a,
body.da2-style-glass .entry-title,
body.da2-style-glass .page-title,
body.da2-style-glass .post-list__title a { color: #172936; }
body.da2-style-glass .da2-window-icon { background: rgba(255,255,255,.62); }

/* 06. RPG 金邊 rpg：深棕皮革感以純色＋邊框完成，不載材質圖。 */
body.da2-style-rpg {
  --da2-bg: #241b16;
  --da2-surface: #30241d;
  --da2-surface-2: #3a2b22;
  --da2-text: #f0e3ca;
  --da2-muted: #bba98b;
  --da2-border: #765d3b;
  --da2-accent: #d7b05f;
  --da2-accent-hover: #f0cf82;
  --da2-footer: #17110e;
  --da2-footer-text: #f3e5cc;
  --da2-radius: 5px;
  background: linear-gradient(#241b16, #1e1713);
}
body.da2-style-rpg .site-header { background: #2a201a; border-top: 3px solid #d7b05f; border-bottom-color: #765d3b; }
body.da2-style-rpg .site-sidebar { background: #281f19; border-right-color: #765d3b; }
body.da2-style-rpg .site-brand,
body.da2-style-rpg .site-brand:hover,
body.da2-style-rpg .primary-nav a,
body.da2-style-rpg .entry-title,
body.da2-style-rpg .page-title,
body.da2-style-rpg .post-list__title a,
body.da2-style-rpg .breadcrumbs__home { color: #f6ead3; }
body.da2-style-rpg .sidebar-title,
body.da2-style-rpg .breadcrumb-chip,
body.da2-style-rpg .post-nav a { background: #352820; border: 1px solid #765d3b; box-shadow: inset 0 0 0 1px #3f3025; }
body.da2-style-rpg .sidebar-list a { color: #e1d0b4; }
body.da2-style-rpg .sidebar-list a:hover,
body.da2-style-rpg .sidebar-list .current-cat > a { background: #3a2c22; color: #f0cf82; }
body.da2-style-rpg .entry-content blockquote { background: #30251d; color: #eadcc4; border-left-color: #d7b05f; }
body.da2-style-rpg .entry-content pre,
body.da2-style-rpg .entry-content code { background: #17120f; color: #edd7aa; border-color: #765d3b; }
body.da2-style-rpg .post-list__excerpt,
body.da2-style-rpg .post-nav a { color: #ddcfba; }
body.da2-style-rpg .da2-window-icon { background: #3a2b22; color: #f0cf82; border-color: #d7b05f; }

/* 07. 羊皮紙 parchment：暖紙、棕墨、細框，完全 CSS。 */
body.da2-style-parchment {
  --da2-bg: #f3e6c8;
  --da2-surface: #ead8b3;
  --da2-surface-2: #e0c99f;
  --da2-text: #493824;
  --da2-muted: #7c684d;
  --da2-border: #bda276;
  --da2-accent: #8a4d2d;
  --da2-accent-hover: #65351f;
  --da2-footer: #493824;
  --da2-footer-text: #f4e6c7;
  --da2-radius: 3px;
  --da2-font: Georgia, "Noto Serif TC", "PMingLiU", serif;
  background: linear-gradient(90deg, rgba(112,75,37,.035), transparent 18%, rgba(255,255,255,.13) 54%, transparent 82%), #f3e6c8;
}
body.da2-style-parchment .site-header { background: rgba(243,230,200,.97); border-top-color: #8a4d2d; }
body.da2-style-parchment .site-sidebar { background: #ecdcbb; }
body.da2-style-parchment .site-brand,
body.da2-style-parchment .site-brand:hover,
body.da2-style-parchment .primary-nav a,
body.da2-style-parchment .entry-title,
body.da2-style-parchment .page-title,
body.da2-style-parchment .post-list__title a,
body.da2-style-parchment .breadcrumbs__home { color: #3e2e1e; }
body.da2-style-parchment .sidebar-title,
body.da2-style-parchment .breadcrumb-chip { background: #e3cda4; }
body.da2-style-parchment .sidebar-list a { color: #5e4932; }
body.da2-style-parchment .sidebar-list a:hover,
body.da2-style-parchment .sidebar-list .current-cat > a { background: #e1c89c; color: #8a4d2d; }
body.da2-style-parchment .entry-content blockquote { background: rgba(255,255,255,.18); color: #55402a; }
body.da2-style-parchment .entry-content pre,
body.da2-style-parchment .entry-content code { background: #e7d4ad; color: #493824; border-color: #bda276; }
body.da2-style-parchment .post-list__excerpt,
body.da2-style-parchment .post-nav a { color: #624d35; }
body.da2-style-parchment .post-nav a { background: rgba(255,255,255,.12); }
body.da2-style-parchment .da2-window-icon { background: #f8edda; color: #493824; border-color: #8a4d2d; }

/* 08. 終端機 terminal：黑底綠字，純等寬；適合技術／筆記氣質。 */
body.da2-style-terminal {
  --da2-bg: #050806;
  --da2-surface: #09100b;
  --da2-surface-2: #0d1710;
  --da2-text: #a8e7b2;
  --da2-muted: #6fa77a;
  --da2-border: #25472d;
  --da2-accent: #62f486;
  --da2-accent-hover: #a2ffb6;
  --da2-footer: #020403;
  --da2-footer-text: #9ce9aa;
  --da2-radius: 0;
  --da2-font: var(--da2-mono);
}
body.da2-style-terminal .site-header { background: #050806; border-top: 2px solid #62f486; border-bottom-color: #25472d; }
body.da2-style-terminal .site-sidebar { background: #070c08; }
body.da2-style-terminal .site-brand,
body.da2-style-terminal .site-brand:hover,
body.da2-style-terminal .primary-nav a,
body.da2-style-terminal .entry-title,
body.da2-style-terminal .page-title,
body.da2-style-terminal .post-list__title a,
body.da2-style-terminal .breadcrumbs__home { color: #8cff9f; }
body.da2-style-terminal .site-brand::before { content: ">"; color: #62f486; }
body.da2-style-terminal .sidebar-title,
body.da2-style-terminal .breadcrumb-chip { background: #0b130d; border: 1px solid #25472d; border-radius: 0; }
body.da2-style-terminal .sidebar-list a { color: #9bcba3; }
body.da2-style-terminal .sidebar-list a:hover,
body.da2-style-terminal .sidebar-list .current-cat > a { background: #0d1710; color: #62f486; }
body.da2-style-terminal .entry-content blockquote { background: #07100a; color: #9ed7a8; border-left-color: #62f486; }
body.da2-style-terminal .entry-content pre,
body.da2-style-terminal .entry-content code { background: #010201; color: #62f486; border-color: #25472d; border-radius: 0; }
body.da2-style-terminal .post-list__excerpt,
body.da2-style-terminal .post-nav a { color: #8fbd97; }
body.da2-style-terminal .post-nav a { background: #070c08; border-color: #25472d; border-radius: 0; }
body.da2-style-terminal .da2-window-icon { background: #050806; color: #62f486; border-color: #62f486; border-radius: 0; }

/* 09. Windows 95：灰底、立體斜角、海軍藍；無圖示字型。 */
body.da2-style-windows95 {
  --da2-bg: #c0c0c0;
  --da2-surface: #d4d0c8;
  --da2-surface-2: #c0c0c0;
  --da2-text: #000000;
  --da2-muted: #4a4a4a;
  --da2-border: #808080;
  --da2-accent: #000080;
  --da2-accent-hover: #0000aa;
  --da2-footer: #808080;
  --da2-footer-text: #ffffff;
  --da2-radius: 0;
  --da2-font: Tahoma, "MS Sans Serif", "Microsoft JhengHei", sans-serif;
}
body.da2-style-windows95 .site-header { background: #c0c0c0; border-top: 2px solid #fff; border-bottom: 2px solid #404040; box-shadow: none; }
body.da2-style-windows95 .site-sidebar { background: #c0c0c0; border-right: 2px solid #404040; }
body.da2-style-windows95 .content-wrap { padding-top: 28px; }
body.da2-style-windows95 .reading-column { padding: 18px; background: #fff; border-top: 2px solid #808080; border-left: 2px solid #808080; border-right: 2px solid #fff; border-bottom: 2px solid #fff; }
body.da2-style-windows95 .site-brand,
body.da2-style-windows95 .site-brand:hover,
body.da2-style-windows95 .primary-nav a,
body.da2-style-windows95 .entry-title,
body.da2-style-windows95 .page-title,
body.da2-style-windows95 .post-list__title a,
body.da2-style-windows95 .breadcrumbs__home { color: #000; }
body.da2-style-windows95 .sidebar-title,
body.da2-style-windows95 .breadcrumb-chip,
body.da2-style-windows95 .post-nav a,
body.da2-style-windows95 .pagination a,
body.da2-style-windows95 .pagination span { border: 2px solid; border-color: #fff #404040 #404040 #fff; border-radius: 0; background: #c0c0c0; color: #000; box-shadow: none; }
body.da2-style-windows95 .sidebar-list a { color: #000; }
body.da2-style-windows95 .sidebar-list a:hover,
body.da2-style-windows95 .sidebar-list .current-cat > a { background: #000080; color: #fff; }
body.da2-style-windows95 .entry-content blockquote { background: #f4f4f4; color: #111; border-left-color: #000080; }
body.da2-style-windows95 .entry-content pre,
body.da2-style-windows95 .entry-content code { background: #fff; color: #000; border-radius: 0; }
body.da2-style-windows95 .da2-window-icon { background: #c0c0c0; color: #000; border-radius: 0; border-color: #000; }

/* 10. 侘寂 wabisabi：低彩度、紙灰與土色，留白大於裝飾。 */
body.da2-style-wabisabi {
  --da2-bg: #eeeae1;
  --da2-surface: #e7e1d6;
  --da2-surface-2: #dcd5c9;
  --da2-text: #383630;
  --da2-muted: #777268;
  --da2-border: #c5bdb0;
  --da2-accent: #65735c;
  --da2-accent-hover: #46533f;
  --da2-footer: #3d3b35;
  --da2-footer-text: #eeeae1;
  --da2-radius: 2px;
  --da2-font: Georgia, "Noto Serif TC", "PMingLiU", serif;
}
body.da2-style-wabisabi .site-header { background: rgba(238,234,225,.96); border-top: 1px solid #777268; box-shadow: none; }
body.da2-style-wabisabi .site-sidebar { background: #ebe6dc; }
body.da2-style-wabisabi .site-brand,
body.da2-style-wabisabi .site-brand:hover,
body.da2-style-wabisabi .primary-nav a,
body.da2-style-wabisabi .entry-title,
body.da2-style-wabisabi .page-title,
body.da2-style-wabisabi .post-list__title a,
body.da2-style-wabisabi .breadcrumbs__home { color: #34322d; }
body.da2-style-wabisabi .sidebar-title,
body.da2-style-wabisabi .breadcrumb-chip { background: transparent; border-bottom: 1px solid #c5bdb0; border-radius: 0; }
body.da2-style-wabisabi .sidebar-list a { color: #555148; }
body.da2-style-wabisabi .sidebar-list a:hover,
body.da2-style-wabisabi .sidebar-list .current-cat > a { background: #e3ddd2; color: #46533f; }
body.da2-style-wabisabi .entry-content blockquote { background: transparent; color: #555148; border-left: 2px solid #8b9482; }
body.da2-style-wabisabi .entry-content pre,
body.da2-style-wabisabi .entry-content code { background: #e6e0d5; color: #3f3c36; border-color: #c5bdb0; }
body.da2-style-wabisabi .post-list__excerpt,
body.da2-style-wabisabi .post-nav a { color: #5d594f; }
body.da2-style-wabisabi .post-nav a { background: transparent; }
body.da2-style-wabisabi .da2-window-icon { background: transparent; color: #383630; border-color: #777268; }

/* Common dark-form/readability normalization for explicit dark presets. */
body.da2-style-ei_world .header-search .search-field,
body.da2-style-pixel .header-search .search-field,
body.da2-style-dq .header-search .search-field,
body.da2-style-rpg .header-search .search-field,
body.da2-style-terminal .header-search .search-field,
body.da2-style-ei_world .comment-respond input,
body.da2-style-ei_world .comment-respond textarea,
body.da2-style-pixel .comment-respond input,
body.da2-style-pixel .comment-respond textarea,
body.da2-style-dq .comment-respond input,
body.da2-style-dq .comment-respond textarea,
body.da2-style-rpg .comment-respond input,
body.da2-style-rpg .comment-respond textarea,
body.da2-style-terminal .comment-respond input,
body.da2-style-terminal .comment-respond textarea {
  background: var(--da2-surface);
  color: var(--da2-text);
  border-color: var(--da2-border);
}

/* Minimal alone follows OS dark mode; explicit presets stay deterministic. */
@media (prefers-color-scheme: dark) {
  body.da2-style-minimal {
    --da2-bg: #17191b;
    --da2-surface: #202327;
    --da2-surface-2: #282c31;
    --da2-text: #e4e7ea;
    --da2-muted: #9aa3ab;
    --da2-border: #353a40;
    --da2-accent: #62c989;
    --da2-accent-hover: #86dda6;
    --da2-footer: #111419;
  }
  body.da2-style-minimal,
  body.da2-style-minimal .mobile-nav__panel { background: var(--da2-bg); color: var(--da2-text); }
  body.da2-style-minimal .site-header { background: rgba(23,25,27,.97); }
  body.da2-style-minimal .site-brand,
  body.da2-style-minimal .site-brand:hover,
  body.da2-style-minimal .primary-nav a,
  body.da2-style-minimal .breadcrumbs__home,
  body.da2-style-minimal .entry-title,
  body.da2-style-minimal .page-title,
  body.da2-style-minimal .post-list__title a { color: #f0f2f4; }
  body.da2-style-minimal .da2-window-icon { background: #f4f4f4; color: #111; }
  body.da2-style-minimal .header-search .search-field,
  body.da2-style-minimal .entry-content code { background: #262a2e; color: #e8eaed; }
  body.da2-style-minimal .site-sidebar { background: #1a1c1f; }
  body.da2-style-minimal .sidebar-title,
  body.da2-style-minimal .breadcrumb-chip { background: #23272b; }
  body.da2-style-minimal .sidebar-list a { color: #c8cdd2; }
  body.da2-style-minimal .sidebar-list a:hover { background: #23272b; color: #fff; }
  body.da2-style-minimal .entry-content blockquote { background: #1c2420; color: #d5ddd8; }
  body.da2-style-minimal .entry-content pre { background: #111315; border-color: #353a40; }
  body.da2-style-minimal .entry-content th { background: #23262a; }
  body.da2-style-minimal .post-list__excerpt { color: #c6ccd1; }
  body.da2-style-minimal .post-nav a { color: #d7dce0; }
  body.da2-style-minimal .comment-respond input,
  body.da2-style-minimal .comment-respond textarea { background: #202327; color: #e4e7ea; }
  body.da2-style-minimal ::selection { background: #285d3d; color: #fff; }
}


/* Blog stream (/blog/) — full posts in one continuous reading surface. */
.da2-blog-stream { width: 100%; }
.da2-stream-article { padding: 0 0 34px; margin: 0 0 34px; border-bottom: 1px solid var(--da2-border); }
.da2-stream-article:last-of-type { margin-bottom: 20px; }
.da2-stream-title { margin: 0 0 8px; font-size: clamp(1.55rem, 2.7vw, 2rem); line-height: 1.25; }
.da2-stream-title a { color: var(--da2-accent); text-decoration: none; }
.da2-stream-title a:hover { color: var(--da2-accent-hover); text-decoration: underline; font-weight: 700; }
.da2-stream-meta { margin: 0 0 18px; color: var(--da2-muted); font-size: 13px; line-height: 1.7; display: block; }
.da2-stream-meta time { white-space: nowrap; }
.da2-stream-content { margin-bottom: 0; }
.da2-blog-pagination { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; margin: 28px 0 8px; }
.da2-blog-pagination__prev, .da2-blog-pagination__next { display: block; border: 1px solid var(--da2-border); padding: 12px 14px; text-decoration: none; background: var(--da2-surface); border-radius: var(--da2-radius); }
.da2-blog-pagination__next { text-align: right; }
.da2-blog-pagination a:hover { border-color: var(--da2-accent); }
body.da2-style-da2 .da2-stream-article { border-bottom-style: dotted; border-bottom-color: #c7cbcb; }
body.da2-style-da2 .da2-blog-pagination__prev, body.da2-style-da2 .da2-blog-pagination__next { border-style: dotted; border-radius: 0; }
body.da2-style-pixel .da2-blog-pagination__prev, body.da2-style-pixel .da2-blog-pagination__next,
body.da2-style-terminal .da2-blog-pagination__prev, body.da2-style-terminal .da2-blog-pagination__next,
body.da2-style-windows95 .da2-blog-pagination__prev, body.da2-style-windows95 .da2-blog-pagination__next { border-radius: 0; }
@media (max-width: 720px) {
  .da2-stream-article { padding-bottom: 26px; margin-bottom: 26px; }
  .da2-blog-pagination { grid-template-columns: 1fr; }
  .da2-blog-pagination__next { text-align: left; }
}

/* ---------- Da2 Notes ---------- */
.notes-sidebar-nav { padding: 8px 8px 26px; font-size: 14px; }
.notes-sidebar-home {
  display: block;
  padding: 8px 10px;
  margin: 0 0 4px;
  border-radius: 4px;
  color: var(--da2-text);
  font-weight: 750;
  text-decoration: none;
}
.notes-sidebar-home:hover,
.notes-sidebar-home.is-current { background: var(--da2-surface-2); color: var(--da2-accent); }
.notes-sidebar-group { margin: 1px 0; }
.notes-sidebar-group > summary {
  position: relative;
  list-style: none;
  cursor: pointer;
  padding: 7px 28px 7px 10px;
  min-height: 36px;
  color: var(--da2-text);
  font-weight: 650;
  border-radius: 4px;
}
.notes-sidebar-group > summary::-webkit-details-marker { display: none; }
.notes-sidebar-group > summary::after {
  content: "›";
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--da2-muted);
  font: 700 22px/1 Georgia, serif;
}
.notes-sidebar-group[open] > summary::after { transform: translateY(-50%) rotate(90deg); }
.notes-sidebar-group > summary:hover { background: var(--da2-surface); color: var(--da2-accent); }
.notes-sidebar-summary-label { display: block; overflow-wrap: anywhere; }
.notes-sidebar-topic-index {
  display: block;
  margin: 0 8px 2px 24px;
  padding: 3px 7px;
  color: var(--da2-muted);
  font-size: 12px;
  text-decoration: none;
}
.notes-sidebar-topic-index:hover,
.notes-sidebar-topic-index.is-current { color: var(--da2-accent); text-decoration: underline; font-weight: 700; }
.notes-sidebar-notes { list-style: none; margin: 0; padding: 0 0 3px 20px; }
.notes-sidebar-notes li { margin: 0; }
.notes-sidebar-notes a {
  display: block;
  padding: 4px 8px;
  border-radius: 3px;
  color: var(--da2-text);
  font-size: 13px;
  line-height: 1.45;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.notes-sidebar-notes a:hover,
.notes-sidebar-notes .is-current > a { background: var(--da2-surface); color: var(--da2-accent); font-weight: 700; }
.notes-sidebar-group .notes-sidebar-group { margin-left: 14px; }
.notes-sidebar-leaf { padding: 6px 10px; }
.notes-sidebar-leaf a { color: var(--da2-text); text-decoration: none; }
.notes-sidebar-leaf a:hover,
.notes-sidebar-leaf a.is-current { color: var(--da2-accent); font-weight: 700; text-decoration: underline; }
.notes-topic-emoji { display: inline-block; width: 1.45em; text-align: center; }

.notes-home-intro,
.notes-topic-description { margin: 0 0 28px; color: var(--da2-text); }
.notes-section-title { margin: 30px 0 10px; font-size: 1.05rem; }
.notes-recent-list,
.notes-topic-list { margin: 0; padding-left: 1.2em; }
.notes-recent-list li { margin: .55em 0; }
.notes-recent-list time {
  display: inline-block;
  min-width: 7.2em;
  margin-right: .5em;
  color: var(--da2-muted);
  font: 12px/1.5 var(--da2-mono);
}
.notes-topic-list { list-style: none; padding: 0; }
.notes-topic-list li { display: flex; align-items: baseline; gap: 12px; padding: 10px 0; border-bottom: 1px dotted var(--da2-border); }
.notes-topic-list li > a { flex: 1 1 auto; font-weight: 650; text-decoration: none; }
.notes-topic-list time { flex: 0 0 auto; color: var(--da2-muted); font: 11px/1.4 var(--da2-mono); }
.note-meta { font-family: var(--da2-mono); }
.breadcrumb-current { color: var(--da2-muted); }
.notes-mobile-index { display: none; }

body.da2-style-da2 .notes-sidebar-home,
body.da2-style-da2 .notes-sidebar-group > summary,
body.da2-style-da2 .notes-sidebar-notes a { color: #34475c; }
body.da2-style-da2 .notes-sidebar-home:hover,
body.da2-style-da2 .notes-sidebar-home.is-current,
body.da2-style-da2 .notes-sidebar-group > summary:hover,
body.da2-style-da2 .notes-sidebar-notes a:hover,
body.da2-style-da2 .notes-sidebar-notes .is-current > a { color: #0b3d6d; background: #dceaf6; }
body.da2-style-da2 .notes-sidebar-home:hover,
body.da2-style-da2 .notes-sidebar-group > summary:hover,
body.da2-style-da2 .notes-sidebar-notes a:hover { font-weight: 700; }

@media (max-width: 1020px) {
  .notes-mobile-index { display: block; margin: 0 0 24px; border: 1px solid var(--da2-border); border-radius: var(--da2-radius); background: var(--da2-surface); }
  .notes-mobile-index > summary { cursor: pointer; padding: 9px 12px; font-weight: 750; }
  .notes-mobile-index__body { border-top: 1px solid var(--da2-border); max-height: min(68vh, 560px); overflow: auto; }
  .notes-mobile-index__body .notes-sidebar-nav { padding: 8px; }
}

@media (max-width: 620px) {
  .notes-topic-list li { display: block; }
  .notes-topic-list time { display: block; margin-top: 3px; }
  .notes-recent-list time { display: block; min-width: 0; margin: 0 0 2px; }
}

/* v0.3.2 — mobile two-level navigation: WP menu ↔ chronological article index. */
body.da2-style-da2 .mobile-nav__archive > summary,
body.da2-style-da2 .mobile-nav__archive-title { color: #17324f; }
body.da2-style-da2 .mobile-nav__archive > summary:hover,
body.da2-style-da2 .mobile-nav__archive-title:hover { color: #0b3d6d; background: #dceaf6; font-weight: 700; }
body.da2-style-da2 .mobile-nav__archive-layer { background: #f8fbff; }
body.da2-style-da2 .mobile-nav__archive[open] > summary { background: #eef5fb; border-bottom-color: #9ab5cc; }


/* v0.3.2 — Da2 mobile/navigation hardening.
   Explicit structural styling avoids old cached CSS + new markup mismatches. */
@media (max-width: 1020px) {
  body.da2-style-da2 .mobile-nav > summary {
    border-color: #9fb4c8;
    background: #e7f0f7;
    color: #17324f;
  }
  body.da2-style-da2 .mobile-nav__panel {
    background: #f8fbff;
    border-right-color: #9fb4c8;
  }
  body.da2-style-da2 .mobile-nav__panel .menu > li > a,
  body.da2-style-da2 .mobile-nav__archive > summary { color: #17324f; }
  body.da2-style-da2 .mobile-nav__panel .menu > li > a:hover,
  body.da2-style-da2 .mobile-nav__panel .menu > .current-menu-item > a,
  body.da2-style-da2 .mobile-nav__panel .menu > .current_page_item > a,
  body.da2-style-da2 .mobile-nav__archive > summary:hover {
    background: #dceaf6;
    color: #0b3d6d;
  }
}
