@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600&family=Space+Grotesk:wght@300;400;500;600;700&display=swap');
:root{
  --ink:#0b0f1a;
  --muted:#64748b;
  --accent:#1f6feb;
  --accent-2:#ff8a4c;
  --card:#ffffff;
  --edge:rgba(15,23,42,0.08);
  --shadow:0 20px 50px rgba(15,23,42,0.12),0 6px 16px rgba(15,23,42,0.08);
  --media-size:280px
}
*{box-sizing:border-box}
body{
  margin:0;
  min-height:100vh;
  font-family:"Space Grotesk",system-ui,-apple-system,Segoe UI,Roboto,Arial;
  color:var(--ink);
  background:
    radial-gradient(900px 420px at 15% -10%,rgba(77,124,255,0.18),transparent 60%),
    radial-gradient(700px 420px at 100% 0%,rgba(24,58,121,0.35),transparent 60%),
    linear-gradient(180deg,#0c1a2e 0%,#12213a 45%,#172a45 100%)
}
.topbar{
  position:sticky;
  top:0;
  z-index:5;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:1.25rem 2rem;
  background:rgba(255,255,255,0.9);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--edge)
}
.brand{
  display:flex;
  align-items:center;
  gap:0.8rem
}
.brand .logo{
  width:44px;
  height:44px;
  border-radius:12px;
  object-fit:cover;
  box-shadow:0 10px 22px rgba(16,24,40,0.2);
  border:2px solid rgba(255,255,255,0.7)
}
.topbar h1{
  margin:0;
  font-family:"Playfair Display","Times New Roman",serif;
  font-weight:600;
  font-size:1.7rem;
  letter-spacing:0.6px
}
.admin-link{
  font-size:0.92rem;
  color:var(--ink);
  text-decoration:none;
  padding:0.45rem 0.85rem;
  border-radius:999px;
  border:1px solid var(--edge);
  background:#fff;
  transition:transform 0.2s ease,box-shadow 0.2s ease,border-color 0.2s ease
}
.admin-link:hover{
  transform:translateY(-1px);
  border-color:rgba(13,15,20,0.25);
  box-shadow:0 10px 26px rgba(16,24,40,0.12)
}
.page{padding:2rem 2rem 2.8rem}
.hero{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1.5rem;
  margin-bottom:1.6rem
}
.hero h2{
  margin:0 0 0.4rem;
  font-size:1.6rem;
  font-weight:600
}
.hero p{
  margin:0;
  color:var(--muted)
}
.grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
  gap:20px;
  align-items:start
}
.card{
  background:var(--card);
  border:1px solid var(--edge);
  padding:10px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:var(--shadow);
  transform:translateY(10px);
  opacity:0;
  animation:card-rise 0.5s ease forwards
}
.card img,.card video{
  max-width:100%;
  height:var(--media-size);
  object-fit:cover;
  border-radius:12px;
  box-shadow:0 8px 20px rgba(16,24,40,0.12)
}
@keyframes card-rise{
  to{transform:translateY(0);opacity:1}
}
#sizeControl{
  padding:0.85rem 1.1rem;
  background:rgba(255,255,255,0.92);
  border-radius:14px;
  border:1px solid var(--edge);
  display:inline-flex;
  align-items:center;
  gap:12px;
  box-shadow:0 12px 30px rgba(16,24,40,0.08)
}
#sizeControl label{color:var(--muted);display:flex;gap:10px;align-items:center}
#sizeControl input[type="range"]{accent-color:var(--accent)}
#sizeValue{font-weight:700;color:var(--ink)}
form{
  display:flex;
  flex-direction:column;
  gap:12px;
  max-width:520px;
  background:#fff;
  padding:1.2rem;
  border-radius:14px;
  border:1px solid var(--edge);
  box-shadow:var(--shadow)
}
label{display:flex;gap:10px;align-items:center;color:var(--muted)}
input[type="text"],input[type="password"],input[type="file"]{
  flex:1;
  padding:0.6rem 0.7rem;
  border-radius:10px;
  border:1px solid rgba(13,15,20,0.18);
  background:#fff
}
input:focus{outline:2px solid rgba(31,111,235,0.25);border-color:var(--accent)}
button{
  background:linear-gradient(120deg,var(--accent),#3b82f6);
  color:#fff;
  border:none;
  padding:10px 16px;
  border-radius:12px;
  cursor:pointer;
  font-weight:600;
  letter-spacing:0.2px;
  box-shadow:0 12px 24px rgba(31,111,235,0.25);
  transition:transform 0.2s ease,box-shadow 0.2s ease
}
button:hover{transform:translateY(-1px);box-shadow:0 16px 30px rgba(31,111,235,0.3)}

/* Chat Styles */
#chatSection{background:#fff;border-radius:12px;padding:1.2rem;border:1px solid rgba(13,15,20,0.1);box-shadow:0 4px 12px rgba(0,0,0,0.08)}
#chatSection h2{margin:0 0 12px 0;font-size:1.2rem;color:#0d0f14}
#chatBox{background:#f8f9fa;border-radius:8px;border:1px solid rgba(13,15,20,0.08);padding:8px;overflow-y:auto;margin-bottom:12px}
#chatBox > div{padding:6px 8px;background:#fff;border-radius:4px;margin-bottom:4px;border-left:3px solid var(--accent)}
#chatSection > div:last-of-type{display:flex;gap:6px;align-items:center}
#chatUser{max-width:120px}
#chatAdmin{background:#ff6b6b !important;box-shadow:0 12px 24px rgba(255,107,107,0.2) !important}
#chatAdmin:hover{box-shadow:0 16px 30px rgba(255,107,107,0.3) !important}

@media (max-width:860px){
  .hero{flex-direction:column;align-items:flex-start}
}
@media (max-width:720px){
  .topbar{padding:1rem}
  .page{padding:1rem}
  .grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
  #sizeControl{width:100%}
}
