.utility-button {
  width: 38px;
  height: 38px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--card);
  color: var(--text);
  font-weight: 700;
}

.utility-button:hover {
  border-color: var(--primary);
  color: var(--primary);
}

.hero-brand {
  display: none;
  align-items: center;
  gap: 8px;
  color: var(--text);
  font-size: 22px;
  font-weight: 800;
  text-decoration: none;
}

.hero-brand img {
  width: 34px;
  height: 34px;
  object-fit: contain;
}

/* Public web is deliberately spacious: discovery, not a dashboard clone. */
.app-shell {
  grid-template-columns: 244px minmax(0, 1fr);
}

.side-nav {
  padding: 30px 16px;
}

.route {
  width: min(100%, 1080px);
  padding: 52px clamp(28px, 5vw, 72px) 88px;
}

.topbar {
  padding-inline: clamp(28px, 5vw, 72px);
}

.public-hero {
  min-height: 280px;
  padding: clamp(32px, 5vw, 58px);
  margin-bottom: 52px;
}

.public-hero h2 {
  font-size: clamp(28px, 4vw, 44px);
  max-width: 560px;
}

.discover-grid.airy-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.airy-grid .public-card {
  min-height: 230px;
  padding: 28px;
}

@media (max-width: 900px) {
  .app-shell { grid-template-columns: 78px minmax(0, 1fr); }
  .route { padding: 34px 28px 64px; }
  .discover-grid.airy-grid { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .route { padding: 25px 16px 48px; }
  .public-hero { min-height: 0; padding: 26px; margin-bottom: 34px; }
}

/* Product-launch composition: one readable copy column and one physical app object. */
.is-discover.app-shell {
  background:
    radial-gradient(circle at 84% 16%, rgba(0, 217, 201, .38), transparent 27rem),
    radial-gradient(circle at 8% 96%, rgba(41, 72, 203, .35), transparent 30rem),
    linear-gradient(145deg, #020818, #061b38 58%, #08777a 145%);
  background-size: auto;
}

.is-discover .public-hero {
  display: flex;
  align-items: center;
  min-height: 620px;
  background: linear-gradient(120deg, rgba(3, 15, 38, .22), rgba(12, 125, 126, .08));
}

.is-discover .hero-copy {
  max-width: 49%;
}

.product-visual {
  position: absolute;
  z-index: 1;
  width: min(33vw, 430px);
  height: 570px;
  inset: 36px 8% auto auto;
  perspective: 1600px;
  pointer-events: none;
}

.product-visual::after {
  position: absolute;
  content: '';
  inset: 10% 4% 6%;
  border-radius: 38px;
  background: linear-gradient(120deg, rgba(255, 255, 255, .38), transparent 24% 72%, rgba(75, 255, 233, .23));
  transform: perspective(1600px) rotateY(-15deg) rotateX(4deg) translateZ(12px);
  mix-blend-mode: screen;
}

.product-visual img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  border-radius: 42px;
  object-fit: cover;
  object-position: center;
  box-shadow: 26px 38px 62px rgba(0, 5, 21, .48), -9px -7px 26px rgba(137, 255, 241, .1);
  transform: perspective(1600px) rotateY(-15deg) rotateX(4deg) rotateZ(1.5deg);
  animation: unilink-device-float 7s ease-in-out infinite;
}

.device-glow {
  position: absolute;
  width: 110%;
  height: 80%;
  top: 14%;
  left: -7%;
  border-radius: 50%;
  background: rgba(43, 246, 224, .31);
  filter: blur(58px);
}

html[dir="rtl"] .product-visual {
  inset-inline: auto 8%;
}

html[dir="rtl"] .product-visual img {
  transform: perspective(1600px) rotateY(15deg) rotateX(4deg) rotateZ(-1.5deg);
}

html[dir="rtl"] .product-visual::after {
  transform: perspective(1600px) rotateY(15deg) rotateX(4deg) translateZ(12px);
}

@keyframes unilink-device-float {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -14px; }
}

@media (prefers-reduced-motion: reduce) {
  .product-visual img { animation: none; }
}

