body { font-family: 'Andale Mono','Courier New',monospace; background:#000; color:#a9a9a9; margin:0; padding:0; -webkit-text-size-adjust:100%; }
a { color:#a9a9a9; text-decoration:none; } a:hover { color:#fff; }
* { box-sizing:border-box; }

.banner { position:fixed; top:0; left:0; right:0; background:#000; border-bottom:1px solid #333; padding:10px 16px;
  font-size:14px; display:flex; justify-content:space-between; align-items:center; z-index:100; }
.banner a { color:#fff; font-weight:bold; } .banner-right a { color:#555; font-size:12px; margin-left:16px; }

.page { max-width:900px; margin:0 auto; padding:60px 16px 40px; }

.stats-bar { display:flex; flex-wrap:wrap; gap:12px 20px; align-items:center; margin-bottom:16px; font-size:12px; color:#555; }
.dl-link { margin-left:auto; color:#fff !important; border:1px solid #333; padding:4px 10px; font-size:11px; white-space:nowrap; }

.search-bar input { width:100%; background:#111; border:1px solid #333; color:#fff; padding:10px 14px;
  font-family:inherit; font-size:14px; outline:none; box-sizing:border-box; margin-bottom:20px; border-radius:0; -webkit-appearance:none; }

.photo-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:10px; }
.photo-card { display:block; border:1px solid #1a1a1a; background:#0a0a0a; overflow:hidden; }
.photo-card img { width:100%; aspect-ratio:1; object-fit:cover; display:block; }
.photo-meta { padding:8px 10px; }
.scene { font-size:10px; color:#555; text-transform:uppercase; letter-spacing:.05em; }
.desc { font-size:11px; color:#a9a9a9; margin:4px 0 0; line-height:1.4; }
.date { font-size:10px; color:#444; }

.back-link { color:#555; font-size:12px; display:inline-block; margin-bottom:8px; }
.back-link:hover { color:#fff; }

.photo-full { width:100%; max-height:75vh; object-fit:contain; display:block; margin:8px 0 16px; background:#0a0a0a; border-radius:2px; }

.detail { margin-top:8px; }
.detail-section-label { font-size:10px; color:#444; text-transform:uppercase; letter-spacing:.1em; margin:20px 0 8px; padding-top:12px; border-top:1px solid #1a1a1a; }
.detail-row { display:flex; gap:12px; padding:6px 0; border-bottom:1px solid #0d0d0d; font-size:12px; line-height:1.5; }
.detail-label { color:#555; min-width:70px; flex-shrink:0; }
.desc-big { font-size:14px; color:#ddd; margin:0 0 12px; line-height:1.6; }

.tag-list { display:flex; flex-wrap:wrap; gap:6px; }
.tag { background:#1a1a1a; color:#888; padding:2px 8px; font-size:11px; border-radius:2px; }

.exposure-info { display:flex; flex-wrap:wrap; gap:12px; }
.exposure-info span { white-space:nowrap; }

.status-done { color:#4a4; }
.status-pending { color:#a84; }
.status-error { color:#a44; }

.login-wrap { max-width:400px; margin:80px auto; text-align:center; padding:0 16px; }
.login-title { font-size:24px; color:#fff; margin-bottom:8px; }
.login-sub { color:#555; font-size:13px; margin-bottom:24px; }
.login-wrap input { width:100%; background:#111; border:1px solid #333; color:#fff; padding:12px; font-family:inherit; font-size:14px; outline:none; box-sizing:border-box; margin-bottom:10px; border-radius:0; -webkit-appearance:none; }
.login-wrap button { width:100%; background:#fff; color:#000; border:none; padding:12px; font-family:inherit; font-size:14px; cursor:pointer; }

.page-title { font-size:24px; color:#fff; margin-bottom:8px; }
.page-sub { color:#555; font-size:14px; margin-bottom:30px; }
.marketing-pitches { display:flex; flex-direction:column; gap:20px; }
.pitch { border-left:2px solid #333; padding:12px 16px; }
.pitch-text { font-size:13px; line-height:1.6; color:#a9a9a9; margin:0; }

@media (max-width:600px) {
  .banner { padding:10px 12px; font-size:13px; }
  .page { padding:56px 12px 32px; }
  .photo-grid { grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:8px; }
  .photo-card img { aspect-ratio:1; }
  .photo-meta { padding:6px 8px; }
  .desc { font-size:10px; }
  .photo-full { max-height:60vh; margin:4px 0 12px; }
  .detail-row { gap:8px; font-size:11px; }
  .detail-label { min-width:60px; }
  .desc-big { font-size:13px; }
  .stats-bar { gap:8px 14px; font-size:11px; }
  .login-title { font-size:22px; }
}
