/* ======================================================================
   日期格式转换 · 独立设计（历书刻度 / 表格速查主题）
   浅色 = 米黄历书纸 + 松绿；深色 = 夜读历书
   ====================================================================== */
.dt{
  --ink:#20301f; --sub:#5a6b52; --faint:#93a288;
  --bg:#f4f4e9; --card:#fffef7; --card2:#eef0dd; --line:#dcdcc2; --line2:#e8e8d2;
  --pri:#166534; --pri-2:#4d7c0f; --pri-soft:#e3eedd; --pri-ink:#14532d;
  --gold:#a16207; --gold-soft:#f8f1d9;
  --ok:#15803d; --err:#b91c1c;
  --r:8px;
  --shadow:0 1px 2px rgba(32,48,31,.05),0 12px 26px rgba(32,48,31,.09);
  color:var(--ink);
  font-family:-apple-system,"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",system-ui,sans-serif;
  font-size:15px;line-height:1.75;
  background:
    repeating-linear-gradient(90deg, transparent 0 47px, rgba(22,101,52,.05) 47px 48px),
    var(--bg);
  padding:0 16px 56px;
}
:root[data-theme="dark"] .dt{
  --ink:#e6ebdf; --sub:#a3b098; --faint:#68755e;
  --bg:#10140e; --card:#181e15; --card2:#1f2719; --line:#33402b; --line2:#2a3523;
  --pri:#86efac; --pri-2:#bef264; --pri-soft:rgba(134,239,172,.10); --pri-ink:#bbf7d0;
  --gold:#facc15; --gold-soft:rgba(250,204,21,.10);
  --ok:#4ade80; --err:#f87171;
  background:
    repeating-linear-gradient(90deg, transparent 0 47px, rgba(134,239,172,.05) 47px 48px),
    var(--bg);
}
.dt *{box-sizing:border-box;}
.dt-wrap{max-width:1140px;margin:0 auto;}
.dt input,.dt textarea,.dt code,.dt td code{font-family:"JetBrains Mono",ui-monospace,Consolas,monospace;}

.dt-hero{margin-top:22px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);display:flex;overflow:hidden;}
.dt-cal{flex:none;width:74px;background:var(--pri);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 0;}
:root[data-theme="dark"] .dt-cal{color:#0c1f12;}
.dt-cal b{font-size:26px;line-height:1;font-family:Georgia,serif;}
.dt-cal span{font-size:11px;letter-spacing:.18em;margin-top:4px;opacity:.85;}
.dt-hero-txt{padding:16px 22px;}
.dt-hero h1{margin:0 0 4px;font-size:clamp(20px,3vw,26px);font-weight:900;color:var(--pri-ink);}
.dt-hero p{margin:0;color:var(--sub);font-size:14px;max-width:800px;}
.dt-hero p b{color:var(--pri-ink);}

.dt-bar{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:12px;margin-top:16px;}
@media (max-width:900px){.dt-bar{grid-template-columns:1fr;}}
.dt-cell{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;box-shadow:var(--shadow);}
.dt-cell label{display:block;font-size:12px;font-weight:800;color:var(--sub);margin-bottom:5px;}
.dt-in{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r);background:var(--card2);color:var(--ink);font-size:13.5px;outline:none;}
.dt-in:focus{border-color:var(--pri);box-shadow:0 0 0 3px var(--pri-soft);}
.dt-in.bad{border-color:var(--err);background:rgba(185,28,28,.06);}
.dt-now{margin-top:6px;border:1px solid var(--line);background:var(--card2);color:var(--pri-ink);border-radius:var(--r);padding:4px 12px;font-size:12px;font-weight:800;cursor:pointer;}
.dt-now:hover{border-color:var(--pri);}
.dt-msg{font-size:13px;font-weight:700;min-height:20px;margin-top:10px;}
.dt-msg.err{color:var(--err);}
.dt-msg.ok{color:var(--ok);}

