/* ── Reset ── */
*{box-sizing:border-box;margin:0;padding:0}
body{background:#f6f9fc;font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;overflow-x:hidden}

/* ── Design Tokens ── */
:root {
  --ps-muted: #5f6470;
  --ps-r-input: 8px;
  --ps-shadow-2: 0 2px 8px rgba(10, 37, 64, 0.08);
  --ps-ring: 0 0 0 3px rgba(99, 91, 255, 0.3);
  --ps-surface-2: #f6f9fc;
  --grid-2: 1fr 1fr;
  --grid-3: 1fr 1fr 1fr;

  /* Spacing scale */
  --ps-3: 12px;
  --ps-6: 24px;
  --ps-8: 32px;
  --ps-10: 48px;

  /* Colors */
  --ps-text: #0a2540;
  --ps-text-2: #425466;
  --ps-primary: #635bff;
  --ps-border: #e3e8ee;
  --ps-border-2: #c1c9d2;
  --ps-surface: #fff;

  /* Shadows & radii */
  --ps-shadow-1: 0 1px 3px rgba(0,0,0,0.04);
  --ps-r-2: 12px;
}

/* ── Animation ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.fade-up{animation:fadeUp 0.25s ease-out forwards}

/* ── Layout ── */
.ps-container{max-width:1080px;margin:0 auto;padding:0 24px;width:100%}
.ps-main{max-width:760px;margin:0 auto;padding:48px 24px;width:100%}

/* ── Page Header ── */
.ps-page-header{margin-bottom:32px}
.ps-kicker{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;color:#635bff;margin-bottom:8px}
.ps-h1,.ps-page-title{font-size:clamp(24px,4vw,36px);font-weight:700;letter-spacing:-0.025em;margin-bottom:12px;color:#0a2540;line-height:1.15}
.ps-lead,.ps-page-desc{font-size:clamp(14px,2vw,16px);color:#425466;margin-bottom:40px;line-height:1.6;max-width:540px}

/* ── Card ── */
.ps-card{background:#fff;border:1px solid #e3e8ee;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,0.04);transition:border-color 160ms ease,box-shadow 160ms ease}
.ps-card:hover{box-shadow:var(--ps-shadow-2)}
.ps-card:focus-visible{outline:none;border-color:rgba(99,91,255,0.55);box-shadow:var(--ps-ring)}
.ps-card-pad{padding:20px;margin-bottom:16px}

/* ── Section Title ── */
.ps-section-title{display:flex;align-items:center;gap:12px;margin-bottom:16px;margin-top:32px}

/* ── Divider ── */
.ps-divider{border:none;border-top:1px solid #e3e8ee;margin:32px 0}

/* ── Button ── */
.ps-btn{min-height:44px;padding:12px 24px;background:#635bff;color:#fff;border:none;border-radius:8px;font-size:14px;cursor:pointer;font-family:'Inter',sans-serif;font-weight:600;transition:all 0.15s;box-shadow:0 1px 3px rgba(99,91,255,0.24);display:inline-flex;align-items:center;white-space:nowrap}
.ps-btn:focus-visible{outline:none;box-shadow:var(--ps-ring)}
.ps-btn-secondary{padding:12px 24px;background:transparent;color:#635bff;border:1px solid #e3e8ee;border-radius:8px;font-size:14px;cursor:pointer;font-family:'Inter',sans-serif;font-weight:600;transition:all 0.15s}

/* ── Label ── */
.ps-label{display:block;font-size:14px;font-weight:500;color:#0a2540;margin-bottom:8px}

/* ── Input ── */
.ps-input,.ps-select,.ps-textarea{width:100%;padding:10px 12px;background:#fff;border:1px solid #e3e8ee;border-radius:var(--ps-r-input);color:#0a2540;font-size:16px;outline:none;font-family:'Inter',sans-serif;transition:border 0.15s}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
input,textarea,select{-webkit-appearance:none;appearance:none;font-size:16px !important}

/* ── Pill / Chip ── */
.ps-pill-row{display:flex;gap:8px;flex-wrap:wrap}
.ps-pill{padding:8px 14px;border:1px solid #e3e8ee;background:#fff;color:#425466;border-radius:20px;cursor:pointer;font-size:14px;font-family:'Inter',sans-serif;font-weight:500;white-space:nowrap;min-height:40px;display:inline-flex;align-items:center;transition:all 0.15s}
.ps-pill.is-active{border-color:#635bff;background:#635bff10;color:#635bff}
.ps-pill:focus-visible{outline:none;box-shadow:var(--ps-ring)}
.ps-chip{min-height:40px;display:inline-flex;align-items:center}
.ps-chip:focus-visible{outline:none;box-shadow:var(--ps-ring)}

/* ── Subtabs ── */
.ps-subtabs{display:flex;gap:8px;margin-bottom:32px;flex-wrap:wrap}
.ps-subtab{padding:10px 18px;font-size:14px;font-weight:500;cursor:pointer;border-radius:8px;transition:all 0.15s;font-family:'Inter',sans-serif;min-height:44px;display:inline-flex;align-items:center;border:1px solid #e3e8ee;background:#fff;color:#425466}

/* ── Call-to-action Wrap ── */
.ps-callwrap{background:linear-gradient(135deg,#635bff08,#80e9ff08);border:1px solid #635bff25;border-radius:16px;padding:32px;margin-top:40px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}

/* ── Grid Utilities ── */
.ps-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ps-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.ps-grid-form{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ps-grid-form-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}
.ps-grid-sym{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ps-grid-stat{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}

/* ── Table ── */
.ps-table th,.ps-table td{padding:14px 18px}
.ps-table tbody tr:hover td{background:var(--ps-surface-2)}

/* ── Footer ── */
.ps-footer{border-top:1px solid var(--ps-border);margin-top:auto;padding:24px 0;font-size:14px;color:var(--ps-text-2)}
.ps-footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.ps-footnote{color:var(--ps-text-2)}
.ps-footlinks a{color:var(--ps-primary);text-decoration:none;font-weight:500}
.ps-footlinks a:hover{text-decoration:underline}

/* ── Reduced Motion ── */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;transition-duration:0.01ms !important}}

/* ── Responsive ── */
@media(max-width:900px){.ps-main{padding:32px 20px}.ps-grid-form-3{grid-template-columns:1fr 1fr}}
@media(max-width:640px){
  .ps-main{padding:24px 16px}
  .ps-grid-2,.ps-grid-3,.ps-grid-form,.ps-grid-form-3,.ps-grid-stat{grid-template-columns:1fr !important;gap:12px}
  .ps-grid-sym{grid-template-columns:1fr !important;gap:10px}
  .ps-callwrap{padding:24px;flex-direction:column;align-items:flex-start}
  :root{--grid-2:1fr;--grid-3:1fr}
}
@media(max-width:600px){
  .source-card-header{flex-direction:column !important;align-items:flex-start !important}
  .source-card-link{align-self:flex-start !important}
  .source-card-icon{display:none !important}
}
@media(max-width:720px){.ps-input,.ps-select,.ps-textarea{font-size:16px}}