/* =========================================================
   AdminTheme — Typecho 后台皮肤（零侵入）
   设计基调：简约克制 · 克制蓝 #185FA5 · border-first · 无阴影 · 系统字体
   侧栏单选手风琴 + 抽屉浮出 + 亮/暗双主题 · 菜单项全部带图标 · 15px 加深文字
   所有规则以 :root[data-admin-theme] 前缀提升优先级，覆盖默认 style.css
   ========================================================= */

/* ---------- 设计变量：亮色 ---------- */
:root[data-admin-theme] {
    --at-bg-page: #F5F6F7;
    --at-bg-surface: #FFFFFF;
    --at-bg-subtle: #FAFBFC;
    --at-bg-active: #E6F1FB;
    --at-bg-hover: #F0F2F4;
    --at-border: #E5E7EB;
    --at-border-strong: #D8DBDF;
    --at-text-strong: #2C2C2A;
    --at-text: #3D3D3B;
    --at-text-muted: #888780;
    --at-accent: #185FA5;
    --at-accent-hover: #134E8A;
    --at-accent-soft: #E6F1FB;
    --at-link: #467B96;
    --at-success: #0F6E56;
    --at-radius: 8px;
    --at-radius-sm: 6px;
    --at-focus: 0 0 0 3px rgba(24, 95, 165, .18);
    --at-sidebar-w: 236px;
    --at-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
        Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
}

/* ---------- 设计变量：暗色（独立灰阶，非反色） ---------- */
:root[data-admin-theme="dark"] {
    --at-bg-page: #16181A;
    --at-bg-surface: #1E2124;
    --at-bg-subtle: #23272B;
    --at-bg-active: #1B2C3D;
    --at-bg-hover: #262A2F;
    --at-border: #2A2E32;
    --at-border-strong: #34383D;
    --at-text-strong: #E8EAED;
    --at-text: #C8CCD1;
    --at-text-muted: #6B7178;
    --at-accent: #4C8FD6;
    --at-accent-hover: #6BA0DE;
    --at-accent-soft: #1B2C3C;
    --at-link: #6FA8C7;
    --at-success: #3FAE86;
    --at-focus: 0 0 0 3px rgba(76, 143, 214, .28);
}

/* ---------- 全局 ---------- */
:root[data-admin-theme] body {
    background: var(--at-bg-page);
    color: var(--at-text-strong);
    font-family: var(--at-font);
    font-size: 14px;
}
:root[data-admin-theme] a { color: var(--at-link); }
:root[data-admin-theme] ::selection { background: var(--at-accent-soft); }

/* =========================================================
   侧栏重排：默认顶部横向导航 → 左侧固定 sidebar
   关键：必须覆盖 Typecho 默认的 #292D33 深色背景（多层嵌套元素都有独立背景声明）
   ========================================================= */
:root[data-admin-theme] .typecho-head-nav {
    position: fixed;
    left: 0; top: 0; bottom: 0;
    width: var(--at-sidebar-w);
    flex-flow: column;
    align-items: stretch;
    justify-content: flex-start;
    background: var(--at-bg-surface) !important;
    border-right: 1px solid var(--at-border);
    padding: 0;
    z-index: 200;
    overflow-y: hidden;
    overflow-x: hidden;
    box-shadow: none;
    transition: transform .18s ease;
}
/* 覆盖默认深色背景：nav / menu 各层 */
:root[data-admin-theme] .typecho-head-nav nav {
    width: 100%;
    background: transparent !important;
}
:root[data-admin-theme] .typecho-head-nav nav > menu,
:root[data-admin-theme] .typecho-head-nav menu {
    display: flex;
    flex-flow: column;
    width: 100%;
    padding: 8px 0 16px;
    background: transparent !important;
}
:root[data-admin-theme] .typecho-head-nav nav > menu > li {
    border: none !important;
    position: relative;
    background: transparent !important;
}

