:root{--bg:#070711;--surface:rgba(17,15,28,.95);--soft:rgba(30,22,44,.82);--purple:#a855f7;--lav:#d8b4fe;--red:#ef4444;--text:#fff;--muted:#b9a8d4;--border:rgba(168,85,247,.3);--side:260px}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--text);font-family:Inter,Arial,sans-serif;background:radial-gradient(circle at 15% 10%,rgba(168,85,247,.18),transparent 30%),radial-gradient(circle at 85% 20%,rgba(239,68,68,.1),transparent 28%),var(--bg)}button,input,a{font:inherit}.hidden{display:none!important}.kicker{margin:0;color:var(--lav);font-size:11px;font-weight:900;letter-spacing:.24em}.muted{color:rgba(255,255,255,.66);line-height:1.7}.auth-view{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,480px);padding:42px;border:1px solid rgba(168,85,247,.55);border-radius:30px;background:var(--surface);box-shadow:0 24px 80px rgba(0,0,0,.45)}.auth-card h1{font:56px/.95 Georgia,serif;margin:14px 0}.auth-form{display:grid;gap:10px}.auth-form label{margin-top:8px;color:var(--lav);font-size:12px;font-weight:800}.auth-form input{width:100%;min-height:52px;padding:13px 15px;border:1px solid var(--border);border-radius:14px;color:#fff;background:rgba(255,255,255,.05)}.password-row{position:relative}.password-row input{padding-right:82px}.password-row button{position:absolute;right:7px;top:7px;bottom:7px;border:0;border-radius:10px;color:var(--lav);background:rgba(168,85,247,.12)}.primary,.secondary{min-height:50px;border-radius:999px;font-weight:900;cursor:pointer}.primary{border:0;color:#fff;background:linear-gradient(135deg,var(--purple),var(--red))}.secondary{border:1px solid var(--border);color:var(--lav);background:transparent}.message{min-height:22px;color:var(--muted)}.message.error{color:#ffb4b4}.shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--side);z-index:20;display:flex;flex-direction:column;padding:26px 18px;border-right:1px solid var(--border);background:rgba(9,8,18,.98)}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 24px;border-bottom:1px solid var(--border)}.brand>span,.user>span{display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(168,85,247,.55);border-radius:50%;background:linear-gradient(135deg,rgba(168,85,247,.35),rgba(239,68,68,.16));font-weight:900}.brand div,.user div{display:grid;gap:3px}.brand small,.user small{color:var(--muted)}nav{display:grid;gap:7px;margin-top:25px}nav a{display:flex;justify-content:space-between;padding:14px;border-radius:14px;color:var(--muted);text-decoration:none}nav a:hover,nav a.active{color:#fff;background:rgba(168,85,247,.11)}nav em{font-size:10px;font-style:normal}.logout{margin-top:auto;min-height:46px;border:1px solid rgba(239,68,68,.35);border-radius:14px;color:#ffaaaa;background:rgba(239,68,68,.06)}.main{margin-left:var(--side)}.topbar{min-height:108px;display:flex;align-items:center;justify-content:space-between;padding:22px 4vw;border-bottom:1px solid var(--border);background:rgba(7,7,17,.68)}.topbar h2{margin:7px 0 0;font:40px/1 Georgia,serif}.user{display:flex;gap:10px;align-items:center;padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface)}.menu{display:none;width:44px;height:44px;border:1px solid var(--border);border-radius:13px;color:#fff;background:var(--surface)}.dashboard{width:min(1350px,calc(100% - 44px));margin:auto;padding:36px 0 70px}.hero{min-height:450px;display:grid;grid-template-columns:1.4fr .6fr;gap:35px;align-items:center;padding:clamp(30px,5vw,62px);border:1px solid rgba(168,85,247,.55);border-radius:30px;background:radial-gradient(circle at 82% 20%,rgba(168,85,247,.24),transparent 31%),var(--surface);box-shadow:0 24px 80px rgba(0,0,0,.45)}.hero h1{font:clamp(48px,7vw,90px)/.94 Georgia,serif;margin:18px 0}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.link{display:inline-flex;align-items:center;padding:0 22px;text-decoration:none}.orb{justify-self:center;display:grid;place-items:center;width:150px;height:150px;border:1px solid rgba(216,180,254,.56);border-radius:50%;box-shadow:0 0 70px rgba(168,85,247,.42);font:42px Georgia,serif}.panel{margin-top:27px;padding:36px;border:1px solid var(--border);border-radius:24px;background:var(--surface)}.panel h2{font:44px Georgia,serif;margin:8px 0 22px}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.card{min-height:180px;padding:22px;border:1px solid var(--border);border-radius:20px;color:#fff;background:var(--soft);text-decoration:none;text-align:left;cursor:pointer}.card:hover{border-color:rgba(168,85,247,.58);transform:translateY(-3px)}.card b{color:rgba(255,255,255,.18);font-size:36px}.card h3{margin:15px 0 6px}.card p{color:rgba(255,255,255,.58)}.destinations{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:15px}.destinations a{padding:15px;border:1px solid var(--border);border-radius:14px;color:var(--lav);background:var(--soft);text-decoration:none;font-weight:800}.updates{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.updates article{overflow:hidden;border:1px solid var(--border);border-radius:20px;background:var(--soft)}.updates article h3,.updates article p{margin-left:20px;margin-right:20px}.updates article p{margin-bottom:22px;color:rgba(255,255,255,.58)}.media{aspect-ratio:16/10;display:grid;place-items:center;background:radial-gradient(circle,rgba(168,85,247,.25),transparent 45%);color:var(--lav);font:26px Georgia,serif}.media.red{background:radial-gradient(circle,rgba(239,68,68,.22),transparent 45%)}.media.mix{background:linear-gradient(135deg,rgba(168,85,247,.22),rgba(239,68,68,.12))}.overlay{display:none}@media(max-width:1000px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.main{margin-left:0}.menu{display:block}.overlay.visible{display:block;position:fixed;inset:0;z-index:15;border:0;background:rgba(0,0,0,.6)}.hero{grid-template-columns:1fr}.orb{display:none}.updates{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.auth-card{padding:28px}.topbar{padding:16px}.user div{display:none}.dashboard{width:calc(100% - 20px);padding-top:15px}.hero,.panel{padding:22px;border-radius:21px}.cards,.updates,.destinations{grid-template-columns:1fr}.hero h1{font-size:clamp(44px,15vw,68px)}}

.media-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 16px;
  margin-top: 20px;
}
.media-card {
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: var(--surface-soft);
}
.media-card img,
.media-card video {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: #111;
}
.message-layout {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 16px;
  min-height: 460px;
}
.conversation-list,
.conversation-panel {
  padding: 20px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: var(--surface-soft);
}
.conversation-panel {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.message-composer {
  display: flex;
  gap: 10px;
}
.message-composer input,
.settings-form input {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 14px;
  color: white;
  background: rgba(255,255,255,.05);
}
.message-composer button,
.settings-form button {
  padding: 12px 18px;
  border: 0;
  border-radius: 999px;
  color: white;
  background: linear-gradient(135deg, var(--primary), var(--accent));
  font-weight: 800;
}
.settings-form {
  display: grid;
  gap: 16px;
  max-width: 620px;
}
.settings-form label {
  display: grid;
  gap: 8px;
  color: var(--profile-muted, var(--muted));
}
@media (max-width: 700px) {
  .message-layout { grid-template-columns: 1fr; }
}
