/* ===== 账号体系：登录 / 注册 / 个人资料 / 管理后台 ===== */
.auth-boot{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:#f8faff;color:#4b5563}
.auth-boot-mark{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6d82ff,#4d6bfe 55%,#3b5bfd);color:#fff;box-shadow:0 12px 32px rgba(77,107,254,.26)}
.auth-boot-mark svg{width:28px;height:28px}
.auth-boot-text{font-size:.86rem;letter-spacing:.06em}

.auth-page{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:3rem 1.5rem;overflow:hidden;background:#f8faff}
.auth-card{position:relative;width:100%;max-width:420px;background:#fff;border:1px solid #e3e8f5;border-radius:16px;padding:2.1rem 2rem;box-shadow:0 20px 50px rgba(37,55,115,.12)}
.auth-main{padding:0;display:flex;flex-direction:column;justify-content:center}
.auth-head h2{font-size:1.22rem;font-weight:650;letter-spacing:.01em;color:#1a1916}
.auth-head p{margin-top:.4rem;font-size:.82rem;color:#8b857c}
.auth-form{margin-top:1.5rem;display:flex;flex-direction:column;gap:.95rem}
.auth-field{display:flex;flex-direction:column;gap:.42rem;min-width:0}
.auth-label{font-size:.78rem;font-weight:600;color:#57534e;letter-spacing:.02em}
.auth-label em{color:#4d6bfe;font-style:normal}
.auth-input{width:100%;min-width:0;height:42px;padding:0 .85rem;border:1px solid #dfe5f2;border-radius:10px;background:#fbfcff;font-size:.88rem;color:#111827;font-family:inherit;transition:border-color .18s,box-shadow .18s,background .18s}
.auth-input:focus{outline:none;border-color:#4d6bfe;background:#fff;box-shadow:0 0 0 3px rgba(77,107,254,.14)}
.auth-input-code{letter-spacing:.18em;font-family:"Cascadia Code",Consolas,monospace;text-transform:uppercase}
.auth-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.9rem}
.auth-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.79rem;color:#74716b}
.auth-check{display:flex;align-items:center;gap:.45rem;cursor:pointer;user-select:none}
.auth-check input{accent-color:#4d6bfe;width:15px;height:15px}
.auth-hint{color:#989590}
.auth-alert{padding:.62rem .85rem;border-radius:10px;background:#fdf1ee;border:1px solid #f2d3c9;color:#9c2a25;font-size:.82rem}
.auth-notice{padding:.7rem .9rem;border-radius:10px;background:#eef3fa;border:1px solid #d5e2f2;color:#1f3a5f;font-size:.82rem;line-height:1.6}
.auth-submit{margin-top:.15rem;height:44px;border:none;border-radius:10px;background:linear-gradient(135deg,#5b73ff,#4d6bfe);color:#fff;font-size:.9rem;font-weight:600;letter-spacing:.04em;cursor:pointer;font-family:inherit;transition:background .18s,box-shadow .18s}
.auth-submit:hover:not(:disabled){background:#3b5bfd;box-shadow:0 8px 20px rgba(77,107,254,.24)}
.auth-submit:disabled{opacity:.65;cursor:default}
.auth-switch{margin-top:.35rem;text-align:center;font-size:.82rem;color:#74716b}
.auth-switch a{color:#4d6bfe;font-weight:600;text-decoration:none;margin-left:.2rem}
.auth-switch a:hover{text-decoration:underline}
;/* ---- 登录页：科技感动态背景 ---- */
.auth-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.auth-bg-space{position:absolute;inset:0;background:radial-gradient(120% 84% at 15% 6%,#fef6ec 0%,rgba(254,246,236,0) 62%),radial-gradient(104% 76% at 88% 14%,#f9d9b6 0%,rgba(249,217,182,0) 66%),radial-gradient(132% 94% at 54% 114%,#f3bd90 0%,rgba(243,189,144,0) 62%),linear-gradient(158deg,#fdf4ea 0%,#fbe7d1 40%,#f6d3ae 72%,#f1c49a 100%)}
.auth-bg-band{position:absolute;left:-30%;top:24%;width:162%;height:44%;transform:rotate(-19deg);background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.34) 24%,rgba(255,253,247,.56) 50%,rgba(255,255,255,.31) 76%,rgba(255,255,255,0) 100%);filter:blur(40px);animation:authBand 34s ease-in-out infinite}
.auth-bg-neb{position:absolute;border-radius:50%;filter:blur(80px)}
.auth-bg-neb--a{width:660px;height:540px;top:-170px;left:-160px;background:radial-gradient(circle,rgba(246,178,120,.42),transparent 68%);animation:authOrbA 20s ease-in-out infinite}
.auth-bg-neb--b{width:620px;height:520px;right:-180px;top:-130px;background:radial-gradient(circle,rgba(238,146,96,.30),transparent 68%);animation:authOrbB 24s ease-in-out infinite}
.auth-bg-neb--c{width:720px;height:580px;right:-130px;bottom:-230px;background:radial-gradient(circle,rgba(252,214,166,.45),transparent 68%);animation:authOrbA 27s ease-in-out infinite reverse}
.auth-bg-stars{position:absolute;inset:-560px;background-repeat:repeat}
.auth-bg-stars--far{background-image:radial-gradient(circle at 17.69% 57.75%,rgba(255,255,255,0.62) 0 1.16px,rgba(255,255,255,0.21) 1.76px,transparent 3.69px),radial-gradient(circle at 51.05% 75.17%,rgba(255,255,255,0.62) 0 1.17px,rgba(255,255,255,0.21) 1.77px,transparent 2.75px),radial-gradient(circle at 28.86% 67.23%,rgba(232,168,116,0.4) 0 0.7px,rgba(232,168,116,0.14) 1.3px,transparent 1.7px),radial-gradient(circle at 5.56% 86.14%,rgba(255,255,255,0.68) 0 1.01px,rgba(255,255,255,0.23) 1.61px,transparent 3.4px),radial-gradient(circle at 23.52% 85.23%,rgba(201,140,90,0.3) 0 0.84px,rgba(201,140,90,0.1) 1.44px,transparent 2.22px),radial-gradient(circle at 71.9% 84.94%,rgba(255,255,255,0.39) 0 1.11px,rgba(255,255,255,0.13) 1.71px,transparent 3.61px),radial-gradient(circle at 62.42% 76.01%,rgba(255,255,255,0.67) 0 0.88px,rgba(255,255,255,0.23) 1.48px,transparent 2.89px),radial-gradient(circle at 33.09% 51.08%,rgba(201,140,90,0.3) 0 0.72px,rgba(201,140,90,0.1) 1.32px,transparent 1.59px),radial-gradient(circle at 42.12% 64.38%,rgba(255,255,255,0.67) 0 1.02px,rgba(255,255,255,0.23) 1.62px,transparent 2.3px),radial-gradient(circle at 93.57% 40.79%,rgba(255,255,255,0.65) 0 1.13px,rgba(255,255,255,0.22) 1.73px,transparent 3.67px),radial-gradient(circle at 18.24% 2.98%,rgba(255,255,255,0.54) 0 1.23px,rgba(255,255,255,0.18) 1.83px,transparent 3.43px),radial-gradient(circle at 64.45% 30.12%,rgba(255,255,255,0.63) 0 1.02px,rgba(255,255,255,0.21) 1.62px,transparent 2.87px),radial-gradient(circle at 82.34% 31.02%,rgba(255,255,255,0.63) 0 1.06px,rgba(255,255,255,0.21) 1.66px,transparent 3.36px),radial-gradient(circle at 64.2% 8.55%,rgba(201,140,90,0.3) 0 0.79px,rgba(201,140,90,0.1) 1.39px,transparent 2.2px),radial-gradient(circle at 41.62% 26.37%,rgba(255,255,255,0.36) 0 0.74px,rgba(255,255,255,0.12) 1.34px,transparent 2.03px),radial-gradient(circle at 93.63% 80.09%,rgba(255,255,255,0.38) 0 1.1px,rgba(255,255,255,0.13) 1.7px,transparent 2.69px),radial-gradient(circle at 12.05% 45.95%,rgba(232,168,116,0.32) 0 1.12px,rgba(232,168,116,0.11) 1.72px,transparent 3.14px),radial-gradient(circle at 33.1% 72.63%,rgba(201,140,90,0.3) 0 0.87px,rgba(201,140,90,0.1) 1.47px,transparent 2.06px),radial-gradient(circle at 44.81% 9.38%,rgba(255,255,255,0.32) 0 1.16px,rgba(255,255,255,0.11) 1.76px,transparent 3.82px),radial-gradient(circle at 24.19% 39.93%,rgba(232,168,116,0.35) 0 1.07px,rgba(232,168,116,0.12) 1.67px,transparent 3.15px),radial-gradient(circle at 82.78% 64.29%,rgba(255,255,255,0.7) 0 1.04px,rgba(255,255,255,0.24) 1.64px,transparent 3.06px),radial-gradient(circle at 53.53% 80.98%,rgba(201,140,90,0.3) 0 0.92px,rgba(201,140,90,0.1) 1.52px,transparent 2.43px),radial-gradient(circle at 34.61% 32.84%,rgba(232,168,116,0.32) 0 0.84px,rgba(232,168,116,0.11) 1.44px,transparent 2.01px),radial-gradient(circle at 20.33% 49.86%,rgba(232,168,116,0.37) 0 0.97px,rgba(232,168,116,0.13) 1.57px,transparent 2.27px),radial-gradient(circle at 47.55% 38.39%,rgba(255,255,255,0.73) 0 1.02px,rgba(255,255,255,0.25) 1.62px,transparent 3.41px),radial-gradient(circle at 30.31% 31.0%,rgba(255,255,255,0.5) 0 1.2px,rgba(255,255,255,0.17) 1.8px,transparent 3.14px),radial-gradient(circle at 97.62% 69.91%,rgba(232,168,116,0.32) 0 1.16px,rgba(232,168,116,0.11) 1.76px,transparent 2.62px),radial-gradient(circle at 29.54% 95.92%,rgba(232,168,116,0.36) 0 0.86px,rgba(232,168,116,0.12) 1.46px,transparent 2.57px),radial-gradient(circle at 2.82% 84.64%,rgba(255,255,255,0.41) 0 0.88px,rgba(255,255,255,0.14) 1.48px,transparent 2.37px),radial-gradient(circle at 94.62% 70.7%,rgba(232,168,116,0.38) 0 0.77px,rgba(232,168,116,0.13) 1.37px,transparent 2.61px);background-size:460px 460px;opacity:.64;animation:authDriftA 120s linear infinite}
.auth-bg-stars--near{background-image:radial-gradient(circle at 60.26% 19.59%,rgba(255,255,255,0.63) 0 1.81px,rgba(255,255,255,0.21) 2.41px,transparent 5.28px),radial-gradient(circle at 64.39% 45.44%,rgba(250,214,172,0.62) 0 1.51px,rgba(250,214,172,0.21) 2.11px,transparent 5.11px),radial-gradient(circle at 78.62% 60.24%,rgba(255,255,255,0.58) 0 1.89px,rgba(255,255,255,0.2) 2.49px,transparent 4.66px),radial-gradient(circle at 53.16% 6.64%,rgba(224,158,106,0.37) 0 1.85px,rgba(224,158,106,0.13) 2.45px,transparent 4.92px),radial-gradient(circle at 81.53% 66.02%,rgba(255,255,255,0.54) 0 1.68px,rgba(255,255,255,0.18) 2.28px,transparent 5.38px),radial-gradient(circle at 23.07% 23.25%,rgba(224,158,106,0.33) 0 1.58px,rgba(224,158,106,0.11) 2.18px,transparent 4.79px),radial-gradient(circle at 9.11% 14.21%,rgba(224,158,106,0.41) 0 1.77px,rgba(224,158,106,0.14) 2.37px,transparent 5.24px),radial-gradient(circle at 84.06% 32.62%,rgba(250,214,172,0.69) 0 1.92px,rgba(250,214,172,0.23) 2.52px,transparent 5.54px),radial-gradient(circle at 26.01% 74.51%,rgba(255,255,255,0.72) 0 2.01px,rgba(255,255,255,0.24) 2.61px,transparent 4.71px),radial-gradient(circle at 18.23% 57.96%,rgba(224,158,106,0.39) 0 2.03px,rgba(224,158,106,0.13) 2.63px,transparent 6.27px),radial-gradient(circle at 43.11% 27.29%,rgba(255,255,255,0.58) 0 1.91px,rgba(255,255,255,0.2) 2.51px,transparent 4.72px),radial-gradient(circle at 3.71% 9.96%,rgba(250,214,172,0.55) 0 1.58px,rgba(250,214,172,0.19) 2.18px,transparent 4.58px),radial-gradient(circle at 96.13% 44.15%,rgba(255,255,255,0.49) 0 1.59px,rgba(255,255,255,0.17) 2.19px,transparent 4.92px);background-size:700px 700px;opacity:.80;animation:authDriftB 80s linear infinite}
.auth-bg-vignette{position:absolute;inset:0;background:radial-gradient(134% 106% at 50% 48%,transparent 58%,rgba(196,132,84,.16) 100%)}
@keyframes authDriftA{from{transform:translate3d(0,0,0)}to{transform:translate3d(-460px,-460px,0)}}
@keyframes authDriftB{from{transform:translate3d(0,0,0)}to{transform:translate3d(-700px,-700px,0)}}
@keyframes authOrbA{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(64px,-34px,0) scale(1.1)}}
@keyframes authOrbB{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-70px,42px,0) scale(1.06)}}
@keyframes authBand{0%,100%{transform:rotate(-19deg) translate3d(0,0,0)}50%{transform:rotate(-19deg) translate3d(-38px,14px,0)}}
.auth-stage{position:relative;z-index:1;width:min(1120px,100%);display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:7.6rem;align-items:stretch}
.auth-intro{position:relative;display:flex;flex-direction:column;justify-content:center;gap:.76rem;padding-right:3.6rem;padding-bottom:2.9rem;color:#7A5236}
.auth-intro-brand{display:flex;flex-direction:column;align-items:center;gap:.62rem;margin-bottom:.86rem}
.auth-intro-logo{display:flex;align-items:center;justify-content:center;color:#C96442}
.auth-intro-logo svg{width:128px;height:128px}
.auth-intro-name{font-size:2.42rem;font-weight:650;letter-spacing:.005em;color:#5E3E29}
.auth-intro-eyebrow{font-size:.82rem;font-weight:600;letter-spacing:.012em;color:#C96442;text-align:center;line-height:1.6}
.auth-intro-line{font-size:1.54rem;font-weight:500;line-height:1.5;color:#6B4A33;text-align:center}
.auth-intro-marks{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.34rem .95rem;margin-top:.95rem;font-size:.76rem;color:#9A7455;letter-spacing:.01em}
.auth-intro-mark{display:inline-flex;align-items:center;gap:.42rem;white-space:nowrap}
.auth-intro-mark::before{content:"";width:5px;height:5px;border-radius:50%;background:#C96442;opacity:.85;flex:0 0 auto}
.auth-intro-mark b{font-weight:700;color:#6B4A33}
.auth-intro-slogan{position:absolute;left:0;right:3.6rem;bottom:0;text-align:center;font-family:Georgia,"Times New Roman","Songti SC",serif;font-size:1.08rem;font-weight:600;letter-spacing:.34em;text-indent:.34em;line-height:1.2;color:#A9714A;white-space:nowrap}

/* 大屏：右侧登录卡片保持整页垂直居中，左侧文字上移 60px */

@media (prefers-reduced-motion:reduce){.auth-bg-band,.auth-bg-neb,.auth-bg-stars{animation:none}}
@media (max-width:1030px){.auth-stage{gap:5rem}.auth-intro{padding-right:2.4rem}.auth-intro-slogan{right:2.4rem}}
@media (max-width:980px){.auth-stage{grid-template-columns:minmax(0,1fr);gap:2rem;max-width:440px;justify-items:center}.auth-intro{align-items:center;text-align:center;padding-right:0}.auth-intro-brand{align-items:center}.auth-intro-line{font-size:1.22rem}.auth-intro-eyebrow{font-size:.78rem;letter-spacing:.012em}.auth-intro-logo svg{width:96px;height:96px}.auth-intro-name{font-size:1.9rem}.auth-intro-slogan{position:static;right:auto;margin-top:1.6rem;text-align:center}.auth-grid{grid-template-columns:minmax(0,1fr)}}

/* 顶栏右侧账号菜单 */
.db-user-menu-wrap{position:relative;margin-left:auto;flex-shrink:0}
.db-user-chip{display:flex;align-items:center;gap:.5rem;height:32px;max-width:190px;padding:0 .6rem 0 .32rem;border:1px solid #e3e0d8;border-radius:999px;background:rgba(255,255,255,.86);color:#2b2320;font-size:.8rem;font-weight:600;cursor:pointer;font-family:inherit;transition:border-color .18s,background .18s}
.db-user-chip:hover{border-color:#d7c4b5;background:#fff}
.db-user-avatar{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1f2a38,#1f3a5f);color:#fff;font-size:.74rem;font-weight:700;flex-shrink:0}
.db-user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.db-user-chevron{width:13px;height:13px;color:#989590;flex-shrink:0}
.db-user-menu{position:absolute;right:0;top:calc(100% + 8px);width:238px;background:#fff;border:1px solid #e3e0d8;border-radius:14px;box-shadow:0 22px 48px rgba(26,25,22,.16);padding:.4rem;z-index:1200}
.db-user-menu-head{padding:.7rem .8rem .6rem;border-bottom:1px solid #f1ece8;margin-bottom:.35rem}
.db-user-menu-name{font-size:.87rem;font-weight:700;color:#1a1916}
.db-user-menu-mail{font-size:.74rem;color:#989590;margin-top:2px;word-break:break-all}
.db-user-menu-role{display:inline-block;margin-top:.45rem;padding:.14rem .5rem;border-radius:999px;background:#eef3fa;color:#1f3a5f;font-size:.68rem;font-weight:700}
.db-user-menu-item{display:flex;align-items:center;gap:.55rem;width:100%;padding:.55rem .7rem;border:none;background:transparent;border-radius:9px;font-size:.83rem;color:#2b2320;cursor:pointer;text-align:left;font-family:inherit;transition:background .15s}
.db-user-menu-item:hover{background:#f6f2ee}
.db-user-menu-item svg{width:15px;height:15px}
.db-user-menu-sep{height:1px;background:#f1ece8;margin:.3rem .2rem}
.db-user-menu-danger:hover{background:#fdf1ee;color:#9c2a25}
.db-app.dark .db-user-chip{background:rgba(36,29,25,.9);border-color:#3a312b;color:#f2ece7}
.db-app.dark .db-user-menu{background:#241d19;border-color:#3a312b}
.db-app.dark .db-user-menu-name{color:#f2ece7}
.db-app.dark .db-user-menu-mail{color:#989590}
.db-app.dark .db-user-menu-item{color:#e6e2dd}
.db-app.dark .db-user-menu-item:hover{background:#2f2722}
.db-app.dark .db-user-menu-head{border-color:#3a312b}
.db-app.dark .db-user-menu-sep{background:#3a312b}

/* 个人资料 */
.account-page{max-width:1080px;margin:0 auto;padding:2rem 1.5rem 3rem}
.account-page .pf-hero{display:flex;align-items:center;gap:1.1rem;padding:1.5rem 1.6rem;border:1px solid #e3e0d8;border-radius:18px;background:linear-gradient(140deg,#1f2a38 0%,#182130 55%,#12161d 100%);color:#eef2f7;box-shadow:0 18px 40px rgba(18,22,29,.22)}
.account-page .pf-avatar{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.35rem;font-weight:700;background:linear-gradient(135deg,#b45a3b,#8f4631);color:#fff;flex-shrink:0;box-shadow:0 10px 24px rgba(0,0,0,.3)}
.account-page .pf-hero-main{min-width:0}
.account-page .pf-hero-name{font-size:1.2rem;font-weight:700}
.account-page .pf-hero-meta{margin-top:.35rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;font-size:.8rem;color:#a9b8c9}
.account-page .pf-tag{padding:.12rem .5rem;border-radius:999px;background:rgba(255,255,255,.12);color:#dbe6f1;font-size:.7rem;font-weight:700}
.account-page .pf-tag-admin{background:rgba(201,100,66,.24);color:#ffd9c9}
.account-page .pf-admin-btn{margin-left:auto;height:34px;padding:0 1rem;border:1px solid rgba(255,255,255,.24);border-radius:10px;background:rgba(255,255,255,.08);color:#eef2f7;font-size:.82rem;font-weight:600;cursor:pointer;font-family:inherit;transition:background .18s}
.account-page .pf-admin-btn:hover{background:rgba(255,255,255,.16)}
.account-page .pf-grid{margin-top:1.2rem;display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.account-page .pf-card{border:1px solid #e3e0d8;border-radius:16px;background:#fff;padding:1.4rem 1.5rem}
.account-page .pf-card-wide{margin-top:1.2rem}
.account-page .pf-card-title{font-size:1rem;font-weight:700;color:#1a1916}
.account-page .pf-card-sub{margin-top:.35rem;font-size:.82rem;color:#74716b;line-height:1.65}
.account-page .pf-field{display:flex;flex-direction:column;gap:.4rem;margin-top:1rem}
.account-page .pf-label{font-size:.78rem;font-weight:600;color:#57534e}
.account-page .pf-input{height:42px;padding:0 .85rem;border:1px solid #e1ddd4;border-radius:10px;background:#fdfcfa;font-size:.88rem;color:#1a1916;font-family:inherit}
.account-page .pf-input:focus{outline:none;border-color:#1f3a5f;background:#fff;box-shadow:0 0 0 4px rgba(31,58,95,.10)}
.account-page .pf-input:disabled{background:#f4f2ee;color:#989590;cursor:not-allowed}
.account-page .pf-actions{margin-top:1.2rem;display:flex;justify-content:flex-end}
.account-page .pf-btn-primary{height:40px;padding:0 1.2rem;border:none;border-radius:10px;background:linear-gradient(135deg,#b45a3b,#8f4631);color:#fff;font-size:.86rem;font-weight:600;cursor:pointer;font-family:inherit;transition:box-shadow .18s,transform .15s}
.account-page .pf-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 22px rgba(180,90,59,.26)}
.account-page .pf-btn-primary:disabled{opacity:.65;cursor:default}
.account-page .pf-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1.1rem}
.account-page .pf-info-grid>div{display:flex;flex-direction:column;gap:.3rem;padding:.85rem .95rem;border-radius:12px;background:#faf8f5;border:1px solid #efeae3}
.account-page .pf-info-grid span{font-size:.74rem;color:#989590}
.account-page .pf-info-grid strong{font-size:.86rem;color:#1a1916;font-weight:600;word-break:break-all}

/* 管理后台 */
.ad-page{max-width:1200px;margin:0 auto;padding:2rem 1.5rem 3rem}
.ad-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:1.2rem;flex-wrap:wrap;padding-bottom:1.1rem;border-bottom:1px solid #e3e0d8}
.ad-hero-lead{display:flex;align-items:center;gap:.9rem}
.ad-hero-mark{width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:linear-gradient(140deg,#1f2a38,#12161d);color:#fff}
.ad-hero-mark svg{width:22px;height:22px}
.ad-hero-title{font-size:1.25rem;font-weight:700;color:#1a1916}
.ad-hero-sub{margin-top:.2rem;font-size:.82rem;color:#74716b}
.ad-tabs{display:flex;align-items:center;gap:.35rem}
.ad-tabs button{height:34px;padding:0 .95rem;border:1px solid transparent;border-radius:9px;background:transparent;color:#57534e;font-size:.84rem;font-weight:600;cursor:pointer;font-family:inherit;transition:background .16s,color .16s}
.ad-tabs button:hover{background:#f4f1ec}
.ad-tabs button.active{background:#1f2a38;color:#fff}
.ad-tabs .ad-tab-refresh{margin-left:.4rem;border-color:#e3e0d8}
.ad-body{margin-top:1.4rem;display:flex;flex-direction:column;gap:1.2rem}
.ad-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem}
.ad-card{border:1px solid #e3e0d8;border-radius:16px;background:#fff;padding:1.2rem 1.3rem}
.ad-card-label{font-size:.78rem;color:#74716b;font-weight:600}
.ad-card-value{margin-top:.5rem;font-size:1.6rem;font-weight:700;color:#1f2a38;letter-spacing:-.01em}
.ad-card-foot{margin-top:.45rem;font-size:.76rem;color:#989590}
.ad-block{border:1px solid #e3e0d8;border-radius:16px;background:#fff;padding:1.3rem 1.4rem}
.ad-block-title{font-size:.98rem;font-weight:700;color:#1a1916}
.ad-block-sub{margin-top:.4rem;font-size:.82rem;color:#74716b;line-height:1.7}
.ad-block-sub code,.ad-block-title code{background:#f4f1ec;border-radius:5px;padding:.05rem .32rem;font-family:"Cascadia Code",Consolas,monospace;font-size:.78rem}
.ad-btn-primary{margin-top:1rem;height:38px;padding:0 1.1rem;border:none;border-radius:10px;background:linear-gradient(135deg,#b45a3b,#8f4631);color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;font-family:inherit}
.ad-btn-primary:hover{box-shadow:0 10px 22px rgba(180,90,59,.24)}
.ad-form-row{margin-top:1rem;display:flex;flex-wrap:wrap;align-items:flex-end;gap:.85rem}
.ad-field{display:flex;flex-direction:column;gap:.35rem}
.ad-field span{font-size:.76rem;color:#74716b;font-weight:600}
.ad-field input{height:38px;width:150px;padding:0 .7rem;border:1px solid #e1ddd4;border-radius:9px;background:#fdfcfa;font-size:.85rem;color:#1a1916;font-family:inherit}
.ad-field input:focus{outline:none;border-color:#1f3a5f;box-shadow:0 0 0 3px rgba(31,58,95,.10)}
.ad-field-wide input{width:230px}
.ad-created{margin-top:1.1rem;padding-top:1rem;border-top:1px dashed #e3e0d8}
.ad-created-title{font-size:.78rem;color:#74716b;font-weight:600}
.ad-chips{margin-top:.6rem;display:flex;flex-wrap:wrap;gap:.45rem}
.ad-chip{padding:.32rem .7rem;border-radius:999px;background:#eef3fa;color:#1f3a5f;font-size:.78rem;font-weight:700;letter-spacing:.04em;border:1px solid #dbe6f4}
.ad-chip-empty{background:#f4f1ec;color:#989590;border-color:#e8e3da;font-weight:600}
.ad-chip-btn{cursor:pointer;font-family:inherit}
.ad-chip-btn:hover{background:#dfeaf8}
.ad-code{margin-top:.8rem;padding:.9rem 1rem;border-radius:12px;background:#12161d;color:#d9e2ec;font-family:"Cascadia Code",Consolas,monospace;font-size:.78rem;line-height:1.75;overflow-x:auto}
.ad-table-wrap{border:1px solid #e3e0d8;border-radius:16px;background:#fff;overflow:auto}
.ad-table{width:100%;border-collapse:collapse;font-size:.83rem}
.ad-table th{position:sticky;top:0;background:#faf8f5;color:#57534e;font-weight:600;text-align:left;padding:.72rem .9rem;border-bottom:1px solid #e3e0d8;white-space:nowrap}
.ad-table td{padding:.72rem .9rem;border-bottom:1px solid #f1ece8;color:#1a1916;vertical-align:middle}
.ad-table tr:last-child td{border-bottom:none}
.ad-row-off td{opacity:.55}
.ad-mono{font-family:"Cascadia Code",Consolas,monospace;font-size:.76rem;color:#57534e;white-space:nowrap}
.ad-user-cell{display:flex;align-items:center;gap:.6rem}
.ad-user-avatar{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1f2a38,#1f3a5f);color:#fff;font-size:.8rem;font-weight:700;flex-shrink:0}
.ad-user-email{font-weight:600}
.ad-user-id{font-size:.7rem;color:#989590;font-family:"Cascadia Code",Consolas,monospace}
.ad-me{margin-left:.35rem;padding:.06rem .4rem;border-radius:999px;background:#eef3fa;color:#1f3a5f;font-size:.66rem;font-weight:700}
.ad-badge{display:inline-block;padding:.16rem .55rem;border-radius:999px;background:#f1ece8;color:#57534e;font-size:.72rem;font-weight:700;white-space:nowrap}
.ad-badge-admin{background:#eef3fa;color:#1f3a5f}
.ad-badge-off{background:#fdf1ee;color:#9c2a25}
.ad-col-ops{white-space:nowrap;text-align:right}
.ad-op{margin-left:.3rem;padding:.28rem .6rem;border:1px solid #e3e0d8;border-radius:8px;background:#fff;color:#57534e;font-size:.75rem;cursor:pointer;font-family:inherit;transition:background .15s,color .15s,border-color .15s}
.ad-op:hover:not(:disabled){background:#f6f2ee;color:#1a1916}
.ad-op:disabled{opacity:.45;cursor:default}
.ad-op-danger:hover:not(:disabled){background:#fdf1ee;color:#9c2a25;border-color:#f2d3c9}
.ad-code-btn{padding:.2rem .5rem;border:1px dashed #cfd9e6;border-radius:8px;background:#f7fafd;color:#1f3a5f;font-family:"Cascadia Code",Consolas,monospace;font-size:.78rem;letter-spacing:.06em;cursor:pointer}
.ad-empty{padding:2rem;text-align:center;color:#989590}
.ad-modal-mask{position:fixed;inset:0;background:rgba(26,25,22,.42);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:1.5rem}
.ad-modal{width:min(430px,100%);background:#fff;border-radius:16px;padding:1.5rem 1.6rem;box-shadow:0 30px 70px rgba(26,25,22,.3)}
.ad-modal-title{font-size:1.05rem;font-weight:700;color:#1a1916}
.ad-modal-sub{margin-top:.55rem;font-size:.84rem;color:#57534e;line-height:1.7}
.ad-modal-code{margin-top:1rem;padding:.85rem 1rem;border-radius:12px;background:#12161d;color:#ffd9c9;font-family:"Cascadia Code",Consolas,monospace;font-size:1rem;letter-spacing:.1em;text-align:center;cursor:pointer}
.ad-modal-actions{margin-top:1.2rem;display:flex;justify-content:flex-end;gap:.5rem;align-items:center}
.ad-modal-actions .ad-btn-primary{margin-top:0}
@media (max-width:900px){.account-page .pf-grid{grid-template-columns:1fr}.account-page .pf-hero{flex-wrap:wrap}.account-page .pf-admin-btn{margin-left:0}}

/* ================= 收起态胶囊：悬停滑出完整侧栏 ================= */
#app .db-sidebar-panel{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0}
#app .db-sidebar.collapsed .db-sidebar-panel{
  position:fixed;left:0;top:0;height:100vh;width:216px;z-index:62;
  background:var(--mc-ink);border-right:1px solid var(--mc-ink-line);
  box-shadow:26px 0 60px rgba(19,26,35,.26);
  transform:translateX(-102%);opacity:0;visibility:hidden;pointer-events:none;
  transition:transform .34s cubic-bezier(.22,.9,.24,1) .16s,opacity .2s ease .16s,visibility 0s linear .5s;
  will-change:transform;
}
#app .db-sidebar.collapsed.is-full .db-sidebar-panel{
  transform:translateX(0);opacity:1;visibility:visible;pointer-events:auto;
  transition:transform .36s cubic-bezier(.22,.9,.24,1),opacity .12s ease,visibility 0s linear 0s;
}
#app .db-sidebar.collapsed .db-sidebar-panel .db-sidebar-top{padding-top:1.1rem}
#app .db-app.dark .db-sidebar.collapsed .db-sidebar-panel{border-right-color:var(--mc-ink-line)}
@media(max-width:1100px){
  #app .db-sidebar.collapsed .db-sidebar-panel{width:200px}
}

/* 右栏「资料产出」默认收起：只留一条竖排标签 */
#app .sw.sw--nout{grid-template-columns:248px minmax(0,1fr) 46px}
@media(max-width:1400px){#app .sw.sw--nout{grid-template-columns:232px minmax(0,1fr) 46px}}
@media(max-width:1180px){#app .sw.sw--nout{grid-template-columns:1fr}}
#app .sw-out-strip{
  display:flex;flex-direction:column;align-items:center;gap:.55rem;height:100%;min-height:240px;
  padding:.85rem 0;background:#fff;border:1px solid #e8e4de;border-radius:16px;cursor:pointer;
  color:#57534e;font-family:inherit;transition:border-color .18s,box-shadow .18s,background .18s;
}
#app .sw-out-strip:hover{border-color:#cfe0dd;background:#fbfdfd;box-shadow:0 8px 22px rgba(15,60,60,.07)}
#app .sw-out-strip-ico{color:#0E9C9C;display:inline-flex}
#app .sw-out-strip-ico svg{width:17px;height:17px}
#app .sw-out-strip-txt{writing-mode:vertical-rl;letter-spacing:.22em;font-size:.74rem;font-weight:700;color:#3B4757}
#app .sw-out-strip-num{margin-top:auto;font-size:.66rem;font-weight:700;color:#0E9C9C;background:#EAF6F5;border-radius:999px;padding:.05rem .38rem}
#app .db-app.dark .sw-out-strip{background:#241d19;border-color:#3a312b;color:#CBBFB5}
#app .db-app.dark .sw-out-strip:hover{background:#2b2320;border-color:#0E9C9C}
#app .db-app.dark .sw-out-strip-txt{color:#C4CEDA}
@media(max-width:1180px){#app .sw-out-strip{flex-direction:row;justify-content:center;min-height:0;height:auto;padding:.6rem}
  #app .sw-out-strip-txt{writing-mode:horizontal-tb}}

/* 滑出整栏时让胶囊淡出，避免两层叠在一起 */
#app .db-sidebar.collapsed .db-sidebar-rail{transition:width .3s cubic-bezier(.22,.9,.24,1),opacity .2s ease .1s,transform .24s cubic-bezier(.22,.9,.24,1) .1s}
#app .db-sidebar.collapsed.is-full .db-sidebar-rail{
  opacity:0;transform:translateY(-50%) translateX(-14px);
  transition:opacity .16s ease,transform .22s cubic-bezier(.22,.9,.24,1);
}

/* ================= 首页：能力矩阵 / 运行轨迹 / 存储概览 ================= */
#app .mc-panel{background:#fff;border:1px solid #E7E3DC;border-radius:16px;box-shadow:0 1px 2px rgba(20,26,34,.04);overflow:hidden}
#app .mc-panel-head{display:flex;align-items:center;gap:.5rem;padding:.8rem .95rem .62rem;border-bottom:1px solid #F1ECE8;background:linear-gradient(180deg,#FDFCFA,#fff)}
#app .mc-panel-kicker{font-size:.6rem;font-weight:800;letter-spacing:.2em;color:#B0BAC6}
#app .mc-panel-title{font-size:.9rem;font-weight:750;color:#141A22;letter-spacing:.01em}
#app .mc-panel-count{font-size:.66rem;font-weight:700;color:#B45A3B;background:#FBEEE7;border-radius:999px;padding:.02rem .42rem}
#app .mc-panel-more{margin-left:auto;font-size:.72rem;color:#74716b;background:none;border:none;cursor:pointer;font-family:inherit;padding:.22rem .45rem;border-radius:7px}
#app .mc-panel-more:hover{background:#F2F4F7;color:#0E9C9C}
#app button.mc-panel-mini{margin-left:.35rem;font-size:.72rem;font-weight:600;color:#3B4757;background:#F4F7FA;border:1px solid #E4EAF0;border-radius:8px;padding:.28rem .6rem;cursor:pointer;font-family:inherit;transition:all .16s}
#app .mc-panel-head .mc-panel-mini:first-of-type{margin-left:auto}
#app button.mc-panel-mini:hover{border-color:#BFDAD8;color:#0B6E6E;background:#EDF6F5}
#app .db-app.dark .mc-panel{background:#1B1713;border-color:#2b2320}
#app .db-app.dark .mc-panel-head{background:linear-gradient(180deg,#221C17,#1B1713);border-bottom-color:#2b2320}
#app .db-app.dark .mc-panel-title{color:#EDE7E0}
#app .db-app.dark .mc-panel-kicker{color:#6B7684}
#app .db-app.dark .mc-panel-mini{background:#241D19;border-color:#3A312B;color:#C4CEDA}
#app .db-app.dark .mc-panel-mini:hover{border-color:#0E9C9C;color:#17BFB4;background:#221C20}

/* ---- 功能分区：能力矩阵（细线栅格） ---- */
#app .mc-matrix{background:#F0E5DD;border:1px solid #F0E5DD;border-radius:16px;overflow:hidden;box-shadow:0 1px 2px rgba(20,26,34,.04)}
#app .mc-matrix-top{display:flex;align-items:center;gap:.55rem;padding:.85rem .95rem;background:linear-gradient(180deg,#FDFCFA,#fff)}
#app .mc-matrix-kicker{font-size:.6rem;font-weight:800;letter-spacing:.2em;color:#B0BAC6}
#app .mc-matrix-title{font-size:.9rem;font-weight:750;color:#141A22}
#app .mc-matrix-count{margin-left:auto;font-size:.66rem;font-weight:650;color:#9C8478;background:#FBF0E9;border-radius:999px;padding:.02rem .45rem}
#app .mc-matrix-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px}
@media(max-width:1180px){#app .mc-matrix-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
#app .mc-cell{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:start;gap:.75rem;padding:1.2rem 1.15rem;background:#fff;text-decoration:none;transition:background .16s}
#app .mc-cell:hover{background:#FFFBF8}
#app .mc-cell-ico{width:38px;height:38px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;background:#FBEEE7;color:#C96442;transition:background .16s,color .16s}
#app .mc-cell-ico svg{width:18px;height:18px}
#app .mc-cell:hover .mc-cell-ico{background:#C96442;color:#fff}
#app .mc-cell-main{display:flex;flex-direction:column;gap:.24rem;min-width:0}
#app .mc-cell-title{font-size:.88rem;font-weight:700;color:#1F2733}
#app .mc-cell-desc{font-size:.74rem;line-height:1.55;color:#8C97A8}
#app .mc-cell-idx{font-size:.66rem;font-weight:800;letter-spacing:.08em;color:#C9D2DC;font-variant-numeric:tabular-nums;transition:color .16s}
#app .mc-cell:hover .mc-cell-idx{color:#C96442}
#app .db-app.dark .mc-matrix{background:#2b2320;border-color:#2b2320}
#app .db-app.dark .mc-matrix-top{background:linear-gradient(180deg,#221C17,#1B1713)}
#app .db-app.dark .mc-matrix-title{color:#EDE7E0}
#app .db-app.dark .mc-cell{background:#1B1713}
#app .db-app.dark .mc-cell:hover{background:#221C20}
#app .db-app.dark .mc-cell-title{color:#EDE7E0}
#app .db-app.dark .mc-cell-desc{color:#989590}
#app .db-app.dark .mc-cell-ico{background:#2E211B;color:#E08A63}
#app .db-app.dark .mc-cell-idx{color:#3E4A57}

/* ---- 最近项目：运行轨迹时间线 ---- */
#app .mc-tline{position:relative;padding:.35rem .95rem .55rem .55rem}
#app .mc-tl-item{position:relative;padding:.32rem .3rem .32rem 1.5rem;border-radius:10px;cursor:pointer;transition:background .15s ease}
#app .mc-tl-item:hover{background:rgba(251,238,231,.78)}
#app .mc-tl-item::before{content:'';position:absolute;left:3px;top:0;bottom:0;width:1px;background:#EDEAE3}
#app .mc-tl-item:first-child::before{top:.9rem}
#app .mc-tl-item:last-child::before{bottom:calc(100% - .95rem)}
#app .mc-tl-node{position:absolute;left:0;top:.78rem;width:7px;height:7px;border-radius:50%;background:#C7CBD1;box-shadow:0 0 0 3px #fff}
#app .mc-tl-node.is-completed{background:#2F7A50}
#app .mc-tl-node.is-running{background:#D18B15}
#app .mc-tl-node.is-failed{background:#B23A32}
#app .mc-tl-body{display:flex;flex-direction:column;gap:.22rem;min-width:0}
#app .mc-tl-row{display:flex;align-items:center;gap:.42rem;min-width:0}
#app .mc-tl-ico{flex:0 0 auto;color:#C96442;display:inline-flex}
#app .mc-tl-ico svg{width:14px;height:14px}
#app .mc-tl-ico.is-chat{color:#8C97A8}
#app button.mc-tl-title{flex:1;min-width:0;text-align:left;background:none;border:none;padding:0;font-family:inherit;font-size:.81rem;font-weight:650;color:#1F2733;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#app button.mc-tl-title:hover{color:#B45A3B}
#app .mc-tl-meta{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;padding-left:1.1rem;font-size:.69rem;color:#8C97A8}
#app .mc-tl-kind{font-size:.65rem;font-weight:650;color:#B45A3B;background:#FBEEE7;border-radius:999px;padding:.04rem .42rem}
#app .mc-tl-kind.is-chat{color:#5A6474;background:#F2F4F7}
#app .mc-tl-time{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:16rem}
#app .mc-tl-state{font-weight:650}
#app .mc-tl-state.is-completed{color:#2F7A50}
#app .mc-tl-state.is-running{color:#9A5A0B}
#app .mc-tl-state.is-failed{color:#9C2A25}
#app .db-app.dark .mc-tl-item::before{background:#2b2320}
#app .db-app.dark .mc-tl-item:hover{background:rgba(201,100,66,.12)}
#app .db-app.dark .mc-tl-node{box-shadow:0 0 0 3px #1B1713}
#app .db-app.dark button.mc-tl-title{color:#EDE7E0}
#app .db-app.dark .mc-tl-meta{color:#8C97A6}

/* ---- 资产库：存储概览 ---- */
#app .db-home-block--store{background:#fff;border:1px solid #E7E3DC;border-radius:16px;box-shadow:0 1px 2px rgba(20,26,34,.04);overflow:hidden;margin-bottom:0}
#app .db-home-block--store .mc-store{padding:.8rem .95rem .2rem}
#app .mc-store-top{display:flex;align-items:baseline;gap:1.6rem}
#app .mc-store-num{display:flex;align-items:baseline;gap:.32rem}
#app .mc-store-num b{font-size:1.32rem;font-weight:800;letter-spacing:-.02em;color:#141A22;font-variant-numeric:tabular-nums}
#app .mc-store-num span{font-size:.7rem;color:#8C97A8}
#app .mc-store-bar{display:flex;gap:2px;height:7px;border-radius:999px;overflow:hidden;margin-top:.7rem;background:#F1F4F7}
#app .mc-store-bar>span{min-width:0;border-radius:999px}
#app .mc-store-bar>span.is-run{background:linear-gradient(90deg,#C96442,#E08A63)}
#app .mc-store-bar>span.is-hpc{background:linear-gradient(90deg,#3D5A91,#5A78B4)}
#app .mc-store-bar>span.is-user{background:linear-gradient(90deg,#C96442,#D97950)}
#app .mc-store-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem;margin-top:.65rem;justify-items:start}
#app .mc-store-legend>span{display:inline-flex;align-items:center;gap:.34rem;font-size:.7rem;color:#7C8899}
#app .mc-store-legend b{color:#3B4757;font-weight:700;font-variant-numeric:tabular-nums}
#app .mc-store-legend i{width:7px;height:7px;border-radius:2px;flex:0 0 auto}
#app .mc-store-legend i.is-run{background:#C96442}
#app .mc-store-legend i.is-hpc{background:#4B6796}
#app .mc-store-legend i.is-user{background:#0E9C9C}
#app .db-app.dark .db-home-block--store{background:#1B1713;border-color:#2b2320}
#app .db-app.dark .mc-store-num b{color:#EDE7E0}
#app .db-app.dark .mc-store-bar{background:#2b2320}
#app .db-app.dark .mc-store-legend b{color:#C4CEDA}

/* 存储概览：色带与图例（图例即筛选） */
#app .mc-store-bar{gap:0}
#app .mc-store-bar>span{border-radius:0}
#app button.mc-store-k{display:inline-flex;align-items:center;gap:.34rem;font-family:inherit;font-size:.7rem;color:#7C8899;background:none;border:1px solid transparent;border-radius:999px;padding:.16rem .5rem;cursor:pointer;transition:all .16s}
#app button.mc-store-k:hover{background:#F4F7FA;color:#3B4757}
#app button.mc-store-k.on{background:#FBEEE7;border-color:#F0D3C6;color:#B45A3B}
#app .mc-store-k b{color:#3B4757;font-weight:700;font-variant-numeric:tabular-nums}
#app button.mc-store-k.on b{color:#B45A3B}
#app .mc-store-search{margin-top:.7rem;width:100%;height:34px;padding:0 .7rem;border:1px solid #E4EAF0;border-radius:10px;background:#FBFCFD;font-size:.78rem;color:#1F2733;font-family:inherit}
#app .mc-store-search:focus{outline:none;border-color:#EFCDBA;background:#fff;box-shadow:0 0 0 3px rgba(201,100,66,.09)}
#app .db-home-block--store .db-home-asset-list{margin-top:.75rem}
#app .db-app.dark button.mc-store-k{color:#8C97A6}
#app .db-app.dark button.mc-store-k:hover{background:#241D19;color:#C4CEDA}
#app .db-app.dark button.mc-store-k.on{background:#2E211B;border-color:#4A3327;color:#E08A63}
#app .db-app.dark .mc-store-k b{color:#C4CEDA}
#app .db-app.dark .mc-store-search{background:#241D19;border-color:#3A312B;color:#EDE7E0}


/* ================= 三段式侧栏：细竖条 -> 悬停展开成胶囊 -> 点按出完整侧栏 ================= */
/* 第一段（默认）：贴在左边缘的细竖条，像滚动条；内部图标全部隐去 */
#app .db-sidebar.collapsed .db-sidebar-rail{
  left:6px;width:6px;min-width:6px;padding:0;gap:0;
  background:#C9D3E0;border:0;box-shadow:none;border-radius:999px;
  transition:width .34s cubic-bezier(.22,.9,.24,1),left .34s cubic-bezier(.22,.9,.24,1),padding .34s cubic-bezier(.22,.9,.24,1),gap .34s cubic-bezier(.22,.9,.24,1),background .26s ease,border-color .26s ease,box-shadow .26s ease,border-radius .34s,opacity .2s ease .1s,transform .24s cubic-bezier(.22,.9,.24,1) .1s;
}
#app .db-app.dark .db-sidebar.collapsed .db-sidebar-rail{background:#3B4553}
#app .db-sidebar.collapsed .db-sidebar-rail > *{transition:opacity .18s ease}
#app .db-sidebar.collapsed:not(:hover) .db-sidebar-rail > *{opacity:0;pointer-events:none}
#app .db-sidebar.collapsed .db-sidebar-rail-foot{flex-shrink:0;width:100%;display:flex;flex-direction:column;align-items:center;padding-top:.12rem}

/* 第二段（悬停）：展开成原来的白色胶囊，露出图标 */
#app .db-sidebar.collapsed:hover .db-sidebar-rail{
  left:6px;width:58px;min-width:58px;padding:.5rem 0;gap:.22rem;
  background:#fff;border:1px solid #E9EDF2;border-radius:999px;
  box-shadow:0 16px 38px rgba(19,26,35,.12),0 2px 6px rgba(19,26,35,.06);
}
#app .db-app.dark .db-sidebar.collapsed:hover .db-sidebar-rail{background:#1B2129;border-color:#242C38;box-shadow:0 16px 38px rgba(0,0,0,.4)}
#app .db-sidebar.collapsed:hover .db-sidebar-rail > *{opacity:1;pointer-events:auto}
#app .db-sidebar.collapsed .db-sidebar-rail-label{
  display:inline-block;max-width:0;opacity:0;overflow:hidden;white-space:nowrap;
  font-size:.78rem;font-weight:650;letter-spacing:.01em;
}
#app .db-sidebar.collapsed .db-sidebar-rail-btn > svg,
#app .db-sidebar.collapsed .db-sidebar-rail-icon{flex:0 0 auto}
#app .db-sidebar.collapsed .db-sidebar-rail-full{color:#8C99A8}
#app .db-sidebar.collapsed:hover .db-sidebar-rail-full{background:#F2F5F9;color:#131A23}
#app .db-app.dark .db-sidebar.collapsed:hover .db-sidebar-rail-full{background:#242C38;color:#fff}
#app .mc-home-grid{grid-template-columns:minmax(0,1fr)}
#app .db-home-hero.mc-hero{position:relative}
@keyframes mcPetWalk{0%,100%{transform:translateY(0) rotate(-1.4deg)}50%{transform:translateY(-2.6px) rotate(1.4deg)}}
@keyframes mcPetDangle{0%,100%{transform:rotate(-5deg) scale(1.06)}50%{transform:rotate(5deg) scale(1.06)}}
@keyframes mcPetPoke{0%{transform:translateY(0) scale(1,1)}22%{transform:translateY(4px) scale(1.09,.9)}46%{transform:translateY(-13px) scale(.94,1.1)}70%{transform:translateY(1px) scale(1.04,.97)}100%{transform:translateY(-4px) scale(1,1)}}
@keyframes mcPetBreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.02)}}
@keyframes mcPetBall{0%{transform:translate(0,0) rotate(0)}25%{transform:translate(-16%,-46%) rotate(-70deg)}50%{transform:translate(-34%,-6%) rotate(-140deg)}75%{transform:translate(-16%,-46%) rotate(-210deg)}100%{transform:translate(0,0) rotate(-280deg)}}
@keyframes mcPetPlayBob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-2.5%) rotate(-2deg)}}
@keyframes mcPetHeart{0%{opacity:0;transform:translate(-50%,6px) scale(.5)}25%{opacity:1}100%{opacity:0;transform:translate(-50%,-40px) scale(1.18)}}
@keyframes mcPetMeow{0%{opacity:0;transform:translate(-6px,8px) scale(.7)}22%{opacity:1;transform:translate(6px,-3px) scale(1)}72%{opacity:1;transform:translate(6px,-6px) scale(1)}100%{opacity:0;transform:translate(6px,-16px) scale(1)}}
/* 猫身与气泡之间的空隙并入悬停区：鼠标可以从容平移到功能区，不会中途掉出去 */
@keyframes mcPetPanelIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
#app .mc-asset-groups{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}
#app .mc-asset-group{border:1px solid #F1E7E0;border-radius:12px;background:#fff;overflow:hidden}
#app button.mc-asset-group-head{display:flex;align-items:center;gap:.45rem;width:100%;padding:.45rem .5rem;border:none;background:linear-gradient(180deg,#FFF9F5,#FFFDFB);border-bottom:1px solid #F6EEE8;font-family:inherit;text-align:left;cursor:pointer;transition:background .16s ease}
#app button.mc-asset-group-head:hover{background:linear-gradient(180deg,#FFF3EC,#FFFAF7)}
#app .mc-asset-group-ico{width:26px;height:26px;flex:0 0 26px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center}
#app .mc-asset-group-ico svg{width:14px;height:14px}
#app .mc-asset-group-main{display:flex;flex-direction:column;min-width:0;flex:1}
#app .mc-asset-group-title{font-size:.76rem;font-weight:700;color:#2C2723;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#app .mc-asset-group-meta{margin-top:1px;font-size:.62rem;color:#9C8578;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#app .mc-asset-group-open{flex:0 0 auto;font-size:.66rem;font-weight:650;color:#B45A3B;background:#FBEEE7;border:1px solid #F0D3C6;border-radius:8px;padding:.2rem .46rem;transition:all .16s ease}
#app button.mc-asset-group-head:hover .mc-asset-group-open{background:#B45A3B;border-color:#B45A3B;color:#fff}
#app .mc-asset-group-list{display:flex;flex-direction:column}
#app .mc-asset-file{display:flex;align-items:center;gap:.4rem;padding:.32rem .5rem .32rem .58rem;border-top:1px solid #F8F2ED}
#app .mc-asset-file:first-child{border-top:none}
#app .mc-asset-file:hover{background:#FFFBF8}
#app .mc-asset-file-ico{width:20px;height:20px;flex:0 0 20px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center}
#app .mc-asset-file-ico svg{width:12px;height:12px}
#app .mc-asset-file-name{flex:1;min-width:0;font-size:.72rem;color:#3B4757;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#app .mc-asset-file-size{flex:0 0 auto;font-size:.62rem;color:#9AA3AF;font-variant-numeric:tabular-nums}
#app .mc-asset-file-open{flex:0 0 auto;font-size:.64rem;font-weight:650;color:#B45A3B;text-decoration:none;border-radius:7px;padding:.14rem .34rem;border:1px solid transparent}
#app .mc-asset-file-open:hover{background:#FBEEE7;border-color:#F0D3C6}
#app .mc-asset-group-ico.is-run,#app .mc-asset-file-ico.is-run{background:#FBEEE7;color:#B45A3B}
#app .mc-asset-group-ico.is-hpc,#app .mc-asset-file-ico.is-hpc{background:#E9EEF8;color:#3D5A91}
#app .mc-asset-group-ico.is-user,#app .mc-asset-file-ico.is-user{background:#E8F2EA;color:#3F7A52}
#app .mc-asset-group-ico.is-none,#app .mc-asset-file-ico.is-none{background:#F1F4F7;color:#7C8899}
#app .db-app.dark .mc-asset-group{background:#1B1713;border-color:#2E241E}
#app .db-app.dark button.mc-asset-group-head{background:linear-gradient(180deg,#221C17,#1B1713);border-bottom-color:#2E241E}
#app .db-app.dark button.mc-asset-group-head:hover{background:linear-gradient(180deg,#2A211A,#211A15)}
#app .db-app.dark .mc-asset-group-title{color:#EDE7E0}
#app .db-app.dark .mc-asset-group-meta{color:#A08B7D}
#app .db-app.dark .mc-asset-group-open{background:#2E211B;border-color:#4A3327;color:#E08A63}
#app .db-app.dark button.mc-asset-group-head:hover .mc-asset-group-open{background:#E08A63;border-color:#E08A63;color:#1B1713}
#app .db-app.dark .mc-asset-file{border-top-color:#241D19}
#app .db-app.dark .mc-asset-file:hover{background:#241D19}
#app .db-app.dark .mc-asset-file-name{color:#D9D2CA}
#app .db-app.dark .mc-asset-file-size{color:#8C8378}
#app .db-app.dark .mc-asset-file-open{color:#E08A63}
#app .db-app.dark .mc-asset-file-open:hover{background:#2E211B;border-color:#4A3327}
#app .db-app.dark .mc-asset-group-ico.is-run,#app .db-app.dark .mc-asset-file-ico.is-run{background:#2E211B;color:#D98A6B}
#app .db-app.dark .mc-asset-group-ico.is-hpc,#app .db-app.dark .mc-asset-file-ico.is-hpc{background:#20293A;color:#8FB0E0}
#app .db-app.dark .mc-asset-group-ico.is-user,#app .db-app.dark .mc-asset-file-ico.is-user{background:#1F2B22;color:#8DC79F}
#app .db-app.dark .mc-asset-group-ico.is-none,#app .db-app.dark .mc-asset-file-ico.is-none{background:#262019;color:#A08B7D}
#app .db-app.dark .mc-matrix-grid{background:#2A211B}
#app .db-app.dark .mc-matrix-top,#app .db-app.dark .mc-panel-head{background:none}
/* ---- 欢迎页：更细的线条、更沉的重心 ---- */
#app .db-home.mc-home{padding-top:.5rem}
#app .mc-hero-sub{display:flex;align-items:center;justify-content:center;gap:.45rem;margin:.28rem 0 0;font-size:.8rem;color:#C96442;letter-spacing:.01em}
#app .mc-hero-sub::before{content:'';width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:#E0824F;animation:mcHeroDot 2s ease-in-out infinite}
@keyframes mcHeroDot{0%,100%{opacity:.4;transform:scale(.75)}50%{opacity:1;transform:scale(1.15)}}
#app .db-app.dark .mc-hero-sub{color:#E9A184}
#app .mc-home-main .mc-brand{gap:.3rem}
#app .mc-brand-name{font-size:2.1rem;font-weight:750;letter-spacing:-.015em}
#app .mc-brand-slogan{font-size:.83rem;font-weight:600;letter-spacing:.012em;line-height:1.5;margin-top:.36rem;white-space:nowrap}
#app .mc-brand-sub{font-size:.76rem;margin-top:.2rem;color:#8A857E}
#app .mc-home-main .mc-hero-title{font-size:1.44rem;font-weight:600;color:#2C2723;letter-spacing:.005em;margin:1.15rem 0 .45rem}
#app .mc-home-main .db-home-hero.mc-hero{margin-top:4.3rem}
#app .db-home-hero.mc-hero .db-home-input-card{border-color:#EDE7E0;box-shadow:0 1px 2px rgba(26,25,22,.03),0 16px 40px rgba(26,25,22,.05)}
#app .db-app.dark .db-home-hero.mc-hero .db-home-input-card{border-color:#2b2320;box-shadow:0 16px 40px rgba(0,0,0,.3)}
@keyframes mcPetWaitIn{from{opacity:0;transform:translateY(10px) scale(.94)}to{opacity:1;transform:none}}

/* ── MatTutor 侧边栏账号卡片 ─────────────────────────────── */
.mt-user-card{position:relative;margin:0 0 .65rem;padding:0}
.mt-user-chip{width:100%;display:flex;align-items:center;gap:.65rem;padding:.6rem .65rem;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.06);color:#f4ece5;cursor:pointer;font-family:inherit;text-align:left;transition:background .16s,border-color .16s}
.mt-user-chip:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2)}
.mt-user-avatar{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#c86a43,#8a4a26);color:#fff;font-size:.78rem;font-weight:700;flex:0 0 30px}
.mt-user-meta{min-width:0;flex:1}
.mt-user-name{display:block;font-size:.82rem;font-weight:650;color:#f7efe9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mt-user-mail{display:block;font-size:.67rem;color:rgba(255,255,255,.46);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.mt-user-chevron{font-size:.72rem;color:rgba(255,255,255,.45)}
.mt-user-menu{position:absolute;left:0;right:0;bottom:calc(100% + .45rem);background:#2b211b;border:1px solid rgba(255,255,255,.12);border-radius:12px;box-shadow:0 18px 44px rgba(0,0,0,.34);padding:.34rem;z-index:30}
.mt-user-menu-head{padding:.55rem .65rem .5rem;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:.25rem}
.mt-user-menu-head strong{display:block;font-size:.8rem;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mt-user-menu-head small{display:block;font-size:.67rem;color:rgba(255,255,255,.48);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mt-user-menu button{width:100%;display:flex;align-items:center;gap:.55rem;padding:.48rem .6rem;border:0;border-radius:8px;background:transparent;color:rgba(255,255,255,.78);font-size:.78rem;font-family:inherit;cursor:pointer;text-align:left}
.mt-user-menu button:hover{background:rgba(255,255,255,.08);color:#fff}
.mt-user-menu button svg{width:16px;height:16px;flex:0 0 16px}
.mt-user-menu button.danger:hover{background:rgba(201,85,58,.18);color:#ffb8a4}
.mt-user-menu .mt-user-sep{height:1px;background:rgba(255,255,255,.09);margin:.25rem .22rem}
.auth-boot{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.85rem;background:#f8faff;color:#4b5563}
.auth-boot-logo{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6d82ff,#4d6bfe);color:#fff;box-shadow:0 12px 30px rgba(77,107,254,.26)}
.auth-boot-text{font-size:.82rem;letter-spacing:.08em}
.auth-loading-dot{width:6px;height:6px;border-radius:50%;background:#4d6bfe;animation:authPulse 1.1s infinite ease-in-out}
@keyframes authPulse{0%,100%{opacity:.3;transform:scale(.75)}50%{opacity:1;transform:scale(1)}}
@media(max-width:760px){.auth-page{padding:1.2rem}.auth-card{padding:1.7rem 1.2rem}.auth-grid{grid-template-columns:1fr}.pf-grid{grid-template-columns:1fr}.ad-table-wrap{overflow-x:auto}}

/* ===== 登录页视觉统一：主站蓝紫主色 + 深靛蓝品牌面板 ===== */
.auth-page{
  padding:clamp(1rem,3vw,2.5rem);
  background:
    radial-gradient(820px 520px at 8% 2%,rgba(77,107,254,.13),transparent 68%),
    radial-gradient(760px 560px at 94% 96%,rgba(6,182,212,.11),transparent 70%),
    #f8faff;
  color:#111827;
}
.auth-bg-space{background:linear-gradient(145deg,rgba(255,255,255,.44),rgba(248,250,255,0) 56%),radial-gradient(90% 80% at 50% 40%,rgba(238,242,255,.42),transparent 72%)}
.auth-bg-band,.auth-bg-neb,.auth-bg-stars{display:none}
.auth-bg-vignette{background:radial-gradient(120% 105% at 50% 48%,transparent 66%,rgba(30,41,59,.05) 100%)}
.auth-stage{
  width:min(1080px,100%);
  min-height:610px;
  grid-template-columns:minmax(0,1fr) 440px;
  gap:0;
  overflow:hidden;
  border:1px solid rgba(77,107,254,.14);
  border-radius:28px;
  background:#fff;
  box-shadow:0 34px 90px rgba(37,55,115,.15),0 2px 8px rgba(37,55,115,.05);
}
.auth-intro{
  position:relative;
  isolation:isolate;
  justify-content:center;
  align-items:flex-start;
  gap:1rem;
  padding:4.2rem 3.8rem;
  overflow:hidden;
  color:#eef2ff;
  background:
    radial-gradient(520px 360px at 96% 8%,rgba(6,182,212,.18),transparent 66%),
    radial-gradient(500px 420px at 3% 100%,rgba(77,107,254,.34),transparent 72%),
    linear-gradient(145deg,#0f172a 0%,#172554 58%,#1e3a8a 100%);
}
.auth-intro::before{
  content:"";
  position:absolute;
  z-index:-1;
  width:320px;
  height:320px;
  right:-120px;
  bottom:-120px;
  border:1px solid rgba(142,164,255,.24);
  border-radius:50%;
  box-shadow:0 0 0 54px rgba(142,164,255,.045),0 0 0 108px rgba(6,182,212,.025);
}
.auth-intro-brand{flex-direction:row;align-items:center;gap:.95rem;margin-bottom:1.35rem}
.auth-intro-logo{color:#8ea4ff}
.auth-intro-logo svg{width:58px;height:58px}
.auth-intro-name{font-size:2.05rem;font-weight:680;letter-spacing:.01em;color:#f8faff}
.auth-intro-eyebrow{text-align:left;color:#8ea4ff;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;line-height:1.75}
.auth-intro-line{text-align:left;color:#f1f5ff;font-size:1.75rem;font-weight:560;line-height:1.48;letter-spacing:.01em;max-width:11.5em}
.auth-intro-marks{flex-direction:column;align-items:flex-start;gap:.72rem;margin-top:1.55rem;color:#c7d2fe;font-size:.8rem;line-height:1.6}
.auth-intro-mark{white-space:normal;gap:.65rem}
.auth-intro-mark::before{width:6px;height:6px;background:#67e8f9;box-shadow:0 0 0 4px rgba(103,232,249,.10)}
.auth-intro-mark b{color:#f8faff;margin-right:.36rem}
.auth-intro-slogan{position:static;margin-top:2.2rem;text-align:left;color:#93c5fd;font-size:.84rem;letter-spacing:.28em;text-indent:.28em}
.auth-card{
  width:auto;
  max-width:none;
  height:100%;
  padding:3.6rem 3.25rem;
  display:flex;
  align-items:center;
  border:0;
  border-radius:0;
  background:linear-gradient(180deg,#fff 0%,#f8faff 100%);
  box-shadow:none;
}
.auth-main{width:100%}
.auth-head h2{font-size:1.55rem;color:#111827;letter-spacing:.005em}
.auth-head p{margin-top:.55rem;color:#6b7280;font-size:.84rem;line-height:1.65}
.auth-form{margin-top:1.75rem;gap:1.05rem}
.auth-label{color:#374151}
.auth-label em{color:#4d6bfe}
.auth-input{height:46px;border-color:#dfe5f2;background:#fbfcff;color:#111827}
.auth-input:focus{border-color:#4d6bfe;background:#fff;box-shadow:0 0 0 4px rgba(77,107,254,.14)}
.auth-check input{accent-color:#4d6bfe}
.auth-submit{height:47px;background:linear-gradient(135deg,#5b73ff,#4d6bfe);box-shadow:0 10px 24px rgba(77,107,254,.22)}
.auth-submit:hover:not(:disabled){background:#3b5bfd;box-shadow:0 12px 28px rgba(77,107,254,.28)}
.auth-switch a{color:#4d6bfe}
.auth-alert{background:#fef2f2;border-color:#fecaca;color:#b91c1c}
.auth-notice{background:#eef2ff;border-color:#dbe4ff;color:#3730a3}
@media(max-width:980px){
  .auth-stage{grid-template-columns:minmax(0,1fr);max-width:500px;min-height:0;border-radius:22px}
  .auth-intro{padding:2rem 1.9rem 1.75rem;align-items:center}
  .auth-intro-brand{justify-content:center;margin-bottom:.6rem}
  .auth-intro-logo svg{width:46px;height:46px}
  .auth-intro-name{font-size:1.65rem}
  .auth-intro-eyebrow,.auth-intro-line,.auth-intro-slogan{text-align:center}
  .auth-intro-line{font-size:1.3rem;max-width:none}
  .auth-intro-marks{display:none}
  .auth-intro-slogan{margin-top:.9rem;font-size:.72rem}
  .auth-card{padding:2.2rem 1.7rem 2.5rem}
}
@media(max-width:520px){
  .auth-page{padding:.7rem}
  .auth-stage{border-radius:18px}
  .auth-intro{padding:1.55rem 1.2rem 1.35rem}
  .auth-intro-eyebrow{font-size:.68rem}
  .auth-intro-line{font-size:1.12rem}
  .auth-card{padding:1.8rem 1.2rem 2rem}
  .auth-head h2{font-size:1.34rem}
}

/* 管理后台深色模式 */
#app .db-app.dark .ad-hero{border-bottom-color:#3f3026}
#app .db-app.dark .ad-hero-mark{background:linear-gradient(140deg,#c86a43,#7c3f22);box-shadow:0 10px 24px rgba(0,0,0,.24)}
#app .db-app.dark .ad-hero-title{color:#ede7e0}
#app .db-app.dark .ad-hero-sub{color:#a3937f}
#app .db-app.dark .ad-tabs button{color:#b9aa9d}
#app .db-app.dark .ad-tabs button:hover{background:#33261f;color:#ede7e0}
#app .db-app.dark .ad-tabs button.active{background:linear-gradient(135deg,#c86a43,#8a4a26);color:#fff}
#app .db-app.dark .ad-tabs .ad-tab-refresh{border-color:#3f3026}
#app .db-app.dark .ad-card,
#app .db-app.dark .ad-block,
#app .db-app.dark .ad-table-wrap{background:#251c17;border-color:#3f3026}
#app .db-app.dark .ad-card-label{color:#a3937f}
#app .db-app.dark .ad-card-value{color:#f0b183}
#app .db-app.dark .ad-card-foot{color:#7a6a5c}
#app .db-app.dark .ad-block-title{color:#ede7e0}
#app .db-app.dark .ad-block-sub{color:#a3937f}
#app .db-app.dark .ad-block-sub code,
#app .db-app.dark .ad-block-title code{background:#33261f;color:#f0b183}
#app .db-app.dark .ad-field span{color:#a3937f}
#app .db-app.dark .ad-field input{background:#1c1512;border-color:#3f3026;color:#e8dcd0}
#app .db-app.dark .ad-field input::placeholder{color:#6f6258}
#app .db-app.dark .ad-field input:focus{border-color:#c86a43;box-shadow:0 0 0 3px rgba(200,106,67,.14)}
#app .db-app.dark .ad-created{border-top-color:#3f3026}
#app .db-app.dark .ad-created-title{color:#a3937f}
#app .db-app.dark .ad-chip{background:rgba(200,106,67,.14);color:#f0b183;border-color:rgba(220,127,86,.3)}
#app .db-app.dark .ad-chip-empty{background:#2e211b;color:#7a6a5c;border-color:#3f3026}
#app .db-app.dark .ad-chip-btn:hover{background:rgba(200,106,67,.24)}
#app .db-app.dark .ad-table th{background:#2e211b;color:#cbbfb5;border-bottom-color:#3f3026}
#app .db-app.dark .ad-table td{border-bottom-color:#33261f;color:#e8dcd0}
#app .db-app.dark .ad-mono{color:#b9aa9d}
#app .db-app.dark .ad-user-id{color:#7a6a5c}
#app .db-app.dark .ad-me{background:rgba(200,106,67,.16);color:#f0b183}
#app .db-app.dark .ad-badge{background:#33261f;color:#cbbfb5}
#app .db-app.dark .ad-badge-admin{background:rgba(200,106,67,.16);color:#f0b183}
#app .db-app.dark .ad-badge-off{background:rgba(201,85,58,.16);color:#ffb8a4}
#app .db-app.dark .ad-op{background:#2e211b;border-color:#3f3026;color:#d3c5b6}
#app .db-app.dark .ad-op:hover:not(:disabled){background:#3a2a23;border-color:#5a4232;color:#f5ece4}
#app .db-app.dark .ad-op-danger:hover:not(:disabled){background:rgba(201,85,58,.16);border-color:#704033;color:#ffb8a4}
#app .db-app.dark .ad-code-btn{background:#1c1512;border-color:#5a4232;color:#f0b183}
#app .db-app.dark .ad-empty{color:#7a6a5c}
#app .db-app.dark .ad-modal-mask{background:rgba(8,6,5,.68)}
#app .db-app.dark .ad-modal{background:#251c17;border:1px solid #3f3026;box-shadow:0 30px 70px rgba(0,0,0,.55)}
#app .db-app.dark .ad-modal-title{color:#f5ece4}
#app .db-app.dark .ad-modal-sub{color:#cbbfb5}
#app .db-app.dark .ad-modal-code{background:#12100e;color:#ffd9c9;border:1px solid #3f3026}
/* 账号与安全页：深色信息卡 */
#app .db-app.dark .account-page .pf-info-grid>div{background:#11151d;border-color:#2b303b}
#app .db-app.dark .account-page .pf-info-grid span{color:#8f9aa8}
#app .db-app.dark .account-page .pf-info-grid strong{color:#e5e7eb}
#app .db-app.dark .account-page .pf-input:disabled{background:#171a21;border-color:#2b303b;color:#7f8998}
