/* PhotoBed 极简清新样式 */
:root{--pb-primary:#4f8cff;--pb-bg:#ffffff;--pb-border:#eaecef;--pb-text:#1f2328;--pb-muted:#6a737d;--pb-danger:#e55353;--pb-surface:#ffffff;--pb-surface-2:#f7f9fc;--pb-shadow:0 10px 30px rgba(15,23,42,.04), 0 1px 0 rgba(27,31,36,.04);
  /* 拟态阴影变量（默认前台也可用，但主要用于后台） */
  --pb-soft-bg:#eef2f7;
  --pb-soft-1:rgba(17,24,39,.08);
  --pb-soft-2:rgba(255,255,255,.9);
  --pb-soft-shadow: 12px 12px 24px var(--pb-soft-1), -12px -12px 24px var(--pb-soft-2);
  --pb-soft-shadow-sm: 6px 6px 14px var(--pb-soft-1), -6px -6px 14px var(--pb-soft-2);
}
*{box-sizing:border-box;}

/* 动效：统一时长/缓动，且支持减少动效偏好 */
:root{--pb-ease:cubic-bezier(.2,.8,.2,1);--pb-dur-fast:.12s;--pb-dur:.18s;--pb-dur-slow:.28s;}
@media (prefers-reduced-motion: reduce){
  :root{--pb-dur-fast:0s;--pb-dur:0s;--pb-dur-slow:0s;}
  *{scroll-behavior:auto!important;animation-duration:0s!important;transition-duration:0s!important;}
}