@media (max-width: 900px) {
  .is-discover .public-hero { min-height: 700px; align-items: flex-start; }
  .is-discover .hero-copy { max-width: 58%; }
  .product-visual { width: 320px; height: 470px; inset: 220px 2% auto auto; opacity: .92; }
  html[dir="rtl"] .product-visual { inset-inline: auto 2%; }
}

@media (max-width: 700px) {
  .is-discover .public-hero { min-height: 760px; }
  .is-discover .hero-copy { max-width: 100%; }
  .product-visual { width: 220px; height: 350px; inset: auto 50% 22px auto; transform: translateX(50%); }
  html[dir="rtl"] .product-visual { inset-inline: auto 50%; transform: translateX(-50%); }
}

/* Public web interaction layer: content leads; app hand-off is intentional. */
.public-hero,
.quick-card,
.community-card,
.event-card,
.market-card,
.scholarship {
  opacity: 0;
  translate: 0 14px;
  transition: opacity .48s cubic-bezier(.2,.8,.2,1) var(--delay, 0ms), translate .48s cubic-bezier(.2,.8,.2,1) var(--delay, 0ms), border-color .22s ease, transform .22s ease;
}

.public-hero.is-visible,
.quick-card.is-visible,
.community-card.is-visible,
.event-card.is-visible,
.market-card.is-visible,
.scholarship.is-visible {
  opacity: 1;
  translate: 0;
}

.is-discover .campus-orbit { display: none; }

.is-discover .public-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 560px;
  padding-inline-end: min(43vw, 510px);
}

.is-discover .public-hero::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0 0 0 auto;
  width: min(42vw, 500px);
  background:
    linear-gradient(90deg, rgba(3, 14, 36, .96), rgba(3, 14, 36, .02) 35%),
    linear-gradient(0deg, rgba(1, 9, 28, .45), transparent 43%),
    url('/screens/store/google-play/01-kampus-akisi.jpg') center / cover no-repeat;
  mask-image: linear-gradient(90deg, transparent, #000 24%);
  opacity: .93;
  filter: saturate(1.12) contrast(1.06);
  transform: perspective(1000px) rotateY(-5deg) translateZ(0);
  animation: web-device-breathe 8s ease-in-out infinite;
}

html[dir="rtl"] .is-discover .public-hero {
  padding-inline-end: clamp(32px, 5vw, 58px);
  padding-inline-start: min(43vw, 510px);
}

