:root{
  /* paleta jak w kalkulatorze */
  --bg:#0a0f14;
  --bg-2:#06090c;
  --card:#12171d;
  --card-2:#0f141a;
  --text:#eaf2ff;
  --muted:#a8bed8;
  --accent:#2e8cff;
  --radius:16px;
  --shadow:0 10px 30px rgba(0,0,0,.35);
}
/* pełna wysokość jak w kalkulatorze */
*{box-sizing:border-box}
html, body { height:100%; }
body{
  min-height:100svh;       /* brak ułamkowego „pod-scrolla” */
  margin:0;
  color:var(--text);
  overflow-x:hidden;

  /* tło 1:1 jak w kalkulatorze */
  background:
    radial-gradient(1000px 600px at 15% -10%, color-mix(in oklab, var(--accent) 22%, transparent), transparent 65%),
    linear-gradient(180deg, var(--bg), var(--bg-2));
  background-attachment: fixed;
}

/* Ograniczenie maksymalnej wysokości i dodanie scrolla */
.ac-hints {
  max-height: 300px;
  overflow-y: auto;
}

/* Lepsze zarządzanie scrollowaniem dla modalów */
.adm-modal__body {
  overflow-y: auto;
  overscroll-behavior: contain;
}
/* landing (bez zmian funkcjonalnych) */
.wrap{max-width:1200px;margin: auto;padding:32px 20px 80px;}
header{display:flex;align-items:center;gap:16px;justify-content:center;margin-bottom:22px;}
header img{width:42px;height:42px;object-fit:contain;filter: drop-shadow(0 4px 10px rgba(0,0,0,.35));}
header h1{margin:0;font-size: clamp(22px, 3.2vw, 28px);letter-spacing:.2px}
header p{margin:2px 0 0;color:var(--muted);font-size:14px;text-align:center}
.sub{display:flex;flex-direction:column;align-items:center;margin-top:-6px;margin-bottom:24px}
.grid{display:grid;grid-template-columns: repeat(3, minmax(0,1fr));gap:28px}
@media (max-width: 960px){.grid{grid-template-columns: repeat(2, minmax(0,1fr));}}
@media (max-width: 640px){.grid{grid-template-columns: 1fr;}}
a.card{position:relative;display:flex;flex-direction:column;border-radius:16px;background: linear-gradient(180deg, var(--card), var(--card-2));box-shadow: var(--shadow);overflow:hidden;text-decoration:none;color:inherit;transition: transform .15s ease, box-shadow .15s ease}
a.card:hover{ transform: translateY(-2px); box-shadow: 0 16px 40px rgba(0,0,0,.45)}
.card__top{display:grid;place-items:center;height:120px}
.card__icon{width:46px;height:46px;opacity:.95}
.card__icon-img{width:48px;height:48px;object-fit:contain}
.card__body{padding:22px;border-top:1px solid rgba(255,255,255,.06)}
.card__title{font-weight:700;font-size:20px;margin:0 0 4px}
.card__desc{margin:0;color:var(--muted);font-size:14px}
footer{text-align:center;color:var(--muted);font-size:12px;margin-top:36px;opacity:.8}
