/* ==========================================================================
   well_tpldist · 深色主题（前台默认）
   深海军蓝 / 近黑底 + 品牌紫强调；不是简单反色：分层表面、细描边、顶部高光、柔和紫色辉光。
   仅在 html[data-theme="dark"] 下生效；浅色可通过右上角切换（按浏览器记住）。
   ========================================================================== */
html[data-theme="dark"]{
  --tp-bg:#070914; --tp-surface:#0e1222; --tp-surface-2:#141a2e; --tp-surface-3:#1a2139;
  --tp-text:#e9ecf6; --tp-muted:#8e97b3; --tp-border:rgba(148,160,255,.11); --tp-border-2:rgba(148,160,255,.18);
  --tp-link:#a194ff; --tp-hero:#05070f; --tp-hero-2:#0d1122;
  --tp-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 1px 2px rgba(0,0,0,.5),0 10px 30px -14px rgba(0,0,0,.75);
  --tp-shadow-lg:inset 0 1px 0 rgba(255,255,255,.05),0 24px 60px -18px rgba(0,0,0,.85),0 0 0 1px rgba(148,160,255,.08);
  --tp-glow:0 0 0 1px rgba(var(--tp-primary-rgb),.35),0 18px 44px -16px rgba(var(--tp-primary-rgb),.45);
  color-scheme:dark;
}
html.tp-theme-anim *,html.tp-theme-anim *::before,html.tp-theme-anim *::after{transition:background-color .3s,border-color .3s,color .3s!important}
html[data-theme="dark"] body{background:radial-gradient(1100px 520px at 50% -260px,rgba(109,93,252,.16),transparent 70%),radial-gradient(800px 400px at 100% 0,rgba(168,85,247,.06),transparent 70%),var(--tp-bg) no-repeat;background-attachment:fixed}
html[data-theme="dark"]{--tp-primary-link:var(--tp-link)}
:where(html[data-theme="dark"]) a{color:var(--tp-link)}
:where(html[data-theme="dark"]) a:hover{color:#c4bbff}
html[data-theme="dark"] ::selection{background:rgba(var(--tp-primary-rgb),.45);color:#fff}
html[data-theme="dark"] *{scrollbar-color:#2a3152 transparent}
html[data-theme="dark"] ::-webkit-scrollbar{width:10px;height:10px}
html[data-theme="dark"] ::-webkit-scrollbar-thumb{background:#232a47;border-radius:10px;border:2px solid var(--tp-bg)}
html[data-theme="dark"] ::-webkit-scrollbar-track{background:transparent}
html[data-theme="dark"] hr{border-color:var(--tp-border)}
html[data-theme="dark"] .text-dark{color:var(--tp-text)!important}
html[data-theme="dark"] .text-body{color:var(--tp-text)!important}
html[data-theme="dark"] .text-secondary{color:var(--tp-muted)!important}
html[data-theme="dark"] .border,html[data-theme="dark"] .border-top,html[data-theme="dark"] .border-bottom{border-color:var(--tp-border)!important}
html[data-theme="dark"] code{color:#c9a7ff}
html[data-theme="dark"] pre{color:var(--tp-text)}

/* ---- 表面层次 ---- */
html[data-theme="dark"] .card,html[data-theme="dark"] .tp-panel,html[data-theme="dark"] .tl-card,html[data-theme="dark"] .mc-card,html[data-theme="dark"] .mc-kpi a,html[data-theme="dark"] .tp-msg{
  background:linear-gradient(180deg,rgba(255,255,255,.022),rgba(255,255,255,0) 140px),var(--tp-surface)!important;border-color:var(--tp-border)!important;box-shadow:var(--tp-shadow)}
html[data-theme="dark"] .tl-card:hover{border-color:rgba(var(--tp-primary-rgb),.45)!important;box-shadow:var(--tp-glow)}
html[data-theme="dark"] .mc-kpi a:hover{border-color:rgba(var(--tp-primary-rgb),.4)!important}
html[data-theme="dark"] .bg-white{background:var(--tp-surface)!important}
html[data-theme="dark"] .bg-light,html[data-theme="dark"] .td-state,html[data-theme="dark"] .tl-ver{background:var(--tp-surface-2)!important;border-color:var(--tp-border)!important}
html[data-theme="dark"] .card-header,html[data-theme="dark"] .card-footer{border-color:var(--tp-border)!important;background:rgba(255,255,255,.015)!important}
html[data-theme="dark"] .tp-panel-title i{background:rgba(var(--tp-primary-rgb),.16);color:#b3a8ff}

/* ---- 顶部 / 页脚 ---- */
html[data-theme="dark"] .tp-header{background:rgba(7,9,20,.78);border-bottom:1px solid transparent;border-image:linear-gradient(90deg,transparent,rgba(148,160,255,.16),transparent) 1}
html[data-theme="dark"] .tp-footer{background:linear-gradient(180deg,#060812,#04050c);border-top:1px solid var(--tp-border)}
html[data-theme="dark"] .tp-mobile-nav{background:#070914}
html[data-theme="dark"] .tp-search input{background:rgba(255,255,255,.045);border-color:rgba(148,160,255,.14)}

/* ---- 按钮 ---- */
html[data-theme="dark"] .btn-light,html[data-theme="dark"] .btn-secondary,html[data-theme="dark"] .btn-outline-secondary{background:var(--tp-surface-2);border-color:var(--tp-border-2);color:var(--tp-text)}
html[data-theme="dark"] .btn-light:hover,html[data-theme="dark"] .btn-secondary:hover,html[data-theme="dark"] .btn-outline-secondary:hover{background:var(--tp-surface-3);color:#fff;border-color:rgba(var(--tp-primary-rgb),.45)}
html[data-theme="dark"] .btn-outline-primary{color:#b3a8ff;border-color:rgba(var(--tp-primary-rgb),.55)}
html[data-theme="dark"] .btn-outline-primary:hover{color:#fff}
html[data-theme="dark"] .btn-primary{box-shadow:0 8px 22px -8px rgba(var(--tp-primary-rgb),.7),inset 0 1px 0 rgba(255,255,255,.18)}

/* ---- 表单 ---- */
html[data-theme="dark"] .form-control,html[data-theme="dark"] .custom-select,html[data-theme="dark"] select.form-control,html[data-theme="dark"] .mc-filter select{background-color:#0a0e1c;border-color:var(--tp-border-2);color:var(--tp-text)}
html[data-theme="dark"] .form-control::placeholder{color:#5f6886}
html[data-theme="dark"] .form-control:focus,html[data-theme="dark"] .custom-select:focus{background-color:#0c1122;border-color:rgba(var(--tp-primary-rgb),.75);box-shadow:0 0 0 3px rgba(var(--tp-primary-rgb),.22);color:#fff}
html[data-theme="dark"] .form-control:disabled,html[data-theme="dark"] .form-control[readonly]{background-color:#10152a;color:var(--tp-muted)}
html[data-theme="dark"] .input-group-text{background:#111629;border-color:var(--tp-border-2);color:#7f89aa}
html[data-theme="dark"] .form-control.is-invalid{border-color:rgba(239,69,101,.7)}
html[data-theme="dark"] .invalid-feedback{color:#ff7d93}
html[data-theme="dark"] input:-webkit-autofill,html[data-theme="dark"] input:-webkit-autofill:focus{-webkit-text-fill-color:var(--tp-text);-webkit-box-shadow:0 0 0 40px #0c1122 inset;caret-color:#fff}
html[data-theme="dark"] .custom-control-label::before{background:#0a0e1c;border-color:var(--tp-border-2)}

/* ---- 表格 ---- */
html[data-theme="dark"] .table{color:var(--tp-text)}
html[data-theme="dark"] .table td,html[data-theme="dark"] .table th{border-color:var(--tp-border)}
html[data-theme="dark"] .table thead th{background:rgba(255,255,255,.02);color:#7f89aa;border-bottom-color:var(--tp-border-2)}
html[data-theme="dark"] .table-hover tbody tr:hover,html[data-theme="dark"] #logs-table tbody tr:hover,html[data-theme="dark"] .mc-cmp tbody tr:hover{background:rgba(var(--tp-primary-rgb),.06);color:var(--tp-text)}
html[data-theme="dark"] .table-striped tbody tr:nth-of-type(odd){background:rgba(255,255,255,.018)}
html[data-theme="dark"] .mc-cmp .cur{background:rgba(var(--tp-primary-rgb),.09)}
html[data-theme="dark"] .mc-cmp thead th.cur{background:rgba(var(--tp-primary-rgb),.18);color:#fff}

/* ---- 徽章 / 标签 / 提示 ---- */
html[data-theme="dark"] .badge-light{background:var(--tp-surface-3);color:var(--tp-text)}
html[data-theme="dark"] .badge-secondary{background:rgba(142,151,179,.18);color:#c3cae0}
html[data-theme="dark"] .badge-success{background:rgba(22,182,123,.18);color:#5ee3ad}
html[data-theme="dark"] .badge-danger{background:rgba(239,69,101,.18);color:#ff8ea2}
html[data-theme="dark"] .badge-warning{background:rgba(245,165,36,.18);color:#ffc865}
html[data-theme="dark"] .badge-info{background:rgba(56,189,248,.16);color:#7dd3fc}
html[data-theme="dark"] .badge-primary{background:rgba(var(--tp-primary-rgb),.22)!important;color:#c4bbff!important}
html[data-theme="dark"] .tp-tag{background:rgba(var(--tp-primary-rgb),.14);color:#b9afff}
html[data-theme="dark"] .tp-tag:hover{background:rgba(var(--tp-primary-rgb),.26);color:#fff}
html[data-theme="dark"] .alert-success{background:rgba(22,182,123,.12);color:#7debbf;border:1px solid rgba(22,182,123,.25)}
html[data-theme="dark"] .alert-danger{background:rgba(239,69,101,.12);color:#ff9fb0;border:1px solid rgba(239,69,101,.25)}
html[data-theme="dark"] .alert-warning{background:rgba(245,165,36,.12);color:#ffd27f;border:1px solid rgba(245,165,36,.25)}
html[data-theme="dark"] .alert-info,html[data-theme="dark"] .alert-primary{background:rgba(var(--tp-primary-rgb),.12);color:#c4bbff;border:1px solid rgba(var(--tp-primary-rgb),.25)}
html[data-theme="dark"] .alert-light,html[data-theme="dark"] .alert-secondary{background:var(--tp-surface-2);color:var(--tp-text);border:1px solid var(--tp-border)}
html[data-theme="dark"] .close{color:#fff;text-shadow:none;opacity:.6}

/* ---- 选项卡 / 筛选 chip（避免白底反色块） ---- */
html[data-theme="dark"] .tp-chip{background:rgba(255,255,255,.025);border-color:var(--tp-border-2);color:#c6cce0}
html[data-theme="dark"] .tp-chip:hover{color:#fff;border-color:rgba(var(--tp-primary-rgb),.55)}
html[data-theme="dark"] .tp-chip.active,html[data-theme="dark"] .td-tabs button.active{background:linear-gradient(135deg,rgba(var(--tp-primary-rgb),.32),rgba(168,85,247,.22));border-color:rgba(var(--tp-primary-rgb),.6);color:#fff;box-shadow:0 6px 18px -8px rgba(var(--tp-primary-rgb),.7)}
html[data-theme="dark"] .td-tabs button{background:rgba(255,255,255,.025);border-color:var(--tp-border-2);color:#aab2cc}
html[data-theme="dark"] .td-tabs button:hover{color:#fff}
html[data-theme="dark"] .nav-tabs{border-color:var(--tp-border)}
html[data-theme="dark"] .nav-tabs .nav-link.active{background:var(--tp-surface);border-color:var(--tp-border) var(--tp-border) transparent;color:#b3a8ff}
html[data-theme="dark"] .page-link{background:var(--tp-surface);color:var(--tp-text);box-shadow:inset 0 0 0 1px var(--tp-border)}
html[data-theme="dark"] .page-link:hover{background:var(--tp-surface-2);color:#fff}
html[data-theme="dark"] .page-item.disabled .page-link{background:transparent;color:var(--tp-muted)}

/* ---- 下拉 / 弹窗 / toast / 灯箱 ---- */
html[data-theme="dark"] .dropdown-menu,html[data-theme="dark"] .tp-umenu{background:rgba(14,18,34,.96);backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);border:1px solid var(--tp-border-2);box-shadow:var(--tp-shadow-lg)}
html[data-theme="dark"] .dropdown-item{color:#cfd4e6}
html[data-theme="dark"] .dropdown-item:hover,html[data-theme="dark"] .dropdown-item:focus{background:rgba(var(--tp-primary-rgb),.14);color:#fff}
html[data-theme="dark"] .dropdown-divider{border-color:var(--tp-border)}
html[data-theme="dark"] .tp-umenu-head{border-color:var(--tp-border)!important}
html[data-theme="dark"] .modal-content{background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 160px),var(--tp-surface);border:1px solid var(--tp-border-2);box-shadow:var(--tp-shadow-lg)}
html[data-theme="dark"] .modal-header,html[data-theme="dark"] .modal-footer{border-color:var(--tp-border)}
html[data-theme="dark"] .modal-backdrop.show{opacity:.75;background:#02030a}
html[data-theme="dark"] .tp-toast{background:rgba(20,25,44,.92);border:1px solid var(--tp-border-2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 18px 40px -12px rgba(0,0,0,.8),0 0 0 1px rgba(var(--tp-primary-rgb),.12)}
html[data-theme="dark"] .tpl-lightbox{background:rgba(3,4,10,.94);backdrop-filter:blur(6px)}
html[data-theme="dark"] .tpl-lightbox .lb-stage img{box-shadow:0 30px 80px rgba(0,0,0,.8),0 0 0 1px rgba(148,160,255,.12)}
html[data-theme="dark"] .tpl-lightbox button{background:rgba(148,160,255,.1);border:1px solid rgba(148,160,255,.16)}
html[data-theme="dark"] .tooltip-inner{background:#1a2139}

/* ---- 模板库 / 详情 ---- */
html[data-theme="dark"] .tl-search{background:rgba(14,18,34,.92);border:1px solid var(--tp-border-2);box-shadow:0 20px 50px -10px rgba(0,0,0,.7),0 0 0 4px rgba(var(--tp-primary-rgb),.08)}
html[data-theme="dark"] .tl-search input{background:transparent!important;color:var(--tp-text)!important}
html[data-theme="dark"] .tl-search input::placeholder{color:#6a7392}
html[data-theme="dark"] .tl-search i{color:#7f89aa}
html[data-theme="dark"] .tl-fav{background:rgba(7,9,20,.6);border-color:rgba(255,255,255,.12)}
html[data-theme="dark"] .tl-fav.on{background:rgba(239,69,101,.18);color:#ff7d93;border-color:rgba(239,69,101,.45)}
html[data-theme="dark"] .td-fav{background:rgba(255,255,255,.025);border-color:var(--tp-border-2)}
html[data-theme="dark"] .td-fav.on{background:rgba(239,69,101,.14);border-color:rgba(239,69,101,.45);color:#ff8ea2}
html[data-theme="dark"] .td-steps li::before{background:rgba(var(--tp-primary-rgb),.16);color:#b9afff}
html[data-theme="dark"] .td-sha{color:#a194ff!important}
html[data-theme="dark"] .tpl-cover{box-shadow:0 0 0 1px var(--tp-border-2),0 24px 60px -24px rgba(0,0,0,.9)}

/* ---- 空状态 / 消息页 ---- */
html[data-theme="dark"] .tp-empty .ico,html[data-theme="dark"] .tp-msg .ico{box-shadow:inset 0 0 0 1px rgba(var(--tp-primary-rgb),.25),0 18px 40px -18px rgba(var(--tp-primary-rgb),.6)}
html[data-theme="dark"] .tp-empty .ico{background:radial-gradient(circle at 30% 20%,rgba(168,85,247,.28),rgba(var(--tp-primary-rgb),.1));color:#c4bbff}
html[data-theme="dark"] .tp-msg .ico.ok{background:radial-gradient(circle at 30% 20%,rgba(22,182,123,.3),rgba(22,182,123,.08));box-shadow:inset 0 0 0 1px rgba(22,182,123,.3)}
html[data-theme="dark"] .tp-msg .ico.err{background:radial-gradient(circle at 30% 20%,rgba(239,69,101,.3),rgba(239,69,101,.08));box-shadow:inset 0 0 0 1px rgba(239,69,101,.3)}
html[data-theme="dark"] .tp-progress{background:#0a0e1c;border-color:var(--tp-border-2)}

/* ---- 站长中心 ---- */
html[data-theme="dark"] .mc-nav a{color:#b4bbd2}
html[data-theme="dark"] .mc-nav a:hover{background:rgba(255,255,255,.035);color:#fff}
html[data-theme="dark"] .mc-nav a.active{background:linear-gradient(90deg,rgba(var(--tp-primary-rgb),.2),rgba(var(--tp-primary-rgb),.04));color:#fff}
html[data-theme="dark"] .mc-meta,html[data-theme="dark"] .mc-sep{border-color:var(--tp-border)!important}
html[data-theme="dark"] .mc-list li,html[data-theme="dark"] .mc-nlist li,html[data-theme="dark"] .mc-notices li{border-color:var(--tp-border)}
html[data-theme="dark"] .mc-notices li.unread{background:rgba(var(--tp-primary-rgb),.06)}
html[data-theme="dark"] .mc-steps li{background:rgba(255,255,255,.02);border-color:var(--tp-border-2)}
html[data-theme="dark"] .mc-steps li.cur{background:rgba(var(--tp-primary-rgb),.1);border-color:rgba(var(--tp-primary-rgb),.55)}
html[data-theme="dark"] .mc-ring .trk{stroke:rgba(255,255,255,.1)}
html[data-theme="dark"] .mc-code{background:#0a0e1c;border-color:var(--tp-border-2)}
html[data-theme="dark"] .mc-badge.basic{background:rgba(142,151,179,.16);color:#c6cce0}
html[data-theme="dark"] .mc-badge.admin{background:rgba(239,69,101,.16);color:#ff8ea2}

/* ---- 文章（核心页面）---- */
html[data-theme="dark"] .threadlist,html[data-theme="dark"] .card-site-info{border-color:var(--tp-border)}
html[data-theme="dark"] .list-group-item{background:var(--tp-surface);border-color:var(--tp-border);color:var(--tp-text)}
html[data-theme="dark"] .message{color:var(--tp-text)}
html[data-theme="dark"] blockquote{border-left:3px solid rgba(var(--tp-primary-rgb),.5);color:#c6cce0}
