body { font-family: system-ui, -apple-system, Segoe UI, Roboto, PingFang SC, Helvetica, Arial, sans-serif; margin:0; background:#0b1020; color:#e8eaf1; }
a { color:#9ec5ff; text-decoration:none; }
header, main { max-width: 980px; margin: 0 auto; padding: 16px; }
header { display:flex; justify-content:space-between; align-items:center; }
button, .btn { background:#1b2a4e; color:#e8eaf1; border:1px solid #2a3a63; padding:8px 12px; border-radius:10px; cursor:pointer; }
button:hover, .btn:hover { background:#223561; }
.card { background:#0f1730; border:1px solid #1f2a4d; border-radius:14px; padding:16px; margin:12px 0; }
.grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap:12px; }
img.thumb { width:100%; height:180px; object-fit:cover; border-radius:8px; border:1px solid #243157; background:#0b1020; }
.row { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
input[type="file"]{border:1px dashed #2a3a63; padding:8px; border-radius:10px; background:#0b1020; color:#e8eaf1;}
input[type="text"]{border:1px solid #2a3a63; padding:8px; border-radius:10px; background:#0b1020; color:#e8eaf1; width:100%;}
.year-list a{display:inline-block; margin:4px 6px; padding:6px 10px; background:#112046; border-radius:999px; border:1px solid #263660;}
small.mono{font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace; color:#aeb8d4;}
.notice{padding:10px; border-radius:10px; background:#132855; border:1px solid #2a3f6e;}