.dt-tables{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;margin-top:16px;}
@media (max-width:960px){.dt-tables{grid-template-columns:1fr;}}
.dt-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;box-shadow:var(--shadow);}
.dt-card h2{margin:0 0 10px;font-size:14px;font-weight:900;color:var(--pri-ink);letter-spacing:.06em;}
.dt-card table{width:100%;border-collapse:collapse;font-size:13px;}
.dt-card th{background:var(--card2);text-align:left;padding:7px 10px;font-weight:800;color:var(--sub);border:1px solid var(--line2);white-space:nowrap;}
.dt-card td{padding:7px 10px;border:1px solid var(--line2);word-break:break-all;}
.dt-card td code{background:var(--gold-soft);color:var(--gold);border-radius:4px;padding:1px 6px;font-size:12.5px;}
.dt-ex{color:var(--pri-ink);font-weight:700;}
.dt-mini{border:none;background:var(--pri-soft);color:var(--pri-ink);border-radius:6px;padding:2px 10px;font-size:12px;font-weight:800;cursor:pointer;}
.dt-mini:hover{background:var(--pri);color:#fff;}
:root[data-theme="dark"] .dt-mini:hover{color:#0c1f12;}
.dt-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.dt-btn{border:none;background:var(--pri);color:#fff;border-radius:var(--r);padding:8px 16px;font-size:13px;font-weight:800;cursor:pointer;}
.dt-btn:hover{background:var(--pri-2);}
.dt-btn-ghost{background:var(--card2);color:var(--pri-ink);border:1.5px solid var(--line);}
.dt-btn-ghost:hover{border-color:var(--pri);}

.dt-faq{margin-top:32px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px 26px;box-shadow:var(--shadow);}
.dt-faq h2{margin:0 0 10px;font-size:19px;font-weight:900;color:var(--pri-ink);}
.dt-faq h3{margin:16px 0 4px;font-size:15px;font-weight:800;}
.dt-faq p{margin:0;color:var(--sub);font-size:14px;}
.dt-faq p b{color:var(--ink);}

/* ---------- 扩展：格式预设 + 年度时间轴 ---------- */
.dt-extra{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px;}
@media (max-width:960px){.dt-extra{grid-template-columns:1fr;}}
.dt-extra-col{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;box-shadow:var(--shadow);min-width:0;}
.dt-extra-col h2{margin:0 0 6px;font-size:14px;font-weight:900;color:var(--pri-ink);letter-spacing:.06em;}
.dt-hint{margin:0 0 10px;font-size:12.5px;color:var(--sub);}
.dt-presets{display:flex;flex-wrap:wrap;gap:8px;}
.dt-preset{border:1px solid var(--line);background:var(--card2);color:var(--ink);border-radius:999px;padding:5px 12px;font-size:12.5px;font-family:"JetBrains Mono",ui-monospace,Consolas,monospace;cursor:pointer;}
.dt-preset:hover{border-color:var(--pri);color:var(--pri-ink);}
.dt-preset.on{background:var(--pri);border-color:var(--pri);color:#fff;}
:root[data-theme="dark"] .dt-preset.on{color:#0c1f12;}

.dt-viz{overflow-x:auto;padding-bottom:4px;}
.dt-viz svg{display:block;width:100%;min-width:520px;height:auto;}
.dt-viz-empty{color:var(--faint);font-size:13px;padding:26px 10px;text-align:center;border:1px dashed var(--line);border-radius:var(--r);}

/* ---------- 扩展：批量转换 ---------- */
.dt-batch{margin-top:18px;}
.dt-ta{display:block;width:100%;min-height:116px;resize:vertical;line-height:1.6;margin-bottom:10px;}
.dt-batch-sum{display:flex;flex-wrap:wrap;gap:14px;font-size:12.5px;color:var(--sub);margin:6px 0 10px;}
.dt-batch-sum b{color:var(--ink);}
.dt-sum-ok{color:var(--ok);font-weight:800;}
.dt-sum-err{color:var(--err);font-weight:800;}
.dt-batch-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);}
.dt-batch-table{width:100%;min-width:720px;border-collapse:collapse;font-size:12.5px;}
.dt-batch-table th{background:var(--card2);text-align:left;padding:7px 10px;font-weight:800;color:var(--sub);border-bottom:1px solid var(--line);white-space:nowrap;}
.dt-batch-table td{padding:6px 10px;border-bottom:1px solid var(--line2);vertical-align:top;word-break:break-all;}
.dt-batch-table tr:last-child td{border-bottom:none;}
.dt-batch-table td code{background:var(--card2);color:var(--sub);border-radius:4px;padding:1px 5px;font-size:12px;}
.dt-mono{font-family:"JetBrains Mono",ui-monospace,Consolas,monospace;color:var(--sub);white-space:nowrap;}
.dt-out{color:var(--pri-ink);font-weight:800;font-family:"JetBrains Mono",ui-monospace,Consolas,monospace;}
.dt-err-txt{color:var(--err);font-weight:600;font-family:inherit;}
.dt-bad-row{background:rgba(185,28,28,.06);}
.dt-tag{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap;}
.dt-tag.ok{background:var(--pri-soft);color:var(--pri-ink);}
.dt-tag.err{background:rgba(185,28,28,.12);color:var(--err);}
.dt-empty{text-align:center;color:var(--faint);padding:20px 10px !important;}
:root[data-theme="dark"] .dt-bad-row{background:rgba(248,113,113,.08);}
:root[data-theme="dark"] .dt-tag.err{background:rgba(248,113,113,.14);}
