/* ═══════════════════════════════
   SAMUEL BLUM — SHARED STYLES
═══════════════════════════════ */
:root {
  --green: #7EFFC5;
  --green-dim: #4ecf96;
  --gold: #D4AF37;
  --gold-light: #F0D060;
  --bg: #152218;
  --bg2: #172112;
  --text: #e8f5ee;
  --muted: #7aaa8a;
  --border: rgba(126,255,197,0.13);
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--bg); color:var(--text); font-family:'DM Mono',monospace; font-weight:300; overflow-x:hidden; }
body::before { content:''; position:fixed; inset:0; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E"); pointer-events:none; z-index:9999; opacity:.35; }

/* ── NAV ── */
nav { position:fixed; top:0; left:0; right:0; z-index:200; display:flex; justify-content:space-between; align-items:center; padding:1.4rem 3rem; border-bottom:1px solid var(--border); background:rgba(15,26,20,.92); backdrop-filter:blur(16px); }
.nav-logo { font-family:'Cormorant Garamond',serif; font-size:1.1rem; font-weight:600; color:var(--green); letter-spacing:.15em; text-transform:uppercase; text-decoration:none; }
.nav-links { display:flex; gap:1.5rem; list-style:none; align-items:center; }
.nav-links a { color:var(--muted); text-decoration:none; font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; transition:color .3s; }
.nav-links a:hover { color:var(--green); }
.nav-btn-green { border:1px solid var(--green) !important; color:var(--green) !important; padding:.35rem .9rem; transition:all .3s !important; }
.nav-btn-green:hover { background:var(--green) !important; color:var(--bg) !important; }
.nav-btn-gold { border:1px solid var(--gold) !important; color:var(--gold) !important; padding:.35rem .9rem; transition:all .3s !important; }
.nav-btn-gold:hover { background:var(--gold) !important; color:var(--bg) !important; }
.nav-right { display:flex; gap:1rem; align-items:center; }
.nav-back { color:var(--muted); text-decoration:none; font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; transition:color .3s; }
.nav-back:hover { color:var(--green); }

/* Admin button — subtle dots */
#adminBtn { background:transparent; border:none; color:var(--muted); font-size:1.3rem; cursor:pointer; padding:.1rem .5rem; letter-spacing:.15em; line-height:1; transition:color .3s; font-family:monospace; }
#adminBtn:hover, #adminBtn.active { color:var(--green); }

/* ── FOOTER ── */
footer { padding:2.5rem 3rem; border-top:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; font-size:.62rem; letter-spacing:.1em; color:var(--muted); text-transform:uppercase; flex-wrap:wrap; gap:1rem; position:relative; z-index:1; }
.footer-links { display:flex; gap:2rem; }
.footer-links a { color:var(--muted); text-decoration:none; transition:color .3s; }
.footer-links a:hover { color:var(--green); }

/* ── REVEAL ── */
.reveal { opacity:0; transform:translateY(32px); transition:opacity .8s, transform .8s; }
.reveal.visible { opacity:1; transform:translateY(0); }

/* ── ADMIN OVERLAY ── */
#adminLoginOv { display:none; position:fixed; inset:0; z-index:700; background:rgba(6,12,9,.97); align-items:center; justify-content:center; }
.admin-login-box { background:var(--bg2); border:1px solid var(--border); padding:3rem 2.5rem; width:100%; max-width:380px; }
.admin-login-box h3 { font-family:'Cormorant Garamond',serif; font-size:2rem; font-weight:300; color:var(--green); margin-bottom:2rem; }
.admin-login-err { font-size:.65rem; color:#ff8080; margin-top:.5rem; display:none; }
.admin-login-cancel { display:block; text-align:center; margin-top:1rem; font-size:.6rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); cursor:pointer; }
.admin-login-cancel:hover { color:var(--green); }

#adminPanelOv { display:none; position:fixed; inset:0; z-index:600; background:rgba(6,12,9,.97); overflow-y:auto; }
.admin-panel-inner { max-width:860px; margin:0 auto; padding:2rem; }
.admin-panel-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:1.5rem; padding-bottom:1.2rem; border-bottom:1px solid var(--border); }
.admin-panel-head h2 { font-family:'Cormorant Garamond',serif; font-size:1.8rem; font-weight:300; color:var(--green); }
.admin-close-btn { background:transparent; border:1px solid var(--border); color:var(--muted); padding:.4rem 1rem; font-family:'DM Mono',monospace; font-size:.62rem; cursor:pointer; letter-spacing:.1em; text-transform:uppercase; transition:all .3s; }
.admin-close-btn:hover { border-color:var(--green); color:var(--green); }

