:root{--ink:#18324A;--muted:#5a6b78;--paper:#f6f8f7;--card:#fff;--accent:#297D63;--gold:#e0a21b;--line:#dfe6e3}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 Georgia,"Times New Roman",serif}
.wrap{max-width:880px;margin:0 auto;padding:28px 20px 60px}
header{text-align:center;padding:30px 0 10px}.kicker{font:600 13px/1 system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
h1{font-size:clamp(28px,5vw,44px);margin:10px 0 18px;font-weight:normal}h2{font-weight:normal;font-size:24px;margin:34px 0 12px}
.sentence{font-size:clamp(20px,3vw,26px);font-style:italic;max-width:680px;margin:0 auto 16px;border-left:3px solid var(--gold);padding-left:16px;text-align:left}
.intro{color:var(--muted);max-width:640px;margin:0 auto}
.map{position:relative;margin:30px 0 8px;background:#eaf0f4;border-radius:14px;overflow:hidden;border:1px solid var(--line)}
.map img{display:block;width:100%}.dot{position:absolute;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;border-radius:50%;background:#9fb0bf;border:2px solid #fff;box-shadow:0 0 0 1px #7d93a6}
.dot.lit{background:var(--gold);box-shadow:0 0 0 3px rgba(224,162,27,.35),0 0 14px 4px rgba(224,162,27,.6);animation:glow 3s ease-in-out infinite}
@keyframes glow{50%{box-shadow:0 0 0 5px rgba(224,162,27,.25),0 0 22px 8px rgba(224,162,27,.45)}}
.legend{font:14px system-ui,sans-serif;color:var(--muted);text-align:center}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;margin:20px 0;box-shadow:0 1px 3px rgba(60,40,20,.05)}
label{display:block;font:600 14px system-ui,sans-serif;margin:12px 0 6px}input,textarea{width:100%;font:16px system-ui,sans-serif;padding:11px 12px;border:1px solid #cfd9df;border-radius:9px;background:#ffffff}
textarea{min-height:140px;resize:vertical}button{font:600 16px system-ui,sans-serif;background:var(--accent);color:#fff;border:0;border-radius:9px;padding:11px 20px;margin-top:14px;cursor:pointer}
button.ghost{background:none;color:var(--accent);border:1px solid var(--accent)}button.small{padding:6px 12px;font-size:14px;margin:4px 4px 0 0}
.row{display:flex;gap:12px;flex-wrap:wrap}.row>div{flex:1 1 200px}.msg{font:15px system-ui,sans-serif;margin-top:10px}.err{color:#a3261b}.ok{color:#297D63}
.privacy,.small-note{font:14px system-ui,sans-serif;color:var(--muted)}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.uni h3{margin:0 0 4px;font-weight:normal}.uni .country{font:13px system-ui,sans-serif;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.comment{border-top:1px solid var(--line);padding:12px 0}.comment p{margin:0 0 6px;white-space:pre-wrap}.meta{font:13px system-ui,sans-serif;color:var(--muted)}
footer{text-align:center;font:13px system-ui,sans-serif;color:var(--muted);margin-top:40px}a{color:var(--accent)}
table{width:100%;border-collapse:collapse;font:14px system-ui,sans-serif}td,th{border-bottom:1px solid var(--line);padding:6px;text-align:left;vertical-align:top}
.pill{display:inline-block;font:12px system-ui;padding:2px 8px;border-radius:20px;background:#eee}.pending{background:#fde9c4}.approved{background:#d6efd8}.hidden{background:#eee}
.pill.private{background:#e3dcf5}.eyebrow{font:600 12px/1 system-ui,sans-serif;letter-spacing:.2em;color:var(--accent)}
.hero{padding:18px 0 4px}.hero h1{margin:10px 0 8px;font-size:clamp(26px,4.4vw,40px);line-height:1.2}.lead{font-size:19px;font-style:italic;margin:0 0 10px}
.hero p{margin:0 0 9px}.qs{color:var(--muted)}#enter{margin-top:14px}#enter h2{margin:0 0 4px;font-size:22px}
.inline{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap}.inline input{flex:1 1 220px}.inline button{margin-top:0}
.mapsec h2{font-size:20px;text-align:center;margin:36px 0 6px}.mapsec .map{max-width:680px;margin:10px auto}
.key{display:flex;justify-content:center;gap:18px;font:14px system-ui,sans-serif;color:var(--muted);flex-wrap:wrap}.key .dot{position:static;display:inline-block;margin:0 6px 0 0;vertical-align:-1px;animation:none}
.check{display:flex;gap:10px;align-items:flex-start;font:15px system-ui,sans-serif;margin:14px 0 4px}.check input{width:auto;margin-top:4px}
.explain{font:14px/1.5 system-ui,sans-serif;color:var(--muted);background:#eef3f1;border-radius:9px;padding:10px 12px;margin-top:12px}
@media(max-width:600px){body{font-size:16px}.wrap{padding:14px 16px 40px}.hero h1{font-size:25px}.lead{font-size:17px}.hero p{margin-bottom:7px;line-height:1.45}.card{padding:16px}}
h1,h2,h3,.eyebrow,.kicker,button,label{font-family:Montserrat,system-ui,sans-serif}h1{font-weight:700!important;letter-spacing:-.01em}h2{font-weight:600!important}.map{background:#eef3f1}.tag{font:600 13px Montserrat,system-ui,sans-serif;color:var(--accent);letter-spacing:.04em}