/* 父菜单 = 分组标题（控制台/撰写/管理/设置）：15px、加深、可点击折叠 */
:root[data-admin-theme] .typecho-head-nav nav > menu > li > a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    position: relative;
    text-align: left;
    border: none !important;
    height: auto;
    line-height: 1.4;
    padding: 14px 40px 10px 18px;
    color: var(--at-text) !important;
    font-weight: 600;
    font-size: 15px;
    letter-spacing: .02em;
    cursor: pointer;
    background: transparent !important;
}
:root[data-admin-theme] .typecho-head-nav nav > menu > li > a:focus,
:root[data-admin-theme] .typecho-head-nav nav > menu > li > a:hover {
    background: var(--at-bg-hover) !important;
    color: var(--at-text-strong) !important;
}
:root[data-admin-theme] .typecho-head-nav nav > menu > li > a .at-chev {
    position: absolute; right: 16px; top: 50%;
    width: 15px; height: 15px; flex: 0 0 15px;
    stroke: currentColor; fill: none; stroke-width: 1.8;
    transition: transform .18s ease;
    opacity: .55;
    transform: translateY(-50%);
}
:root[data-admin-theme] .typecho-head-nav nav > menu > li.open > a .at-chev { transform: translateY(-50%) rotate(90deg); }
:root[data-admin-theme] .typecho-head-nav nav > menu > li.focus:not(.operate) > a { color: var(--at-accent) !important; }

/* 子菜单：单选手风琴折叠（默认收起），全部带图标 */
:root[data-admin-theme] .typecho-head-nav nav > menu > li menu {
    position: static !important;
    display: block !important;
    max-height: 0;
    overflow: hidden;
    transition: max-height .22s ease;
    min-width: auto; max-width: none;
    background: transparent !important;
    border: none !important;
    padding: 0;
}
:root[data-admin-theme] .typecho-head-nav nav > menu > li.open menu { max-height: 640px; }
:root[data-admin-theme] .typecho-head-nav nav > menu > li menu > li {
    background: transparent !important;
}
:root[data-admin-theme] .typecho-head-nav nav > menu > li menu > li > a {
    display: flex !important;
    align-items: center;
    gap: 11px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: left;
    border: none !important;
    padding: 3px 18px 3px 36px;
    color: var(--at-text) !important;
    font-weight: 400;
    font-size: 15px;
    background: transparent !important;
}
:root[data-admin-theme] .typecho-head-nav nav > menu > li menu > li > a:hover {
    background: var(--at-bg-hover) !important;
    color: var(--at-text-strong) !important;
}
:root[data-admin-theme] .typecho-head-nav nav > menu > li menu > li.focus > a {
    background: var(--at-bg-active) !important;
    color: var(--at-accent) !important;
    font-weight: 500;
    box-shadow: inset 3px 0 0 var(--at-accent);
}

/* 菜单图标 */
:root[data-admin-theme] .typecho-head-nav nav a .at-icon {
    flex: 0 0 auto;
    width: 18px; height: 18px;
    display: inline-flex;
    color: currentColor;
    opacity: .85;
}
:root[data-admin-theme] .typecho-head-nav nav a .at-icon svg {
    width: 18px; height: 18px;
    stroke: currentColor; fill: none;
    stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round;
}
:root[data-admin-theme] .typecho-head-nav nav menu > li > a .at-icon { width: 16px; height: 16px; }
:root[data-admin-theme] .typecho-head-nav nav menu > li > a .at-icon svg { width: 16px; height: 16px; }

/* 独立菜单项（无子菜单的插件项，如 FileManager）：普通链接，无折叠 */
:root[data-admin-theme] .typecho-head-nav nav > menu > li:not(.operate):not(:has(> menu)) > a {
    display: flex !important;
    align-items: center;
    gap: 11px;
    border: none !important;
    padding: 11px 18px;
    color: var(--at-text) !important;
    font-weight: 400;
    font-size: 15px;
    background: transparent !important;
}
:root[data-admin-theme] .typecho-head-nav nav > menu > li:not(.operate):not(:has(> menu)) > a:hover {
    background: var(--at-bg-hover) !important;
    color: var(--at-text-strong) !important;
}

