:root{--brand:#206890;--brand-800:#123b52;--accent:#40a8a8;--text:#0f172a;--muted:#5b6b7a;--bg:#f3f6f9;--surface:#fff;--border:#dbe3ea;--warn:#b45309;--warn-bg:#fdf1dd}
*{box-sizing:border-box}body{margin:0;font-family:-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}
header{display:flex;gap:16px;align-items:center;padding:24px 16px 8px;max-width:1100px;margin:0 auto}header h1{margin:0;font-size:26px;color:var(--brand-800)}header p{margin:4px 0 0;color:var(--muted)}
.notice{max-width:1100px;margin:8px auto 16px;padding:10px 16px;background:var(--warn-bg);color:#7c3a00;border:1px solid #f3d9a4;border-radius:10px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;max-width:1100px;margin:0 auto;padding:0 16px 32px}
.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:8px}.card h2{margin:0;color:var(--brand)}.card h3{margin:8px 0 0;font-size:14px;color:var(--muted)}
.card.soon{opacity:.8}.audience{margin:0;color:var(--muted)}.covers{margin:0;padding-left:18px}.creds{border-collapse:collapse;font-size:14px}.creds th{text-align:left;font-weight:600;padding:2px 8px 2px 0}.creds td{padding:2px 0}
code{background:#eef2f6;padding:2px 6px;border-radius:4px}.pw{margin:0}.links{margin:0;font-size:14px}.links a{color:var(--brand)}
.button{margin-top:auto;display:inline-block;text-align:center;background:var(--brand);color:#fff;text-decoration:none;padding:10px 16px;border-radius:8px;font-weight:600}.button.disabled{background:#b9c6d2;cursor:not-allowed}.soon-url{margin:0;font-size:13px;color:var(--muted)}
footer{text-align:center;color:var(--muted);padding:16px}
@media (max-width:420px){header{flex-direction:column;align-items:flex-start}.grid{padding:0 12px 24px}}
