/* FALLBACK tokens + base components — loaded BEFORE base.css so the
   official stylesheet overrides when present, but the site still renders
   correctly (incl. on mobile) if the CDN is unreachable. */
:root{
  --primary:#28AAE1; --primary-dark:#1f8fc0; --accent:#fbb041; --text:#1a2636; --muted:#6b7c8f;
  --border:#e3eaf1; --card:#ffffff; --bg:#f6f9fc; --radius:14px; --radius-pill:999px;
  --shadow:0 2px 14px rgba(20,40,70,.07); --font:'Heebo','Segoe UI',Arial,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;font-size:16px}
header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;background:var(--primary);border-bottom:none;position:sticky;top:0;z-index:20;flex-wrap:wrap}
.logo{font-weight:800;font-size:1.4rem;color:#fff}
.logo-img{height:38px;width:38px;border-radius:9px;display:block;object-fit:cover}
.logo-dot{color:var(--accent)}
.header-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.header-main-link{color:rgba(255,255,255,.85);font-size:.82rem;text-decoration:none}
.header-main-link:hover{color:#fff}
.header-sub{color:#fff;opacity:.92;font-size:.9rem}
.lang-switcher{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-pill);overflow:hidden}
.lang-btn{border:none;background:#fff;padding:6px 13px;font-family:var(--font);font-size:.82rem;cursor:pointer;color:var(--muted);min-height:32px}
.lang-btn.active{background:var(--primary);color:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:var(--radius-pill);padding:11px 22px;font-family:var(--font);font-size:.95rem;font-weight:600;cursor:pointer;border:1px solid var(--primary);transition:all .15s;text-decoration:none;min-height:44px}
.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}
.btn-primary:hover{background:var(--primary-dark)}
.btn-outline{background:#fff;color:var(--primary);border-color:var(--primary)}
.btn-outline:hover{background:#f0f8fd}
.btn-ghost{background:transparent;color:var(--muted);border-color:transparent}
.btn-sm{padding:8px 16px;font-size:.85rem;min-height:38px}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius)}
.section-header{font-size:1.3rem;color:var(--text);margin:26px 0 14px;font-weight:700}
.note{border-radius:var(--radius);padding:14px 18px;margin:14px 0;border-inline-start:4px solid var(--primary);background:#f0f9fe;line-height:1.6}
.note-info{border-inline-start-color:var(--primary);background:#f0f9fe}
.note-warning{border-inline-start-color:var(--accent);background:#fdf6e9}
.site-footer{background:#fff;border-top:1px solid var(--border);margin-top:40px}
.footer-content{max-width:1000px;margin:0 auto;padding:20px;color:var(--muted);font-size:.85rem;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.footer-content p{margin:0}
.footer-content nav{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.footer-content a{color:var(--muted);text-decoration:none}
.footer-content a:hover{color:var(--primary)}
.skip-to-content{position:absolute;right:-9999px;top:0;background:var(--primary);color:#fff;padding:10px 16px;border-radius:0 0 8px 0;z-index:50}
.skip-to-content:focus{right:0}
:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