html[dir="rtl"] .is-discover .public-hero::before {
  inset-inline: 0 auto;
  transform: perspective(1000px) rotateY(5deg) translateZ(0);
  mask-image: linear-gradient(270deg, transparent, #000 24%);
}

.is-discover .hero-copy { max-width: 620px; position: relative; z-index: 1; }
.is-discover .hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.is-discover .hero-actions .button { min-height: 46px; padding-inline: 18px; }
.is-discover .hero-actions .quiet { color: #e9fbfb; border-color: rgba(226,255,252,.35); background: rgba(255,255,255,.05); }
.is-discover .hero-actions .quiet:hover { background: rgba(255,255,255,.14); }
.is-discover .hero-note { display: flex; align-items: center; gap: 8px; margin-top: 22px !important; color: #b9d7df !important; font-size: 12px; }
.pulse-dot { width: 8px; height: 8px; border-radius: 50%; background: #5ff5dc; box-shadow: 0 0 0 0 rgba(95,245,220,.55); animation: signal-pulse 2s infinite; }

.button[data-action="protected"] { position: relative; }
.button[data-action="protected"]::after { content: '↗'; font-size: 13px; margin-inline-start: 5px; }
.community-card:hover,.event-card:hover,.market-card:hover,.quick-card:hover { border-color: color-mix(in srgb, var(--primary) 52%, var(--border)); transform: translateY(-3px); }
.community-card .button,.event-card .button { white-space: nowrap; }
.event-web-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.event-web-actions .button:first-child { color: var(--primary-dark); border-color: color-mix(in srgb, var(--primary) 35%, var(--border)); background: var(--primary-soft); }
.event-web-actions .button:first-child::before { content: '＋'; margin-inline-end: 4px; }
.search-empty { margin-top: 20px; padding: 46px 24px; border: 1px dashed var(--border); border-radius: 18px; text-align: center; background: var(--card); }
.search-empty h2 { margin: 0 0 7px; font-size: 19px; }
.search-empty p { margin: 0; color: var(--muted); }
.toast { position: fixed; z-index: 20; inset-inline-start: 50%; bottom: 24px; translate: -50% 18px; max-width: calc(100vw - 32px); padding: 12px 16px; border-radius: 12px; background: #071a31; color: #fff; box-shadow: 0 14px 40px rgba(0,0,0,.24); opacity: 0; pointer-events: none; transition: opacity .2s ease, translate .2s ease; }
.toast.show { opacity: 1; translate: -50% 0; }
#detail-dialog { width: min(520px, calc(100vw - 32px)); padding: 0; border: 0; border-radius: 22px; color: var(--text); background: var(--card); box-shadow: 0 26px 90px rgba(0,0,0,.38); }
#detail-dialog::backdrop { background: rgba(1,10,24,.62); backdrop-filter: blur(5px); }

@keyframes web-device-breathe { 0%,100% { scale: 1; } 50% { scale: 1.025; } }
@keyframes signal-pulse { 70% { box-shadow: 0 0 0 8px rgba(95,245,220,0); } 100% { box-shadow: 0 0 0 0 rgba(95,245,220,0); } }

@media (prefers-reduced-motion: reduce) {
  .public-hero,.quick-card,.community-card,.event-card,.market-card,.scholarship { transition: none; }
  .is-discover .public-hero::before,.pulse-dot { animation: none; }
}

@media (max-width: 760px) {
  .is-discover .public-hero,
  html[dir="rtl"] .is-discover .public-hero { min-height: 670px; padding-inline: 26px; padding-bottom: 330px; }
  .is-discover .public-hero::before,
  html[dir="rtl"] .is-discover .public-hero::before { inset: auto 10% 0; width: 80%; height: 350px; mask-image: linear-gradient(0deg, #000, transparent); background-position: top center; transform: none; }
}

/* Search remains available in the public discovery route. */
.is-discover .global-search {
  display: flex;
  max-width: 410px;
  margin-inline-start: auto;
  border-color: rgba(218, 255, 250, .22);
  background: rgba(1, 18, 43, .36);
  color: #cce9ed;
}
.is-discover .global-search input { color: #fff; }
.is-discover .global-search input::placeholder { color: #b4d0d8; }
@media (max-width: 700px) { .is-discover .global-search { display: none; } }

/* The first visit is intentionally a calm landing page, not an app dashboard. */
.is-discover.app-shell {
  display: block;
  min-height: 100vh;
  background:
    linear-gradient(rgba(121, 239, 224, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(121, 239, 224, .055) 1px, transparent 1px),
    radial-gradient(circle at 81% 23%, rgba(91, 232, 214, .33), transparent 24rem),
    radial-gradient(circle at 12% 92%, rgba(47, 89, 214, .42), transparent 33rem),
    linear-gradient(145deg, #020b1d 0%, #062849 51%, #037d7e 130%);
  background-size: 42px 42px, 42px 42px, auto, auto, auto;
}

.is-discover .side-nav,
.is-discover .mobile-menu,
.is-discover .location-chip,
.is-discover .global-search {
  display: none;
}

.is-discover .topbar {
  width: min(1120px, calc(100% - 48px));
  height: 74px;
  margin: 24px auto 0;
  padding: 0 18px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: blur(18px);
}

.is-discover .hero-brand {
  display: inline-flex;
  color: #fff;
}

.is-discover .hero-brand b { color: #55e0d5; }

.is-discover .utility-button {
  border-color: rgba(218, 255, 250, .25);
  background: rgba(255, 255, 255, .1);
  color: #fff;
}

.is-discover .top-actions {
  margin-inline-start: auto;
}

.is-discover .topbar-cta {
  display: none;
}

.is-discover .route {
  width: min(1120px, calc(100% - 48px));
  padding: clamp(54px, 8vh, 100px) 0 80px;
}

.is-discover .public-hero {
  min-height: 610px;
  margin: 0;
  padding: clamp(30px, 6vw, 74px) clamp(30px, 6vw, 84px);
  overflow: hidden;
  border: 1px solid rgba(189, 255, 248, .2);
  border-radius: 42px;
  background: linear-gradient(132deg, rgba(4, 25, 56, .46), rgba(7, 83, 95, .16));
  box-shadow: inset 0 1px rgba(255,255,255,.08), 0 38px 90px rgba(0, 8, 31, .22);
  position: relative;
}

.is-discover .public-hero h1 {
  max-width: 650px;
  margin: 10px 0 18px;
  font-size: clamp(42px, 6vw, 76px);
  line-height: 1.02;
  letter-spacing: -0.055em;
  color: #fff;
}

.is-discover .hero-copy { position: relative; z-index: 2; max-width: 620px; }

.is-discover .public-hero p:not(.eyebrow) {
  max-width: 550px;
  font-size: 18px;
  line-height: 1.65;
  color: rgba(240, 255, 253, .82);
}

.is-discover .public-hero .eyebrow { color: #7ff5e9; }

.is-discover .public-hero .button.primary {
  background: #51e1d4;
  color: #04323b;
  box-shadow: 0 12px 30px rgba(25, 221, 205, .22);
}

.is-discover .public-hero .button:not(.primary) {
  border-color: rgba(230, 255, 252, .38);
  background: rgba(255, 255, 255, .1);
  color: #fff;
}

.is-discover .hero-actions {
  margin-top: 34px;
}

.campus-orbit { --tilt-x:-2deg; --tilt-y:-6deg; position:absolute; inset:0 0 0 auto; width:min(53%,610px); perspective:1200px; transform-style:preserve-3d; transition:transform .25s ease-out; }
.orbit-halo { position:absolute; width:420px; height:420px; inset:50% auto auto 50%; border-radius:50%; background:radial-gradient(circle,rgba(95,255,231,.34),rgba(58,172,246,.13) 38%,transparent 68%); transform:translate(-50%,-50%) translateZ(-40px); filter:blur(3px); }
.orbit-grid { position:absolute; width:640px; height:420px; inset:50% auto auto 50%; background:linear-gradient(rgba(138,255,237,.19) 1px,transparent 1px),linear-gradient(90deg,rgba(138,255,237,.19) 1px,transparent 1px); background-size:32px 32px; mask-image:radial-gradient(ellipse,black 15%,transparent 70%); transform:translate(-50%,-25%) rotateX(67deg) rotateZ(-12deg) translateZ(-95px); }
.orbit-card { position:absolute; display:grid; width:182px; aspect-ratio:1.22; place-content:center; gap:5px; border:1px solid rgba(209,255,250,.43); border-radius:26px; background:linear-gradient(145deg,rgba(225,255,252,.32),rgba(10,125,139,.13)); box-shadow:0 22px 36px rgba(0,13,35,.35),inset 0 1px rgba(255,255,255,.35); color:#fff; text-align:center; backdrop-filter:blur(14px); transform-style:preserve-3d; transition:transform .25s ease-out; }
.orbit-card span { color:#76ffef; font-size:30px; transform:translateZ(26px); }
.orbit-card small { color:rgba(239,255,253,.7); font-size:12px; font-weight:600; transform:translateZ(26px); }
.orbit-card strong { font-size:28px; transform:translateZ(38px); }
.orbit-event { inset:22% auto auto 48%; transform:rotateY(calc(var(--tilt-y) + 24deg)) rotateX(var(--tilt-x)) translateZ(70px); }
.orbit-community { inset:48% auto auto 13%; transform:rotateY(calc(var(--tilt-y) - 12deg)) rotateX(var(--tilt-x)) translateZ(18px); }
.orbit-market { inset:55% auto auto 58%; width:150px; transform:rotateY(calc(var(--tilt-y) + 32deg)) rotateX(var(--tilt-x)) translateZ(8px); }
.orbit-nova { position:absolute; width:260px; inset:17% auto auto 23%; object-fit:contain; filter:drop-shadow(0 28px 20px rgba(0,11,29,.32)); transform:rotateY(var(--tilt-y)) rotateX(var(--tilt-x)) translateZ(120px); transition:transform .25s ease-out; }

.is-discover .section-heading {
  margin-top: 56px;
  color: #fff;
}

@media (max-width: 700px) {
  .is-discover .topbar,
  .is-discover .route { width: calc(100% - 28px); }
  .is-discover .topbar { margin-top: 14px; }
  .is-discover .route { padding-top: 42px; }
  .is-discover .public-hero { min-height: 600px; padding: 32px 26px; }
  .is-discover .public-hero h1 { font-size: 44px; }
  .campus-orbit { width:100%; height:270px; top:auto; bottom:0; opacity:.88; }
  .orbit-card { width:126px; border-radius:20px; }
  .orbit-card strong { font-size:21px; }
  .orbit-event { inset:17% auto auto 51%; }
  .orbit-community { inset:40% auto auto 5%; }
  .orbit-market { inset:45% auto auto 61%; width:112px; }
  .orbit-nova { width:180px; inset:3% auto auto 25%; }
}

/* Public web: a deliberately calm discovery surface, not a mobile-app clone. */
.app-shell.is-discover,
.app-shell.is-discover .workspace {
  min-height: 100svh;
  background: #071a27;
}
.is-discover .workspace { width: 100%; }
.is-discover .side-nav { display: none; }
.is-discover .topbar {
  position: absolute;
  z-index: 10;
  top: 22px;
  left: 50%;
  transform: translateX(-50%);
  width: min(1160px, calc(100% - 40px));
  min-height: 64px;
  margin: 0;
  padding: 8px 12px;
  border: 0 !important;
  border-radius: 18px;
  background: rgba(3, 22, 34, .54);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18), 0 16px 42px rgba(0, 12, 20, .2);
  backdrop-filter: blur(16px);
}
.is-discover .hero-brand,
.is-discover .top-actions,
.is-discover .location-chip { display: flex; align-items: center; }
.is-discover .hero-brand { color: #fff; gap: 8px; font-size: 19px; font-weight: 800; text-decoration: none; }
.is-discover .hero-brand img { width: 30px; height: 30px; object-fit: contain; }
.is-discover .location-chip { margin-inline-start: auto; padding: 10px 13px; border-radius: 999px; color: rgba(255,255,255,.86); background: rgba(255,255,255,.09); font-size: 13px; }
.is-discover .global-search { display: none; }
.is-discover .top-actions { gap: 7px; margin-inline-start: 8px; }
.is-discover .utility-button,
.is-discover .topbar-cta { min-height: 40px; border: 1px solid rgba(255,255,255,.24); border-radius: 11px; background: rgba(255,255,255,.1); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.is-discover .utility-button { min-width: 42px; }
.is-discover .topbar-cta { padding: 0 15px; background: #d9ff76; border-color: #d9ff76; color: #062330; }
.is-discover .route { width: 100%; max-width: none; margin: 0; padding: 0; }
.is-discover .public-hero {
  position: relative;
  isolation: isolate;
  min-height: 100svh;
  margin: 0;
  padding: clamp(155px, 20vh, 230px) max(28px, calc((100% - 1050px) / 2)) 96px;
  border: 0 !important;
  border-radius: 0;
  background: #0b3146;
  box-shadow: none;
  display: flex;
  align-items: center;
}
.is-discover .public-hero::before,
.is-discover .public-hero::after {
  content: none !important;
  display: none !important;
}
.is-discover .hero-photo {
  position: absolute;
  z-index: -3;
  inset: 0;
  background: url('/images/campus-walk-concept-v1.png?v=c07cc538b591') center / cover no-repeat;
  transform: scale(1.018);
  animation: quietPan 18s ease-in-out infinite alternate;
}
.is-discover .hero-scrim {
  position: absolute;
  z-index: -2;
  inset: 0;
  background: linear-gradient(90deg, rgba(4,18,27,.84) 0%, rgba(4,18,27,.60) 42%, rgba(4,18,27,.18) 78%), linear-gradient(0deg, rgba(3,20,30,.62), transparent 52%);
}
.is-discover .hero-copy { max-width: 670px; }
.is-discover .public-hero h1 { max-width: 650px; margin: 12px 0 18px; color: #fff; font-size: clamp(52px, 7.2vw, 102px); letter-spacing: -.07em; line-height: .94; }
.is-discover .public-hero p:not(.eyebrow) { max-width: 570px; margin: 0; color: rgba(255,255,255,.84); font-size: clamp(16px,1.8vw,20px); line-height: 1.58; }
.is-discover .public-hero .eyebrow { color: #d9ff76; letter-spacing: .12em; font-weight: 800; }
.is-discover .hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 32px; }
.is-discover .public-hero .button { border-radius: 12px; min-height: 50px; padding: 0 20px; }
.is-discover .public-hero .button.primary { background: #d9ff76; color: #092632; border-color: #d9ff76; box-shadow: none; }
.is-discover .public-hero .button.ghost { border-color: rgba(255,255,255,.44); background: rgba(255,255,255,.08); color: #fff; }
.is-discover .hero-foot { position: absolute; display: flex; justify-content: space-between; align-items: center; left: max(28px, calc((100% - 1050px) / 2)); right: max(28px, calc((100% - 1050px) / 2)); bottom: 30px; color: rgba(255,255,255,.78); font-size: 14px; }
.is-discover .hero-foot button { border: 0; background: transparent; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.is-discover .hero-foot b { color: #d9ff76; font-size: 18px; }
.is-discover .route-overview { width: min(1080px, calc(100% - 40px)); margin: 0 auto; padding: 86px 0 110px; }
.is-discover .section-heading { margin: 0 0 28px; color: #fff; }
.is-discover .section-heading h2 { margin: 5px 0 0; font-size: clamp(32px,4vw,50px); letter-spacing: -.045em; }
.is-discover .discover-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.is-discover .quick-card.public-card { min-height: 225px; padding: 24px; text-align: start; border: 1px solid rgba(218,255,244,.16); border-radius: 22px; background: rgba(255,255,255,.06); color: #fff; box-shadow: none; cursor: pointer; transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.is-discover .quick-card.public-card:hover, .is-discover .quick-card.public-card:focus-visible { transform: translateY(-5px); background: rgba(217,255,118,.12); border-color: rgba(217,255,118,.56); outline: none; }
.is-discover .public-card .card-icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; background: #d9ff76; color: #092632; font-size: 24px; }
.is-discover .public-card h3 { margin: 30px 0 8px; font-size: 20px; color: #fff; }
.is-discover .public-card p { min-height: 48px; margin: 0; color: rgba(255,255,255,.66); line-height: 1.45; }
.is-discover .public-card .card-link { display: block; margin-top: 18px; color: #d9ff76; font-weight: 750; }
.is-discover .page-heading, .is-discover .community-grid, .is-discover .event-browser, .is-discover .market-grid, .is-discover .side-stack, .is-discover .empty-state { width: min(1040px, calc(100% - 40px)); margin-inline: auto; }
.is-discover .page-heading { padding: 148px 0 34px; color: #fff; }
.is-discover .page-heading h1 { margin: 8px 0; font-size: clamp(42px,6vw,72px); letter-spacing: -.06em; }
.is-discover .page-heading p:not(.eyebrow) { max-width: 570px; color: rgba(255,255,255,.7); line-height: 1.6; }
.is-discover .event-browser, .is-discover .community-grid, .is-discover .market-grid, .is-discover .side-stack { padding-bottom: 120px; }
.is-discover .community-card, .is-discover .event-card, .is-discover .market-card, .is-discover .scholarship { border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.07); color: #fff; box-shadow: none; }
.is-discover .community-card small, .is-discover .event-card p, .is-discover .market-card small, .is-discover .scholarship small { color: rgba(255,255,255,.68); }
.is-discover .event-date, .is-discover .market-image, .is-discover .community-icon, .is-discover .scholarship-icon { background: rgba(217,255,118,.14); color: #d9ff76; }
.is-discover .button { border-color: rgba(255,255,255,.26); background: transparent; color: #fff; }
.is-discover .empty-state { margin-top: 40px; margin-bottom: 120px; padding: 54px 24px; border: 1px dashed rgba(217,255,118,.35); border-radius: 24px; background: rgba(255,255,255,.04); color: #fff; text-align: center; }
.is-discover .empty-state > span { color: #d9ff76; font-size: 38px; }
.is-discover .empty-state h2 { margin: 5px 0; }
.is-discover .empty-state p { color: rgba(255,255,255,.66); }
.is-discover .empty-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 9px; margin-top: 22px; }
.is-discover .empty-loading { min-height: 260px; display: grid; place-content: center; }
.loading-orbit { width: 34px; height: 34px; margin: 0 auto 14px; border: 3px solid rgba(217,255,118,.2); border-top-color: #d9ff76; border-radius: 50%; animation: unilink-spin .8s linear infinite; }
.detail-sheet { position: relative; padding: 34px; background: linear-gradient(155deg, #0c2a3b, #061724); color: #fff; }
.detail-sheet .eyebrow { color: #d9ff76; }
.detail-sheet h2 { max-width: 90%; margin: 8px 0 6px; font-size: clamp(26px, 4vw, 38px); letter-spacing: -.04em; }
.detail-facts { margin: 0; color: rgba(224,255,249,.66); }
.detail-description { margin: 24px 0; color: rgba(255,255,255,.86); line-height: 1.65; white-space: pre-line; }
.detail-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.detail-actions .button.primary { background: #d9ff76; border-color: #d9ff76; color: #092632; }
.detail-close { position: absolute; top: 14px; right: 14px; display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; background: rgba(255,255,255,.08); color: #fff; font: inherit; font-size: 24px; cursor: pointer; }
html[dir="rtl"] .detail-close { right: auto; left: 14px; }
@keyframes unilink-spin { to { transform: rotate(360deg); } }
.is-discover .navigation { position: fixed; z-index: 20; left: 50%; bottom: 22px; transform: translateX(-50%); display: flex; gap: 5px; padding: 7px; border: 1px solid rgba(255,255,255,.24); border-radius: 19px; background: rgba(3,20,30,.72); box-shadow: 0 12px 42px rgba(0,0,0,.34); backdrop-filter: blur(16px); }
.is-discover .nav-item { min-width: 88px; min-height: 50px; border: 0; border-radius: 13px; background: transparent; color: rgba(255,255,255,.7); font: inherit; font-size: 12px; cursor: pointer; }
.is-discover .nav-item .nav-icon { display: block; margin-bottom: 3px; font-size: 16px; }
.is-discover .nav-item.active { background: #d9ff76; color: #092632; font-weight: 800; }
.is-discover .toast { bottom: 96px; }
.is-discover .campus-orbit { display: none !important; }
@keyframes quietPan { from { transform: scale(1.018) translate3d(0,0,0); } to { transform: scale(1.055) translate3d(-.6%,-.4%,0); } }
@media (prefers-reduced-motion: reduce) { .is-discover .hero-photo { animation: none; } .is-discover * { transition-duration: .01ms !important; } }
@media (max-width: 760px) {
  .is-discover .topbar { top: 12px; width: calc(100% - 24px); }
  .is-discover .location-chip { display: none; }
  .is-discover .hero-brand span { font-size: 17px; }
  .is-discover .topbar-cta { display: none; }
  .is-discover .public-hero { padding: 145px 24px 112px; min-height: 100svh; }
  .is-discover .public-hero h1 { font-size: clamp(48px, 14vw, 68px); }
  .is-discover .hero-scrim { background: linear-gradient(90deg, rgba(4,18,27,.83), rgba(4,18,27,.40)), linear-gradient(0deg, rgba(3,20,30,.85), transparent 65%); }
  .is-discover .hero-foot { left: 24px; right: 24px; bottom: 92px; }
  .is-discover .route-overview { width: calc(100% - 28px); padding: 62px 0 100px; }
  .is-discover .discover-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .is-discover .quick-card.public-card { min-height: 190px; padding: 17px; }
  .is-discover .public-card h3 { margin-top: 20px; font-size: 17px; }
  .is-discover .public-card p { display: none; }
  .is-discover .navigation { bottom: 12px; width: calc(100% - 24px); justify-content: space-around; border-radius: 18px; }
  .is-discover .nav-item { min-width: 0; flex: 1; padding: 0 4px; }
  .is-discover .nav-item:nth-child(5) { display: none; }
  .is-discover .page-heading, .is-discover .community-grid, .is-discover .event-browser, .is-discover .market-grid, .is-discover .side-stack, .is-discover .empty-state { width: calc(100% - 28px); }
  .is-discover .page-heading { padding-top: 112px; }
}