body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;color:var(--pb-text);background:linear-gradient(180deg,#f7f9fc 0%, #f6f8fa 40%, #f6f8fa 100%);min-height:100vh;display:flex;flex-direction:column;}

/* ===================== 登录/注册页美化 ===================== */
.pb-auth{min-height:calc(100vh - 110px);display:flex;align-items:center;justify-content:center;padding:24px 0;}
.pb-auth-card{position:relative;overflow:hidden;}
.pb-auth-card:before{content:"";position:absolute;inset:-2px;background:radial-gradient(800px 240px at 15% 10%, rgba(79,140,255,.22), transparent 55%), radial-gradient(700px 220px at 85% 0%, rgba(168,85,247,.18), transparent 55%);pointer-events:none;}
.pb-auth-card>*{position:relative;}
.pb-auth-title{font-size:26px;font-weight:900;letter-spacing:.5px;}

@media (max-width:640px){
  .pb-auth{padding:14px 0;}
  .pb-auth-title{font-size:22px;}
}

body.pb-dark .pb-auth-card:before{background:radial-gradient(800px 260px at 10% 5%, rgba(79,140,255,.28), transparent 55%), radial-gradient(700px 220px at 85% 0%, rgba(168,85,247,.22), transparent 55%);} 

/* ===================== 夜间模式（前台+后台通用） ===================== */
body.pb-dark{
  --pb-bg:#0b1020;
  --pb-surface:#0f172a;
  --pb-surface-2:#0b1225;
  --pb-border:rgba(148,163,184,.18);
  --pb-text:#e5e7eb;
  --pb-muted:rgba(226,232,240,.72);
  --pb-danger:#fb7185;
  --pb-shadow:0 18px 40px rgba(0,0,0,.35);
}
body.pb-dark{background:radial-gradient(1200px 420px at 20% -10%, rgba(79,140,255,.22), transparent 55%), radial-gradient(900px 320px at 80% 0%, rgba(168,85,247,.18), transparent 55%), linear-gradient(180deg,#070a12 0%, #0b1020 40%, #070a12 100%);} 
body.pb-dark a{color:#9dbbff;}
body.pb-dark .pb-topbar{background:rgba(15,23,42,.72);border-bottom:1px solid var(--pb-border);} 
body.pb-dark .pb-brand{color:var(--pb-text);} 
body.pb-dark .pb-nav a{color:var(--pb-muted);} 
body.pb-dark .pb-nav a:hover{color:var(--pb-text);} 
body.pb-dark .pb-card{background:rgba(15,23,42,.78);border:1px solid var(--pb-border);box-shadow:var(--pb-shadow);} 
body.pb-dark .pb-muted{color:var(--pb-muted);} 
body.pb-dark .pb-input, body.pb-dark select.pb-input{background:rgba(2,6,23,.55);border:1px solid var(--pb-border);color:var(--pb-text);} 
body.pb-dark .pb-input:focus{border-color:rgba(79,140,255,.55);box-shadow:0 0 0 4px rgba(79,140,255,.16);} 
body.pb-dark .pb-btn{background:rgba(15,23,42,.72);border:1px solid var(--pb-border);color:var(--pb-text);} 
body.pb-dark .pb-btn:hover{background:rgba(30,41,59,.72);} 
body.pb-dark .pb-btn-primary{background:linear-gradient(180deg, rgba(79,140,255,1) 0%, rgba(63,123,235,1) 100%);border-color:rgba(79,140,255,.9);} 
body.pb-dark table tr:hover{background:rgba(255,255,255,.04);} 
body.pb-dark .pb-alert-danger{background:rgba(127,29,29,.25);border:1px solid rgba(251,113,133,.35);color:#fecaca;} 
body.pb-dark .pb-drop{background:radial-gradient(1200px 200px at 50% 0%, rgba(79,140,255,.16), transparent 70%), linear-gradient(180deg, rgba(15,23,42,.85), rgba(2,6,23,.55));border-color:rgba(148,163,184,.25);} 
body.pb-dark .pb-drop.dragover{animation:pbPulse 1.15s var(--pb-ease) infinite;}
body.pb-dark .pb-queue-item{border-color:rgba(148,163,184,.18);}

/* ===================== 后台主题系统（仅后台生效） ===================== */
.pb-admin-body{background:linear-gradient(180deg,#eef3fb 0%, #eef2f7 45%, #f6f8fa 100%);} 

/* 后台夜间模式：在 pb-dark 下自动变暗（主题A/B同样适用） */
.pb-admin-body.pb-dark{background:radial-gradient(1200px 420px at 20% -10%, rgba(79,140,255,.22), transparent 55%), radial-gradient(900px 320px at 80% 0%, rgba(168,85,247,.18), transparent 55%), linear-gradient(180deg,#070a12 0%, #0b1020 40%, #070a12 100%);} 
.pb-admin-body.pb-dark .pb-side{background:rgba(15,23,42,.62);} 
.pb-admin-body.pb-dark .pb-side a{color:var(--pb-muted);} 
.pb-admin-body.pb-dark .pb-side a:hover{color:var(--pb-text);} 
.pb-admin-body.pb-dark .pb-side a.active{background:rgba(79,140,255,.18);}

/* 通用：表格/文字细节 */
.pb-admin-body table{background:transparent;}
.pb-admin-body table tr{background:transparent;}
.pb-admin-body table tr:hover{background:rgba(255,255,255,.32);} 
.pb-admin-body table th{color:rgba(31,35,40,.62);} 

/* 滚动条更柔和（仅 WebKit） */
.pb-admin-body ::-webkit-scrollbar{height:10px;width:10px;}
.pb-admin-body ::-webkit-scrollbar-thumb{background:rgba(31,35,40,.18);border-radius:999px;border:2px solid rgba(238,242,247,.85);} 
.pb-admin-body ::-webkit-scrollbar-track{background:rgba(31,35,40,.06);border-radius:999px;} 

/* ===== 主题A：拟态（neu） ===== */
.pb-admin-body.pb-admin-theme-neu .pb-topbar{background:rgba(238,242,247,.82);border-bottom:1px solid rgba(31,35,40,.06);} 
.pb-admin-body.pb-admin-theme-neu .pb-card{background:rgba(238,242,247,.92);border:1px solid rgba(31,35,40,.06);box-shadow:var(--pb-soft-shadow);max-width:100%;}
.pb-admin-body.pb-admin-theme-neu .pb-card:hover{box-shadow: 16px 16px 30px rgba(17,24,39,.10), -16px -16px 30px rgba(255,255,255,.95);} 

/* 后台顶部导航布局兜底（仅后台生效，避免与前台冲突） */
.pb-admin-body .pb-topbar{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  flex-wrap:nowrap !important;
}
.pb-admin-body .pb-nav{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:10px !important;
  flex-wrap:nowrap !important;
  white-space:nowrap;
}

.pb-admin-body.pb-admin-theme-neu .pb-btn{background:rgba(238,242,247,.92);border:1px solid rgba(31,35,40,.08);box-shadow:var(--pb-soft-shadow-sm);}
.pb-admin-body.pb-admin-theme-neu .pb-btn:hover{background:rgba(246,248,250,.95);} 
.pb-admin-body.pb-admin-theme-neu .pb-btn:active{transform:translateY(1px);box-shadow: inset 6px 6px 14px rgba(17,24,39,.10), inset -6px -6px 14px rgba(255,255,255,.9);} 
.pb-admin-body.pb-admin-theme-neu .pb-btn-primary{background:linear-gradient(180deg, rgba(79,140,255,1) 0%, rgba(63,123,235,1) 100%);border-color:rgba(63,123,235,1);box-shadow:0 10px 22px rgba(79,140,255,.25);} 
.pb-admin-body.pb-admin-theme-neu .pb-btn-primary:hover{filter:brightness(.98);} 
.pb-admin-body.pb-admin-theme-neu .pb-btn-primary:active{transform:translateY(1px);filter:brightness(.96);} 
.pb-admin-body.pb-admin-theme-neu .pb-btn-danger{background:rgba(238,242,247,.92);} 

.pb-admin-body.pb-admin-theme-neu .pb-input, .pb-admin-body.pb-admin-theme-neu select.pb-input{background:rgba(238,242,247,.9);border:1px solid rgba(31,35,40,.10);box-shadow: inset 6px 6px 14px rgba(17,24,39,.08), inset -6px -6px 14px rgba(255,255,255,.9);} 
.pb-admin-body.pb-admin-theme-neu .pb-input:focus{border-color:rgba(79,140,255,.55);box-shadow: inset 6px 6px 14px rgba(17,24,39,.08), inset -6px -6px 14px rgba(255,255,255,.9), 0 0 0 4px rgba(79,140,255,.14);} 

.pb-admin-body.pb-admin-theme-neu .pb-side{background:rgba(238,242,247,.92);} 
.pb-admin-body.pb-admin-theme-neu .pb-side a{border:1px solid transparent;} 
.pb-admin-body.pb-admin-theme-neu .pb-side a:hover{background:rgba(255,255,255,.45);} 
.pb-admin-body.pb-admin-theme-neu .pb-side a.active{background:rgba(79,140,255,.16);border-color:rgba(79,140,255,.22);} 

/* ===== 主题B：玻璃（glass） ===== */
.pb-admin-body.pb-admin-theme-glass .pb-topbar{background:rgba(255,255,255,.55);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid rgba(31,35,40,.08);} 
.pb-admin-body.pb-admin-theme-glass .pb-card{background:rgba(255,255,255,.55);backdrop-filter:saturate(170%) blur(14px);border:1px solid rgba(255,255,255,.55);box-shadow:0 18px 36px rgba(17,24,39,.10);max-width:100%;} 
.pb-admin-body.pb-admin-theme-glass .pb-btn{background:rgba(255,255,255,.55);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.65);box-shadow:0 10px 22px rgba(17,24,39,.10);} 
.pb-admin-body.pb-admin-theme-glass .pb-btn:hover{background:rgba(255,255,255,.68);} 
.pb-admin-body.pb-admin-theme-glass .pb-btn:active{transform:translateY(1px);box-shadow:0 6px 14px rgba(17,24,39,.12);} 
.pb-admin-body.pb-admin-theme-glass .pb-btn-primary{background:linear-gradient(180deg, rgba(79,140,255,.98) 0%, rgba(63,123,235,.98) 100%);border-color:rgba(63,123,235,.85);box-shadow:0 14px 28px rgba(79,140,255,.28);} 
.pb-admin-body.pb-admin-theme-glass .pb-input, .pb-admin-body.pb-admin-theme-glass select.pb-input{background:rgba(255,255,255,.55);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.75);box-shadow:0 10px 20px rgba(17,24,39,.08);} 
.pb-admin-body.pb-admin-theme-glass .pb-input:focus{border-color:rgba(79,140,255,.55);box-shadow:0 0 0 4px rgba(79,140,255,.14), 0 12px 24px rgba(17,24,39,.10);} 
.pb-admin-body.pb-admin-theme-glass .pb-side{background:rgba(255,255,255,.52);backdrop-filter:blur(14px);} 
.pb-admin-body.pb-admin-theme-glass .pb-side a:hover{background:rgba(255,255,255,.55);} 
.pb-admin-body.pb-admin-theme-glass .pb-side a.active{background:rgba(79,140,255,.18);border:1px solid rgba(79,140,255,.26);} 
a{color:var(--pb-primary);text-decoration:none;transition:color var(--pb-dur) var(--pb-ease);}
a:hover{text-decoration:underline;}

/* 可访问性：键盘聚焦更明显 */
:where(a,button,[role="button"],input,select,textarea).pb-focus:focus-visible,
:where(a,button,[role="button"],input,select,textarea):focus-visible{
  outline:0;
  box-shadow:0 0 0 4px rgba(79,140,255,.16);
}
/* 顶部导航：固定在顶部；内部左右分离 */
.pb-topbar{position:fixed;left:0;right:0;top:0;z-index:100;background:transparent;padding:10px 12px;}
.pb-topbar-inner{max-width:1100px;margin:0 auto;background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(12px);border:1px solid rgba(31,35,40,.08);border-radius:16px;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;}
body.pb-dark .pb-topbar-inner{background:rgba(15,23,42,.72);border-color:var(--pb-border);} 

/* 夜间模式按钮：移动端在抽屉按钮旁；桌面端在顶部导航栏内 */
/* 注意：元素同时带 .pb-theme-toggle，会被通用规则设为 display:inline-flex；这里用更高优先级强制隐藏 */
.pb-theme-toggle.pb-theme-toggle-mobile{display:none !important;}

@media (max-width:767px){
  .pb-theme-toggle.pb-theme-toggle-mobile{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border-radius:14px;
    border:1px solid var(--pb-border);
    background:rgba(255,255,255,.70);
    backdrop-filter:saturate(180%) blur(12px);
    box-shadow:0 10px 22px rgba(15,23,42,.06);
    margin-right:10px;
  }
  body.pb-dark .pb-theme-toggle-mobile{background:rgba(15,23,42,.55);}
  .pb-theme-toggle-mobile:hover{text-decoration:none;}
}

/* 为固定导航预留空间，避免内容被遮挡 */
.pb-container{padding-top:74px;}

.pb-brand{font-weight:900;letter-spacing:.2px;color:var(--pb-text);display:inline-flex;align-items:center;gap:10px;}
.pb-brand:hover{text-decoration:none;}
.pb-brand-logo{display:inline-flex;align-items:center;gap:10px;}
.pb-brand-text{display:inline-block;}

/* Logo：PC/手机分离展示（可用不同图片），未配置时显示占位块 */
.pb-logo{width:28px;height:28px;border-radius:8px;object-fit:cover;box-shadow:0 10px 22px rgba(15,23,42,.08);display:block;}
body.pb-dark .pb-logo{box-shadow:0 12px 26px rgba(0,0,0,.35);} 
.pb-logo-placeholder{background:linear-gradient(180deg, rgba(79,140,255,.35), rgba(168,85,247,.18));border:1px solid rgba(255,255,255,.65);box-shadow:none;}

/* 默认：手机端展示 mobile logo，隐藏 desktop logo；并隐藏站点文字以节省空间 */
.pb-logo-desktop{display:none;}

/* 手机端 Logo 允许横向比例，避免被 object-fit:cover 裁切 */
.pb-logo-mobile{display:block;width:84px;height:28px;object-fit:contain;padding:2px 8px;background:rgba(255,255,255,.35);}
body.pb-dark .pb-logo-mobile{background:rgba(15,23,42,.28);} 
/* 未配置 logo 时的占位块保持方形，避免变成一条长条 */
.pb-logo-placeholder.pb-logo-mobile{width:28px;padding:0;background:linear-gradient(180deg, rgba(79,140,255,.35), rgba(168,85,247,.18));}

@media (max-width:767px){
  .pb-brand-text{display:none;}
}

.pb-nav a{margin-left:12px;color:var(--pb-muted);} 

/* 桌面端导航容器（默认显示）；移动端抽屉默认隐藏 */
.pb-nav-desktop{display:flex;align-items:center;gap:10px;}
.pb-nav-drawer{display:none;}


/* 顶部导航胶囊按钮（移动端保持简洁，桌面端在媒体查询中做玻璃效果） */
.pb-nav-pill{display:inline-flex;align-items:center;gap:8px;line-height:1;}
.pb-nav-ico{display:inline-flex;align-items:center;justify-content:center;}
.pb-nav-txt{display:inline-block;}

/* 手机端抽屉导航 */
.pb-nav-btn{display:none;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;border:1px solid var(--pb-border);background:rgba(255,255,255,.70);backdrop-filter:saturate(180%) blur(12px);box-shadow:0 10px 22px rgba(15,23,42,.06);cursor:pointer;}
.pb-nav-icon{display:block;color:rgba(31,35,40,.78);}
body.pb-dark .pb-nav-btn{background:rgba(15,23,42,.55);} 
body.pb-dark .pb-nav-icon{color:rgba(226,232,240,.88);} 

.pb-nav-mask{position:fixed;inset:0;background:rgba(2,6,23,.38);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:180;}

@media (max-width:767px){
  /* 顶部右侧：显示汉堡按钮；桌面导航隐藏；移动端导航用抽屉 */
  .pb-nav-btn{display:inline-flex;}
  .pb-nav-desktop{display:none;}

  .pb-nav-drawer{position:fixed;top:10px;right:10px;bottom:10px;width:min(320px,84vw);
    padding:14px;border-radius:18px;border:1px solid rgba(255,255,255,.65);
    background:rgba(255,255,255,.72);backdrop-filter:saturate(180%) blur(16px);
    box-shadow:0 20px 46px rgba(15,23,42,.16);
    transform:translateX(110%);transition:transform .22s ease;z-index:190;
    display:flex;flex-direction:column;gap:10px;align-items:stretch;
  }
  body.pb-dark .pb-nav-drawer{background:rgba(15,23,42,.72);border-color:rgba(148,163,184,.18);} 

  /* 抽屉内按钮：改为纵向列表 */
  .pb-nav-drawer .pb-nav-pill{width:100%;justify-content:flex-start;padding:12px 14px;border-radius:14px;
    border:1px solid rgba(255,255,255,.65);background:rgba(255,255,255,.60);box-shadow:0 10px 22px rgba(15,23,42,.06);
    margin-left:0;
  }
  body.pb-dark .pb-nav-drawer .pb-nav-pill{background:rgba(15,23,42,.55);} 
  .pb-theme-toggle{width:100%;height:auto;}

  /* 打开状态 */
  body.pb-nav-open .pb-nav-drawer{transform:translateX(0);} 
  body.pb-nav-open .pb-nav-mask{opacity:1;pointer-events:auto;} 

  /* 移动端导航文字保持显示 */
  .pb-nav-txt{font-weight:700;}
}

.pb-theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:14px;border:1px solid var(--pb-border);margin-left:12px;background:rgba(255,255,255,.70);backdrop-filter:saturate(180%) blur(12px);box-shadow:0 10px 22px rgba(15,23,42,.06);} 
.pb-theme-toggle:hover{text-decoration:none;filter:brightness(.98);} 
body.pb-dark .pb-theme-toggle{background:rgba(15,23,42,.55);} 

.pb-nav a:hover{color:var(--pb-text);}
.pb-container{max-width:1100px;margin:18px auto;padding:0 14px;width:100%;flex:1;padding-top:calc(82px + env(safe-area-inset-top));}

/* 卡片：玻璃+微拟态（前台） */
.pb-card{position:relative;background:rgba(255,255,255,.82);border:1px solid rgba(31,35,40,.08);border-radius:18px;padding:20px;box-shadow:0 16px 34px rgba(15,23,42,.06), 0 1px 0 rgba(255,255,255,.65) inset;backdrop-filter:saturate(160%) blur(10px);} 
.pb-card:before{content:"";position:absolute;inset:-1px;border-radius:18px;background:radial-gradient(800px 240px at 10% 0%, rgba(79,140,255,.14), transparent 55%), radial-gradient(700px 220px at 90% 0%, rgba(168,85,247,.10), transparent 55%);pointer-events:none;}
.pb-card>*{position:relative;}
body.pb-dark .pb-card{background:rgba(15,23,42,.74);border:1px solid rgba(148,163,184,.18);} 

.pb-narrow{max-width:420px;margin:0 auto;}
.pb-subcard{margin-top:12px;}
.pb-muted{color:var(--pb-muted);font-size:13px;}
.pb-alert{padding:10px 12px;border-radius:10px;margin:10px 0;font-size:14px;}
.pb-alert-danger{background:#fff1f1;border:1px solid #ffd2d2;color:#b42318;}
.pb-input, select.pb-input{width:100%;padding:10px 12px;border:1px solid var(--pb-border);border-radius:10px;font-size:14px;outline:none;background:#fff;}
.pb-input:focus{border-color:rgba(79,140,255,.5);box-shadow:0 0 0 4px rgba(79,140,255,.12);} 
label{display:block;margin:10px 0 6px;font-size:13px;color:var(--pb-muted);} 
.pb-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 12px;border-radius:12px;border:1px solid rgba(31,35,40,.10);background:rgba(255,255,255,.86);color:var(--pb-text);cursor:pointer;font-size:14px;transition:transform var(--pb-dur) var(--pb-ease), box-shadow var(--pb-dur) var(--pb-ease), background var(--pb-dur) var(--pb-ease), border-color var(--pb-dur) var(--pb-ease);box-shadow:0 10px 20px rgba(15,23,42,.05);} 
.pb-btn:hover{background:rgba(255,255,255,.92);transform:translateY(-1px);box-shadow:0 14px 26px rgba(15,23,42,.08);} 
.pb-btn:active{transform:translateY(0);} 
.pb-btn-primary{background:linear-gradient(180deg, rgba(79,140,255,1) 0%, rgba(63,123,235,1) 100%);border-color:rgba(63,123,235,1);color:#fff;box-shadow:0 14px 28px rgba(79,140,255,.22);} 
.pb-btn-primary:hover{filter:brightness(.98);} 
.pb-btn-danger{border-color:rgba(229,83,83,.30);color:var(--pb-danger);} 
.pb-btn-danger:hover{background:rgba(229,83,83,.08);} 
.pb-btn-sm{padding:6px 8px;border-radius:8px;font-size:12px;}
.pb-row{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap;}
.pb-col{flex:1;min-width:280px;}
.pb-drop{border:2px dashed rgba(79,140,255,.38);border-radius:18px;padding:32px;text-align:center;cursor:pointer;background:radial-gradient(900px 240px at 50% 0%, rgba(79,140,255,.14), transparent 60%), radial-gradient(700px 220px at 90% 10%, rgba(168,85,247,.10), transparent 55%), linear-gradient(180deg, rgba(255,255,255,.92), rgba(251,252,255,.92));transition:transform var(--pb-dur) var(--pb-ease), border-color var(--pb-dur) var(--pb-ease), background var(--pb-dur) var(--pb-ease), box-shadow var(--pb-dur) var(--pb-ease);box-shadow:0 12px 26px rgba(15,23,42,.06);position:relative;overflow:hidden;}
.pb-drop:hover{border-color:rgba(79,140,255,.78);transform:translateY(-1px);}
.pb-drop.dragover{background:radial-gradient(900px 240px at 50% 0%, rgba(79,140,255,.20), transparent 60%), linear-gradient(180deg, rgba(240,246,255,.92), rgba(255,255,255,.92));border-color:rgba(79,140,255,1);animation:pbPulse 1.15s var(--pb-ease) infinite;} 

@keyframes pbPulse{0%{box-shadow:0 12px 26px rgba(15,23,42,.06);}50%{box-shadow:0 18px 36px rgba(79,140,255,.14);}100%{box-shadow:0 12px 26px rgba(15,23,42,.06);}}

/* 动画：列表项进入 */
@keyframes pbIn{from{opacity:0;transform:translateY(8px) scale(.99);}to{opacity:1;transform:translateY(0) scale(1);}}
.pb-anim-in{animation:pbIn var(--pb-dur-slow) var(--pb-ease) both;}

/* Toast 统一样式（替代 JS 内联） */
#pb-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:rgba(17,24,39,.92);color:#fff;padding:10px 14px;border-radius:12px;font-size:13px;z-index:9999;opacity:0;pointer-events:none;backdrop-filter:saturate(160%) blur(10px);box-shadow:0 14px 28px rgba(0,0,0,.18);}
#pb-toast.show{opacity:1;animation:pbToastIn var(--pb-dur) var(--pb-ease) both;}
@keyframes pbToastIn{from{transform:translateX(-50%) translateY(6px);opacity:0;}to{transform:translateX(-50%) translateY(0);opacity:1;}}

/* 返回顶部按钮 */
.pb-back-top{position:fixed;right:14px;bottom:18px;width:44px;height:44px;border-radius:14px;border:1px solid rgba(255,255,255,.65);background:rgba(255,255,255,.72);backdrop-filter:saturate(180%) blur(12px);box-shadow:0 14px 28px rgba(15,23,42,.10);color:rgba(31,35,40,.75);font-weight:900;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .2s ease, transform .2s ease, filter .2s ease;z-index:999;}
.pb-back-top.show{opacity:1;pointer-events:auto;transform:translateY(0);} 
.pb-back-top:hover{filter:brightness(.98);} 
body.pb-dark .pb-back-top{background:rgba(15,23,42,.55);border-color:rgba(148,163,184,.18);color:var(--pb-muted);} 
@media (min-width:768px){
  /* 电脑端：保持原来（隐藏手机端标题，不影响其它结构） */
  .pb-only-mobile{display:none !important;}

  /* 桌面端一般不需要，可按需保留；这里默认也显示 */
}

.pb-drop-title{font-weight:900;margin-bottom:8px;font-size:18px;letter-spacing:.2px;}
.pb-drop-sub{color:var(--pb-muted);font-size:13px;}
.pb-queue{margin-top:12px;display:flex;flex-direction:column;gap:8px;}
.pb-queue-item{border:1px solid var(--pb-border);border-radius:12px;padding:10px;display:flex;gap:10px;align-items:center;}

/* 上传结果（右侧面板）在各种设备可读 */
#pb-results .pb-result-item{flex-direction:column;align-items:stretch;}
#pb-results .pb-result-url-wrap{margin-top:2px;}
#pb-results .pb-result-url-input{width:100%;padding:8px 10px;border:1px solid var(--pb-border);border-radius:10px;font-size:13px;color:var(--pb-muted);background:#fff;white-space:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;}
#pb-results .pb-result-url-input:focus{border-color:rgba(79,140,255,.5);box-shadow:0 0 0 4px rgba(79,140,255,.12);outline:none;}
#pb-results .pb-result-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px;}
#pb-results .pb-result-actions .pb-btn{width:100%;justify-content:center;}

/* 手机端：按钮更大、更整齐（适配 iQOO 等窄屏） */
@media (max-width:640px){
  #pb-results .pb-result-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  #pb-results .pb-result-actions .pb-btn{padding:12px 10px;font-size:14px;border-radius:12px;}
  #pb-results .pb-result-url-input{padding:10px 12px;font-size:14px;border-radius:12px;}
  #pb-copy-all{width:100%;justify-content:center;padding:12px 12px;border-radius:14px;}
}
.pb-queue-name{flex:1;min-width:0;}
.pb-queue-name .t{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pb-queue-name .s{color:var(--pb-muted);font-size:12px;margin-top:2px;}
.pb-progress{height:8px;background:#eef2f6;border-radius:999px;overflow:hidden;margin-top:6px;}
.pb-progress>div{height:100%;width:0;background:var(--pb-primary);transition:width .2s;} 
body.pb-dark .pb-progress{background:rgba(148,163,184,.18);} 

.pb-badge{font-size:12px;padding:4px 8px;border-radius:999px;border:1px solid var(--pb-border);color:var(--pb-muted);} 
.pb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:12px;}
.pb-img-card{border:1px solid var(--pb-border);border-radius:12px;padding:10px;background:#fff;}
.pb-img-wrap{height:160px;border-radius:10px;overflow:hidden;background:#f6f8fa;display:flex;align-items:center;justify-content:center;}
.pb-img-wrap img{max-width:100%;max-height:100%;display:block;}
.pb-img-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.pb-filter{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0;}
.pb-filter .pb-input{max-width:240px;}
@media (max-width:640px){
  .pb-filter{flex-direction:column;align-items:stretch;gap:10px;}
  .pb-filter .pb-input{max-width:none;}
}
.pb-footer{padding:18px 14px;text-align:center;color:var(--pb-muted);margin-top:auto;} 
.pb-footer-inner{max-width:980px;margin:0 auto;padding:16px 14px;border-radius:16px;border:1px solid var(--pb-border);background:rgba(255,255,255,.70);backdrop-filter:saturate(160%) blur(10px);} 
body.pb-dark .pb-footer-inner{background:rgba(15,23,42,.58);}
@media (max-width:767px){
  /* 小屏端：标题保持显示（与桌面端分开写，避免互相影响） */
  .pb-only-mobile{display:block !important;}
  .pb-home-v2 .pb-home-sub{display:block;}

  /* 小屏端：标题/副标题更居中（仅影响首页两行文字） */
  .pb-home-title,
  .pb-home-sub{ text-align:center; }
  .pb-home-sub{ margin-left:auto; margin-right:auto; }

  /* 小屏端：只处理内容不被遮挡 */
  .pb-container{margin:12px auto;padding-top:calc(96px + env(safe-area-inset-top));}
  .pb-drop{padding:20px;}
}

/* 默认：手机端工具入口样式 */
.pb-v2-tools-grid{display:none;}
.pb-tools-legacy{margin-top:10px;}

.pb-m-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.pb-m-tool{display:flex;align-items:center;gap:10px;padding:12px 12px;border-radius:16px;border:1px solid rgba(255,255,255,.70);background:rgba(255,255,255,.62);backdrop-filter:saturate(160%) blur(10px);box-shadow:0 14px 28px rgba(15,23,42,.08);text-decoration:none;color:var(--pb-text);} 
.pb-m-tool:hover{text-decoration:none;filter:brightness(.99);} 
.pb-m-tool .txt{font-weight:800;letter-spacing:.2px;font-size:14px;}
.pb-m-tool .ico{width:34px;height:34px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;background:radial-gradient(circle at 30% 30%, rgba(79,140,255,.45), rgba(168,85,247,.18));}
body.pb-dark .pb-m-tool{background:rgba(15,23,42,.55);border-color:rgba(148,163,184,.18);} 

/* 4个简易图标（纯CSS） */
.pb-m-tool .ico:before{content:"";display:block;width:16px;height:16px;border-radius:4px;background:rgba(255,255,255,.85);} 
body.pb-dark .pb-m-tool .ico:before{background:rgba(226,232,240,.85);} 
.pb-m-tool .i-link:before{border-radius:3px;transform:rotate(0deg);} 
.pb-m-tool .i-b64:before{clip-path:polygon(0 0,100% 0,100% 35%,0 35%,0 0,0 65%,100% 65%,100% 100%,0 100%);} 
.pb-m-tool .i-zip:before{clip-path:polygon(35% 0,65% 0,65% 35%,100% 35%,100% 65%,65% 65%,65% 100%,35% 100%,35% 65%,0 65%,0 35%,35% 35%);} 
.pb-m-tool .i-wm:before{clip-path:polygon(10% 70%,35% 15%,50% 55%,65% 20%,90% 70%,70% 70%,62% 50%,50% 80%,38% 50%,30% 70%);} 

/* 手机端：队列仍保持旧版观感（不显示独立卡片头部） */
@media (max-width:767px){
  .pb-queue-panel{background:transparent;border:0;box-shadow:none;padding:0;}
  .pb-queue-panel:before{display:none;}
  .pb-queue-panel .pb-v2-panel-head{display:none;}
}

/* ===================== 电脑端首页（仅桌面端生效，手机端不变） ===================== */
@media (min-width:768px){
  /* 仅前台：更接近参考图的蓝紫渐变背景 */
  body:not(.pb-admin-body):not(.pb-dark){
    background:
      radial-gradient(1200px 520px at 18% 22%, rgba(120,196,255,.55), transparent 58%),
      radial-gradient(1000px 520px at 82% 18%, rgba(213,180,255,.62), transparent 60%),
      radial-gradient(1000px 520px at 82% 90%, rgba(162,220,255,.32), transparent 62%),
      linear-gradient(180deg,#eef6ff 0%, #edf2ff 55%, #eef3ff 100%);
  }

  .pb-container{max-width:1260px;margin:22px auto 24px;padding:0 18px;width:100%;flex:1;padding-top:96px;}

  /* 顶部导航：桌面端悬浮固定；左右分离 */
  .pb-topbar{top:14px;padding:0 18px;}
  .pb-topbar-inner{
    max-width:1260px;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.65);
    background:rgba(255,255,255,.58);
    backdrop-filter:saturate(180%) blur(16px);
    box-shadow:0 18px 40px rgba(15,23,42,.10);
    padding:12px 18px;
  }
  body.pb-dark .pb-topbar-inner{background:rgba(15,23,42,.62);border-color:rgba(148,163,184,.18);} 

  .pb-brand{font-size:20px;}

  /* 桌面端：展示 desktop logo + 站点名 */
  /* 电脑端 Logo 允许横向比例，避免被 object-fit:cover 裁切（手机端不动） */
  .pb-logo-desktop{display:block;width:96px;height:32px;border-radius:10px;object-fit:contain;padding:2px 8px;background:rgba(255,255,255,.35);}
  body.pb-dark .pb-logo-desktop{background:rgba(15,23,42,.28);} 
  /* 未配置 logo 时的占位块保持方形，避免变成一条长条 */
  .pb-logo-placeholder.pb-logo-desktop{width:32px;padding:0;background:linear-gradient(180deg, rgba(79,140,255,.35), rgba(168,85,247,.18));}

  .pb-logo-mobile{display:none;}
  .pb-brand-text{display:inline-block;}
  .pb-nav-desktop{display:flex;align-items:center;gap:10px;}
  .pb-nav-desktop .pb-nav-pill{
    margin-left:0;
    padding:10px 14px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.65);
    background:rgba(255,255,255,.55);
    backdrop-filter:blur(14px);
    box-shadow:0 12px 24px rgba(15,23,42,.08);
    color:rgba(31,35,40,.72);
    text-decoration:none;
  }
  body.pb-dark .pb-nav-desktop .pb-nav-pill{background:rgba(15,23,42,.55);border-color:rgba(148,163,184,.18);color:var(--pb-muted);} 
  .pb-nav-desktop .pb-nav-pill:hover{filter:brightness(.98);text-decoration:none;color:var(--pb-text);} 

  .pb-theme-toggle{width:auto;height:auto;border-radius:999px;}
  /* 桌面端导航文字显示；移动端可由布局自适应 */
  .pb-nav-txt{font-weight:700;}


  /* 首页：新版四宫格 */
  .pb-home.pb-home-v2{padding:22px;border-radius:22px;}
  .pb-home.pb-home-v2:before{border-radius:22px;background:radial-gradient(1100px 360px at 12% 0%, rgba(79,140,255,.16), transparent 62%), radial-gradient(980px 320px at 92% 0%, rgba(168,85,247,.14), transparent 62%);} 

  .pb-home-v2 .pb-home-title,
  .pb-home-v2 .pb-home-sub{display:none;}

  .pb-home-v2-grid{
    display:grid;
    grid-template-columns:minmax(520px,1.35fr) minmax(420px,.85fr);
    grid-template-areas:
      "upload results"
      "queue  tools";
    gap:16px;
    align-items:stretch;
  }
  .pb-home-v2-grid>.pb-col{display:contents;}

  /* 四个区域：upload / results / queue / tools */
  .pb-upload-panel{grid-area:upload;}
  .pb-results-panel{grid-area:results;}
  .pb-queue-panel{grid-area:queue;}
  .pb-tools-panel{grid-area:tools;}

  /* 子卡片统一玻璃质感（参考图风格） */
  .pb-home-v2 .pb-subcard,
  .pb-home-v2 .pb-upload-panel{
    position:relative;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.70);
    background:rgba(255,255,255,.58);
    backdrop-filter:saturate(170%) blur(16px);
    box-shadow:0 18px 36px rgba(15,23,42,.10);
    padding:16px;
    overflow:hidden;
  }
  .pb-home-v2 .pb-subcard:before,
  .pb-home-v2 .pb-upload-panel:before{content:"";position:absolute;inset:-1px;border-radius:18px;background:radial-gradient(900px 240px at 18% 0%, rgba(79,140,255,.14), transparent 60%), radial-gradient(900px 240px at 88% 0%, rgba(168,85,247,.10), transparent 62%);pointer-events:none;}
  .pb-home-v2 .pb-subcard>* ,
  .pb-home-v2 .pb-upload-panel>*{position:relative;}

  body.pb-dark .pb-home-v2 .pb-subcard,
  body.pb-dark .pb-home-v2 .pb-upload-panel{background:rgba(15,23,42,.62);border-color:rgba(148,163,184,.18);} 

  /* 上传面板里的拖拽框更大一些 */
  .pb-upload-panel #pb-drop{min-height:240px;border-radius:18px;padding:44px;}

  /* 队列卡片标题 */
  .pb-v2-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
  .pb-v2-panel-title{font-size:18px;font-weight:900;letter-spacing:.2px;}
  .pb-v2-panel-more{color:var(--pb-muted);font-weight:700;letter-spacing:2px;user-select:none;}

  .pb-queue-item{padding:12px 12px;border-radius:14px;}

  /* 上传结果：PC 端 2x2 按钮 */
  #pb-results .pb-result-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  #pb-results .pb-result-actions .pb-btn{padding:10px 10px;font-size:13px;border-radius:12px;}

  /* 工具区：2x2 小卡片 */
  .pb-v2-tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .pb-tool-tile{
    display:block;
    padding:14px 14px;
    border-radius:16px;
    border:1px solid rgba(255,255,255,.70);
    background:rgba(255,255,255,.55);
    backdrop-filter:blur(14px);
    box-shadow:0 14px 28px rgba(15,23,42,.08);
    text-decoration:none;
    min-height:92px;
    position:relative;
    overflow:hidden;
  }
  body.pb-dark .pb-tool-tile{background:rgba(15,23,42,.55);border-color:rgba(148,163,184,.18);} 
  .pb-tool-tile:hover{text-decoration:none;transform:translateY(-1px);}
  .pb-tool-tile .t{font-weight:900;color:var(--pb-text);}
  .pb-tool-tile .s{margin-top:6px;color:var(--pb-muted);font-size:13px;}

  /* 电脑版首页：按需求移除工具卡片右侧四个装饰性图标 */
  .pb-home-v2 .pb-tool-tile:after{
    content:none;
    display:none;
  }

  /* 桌面端隐藏旧版“实用工具”按钮区 */
  .pb-tools-legacy{display:none;}
}