/* 用户操作区：侧栏顶部，三个链接一行横向排列，图标+文字靠左 */
:root[data-admin-theme] .typecho-head-nav nav > menu > li.operate {
    display: flex !important;
    flex-flow: row;
    align-items: center;
    justify-content: flex-start;
    gap: 2px;
    border: none !important;
    border-top: 1px solid var(--at-border) !important;
    margin: 10px 0 0;
    padding: 12px 12px 4px;
    background: transparent !important;
}
:root[data-admin-theme] .typecho-head-nav nav > menu > li.operate a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    flex: 0 0 auto;
    min-width: 0;
    border: none !important;
    padding: 5px 10px;
    color: var(--at-text) !important;
    font-weight: 400;
    font-size: 14px;
    background: transparent !important;
    border-radius: var(--at-radius-sm);
}
:root[data-admin-theme] .typecho-head-nav nav > menu > li.operate a .at-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* 用户昵称过长时完整显示，不截断隐藏；并占满中间剩余空间，给昵称更多宽度 */
:root[data-admin-theme] .typecho-head-nav nav > menu > li.operate a.author {
    flex: 1 1 auto;
    min-width: 0;
}
:root[data-admin-theme] .typecho-head-nav nav > menu > li.operate a.author .at-label {
    overflow: visible;
    text-overflow: clip;
    white-space: nowrap;
}
:root[data-admin-theme] .typecho-head-nav nav > menu > li.operate a:hover {
    background: var(--at-bg-hover) !important;
    color: var(--at-text-strong) !important;
}
:root[data-admin-theme] .typecho-head-nav nav > menu > li.operate a.exit { color: var(--at-text-muted) !important; flex: 0 0 auto; padding: 5px 8px; margin-left: auto; }
/* 登出：仅显示图标，隐藏文字 */
:root[data-admin-theme] .typecho-head-nav nav > menu > li.operate a.exit .at-label { display: none; }

/* 主题切换按钮（JS 注入，侧栏最底部） */
:root[data-admin-theme] .typecho-head-nav .at-theme-toggle {
    display: flex; align-items: center; gap: 11px;
    width: 100%; border: none !important; background: transparent;
    padding: 14px 18px; margin-top: auto;
    color: var(--at-text);
    font-family: var(--at-font); font-size: 15px; cursor: pointer; text-align: left;
}
:root[data-admin-theme] .typecho-head-nav .at-theme-toggle:hover { background: var(--at-bg-hover); color: var(--at-text-strong); }
:root[data-admin-theme] .typecho-head-nav .at-theme-toggle .at-icon { flex: 0 0 17px; width: 17px; height: 17px; }
:root[data-admin-theme] .typecho-head-nav .at-theme-toggle .at-icon svg { width: 17px; height: 17px; stroke: currentColor; fill: none; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }

/* 隐藏默认汉堡（桌面侧栏模式不需要） */
:root[data-admin-theme] .typecho-head-nav .menu-bar { display: none !important; }

/* 侧栏顶部品牌标识区（JS 注入） */
:root[data-admin-theme] .at-brand {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 16px 14px 14px 18px;
    border-bottom: 1px solid var(--at-border);
    background: transparent;
    flex-shrink: 0;
}
:root[data-admin-theme] .at-brand-left { display: flex; align-items: center; gap: 10px; }
:root[data-admin-theme] .at-brand-logo {
    flex: 0 0 28px;
    width: 28px; height: 28px;
    display: flex; align-items: center; justify-content: center;
    background: var(--at-accent);
    color: #fff;
    border-radius: var(--at-radius-sm);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: -0.5px;
}
:root[data-admin-theme] .at-brand-text {
    font-size: 15px;
    font-weight: 600;
    color: var(--at-text-strong);
    letter-spacing: .02em;
}

