/* Pay Docly — design tokens, reset and shared primitives.
   Loaded by every page, before the page-specific stylesheet. */

:root{
  --brand:#2563eb;
  --brand-2:#1d4ed8;
  --brand-soft:#eff6ff;
  --success:#16a34a;
  --success-soft:#ecfdf3;
  --danger:#dc2626;
  --danger-soft:#fef2f2;
  --warning:#d97706;
  --warning-soft:#fff7ed;
  --ink:#111827;
  --muted:#667085;
  --muted-2:#98a2b3;
  --line:#e4e7ec;
  --panel:#ffffff;
  --bg:#f6f8fb;
  --bg-2:#eef2f7;
  --shadow-sm:0 1px 2px rgba(16,24,40,.05);
  --shadow:0 10px 28px rgba(16,24,40,.08);
  --shadow-lg:0 24px 60px rgba(16,24,40,.14);
  --radius:16px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}
html{scroll-behavior:smooth}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
body{overflow-x:hidden}
a{color:var(--brand)}
:focus-visible{outline:3px solid #84adff;outline-offset:2px}

.skip-link{
  position:absolute;left:-9999px;top:0;z-index:100;background:#111827;color:#fff;padding:12px 18px;border-radius:0 0 10px 0;font-weight:800;font-size:13px;text-decoration:none
}
.skip-link:focus{left:0}
.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}
img{max-width:100%}

@media(prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
  html{scroll-behavior:auto}
}

/* Support / donate button — shared by the app and the content pages */
.support-btn{
  display:inline-flex;align-items:center;gap:8px;background:var(--brand);color:#fff;
  border-radius:10px;padding:10px 15px;font-weight:800;font-size:13px;text-decoration:none;
  box-shadow:var(--shadow-sm);transition:.18s ease;white-space:nowrap
}
.support-btn:hover{background:var(--brand-2);color:#fff;transform:translateY(-1px)}
.support-btn .cup{font-size:15px;line-height:1}
.support{
  border-top:1px solid var(--line);margin-top:18px;padding-top:18px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap
}
.support p{font-size:12px;color:var(--muted);margin:0;max-width:56ch;line-height:1.7}
.support strong{color:var(--ink)}
@media(max-width:640px){
  .support{flex-direction:column;align-items:flex-start}
  .support-btn{width:100%;justify-content:center}
}
