:root {
  --bg:#070b16;
  --bg2:#0a1120;
  --panel:#0d1425;
  --panel2:#111a30;
  --line:rgba(119,151,255,.20);
  --line2:rgba(153,103,255,.22);
  --text:#f5f7ff;
  --muted:#aab4cc;
  --purple:#8e5cff;
  --blue:#4aa8ff;
  --green:#30d784;
}
* { box-sizing:border-box; }
html,body { margin:0; min-height:100%; }
body {
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at 72% 8%, rgba(63,89,194,.15), transparent 28%),
    radial-gradient(circle at 36% 16%, rgba(122,61,196,.14), transparent 24%),
    linear-gradient(180deg,#060a13,#07101d 55%,#07101a);
  color:var(--text);
}

.app {
  min-height:100vh;
  display:grid;
  grid-template-columns:170px 1fr;
}

.sidebar {
  background:linear-gradient(180deg,rgba(5,8,17,.96),rgba(8,13,28,.96));
  border-right:1px solid rgba(255,255,255,.06);
  padding:18px 14px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.side-brand {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
}
.side-brand img.logo { width:62px;height:62px;object-fit:contain; }
.side-brand img.word { width:116px;object-fit:contain; }
.nav-item {
  display:flex;align-items:center;gap:12px;
  padding:12px 14px;border-radius:12px;
  color:#bec7dc;text-decoration:none;font-size:14px;
  border:1px solid transparent;
}
.nav-item:hover,.nav-item.active {
  color:#fff;
  background:linear-gradient(90deg,rgba(111,79,255,.22),rgba(68,92,255,.08));
  border-color:rgba(143,99,255,.24);
}
.icon { width:20px;text-align:center;opacity:.95; }
.side-spacer { flex:1; }
.core-status {
  padding:14px;border-radius:14px;
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.06);
  font-size:12px;color:#aeb8cf;
}
.core-status b { display:block;color:#c9d6f2;margin-bottom:6px; }
.dot { display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:6px; }

.main {
  padding:22px 24px 26px;
}

.topbar {
  height:48px;
  display:flex;align-items:center;gap:16px;
  margin-bottom:16px;
}
.search {
  width:430px;max-width:55%;
  background:#0b1527;border:1px solid rgba(111,149,255,.18);
  color:#9eabc4;border-radius:18px;padding:11px 16px;
}
.user {
  margin-left:auto;display:flex;align-items:center;gap:12px;color:#bfc9dc;font-size:13px;
}
.avatar {
  width:34px;height:34px;border-radius:50%;
  background:linear-gradient(135deg,#845cff,#43a9ff);
  border:2px solid rgba(255,255,255,.15);
}

.top-grid {
  display:grid;
  grid-template-columns:minmax(0,1.9fr) minmax(340px,1fr);
  gap:18px;
  align-items:stretch;
}

.hero {
  min-height:460px;
  border-radius:22px;
  border:1px solid var(--line);
  background:
    radial-gradient(circle at 70% 35%,rgba(82,105,255,.26),transparent 28%),
    radial-gradient(circle at 48% 40%,rgba(153,77,255,.20),transparent 26%),
    linear-gradient(160deg,rgba(13,21,45,.97),rgba(7,13,28,.96));
  overflow:hidden;
  position:relative;
  padding:34px 34px 24px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.hero::before {
  content:"";
  position:absolute;
  inset:auto -6% -34% -6%;
  height:52%;
  background:
    radial-gradient(ellipse at 50% 20%,rgba(96,72,255,.18),transparent 45%),
    repeating-radial-gradient(ellipse at center,transparent 0 11px,rgba(107,115,255,.06) 12px 13px);
  transform:scaleY(.5);
  opacity:.9;
}
.hero-main {
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:20px;
  align-items:center;
  position:relative;z-index:1;
}
.hero-copy h1 { margin:0 0 10px;font-size:44px;line-height:1.05; }
.hero-copy p { margin:0 0 8px;color:#d7def0;font-size:18px; }
.hero-copy small { color:var(--muted);font-size:14px; }
.enter {
  margin-top:22px;
  border:none;color:white;cursor:pointer;
  background:linear-gradient(90deg,#8d5fff,#46a8ff);
  border-radius:16px;padding:12px 18px;
  box-shadow:0 0 24px rgba(115,92,255,.22);
}
.hero-mark {
  display:flex;align-items:center;justify-content:center;gap:22px;
}
.hero-mark img.logo { width:150px;height:150px;object-fit:contain;filter:drop-shadow(0 0 28px rgba(103,90,255,.28)); }
.hero-mark img.word { width:310px;max-width:52%;object-fit:contain; }
.traits {
  position:relative;z-index:1;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-top:22px;
}
.trait {
  padding:14px 14px;
  border-top:1px solid rgba(255,255,255,.05);
  color:#dce3f6;
}
.trait b { display:block;margin-bottom:5px;font-size:15px; }
.trait span { color:#aab5ce;font-size:12px;line-height:1.35; }

.utility-stack {
  display:grid;
  grid-template-rows:1fr 1fr 1.15fr;
  gap:14px;
}
.panel {
  border-radius:18px;
  border:1px solid rgba(89,137,255,.16);
  background:linear-gradient(160deg,rgba(14,22,40,.95),rgba(9,15,29,.96));
  padding:18px;
  overflow:hidden;
  position:relative;
}
.panel h3 { margin:0 0 14px;font-size:17px; }
.panel .sub { color:#9ca8c0;font-size:12px; }
.status-grid {
  display:grid;grid-template-columns:repeat(4,1fr);gap:8px;text-align:center;
}
.metric {
  padding:8px 4px;border-radius:12px;background:rgba(255,255,255,.025);
}
.ring {
  width:54px;height:54px;border-radius:50%;margin:0 auto 8px;
  display:grid;place-items:center;
  border:7px solid rgba(77,151,255,.25);
  border-top-color:#4da6ff;border-right-color:#845cff;
  font-size:12px;
}
.metric span { display:block;font-size:11px;color:#a9b4c8; }
.metric em { color:var(--green);font-style:normal;font-size:10px; }
.quick-grid { display:grid;grid-template-columns:repeat(5,1fr);gap:8px; }
.quick {
  min-height:72px;border-radius:12px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  background:rgba(255,255,255,.025);
  border:1px solid rgba(129,114,255,.13);
  color:#c7d2e6;font-size:11px;
}
.quick .qicon { font-size:20px;color:#ab90ff; }
.ai-panel {
  background:
    radial-gradient(circle at 84% 50%,rgba(130,70,255,.24),transparent 28%),
    linear-gradient(160deg,rgba(19,25,56,.96),rgba(9,15,31,.97));
}
.ai-panel h3 { color:#b997ff; }
.ai-input {
  margin-top:16px;
  display:flex;gap:8px;
}
.ai-input input {
  flex:1;background:#0b1427;border:1px solid rgba(120,124,255,.16);
  color:#b7c2d7;border-radius:12px;padding:11px 12px;
}
.ai-input button {
  border:none;border-radius:12px;padding:0 14px;color:white;
  background:linear-gradient(90deg,#7c59ff,#4b9eff);
}

.section-title {
  margin:22px 0 12px;
  font-size:15px;color:#d6d9ff;
  display:flex;align-items:center;gap:10px;
}
.section-title::after {
  content:"";width:30px;height:2px;background:linear-gradient(90deg,#8a5cff,#4baeff);
}

.modules {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:16px;
}
.card {
  min-height:205px;
  border-radius:18px;
  border:1px solid rgba(80,137,255,.15);
  background:linear-gradient(160deg,rgba(15,24,45,.94),rgba(10,16,31,.96));
  padding:18px;
  position:relative;
  overflow:hidden;
  grid-column:span 3;
}
.card::after {
  content:"";position:absolute;right:-50px;bottom:-55px;
  width:150px;height:150px;border-radius:50%;
  background:radial-gradient(circle,rgba(116,72,255,.18),transparent 65%);
}
.card h3 { margin:0 0 6px;font-size:18px; }
.card p { margin:0;color:#aab5ca;font-size:12px; }
.card .label {
  position:absolute;top:14px;right:14px;
  font-size:10px;padding:5px 8px;border-radius:999px;
  background:rgba(130,88,255,.11);border:1px solid rgba(136,98,255,.16);color:#cbbdff;
}
.card .content-strip {
  position:absolute;left:16px;right:16px;bottom:16px;
  height:74px;border-radius:12px;
  background:
    linear-gradient(90deg,rgba(81,92,255,.16),rgba(139,73,255,.10)),
    repeating-linear-gradient(90deg,transparent 0 42px,rgba(255,255,255,.025) 43px 44px);
  border:1px solid rgba(255,255,255,.04);
}
.card.activity .content-strip {
  background:
    linear-gradient(180deg,transparent 0 45%,rgba(108,88,255,.12) 46% 100%),
    repeating-linear-gradient(90deg,rgba(80,87,160,.22) 0 12px,transparent 12px 24px);
}
.card.optional { opacity:.93; }
.card.core { border-color:rgba(108,119,255,.22); }

.lower {
  display:grid;
  grid-template-columns:2.2fr .8fr;
  gap:16px;
  margin-top:16px;
}
.lower .panel { min-height:92px; }
.update-row { display:flex;gap:18px;align-items:center;color:#b3bfd3;font-size:12px;flex-wrap:wrap; }
.update-row b { color:#eef2ff; }
.community {
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.faces { display:flex; }
.face { width:30px;height:30px;border-radius:50%;margin-left:-6px;border:2px solid #111a30;background:linear-gradient(135deg,#844fff,#3d8ef0); }

.customize {
  position:fixed;right:18px;bottom:18px;
  border:none;border-radius:999px;padding:12px 16px;
  color:white;cursor:pointer;
  background:linear-gradient(90deg,#7e5cff,#4a9cff);
  box-shadow:0 8px 30px rgba(75,95,255,.28);
  z-index:20;
}
.drawer {
  position:fixed;right:0;top:0;bottom:0;width:360px;
  background:#09101f;border-left:1px solid rgba(255,255,255,.08);
  transform:translateX(100%);transition:.2s ease;
  padding:24px;z-index:30;overflow:auto;
}
body.open .drawer { transform:translateX(0); }
.drawer h2 { margin-top:0; }
.toggle {
  display:flex;justify-content:space-between;align-items:center;
  padding:11px 0;border-bottom:1px solid rgba(255,255,255,.05);color:#c9d3e8;
}
.switch {
  width:42px;height:24px;border-radius:999px;background:#27314a;position:relative;cursor:pointer;
}
.switch::after {
  content:"";position:absolute;top:4px;left:4px;width:16px;height:16px;border-radius:50%;background:#d6deef;transition:.15s;
}
.switch.on { background:linear-gradient(90deg,#7d5bff,#4b9bff); }
.switch.on::after { left:22px;background:#fff; }
.close {
  margin-left:auto;border:none;background:transparent;color:#fff;font-size:18px;cursor:pointer;
}
.reset {
  margin-top:18px;width:100%;padding:11px;border-radius:10px;color:white;
  border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);cursor:pointer;
}
.hidden { display:none !important; }

@media (max-width:1250px) {
  .app { grid-template-columns:120px 1fr; }
  .nav-item span:last-child { display:none; }
  .top-grid { grid-template-columns:1fr; }
  .utility-stack { grid-template-columns:repeat(3,1fr);grid-template-rows:none; }
  .hero { min-height:400px; }
  .card { grid-column:span 4; }
}
@media (max-width:850px) {
  .app { grid-template-columns:1fr; }
  .sidebar { display:none; }
  .main { padding:14px; }
  .search { max-width:100%;width:100%; }
  .user { display:none; }
  .hero-main { grid-template-columns:1fr; }
  .hero-mark { justify-content:flex-start; }
  .hero-mark img.logo { width:100px;height:100px; }
  .hero-mark img.word { width:220px;max-width:60%; }
  .traits { grid-template-columns:1fr; }
  .utility-stack { grid-template-columns:1fr; }
  .modules { grid-template-columns:1fr; }
  .card { grid-column:auto; }
  .lower { grid-template-columns:1fr; }
}

/* --- HERO / CUSTOMISATION PASS --- */
.hero {
  isolation:isolate;
}
.hero::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(8,13,28,.86) 0%,rgba(8,13,28,.56) 42%,rgba(8,13,28,.10) 72%,rgba(8,13,28,.22) 100%),
    linear-gradient(180deg,rgba(255,255,255,.018),transparent 25%,rgba(0,0,0,.22));
  z-index:0;
}
.hero-main,.traits { z-index:2; }
.hero-mark {
  position:relative;
  min-height:250px;
}
.hero-mark::before {
  content:"";
  position:absolute;
  width:330px;height:330px;border-radius:50%;
  border:1px solid rgba(102,126,255,.16);
  box-shadow:
    0 0 70px rgba(101,84,255,.12),
    inset 0 0 70px rgba(72,128,255,.05);
}
.hero-mark::after {
  content:"";
  position:absolute;
  width:250px;height:250px;border-radius:50%;
  border:1px dashed rgba(153,102,255,.16);
  animation:spin 28s linear infinite;
}
@keyframes spin { to { transform:rotate(360deg); } }

.hero-copy .kicker {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(143,99,255,.20);
  background:rgba(112,79,255,.07);
  color:#b9c6e4;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:14px;
}
.hero-actions {
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:22px;
  flex-wrap:wrap;
}
.hero-actions .enter { margin-top:0; }
.hero-ghost {
  border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.035);
  color:#dce5f7;
  border-radius:14px;
  padding:11px 15px;
  cursor:pointer;
}
.hero-ghost:hover { background:rgba(255,255,255,.06); }

.hero-bg-a {
  background-image:
    linear-gradient(90deg,rgba(6,10,22,.78) 0%,rgba(6,10,22,.52) 42%,rgba(6,10,22,.18) 72%,rgba(6,10,22,.30) 100%),
    url("../../Assets/Backgrounds/Nexus Horizon.png");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.hero-bg-b {
  background-image:
    linear-gradient(90deg,rgba(6,10,22,.76) 0%,rgba(6,10,22,.50) 42%,rgba(6,10,22,.18) 72%,rgba(6,10,22,.28) 100%),
    url("../../Assets/Backgrounds/Calm Orbital.png");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.hero-bg-c {
  background-image:
    linear-gradient(90deg,rgba(6,10,22,.76) 0%,rgba(6,10,22,.50) 42%,rgba(6,10,22,.18) 72%,rgba(6,10,22,.28) 100%),
    url("../../Assets/Backgrounds/Neon Drift.png");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.hero-bg-d {
  background-image:
    linear-gradient(90deg,rgba(6,10,22,.78) 0%,rgba(6,10,22,.52) 42%,rgba(6,10,22,.20) 72%,rgba(6,10,22,.30) 100%),
    url("../../Assets/Backgrounds/Deep Violet.png");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

.hero-bg-e {
  background-image:
    linear-gradient(90deg,rgba(6,10,22,.80) 0%,rgba(6,10,22,.54) 40%,rgba(6,10,22,.18) 72%,rgba(6,10,22,.28) 100%),
    url("../../Assets/Backgrounds/Alien Night.png");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.hero-bg-f {
  background-image:
    linear-gradient(90deg,rgba(6,10,22,.82) 0%,rgba(6,10,22,.56) 40%,rgba(6,10,22,.20) 72%,rgba(6,10,22,.30) 100%),
    url("../../Assets/Backgrounds/Blood Night.png");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.hero-bg-g {
  background-image:
    linear-gradient(90deg,rgba(6,10,22,.78) 0%,rgba(6,10,22,.48) 40%,rgba(6,10,22,.16) 72%,rgba(6,10,22,.22) 100%),
    url("../../Assets/Backgrounds/Sunrise Spire.png");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

.drawer .section-title-small {
  margin:22px 0 10px;
  color:#dfe5f4;
  font-size:13px;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.bg-picks {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.bg-pick {
  min-height:86px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
  cursor:pointer;
  position:relative;
  overflow:hidden;
}
.bg-pick.active {
  outline:2px solid rgba(126,91,255,.65);
  outline-offset:2px;
}
.bg-pick span {
  position:absolute;
  left:9px;bottom:8px;
  font-size:11px;
  color:white;
  text-shadow:0 2px 8px rgba(0,0,0,.85);
}
.bg-pick[data-bg="a"] {
  background:url("../../Assets/Backgrounds/Nexus Horizon.png") center/cover no-repeat;
}
.bg-pick[data-bg="b"] {
  background:url("../../Assets/Backgrounds/Calm Orbital.png") center/cover no-repeat;
}
.bg-pick[data-bg="c"] {
  background:url("../../Assets/Backgrounds/Neon Drift.png") center/cover no-repeat;
}
.bg-pick[data-bg="d"] {
  background:url("../../Assets/Backgrounds/Deep Violet.png") center/cover no-repeat;
}
.bg-pick[data-bg="e"] {
  background:url("../../Assets/Backgrounds/Alien Night.png") center/cover no-repeat;
}
.bg-pick[data-bg="f"] {
  background:url("../../Assets/Backgrounds/Blood Night.png") center/cover no-repeat;
}
.bg-pick[data-bg="g"] {
  background:url("../../Assets/Backgrounds/Sunrise Spire.png") center/cover no-repeat;
}
.custom-note {
  color:#8f9db8;
  font-size:11px;
  line-height:1.45;
  margin-top:10px;
}


.bg-pick::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 40%,rgba(3,7,16,.72) 100%);
  pointer-events:none;
}
.bg-pick span {
  z-index:1;
}


/* --- NO-SCROLL / COMPACT DESKTOP PASS --- */
body {
  overflow:hidden;
}
.main {
  height:100vh;
  overflow:hidden;
  padding:14px 20px 16px;
}
.topbar {
  height:42px;
  margin-bottom:10px;
}
.top-grid {
  gap:12px;
}
.hero {
  min-height:350px;
  height:350px;
  padding:24px 28px 18px;
}
.hero-main {
  min-height:210px;
}
.hero-mark {
  min-height:210px;
}
.hero-mark img.logo {
  width:120px;
  height:120px;
}
.hero-mark img.word {
  width:270px;
}
.traits {
  margin-top:10px;
}
.trait {
  padding:10px 12px;
}
.utility-stack {
  gap:10px;
  grid-template-rows:1fr 1fr 1.05fr;
}
.panel {
  padding:14px 16px;
}
.panel h3 {
  margin-bottom:10px;
}
.quick {
  min-height:58px;
}
.ai-input {
  margin-top:10px;
}
.section-title {
  margin:12px 0 8px;
}
.modules {
  gap:12px;
}
.card {
  min-height:170px;
  padding:16px;
}
.card .content-strip {
  height:56px;
  bottom:12px;
}
.lower {
  margin-top:12px;
  gap:12px;
}
.lower .panel {
  min-height:72px;
}
.requests-panel {
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.request-actions {
  display:flex;
  gap:8px;
  margin-top:12px;
}
.request-actions button {
  flex:1;
  border:1px solid rgba(130,100,255,.22);
  background:rgba(116,82,255,.10);
  color:#dfe7fa;
  border-radius:10px;
  padding:9px 10px;
  cursor:pointer;
}
.request-actions button:hover {
  background:rgba(116,82,255,.16);
}
@media (max-height:900px) and (min-width:851px) {
  body { overflow:auto; }
  .main { height:auto; overflow:visible; }
}


/* --- FIX: prevent hero controls/traits from blending together --- */
.hero {
  height: 330px;
  min-height: 330px;
  padding: 20px 28px 18px;
}

.hero-main {
  min-height: 190px;
  align-items: center;
}

.hero-copy h1 {
  font-size: 40px;
  margin-bottom: 8px;
}

.hero-copy p {
  font-size: 16px;
  margin-bottom: 6px;
}

.hero-actions {
  margin-top: 16px;
  gap: 10px;
}

.hero-actions .enter,
.hero-actions .hero-ghost {
  padding: 10px 14px;
  line-height: 1.1;
}

.traits {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,.06);
  gap: 0;
}

.trait {
  padding: 8px 16px;
  min-height: 58px;
}

.trait + .trait {
  border-left: 1px solid rgba(255,255,255,.06);
}

.trait b {
  margin-bottom: 4px;
  font-size: 14px;
}

.trait span {
  font-size: 11px;
  line-height: 1.35;
}

.hero-mark {
  min-height: 190px;
}

.hero-mark img.logo {
  width: 105px;
  height: 105px;
}

.hero-mark img.word {
  width: 245px;
}

.section-title {
  margin: 10px 0 8px;
}

.card {
  min-height: 158px;
}

.lower {
  margin-top: 10px;
}

.lower .panel {
  min-height: 66px;
}

@media (max-height: 950px) and (min-width: 851px) {
  .hero {
    height: 305px;
    min-height: 305px;
  }

  .hero-main {
    min-height: 170px;
  }

  .hero-copy h1 {
    font-size: 36px;
  }

  .hero-mark {
    min-height: 170px;
  }

  .hero-mark img.logo {
    width: 92px;
    height: 92px;
  }

  .hero-mark img.word {
    width: 220px;
  }

  .trait {
    min-height: 52px;
    padding: 7px 14px;
  }

  .card {
    min-height: 148px;
  }
}


/* --- BALANCE PASS: use the dead space instead of squashing content --- */
.hero {
  height: 360px;
  min-height: 360px;
}

.hero-main {
  min-height: 215px;
}

.hero-mark {
  min-height: 215px;
}

.section-title {
  margin: 18px 0 10px;
}

.card {
  min-height: 205px;
}

.card .content-strip {
  height: 82px;
  bottom: 14px;
}

.lower {
  margin-top: 14px;
}

.lower .panel {
  min-height: 92px;
}

/* Let the Explore row occupy more of the lower half */
.modules {
  align-items:stretch;
}

/* Keep desktop no-scroll target but avoid over-compressing */
@media (min-height: 900px) and (min-width: 851px) {
  .main {
    padding-bottom: 18px;
  }

  .hero {
    height: 370px;
    min-height: 370px;
  }

  .card {
    min-height: 215px;
  }

  .lower .panel {
    min-height: 98px;
  }
}


/* === NEXUS V2 LAYOUT TUNE ===
   Purpose:
   - let the hero use more of the upper-left space
   - make Requests / Quick Access / Nexus AI larger
   - move Explore Nexus down slightly
   - keep the page on one desktop screen
*/
@media (min-width: 851px) {
  .main {
    padding-top: 14px;
  }

  .top-grid {
    grid-template-columns: minmax(0, 1.95fr) minmax(390px, 1fr);
    gap: 14px;
    align-items: stretch;
  }

  .hero {
    height: 410px;
    min-height: 410px;
    padding: 24px 30px 20px;
  }

  .hero-main {
    min-height: 245px;
  }

  .hero-mark {
    min-height: 245px;
  }

  .hero-mark img.logo {
    width: 118px;
    height: 118px;
  }

  .hero-mark img.word {
    width: 275px;
  }

  .traits {
    margin-top: 16px;
    padding-top: 14px;
  }

  .trait {
    min-height: 64px;
    padding: 10px 16px;
  }

  .utility-stack {
    grid-template-rows: 1.08fr 1.08fr 1.18fr;
    gap: 12px;
  }

  .utility-stack .panel {
    padding: 18px 18px;
  }

  .requests-panel .request-actions {
    margin-top: 16px;
  }

  .requests-panel .request-actions button {
    padding: 11px 12px;
  }

  .quick {
    min-height: 66px;
  }

  .ai-input {
    margin-top: 14px;
  }

  .ai-input input {
    padding: 12px 13px;
  }

  .section-title {
    margin-top: 30px;
    margin-bottom: 10px;
  }

  .card {
    min-height: 205px;
  }

  .card .content-strip {
    height: 82px;
  }

  .lower {
    margin-top: 12px;
  }

  .lower .panel {
    min-height: 86px;
  }
}

/* Slightly tighter only for shorter desktop displays */
@media (min-width: 851px) and (max-height: 900px) {
  body {
    overflow: hidden;
  }

  .main {
    height: 100vh;
    overflow: hidden;
  }

  .hero {
    height: 375px;
    min-height: 375px;
  }

  .hero-main,
  .hero-mark {
    min-height: 220px;
  }

  .section-title {
    margin-top: 22px;
  }

  .card {
    min-height: 185px;
  }

  .card .content-strip {
    height: 68px;
  }

  .lower .panel {
    min-height: 78px;
  }
}


/* === HERO / AI BOTTOM ALIGNMENT === */
@media (min-width: 851px) {
  .top-grid {
    align-items: stretch;
  }

  .hero {
    height: auto;
    min-height: 0;
    align-self: stretch;
  }

  .utility-stack {
    height: 100%;
  }
}

/* Keep shorter desktop layouts aligned too */
@media (min-width: 851px) and (max-height: 900px) {
  .hero {
    height: auto;
    min-height: 0;
  }
}


/* --- SIDEBAR / ONLINE POLISH --- */
.nav-item .icon {
  font-size: 15px;
}

.community .face {
  position: relative;
}

.community .face::after {
  content:"";
  position:absolute;
  right:-1px;
  bottom:-1px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--green);
  border:2px solid #111a30;
}


/* --- SLIDING SIDEBAR --- */
@media (min-width: 851px) {
  .app {
    grid-template-columns: 1fr;
  }

  .sidebar {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 170px;
    z-index: 25;
    transform: translateX(-156px);
    transition:
      transform 620ms cubic-bezier(.22,.8,.24,1),
      box-shadow 620ms ease,
      background 620ms ease;
    box-shadow: 18px 0 40px rgba(0,0,0,0);
    will-change: transform;
  }

  .sidebar::after {
    content:"";
    position:absolute;
    top:0;
    right:-18px;
    width:18px;
    height:100%;
    background:linear-gradient(90deg,rgba(103,82,255,.10),rgba(103,82,255,0));
    border-right:1px solid rgba(132,106,255,.12);
    opacity:.75;
  }

  .sidebar:hover,
  .sidebar:focus-within,
  .sidebar.open-nav {
    transform: translateX(0);
    box-shadow: 18px 0 40px rgba(0,0,0,.28);
  }

  .main {
    margin-left: 14px;
    transition: margin-left 620ms cubic-bezier(.22,.8,.24,1);
  }

  .sidebar:hover ~ .main,
  .sidebar:focus-within ~ .main,
  .sidebar.open-nav ~ .main {
    margin-left: 170px;
  }

  .side-brand,
  .nav-item,
  .sidebar .core-status {
    opacity: 0;
    transform: translateX(-8px);
    transition:
      opacity 180ms ease 30ms,
      transform 220ms ease 30ms;
  }

  .sidebar:hover .side-brand,
  .sidebar:hover .nav-item,
  .sidebar:hover .core-status,
  .sidebar:focus-within .side-brand,
  .sidebar:focus-within .nav-item,
  .sidebar:focus-within .core-status,
  .sidebar.open-nav .side-brand,
  .sidebar.open-nav .nav-item,
  .sidebar.open-nav .core-status {
    opacity: 1;
    transform: translateX(0);
  }

  .sidebar-handle {
    position:absolute;
    right:-14px;
    top:50%;
    transform:translateY(-50%);
    width:28px;
    height:72px;
    border-radius:0 16px 16px 0;
    border:1px solid rgba(142,92,255,.28);
    border-left:none;
    background:linear-gradient(180deg,rgba(18,24,48,.96),rgba(10,15,29,.96));
    box-shadow:0 0 20px rgba(111,82,255,.16);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#a993ff;
    cursor:pointer;
    user-select:none;
  }

  .sidebar-handle::before {
    content:"›";
    font-size:22px;
    line-height:1;
    transition:transform 620ms cubic-bezier(.22,.8,.24,1);
  }

  .sidebar:hover .sidebar-handle::before,
  .sidebar:focus-within .sidebar-handle::before,
  .sidebar.open-nav .sidebar-handle::before {
    transform:rotate(180deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .sidebar,
  .main,
  .side-brand,
  .nav-item,
  .sidebar .core-status,
  .sidebar-handle::before {
    transition:none !important;
  }
}


/* --- EXPLORE NEXUS LOGOS --- */
.module-logo {
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 50%, rgba(108,82,255,.12), transparent 62%),
    linear-gradient(90deg, rgba(43,70,160,.18), rgba(103,55,190,.16));
}

.module-logo img {
  width:112px;
  height:112px;
  max-width:72%;
  max-height:88%;
  object-fit:contain;
  filter:drop-shadow(0 0 14px rgba(116,91,255,.22));
  transition:transform 360ms ease, filter 360ms ease;
}

.card:hover .module-logo img {
  transform:scale(1.055);
  filter:drop-shadow(0 0 20px rgba(116,91,255,.34));
}


/* --- LOGO FIT FIX --- */
.content-strip.module-logo {
  min-height: 76px;
  padding: 6px;
}

.content-strip.module-logo img {
  width: 86px;
  height: 86px;
  max-width: 70%;
  max-height: 100%;
  object-fit: contain;
}


/* --- EXPLORE LOGO DISPLAY CORRECTION --- */
.content-strip.module-logo {
  min-height: 82px;
  padding: 3px;
}

.content-strip.module-logo img {
  width: auto;
  height: 76px;
  max-width: 82%;
  max-height: 76px;
  object-fit: contain;
  mix-blend-mode: screen;
  filter: drop-shadow(0 0 12px rgba(116,91,255,.30));
}

.card:hover .content-strip.module-logo img {
  transform: scale(1.06);
  filter: drop-shadow(0 0 18px rgba(116,91,255,.42));
}


/* --- EXPLORE CARD LOGO POLISH --- */
.content-strip.module-logo {
  min-height: 112px;
  padding: 2px 0 0;
  margin-top: 10px;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.content-strip.module-logo img {
  width: auto;
  height: 106px;
  max-width: 88%;
  max-height: 106px;
  object-fit: contain;
  mix-blend-mode: screen;
  filter: drop-shadow(0 0 16px rgba(116,91,255,.32));
}

.card:hover .content-strip.module-logo img {
  transform: scale(1.075);
  filter: drop-shadow(0 0 24px rgba(116,91,255,.46));
}


/* --- TOP BAR CORE + CLOCK --- */
.topbar {
  position: relative;
}

.topbar-clock {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .08em;
  color: rgba(235,239,255,.92);
  font-variant-numeric: tabular-nums;
  pointer-events: none;
  white-space: nowrap;
}

.topbar .core-status {
  margin-left: auto;
  margin-right: 10px;
  display:flex;
  align-items:center;
  gap:7px;
  white-space:nowrap;
}

.time-format-options {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin:8px 0 18px;
}

.time-format-btn {
  border:1px solid rgba(129,107,255,.22);
  background:rgba(22,28,53,.72);
  color:var(--muted);
  border-radius:10px;
  padding:9px 10px;
  cursor:pointer;
  transition:background 180ms ease, border-color 180ms ease, color 180ms ease;
}

.time-format-btn:hover,
.time-format-btn.active {
  color:#fff;
  border-color:rgba(139,111,255,.48);
  background:rgba(91,68,190,.28);
}

/* Four useful Quick Access items */
.quick-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
}

@media (max-width: 1150px) {
  .quick-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* --- MATCH QUICK ACCESS BUTTONS TO REQUESTS --- */
.quick-grid button {
  border:1px solid rgba(130,100,255,.22);
  background:rgba(116,82,255,.10);
  color:#dfe7fa;
  border-radius:10px;
  padding:9px 10px;
  cursor:pointer;
}

.quick-grid button:hover {
  background:rgba(116,82,255,.16);
}


/* --- TOPBAR NEXUS CORE VISIBILITY FIX --- */
.topbar > .core-status {
  opacity: 1 !important;
  transform: none !important;
  display: flex !important;
}


/* --- TOPBAR CLOCK SIZE POLISH --- */
.topbar-clock {
  font-size: 19px;
  font-weight: 750;
  letter-spacing: .09em;
}


/* --- ALIGN NEXUS CORE WITH REQUESTS COLUMN --- */
@media (min-width: 851px) {
  .topbar > .core-status {
    position: absolute;
    right: 392px;
    top: 50%;
    transform: translateY(-50%) !important;
    margin: 0;
  }
}


/* === NEXUS V2 CUSTOMIZE UPGRADE === */
:root {
  --nexus-accent:#8e5cff;
  --custom-panel-rgb:13,20,37;
  --custom-panel-opacity:.96;
  --accent-edge-strength:30%;
}

.panel,
.card {
  background:rgba(var(--custom-panel-rgb),var(--custom-panel-opacity));
}

/* User-selectable Nexus accent edging */
.panel,
.card,
.hero,
.trait,
.workspace-shell {
  border-color:color-mix(in srgb,var(--nexus-accent) var(--accent-edge-strength),transparent) !important;
  box-shadow:
    0 0 0 1px color-mix(in srgb,var(--nexus-accent) calc(var(--accent-edge-strength) * .18),transparent),
    0 0 18px color-mix(in srgb,var(--nexus-accent) calc(var(--accent-edge-strength) * .12),transparent);
}

/* Buttons that were previously hard-coded purple now follow the chosen accent. */
.quick-grid button,
.request-actions button {
  border-color:color-mix(in srgb,var(--nexus-accent) 32%,transparent) !important;
  background:color-mix(in srgb,var(--nexus-accent) 10%,transparent) !important;
}
.quick-grid button:hover,
.request-actions button:hover {
  border-color:color-mix(in srgb,var(--nexus-accent) 52%,transparent) !important;
  background:color-mix(in srgb,var(--nexus-accent) 16%,transparent) !important;
}


.drawer {
  width:440px;
  padding:0;
  background:rgba(7,12,25,.985);
  transition:transform 420ms cubic-bezier(.22,.8,.24,1);
}

.custom-head {
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:24px 24px 18px;
  border-bottom:1px solid rgba(255,255,255,.07);
}

.custom-head h2 { margin:0 0 6px; }
.custom-head p { margin:0;color:#929fba;font-size:12px;line-height:1.45; }

.custom-tabs {
  display:flex;
  gap:6px;
  padding:12px 16px;
  overflow-x:auto;
  border-bottom:1px solid rgba(255,255,255,.06);
}

.custom-tab {
  border:1px solid transparent;
  border-radius:9px;
  background:transparent;
  color:#8f9bb5;
  padding:8px 10px;
  cursor:pointer;
  white-space:nowrap;
  font-size:12px;
}
.custom-tab:hover,
.custom-tab.active {
  color:#fff;
  background:rgba(126,92,255,.12);
  border-color:color-mix(in srgb,var(--nexus-accent) 35%,transparent);
}

.custom-panel {
  display:none;
  padding:8px 24px 6px;
}
.custom-panel.active { display:block; }

.section-title-small {
  margin-top:18px;
  margin-bottom:10px;
  color:#dce4f6;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.accent-picks {
  display:flex;
  gap:12px;
}
.accent-pick {
  width:32px;height:32px;border-radius:50%;
  border:2px solid transparent;
  cursor:pointer;
}
.accent-pick.active {
  border-color:#fff;
  box-shadow:0 0 0 2px rgba(255,255,255,.08),0 0 16px color-mix(in srgb,var(--nexus-accent) 35%,transparent);
}
.accent-pick[data-accent="blue"] { background:#4aa8ff; }
.accent-pick[data-accent="purple"] { background:#8e5cff; }
.accent-pick[data-accent="green"] { background:#30d784; }
.accent-pick[data-accent="red"] { background:#ff5b6e; }
.accent-pick[data-accent="orange"] { background:#ff9f43; }

.choice-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.choice-btn {
  border:1px solid rgba(130,100,255,.18);
  background:rgba(255,255,255,.025);
  color:#aeb9d0;
  border-radius:10px;
  padding:10px;
  cursor:pointer;
}
.choice-btn:hover,
.choice-btn.active {
  color:#fff;
  border-color:color-mix(in srgb,var(--nexus-accent) 50%,transparent);
  background:color-mix(in srgb,var(--nexus-accent) 12%,transparent);
}

.custom-slider-title {
  display:flex;
  justify-content:space-between;
}
.custom-range {
  width:100%;
  accent-color:var(--nexus-accent);
}

.time-format-options {
  grid-template-columns:repeat(3,1fr);
}

.setting-card {
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:12px;
  background:rgba(255,255,255,.025);
  color:#dce4f6;
  padding:14px;
  margin-bottom:9px;
  text-align:left;
  cursor:pointer;
}
.setting-card b,
.setting-card small { display:block; }
.setting-card small {
  margin-top:5px;
  color:#8f9bb5;
  font-weight:400;
  line-height:1.4;
}
.setting-card.active {
  border-color:color-mix(in srgb,var(--nexus-accent) 48%,transparent);
  background:color-mix(in srgb,var(--nexus-accent) 9%,transparent);
}
.setting-state {
  flex-shrink:0;
  min-width:38px;
  text-align:center;
  border:1px solid rgba(255,255,255,.09);
  border-radius:999px;
  padding:5px 8px;
  color:#9da9c0;
  font-size:11px;
}
.setting-card.active .setting-state { color:#fff; }

.about-card {
  margin-top:18px;
  padding:18px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:14px;
  background:rgba(255,255,255,.025);
}
.about-title { font-size:28px;font-weight:800;letter-spacing:.05em; }
.about-sub { margin:3px 0 20px;color:var(--nexus-accent);font-size:12px; }
.about-row {
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:10px 0;
  border-top:1px solid rgba(255,255,255,.05);
  color:#8f9bb5;
  font-size:12px;
}
.about-row strong { color:#dce4f6;font-weight:600; }

.custom-note {
  color:#77849f;
  font-size:11px;
  line-height:1.5;
  margin-top:10px;
}

body.nexus-large-text { font-size:112.5%; }
body.nexus-strong-text { font-weight:600; }
body.nexus-dim .app { filter:brightness(.72); }
body.nexus-reduced-motion *,
body.nexus-reduced-motion *::before,
body.nexus-reduced-motion *::after {
  transition-duration:.01ms !important;
  animation-duration:.01ms !important;
  animation-iteration-count:1 !important;
}

.enter,
.customize,
.switch.on {
  background:linear-gradient(90deg,var(--nexus-accent),#4a9cff);
}

.time-format-btn.active,
.choice-btn.active,
.custom-tab.active {
  border-color:color-mix(in srgb,var(--nexus-accent) 52%,transparent);
}

@media (max-width:600px) {
  .drawer { width:100%; }
}


/* === NEXUS V2 ARCHIVES WORKSPACE === */
.nexus-workspace {
  position:fixed;
  inset:0;
  z-index:45;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:
    opacity 320ms ease,
    visibility 320ms ease;
}
.nexus-workspace.open {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.workspace-backdrop {
  position:absolute;
  inset:0;
  background:rgba(3,6,15,.72);
  backdrop-filter:blur(12px);
}
.workspace-shell {
  position:absolute;
  inset:54px 54px 42px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(132,105,255,.18);
  border-radius:22px;
  background:rgba(7,12,25,.97);
  box-shadow:0 28px 90px rgba(0,0,0,.5);
  transform:translateY(16px) scale(.985);
  transition:transform 380ms cubic-bezier(.22,.8,.24,1);
}
.nexus-workspace.open .workspace-shell {
  transform:translateY(0) scale(1);
}
.workspace-header {
  min-height:104px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  padding:24px 28px 20px;
  border-bottom:1px solid rgba(255,255,255,.06);
  background:linear-gradient(180deg,rgba(120,90,255,.07),transparent);
}
.workspace-header h2 {
  margin:3px 0 6px;
  font-size:28px;
}
.workspace-header p {
  margin:0;
  color:#8f9bb5;
  font-size:13px;
}
.workspace-eyebrow {
  color:var(--nexus-accent);
  font-size:11px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.workspace-close {
  width:40px;
  height:40px;
  flex-shrink:0;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  background:rgba(255,255,255,.025);
  color:#cfd8ea;
  cursor:pointer;
}
.workspace-close:hover {
  border-color:color-mix(in srgb,var(--nexus-accent) 45%,transparent);
  background:color-mix(in srgb,var(--nexus-accent) 9%,transparent);
  color:#fff;
}

.archives-toolbar {
  display:flex;
  align-items:center;
  gap:16px;
  padding:14px 20px;
  border-bottom:1px solid rgba(255,255,255,.05);
}
.archives-search-wrap {
  flex:1;
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  padding:0 13px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:11px;
  background:rgba(255,255,255,.025);
}
.archives-search-wrap:focus-within {
  border-color:color-mix(in srgb,var(--nexus-accent) 50%,transparent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--nexus-accent) 9%,transparent);
}
.archives-search-wrap span { color:#77849f; }
.archives-search-wrap input {
  width:100%;
  height:42px;
  border:0;
  outline:0;
  background:transparent;
  color:#eef3ff;
}
.archives-search-wrap input::placeholder { color:#66728d; }
.archives-count {
  flex-shrink:0;
  color:#7e8aa4;
  font-size:11px;
}

.archives-layout {
  flex:1;
  min-height:0;
  display:grid;
  grid-template-columns:220px 290px minmax(0,1fr);
}
.archives-categories,
.archives-files,
.archives-reader {
  min-width:0;
  min-height:0;
}
.archives-categories,
.archives-files {
  border-right:1px solid rgba(255,255,255,.055);
  background:rgba(255,255,255,.012);
}
.archives-pane-title {
  padding:15px 16px 10px;
  color:#7f8ba5;
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.archives-category-list,
.archives-file-list {
  height:calc(100% - 38px);
  overflow:auto;
  padding:0 10px 12px;
}
.archives-category-btn,
.archives-file-btn {
  width:100%;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  color:#96a2ba;
  text-align:left;
  cursor:pointer;
  transition:
    background 180ms ease,
    border-color 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}
.archives-category-btn {
  padding:11px 12px;
  margin-bottom:6px;
  font-weight:650;
}
.archives-file-btn {
  padding:12px;
  margin-bottom:7px;
}
.archives-file-btn small {
  display:block;
  margin-top:4px;
  color:#63708a;
  font-size:10px;
}
.archives-category-btn:hover,
.archives-file-btn:hover {
  color:#fff;
  background:rgba(255,255,255,.025);
  border-color:rgba(255,255,255,.06);
}
.archives-category-btn.active,
.archives-file-btn.active {
  color:#fff;
  border-color:color-mix(in srgb,var(--nexus-accent) 40%,transparent);
  background:color-mix(in srgb,var(--nexus-accent) 9%,transparent);
}

.archives-reader {
  position:relative;
  overflow:auto;
  background:
    radial-gradient(circle at 70% 10%,color-mix(in srgb,var(--nexus-accent) 6%,transparent),transparent 38%),
    rgba(255,255,255,.006);
}
.archives-reader-empty {
  position:absolute;
  inset:0;
  display:grid;
  place-content:center;
  justify-items:center;
  text-align:center;
  padding:30px;
}

.archives-reader-empty[hidden],
.archives-reader-content[hidden] {
  display:none !important;
}
.archives-reader-empty h3 {
  margin:14px 0 7px;
}
.archives-reader-empty p {
  margin:0;
  max-width:420px;
  color:#7d899f;
  line-height:1.55;
}
.archives-reader-mark {
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--nexus-accent) 45%,transparent);
  border-radius:16px;
  color:#fff;
  font-size:26px;
  font-weight:800;
  background:color-mix(in srgb,var(--nexus-accent) 8%,transparent);
}
.archives-reader-content {
  max-width:880px;
  margin:0 auto;
  padding:34px 42px 60px;
}
.archives-reader-content h1 {
  margin:0 0 22px;
  font-size:30px;
}
.archives-reader-content h2 {
  margin:30px 0 12px;
  font-size:21px;
}
.archives-reader-content h3 {
  margin:22px 0 10px;
  font-size:17px;
}
.archives-reader-content p,
.archives-reader-content li {
  color:#a9b3c8;
  font-size:14px;
  line-height:1.75;
}
.archives-reader-content p { margin:0 0 15px; }
.archives-reader-content ul,
.archives-reader-content ol {
  margin:0 0 18px 22px;
}
.archives-reader-content strong { color:#f2f5ff; }
.archives-reader-content code {
  padding:2px 6px;
  border-radius:6px;
  background:rgba(255,255,255,.05);
  color:#d7e4ff;
}
.archives-reader-content .archive-load-error {
  padding:14px 16px;
  border:1px solid rgba(255,91,110,.24);
  border-radius:12px;
  background:rgba(255,91,110,.06);
  color:#ff9aa8;
}

body.workspace-open {
  overflow:hidden;
}

body.nexus-reduced-motion .nexus-workspace,
body.nexus-reduced-motion .workspace-shell {
  transition:none !important;
}

@media (max-width:1100px) {
  .workspace-shell { inset:34px 28px 28px; }
  .archives-layout { grid-template-columns:190px 250px minmax(0,1fr); }
}
@media (max-width:820px) {
  .workspace-shell { inset:14px; border-radius:16px; }
  .archives-layout {
    grid-template-columns:1fr;
    overflow:auto;
  }
  .archives-categories,
  .archives-files {
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.055);
  }
  .archives-category-list,
  .archives-file-list { height:auto; max-height:190px; }
  .archives-reader { min-height:420px; }
  .archives-reader-content { padding:24px 20px 46px; }
}


/* === NEXUS V2 AI WORKSPACE === */
.ai-panel {
  cursor:pointer;
}
.ai-panel:focus-visible {
  outline:2px solid var(--nexus-accent);
  outline-offset:3px;
}

.ai-workspace-header {
  align-items:center;
}
.ai-workspace-title-row {
  display:flex;
  align-items:center;
  gap:10px;
}
.ai-mode-pill {
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 9px;
  border-radius:999px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.ai-mode-pill.limited {
  color:#ffd5a5;
  border:1px solid rgba(255,159,67,.38);
  background:rgba(255,159,67,.11);
}
.ai-mode-pill.offline {
  color:#ffb2bc;
  border:1px solid rgba(255,91,110,.35);
  background:rgba(255,91,110,.10);
}
.ai-mode-pill.full {
  color:#9bf0c2;
  border:1px solid rgba(48,215,132,.36);
  background:rgba(48,215,132,.10);
}
.ai-mode-pill[hidden] {
  display:none !important;
}
.ai-workspace-actions {
  display:flex;
  align-items:center;
  gap:10px;
}
.ai-clear-btn {
  height:40px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:11px;
  background:rgba(255,255,255,.025);
  color:#aeb8ce;
  cursor:pointer;
}
.ai-clear-btn:hover {
  color:#fff;
  border-color:color-mix(in srgb,var(--nexus-accent) 42%,transparent);
  background:color-mix(in srgb,var(--nexus-accent) 8%,transparent);
}
.ai-clear-btn:disabled {
  opacity:.45;
  cursor:wait;
}

.ai-workspace-body {
  flex:1;
  min-height:0;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
}
.ai-chat {
  min-height:0;
  overflow:auto;
  padding:26px 34px 30px;
  scroll-behavior:smooth;
  background:
    radial-gradient(circle at 80% 0%,color-mix(in srgb,var(--nexus-accent) 6%,transparent),transparent 34%),
    rgba(255,255,255,.004);
}
.ai-empty-state {
  height:100%;
  min-height:350px;
  display:grid;
  place-content:center;
  justify-items:center;
  text-align:center;
  padding:30px;
}
.ai-empty-state h3 {
  margin:18px 0 7px;
  font-size:24px;
}
.ai-empty-state p {
  margin:0;
  max-width:470px;
  color:#7f8ca5;
  line-height:1.55;
}
.ai-empty-orb {
  position:relative;
  width:82px;
  height:82px;
  border-radius:50%;
  border:1px solid color-mix(in srgb,var(--nexus-accent) 45%,transparent);
  box-shadow:
    0 0 30px color-mix(in srgb,var(--nexus-accent) 18%,transparent),
    inset 0 0 28px color-mix(in srgb,var(--nexus-accent) 10%,transparent);
}
.ai-empty-orb::before,
.ai-empty-orb::after {
  content:"";
  position:absolute;
  inset:12px;
  border:1px solid color-mix(in srgb,var(--nexus-accent) 36%,transparent);
  border-radius:50%;
  transform:rotate(28deg) scaleX(1.3);
}
.ai-empty-orb::after {
  transform:rotate(-28deg) scaleX(1.3);
}
.ai-empty-core {
  position:absolute;
  width:16px;
  height:16px;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 18px #fff;
}

.ai-message-row {
  display:flex;
  margin:0 0 16px;
}
.ai-message-row.user {
  justify-content:flex-end;
}
.ai-message-row.assistant {
  justify-content:flex-start;
}
.ai-bubble {
  max-width:min(760px,76%);
  padding:13px 15px;
  border-radius:15px;
  font-size:14px;
  line-height:1.58;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.ai-bubble.user {
  color:#fff;
  border-bottom-right-radius:5px;
  background:color-mix(in srgb,var(--nexus-accent) 28%,rgba(255,255,255,.02));
  border:1px solid color-mix(in srgb,var(--nexus-accent) 45%,transparent);
}
.ai-bubble.assistant {
  color:#dbe3f3;
  border-bottom-left-radius:5px;
  border:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.025);
}
.ai-bubble.thinking {
  color:#7f8ca5;
  font-style:italic;
}
.ai-bubble.assistant strong {
  color:#f2f5ff;
  font-weight:750;
}
.ai-bubble.assistant code {
  padding:2px 5px;
  border-radius:5px;
  background:rgba(255,255,255,.055);
  color:#d7e4ff;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.92em;
}

.ai-chat-form {
  padding:16px 24px 20px;
  border-top:1px solid rgba(255,255,255,.055);
  background:rgba(7,12,25,.96);
}
.ai-input-wrap {
  max-width:980px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) 48px;
  gap:10px;
  align-items:center;
  padding:7px 7px 7px 15px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:rgba(255,255,255,.025);
}
.ai-input-wrap:focus-within {
  border-color:color-mix(in srgb,var(--nexus-accent) 48%,transparent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--nexus-accent) 8%,transparent);
}
.ai-input-wrap input {
  min-width:0;
  height:42px;
  border:0;
  outline:0;
  background:transparent;
  color:#eef3ff;
  font-size:14px;
}
.ai-input-wrap input::placeholder {
  color:#66728d;
}
.ai-input-wrap button {
  width:42px;
  height:42px;
  border:1px solid color-mix(in srgb,var(--nexus-accent) 48%,transparent);
  border-radius:10px;
  color:#fff;
  background:color-mix(in srgb,var(--nexus-accent) 20%,transparent);
  cursor:pointer;
  font-size:20px;
}
.ai-input-wrap button:hover {
  background:color-mix(in srgb,var(--nexus-accent) 30%,transparent);
}
.ai-input-wrap button:disabled,
.ai-input-wrap input:disabled {
  opacity:.45;
  cursor:wait;
}

@media (max-width:760px) {
  .ai-workspace-header {
    align-items:flex-start;
  }
  .ai-workspace-actions {
    gap:6px;
  }
  .ai-clear-btn {
    padding:0 10px;
    font-size:11px;
  }
  .ai-chat {
    padding:20px 16px 24px;
  }
  .ai-bubble {
    max-width:88%;
  }
  .ai-chat-form {
    padding:12px;
  }
}


/* === MATCH AI CARD TO WORKSPACE ORB === */
.ai-panel {
  display:grid;
  grid-template-columns:minmax(0,1fr) 92px;
  align-items:center;
  gap:14px;
}
.ai-card-copy {
  min-width:0;
}
.ai-card-visual {
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
}
.ai-card-orb {
  width:68px;
  height:68px;
}
.ai-card-orb .ai-empty-core {
  width:13px;
  height:13px;
}


/* === NEXUS V2 QUIZZES === */
.quizzes-workspace-shell { overflow:hidden; }
.quizzes-workspace-header { align-items:center; }
.quiz-title-row { display:flex;align-items:center;gap:10px; }
.quiz-title-row h2 { margin-right:4px; }
.quiz-service-pill {
  display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;
  border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.025);
  color:#9ca9c1;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
}
.quiz-service-pill.ready { color:#9bf0c2;border-color:rgba(48,215,132,.36);background:rgba(48,215,132,.10); }
.quiz-service-pill.offline { color:#ffb2bc;border-color:rgba(255,91,110,.35);background:rgba(255,91,110,.10); }
.quiz-shell { flex:1;min-height:0;position:relative;overflow:hidden; }
.quiz-screen { display:none;height:100%;min-height:0;overflow:auto;padding:24px 28px 30px; }
.quiz-screen.active { display:block; }
.quiz-screen.quiz-centred.active { display:grid;place-items:center; }
.quiz-setup-grid { display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.8fr);gap:18px;max-width:1180px;margin:0 auto; }
.quiz-panel {
  border:1px solid color-mix(in srgb,var(--nexus-accent) 28%,transparent);border-radius:18px;
  background:rgba(255,255,255,.022);padding:22px;box-shadow:0 16px 44px rgba(0,0,0,.16);
}
.quiz-panel h3 { margin:5px 0 16px;font-size:21px; }
.quiz-kicker { color:var(--nexus-accent);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase; }
.quiz-space-top { margin-top:24px; }
.quiz-topic-grid { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px; }
.quiz-topic-card {
  display:flex;align-items:center;gap:13px;min-height:96px;padding:15px;text-align:left;cursor:pointer;
  border:1px solid rgba(255,255,255,.075);border-radius:14px;background:rgba(255,255,255,.02);color:#dce4f6;
}
.quiz-topic-card:hover,.quiz-topic-card.active { border-color:color-mix(in srgb,var(--nexus-accent) 52%,transparent);background:color-mix(in srgb,var(--nexus-accent) 10%,transparent); }
.quiz-topic-card b,.quiz-topic-card small { display:block; }
.quiz-topic-card small { margin-top:5px;color:#7f8ba5;font-weight:400;line-height:1.4; }
.quiz-topic-mark { width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:11px;background:color-mix(in srgb,var(--nexus-accent) 13%,transparent);border:1px solid color-mix(in srgb,var(--nexus-accent) 32%,transparent);font-weight:850;color:#fff; }
.quiz-difficulty-grid,.quiz-leaderboard-tabs { display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px; }
.quiz-difficulty-grid button,.quiz-leaderboard-tabs button,.quiz-results-actions button,.quiz-name-entry button {
  border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(255,255,255,.025);color:#aeb9d0;padding:10px 12px;cursor:pointer;
}
.quiz-difficulty-grid button:hover,.quiz-difficulty-grid button.active,.quiz-leaderboard-tabs button:hover,.quiz-leaderboard-tabs button.active,.quiz-results-actions button:hover,.quiz-name-entry button:hover {
  color:#fff;border-color:color-mix(in srgb,var(--nexus-accent) 50%,transparent);background:color-mix(in srgb,var(--nexus-accent) 12%,transparent);
}
.quiz-rules { display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:22px; }
.quiz-rules div { text-align:center;padding:12px;border-radius:12px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.055); }
.quiz-rules strong,.quiz-rules span { display:block; }
.quiz-rules strong { color:#fff;font-size:20px; }
.quiz-rules span { margin-top:3px;color:#74809a;font-size:10px;text-transform:uppercase;letter-spacing:.08em; }
.quiz-start { width:100%;margin-top:16px;padding:12px 16px;border:1px solid color-mix(in srgb,var(--nexus-accent) 50%,transparent);border-radius:11px;background:color-mix(in srgb,var(--nexus-accent) 20%,transparent);color:#fff;font-weight:750;cursor:pointer; }
.quiz-start:disabled { opacity:.38;cursor:not-allowed; }
.quiz-start:not(:disabled):hover { background:color-mix(in srgb,var(--nexus-accent) 30%,transparent); }
.quiz-message { min-height:20px;margin:10px 0 0;color:#7e8aa4;font-size:12px;text-align:center; }
.quiz-leaderboard-list { margin:14px 0 0;padding:0;list-style:none;max-height:340px;overflow:auto; }
.quiz-leaderboard-list li { display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:10px 8px;border-bottom:1px solid rgba(255,255,255,.05);color:#aeb8ce;font-size:12px; }
.quiz-leaderboard-list .quiz-leaderboard-empty { display:block;text-align:center;color:#68758f;padding:26px 8px;border:0; }
.quiz-rank { color:var(--nexus-accent);font-weight:800; }
.quiz-leaderboard-name { color:#e8edfa;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.quiz-leaderboard-score { color:#fff;font-variant-numeric:tabular-nums; }
.quiz-small-note { margin:12px 0 0;color:#65718a;font-size:10px;line-height:1.5; }
.quiz-loading-card { width:min(560px,100%);text-align:center; }
.quiz-spinner { width:46px;height:46px;margin:2px auto 18px;border:3px solid rgba(255,255,255,.08);border-top-color:var(--nexus-accent);border-radius:50%;animation:quiz-spin .8s linear infinite; }
@keyframes quiz-spin { to { transform:rotate(360deg); } }
.quiz-loading-card p { margin:8px 0 0;color:#7f8ba5; }
.quiz-game-wrap { width:min(1050px,100%);margin:0 auto; }
.quiz-game-header { display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;margin-bottom:14px; }
.quiz-game-tags { display:flex;gap:7px;flex-wrap:wrap; }
.quiz-game-tags span { padding:6px 9px;border-radius:999px;background:color-mix(in srgb,var(--nexus-accent) 9%,transparent);border:1px solid color-mix(in srgb,var(--nexus-accent) 30%,transparent);font-size:11px;font-weight:750; }
.quiz-game-stat { color:#8793ab;font-size:12px; }
.quiz-game-stat strong { color:#fff;font-size:16px; }
.quiz-timer { position:relative;height:34px;margin-bottom:16px;overflow:hidden;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:rgba(255,255,255,.02); }
.quiz-timer-bar { position:absolute;inset:0 auto 0 0;width:100%;background:linear-gradient(90deg,color-mix(in srgb,var(--nexus-accent) 38%,transparent),rgba(74,168,255,.22));transition:width 1s linear; }
.quiz-timer.warning .quiz-timer-bar { background:linear-gradient(90deg,rgba(255,159,67,.36),rgba(255,91,110,.28)); }
.quiz-timer span { position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-weight:800;font-size:12px;font-variant-numeric:tabular-nums; }
.quiz-question-card { padding:26px;border:1px solid color-mix(in srgb,var(--nexus-accent) 28%,transparent);border-radius:18px;background:rgba(255,255,255,.022); }
.quiz-question { margin:0 0 22px;color:#eef3ff;font-size:22px;font-weight:720;line-height:1.45;text-align:center; }
.quiz-answer-grid { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.quiz-answer { min-height:76px;padding:15px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(255,255,255,.025);color:#dce4f6;cursor:pointer;font-size:14px;line-height:1.4; }
.quiz-answer:not(:disabled):hover { border-color:color-mix(in srgb,var(--nexus-accent) 48%,transparent);background:color-mix(in srgb,var(--nexus-accent) 9%,transparent); }
.quiz-answer.correct { border-color:rgba(48,215,132,.58);background:rgba(48,215,132,.12);color:#b9f7d5; }
.quiz-answer.incorrect { border-color:rgba(255,91,110,.55);background:rgba(255,91,110,.11);color:#ffc1c8; }
.quiz-answer:disabled { cursor:default; }
.quiz-feedback { min-height:22px;margin:14px 0 0;text-align:center;color:#9ca9c1;font-size:12px; }
.quiz-results-card { width:min(760px,100%); }
.quiz-results-card h3 { margin-top:6px;font-size:26px; }
.quiz-results-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0; }
.quiz-results-grid div { padding:14px 10px;text-align:center;border-radius:12px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02); }
.quiz-results-grid span,.quiz-results-grid strong { display:block; }
.quiz-results-grid span { color:#74809a;font-size:10px;text-transform:uppercase;letter-spacing:.07em; }
.quiz-results-grid strong { margin-top:5px;color:#fff;font-size:20px; }
.quiz-name-entry { margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.06); }
.quiz-name-entry label { display:block;margin-bottom:8px;color:#aeb8ce;font-size:12px; }
.quiz-name-entry > div { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px; }
.quiz-name-entry input { min-width:0;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(255,255,255,.025);color:#eef3ff;padding:10px 12px;outline:0; }
.quiz-name-entry input:focus { border-color:color-mix(in srgb,var(--nexus-accent) 50%,transparent); }
.quiz-name-entry p { min-height:18px;margin:7px 0 0;color:#7f8ba5;font-size:11px; }
.quiz-results-actions { display:flex;gap:8px;margin-top:16px; }
.quiz-results-actions button { flex:1; }
@media (max-width:860px) {
  .quiz-screen { padding:16px; }
  .quiz-setup-grid { grid-template-columns:1fr; }
  .quiz-topic-grid,.quiz-answer-grid { grid-template-columns:1fr; }
  .quiz-game-header { grid-template-columns:1fr 1fr; }
  .quiz-game-tags { grid-column:1 / -1; }
  .quiz-results-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:520px) {
  .quiz-results-grid { grid-template-columns:1fr; }
  .quiz-name-entry > div,.quiz-results-actions { grid-template-columns:1fr;display:grid; }
}

/* === NEXUS SEARCH PROVIDER === */
.nexus-search-wrap {
  position:relative;
  display:flex;
  align-items:center;
  width:min(700px,100%);
}
.nexus-search-wrap .search {
  width:100%;
  padding-left:42px;
}
.search-provider-logo {
  position:absolute;
  left:13px;
  width:20px;
  height:20px;
  object-fit:contain;
  z-index:2;
  pointer-events:none;
  filter:drop-shadow(0 0 6px color-mix(in srgb,var(--nexus-accent) 18%,transparent));
}

.search-provider-picks {
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:8px;
}
.search-provider-pick {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:46px;
  padding:8px 9px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  background:rgba(255,255,255,.025);
  color:#aeb9d0;
  cursor:pointer;
}
.search-provider-pick img {
  width:22px;
  height:22px;
  object-fit:contain;
}
.search-provider-pick:hover,
.search-provider-pick.active {
  color:#fff;
  border-color:color-mix(in srgb,var(--nexus-accent) 50%,transparent);
  background:color-mix(in srgb,var(--nexus-accent) 12%,transparent);
}
@media (max-width:460px) {
  .search-provider-picks {
    grid-template-columns:1fr;
  }
}


/* === NEXUS V2 DOWNLOADS WORKSPACE === */
.downloads-workspace-shell {
  overflow:hidden;
}
.downloads-workspace-header {
  align-items:center;
}
.downloads-heading-group {
  display:flex;
  align-items:center;
  gap:14px;
}
.downloads-back {
  display:none;
  width:40px;
  height:40px;
  flex-shrink:0;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  background:rgba(255,255,255,.025);
  color:#cfd8ea;
  cursor:pointer;
  font-size:19px;
}
.downloads-back.visible {
  display:block;
}
.downloads-back:hover {
  color:#fff;
  border-color:color-mix(in srgb,var(--nexus-accent) 45%,transparent);
  background:color-mix(in srgb,var(--nexus-accent) 9%,transparent);
}
.downloads-body {
  flex:1;
  min-height:0;
  overflow:auto;
  padding:24px 28px 30px;
}
.downloads-view {
  display:none;
}
.downloads-view.active {
  display:block;
}
.downloads-intro {
  margin-bottom:20px;
}
.downloads-intro h3 {
  margin:0 0 6px;
  font-size:21px;
}
.downloads-intro p {
  margin:0;
  max-width:760px;
  color:#7f8ba5;
  font-size:13px;
  line-height:1.55;
}
.downloads-category-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.downloads-category {
  min-height:104px;
  display:flex;
  align-items:center;
  gap:16px;
  padding:18px;
  border:1px solid color-mix(in srgb,var(--nexus-accent) 28%,transparent);
  border-radius:15px;
  background:rgba(255,255,255,.018);
  color:#dfe7f6;
  text-align:left;
  cursor:pointer;
}
.downloads-category:hover {
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--nexus-accent) 52%,transparent);
  background:color-mix(in srgb,var(--nexus-accent) 8%,rgba(255,255,255,.018));
}
.downloads-category-mark {
  width:46px;
  height:46px;
  flex:0 0 46px;
  display:grid;
  place-items:center;
  border-radius:12px;
  border:1px solid color-mix(in srgb,var(--nexus-accent) 38%,transparent);
  background:color-mix(in srgb,var(--nexus-accent) 9%,transparent);
  color:var(--nexus-accent);
  font-size:20px;
  font-weight:800;
}
.downloads-category b {
  display:block;
  margin-bottom:5px;
  color:#eef3ff;
  font-size:15px;
}
.downloads-category small {
  display:block;
  color:#7f8ba5;
  font-size:11px;
  line-height:1.4;
}
.downloads-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.downloads-card {
  min-height:132px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:16px;
  padding:17px;
  border:1px solid color-mix(in srgb,var(--nexus-accent) 24%,transparent);
  border-radius:14px;
  background:rgba(var(--custom-panel-rgb),.68);
}
.downloads-card h3 {
  margin:0 0 7px;
  color:#eef3ff;
  font-size:15px;
}
.downloads-card p {
  margin:0;
  color:#8e9ab2;
  font-size:12px;
  line-height:1.5;
}
.downloads-card a,
.downloads-coming-soon {
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 11px;
  border-radius:9px;
  font-size:11px;
  font-weight:750;
  text-decoration:none;
}
.downloads-card a {
  color:#fff;
  border:1px solid color-mix(in srgb,var(--nexus-accent) 44%,transparent);
  background:color-mix(in srgb,var(--nexus-accent) 12%,transparent);
}
.downloads-card a:hover {
  border-color:color-mix(in srgb,var(--nexus-accent) 65%,transparent);
  background:color-mix(in srgb,var(--nexus-accent) 20%,transparent);
}
.downloads-coming-soon {
  color:#77849d;
  border:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.025);
}

.downloads-card-actions {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.downloads-use-bg {
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 11px;
  border-radius:9px;
  font-size:11px;
  font-weight:750;
  color:#fff;
  border:1px solid color-mix(in srgb,var(--nexus-accent) 44%,transparent);
  background:color-mix(in srgb,var(--nexus-accent) 12%,transparent);
  cursor:pointer;
}
.downloads-use-bg:hover {
  border-color:color-mix(in srgb,var(--nexus-accent) 65%,transparent);
  background:color-mix(in srgb,var(--nexus-accent) 20%,transparent);
}
.downloads-platform-group + .downloads-platform-group {
  margin-top:26px;
}
.downloads-platform-title {
  margin:0 0 12px;
  color:var(--nexus-accent);
  font-size:12px;
  letter-spacing:.09em;
  text-transform:uppercase;
}
@media (max-width:760px) {
  .downloads-body {
    padding:18px 15px 24px;
  }
  .downloads-category-grid,
  .downloads-list {
    grid-template-columns:1fr;
  }
  .downloads-workspace-header {
    align-items:flex-start;
  }
}


.downloads-background-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.downloads-bg-card {
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--nexus-accent) 26%,transparent);
  border-radius:14px;
  background:rgba(var(--custom-panel-rgb),.70);
}
.downloads-bg-preview {
  width:100%;
  aspect-ratio:16/7;
  background-size:cover;
  background-position:center;
  border-bottom:1px solid color-mix(in srgb,var(--nexus-accent) 20%,transparent);
}
.downloads-bg-info {
  padding:14px 15px 15px;
}
.downloads-bg-info h3 {
  margin:0 0 6px;
  color:#eef3ff;
  font-size:15px;
}
.downloads-bg-info p {
  margin:0 0 12px;
  color:#8e9ab2;
  font-size:12px;
}
.downloads-bg-info > a,
.downloads-card-actions a {
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 11px;
  border-radius:9px;
  font-size:11px;
  font-weight:750;
  color:#fff;
  text-decoration:none;
  border:1px solid color-mix(in srgb,var(--nexus-accent) 44%,transparent);
  background:color-mix(in srgb,var(--nexus-accent) 12%,transparent);
}
.downloads-bg-info > a:hover,
.downloads-card-actions a:hover {
  border-color:color-mix(in srgb,var(--nexus-accent) 65%,transparent);
  background:color-mix(in srgb,var(--nexus-accent) 20%,transparent);
}
@media (max-width:760px) {
  .downloads-background-grid {
    grid-template-columns:1fr;
  }
}


.bg-remove {
  position:absolute;
  top:7px;
  right:7px;
  z-index:3;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(255,255,255,.10);
  border-radius:8px;
  background:rgba(5,9,18,.72);
  color:#c9d2e5;
  cursor:pointer;
  font-size:13px;
  line-height:1;
  opacity:.82;
  backdrop-filter:blur(5px);
}
.bg-remove:hover {
  color:#fff;
  border-color:rgba(255,91,110,.62);
  background:rgba(118,24,38,.76);
  box-shadow:0 0 12px rgba(255,91,110,.18);
  opacity:1;
}


/* === NEXUS V2 MUSIC DRAWER === */
.music-drawer {
  position:fixed;
  z-index:220;
  top:0;
  right:0;
  width:min(430px,calc(100vw - 48px));
  height:100vh;
  transform:translateX(100%);
  transition:transform 620ms cubic-bezier(.22,.8,.24,1);
  border-left:1px solid color-mix(in srgb,var(--nexus-accent) 34%,transparent);
  background:
    radial-gradient(circle at 80% 0%,color-mix(in srgb,var(--nexus-accent) 9%,transparent),transparent 30%),
    rgba(7,12,25,.985);
  box-shadow:-18px 0 44px rgba(0,0,0,.34);
}
.music-drawer.open {
  transform:translateX(0);
}
.music-drawer-handle {
  position:absolute;
  left:-42px;
  top:50%;
  transform:translateY(-50%);
  width:42px;
  height:86px;
  border:1px solid color-mix(in srgb,var(--nexus-accent) 34%,transparent);
  border-right:0;
  border-radius:13px 0 0 13px;
  background:rgba(8,14,28,.96);
  color:var(--nexus-accent);
  cursor:pointer;
  font-size:20px;
  box-shadow:-8px 0 18px rgba(0,0,0,.20);
}
.music-drawer-handle:hover {
  color:#fff;
  background:color-mix(in srgb,var(--nexus-accent) 10%,rgba(8,14,28,.96));
}
.music-drawer-inner {
  height:100%;
  display:flex;
  flex-direction:column;
  min-height:0;
}
.music-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:22px 22px 18px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.music-eyebrow {
  color:var(--nexus-accent);
  font-size:10px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.music-head h2 {
  margin:3px 0 5px;
  font-size:25px;
}
.music-head p {
  margin:0;
  color:#8490a8;
  font-size:11px;
}
.music-close {
  width:38px;
  height:38px;
  flex:0 0 38px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:11px;
  background:rgba(255,255,255,.025);
  color:#cfd8ea;
  cursor:pointer;
}
.music-close:hover {
  color:#fff;
  border-color:color-mix(in srgb,var(--nexus-accent) 45%,transparent);
}
.music-now-playing {
  display:grid;
  grid-template-columns:78px minmax(0,1fr);
  gap:15px;
  align-items:center;
  padding:18px 22px 12px;
}
.music-art {
  width:78px;
  height:78px;
  display:grid;
  place-items:center;
  border-radius:16px;
  border:1px solid color-mix(in srgb,var(--nexus-accent) 36%,transparent);
  background:
    radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--nexus-accent) 24%,transparent),transparent 38%),
    rgba(255,255,255,.025);
  color:var(--nexus-accent);
  font-size:29px;
}
.music-meta {
  min-width:0;
}
.music-now-label {
  margin-bottom:5px;
  color:#758099;
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.music-meta h3 {
  margin:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#eef3ff;
  font-size:16px;
}
.music-meta p {
  margin:5px 0 0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#a4b0c8;
  font-size:12px;
}
.music-meta small {
  display:block;
  margin-top:4px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#68748e;
  font-size:10px;
}
.music-progress-wrap {
  padding:4px 22px 0;
}
.music-progress,
.music-volume-row input {
  width:100%;
  accent-color:var(--nexus-accent);
}
.music-time-row {
  display:flex;
  justify-content:space-between;
  margin-top:3px;
  color:#6f7b94;
  font-size:9px;
}
.music-controls {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:13px;
  padding:11px 22px 9px;
}
.music-controls button {
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.08);
  border-radius:50%;
  background:rgba(255,255,255,.025);
  color:#dce5f7;
  cursor:pointer;
}
.music-controls button:hover {
  color:#fff;
  border-color:color-mix(in srgb,var(--nexus-accent) 42%,transparent);
  background:color-mix(in srgb,var(--nexus-accent) 8%,transparent);
}
.music-controls .music-play {
  width:50px;
  height:50px;
  border-color:color-mix(in srgb,var(--nexus-accent) 50%,transparent);
  background:color-mix(in srgb,var(--nexus-accent) 16%,transparent);
}
.music-controls .music-repeat {
  position:relative;
  font-size:18px;
}
.music-controls .music-repeat.active {
  color:#fff;
  border-color:color-mix(in srgb,var(--nexus-accent) 58%,transparent);
  background:color-mix(in srgb,var(--nexus-accent) 14%,transparent);
}
.music-controls .music-repeat.repeat-one::after {
  content:"1";
  position:absolute;
  right:5px;
  bottom:4px;
  min-width:13px;
  height:13px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:var(--nexus-accent);
  color:#fff;
  font-size:8px;
  font-weight:900;
  line-height:1;
}
.music-volume-row {
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  gap:8px;
  align-items:center;
  padding:0 22px 15px;
  border-bottom:1px solid rgba(255,255,255,.055);
}
.music-volume-row span {
  color:#8490a8;
  font-size:13px;
}
.music-library-head {
  padding:16px 22px 10px;
}
.music-library-head h3 {
  margin:0 0 4px;
  font-size:13px;
}
.music-library-head p {
  margin:0;
  color:#6f7b94;
  font-size:10px;
  line-height:1.45;
}
.music-track-list {
  flex:1;
  min-height:0;
  overflow:auto;
  padding:0 14px 12px;
}
.music-track {
  width:100%;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:10px 9px;
  border:1px solid transparent;
  border-radius:11px;
  background:transparent;
  color:#dce5f7;
  text-align:left;
  cursor:pointer;
}
.music-track:hover,
.music-track.active {
  border-color:color-mix(in srgb,var(--nexus-accent) 30%,transparent);
  background:color-mix(in srgb,var(--nexus-accent) 7%,transparent);
}
.music-track-num {
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:rgba(255,255,255,.025);
  color:#758099;
  font-size:10px;
}
.music-track.active .music-track-num {
  color:var(--nexus-accent);
}
.music-track-copy {
  min-width:0;
}
.music-track-copy b,
.music-track-copy span {
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.music-track-copy b {
  color:#eef3ff;
  font-size:12px;
}
.music-track-copy span {
  margin-top:3px;
  color:#758099;
  font-size:10px;
}
.music-track-album {
  max-width:92px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#5f6c84;
  font-size:9px;
}
.music-empty-note {
  margin:0 20px 18px;
  padding:11px 12px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:10px;
  background:rgba(255,255,255,.018);
  color:#69758e;
  font-size:9px;
  line-height:1.45;
}
body.nexus-reduced-motion .music-drawer {
  transition:none !important;
}

@media (max-width:620px) {
  .music-drawer {
    width:calc(100vw - 34px);
  }
  .music-drawer-handle {
    left:-34px;
    width:34px;
    height:74px;
  }
}


/* === TOPBAR NOW PLAYING TICKER === */
.topbar-now-playing {
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
  max-width:300px;
  height:30px;
  padding:0 10px;
  border:1px solid color-mix(in srgb,var(--nexus-accent) 26%,transparent);
  border-radius:999px;
  background:rgba(255,255,255,.018);
  color:#cfd8ea;
  font-size:11px;
}
.topbar-now-playing[hidden] {
  display:none !important;
}
.topbar-now-playing-icon {
  flex:0 0 auto;
  color:var(--nexus-accent);
  font-size:12px;
}
.topbar-now-playing-window {
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
}
.topbar-now-playing-text {
  display:inline-block;
  white-space:nowrap;
}
.topbar-now-playing.scrolling .topbar-now-playing-text {
  padding-left:100%;
  animation:nexusNowPlayingScroll 9s linear infinite;
}
@keyframes nexusNowPlayingScroll {
  from { transform:translateX(0); }
  to { transform:translateX(-100%); }
}
body.nexus-reduced-motion .topbar-now-playing.scrolling .topbar-now-playing-text {
  animation:none !important;
  padding-left:0;
}


/* === USER SETTINGS DRAWER === */
.user-button {
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
  font:inherit;
  text-align:left;
}
.user-button:hover .avatar,
.user-button:focus-visible .avatar {
  border-color:color-mix(in srgb,var(--nexus-accent) 58%,white 8%);
  box-shadow:0 0 14px color-mix(in srgb,var(--nexus-accent) 18%,transparent);
}
.avatar {
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

.user-settings-drawer {
  position:fixed;
  z-index:230;
  top:0;
  right:0;
  width:min(460px,calc(100vw - 48px));
  height:100vh;
  transform:translateX(100%);
  transition:transform 620ms cubic-bezier(.22,.8,.24,1);
  border-left:1px solid color-mix(in srgb,var(--nexus-accent) 34%,transparent);
  background:
    radial-gradient(circle at 80% 0%,color-mix(in srgb,var(--nexus-accent) 9%,transparent),transparent 30%),
    rgba(7,12,25,.988);
  box-shadow:-18px 0 44px rgba(0,0,0,.34);
}
.user-settings-drawer.open { transform:translateX(0); }
.user-settings-inner {
  height:100%;
  display:flex;
  flex-direction:column;
  min-height:0;
}
.user-settings-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:22px 22px 18px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.user-settings-eyebrow {
  color:var(--nexus-accent);
  font-size:10px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.user-settings-head h2 { margin:3px 0 5px;font-size:25px; }
.user-settings-head p { margin:0;color:#8490a8;font-size:11px; }
.user-settings-close {
  width:38px;height:38px;flex:0 0 38px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:11px;background:rgba(255,255,255,.025);
  color:#cfd8ea;cursor:pointer;
}
.user-settings-close:hover {
  color:#fff;
  border-color:color-mix(in srgb,var(--nexus-accent) 45%,transparent);
}
.user-settings-scroll {
  flex:1;
  min-height:0;
  overflow:auto;
  padding:18px 20px 28px;
}
.user-settings-section + .user-settings-section {
  margin-top:24px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.055);
}
.user-settings-section-title,
.user-settings-label {
  color:#dfe5f4;
  font-size:11px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.user-settings-label { margin:16px 0 10px; }
.user-profile-summary {
  display:flex;
  align-items:center;
  gap:13px;
  margin-top:12px;
}
.user-profile-avatar {
  width:58px;height:58px;border-radius:50%;
  border:2px solid color-mix(in srgb,var(--nexus-accent) 42%,transparent);
  background:linear-gradient(135deg,#845cff,#43a9ff);
  background-size:cover;
  background-position:center;
}
.user-profile-summary h3 { margin:0 0 4px;font-size:15px; }
.user-profile-summary p { margin:0;color:#7d89a2;font-size:10px; }

.avatar-picker {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
}
.avatar-option {
  aspect-ratio:1;
  padding:4px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:14px;
  background:rgba(255,255,255,.02);
  cursor:pointer;
  overflow:hidden;
}
.avatar-option img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  border-radius:10px;
}
.avatar-option:hover,
.avatar-option.active {
  border-color:color-mix(in srgb,var(--nexus-accent) 60%,transparent);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--nexus-accent) 10%,transparent);
}
.user-settings-placeholder {
  width:100%;
  margin-top:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:13px 14px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:12px;
  background:rgba(255,255,255,.018);
  color:#7d89a2;
  text-align:left;
}
.user-settings-placeholder b,
.user-settings-placeholder small { display:block; }
.user-settings-placeholder b { color:#9aa6bc;font-size:12px; }
.user-settings-placeholder small { margin-top:3px;font-size:9px; }
.user-settings-placeholder > span:last-child { font-size:9px; }

.presence-options {
  display:grid;
  gap:8px;
  margin-top:11px;
}
.presence-option {
  display:grid;
  grid-template-columns:16px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:11px 12px;
  border:1px solid rgba(255,255,255,.065);
  border-radius:11px;
  background:rgba(255,255,255,.018);
  color:#d9e1f0;
  text-align:left;
  cursor:pointer;
}
.presence-option:hover,
.presence-option.active {
  border-color:color-mix(in srgb,var(--nexus-accent) 45%,transparent);
  background:color-mix(in srgb,var(--nexus-accent) 7%,transparent);
}
.presence-dot {
  width:9px;height:9px;border-radius:50%;
  background:#30d784;
  box-shadow:0 0 8px rgba(48,215,132,.35);
}
.presence-option.away .presence-dot {
  background:#ffb347;
  box-shadow:0 0 8px rgba(255,179,71,.28);
}
.presence-option.dnd .presence-dot {
  background:#ff5b6e;
  box-shadow:0 0 8px rgba(255,91,110,.28);
}
.presence-option b,
.presence-option small { display:block; }
.presence-option b { font-size:12px; }
.presence-option small { margin-top:3px;color:#74809a;font-size:9px; }

.user-settings-note {
  margin-top:10px;
  color:#69758e;
  font-size:9px;
  line-height:1.45;
}

.account-notice-card {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin-top:11px;
  padding:14px;
  border:1px solid color-mix(in srgb,var(--nexus-accent) 24%,transparent);
  border-radius:12px;
  background:rgba(255,255,255,.018);
}
.account-notice-card b { font-size:12px; }
.account-notice-card p {
  margin:5px 0 0;
  color:#7d89a2;
  font-size:10px;
  line-height:1.45;
}
.always-on-pill {
  flex:0 0 auto;
  padding:5px 8px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  color:#b9c5da;
  font-size:9px;
}

.feed-mode-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.feed-mode-card {
  min-height:126px;
  padding:14px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:13px;
  background:rgba(255,255,255,.018);
  color:#dfe6f3;
  text-align:left;
  cursor:pointer;
}
.feed-mode-card:hover,
.feed-mode-card.active {
  border-color:color-mix(in srgb,var(--nexus-accent) 58%,transparent);
  background:color-mix(in srgb,var(--nexus-accent) 8%,transparent);
}
.feed-mode-card b { display:block;font-size:13px; }
.feed-mode-card p {
  margin:28px 0 0;
  color:#7e89a1;
  font-size:10px;
  line-height:1.45;
}

body.nexus-reduced-motion .user-settings-drawer {
  transition:none !important;
}
@media (max-width:620px) {
  .user-settings-drawer { width:calc(100vw - 34px); }
}




.avatar-with-presence {
  position:relative;
}
.avatar-presence-dot {
  position:absolute;
  right:-1px;
  bottom:-1px;
  width:9px;
  height:9px;
  border-radius:50%;
  background:#30d784;
  border:2px solid #0b1020;
  box-shadow:0 0 7px rgba(48,215,132,.35);
}
.avatar-presence-dot.away {
  background:#ffb347;
  box-shadow:0 0 7px rgba(255,179,71,.32);
}
.avatar-presence-dot.dnd {
  background:#ff5b6e;
  box-shadow:0 0 7px rgba(255,91,110,.32);
}


/* === NEXUS STATUS WORKSPACE === */
.core-status-button {
  appearance:none;
  text-align:left;
  cursor:pointer;
  color:#aeb8cf;
  font:inherit;
}
.core-status-button:hover {
  border-color:color-mix(in srgb,var(--nexus-accent) 38%,transparent);
  background:color-mix(in srgb,var(--nexus-accent) 6%,rgba(255,255,255,.025));
}
.core-status-line {
  display:flex;
  align-items:center;
  white-space:nowrap;
}
.core-status-button.status-amber .dot {
  background:#ffb347;
  box-shadow:0 0 9px rgba(255,179,71,.38);
}
.core-status-button.status-red .dot {
  background:#ff5b6e;
  box-shadow:0 0 9px rgba(255,91,110,.38);
}

.status-workspace-shell {
  overflow:hidden;
}
.status-summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 28px;
  border-bottom:1px solid rgba(255,255,255,.055);
  background:rgba(255,255,255,.012);
}
.status-summary-label {
  display:block;
  margin-bottom:3px;
  color:#6f7b95;
  font-size:9px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.status-summary strong {
  color:#eef3ff;
  font-size:16px;
}
.status-prototype-pill {
  padding:6px 9px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  background:rgba(255,255,255,.025);
  color:#78849c;
  font-size:9px;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.status-grid {
  flex:1;
  min-height:0;
  overflow:auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  align-content:start;
  padding:24px 28px;
}
.status-service-card {
  padding:18px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:15px;
  background:rgba(var(--custom-panel-rgb),.68);
}
.status-service-card.online {
  border-color:rgba(48,215,132,.20);
}
.status-service-card.degraded {
  border-color:rgba(255,179,71,.40);
  background:linear-gradient(145deg,rgba(255,179,71,.045),rgba(var(--custom-panel-rgb),.68));
}
.status-service-card.offline {
  border-color:rgba(255,91,110,.42);
  background:linear-gradient(145deg,rgba(255,91,110,.045),rgba(var(--custom-panel-rgb),.68));
}
.status-service-top {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.status-service-kicker {
  color:#6f7b95;
  font-size:9px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.status-service-card h3 {
  margin:4px 0 0;
  color:#eef3ff;
  font-size:17px;
}
.status-service-card > p {
  margin:15px 0 0;
  color:#7e8aa3;
  font-size:11px;
}
.status-service-detail {
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.05);
  color:#9da8bd;
  font-size:10px;
}
.status-state-pill {
  display:inline-flex;
  align-items:center;
  gap:7px;
  flex:0 0 auto;
  padding:6px 9px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:999px;
  background:rgba(255,255,255,.02);
  color:#aeb9cd;
  font-size:9px;
  font-weight:800;
}
.status-dot {
  width:7px;
  height:7px;
  border-radius:50%;
  background:#30d784;
  box-shadow:0 0 8px rgba(48,215,132,.34);
}
.status-service-card.degraded .status-dot {
  background:#ffb347;
  box-shadow:0 0 8px rgba(255,179,71,.32);
}
.status-service-card.offline .status-dot {
  background:#ff5b6e;
  box-shadow:0 0 8px rgba(255,91,110,.32);
}
.status-footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:13px 28px 16px;
  border-top:1px solid rgba(255,255,255,.055);
  color:#65718a;
  font-size:9px;
}
@media (max-width:760px) {
  .status-grid {
    grid-template-columns:1fr;
    padding:18px 15px;
  }
  .status-summary,
  .status-footer {
    padding-left:15px;
    padding-right:15px;
  }
  .status-footer {
    align-items:flex-start;
    flex-direction:column;
  }
}


/* === TOOLS WORKSPACE === */
.sidebar-build {
  padding:4px 2px 1px;
  color:#4f5b73;
  font-size:8px;
  letter-spacing:.08em;
  text-align:center;
  text-transform:uppercase;
  opacity:0;
  transform:translateX(-8px);
  transition:opacity 180ms ease 30ms, transform 220ms ease 30ms;
}
.sidebar:hover .sidebar-build,
.sidebar:focus-within .sidebar-build,
.sidebar.open-nav .sidebar-build {
  opacity:1;
  transform:translateX(0);
}

.tools-workspace-shell {
  overflow:hidden;
}
.tools-section {
  flex:1;
  min-height:0;
  overflow:auto;
  padding:24px 28px 30px;
}
.tools-section-head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}
.tools-kicker {
  color:var(--nexus-accent);
  font-size:9px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.tools-section-head h3 {
  margin:4px 0 0;
  font-size:17px;
}
.tools-note {
  color:#69758d;
  font-size:9px;
}
.tools-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.tool-card {
  min-height:260px;
  display:flex;
  flex-direction:column;
  padding:18px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:15px;
  background:rgba(var(--custom-panel-rgb),.68);
}
.tool-card:hover {
  border-color:color-mix(in srgb,var(--nexus-accent) 42%,transparent);
}
.tool-card-icon {
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--nexus-accent) 30%,transparent);
  border-radius:12px;
  background:color-mix(in srgb,var(--nexus-accent) 7%,transparent);
  color:#dce5f7;
  font-size:10px;
  font-weight:900;
  letter-spacing:.05em;
}
.tool-card-copy {
  margin-top:18px;
}
.tool-card-kicker {
  color:#6e7a93;
  font-size:8px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.tool-card h4 {
  margin:4px 0 7px;
  font-size:16px;
}
.tool-card p {
  margin:0;
  color:#7f8aa2;
  font-size:10px;
  line-height:1.5;
}
.tool-card-warning {
  margin-top:12px;
  color:#b8a27a;
  font-size:9px;
  line-height:1.4;
}
.tool-card-actions {
  margin-top:auto;
  padding-top:18px;
}
.tool-link {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 13px;
  border-radius:10px;
  text-decoration:none;
  font-size:10px;
  font-weight:800;
}
.tool-link.primary {
  border:1px solid color-mix(in srgb,var(--nexus-accent) 38%,transparent);
  background:color-mix(in srgb,var(--nexus-accent) 9%,transparent);
  color:#eef3ff;
}
.tool-link.primary:hover {
  background:color-mix(in srgb,var(--nexus-accent) 14%,transparent);
}
.tools-disclaimer {
  margin-top:16px;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:11px;
  background:rgba(255,255,255,.016);
  color:#68748d;
  font-size:9px;
}
@media (max-width:900px) {
  .tools-grid { grid-template-columns:1fr; }
  .tools-section-head { align-items:flex-start;flex-direction:column; }
}
body.nexus-reduced-motion .sidebar-build {
  transition:none !important;
}


/* === TABLETOP COMING SOON === */
.tabletop-card {
  position:relative;
}
.coming-soon-pill {
  position:absolute;
  top:13px;
  right:13px;
  z-index:4;
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:0 8px;
  border:1px solid color-mix(in srgb,var(--nexus-accent) 38%,transparent);
  border-radius:999px;
  background:color-mix(in srgb,var(--nexus-accent) 9%,rgba(8,13,28,.88));
  color:#dce5f7;
  font-size:8px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
  pointer-events:none;
}

/* === SIDEBAR MODE === */
@media (min-width:851px) {
  body.sidebar-static .sidebar {
    transform:translateX(0) !important;
    box-shadow:18px 0 40px rgba(0,0,0,.28);
  }

  body.sidebar-static .main {
    margin-left:170px !important;
  }

  body.sidebar-static .side-brand,
  body.sidebar-static .nav-item,
  body.sidebar-static .sidebar .core-status,
  body.sidebar-static .sidebar-build {
    opacity:1 !important;
    transform:translateX(0) !important;
  }

  body.sidebar-static .sidebar-handle {
    display:none !important;
  }
}


/* === NEXUS DISCORD === */
.community {
  gap:14px;
}
.community-copy {
  min-width:0;
}
.discord-link {
  margin-top:12px;
  display:flex;
  align-items:center;
  gap:10px;
  width:min(100%,260px);
  padding:8px 10px;
  border:1px solid color-mix(in srgb,var(--nexus-accent) 30%,transparent);
  border-radius:11px;
  background:color-mix(in srgb,var(--nexus-accent) 7%,rgba(255,255,255,.015));
  color:#dfe7f7;
  cursor:pointer;
  text-align:left;
}
.discord-link:hover {
  border-color:color-mix(in srgb,var(--nexus-accent) 52%,transparent);
  background:color-mix(in srgb,var(--nexus-accent) 11%,rgba(255,255,255,.015));
}
.discord-link img {
  width:36px;
  height:36px;
  flex:0 0 36px;
  object-fit:contain;
  filter:drop-shadow(0 0 9px color-mix(in srgb,var(--nexus-accent) 28%,transparent));
}
.discord-link span,
.discord-link b,
.discord-link small {
  display:block;
}
.discord-link b {
  font-size:11px;
}
.discord-link small {
  margin-top:2px;
  color:#75819a;
  font-size:8px;
}
.discord-link.discord-unset {
  opacity:.58;
}


/* === DISCORD POSITION: RIGHT OF LATEST UPDATES === */
.updates-panel {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.updates-main {
  min-width:0;
  flex:1;
}
.discord-link-inline {
  flex:0 0 auto;
  margin-top:0;
  width:230px;
}
@media (max-width:980px) {
  .updates-panel {
    align-items:flex-start;
    flex-direction:column;
  }
  .discord-link-inline {
    width:min(100%,260px);
  }
}


/* === REQUESTS + PERSONAL NOTIFICATIONS === */
.requests-panel-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.request-summary {
  flex:0 0 auto;
  padding:5px 8px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:999px;
  background:rgba(255,255,255,.02);
  color:#78849c;
  font-size:8px;
  font-weight:800;
  white-space:nowrap;
}

.notification-button {
  position:relative;
  width:36px;
  height:36px;
  flex:0 0 36px;
  display:grid;
  place-items:center;
  margin-left:auto;
  border:1px solid rgba(255,255,255,.07);
  border-radius:50%;
  background:rgba(255,255,255,.018);
  color:#b8c3d7;
  cursor:pointer;
}
.notification-button:hover {
  color:#fff;
  border-color:color-mix(in srgb,var(--nexus-accent) 42%,transparent);
  background:color-mix(in srgb,var(--nexus-accent) 7%,transparent);
}
.notification-bell {
  font-size:20px;
  transform:rotate(45deg);
  line-height:1;
}
.notification-badge {
  position:absolute;
  top:-4px;
  right:-4px;
  min-width:17px;
  height:17px;
  padding:0 4px;
  display:grid;
  place-items:center;
  border:2px solid #090f1d;
  border-radius:999px;
  background:#ff5b6e;
  color:#fff;
  font-size:8px;
  font-weight:900;
}

.requests-workspace-shell {
  overflow:hidden;
}
.requests-workspace-body {
  flex:1;
  min-height:0;
  display:grid;
  grid-template-columns:minmax(330px,.85fr) minmax(420px,1.15fr);
}
.request-compose {
  min-height:0;
  overflow:auto;
  padding:22px 24px 28px;
  border-right:1px solid rgba(255,255,255,.055);
}
.request-type-tabs {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-bottom:18px;
}
.request-type-tab {
  min-height:40px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:10px;
  background:rgba(255,255,255,.02);
  color:#8390a9;
  cursor:pointer;
  font-size:11px;
  font-weight:800;
}
.request-type-tab:hover,
.request-type-tab.active {
  color:#fff;
  border-color:color-mix(in srgb,var(--nexus-accent) 50%,transparent);
  background:color-mix(in srgb,var(--nexus-accent) 9%,transparent);
}
.request-form-heading {
  margin-bottom:18px;
}
.request-form-kicker,
.request-history-kicker {
  color:var(--nexus-accent);
  font-size:9px;
  font-weight:850;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.request-form-heading h3,
.request-history-head h3 {
  margin:4px 0 5px;
  font-size:19px;
}
.request-form-heading p {
  margin:0;
  color:#76829b;
  font-size:10px;
  line-height:1.5;
}
.request-field {
  display:block;
  margin-top:14px;
}
.request-field > span {
  display:block;
  margin-bottom:6px;
  color:#aeb9cd;
  font-size:10px;
  font-weight:750;
}
.request-field input,
.request-field select,
.request-field textarea {
  width:100%;
  border:1px solid rgba(255,255,255,.075);
  border-radius:10px;
  outline:none;
  background:rgba(255,255,255,.022);
  color:#edf2fc;
  font:inherit;
  font-size:11px;
}
.request-field input,
.request-field select {
  height:42px;
  padding:0 11px;
}
.request-field textarea {
  resize:vertical;
  min-height:92px;
  padding:10px 11px;
}
.request-field input:focus,
.request-field select:focus,
.request-field textarea:focus {
  border-color:color-mix(in srgb,var(--nexus-accent) 52%,transparent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--nexus-accent) 8%,transparent);
}
.request-field option {
  background:#0d1425;
  color:#edf2fc;
}
.request-form-footer {
  margin-top:18px;
}
.request-routing-note {
  padding:11px 12px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:10px;
  background:rgba(255,255,255,.016);
}
.request-routing-note b,
.request-routing-note span {
  display:block;
}
.request-routing-note b {
  color:#9da9bd;
  font-size:9px;
}
.request-routing-note span {
  margin-top:4px;
  color:#66728a;
  font-size:9px;
  line-height:1.45;
}
.request-submit {
  width:100%;
  min-height:42px;
  margin-top:12px;
  border:1px solid color-mix(in srgb,var(--nexus-accent) 50%,transparent);
  border-radius:10px;
  background:color-mix(in srgb,var(--nexus-accent) 13%,transparent);
  color:#fff;
  cursor:pointer;
  font-size:11px;
  font-weight:850;
}
.request-submit:hover {
  background:color-mix(in srgb,var(--nexus-accent) 19%,transparent);
}
.request-submit:disabled {
  opacity:.55;
  cursor:wait;
}
.request-submit-state {
  min-height:16px;
  margin-top:7px;
  color:#6f7c95;
  font-size:9px;
  line-height:1.4;
}
.request-submit-state.success { color:#72dba5; }
.request-submit-state.error { color:#e58b97; }


.request-history {
  min-height:0;
  overflow:auto;
  padding:22px 24px 28px;
}
.request-history-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.request-history-count {
  color:#6e7a93;
  font-size:9px;
}
.request-history-list {
  display:grid;
  gap:10px;
}
.request-history-empty {
  min-height:230px;
  display:grid;
  place-content:center;
  justify-items:center;
  text-align:center;
  color:#6e7a93;
}
.request-history-mark {
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.07);
  border-radius:14px;
  background:rgba(255,255,255,.018);
  font-size:23px;
}
.request-history-empty h4 {
  margin:12px 0 4px;
  color:#cbd5e7;
  font-size:14px;
}
.request-history-empty p {
  margin:0;
  max-width:300px;
  font-size:10px;
  line-height:1.5;
}
.request-item {
  padding:14px;
  border:1px solid rgba(255,255,255,.065);
  border-radius:12px;
  background:rgba(255,255,255,.018);
}
.request-item-top {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.request-item-kicker {
  color:#68748c;
  font-size:8px;
  font-weight:850;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.request-item h4 {
  margin:3px 0 0;
  font-size:13px;
}
.request-item-meta {
  margin-top:7px;
  color:#7d89a1;
  font-size:9px;
}
.request-item-note {
  margin-top:10px;
  color:#98a4ba;
  font-size:9px;
  line-height:1.45;
}
.request-status-pill {
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 8px;
  border-radius:999px;
  border:1px solid rgba(255,179,71,.28);
  background:rgba(255,179,71,.055);
  color:#d9b574;
  font-size:8px;
  font-weight:850;
}
.request-status-pill.approved {
  border-color:rgba(74,168,255,.30);
  background:rgba(74,168,255,.055);
  color:#87bdf1;
}
.request-status-pill.added {
  border-color:rgba(48,215,132,.30);
  background:rgba(48,215,132,.055);
  color:#72dba5;
}
.request-status-pill.declined {
  border-color:rgba(255,91,110,.30);
  background:rgba(255,91,110,.055);
  color:#e58b97;
}

/* Notifications drawer */
.notification-drawer {
  position:fixed;
  z-index:235;
  top:0;
  right:0;
  width:min(410px,calc(100vw - 48px));
  height:100vh;
  transform:translateX(100%);
  transition:transform 620ms cubic-bezier(.22,.8,.24,1);
  border-left:1px solid color-mix(in srgb,var(--nexus-accent) 30%,transparent);
  background:
    radial-gradient(circle at 80% 0%,color-mix(in srgb,var(--nexus-accent) 8%,transparent),transparent 30%),
    rgba(7,12,25,.99);
  box-shadow:-18px 0 44px rgba(0,0,0,.34);
}
.notification-drawer.open {
  transform:translateX(0);
}
.notification-drawer-inner {
  height:100%;
  display:flex;
  flex-direction:column;
  min-height:0;
}
.notification-drawer-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:22px 20px 17px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.notification-eyebrow {
  color:var(--nexus-accent);
  font-size:9px;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.notification-drawer-head h2 {
  margin:3px 0 5px;
  font-size:23px;
}
.notification-drawer-head p {
  margin:0;
  color:#7c88a0;
  font-size:10px;
}
.notification-close {
  width:36px;
  height:36px;
  flex:0 0 36px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  background:rgba(255,255,255,.02);
  color:#cbd5e8;
  cursor:pointer;
}
.notification-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 16px;
  border-bottom:1px solid rgba(255,255,255,.05);
  color:#69758d;
  font-size:9px;
}
.notification-toolbar button {
  border:0;
  background:transparent;
  color:var(--nexus-accent);
  cursor:pointer;
  font-size:9px;
  font-weight:800;
}
.notification-toolbar-actions {
  display:flex;
  align-items:center;
  gap:10px;
}
.notification-toolbar-actions #notificationClearAll {
  color:#8d98ad;
}
.notification-toolbar-actions #notificationClearAll:hover {
  color:#e58b97;
}

.notification-list {
  flex:1;
  min-height:0;
  overflow:auto;
  padding:12px 14px 22px;
}
.notification-empty {
  min-height:260px;
  display:grid;
  place-content:center;
  justify-items:center;
  text-align:center;
}
.notification-empty-mark {
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.07);
  border-radius:50%;
  color:#7f8ba2;
}
.notification-empty h3 {
  margin:11px 0 4px;
  font-size:13px;
}
.notification-empty p {
  margin:0;
  max-width:260px;
  color:#6e7a92;
  font-size:9px;
  line-height:1.45;
}
.notification-item {
  position:relative;
  padding:13px 13px 13px 17px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:11px;
  background:rgba(255,255,255,.016);
}
.notification-item + .notification-item {
  margin-top:8px;
}
.notification-item.unread {
  border-color:color-mix(in srgb,var(--nexus-accent) 30%,transparent);
  background:color-mix(in srgb,var(--nexus-accent) 5%,rgba(255,255,255,.016));
}
.notification-item.unread::before {
  content:"";
  position:absolute;
  left:7px;
  top:18px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--nexus-accent);
}
.notification-item-kicker {
  color:#6f7b94;
  font-size:8px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.notification-item h4 {
  margin:4px 0 5px;
  font-size:12px;
}
.notification-item p {
  margin:0;
  color:#8793aa;
  font-size:9px;
  line-height:1.45;
}
.notification-time {
  display:block;
  margin-top:7px;
  color:#59657d;
  font-size:8px;
}
body.nexus-reduced-motion .notification-drawer {
  transition:none !important;
}
@media (max-width:850px) {
  .requests-workspace-body {
    grid-template-columns:1fr;
    overflow:auto;
  }
  .request-compose {
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.055);
  }
}


/* === NEXUS V2 MY FILES === */
.files-workspace-shell { overflow:hidden; }
.files-body {
  flex:1;
  min-height:0;
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr);
}
.files-upload-bar {
  padding:20px 24px 18px;
  border-bottom:1px solid rgba(255,255,255,.055);
}
.files-dropzone {
  min-height:118px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  padding:20px;
  border:1px dashed color-mix(in srgb,var(--nexus-accent) 42%,transparent);
  border-radius:15px;
  background:color-mix(in srgb,var(--nexus-accent) 5%,rgba(255,255,255,.012));
  text-align:center;
  cursor:pointer;
  transition:border-color 180ms ease, background 180ms ease, transform 180ms ease;
}
.files-dropzone:hover,
.files-dropzone.dragging {
  border-color:color-mix(in srgb,var(--nexus-accent) 72%,transparent);
  background:color-mix(in srgb,var(--nexus-accent) 9%,rgba(255,255,255,.012));
  transform:translateY(-1px);
}
.files-drop-mark {
  width:52px;height:52px;flex:0 0 52px;
  display:grid;place-items:center;
  border:1px solid color-mix(in srgb,var(--nexus-accent) 35%,transparent);
  border-radius:14px;
  background:color-mix(in srgb,var(--nexus-accent) 8%,transparent);
  color:var(--nexus-accent);
  font-size:22px;
}
.files-drop-copy b { display:block;color:#eef3ff;font-size:14px; }
.files-drop-copy span { display:block;margin-top:5px;color:#75819a;font-size:10px;line-height:1.45; }
.files-upload-input { display:none; }
.files-upload-state {
  min-height:17px;
  margin-top:9px;
  color:#71809a;
  font-size:9px;
}
.files-upload-state.success { color:#72dba5; }
.files-upload-state.error { color:#e58b97; }

.files-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 24px;
  border-bottom:1px solid rgba(255,255,255,.05);
}
.files-tabs { display:flex;gap:7px; }
.files-tab {
  min-height:34px;
  padding:0 12px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:9px;
  background:rgba(255,255,255,.018);
  color:#7d899f;
  cursor:pointer;
  font-size:10px;
  font-weight:800;
}
.files-tab:hover,
.files-tab.active {
  color:#fff;
  border-color:color-mix(in srgb,var(--nexus-accent) 45%,transparent);
  background:color-mix(in srgb,var(--nexus-accent) 8%,transparent);
}
.files-count { color:#66728a;font-size:9px; }

.files-library {
  min-height:0;
  overflow:auto;
  padding:20px 24px 28px;
}
.files-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:13px;
}
.file-card {
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.065);
  border-radius:14px;
  background:rgba(var(--custom-panel-rgb),.67);
}
.file-preview {
  position:relative;
  aspect-ratio:16/10;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.05);
  background:
    radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--nexus-accent) 12%,transparent),transparent 48%),
    rgba(255,255,255,.015);
}
.file-preview img {
  width:100%;
  height:100%;
  object-fit:cover;
}
.file-music-mark {
  color:var(--nexus-accent);
  font-size:34px;
  filter:drop-shadow(0 0 14px color-mix(in srgb,var(--nexus-accent) 28%,transparent));
}
.file-info { padding:12px; }
.file-info h4 {
  margin:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#eef3ff;
  font-size:11px;
}
.file-meta {
  margin-top:4px;
  color:#65718a;
  font-size:8px;
}
.file-actions {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:11px;
}
.file-action {
  min-height:30px;
  padding:0 9px;
  border:1px solid color-mix(in srgb,var(--nexus-accent) 32%,transparent);
  border-radius:8px;
  background:color-mix(in srgb,var(--nexus-accent) 7%,transparent);
  color:#dce5f5;
  cursor:pointer;
  font-size:8px;
  font-weight:800;
}
.file-action:hover {
  border-color:color-mix(in srgb,var(--nexus-accent) 55%,transparent);
  background:color-mix(in srgb,var(--nexus-accent) 12%,transparent);
}
.file-action.danger {
  margin-left:auto;
  border-color:rgba(255,91,110,.20);
  background:rgba(255,91,110,.04);
  color:#c98690;
}
.file-action.danger:hover {
  border-color:rgba(255,91,110,.48);
  background:rgba(255,91,110,.09);
  color:#ff9daa;
}
.files-empty {
  min-height:280px;
  display:grid;
  place-content:center;
  justify-items:center;
  text-align:center;
  color:#69758d;
}
.files-empty-mark {
  width:54px;height:54px;
  display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.07);
  border-radius:15px;
  background:rgba(255,255,255,.016);
  font-size:24px;
}
.files-empty h3 { margin:13px 0 5px;color:#cbd5e7;font-size:14px; }
.files-empty p { margin:0;max-width:340px;font-size:9px;line-height:1.5; }

@media (max-width:1050px) {
  .files-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .files-upload-bar,.files-toolbar,.files-library { padding-left:15px;padding-right:15px; }
  .files-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .files-dropzone { align-items:flex-start;flex-direction:column;text-align:left; }
}
@media (max-width:480px) {
  .files-grid { grid-template-columns:1fr; }
}



/* === NOW PLAYING: HERO POSITION === */
.hero-now-playing {
  position:absolute;
  top:22px;
  left:56%;
  transform:translateX(-50%);
  z-index:4;
  margin:0;
  background:rgba(7,12,25,.62);
  backdrop-filter:blur(8px);
}

@media (max-width:850px) {
  .hero-now-playing {
    top:14px;
    left:50%;
    max-width:72%;
  }
}

/* === ARCHIVES MARKDOWN READER UPGRADE === */
.archives-reader-content {
  max-width: 920px;
  margin: 0 auto;
  line-height: 1.72;
}

.archives-reader-content h1,
.archives-reader-content h2,
.archives-reader-content h3,
.archives-reader-content h4,
.archives-reader-content h5,
.archives-reader-content h6 {
  color:#f3f6ff;
  line-height:1.22;
  letter-spacing:-.015em;
  scroll-margin-top:24px;
}

.archives-reader-content h1 {
  margin:0 0 22px;
  font-size:32px;
}

.archives-reader-content h2 {
  margin:34px 0 14px;
  padding-bottom:9px;
  font-size:23px;
  border-bottom:1px solid color-mix(in srgb,var(--nexus-accent) 22%,rgba(255,255,255,.05));
}

.archives-reader-content h3 {
  margin:28px 0 10px;
  font-size:18px;
  color:color-mix(in srgb,var(--nexus-accent) 58%,#f4f6ff);
}

.archives-reader-content h4,
.archives-reader-content h5,
.archives-reader-content h6 {
  margin:22px 0 8px;
  font-size:15px;
}

.archives-reader-content p,
.archives-reader-content li {
  color:#bdc8dc;
  font-size:14px;
}

.archives-reader-content p {
  margin:0 0 16px;
}

.archives-reader-content ul,
.archives-reader-content ol {
  margin:10px 0 20px;
  padding-left:24px;
}

.archives-reader-content ul ul,
.archives-reader-content ul ol,
.archives-reader-content ol ul,
.archives-reader-content ol ol {
  margin:7px 0 7px;
}

.archives-reader-content li {
  margin:6px 0;
  padding-left:3px;
}

.archives-reader-content strong {
  color:#f4f6ff;
  font-weight:750;
}

.archives-reader-content em {
  color:#d7deed;
}

.archives-reader-content del {
  color:#7f8ca6;
}

.archives-reader-content a {
  color:color-mix(in srgb,var(--nexus-accent) 72%,#82c9ff);
  text-decoration:none;
  border-bottom:1px solid color-mix(in srgb,var(--nexus-accent) 32%,transparent);
  transition:color 160ms ease,border-color 160ms ease;
}

.archives-reader-content a:hover {
  color:#fff;
  border-bottom-color:var(--nexus-accent);
}

.archives-reader-content code {
  padding:2px 6px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:6px;
  background:rgba(0,0,0,.26);
  color:#d8e1ff;
  font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  font-size:.92em;
}

.archives-reader-content pre {
  position:relative;
  margin:18px 0 22px;
  padding:16px 18px;
  overflow:auto;
  border:1px solid color-mix(in srgb,var(--nexus-accent) 22%,rgba(255,255,255,.06));
  border-radius:12px;
  background:rgba(3,7,16,.78);
  box-shadow:inset 0 0 28px rgba(0,0,0,.18);
}

.archives-reader-content pre code {
  padding:0;
  border:0;
  background:transparent;
  color:#dce5f8;
  white-space:pre;
  font-size:12.5px;
  line-height:1.62;
}

.archives-reader-content blockquote {
  margin:18px 0 22px;
  padding:13px 16px;
  border-left:3px solid var(--nexus-accent);
  border-radius:0 10px 10px 0;
  background:color-mix(in srgb,var(--nexus-accent) 8%,rgba(255,255,255,.018));
  color:#c8d2e6;
}

.archives-reader-content blockquote p:last-child {
  margin-bottom:0;
}

.archives-reader-content hr {
  height:1px;
  margin:28px 0;
  border:0;
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--nexus-accent) 36%,rgba(255,255,255,.12)),transparent);
}

.archive-table-wrap {
  width:100%;
  overflow-x:auto;
  margin:18px 0 24px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:12px;
}

.archives-reader-content table {
  width:100%;
  border-collapse:collapse;
  min-width:520px;
  background:rgba(255,255,255,.012);
}

.archives-reader-content th,
.archives-reader-content td {
  padding:11px 13px;
  border-bottom:1px solid rgba(255,255,255,.055);
  border-right:1px solid rgba(255,255,255,.045);
  color:#b9c5da;
  font-size:12.5px;
  vertical-align:top;
}

.archives-reader-content th:last-child,
.archives-reader-content td:last-child {
  border-right:0;
}

.archives-reader-content tr:last-child td {
  border-bottom:0;
}

.archives-reader-content th {
  color:#eef2ff;
  font-weight:750;
  background:color-mix(in srgb,var(--nexus-accent) 9%,rgba(255,255,255,.018));
}

.archives-reader-content img {
  display:block;
  max-width:100%;
  max-height:620px;
  width:auto;
  height:auto;
  margin:18px auto 24px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:12px;
  box-shadow:0 14px 36px rgba(0,0,0,.28);
}

@media (max-width:700px) {
  .archives-reader-content h1 { font-size:27px; }
  .archives-reader-content h2 { font-size:21px; }
  .archives-reader-content pre { padding:14px; }
}
