body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  -webkit-font-smoothing:antialiased;
  --accentBase:#5B67C7;
  --accent:var(--accentBase);
  --accent-soft:color-mix(in srgb,var(--accent) 10%,transparent);
  --accent-soft2:color-mix(in srgb,var(--accent) 18%,transparent);
  --bg:#f6f7f8;--panel:#ffffff;--panel2:#fbfbfc;--border:#e7e9eb;
  --text:#1d232a;--text2:#66707c;--text3:#9aa4ae;
  --danger:#d6504a;--danger-soft:rgba(214,80,74,.1);
  --hover:rgba(20,30,40,.045);
  --shadow:0 12px 40px rgba(15,25,35,.16);
  background:var(--bg);color:var(--text);
}
body[data-pd-theme="dark"]{
  --accent:color-mix(in srgb,var(--accentBase) 68%,#c9d0f5);
  --bg:#131619;--panel:#1b2026;--panel2:#171b20;--border:#2a3038;
  --text:#e7eaed;--text2:#99a3ad;--text3:#69737d;
  --danger:#e2726c;--danger-soft:rgba(226,114,108,.14);
  --hover:rgba(255,255,255,.055);
  --shadow:0 16px 48px rgba(0,0,0,.55);
}
*{box-sizing:border-box}
button{font-family:inherit;cursor:pointer}
input,textarea,select{font-family:inherit;color:inherit}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
::placeholder{color:var(--text3)}
@keyframes pdPop{0%{transform:scale(.5)}55%{transform:scale(1.3)}100%{transform:scale(1)}}
@keyframes pdFadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes pdSlideL{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:none}}
@keyframes pdSlideUp{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}
@keyframes pdFade{from{opacity:0}to{opacity:1}}
@keyframes pdScaleIn{from{opacity:0;transform:scale(.96) translateY(12px)}to{opacity:1;transform:none}}
@keyframes pdFlash{0%{background:var(--accent-soft2);border-color:var(--accent)}70%{background:var(--accent-soft2);border-color:var(--accent)}100%{background:var(--panel);border-color:var(--border)}}
@keyframes pdShimmer{0%{opacity:.4}50%{opacity:.9}100%{opacity:.4}}
@keyframes pdToast{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}

/* 悬停/焦点态(设计稿中的 style-hover / style-focus) */
.pd-hoverable{transition:background .15s,border-color .15s,color .15s,opacity .15s,filter .15s}
.pd-hover-bg:hover{background:var(--hover)}
.pd-hover-border:hover{border-color:var(--text3)!important}
.pd-hover-accent:hover{border-color:var(--accent)!important;color:var(--accent)!important}
.pd-hover-accent-border:hover{border-color:var(--accent)!important}
.pd-hover-danger:hover{color:var(--danger)!important;background:var(--danger-soft)}
.pd-hover-danger-border:hover{color:var(--danger)!important;border-color:var(--danger)!important}
.pd-hover-bright:hover{filter:brightness(1.08)}
.pd-active-press:active{transform:scale(.98)}
.pd-active-press-sm:active{transform:scale(.95)}
.pd-focus-accent:focus{border-color:var(--accent)!important}
.pd-focus-accent:focus-within{border-color:var(--accent)!important}
.pd-hover-op:hover{opacity:.8!important;background:var(--hover)}
.pd-hover-danger-x:hover{color:var(--danger)!important;opacity:1!important}
.pd-hover-dash:hover{border-color:var(--text3)!important}
