:root{
  --bg:#0d0a24; --bg2:#151036; --panel:#1c1645; --panel2:#251d58; --line:#3a2f7a;
  --text:#f6f2ff; --muted:#c9c0ea; --gold:#e8c46a; --gold2:#f5dc9a; --violet:#9d7bff;
  --danger:#ff8a8a; --ok:#8fe3b0; --radius:16px;
  --shadow:0 10px 40px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:"Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;background:
  radial-gradient(1200px 600px at 80% -10%,rgba(157,123,255,.25),transparent 60%),
  radial-gradient(900px 500px at -10% 10%,rgba(232,196,106,.12),transparent 60%),var(--bg);
  color:var(--text);line-height:1.6;min-height:100vh;display:flex;flex-direction:column}
a{color:var(--gold2)} a:hover{color:#fff}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:600;line-height:1.25;margin:.2em 0 .5em}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;color:#000;padding:8px;z-index:99}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
header.site{position:sticky;top:0;z-index:10;background:rgba(13,10,36,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;gap:16px;min-height:64px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);font-family:Georgia,serif;font-size:1.25rem;font-weight:600}
.brand svg{width:34px;height:34px}
nav.main{display:flex;gap:4px;flex-wrap:wrap;margin-left:auto;align-items:center}
nav.main a{color:var(--muted);text-decoration:none;padding:8px 12px;border-radius:999px;font-size:.95rem}
nav.main a:hover,nav.main a[aria-current=page]{color:#fff;background:var(--panel2)}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid var(--line);color:var(--text);border-radius:10px;padding:6px 12px;font-size:1rem}
@media (max-width:820px){.menu-btn{display:block}nav.main{display:none;width:100%;flex-direction:column;align-items:stretch;padding-bottom:12px}nav.main.open{display:flex}}
main{flex:1;padding:32px 0 60px}
footer.site{border-top:1px solid var(--line);color:var(--muted);font-size:.9rem;padding:24px 0}
footer.site .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer;text-decoration:none;
  font:inherit;font-weight:600;padding:12px 22px;border-radius:999px;background:linear-gradient(135deg,var(--gold),var(--gold2));color:#1b1440}
.btn:hover{filter:brightness(1.06);color:#1b1440}
.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--gold)}
.btn.ghost:hover{background:rgba(232,196,106,.12);color:#fff}
.btn.small{padding:6px 14px;font-size:.88rem}
.btn.link{background:none;color:var(--muted);padding:4px 8px;font-weight:500}
.btn.link:hover{color:#fff}
.btn.danger{background:none;color:var(--danger);padding:4px 8px;font-weight:500}
.btn[disabled]{opacity:.6;cursor:wait}
/* hero */
.hero{text-align:center;padding:70px 0 50px;position:relative}
.hero .orb{width:160px;height:160px;margin:0 auto 24px;border-radius:50%;
  background:radial-gradient(circle at 50% 45%,#fff8e1 0,var(--gold2) 18%,rgba(232,196,106,.5) 40%,rgba(157,123,255,.25) 65%,transparent 72%);
  position:relative;animation:breathe 7s ease-in-out infinite}
.hero .orb::after{content:"";position:absolute;inset:-70px;border-radius:50%;z-index:-1;
  background:radial-gradient(circle,rgba(232,196,106,.22) 0,rgba(157,123,255,.12) 45%,transparent 70%)}
@keyframes breathe{50%{transform:scale(1.08)}}
@media (prefers-reduced-motion:reduce){.hero .orb{animation:none}}
.eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-size:.8rem;font-weight:700}
.hero h1{font-size:clamp(2.1rem,5vw,3.6rem);margin:.3em 0}
.hero p.lead{font-size:1.2rem;color:var(--muted);max-width:720px;margin:0 auto 28px}
.cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card{background:linear-gradient(180deg,var(--panel),var(--bg2));border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}
.card h3{color:var(--gold2);margin-top:.2em}
.card p{color:var(--muted);margin:.3em 0 0}
.card .icon{font-size:1.7rem}
a.card{text-decoration:none;color:inherit;display:block;transition:transform .15s,border-color .15s}
a.card:hover{transform:translateY(-3px);border-color:var(--gold)}
.section{padding:40px 0}
.section h2{text-align:center;font-size:2rem}
.section .sub{text-align:center;color:var(--muted);max-width:640px;margin:0 auto 28px}
.verse{text-align:center;font-family:Georgia,serif;font-style:italic;font-size:1.35rem;color:var(--gold2);padding:30px 10px}
.verse small{display:block;font-style:normal;font-size:.9rem;color:var(--muted);margin-top:8px}
.band{background:linear-gradient(135deg,rgba(157,123,255,.18),rgba(232,196,106,.12));border:1px solid var(--line);border-radius:24px;padding:36px;text-align:center}
/* forms */
form .field{margin-bottom:16px}
label{display:block;font-weight:600;margin-bottom:6px}
input,textarea,select{width:100%;font:inherit;color:var(--text);background:#120d30;border:1px solid var(--line);border-radius:12px;padding:12px 14px}
input:focus,textarea:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px rgba(232,196,106,.25)}
textarea{resize:vertical;min-height:90px}
.auth{max-width:440px;margin:20px auto}
.msg{padding:10px 14px;border-radius:12px;margin:10px 0}
.msg.error{background:rgba(255,138,138,.12);color:#ffd0d0;border:1px solid rgba(255,138,138,.4)}
.msg.ok{background:rgba(143,227,176,.12);color:#d4ffe4;border:1px solid rgba(143,227,176,.4)}
.muted{color:var(--muted)}
.page-head{margin-bottom:24px}
.page-head p{color:var(--muted);margin:0}
/* chat */
.chat{display:grid;grid-template-columns:240px 1fr;gap:18px;min-height:60vh}
@media (max-width:820px){.chat{grid-template-columns:1fr}}
.rooms{display:flex;flex-direction:column;gap:6px}
.rooms button{text-align:left;background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:12px;padding:10px 14px;font:inherit;cursor:pointer}
.rooms button[aria-pressed=true]{border-color:var(--gold);background:var(--panel2)}
.rooms button small{display:block;color:var(--muted);font-size:.8rem}
.chatbox{display:flex;flex-direction:column;background:var(--bg2);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.chatbox .log{flex:1;overflow-y:auto;padding:16px;max-height:60vh;min-height:320px}
.chatbox form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line);margin:0}
.chatbox form input{flex:1}
.m{padding:8px 0;border-bottom:1px solid rgba(58,47,122,.5)}
.m .who{font-weight:700;color:var(--gold2)} .m time{color:var(--muted);font-size:.8rem;margin-left:8px}
.m .body{white-space:pre-wrap;word-wrap:break-word}
/* feed */
.feed{max-width:720px;margin:0 auto}
.post{margin-bottom:16px}
.post .meta{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.9rem;flex-wrap:wrap}
.post .meta b{color:var(--gold2)}
.post .body{white-space:pre-wrap;word-wrap:break-word;margin:10px 0;color:var(--text)}
.post .actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.pin{background:var(--gold);color:#1b1440;border-radius:999px;padding:1px 10px;font-size:.75rem;font-weight:700}
.comments{margin-top:10px;border-top:1px solid var(--line);padding-top:10px}
.comments .c{padding:6px 0;font-size:.95rem}
.comments form{display:flex;gap:8px;margin-top:8px}
.liked{color:var(--gold)!important}
/* content */
.article{max-width:760px;margin:0 auto}
.article .md{font-size:1.07rem}
.md blockquote{margin:1em 0;padding:12px 18px;border-left:4px solid var(--gold);background:rgba(232,196,106,.08);border-radius:0 12px 12px 0;font-family:Georgia,serif;font-style:italic;color:var(--gold2)}
.md h2,.md h3{color:var(--gold2)}
.md li{margin:.3em 0}
.md code{background:#120d30;padding:2px 6px;border-radius:6px}
.toolbar{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-bottom:12px}
.gate{max-width:560px;margin:40px auto;text-align:center}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:10px;border-bottom:1px solid var(--line)}
.badge{display:inline-block;padding:1px 10px;border-radius:999px;font-size:.78rem;background:var(--panel2);color:var(--gold2);border:1px solid var(--line)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
[hidden]{display:none!important}
nav.main a.btn,nav.main a.btn:hover{color:#1b1440;background:linear-gradient(135deg,var(--gold),var(--gold2));margin-left:4px}