/* ---------- 抽屉浮出：侧栏头部开关（嵌入品牌行右侧） + 收起态浮出按钮 ---------- */
:root[data-admin-theme] .at-menu-btn {
    flex: 0 0 auto;
    width: 32px; height: 32px;
    display: flex; align-items: center; justify-content: center;
    border: 1px solid transparent;
    background: transparent;
    color: var(--at-text);
    border-radius: var(--at-radius-sm);
    cursor: pointer;
    transition: background .15s ease, color .15s ease;
}
:root[data-admin-theme] .at-menu-btn:hover { background: var(--at-bg-hover); color: var(--at-text-strong); }
:root[data-admin-theme] .at-menu-btn svg { width: 18px; height: 18px; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; }

/* 收起态浮出按钮：固定在视口左缘，仅侧栏收起时显示 */
:root[data-admin-theme] .at-recall-btn {
    position: fixed;
    left: 12px; top: 12px;
    z-index: 400;
    width: 36px; height: 36px;
    display: none;
    align-items: center; justify-content: center;
    border: 1px solid var(--at-border);
    background: var(--at-bg-surface);
    color: var(--at-text);
    border-radius: var(--at-radius-sm);
    cursor: pointer;
    box-shadow: 0 1px 4px rgba(0,0,0,.10);
    transition: background .15s ease, color .15s ease;
}
:root[data-admin-theme] .at-recall-btn:hover { background: var(--at-bg-hover); color: var(--at-text-strong); }
:root[data-admin-theme] .at-recall-btn svg { width: 18px; height: 18px; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; }
:root[data-admin-theme].at-collapsed .at-recall-btn { display: flex; }

/* 折叠态：侧栏滑出、主区占满、无遮罩 */
:root[data-admin-theme].at-collapsed .typecho-head-nav {
    transform: translateX(-100%);
}

/* ---------- 主体内容让出侧栏宽度；收起时留细边 ---------- */
:root[data-admin-theme] .main {
    position: relative;
    margin-left: var(--at-sidebar-w);
    min-height: 100vh;
    padding: 24px 28px 40px;
    box-sizing: border-box;
    border-left: 1px solid transparent;
    transition: margin-left .18s ease, border-color .18s ease;
}
:root[data-admin-theme].at-collapsed .main {
    margin-left: 0;
    padding-top: 56px;
    border-left: 1px solid var(--at-border);
}

/* 右侧主内容区入场弹出动画：每次后台页面加载时从右侧淡入滑入 */
:root[data-admin-theme] body:not(.body-100) .main {
    animation: at-main-in .6s cubic-bezier(.4, 0, .2, 1) both;
}
@keyframes at-main-in {
    from { opacity: 0; transform: translateX(var(--at-anim-offset, 10px)); }
    to   { opacity: 1; transform: none; }
}
/* 点击侧栏菜单链接 → 旧页右滑淡出（跳转前） */
html.at-leaving .main {
    opacity: 0;
    transform: translateX(var(--at-anim-offset, 10px));
    transition: opacity .35s ease, transform .35s ease;
    animation: none;
}
/* 动效关闭（设置里关闭时，admin-theme.js 会给 <html> 加 .at-anim-off）：入场动画不播放 */
html.at-anim-off .main {
    animation: none !important;
}

/* =========================================================
   卡片 / 容器 / 选项标签
   ========================================================= */
