/* =========================================================
   THE WALL · page base (components live in realm-ui.css)
   Self-contained page: does not load style.css.
   ========================================================= */
*{ box-sizing:border-box; }
html, body{ margin:0; padding:0; background:var(--ink); color:var(--bone); font-family:var(--font-body); -webkit-font-smoothing:antialiased; }
body{ min-height:100svh; display:flex; flex-direction:column; position:relative; }
body > .hdr-lite{ flex:none; }
main{ flex:1; position:relative; }
a{ color:inherit; }
img{ max-width:100%; height:auto; }
.sr-only{ position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link{ position:absolute; left:-9999px; top:12px; z-index:1000; background:var(--gold); color:#0b0a07; padding:12px 20px; border-radius:4px; font-family:var(--font-mono); font-size:12px; letter-spacing:.18em; text-transform:uppercase; text-decoration:none; }
.skip-link:focus{ left:12px; }
:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }

/* quiet background field: one static texture, no loops */
.wall-bg{
  position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(207,168,71,.07), transparent 55%),
    repeating-linear-gradient(0deg, transparent 0 3px, rgba(255,255,255,.012) 3px 4px),
    var(--ink);
}

/* honeypot */
.hp-field{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

/* page footer */
.wall-footer{ border-top:1px solid var(--border); padding:28px var(--gutter) 36px; }
.wall-footer-inner{ max-width:var(--wrap); margin:0 auto; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:14px 28px; font-family:var(--font-mono); font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--bone-faint); }
.wall-footer-inner nav{ display:flex; flex-wrap:wrap; gap:8px 18px; }
.wall-footer-inner nav a{ text-decoration:none; color:var(--bone-dim); }
.wall-footer-inner nav a:hover{ color:var(--gold); }
.wall-footer .footer-hm{ margin:0; }

/* the fresh mark gets one highlight, then settles */
.mark.is-new{ position:relative; }
.mark.is-new::after{ content:"JUST FILED"; position:absolute; right:12px; top:-10px; font-family:var(--font-mono); font-size:9px; letter-spacing:.24em; color:#0b0a07; background:var(--gold); padding:3px 7px; border-radius:2px; }

/* moderation / rules strip */
.wall-rules{ border:1px solid var(--border); border-radius:var(--radius-md); padding:18px 20px; background:var(--ink-soft); }
.wall-rules h4{ margin:0 0 8px; font-family:var(--font-mono); font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); }

@media (max-width: 420px){
  .wall-sign-card .stamp{ right:10px; }
  .wall-tools .wall-tools-meta{ flex-direction:column; }
}
