/* UPG unified theme — injected by scripts/sanitize_public.py into every page (explorer + language pages + pair pages) */
:root{--bg:#0b1020;--bg2:#111a2e;--line:#1e2a44;--tx:#e8eef7;--mut:#93a4bd;--acc:#f5d98b;--lnk:#7cc4ff}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg)!important;color:var(--tx)!important;font-family:Inter,"Segoe UI",system-ui,-apple-system,Roboto,sans-serif!important;-webkit-font-smoothing:antialiased}
a{color:var(--lnk)}
body>header,header.upg-h{position:sticky;top:0;z-index:50;display:flex!important;flex-wrap:wrap;align-items:center;gap:10px 18px!important;padding:12px 24px!important;background:rgba(11,16,32,.92)!important;backdrop-filter:blur(8px);border-bottom:1px solid var(--line)!important}
body>header .logo,body>header b,body>header b a{color:var(--acc)!important;font-weight:800!important;font-size:19px!important;letter-spacing:.2px;text-decoration:none!important}
.upg-nav{display:flex;flex-wrap:wrap;gap:4px 6px;margin-left:auto;align-items:center}
.upg-nav a{color:var(--tx)!important;text-decoration:none!important;padding:6px 10px;border-radius:8px;font-size:14px;font-weight:600}
.upg-nav a:hover,.upg-nav a[aria-current]{background:var(--bg2);color:var(--acc)!important}
body>header>a:not(.logo):not(.upg-xp){display:none}
.lang summary{background:var(--bg2)!important;border-color:var(--line)!important}
footer,.upg-ft{border-top:1px solid var(--line)!important;color:var(--mut)!important}
h1,h2,h3{letter-spacing:-.01em}
.btn{background:var(--acc)!important;color:#111!important}
@media(max-width:640px){body>header,header.upg-h{padding:10px 14px!important}.upg-nav{margin-left:0;width:100%;overflow-x:auto;flex-wrap:nowrap}.upg-nav a{white-space:nowrap;padding:6px 8px}}
.lang{order:2}.upg-nav{order:1}body>header .logo,body>header b{order:0}
@media(max-width:640px){.lang{order:1;margin-left:auto}.upg-nav{order:2}}
ul.pgrid{columns:auto!important;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:18px 14px;list-style:none;padding:0;margin:18px 0}
ul.pgrid li.pc a{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--tx);text-decoration:none;font-size:13px;text-align:center}
ul.pgrid li.pc img{width:84px;height:auto;border-radius:6px;box-shadow:0 6px 18px rgba(0,0,0,.45);transition:transform .15s}
ul.pgrid li.pc a:hover img{transform:translateY(-3px)}
main:has(ul.pgrid){max-width:1200px}
.upg-lang{order:3}
@media(max-width:640px){ul.pgrid{grid-template-columns:repeat(3,1fr)}.upg-lang{order:1;margin-left:auto}}
/* passport visa map */
#upg-map{position:relative;background:#0b1520;border:1px solid #222;border-radius:10px;padding:8px;margin:16px 0}
#upg-map svg{width:100%;height:auto;display:block}#upg-map path{stroke:#0b1520;stroke-width:.4}#upg-map path:hover{stroke:#fff;stroke-width:1.2}
/* tooltip: exact copy of original /explorer/passport.html #tt */
#upg-map-tt{position:absolute;display:none;background:#f5f5f5;color:#111;border-radius:6px;padding:6px 9px;font-size:12px;box-shadow:0 4px 12px #0009;max-width:70vw;z-index:5}#upg-map-tt a{color:#0b5cad}
#upg-map-leg{display:flex;flex-wrap:wrap;gap:10px;font-size:13px;margin-top:6px;color:#ccc}#upg-map-leg i{display:inline-block;width:11px;height:11px;border-radius:2px;margin-right:4px;vertical-align:-1px}

/* mobile: cover grid must not overflow */
@media(max-width:640px){ul.pgrid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px 8px}ul.pgrid li.pc a{font-size:12px;overflow-wrap:anywhere;hyphens:auto}ul.pgrid li.pc img{width:72px}main{overflow-x:hidden}}
/* mobile: compact cookie banner (was ~1/3 of screen) */
@media(max-width:640px){div[role=dialog]:has(> [data-ckx]){left:4px!important;right:4px!important;bottom:4px!important;padding:8px 10px!important;font-size:12px!important;max-height:34vh;overflow:auto}div[role=dialog]:has(> [data-ckx]) p{margin:3px 0 6px!important}div[role=dialog]:has(> [data-ckx]) button{padding:6px 8px!important;font-size:12px!important}}
@media(max-width:640px){html,body{overflow-x:clip}}
