:root{--bg:#071a33;--bg2:#0d2a4f;--fg:#eaf3ff;--mut:#9db6d4;--ac:#22d3ee;--card:#0f2d55;--bd:#1c4373}
[data-theme=light]{--bg:#f4f8fc;--bg2:#fff;--fg:#0a2240;--mut:#51667f;--ac:#0369a1;--card:#fff;--bd:#d3e0ee}
*{box-sizing:border-box}body{margin:0;font:16px/1.6 system-ui,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--fg)}
a{color:var(--ac)}.wrap{max-width:1080px;margin:auto;padding:16px}.muted{color:var(--mut)}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;color:#000;padding:8px;z-index:9}
.hdr{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--bg2);border-bottom:1px solid var(--bd);position:sticky;top:0;z-index:1000;flex-wrap:wrap}
.brand{text-decoration:none;color:var(--fg);font-size:1.2rem}.brand small{display:block;font-size:.65rem;color:var(--mut);letter-spacing:.1em;text-transform:uppercase}
#nav{display:none;width:100%;flex-direction:column;gap:4px;padding-top:8px}#nav.open{display:flex}#nav a{color:var(--fg);text-decoration:none;padding:8px 0}
button,.chip{cursor:pointer}#navbtn,#theme{background:none;border:1px solid var(--bd);color:var(--fg);border-radius:8px;padding:6px 10px;font-size:1rem}
@media(min-width:820px){#navbtn{display:none}#nav{display:flex!important;flex-direction:row;width:auto;align-items:center;gap:16px;padding:0}}
.hero{padding:40px 0;text-align:center}.hero h1{font-size:clamp(1.8rem,5vw,3rem);margin:0 0 8px}
.search,.row{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.hero .search{justify-content:center}
input,select,textarea,button{font:inherit;padding:10px 12px;border-radius:10px;border:1px solid var(--bd);background:var(--card);color:var(--fg)}
.search input,.search-in{flex:1;min-width:200px}.search-in{width:100%;margin:8px 0}
button[type=submit],form button:not([id]),.search button{background:var(--ac);color:#041225;border:0;font-weight:600}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin:12px 0}
.card{display:flex;flex-direction:column;gap:2px;background:var(--card);border:1px solid var(--bd);border-radius:14px;padding:14px;text-decoration:none;color:var(--fg);box-shadow:0 4px 14px #0003;transition:transform .15s}
a.card:hover{transform:translateY(-2px)}.flag{font-size:1.8rem}.flag.big{font-size:3rem}.tiles .card{align-items:center;text-align:center}
.chip{display:inline-block;border:1px solid var(--bd);border-radius:20px;padding:4px 12px;margin:3px;text-decoration:none;background:var(--card)}
.map{height:340px;border-radius:14px;border:1px solid var(--bd);margin:12px 0}.map.tall{height:65vh;min-height:360px}
.tbl{width:100%;border-collapse:collapse}.tbl th,.tbl td{padding:8px;border-bottom:1px solid var(--bd);text-align:left}.scroll{overflow-x:auto}
.crumbs,.back{font-size:.9rem;color:var(--mut);display:inline-block;margin-bottom:4px}
.error{color:#ff8a8a}.ok{color:#6ee7a0}.stack{display:grid;gap:12px;max-width:520px}.stack label{display:grid;gap:4px}.hp{position:absolute;left:-9999px}
.bar{display:grid;grid-template-columns:150px 1fr 110px;gap:8px;align-items:center;margin:4px 0;font-size:.9rem}.bar i{height:12px;background:var(--ac);border-radius:6px;display:block}
.ftr{border-top:1px solid var(--bd);margin-top:32px;background:var(--bg2);text-align:center}fieldset{border:1px solid var(--bd);border-radius:10px}
