:root{
  --bg:#0f0f12;
  --card:#17171c;
  --muted:#9aa3b2;
  --text:#e7e9ee;
  --accent:#8b5cf6;
  --accent-2:#22d3ee;
  --ring:rgba(139,92,246,.45)
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  background:
    radial-gradient(1400px 900px at 80% -10%,rgba(139,92,246,.25),transparent 60%),
    radial-gradient(1200px 800px at -10% 10%,rgba(34,211,238,.2),transparent 60%),
    linear-gradient(180deg,rgba(255,255,255,.02),transparent 200px),
    var(--bg);
  color:var(--text);
  line-height:1.6
}
.container{max-width:1100px;margin:0 auto;padding:0 20px}
.site-header{position:sticky;top:0;background:rgba(15,15,18,.7);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.06);z-index:10}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.site-title{margin:0;font-size:22px;font-weight:700;letter-spacing:.5px}
.site-nav a{color:var(--muted);text-decoration:none;margin-left:18px}
.site-nav a:hover{color:#fff}

.controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}
.control-group{display:grid;gap:6px}
label{font-size:14px;color:var(--muted)}
select,input[type="search"]{background:var(--card);color:#fff;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px 12px;outline:none}
select:focus,input[type="search"]:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--ring)}

.signs-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
@media (max-width:960px){.signs-grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:640px){.signs-grid{grid-template-columns:repeat(2,1fr)}.controls{grid-template-columns:1fr}}

.sign-card{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:14px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s;position:relative;overflow:hidden}
.sign-card::after{content:"";position:absolute;inset:-1px;border-radius:16px;padding:1px;background:linear-gradient(120deg,rgba(139,92,246,.6),rgba(34,211,238,.4),transparent 60%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.0;transition:opacity .2s}
.sign-card:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.35);border-color:rgba(139,92,246,.6)}
.sign-card:hover::after{opacity:.9}
.sign-card.active{border-color:var(--accent)}
.sign-emoji{font-size:28px}
.sign-title{margin:6px 0 2px;font-weight:600}
.sign-dates{font-size:12px;color:var(--muted)}

.reading{margin:32px 0;padding:22px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01));border:1px solid rgba(255,255,255,.08);border-radius:16px}
.reading-header{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.reading-header h2{margin:0}
.reading-meta{font-size:14px;color:var(--muted)}
.reading-body p{margin:0;white-space:pre-wrap}

/* Admin styles */
.admin-wrap{max-width:900px;margin:34px auto;padding:0 20px}
.admin-card{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.01));border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:18px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.row-1{display:grid;grid-template-columns:1fr;gap:12px}
.btn{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(90deg,var(--accent),#6d28d9);border:none;color:#fff;border-radius:10px;padding:10px 14px;cursor:pointer}
.btn.secondary{background:transparent;border:1px solid rgba(255,255,255,.12)}
.notice{margin-top:10px;color:var(--muted);font-size:14px}
textarea{min-height:180px;resize:vertical}

.faq{margin:40px 0}
details{background:var(--card);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:10px 0}
summary{cursor:pointer;font-weight:600}

.site-footer{border-top:1px solid rgba(255,255,255,.06);margin-top:40px}
.footer-inner{padding:20px 0;color:var(--muted);font-size:14px}


