*{box-sizing:border-box}
:root{--bg:#0b0420;--card:#1e0f3a;--text:#f8f7ff;--muted:#c7bfe6;--accent:#7c3aed;--muted-2:#9b8ad6}
body{font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;margin:0;padding:0;background:var(--bg);color:var(--text)}
.container{max-width:960px;margin:0 auto;padding:2rem}
main{max-width:720px;margin:2rem auto;background:var(--card);padding:2rem;border-radius:10px;box-shadow:0 10px 30px rgba(12,6,30,0.6)}
h1{margin-top:0}
code{background:rgba(255,255,255,0.04);padding:.15rem .4rem;border-radius:6px;color:var(--muted)}

/* Header / Nav (dark purple theme) */
.site-header{background:transparent;border-bottom:1px solid rgba(255,255,255,0.03)}
.nav-container{display:flex;align-items:center;gap:1rem;padding:0.75rem 1rem}
.brand{font-weight:700;color:var(--text);text-decoration:none}
.nav-toggle{display:none;background:transparent;border:0;font-size:1.25rem;color:var(--text)}
.navbar{margin-left:auto}
.nav-list{list-style:none;margin:0;padding:0;display:flex;gap:0.25rem;align-items:center}
.nav-item{position:relative}
.dropbtn{background:transparent;border:0;padding:.5rem .75rem;border-radius:8px;cursor:pointer;color:var(--muted);font-weight:600}
.dropbtn:hover{background:rgba(124,58,237,0.08);color:var(--text)}
.dropdown-menu{position:absolute;left:0;top:calc(100% + 8px);min-width:180px;background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));border:1px solid rgba(255,255,255,0.04);box-shadow:0 14px 40px rgba(11,4,36,0.7);border-radius:10px;padding:.4rem 0;display:none;z-index:40}
.dropdown-menu li{list-style:none}
.dropdown-menu a{display:block;padding:.6rem 1rem;color:var(--muted);text-decoration:none}
.dropdown-menu a:hover{background:rgba(124,58,237,0.06);color:var(--text)}
.dropdown.open .dropdown-menu{display:block}

/* NOTE: Removed desktop hover rule so dropdowns open only on click */

/* Mobile */
@media (max-width:719px){
	.nav-toggle{display:inline-block;margin-left:auto}
	.navbar{position:absolute;left:0;right:0;top:100%;background:var(--card);display:none;padding:1rem;border-bottom:1px solid rgba(255,255,255,0.03);}
	.navbar.open{display:block}
	.nav-list{flex-direction:column;gap:0}
	.dropbtn{width:100%;text-align:left}
	.dropdown-menu{position:static;display:none;padding-left:1rem}
	.dropdown.open .dropdown-menu{display:block}
}

/* Footer */
.site-footer{padding:1.25rem 0;color:var(--muted);border-top:1px solid rgba(255,255,255,0.03);margin-top:2rem}
.site-footer a{color:var(--muted-2);text-decoration:none}
.site-footer a:hover{text-decoration:underline}

/* Modal (announcement post) */
.modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(2,1,8,0.6);z-index:100}
.modal-content{background:var(--card);padding:1.25rem;border-radius:12px;max-width:720px;width:94%;box-shadow:0 20px 60px rgba(6,2,30,0.7);border:1px solid rgba(255,255,255,0.03)}
.modal-close{position:absolute;right:1rem;top:1rem;background:transparent;border:0;color:var(--muted);font-size:1.25rem;cursor:pointer}

/* Announcement button */
#new-announcement{background:linear-gradient(90deg,var(--accent),#5b21b6);color:white;border:0;padding:.5rem .75rem;border-radius:8px;cursor:pointer;font-weight:700}

/* Chat styles for a cleaner layout */
.chat-box{display:flex;flex-direction:column;border-radius:8px;border:1px solid rgba(255,255,255,0.02);overflow:hidden}
.chat-header{background:linear-gradient(90deg, rgba(124,58,237,0.12), rgba(91,33,182,0.08));padding:.6rem .9rem;font-weight:700;color:var(--text)}
.chat-messages{padding:.75rem;max-height:320px;overflow-y:auto;background:linear-gradient(180deg, rgba(255,255,255,0.01), transparent)}
.chat-msg{display:flex;gap:.6rem;margin-bottom:.6rem;align-items:flex-start}
.chat-msg-author{font-weight:700;color:var(--accent);font-size:.95rem}
.chat-msg-text{background:rgba(255,255,255,0.02);padding:.5rem .6rem;border-radius:8px;color:var(--text);line-height:1.4}
.chat-msg-time{color:var(--muted);font-size:.75rem;margin-left:auto}
.chat-input{display:flex;gap:.5rem;align-items:center;padding:.6rem;border-top:1px solid rgba(255,255,255,0.02);background:linear-gradient(180deg, transparent, rgba(255,255,255,0.01))}
.chat-input input[type="text"], .chat-input input[type="search"], .chat-input input, .chat-input textarea{flex:1;padding:.5rem .6rem;border-radius:8px;background:transparent;color:var(--text);border:1px solid rgba(255,255,255,0.04)}
.chat-input button{background:var(--accent);color:white;border:0;padding:.5rem .75rem;border-radius:8px;cursor:pointer}
.chat-login{padding:.6rem;color:var(--muted)}

@media (max-width:719px){
	.chat-messages{max-height:200px}
}