:root[data-admin-theme] .typecho-page-main,
:root[data-admin-theme] .typecho-list { background: transparent; }
:root[data-admin-theme] .typecho-list-operate { margin-bottom: 16px; }
:root[data-admin-theme] .typecho-option-tabs { display: inline-flex; }
:root[data-admin-theme] .typecho-option-tabs li a {
    display: flex; justify-content: center; align-items: center;
    margin-right: -1px;
    border: 1px solid var(--at-border) !important;
    padding: 0 15px; height: 32px;
    color: var(--at-text); background: var(--at-bg-surface);
    border-radius: 0; box-sizing: border-box; text-decoration: none;
    white-space: nowrap;
}
:root[data-admin-theme] .typecho-option-tabs li:first-child a { border-radius: var(--at-radius-sm) 0 0 var(--at-radius-sm) !important; }
:root[data-admin-theme] .typecho-option-tabs li:last-child a { border-radius: 0 var(--at-radius-sm) var(--at-radius-sm) 0 !important; }
:root[data-admin-theme] .typecho-option-tabs li a:hover { background: var(--at-bg-hover); color: var(--at-text-strong); text-decoration: none; }
:root[data-admin-theme] .typecho-option-tabs li.current a,
:root[data-admin-theme] .typecho-option-tabs li.active a { background: var(--at-accent); border-color: var(--at-accent) !important; color: #fff; }
:root[data-admin-theme] .typecho-option-tabs li a > * { margin: 0 3px; }
:root[data-admin-theme] .balloon { background: var(--at-accent) !important; color: #fff !important; border-radius: 10px; padding: 0 6px; font-size: 11px; }

/* =========================================================
   页面标题
   ========================================================= */
:root[data-admin-theme] .typecho-page-title { margin: 0 0 20px; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
:root[data-admin-theme] .typecho-page-title h2 { margin: 0; flex: 0 0 auto; font-size: 19px; font-weight: 500; color: var(--at-text-strong); }
:root[data-admin-theme] .typecho-page-title p { margin: 4px 0 0; color: var(--at-text-muted); font-size: 13px; }
:root[data-admin-theme] .typecho-page-title > a {
    display: inline-flex; align-items: center;
    background: var(--at-accent); color: #fff;
    padding: 4px 9px; border-radius: var(--at-radius-sm);
    font-family: var(--at-font); font-size: 12px; font-weight: 500;
    text-decoration: none; border: none;
    transition: background-color .15s ease;
    white-space: nowrap;
}
:root[data-admin-theme] .typecho-page-title > a:hover { background: var(--at-accent-hover); }

/* =========================================================
   表格
   ========================================================= */
:root[data-admin-theme] table {
    width: 100%; border-collapse: separate; border-spacing: 0;
    background: var(--at-bg-surface);
    border: 1px solid var(--at-border);
    border-radius: var(--at-radius);
    overflow: hidden; font-size: 14px;
}
:root[data-admin-theme] th,
:root[data-admin-theme] td {
    padding: 13px 16px;
    border-bottom: 1px solid var(--at-border);
    text-align: left; color: var(--at-text-strong); vertical-align: middle;
}
:root[data-admin-theme] thead th {
    background: var(--at-bg-subtle);
    color: var(--at-text-muted); font-weight: 500; font-size: 12px;
    text-transform: uppercase; letter-spacing: .03em;
}
:root[data-admin-theme] tbody tr:hover { background: var(--at-bg-subtle); }
:root[data-admin-theme] tbody tr:last-child td { border-bottom: none; }
:root[data-admin-theme] td a { color: var(--at-link); }
:root[data-admin-theme] .typecho-list table { border-radius: var(--at-radius); }

/* =========================================================
   按钮 / 表单
   ========================================================= */
:root[data-admin-theme] .btn,
:root[data-admin-theme] button,
:root[data-admin-theme] input[type="submit"],
:root[data-admin-theme] input[type="button"],
:root[data-admin-theme] .primary {
    font-family: var(--at-font); font-size: 14px;
    border-radius: var(--at-radius-sm);
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
:root[data-admin-theme] .primary,
:root[data-admin-theme] button.primary,
:root[data-admin-theme] input[type="submit"].primary {
    background: var(--at-accent); border: 1px solid var(--at-accent);
    color: #fff; padding: 9px 20px; cursor: pointer;
}
:root[data-admin-theme] .primary:hover,
:root[data-admin-theme] button.primary:hover { background: var(--at-accent-hover); border-color: var(--at-accent-hover); }
:root[data-admin-theme] .btn { background: var(--at-bg-surface); border: 1px solid var(--at-border-strong); color: var(--at-text-strong); padding: 9px 20px; cursor: pointer; }
:root[data-admin-theme] .btn:hover { background: var(--at-bg-hover); }

:root[data-admin-theme] input[type="text"],
:root[data-admin-theme] input[type="password"],
:root[data-admin-theme] input[type="email"],
:root[data-admin-theme] input[type="url"],
:root[data-admin-theme] input[type="number"],
:root[data-admin-theme] input[type="search"],
:root[data-admin-theme] select,
:root[data-admin-theme] textarea {
    border: 1px solid var(--at-border-strong);
    border-radius: var(--at-radius-sm);
    padding: 7px 10px;
    background: var(--at-bg-surface);
    color: var(--at-text-strong);
    font-family: var(--at-font); font-size: 14px;
    box-sizing: border-box;
}
/* textarea 不设固定高度：各场景差异大（单行备注 vs 代码编辑器 500px+），交由原 style.css / rows 控制；
   其余输入控件统一 36px 高，与原 select 高度对齐 */
:root[data-admin-theme] input[type="text"],
:root[data-admin-theme] input[type="password"],
:root[data-admin-theme] input[type="email"],
:root[data-admin-theme] input[type="url"],
:root[data-admin-theme] input[type="number"],
:root[data-admin-theme] input[type="search"],
:root[data-admin-theme] select { height: 36px; }
:root[data-admin-theme] input:focus,
:root[data-admin-theme] textarea:focus,
:root[data-admin-theme] select:focus { outline: none; border-color: var(--at-accent); box-shadow: var(--at-focus); }
:root[data-admin-theme] label { color: var(--at-text-strong); font-size: 14px; }
:root[data-admin-theme] .typecho-option span { color: var(--at-text-muted); }

/* =========================================================
   提示 / 消息
   ========================================================= */
:root[data-admin-theme] .message { border-radius: var(--at-radius); border: 1px solid var(--at-border); background: var(--at-bg-surface); color: var(--at-text-strong); }
:root[data-admin-theme] .message ul li { color: var(--at-text); }

/* =========================================================
   分页
   ========================================================= */
:root[data-admin-theme] .typecho-pager,
:root[data-admin-theme] .typecho-page-nav { margin-top: 18px; }
:root[data-admin-theme] .typecho-pager li a,
:root[data-admin-theme] .typecho-pager li span,
:root[data-admin-theme] .typecho-page-nav a,
:root[data-admin-theme] .typecho-page-nav span {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 32px; height: 32px; padding: 0 10px;
    border: 1px solid var(--at-border); border-radius: var(--at-radius-sm);
    color: var(--at-text); background: var(--at-bg-surface); text-decoration: none;
}
:root[data-admin-theme] .typecho-pager li.current a,
:root[data-admin-theme] .typecho-pager li a:hover,
:root[data-admin-theme] .typecho-page-nav .current,
:root[data-admin-theme] .typecho-page-nav a:hover { color: var(--at-accent); border-color: var(--at-accent); }

/* =========================================================
   窄屏（<=900px）：侧栏复位为顶部导航，抽屉态不隐藏
   ========================================================= */
@media (max-width: 900px) {
    :root[data-admin-theme] .typecho-head-nav {
        position: sticky;
        left: auto; top: 0; bottom: auto; right: auto;
        width: 100%; height: auto;
        flex-flow: row; transform: none !important;
        overflow: visible; border-right: none;
        border-bottom: 1px solid var(--at-border); z-index: 200;
        background: var(--at-bg-surface) !important;
    }
    :root[data-admin-theme].at-collapsed .typecho-head-nav { transform: none !important; }
    :root[data-admin-theme] .typecho-head-nav nav { width: 100%; overflow: visible; background: transparent !important; }
    :root[data-admin-theme] .typecho-head-nav nav > menu { flex-flow: row; align-items: center; padding: 0; overflow-x: auto; background: transparent !important; }
    :root[data-admin-theme] .typecho-head-nav nav > menu > li { position: relative; background: transparent !important; }
    :root[data-admin-theme] .typecho-head-nav nav > menu > li > a {
        padding: 0 16px; height: 46px; line-height: 46px;
        font-size: 15px; font-weight: 600; text-transform: none; letter-spacing: 0;
        color: var(--at-text) !important; background: transparent !important;
    }
    :root[data-admin-theme] .typecho-head-nav nav > menu > li > a .at-chev { display: none; }
    :root[data-admin-theme] .typecho-head-nav nav > menu > li > a:hover { background: var(--at-bg-hover) !important; }
    :root[data-admin-theme] .typecho-head-nav nav > menu > li.focus:not(.operate) > a { background: var(--at-bg-active) !important; color: var(--at-accent) !important; }
    :root[data-admin-theme] .typecho-head-nav nav > menu > li menu {
        position: absolute !important; display: none !important;
        flex-flow: column; top: 46px; left: 0;
        min-width: 190px; background: var(--at-bg-surface) !important;
        border: 1px solid var(--at-border) !important;
        border-radius: 0 0 var(--at-radius) var(--at-radius);
        box-shadow: 0 8px 22px rgba(0, 0, 0, .08); padding: 6px 0; z-index: 250;
    }
    :root[data-admin-theme] .typecho-head-nav nav > menu > li:hover menu,
    :root[data-admin-theme] .typecho-head-nav nav > menu > li:focus-within menu { display: flex !important; }
    :root[data-admin-theme] .typecho-head-nav nav > menu > li menu > li > a { padding: 11px 16px; border-radius: 0; font-size: 15px; }
    :root[data-admin-theme] .typecho-head-nav nav > menu > li.operate { flex-flow: row; border-top: none !important; margin-top: 0; margin-left: auto; }
    :root[data-admin-theme] .typecho-head-nav nav > menu > li.operate a { height: 46px; line-height: 46px; padding: 0 12px; font-size: 15px; }
    :root[data-admin-theme] .main { margin-left: 0; border-left: none; padding: 18px 16px 32px; }
    :root[data-admin-theme] .at-menu-btn { display: none !important; }
}

/* =========================================================
   后台登录页（admin/login.php）专属皮肤
   全屏背景图 + 玻璃质感浮动卡片（参考 Tinyauth，精致化）
   零侵入：仅 CSS，通过 admin/header.php 钩子注入
   背景图可通过插件设置「登录页背景图 URL」或 CSS 变量 --at-login-bg 自定义
   ========================================================= */

/* 全屏背景图 + 暗遮罩 */
:root[data-admin-theme] body.body-100 {
    background-color: #2d3a36;
    background-image:
        linear-gradient(rgba(15, 23, 21, .38), rgba(15, 23, 21, .28)),
        var(--at-login-bg,
            linear-gradient(135deg, #15392e 0%, #245a45 28%, #356b54 52%, #244a3a 76%, #16352a 100%)
        );
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    min-height: 100vh;
}

/* 全屏居中容器 */
:root[data-admin-theme] .typecho-login-wrap {
    min-height: 100vh;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    box-sizing: border-box;
    background: transparent;
}

/* ====== 浮动卡片（清晰版：实白底 + 利落描边 + 强对比） ====== */
:root[data-admin-theme] .typecho-login {
    width: 100%;
    max-width: 380px;
    background: #ffffff;
    border: 1px solid rgba(16, 24, 32, .10);
    border-radius: 16px;
    padding: 44px 38px 36px;
    box-shadow:
        0 24px 60px rgba(0, 0, 0, .38),
        0 6px 16px rgba(0, 0, 0, .14),
        inset 0 1px 0 rgba(255, 255, 255, .9);
    box-sizing: border-box;
    animation: at-login-in .5s cubic-bezier(.22, 1, .36, 1) both;
}
@keyframes at-login-in {
    from { opacity: 0; transform: translateY(16px) scale(.98); }
    to   { opacity: 1; transform: none; }
}

/* 品牌 logo：渐变圆角徽标 + 文字 */
:root[data-admin-theme] .typecho-login h1 {
    margin: -10px 0 8px;
    text-align: center;
}
:root[data-admin-theme] .typecho-login h1 a.i-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    /* 覆盖 Typecho 原生 .i-logo 的“SVG 图片 + 文字隐藏 + 15% 透明”设定，
       否则 font-size 只作用于被 text-indent 推走、opacity:.15 的隐形文字，完全看不出变化 */
    width: auto;
    height: auto;
    background: none;
    text-indent: 0;
    opacity: 1;
    font-family: var(--at-font);
    font-size: 21px;
    font-weight: 700;
    letter-spacing: .02em;
    color: #14201c;
    text-decoration: none;
}
:root[data-admin-theme] .typecho-login h1 a.i-logo::after {
    content: "欢迎回来，请登录";
    display: block;
    margin-top: 9px;
    font-size: 13.5px;
    font-weight: 400;
    letter-spacing: .02em;
    color: #6f7975;
}

/* 表单段落间距 */
:root[data-admin-theme] .typecho-login form p { margin: 0 0 16px; }
/* 记住我与登录按钮之间拉开间距（按钮在 DOM 中位于记住我上方，间距应加在按钮下方；不依赖 :has，兼容性更好） */
:root[data-admin-theme] .typecho-login form p.submit { margin: 20px 0 20px; }

/* 标签文字 */
:root[data-admin-theme] .typecho-login form label {
    display: block;
    margin-bottom: 7px;
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: .02em;
    color: #28302d;
}

/* 输入框：实白底 + 清晰边框，聚焦精致光晕 */
:root[data-admin-theme] .typecho-login input.text-l.w-100 {
    width: 100%;
    height: 46px;
    padding: 10px 15px;
    border: 1px solid #c8cfcc;
    border-radius: 11px;
    background: #fff;
    color: #161b19;
    font-family: var(--at-font);
    font-size: 14px;
    box-sizing: border-box;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
:root[data-admin-theme] .typecho-login input.text-l.w-100:hover {
    border-color: #b4bdbc;
}
:root[data-admin-theme] .typecho-login input.text-l.w-100:focus {
    outline: none;
    border-color: var(--at-accent);
    box-shadow: 0 0 0 4px var(--at-accent-soft, rgba(64,128,224,.14)), 0 1px 3px rgba(0,0,0,.06);
    transform: translateY(-1px);
}
:root[data-admin-theme] .typecho-login input.text-l.w-100::placeholder {
    color: #99a19d;
}

/* 登录按钮：深色实心 + 精致阴影 + 悬浮微抬 */
:root[data-admin-theme] .typecho-login button.btn.btn-l.w-100.primary {
    width: 100%;
    height: 48px;
    border: none;
    border-radius: 11px;
    background: linear-gradient(180deg, #2b2f2d 0%, #181c1a 100%);
    color: #fff;
    font-family: var(--at-font);
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .04em;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .22);
    transition: background .2s ease, transform .12s ease, box-shadow .2s ease;
}
:root[data-admin-theme] .typecho-login button.btn.btn-l.w-100.primary:hover {
    background: linear-gradient(180deg, #353b38 0%, #222725 100%);
    box-shadow: 0 7px 20px rgba(0, 0, 0, .28);
    transform: translateY(-1px);
}
:root[data-admin-theme] .typecho-login button.btn.btn-l.w-100.primary:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(0, 0, 0, .22);
}

/* 记住我 */
:root[data-admin-theme] .typecho-login p label[for="remember"] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #4a524f;
    font-size: 13px;
    cursor: pointer;
}
:root[data-admin-theme] .typecho-login p input.checkbox {
    width: 16px; height: 16px;
    accent-color: var(--at-accent);
}

/* 底部链接 */
:root[data-admin-theme] .typecho-login .more-link {
    margin-top: 22px;
    text-align: center;
    font-size: 13px;
    color: #7e8783;
}
:root[data-admin-theme] .typecho-login .more-link a {
    color: #5a635f;
    text-decoration: none;
    font-weight: 500;
}
:root[data-admin-theme] .typecho-login .more-link a:hover {
    color: #3a433f;
    text-decoration: underline;
}
