
:root{
  --primary:#00678E;
  --primary-600:#005977;
  --bg:#f7fbfd;
  --card:#fff;
  --card-border:#e6eff4;
  --text:#0f1b2d;
  --muted:#5b6b7a;
}
*{box-sizing:border-box}html,body{margin:0;padding:0}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,'Helvetica Neue',Arial,'Noto Sans',sans-serif; background:var(--bg); color:var(--text); line-height:1.6}
.container{max-width:1100px;margin:0 auto;padding:1.25rem}
header.site-header{background:linear-gradient(180deg,#e9f4f9 0%,#f7fbfd 100%); border-bottom:1px solid var(--card-border)}
.topbar{display:flex;align-items:center;gap:1rem;padding:1rem 0;flex-wrap:wrap}
.topbar img.logo{height:56px;width:auto}
nav a{margin-right:1rem;text-decoration:none;color:var(--primary);font-weight:600}
nav a:hover{text-decoration:underline}

.hero{background:var(--card);border:1px solid var(--card-border);border-radius:20px;overflow:hidden;display:grid;gap:0;box-shadow:0 10px 25px rgba(0,0,0,.05)}
.hero img{width:100%;height:100%;object-fit:cover;display:block;min-height:240px}
.hero .content{padding:1.25rem 1.25rem 1.5rem 1.25rem}
.badge{display:inline-block;background:var(--primary);color:#fff;padding:.25rem .6rem;border-radius:999px;font-size:.85rem;letter-spacing:.02em}
h1{font-size:clamp(1.6rem, 2vw + 1rem, 2.2rem);margin:.5rem 0}
.subtitle{color:var(--muted)}
.cta-bar{display:flex;gap:.75rem;margin-top:1rem;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1rem;border-radius:12px;text-decoration:none;font-weight:700;border:1px solid var(--primary)}
.btn.primary{background:var(--primary);color:#fff}
.btn.primary:hover{background:var(--primary-600)}
.btn.ghost{background:#fff;color:var(--primary)}
.btn.small{padding:.5rem .75rem;font-weight:600;border-radius:10px}

.section{margin-top:1.5rem}
.card{background:var(--card);border:1px solid var(--card-border);border-radius:16px;padding:1rem}
.card h3{margin-top:.25rem}
.alert{border-left:4px solid var(--primary);background:#eef7fb;padding:.75rem 1rem;border-radius:8px}
.notice{font-size:.95rem;color:var(--muted)}

.grid-2{display:grid;gap:1rem}
.grid-2 .col{min-width:0}
@media(min-width:900px){ .grid-2{grid-template-columns:1.4fr 1fr} }

.hero{grid-template-columns:1fr}
@media(min-width:900px){ .hero{grid-template-columns:1.1fr 0.9fr} }

.kv{display:grid;grid-template-columns:160px 1fr;gap:.5rem .75rem}
.kv div:nth-child(odd){color:var(--muted)}
@media(max-width:520px){ .kv{grid-template-columns:120px 1fr} }

ul.rules{padding-left:1.2rem;margin:.25rem 0}
.year-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:.5rem 0 1rem 0}
.table{width:100%;border-collapse:collapse;font-size:.95rem}
.table th,.table td{border-bottom:1px solid var(--card-border);padding:.5rem .4rem;text-align:left}
.table th{color:var(--muted);font-weight:600}

.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}
.gallery-grid a{display:block}
.gallery-grid img{width:100%;height:160px;object-fit:cover;border-radius:12px;border:1px solid var(--card-border)}

.footer{margin-top:2rem;border-top:1px solid var(--card-border);background:#f4f8fb}
.small{font-size:.9rem}.center{text-align:center}
a.external::after{content:"↗";font-weight:700;margin-left:.25rem}
