:root{
  --sky:#cfeafa; --sky2:#aedcf6; --paper:#fdf6e0; --paper2:#fbecc6;
  --navy:#1b3f7a; --navy2:#2c5fa8; --ink:#173252; --ink-soft:#5a7593;
  --red:#e0362c; --edge:#1b3f7a; --shadow:0 3px 0 rgba(27,63,122,.18), 0 10px 22px rgba(27,63,122,.16);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --sky:#102a3f; --sky2:#0b1e2f; --paper:#1b3550; --paper2:#22415f;
    --navy:#bcd9f5; --navy2:#8fbde8; --ink:#e9f2fa; --ink-soft:#9ab6d1; --edge:#3c6796;
    --shadow:0 3px 0 rgba(0,0,0,.3), 0 10px 22px rgba(0,0,0,.4);
  }
}
*{box-sizing:border-box}
/* Typografie: jedna rodina Roboto, rozlisuje se jen vahou (900 nadpis, 700 duraz, 400 text) */
:root{--font-display:Roboto,"Helvetica Neue",Arial,system-ui,sans-serif;--font-text:Roboto,"Helvetica Neue",Arial,system-ui,sans-serif}
body{margin:0;min-height:100vh;background:linear-gradient(var(--sky),var(--sky2));color:var(--ink);
  font-family:var(--font-text)}
h1{font-family:var(--font-display);font-weight:900}
h2{font-family:var(--font-display);font-weight:700}
.go,.badge{font-family:var(--font-display);font-weight:700}
.wrap{max-width:980px;margin:0 auto;padding:18px 14px 40px;display:flex;flex-direction:column;gap:14px}
.plate{background:var(--paper);border:3px solid var(--edge);border-radius:18px;box-shadow:var(--shadow)}
header{display:flex;align-items:center;gap:14px;padding:14px 18px}
.globe{font-size:34px;line-height:1}
h1{margin:0;font-size:clamp(23px,4vw,32px);color:var(--navy);text-transform:uppercase;letter-spacing:.5px}
.sub{margin:2px 0 0;font-family:var(--font-text);color:var(--ink-soft);font-weight:400;font-size:14px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}
.card{display:flex;flex-direction:column;gap:6px;background:var(--paper);border:3px solid var(--edge);
  border-radius:18px;box-shadow:var(--shadow);padding:16px 18px;text-decoration:none;color:var(--ink)}
.card:hover{border-color:var(--red);transform:translateY(-2px)}
.card h2{margin:0;font-size:22px;color:var(--navy)}
.card p{margin:0;font-family:var(--font-text);font-size:14px;font-weight:400;color:var(--ink-soft);line-height:1.45}
.badge{align-self:flex-start;background:var(--paper2);color:var(--navy2);font-size:13px;
  text-transform:uppercase;letter-spacing:.1em;border-radius:999px;padding:4px 11px}
.go{margin-top:auto;padding-top:8px;font-size:16px;color:var(--red)}
.card.soon{opacity:.72}.card.soon .go{color:var(--ink-soft)}
.card{transition:transform .12s ease,border-color .12s ease}
.foot{text-align:center;color:var(--navy2);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.07em}
