:root { --fg:#1a2b33; --bg:#ffffff; --accent:#0a6b7c; --muted:#5b6b72; --line:#e2e8ea; }
* { box-sizing: border-box; }
body { margin:0; font:16px/1.6 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color:var(--fg); background:var(--bg); }
a { color: var(--accent); }
main { max-width: 820px; margin: 0 auto; padding: 1.5rem; }
.site-header, .site-footer { max-width: 820px; margin: 0 auto; padding: 1rem 1.5rem; }
.site-header { display:flex; flex-wrap:wrap; gap:.75rem 1.5rem; align-items:baseline; border-bottom:1px solid var(--line); }
.brand { font-weight:700; font-size:1.15rem; text-decoration:none; color:var(--fg); }
.site-nav { display:flex; flex-wrap:wrap; gap:1rem; }
.site-nav a { text-decoration:none; }
.site-nav a:hover, .site-nav a:focus { text-decoration:underline; }
.site-footer { border-top:1px solid var(--line); margin-top:2rem; color:var(--muted); font-size:.9rem; }
.site-footer nav { display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:.5rem; }
h1 { font-size:1.6rem; }
table { border-collapse: collapse; }
th, td { text-align:left; padding:.3rem .8rem .3rem 0; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
@media (max-width:600px){ .site-header{flex-direction:column;} }
.cookie-bar{position:fixed;left:0;right:0;bottom:0;background:#0f2b33;color:#fff;padding:1rem 1.5rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;z-index:1000;}
.cookie-bar a{color:#9fe0ec;}
.cookie-actions{display:flex;gap:.5rem;}
.cookie-bar button{padding:.5rem 1rem;border:0;border-radius:6px;cursor:pointer;font:inherit;}
.btn-primary{background:#12a3bd;color:#fff;} .btn-secondary{background:#48606a;color:#fff;}
