:root { --accent:#C8262A; --dark-red:#A90100; --navy:#002768; --ink:#0A0F1C; --white:#FFFFFF; }
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:"Archivo", sans-serif; background:var(--white); color:var(--ink); line-height:1.5; }
main { padding:64px 0 100px; }
.container { max-width:1280px; margin:0 auto; padding:0 24px; }
.page-head { margin-bottom:48px; }
.page-head h1 { font-family:"Archivo Black", sans-serif; font-size:clamp(36px,5vw,56px); text-transform:uppercase; letter-spacing:-0.02em; color:var(--ink); }
.page-head p { font-size:16px; color:rgba(10,15,28,.65); margin-top:12px; max-width:640px; }
.meta-line { font-size:13px; color:rgba(10,15,28,.5); margin-top:16px; font-family:monospace; }
.search-box { margin:32px 0; }
.search-box input { width:100%; max-width:420px; padding:14px 16px; font-size:15px; font-family:"Archivo",sans-serif; border:2px solid var(--ink); background:var(--white); color:var(--ink); }
.search-box input:focus { outline:none; border-color:var(--accent); }
.category { margin-bottom:56px; }
.category h2 { font-family:"Archivo Black", sans-serif; font-size:22px; text-transform:uppercase; letter-spacing:-0.01em; color:var(--navy); border-bottom:3px solid var(--accent); padding-bottom:14px; margin-bottom:4px; }
.category .count { font-size:12px; color:rgba(10,15,28,.5); font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
table { width:100%; border-collapse:collapse; margin-top:16px; }
thead th { text-align:left; font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:rgba(10,15,28,.5); font-weight:800; padding:10px 12px; border-bottom:2px solid var(--ink); }
tbody tr { border-bottom:1px solid rgba(10,15,28,.1); }
tbody tr:hover { background:#f7f7f7; }
tbody td { padding:14px 12px; vertical-align:top; font-size:14px; }
td.col-page a { font-weight:700; color:var(--navy); text-decoration:none; }
td.col-page a:hover { color:var(--accent); text-decoration:underline; }
td.col-page .fname { display:block; font-size:11px; font-family:monospace; color:rgba(10,15,28,.45); margin-top:2px; }
td.col-desc { color:rgba(10,15,28,.75); max-width:420px; }
td.col-date { font-family:monospace; font-size:13px; white-space:nowrap; color:rgba(10,15,28,.6); }
.badge-new { display:inline-block; font-size:10px; font-weight:800; text-transform:uppercase; background:var(--accent); color:var(--white); padding:2px 6px; margin-left:6px; letter-spacing:.03em; }
.empty-state { padding:40px; text-align:center; color:rgba(10,15,28,.5); }
.img-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:16px; margin-top:16px; }
.img-card { border:1px solid rgba(10,15,28,.12); overflow:hidden; background:#fafafa; }
.img-card .thumb { width:100%; height:110px; object-fit:cover; display:block; background:#eee; }
.img-card .label { padding:8px 10px; font-size:11px; font-family:monospace; color:rgba(10,15,28,.7); word-break:break-all; }
.img-card .ext { display:inline-block; font-size:10px; font-weight:800; background:var(--navy); color:var(--white); padding:1px 6px; margin-bottom:4px; }
footer { background:var(--ink); color:var(--white); padding:40px 0; margin-top:40px; }
footer .container { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
footer p { font-size:13px; opacity:.7; }
footer a { color:var(--white); opacity:.85; }
td.col-desc .desc-empty { opacity:.4; }
