:root{--bg:#111;--fg:#eee;--muted:#999;--tile:#1c1c1c}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
a{color:inherit}.site-header{display:flex;flex-wrap:wrap;gap:.75rem;align-items:baseline;padding:1.25rem 1.5rem}
.brand{font-size:1.25rem;letter-spacing:.15em;text-transform:uppercase;text-decoration:none}.tag{color:var(--muted)}
.hero{max-width:44rem;margin:3rem auto 2rem;padding:0 1.5rem;text-align:center}.hero h1{font-weight:300;font-size:clamp(1.8rem,5vw,2.8rem);margin:0 0 1rem}
.soon{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.85rem}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:.75rem;padding:1.5rem;max-width:80rem;margin:0 auto}
.tile{aspect-ratio:3/2;background:var(--tile);border-radius:2px}
.site-footer{color:var(--muted);text-align:center;padding:3rem 1.5rem;font-size:.85rem}
.admin{max-width:70rem;margin:2rem auto;padding:0 1.5rem}.scroll{overflow-x:auto}
.admin table{border-collapse:collapse;width:100%}.admin th,.admin td{padding:.5rem .6rem;border-bottom:1px solid #333;text-align:right;white-space:nowrap}
.admin th:first-child,.admin td:first-child,.admin td:nth-child(2){text-align:left}
.badge{background:#7a5b00;color:#fff;padding:.1rem .45rem;border-radius:3px;font-size:.75rem;letter-spacing:.05em}
