:root {
  --yd-ink: #07111F;
  --yd-ink-soft: #101E30;
  --yd-cyan: #51DDF5;
  --yd-blue: #0757D9;
  --yd-jade: #89E0D0;
  --yd-paper: #F4F8FC;
  --yd-white: #FFFFFF;
  --yd-text: #10223A;
  --yd-muted: #53647C;
  --yd-line: #D8E2ED;
  --yd-dark-text: #EFF6FF;
  --yd-dark-muted: #A3B4CB;
  --yd-dark-line: #263B53;
  --yd-success: #087A5A;
  --yd-warning: #935400;
  --yd-error: #BE263A;
  --yd-font: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', Arial, sans-serif;
  --yd-mono: 'SFMono-Regular', Consolas, monospace;
  --yd-radius-sm: 8px;
  --yd-radius-md: 14px;
  --yd-radius-lg: 24px;
  --yd-space-unit: 4px;
  --yd-control-height: 44px;
  --yd-duration: 180ms;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: var(--yd-font); color: var(--yd-text); background: var(--yd-paper); -webkit-font-smoothing: antialiased; }
button, input, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .45; }
a { color: inherit; text-decoration: none; }
:focus-visible { outline: 3px solid var(--yd-blue); outline-offset: 4px; }
[data-theme='dark'] :focus-visible, .dark :focus-visible { outline-color: var(--yd-cyan); }
.yd-button { display: inline-flex; justify-content:center; align-items:center; gap:12px; min-height:44px; padding:12px 22px; border:1px solid transparent; border-radius:var(--yd-radius-sm); background:var(--yd-blue); color:white; font-weight:600; line-height:1.3; transition:background var(--yd-duration), transform var(--yd-duration); }
.yd-button:hover { background:#0649B7; }
.yd-button:active { transform:translateY(1px); }
.yd-button.secondary { color:var(--yd-text); background:white; border-color:var(--yd-line); }
.yd-button.secondary:hover { background:var(--yd-paper); }
.yd-button.cyan { color:var(--yd-ink); background:var(--yd-cyan); }
.yd-button.cyan:hover { background:#85E8F8; }
.yd-button.ghost { color:inherit; background:transparent; border-color:currentColor; }
.yd-input { width:100%; min-height:44px; border:1px solid var(--yd-line); border-radius:8px; padding:12px 14px; background:white; color:var(--yd-text); }
.yd-input::placeholder { color:var(--yd-muted); }
.yd-badge { display:inline-flex; align-items:center; gap:6px; padding:5px 9px; border-radius:6px; font-size:12px; font-weight:600; background:#E6F6F0; color:var(--yd-success); }
.yd-badge.warning { background:#FFF2D9; color:var(--yd-warning); }
.yd-badge.error { background:#FDECEF; color:var(--yd-error); }
.yd-badge.info { background:#E8F0FF; color:var(--yd-blue); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(prefers-reduced-motion:reduce) { html{scroll-behavior:auto} *,*::before,*::after{animation:none!important;transition:none!important} }