/* Tabs */
#adminTabBar { display:flex; gap:2px; margin-bottom:2rem; flex-wrap:wrap; }
.atab { padding:.45rem 1.1rem; font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; font-family:'DM Mono',monospace; background:transparent; border:1px solid var(--border); color:var(--muted); cursor:pointer; transition:all .3s; }
.atab:hover, .atab.on { border-color:var(--green); color:var(--green); }
.atab.on { background:rgba(126,255,197,.07); }
.atab.dashed { border-style:dashed; }
.atab-content { display:none; }

/* Admin inputs */
.ainput { background:var(--bg); border:1px solid rgba(126,255,197,.18); color:var(--text); font-family:'DM Mono',monospace; font-size:.73rem; padding:.55rem .85rem; outline:none; transition:border-color .3s; }
.ainput:focus { border-color:var(--green); }
select.ainput option { background:var(--bg2); }
.arow { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:.9rem; }
.arow1 { margin-bottom:.9rem; }
.albl { display:block; font-size:.58rem; letter-spacing:.15em; text-transform:uppercase; color:var(--muted); margin-bottom:.3rem; }
.asave { width:100%; padding:.9rem; background:var(--green); color:var(--bg); border:none; font-family:'DM Mono',monospace; font-size:.72rem; letter-spacing:.15em; text-transform:uppercase; cursor:pointer; margin-top:1.2rem; transition:all .3s; }
.asave:hover { background:#a0ffe0; }
.amsg { text-align:center; font-size:.63rem; margin-top:.6rem; opacity:0; transition:opacity .4s; min-height:1rem; }
.adelbtn { background:transparent; border:1px solid rgba(255,80,80,.3); color:rgba(255,120,120,.7); font-family:'DM Mono',monospace; font-size:.6rem; padding:.3rem .5rem; cursor:pointer; transition:all .3s; white-space:nowrap; flex-shrink:0; }
.adelbtn:hover { border-color:red; color:red; }
.aaddbtn { background:transparent; border:1px solid var(--border); color:var(--muted); font-family:'DM Mono',monospace; font-size:.6rem; padding:.4rem .9rem; cursor:pointer; transition:all .3s; text-transform:uppercase; letter-spacing:.08em; }
.aaddbtn:hover { border-color:var(--green); color:var(--green); }

/* Legal editor */
.legal-textarea { width:100%; min-height:280px; background:var(--bg); border:1px solid rgba(126,255,197,.18); color:var(--text); font-family:'DM Mono',monospace; font-size:.7rem; padding:.9rem 1rem; line-height:1.9; outline:none; resize:vertical; transition:border-color .3s; }
.legal-textarea:focus { border-color:var(--green); }
.legal-hint { font-size:.6rem; color:var(--muted); margin-bottom:.6rem; line-height:1.8; }

/* ── LEGAL PAGE RENDER ── */
.legal-h { font-family:'Cormorant Garamond',serif; font-size:1.2rem; font-weight:600; color:var(--green); margin:2.2rem 0 .7rem; }
.legal-p { font-size:.74rem; line-height:2; color:var(--muted); margin-bottom:.4rem; }
.legal-p a { color:var(--green); text-decoration:none; }
.legal-p a:hover { text-decoration:underline; }

/* ── ANIMATIONS ── */
@keyframes fadeUp { from{opacity:0;transform:translateY(28px);} to{opacity:1;transform:translateY(0);} }
@keyframes scrollPulse { 0%,100%{opacity:1;} 50%{opacity:.25;} }
@keyframes shimmer { 0%{background-position:200% center;} 100%{background-position:-200% center;} }
@keyframes pulseGold { 0%,100%{box-shadow:0 0 0 0 rgba(212,175,55,.25);} 50%{box-shadow:0 0 28px 6px rgba(212,175,55,.1);} }

/* ── RESPONSIVE ── */
@media(max-width:768px) {
  nav { padding:1.2rem 1.5rem; }
  .nav-links li.hide-mobile { display:none; }
  footer { flex-direction:column; gap:1rem; text-align:center; }
  .arow { grid-template-columns:1fr; }
  #adminTabBar .atab { font-size:.55rem; padding:.35rem .7rem; }
}
