*{box-sizing:border-box}body{margin:0;font:16px/1.55 system-ui,sans-serif;color:#1d2433;background:#f6f7f9}
header{background:#123c5a;color:#fff;padding:.8rem 1rem;display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:space-between}
.brand{color:#fff;font-weight:700;text-decoration:none}nav a{color:#cfe6f5;margin-right:.8rem;text-decoration:none;font-size:.95rem}
main{max-width:1000px;margin:auto;padding:1rem}.lead{font-size:1.1rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.card{background:#fff;border-radius:10px;padding:1rem;color:inherit;text-decoration:none;box-shadow:0 1px 3px #0002}.card:hover{outline:2px solid #2a7ab0}
.tw{overflow-x:auto}table{border-collapse:collapse;width:100%;background:#fff}th,td{border:1px solid #dde;padding:.5rem;vertical-align:top;text-align:left}th{background:#e9eff5}
.tag{background:#d8efe0;padding:.1rem .4rem;border-radius:4px;font-size:.8rem;white-space:nowrap}.warn{background:#fde2c4}
.sponsor{max-width:1000px;margin:1rem auto;padding:.8rem;border:2px dashed #aab;text-align:center;background:#fff}
footer{text-align:center;font-size:.85rem;color:#556;padding:1.5rem}.small{font-size:.85rem;color:#556}
input,button{padding:.6rem;font-size:1rem}button{background:#123c5a;color:#fff;border:0;border-radius:4px}
.box{background:#fff;border-radius:10px;padding:1rem;margin-top:1rem;box-shadow:0 1px 3px #0002}.hp{position:absolute;left:-9999px}
.signup{display:flex;flex-wrap:wrap;gap:.5rem}.signup input[type=email]{flex:1;min-width:200px}.signup .msg{width:100%}
