:root {
  --phone-w: 430px;
  --phone-h: 764px;
  --app-content-top: 108px;
  --app-content-bottom: 94px;
  --yellow: #ffc514;
  --yellow-deep: #f3b700;
  --text: #070707;
  --muted: #8e8a9d;
  --panel-shadow: 0 14px 34px rgba(20, 20, 20, 0.08);
}

* {
  box-sizing: border-box;
}

[hidden] {
  display: none !important;
}

html,
body {
  width: 100%;
  height: 100%;
  margin: 0;
  overflow: hidden;
  background: transparent;
}

body {
  display: grid;
  place-items: center;
  min-height: 100%;
  background: transparent;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "PingFang SC", "Helvetica Neue", Arial, sans-serif;
  color: var(--text);
}

.panda-app-stage {
  position: relative;
  width: var(--phone-w);
  height: var(--phone-h);
  overflow: hidden;
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 34px;
  box-shadow: 0 28px 70px rgba(17, 17, 17, 0.18);
}

.panda-app-stage.is-route-fading::after {
  content: "";
  position: absolute;
  z-index: 22;
  inset: 0;
  pointer-events: none;
  background: rgba(255, 255, 255, 0.42);
  backdrop-filter: blur(5px);
  animation: routeSoftVeil 900ms ease both;
}

.panda-app-stage > .phone {
  position: absolute;
  inset: 0;
  border-radius: inherit;
}

body.panda-app .app-view {
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: none;
  scroll-padding-top: 0;
  scroll-padding-bottom: 0;
}

body.panda-app .app-view::-webkit-scrollbar {
  display: none;
}

body.panda-app .app-view > .status-bar,
body.panda-app .app-view > .top-nav,
body.panda-app .app-view > .bottom-nav,
body.panda-app .app-view > .home-indicator {
  display: none !important;
}

body.panda-app .app-shell-status,
body.panda-app .app-shell-top,
body.panda-app .app-shell-bottom,
body.panda-app .app-shell-indicator {
  z-index: 45;
}

body.panda-app .app-shell-status {
  position: absolute;
  top: 14px;
  left: 25px;
  right: 32px;
  opacity: 0;
  pointer-events: none;
}

body.panda-app .app-shell-top {
  position: absolute;
  top: 24px;
  left: 25px;
  right: 32px;
  width: auto;
  transform: translateY(0) scale(1);
  transform-origin: center top;
  transition:
    transform 500ms cubic-bezier(0.18, 0.9, 0.2, 1.12),
    opacity 280ms ease,
    filter 320ms ease;
  will-change: transform, opacity, filter;
}

body.panda-app .app-shell-top nav {
  gap: 8px;
}

body.panda-app .app-shell-back,
body.panda-app .app-shell-secondary-title,
body.panda-app .app-shell-secondary-actions {
  display: none;
}

body.panda-app .app-shell-icon {
  width: 30px;
  height: 30px;
  overflow: hidden;
  border-radius: 50%;
  background: transparent;
  color: #0a0a0a;
  box-shadow: none;
}

body.panda-app .app-shell-icon img {
  display: block;
  width: 30px;
  height: 30px;
  object-fit: cover;
}

body.panda-app .app-shell-icon.nfc-entry img {
  width: 30px;
}

body.panda-app .app-shell-back {
  place-items: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.94);
  color: #111;
  box-shadow: 0 12px 26px rgba(20, 20, 20, 0.1);
}

body.panda-app .app-shell-back svg {
  width: 23px;
  height: 23px;
}

body.panda-app .app-shell-back path {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.panda-app .app-shell-secondary-actions {
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

body.panda-app .app-shell-secondary-title {
  min-width: 0;
  flex: 1;
  margin: 0 10px;
  overflow: hidden;
  color: #17151f;
  font-size: 14px;
  font-weight: 950;
  line-height: 1;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.panda-app .app-shell-create,
body.panda-app .app-shell-library-cta,
body.panda-app .app-shell-detail-status {
  display: none;
  align-items: center;
  justify-content: center;
  font-family: inherit;
  font-weight: 950;
  letter-spacing: 0;
}

body.panda-app .app-shell-create {
  min-width: 72px;
  height: 38px;
  padding: 0 16px;
  border: 0;
  border-radius: 999px;
  font-size: 13px;
  box-shadow: 0 12px 26px rgba(20, 20, 20, 0.1);
}

body.panda-app .app-shell-create {
  background: #17151f;
  color: #fff;
}

body.panda-app .app-shell-library-cta {
  height: 38px;
  padding: 0 14px;
  border: 0;
  border-radius: 999px;
  background: #211b27;
  color: #fff;
  font-family: inherit;
  font-size: 10px;
  font-weight: 950;
  white-space: nowrap;
  box-shadow: 0 8px 18px rgba(33, 27, 39, 0.14);
}

body.panda-app .app-shell-detail-status {
  width: auto;
  min-width: 0;
  height: auto;
  margin-right: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #ff4f93;
  font-size: 12px;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  box-shadow: none;
}

body.panda-app .app-shell-detail-status[data-attached-type="activity"],
body.panda-app .app-shell-detail-status[data-attached-type="opportunity"] {
  color: #6d4bef;
}

body.panda-app .app-shell-detail-status[data-attached-type="place"] {
  color: #18a86f;
}

body.panda-app .app-shell-detail-status[data-attached-type="product"] {
  color: #ff7345;
}

body.panda-app .app-shell-detail-status[data-attached-type="service"],
body.panda-app .app-shell-detail-status[data-attached-type="ability"] {
  color: #2f86d8;
}

body.panda-app .app-shell-detail-status[data-attached-type="component"],
body.panda-app .app-shell-detail-status[data-attached-type="organization"] {
  color: #704de9;
}

body.panda-app .panda-app-stage.is-secondary-shell .app-shell-top {
  top: 14px;
  right: 16px;
  left: 16px;
  height: 54px;
  padding: 8px 10px;
  border: 1px solid rgba(30, 28, 40, 0.06);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 12px 30px rgba(20, 20, 20, 0.08);
  backdrop-filter: blur(18px);
}

body.panda-app .panda-app-stage.is-secondary-shell .app-shell-primary-left,
body.panda-app .panda-app-stage.is-secondary-shell .app-shell-primary-actions {
  display: none;
}

body.panda-app .panda-app-stage.is-secondary-shell .app-shell-back {
  display: grid;
  background: rgba(246, 246, 250, 0.95);
  box-shadow: none;
}

body.panda-app .panda-app-stage.is-secondary-shell .app-shell-secondary-title {
  display: block;
}

body.panda-app .panda-app-stage.is-secondary-shell .app-shell-secondary-actions {
  display: flex;
}

body.panda-app .panda-app-stage.is-secondary-shell .app-shell-create {
  box-shadow: none;
}

body.panda-app .panda-app-stage.is-shop-shell .app-shell-create {
  display: inline-flex;
}

body.panda-app .panda-app-stage.is-post-detail-shell .app-shell-secondary-title {
  text-align: center;
}

body.panda-app .panda-app-stage.is-post-detail-shell .app-shell-detail-status {
  display: inline-flex;
  justify-content: center;
}

body.panda-app .app-shell-bottom {
  position: absolute;
  top: auto;
  right: 21px;
  bottom: 9px;
  left: 21px;
  width: auto;
  height: 62px;
  margin: 0;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 -8px 25px rgba(20, 20, 20, 0.07);
  transform: translateY(0) scale(1);
  transform-origin: center bottom;
  transition:
    transform 520ms cubic-bezier(0.18, 0.9, 0.2, 1.12),
    opacity 320ms ease,
    filter 420ms ease;
  will-change: transform, opacity, filter;
}

body.panda-app .app-shell-top.nav-climbing {
  animation: appShellFadeInPlace 420ms ease both;
}

body.panda-app .app-shell-bottom.nav-climbing {
  animation: appShellFadeInPlace 420ms ease both;
}

body.panda-app .app-shell-indicator {
  display: none;
}

body.panda-app .panda-app-stage.is-shop-shell .app-shell-bottom,
body.panda-app .panda-app-stage.is-shop-shell .app-shell-indicator {
  opacity: 0;
  pointer-events: none;
}

body.panda-app .panda-app-stage.is-room-shell .app-shell-top,
body.panda-app .panda-app-stage.is-room-shell .app-shell-bottom,
body.panda-app .panda-app-stage.is-room-shell .app-shell-indicator {
  display: none !important;
}

body.panda-app .schedule-hero {
  min-height: 214px;
  padding: 54px 26px 0 42px;
  overflow: visible;
}

body.panda-app .schedule-hero-copy {
  margin-top: 28px;
}

body.panda-app .schedule-panda {
  z-index: 3;
  right: -16px;
  bottom: -42px;
  width: 214px;
  height: 192px;
}

body.panda-app .schedule-segment {
  margin-top: -42px;
}

body.panda-app .store-appbar {
  display: none;
}

body.panda-app .entity-cover {
  margin: 86px 15px 0;
}

body.panda-app .store-home-view,
body.panda-app .store-detail-view {
  padding-top: 84px;
}

body.panda-app .home-phone.post-detail-open .detail-nav-bar {
  display: none;
}

body.panda-app .home-phone.post-detail-open .post-detail-page {
  padding-top: 84px;
}

.app-view {
  z-index: 1;
  opacity: 0;
  pointer-events: none;
  filter: blur(9px);
  transform: translateY(12px) scale(0.992);
  transition:
    opacity 720ms ease,
    filter 760ms ease,
    transform 820ms cubic-bezier(0.2, 0.78, 0.18, 1);
  will-change: opacity, filter, transform;
}

.app-view.is-active {
  z-index: 3;
  opacity: 1;
  pointer-events: auto;
  filter: blur(0);
  transform: translateX(0) scale(1);
}

.app-view.is-leaving {
  z-index: 2;
  pointer-events: none;
  animation: appViewFadeOut 900ms cubic-bezier(0.33, 0, 0.2, 1) both;
}

.app-view.is-entering {
  pointer-events: none;
  animation: appViewFadeIn 900ms cubic-bezier(0.2, 0.78, 0.18, 1) both;
}

@media (prefers-reduced-motion: reduce) {
  .app-view {
    transition: none;
  }
}

@keyframes appViewFadeIn {
  0% {
    opacity: 0;
    filter: blur(9px);
    transform: translateY(12px) scale(0.992);
  }

  100% {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0) scale(1);
  }
}

@keyframes appViewFadeOut {
  0% {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0) scale(1);
  }

  100% {
    opacity: 0;
    filter: blur(8px);
    transform: translateY(-8px) scale(0.994);
  }
}

@keyframes routeSoftVeil {
  0% {
    opacity: 0;
  }

  42% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

.phone {
  position: relative;
  width: var(--phone-w);
  height: var(--phone-h);
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 54%, rgba(255, 217, 96, 0.12), transparent 24%),
    linear-gradient(180deg, #ffffff 0%, #ffffff 54%, #fbfbfb 100%);
  border-radius: inherit;
  box-shadow: none;
}

.status-bar,
.top-nav,
.app-shell-status,
.app-shell-top,
.room-topbar {
  -webkit-app-region: drag;
}

button,
a,
input,
textarea,
select,
[role="button"],
.app-view {
  -webkit-app-region: no-drag;
}

.status-bar {
  position: absolute;
  z-index: 10;
  top: 14px;
  left: 25px;
  right: 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 23px;
}

.time {
  font-size: 19px;
  font-weight: 800;
  letter-spacing: 0;
}

.system-icons {
  display: flex;
  align-items: center;
  gap: 5px;
  color: #050505;
}

.system-icons svg {
  display: block;
  flex: 0 0 auto;
}

.status-signal {
  width: 21px;
  height: 15px;
  fill: currentColor;
}

.status-wifi {
  width: 20px;
  height: 15px;
}

.status-wifi path {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.5;
  stroke-linecap: round;
}

.status-wifi circle {
  fill: currentColor;
}

.status-battery {
  width: 25px;
  height: 15px;
}

.status-battery rect:first-child,
.status-battery path {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.status-battery rect:last-child {
  fill: currentColor;
}

.top-nav {
  position: absolute;
  z-index: 8;
  top: 55px;
  left: 25px;
  right: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.campus-switcher {
  position: relative;
  display: inline-flex;
  width: max-content;
  max-width: 190px;
  height: 22px;
  flex: 0 0 auto;
}

.campus-brand {
  position: absolute;
  z-index: 1;
  top: 2px;
  left: 0;
  margin: 0;
  font-size: 19px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0;
  white-space: nowrap;
  transform-origin: left center;
  animation: brandBoot 2.4s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.brand-panda {
  color: #070707;
}

.brand-campus {
  color: var(--yellow);
}

.campus-location {
  position: relative;
  z-index: 2;
  top: -8px;
  left: 0;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  width: max-content;
  min-width: 0;
  max-width: 190px;
  height: 38px;
  padding: 0 13px 0 17px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  color: #0a0a0a;
  cursor: pointer;
  font-family: inherit;
  box-shadow: 0 14px 34px rgba(20, 20, 20, 0.1);
  visibility: hidden;
  opacity: 0;
  transform: translateY(5px) scale(0.76);
  transform-origin: left center;
  animation: locationBubbleIn 0.82s cubic-bezier(0.22, 1, 0.36, 1) 2.08s forwards;
}

.campus-location span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 15px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0;
  white-space: nowrap;
}

.campus-chevron {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

.campus-chevron path {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@keyframes brandBoot {
  0% {
    opacity: 0;
    transform: translateY(3px) scale(0.97);
    filter: blur(3px);
  }

  18%,
  76% {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }

  100% {
    opacity: 0;
    transform: translateY(-2px) scale(0.96);
    filter: blur(3px);
  }
}

@keyframes locationBubbleIn {
  0% {
    visibility: visible;
    opacity: 0;
    transform: translateY(3px) scale(0.94);
    filter: blur(3px);
  }

  100% {
    visibility: visible;
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

@keyframes navClimbDamped {
  0% {
    opacity: 0;
    transform: translateY(74px) scale(0.95);
    filter: blur(2px);
  }

  58% {
    opacity: 1;
    transform: translateY(-7px) scale(1.015);
    filter: blur(0);
  }

  78% {
    transform: translateY(3px) scale(0.995);
  }

  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

@keyframes appShellFadeInPlace {
  0% {
    opacity: 0;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }

  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

@keyframes topChromeDamped {
  0% {
    opacity: 0;
    transform: translateY(-42px) scale(0.96);
    filter: blur(2px);
  }

  58% {
    opacity: 1;
    transform: translateY(6px) scale(1.01);
    filter: blur(0);
  }

  78% {
    transform: translateY(-2px) scale(0.998);
  }

  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

@keyframes backTopFloatIn {
  0% {
    opacity: 0;
    transform: translateY(18px) scale(0.78);
    filter: blur(2px);
  }

  70% {
    opacity: 1;
    transform: translateY(-4px) scale(1.06);
    filter: blur(0);
  }

  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

.top-nav nav {
  display: flex;
  gap: 26px;
  align-items: center;
}

.nav-icon {
  display: grid;
  place-items: center;
  width: 21px;
  height: 21px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #080808;
}

.nav-icon svg {
  width: 21px;
  height: 21px;
  overflow: visible;
}

.nav-icon path {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.nav-icon circle {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
}

.hero {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 320px;
}

.hero-copy {
  position: absolute;
  z-index: 6;
  top: 124px;
  left: 46px;
  max-width: 270px;
}

.hello {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 21px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0;
}

.hello-wave {
  display: inline-block;
  transform: translateY(1px);
  font-size: 18px;
}

.hero-copy p {
  margin: 15px 0 0;
  font-size: 14px;
  line-height: 1.28;
  font-weight: 800;
  letter-spacing: 0;
  white-space: nowrap;
}

.hero-prompts {
  display: block;
  margin-top: 10px;
  margin-left: 0;
  width: 172px;
  min-height: 26px;
}

.hero-prompts button {
  position: relative;
  z-index: 0;
  display: inline-flex;
  align-items: center;
  width: 100%;
  min-height: 26px;
  padding: 0 0 4px;
  appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #e6a000;
  font-family: inherit;
  font-size: 13px;
  line-height: 1.15;
  font-weight: 900;
  text-align: left;
  white-space: nowrap;
  letter-spacing: 0;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.72), 0 6px 16px rgba(230, 160, 0, 0.14);
  transform: translateX(0);
  opacity: 1;
  cursor: pointer;
}

.hero-prompts button::after {
  position: absolute;
  z-index: -1;
  right: 1px;
  bottom: 2px;
  left: -4px;
  height: 10px;
  content: "";
  border-radius: 999px 68% 999px 74%;
  background:
    linear-gradient(90deg, rgba(255, 194, 20, 0.14) 0%, rgba(255, 194, 20, 0.5) 42%, rgba(255, 228, 132, 0.2) 100%),
    repeating-linear-gradient(-5deg, rgba(255, 199, 33, 0.35) 0 7px, rgba(255, 232, 146, 0.2) 7px 13px);
  background-size: 220% 100%, 28px 100%;
  transform: rotate(-1.2deg) skewX(-8deg);
  opacity: 0.95;
  animation: heroPromptMarkerSweep 3.6s ease-in-out infinite;
}

.hero-prompts button.is-leaving {
  animation: heroPromptFadeOut 0.76s ease-in-out forwards;
}

.hero-prompts button.is-entering {
  animation: heroPromptFadeIn 0.98s ease-in-out both;
}

@keyframes heroPromptMarkerSweep {
  0% {
    background-position: 0% 50%, 0 0;
  }

  100% {
    background-position: 100% 50%, 28px 0;
  }
}

@keyframes heroPromptFadeOut {
  0% {
    opacity: 1;
    transform: translateX(0);
    filter: blur(0);
  }

  100% {
    opacity: 0;
    transform: translateX(-4px);
    filter: blur(1px);
  }
}

@keyframes heroPromptFadeIn {
  0% {
    opacity: 0;
    transform: translateX(4px);
    filter: blur(1px);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
    filter: blur(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-prompts button,
  .hero-prompts button::after {
    animation: none;
  }
}

.curve-lines {
  position: absolute;
  z-index: 1;
  top: 177px;
  left: 0;
  width: 100%;
  height: 120px;
  overflow: visible;
}

.curve-fade {
  fill: url("#curve-fade");
}

.curve-line {
  fill: none;
  stroke: var(--yellow-deep);
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.panda-logo {
  position: absolute;
  z-index: 4;
  top: 70px;
  left: 168px;
  width: 244px;
  height: 205px;
  object-fit: cover;
  object-position: 55% 14%;
  mix-blend-mode: multiply;
  pointer-events: none;
}

.panda-contact-shadow {
  position: absolute;
  z-index: 3;
  top: 247px;
  left: 198px;
  width: 142px;
  height: 29px;
  border-radius: 50%;
  background:
    radial-gradient(ellipse at 30% 48%, rgba(0, 0, 0, 0.34) 0 17%, rgba(0, 0, 0, 0.2) 34%, transparent 67%),
    radial-gradient(ellipse at 73% 58%, rgba(0, 0, 0, 0.2) 0 15%, rgba(0, 0, 0, 0.12) 39%, transparent 74%);
  filter: blur(7px);
  opacity: 0.9;
  pointer-events: none;
}

.search-card {
  position: absolute;
  z-index: 2;
  top: 252px;
  left: 21px;
  display: grid;
  grid-template-columns: 39px minmax(0, 1fr) 39px;
  align-items: center;
  justify-content: space-between;
  width: 388px;
  height: 58px;
  margin: 0;
  padding: 0 13px;
  border: 0;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.13);
}

.search-leading {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.search-leading input {
  width: 100%;
}

.location-icon {
  width: 27px;
  height: 27px;
  flex: 0 0 auto;
}

.location-icon path,
.location-icon circle {
  fill: none;
  stroke: #070707;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.search-card span {
  font-size: 18px;
  font-weight: 800;
  color: #a4a1b2;
  letter-spacing: 0;
}

.search-card button {
  display: grid;
  place-items: center;
  width: 39px;
  height: 39px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--yellow);
}

.home-phone .search-card {
  gap: 8px;
}

.home-phone .search-card .home-voice {
  flex: 0 0 auto;
  width: 39px;
  height: 39px;
  background: #f7f4fb;
  color: #2c2934;
}

.home-phone .home-voice svg {
  width: 22px;
  height: 22px;
}

.home-phone .home-voice path {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
}

.home-phone .home-voice[aria-pressed="true"] {
  background: #f1e9ff;
  color: #7b61ff;
  box-shadow: 0 0 0 3px rgba(123, 97, 255, 0.1);
}

.arrow-icon {
  width: 22px;
  height: 22px;
}

.arrow-icon path {
  fill: none;
  stroke: #000;
  stroke-width: 4.3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.shortcut-card,
.event-card,
.bottom-nav {
  position: absolute;
  left: 21px;
  right: 21px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: var(--panel-shadow);
}

.shortcut-card {
  z-index: 4;
  top: 323px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  align-items: center;
  height: 82px;
  padding: 10px 12px;
}

.shortcut-card a {
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 5px;
  min-width: 0;
  text-decoration: none;
  color: #0d0d0d;
}

.shortcut-card img {
  width: 31px;
  height: 31px;
  object-fit: contain;
}

.shortcut-card span {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
}

.event-card {
  top: 412px;
  height: 157px;
  padding: 16px 18px;
}

.section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.section-title h2,
.campus-picks h2 {
  margin: 0;
  font-size: 17px;
  line-height: 1;
  font-weight: 900;
}

.section-title a {
  font-size: 13px;
  font-weight: 800;
  color: #111;
  text-decoration: none;
}

.section-title b {
  display: inline-block;
  margin-left: 2px;
  font-size: 22px;
  line-height: 0;
  transform: translateY(2px);
}

.event-row {
  position: relative;
  display: grid;
  grid-template-columns: 106px 1fr;
  gap: 16px;
  margin-top: 19px;
  min-height: 83px;
}

.event-art {
  position: relative;
  width: 105px;
  height: 94px;
  overflow: hidden;
  border-radius: 11px;
  background:
    linear-gradient(135deg, rgba(28, 72, 197, 0.95), rgba(6, 14, 67, 0.96) 56%, #050510),
    #14247c;
}

.event-art::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 21% 16%, #fff 0 7px, transparent 8px),
    radial-gradient(circle at 77% 24%, rgba(255, 213, 55, 0.86) 0 4px, transparent 5px),
    linear-gradient(123deg, transparent 0 31%, rgba(247, 247, 255, 0.2) 32% 36%, transparent 37%),
    linear-gradient(70deg, transparent 0 47%, rgba(255, 255, 255, 0.13) 48% 52%, transparent 53%);
}

.moon {
  position: absolute;
  top: 8px;
  left: 10px;
  width: 22px;
  height: 45px;
  border: 4px solid rgba(255, 255, 255, 0.9);
  border-right-color: transparent;
  border-radius: 50%;
  transform: rotate(8deg);
}

.stage-shape {
  position: absolute;
  background: linear-gradient(150deg, #f7f4ff, #9fc6ff 56%, #0c1e8e 58%);
  filter: drop-shadow(0 4px 5px rgba(0, 0, 0, 0.25));
}

.shape-a {
  left: 42px;
  top: -8px;
  width: 38px;
  height: 55px;
  clip-path: polygon(0 0, 100% 16%, 57% 100%, 14% 74%);
}

.shape-b {
  right: 7px;
  top: 11px;
  width: 43px;
  height: 48px;
  clip-path: polygon(18% 0, 100% 22%, 82% 100%, 0 77%);
}

.avatar-mark {
  position: absolute;
  left: 43px;
  bottom: 13px;
  width: 35px;
  height: 43px;
  border-radius: 45% 45% 40% 40%;
  background: #fff;
}

.avatar-mark::before {
  content: "";
  position: absolute;
  top: 5px;
  left: 10px;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #ff7b67;
  box-shadow: 0 -7px 0 #0c0d2e;
}

.spark {
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ffd22d;
  box-shadow: 0 0 13px #ffe16b;
}

.spark-a {
  top: 19px;
  right: 12px;
}

.spark-b {
  left: 21px;
  bottom: 18px;
}

.event-info {
  padding-top: 3px;
}

.event-info h3 {
  margin: 0 0 12px;
  font-size: 17px;
  line-height: 1;
  font-weight: 900;
}

.event-info p {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 8px 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
}

.event-info span {
  display: inline-grid;
  place-items: center;
  width: 13px;
  color: #918fa1;
  font-size: 16px;
  font-weight: 900;
}

.event-info .pin {
  color: var(--yellow-deep);
}

.join-button {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 65px;
  height: 27px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(180deg, #ffd337, #ffc10f);
  color: #050505;
  font-size: 12px;
  font-weight: 900;
}

.campus-picks {
  position: absolute;
  top: 586px;
  left: 32px;
  right: 32px;
}

.campus-picks h2 {
  margin-bottom: 17px;
}

.pick-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 11px;
}

.pick-card {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 72px;
  overflow: hidden;
  border-radius: 10px;
  padding: 12px 14px 11px 18px;
}

.pick-card strong {
  display: block;
  margin-bottom: 7px;
  font-size: 14px;
  line-height: 1;
  font-weight: 900;
}

.pick-card span {
  display: block;
  font-size: 12px;
  font-weight: 700;
}

.cafe {
  background: linear-gradient(100deg, #fff8e8, #fffdf8 52%, #ffeec9);
}

.cafe img {
  position: absolute;
  right: -91px;
  bottom: -118px;
  width: 270px;
  height: 270px;
  mix-blend-mode: multiply;
}

.print {
  background: linear-gradient(100deg, #f4fbff, #eef7ff 52%, #ffffff);
}

.printer {
  position: relative;
  width: 52px;
  height: 42px;
  border-radius: 7px 7px 5px 5px;
  background: linear-gradient(145deg, #1f1f1f, #050505);
  box-shadow: 0 9px 12px rgba(0, 0, 0, 0.12);
}

.printer::before {
  content: "";
  position: absolute;
  top: -10px;
  left: 7px;
  width: 38px;
  height: 14px;
  border-radius: 4px 4px 0 0;
  background: #151515;
}

.printer i {
  position: absolute;
  left: 8px;
  bottom: 5px;
  width: 36px;
  height: 18px;
  border-radius: 2px;
  background: linear-gradient(180deg, #202020, #090909);
}

.printer b {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 7px;
  height: 4px;
  border-radius: 2px;
  background: #393939;
}

.bottom-nav {
  z-index: 9;
  top: 698px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  height: 57px;
  padding: 6px 11px 5px;
  border-radius: 18px 18px 0 0;
  box-shadow: 0 -8px 25px rgba(20, 20, 20, 0.07);
}

.bottom-nav a {
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 2px;
  color: #111;
  text-decoration: none;
}

.bottom-nav img {
  width: 26px;
  height: 26px;
  object-fit: contain;
}

.bottom-nav-icon {
  width: 28px;
  height: 28px;
  color: #111;
  display: block;
  filter: drop-shadow(0 4px 7px rgba(0, 0, 0, 0.08));
  transition:
    color 260ms ease,
    transform 320ms cubic-bezier(0.18, 0.9, 0.2, 1.12),
    filter 260ms ease;
}

.bottom-nav a.active .bottom-nav-icon {
  color: #f2b51d;
  transform: translateY(-1px);
  filter: drop-shadow(0 7px 12px rgba(242, 181, 29, 0.32));
}

.bottom-nav a:not(.active) img {
  filter: grayscale(1) brightness(0);
}

.bottom-nav span {
  font-size: 11px;
  font-weight: 700;
}

.home-indicator {
  position: absolute;
  z-index: 12;
  bottom: 4px;
  left: 50%;
  width: 118px;
  height: 5px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: #000;
}

.back-top-bubble {
  position: fixed;
  z-index: 24;
  left: calc(50% + (var(--phone-w) / 2) - 69px);
  bottom: calc(max(0px, (100vh - var(--phone-h)) / 2) + 86px);
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.96);
  color: #0b0b0b;
  text-decoration: none;
  box-shadow: 0 14px 32px rgba(20, 20, 20, 0.13);
  opacity: 0;
  pointer-events: none;
  transform: translateY(18px) scale(0.78);
  transition:
    opacity 220ms ease,
    transform 260ms ease,
    filter 260ms ease;
  will-change: transform, opacity, filter;
}

.back-top-bubble svg {
  width: 23px;
  height: 23px;
}

.back-top-bubble path {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.back-top-bubble.is-visible {
  opacity: 1;
  pointer-events: auto;
  animation: backTopFloatIn 420ms cubic-bezier(0.18, 0.9, 0.2, 1.12);
  transform: translateY(0) scale(1);
}

.home-phone {
  overflow-y: auto;
  overflow-x: hidden;
  padding-bottom: 0;
  scrollbar-width: none;
}

.home-phone .status-bar {
  top: 9px;
  left: 25px;
  right: 32px;
  height: 17px;
}

.home-phone .time {
  margin-left: 17px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
}

.home-phone .system-icons {
  gap: 4px;
}

.home-phone .status-signal {
  width: 17px;
  height: 12px;
}

.home-phone .status-wifi {
  width: 16px;
  height: 12px;
}

.home-phone .status-wifi path {
  stroke-width: 2;
}

.home-phone .status-wifi circle {
  r: 1.25px;
}

.home-phone .status-battery {
  width: 20px;
  height: 12px;
}

.home-phone .status-battery rect:first-child,
.home-phone .status-battery path {
  stroke-width: 1.8;
}

.home-phone .top-nav,
.shop-phone .top-nav,
.schedule-phone .top-nav,
.entity-phone .top-nav {
  position: fixed;
  z-index: 23;
  top: calc(max(0px, (100vh - var(--phone-h)) / 2) + 43px);
  left: calc(50% - (var(--phone-w) / 2) + 25px);
  right: auto;
  width: calc(var(--phone-w) - 57px);
  transform: translateY(0) scale(1);
  transform-origin: center top;
  transition:
    transform 500ms cubic-bezier(0.18, 0.9, 0.2, 1.12),
    opacity 280ms ease,
    filter 320ms ease;
  will-change: transform, opacity, filter;
}

.home-phone .top-nav.nav-abyss,
.shop-phone .top-nav.nav-abyss,
.schedule-phone .top-nav.nav-abyss,
.entity-phone .top-nav.nav-abyss {
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(-58px) scale(0.96) !important;
  filter: blur(2px) !important;
  transition:
    transform 350ms cubic-bezier(0.55, 0, 0.72, 0.2),
    opacity 220ms ease,
    filter 220ms ease;
}

.home-phone .top-nav.nav-climbing,
.shop-phone .top-nav.nav-climbing,
.schedule-phone .top-nav.nav-climbing,
.entity-phone .top-nav.nav-climbing {
  animation: topChromeDamped 580ms cubic-bezier(0.18, 0.9, 0.2, 1.12);
}

.home-phone .top-nav nav,
.shop-phone .top-nav nav,
.schedule-phone .top-nav nav,
.entity-phone .top-nav nav {
  gap: 8px;
}

.home-phone .nav-icon,
.shop-phone .nav-icon,
.schedule-phone .nav-icon,
.entity-phone .nav-icon {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.94);
  color: #0a0a0a;
  box-shadow: 0 8px 18px rgba(20, 20, 20, 0.08);
}

.home-phone .nav-icon svg,
.shop-phone .nav-icon svg,
.schedule-phone .nav-icon svg,
.entity-phone .nav-icon svg {
  width: 15px;
  height: 15px;
}

.home-phone .nav-icon path,
.home-phone .nav-icon circle,
.shop-phone .nav-icon path,
.shop-phone .nav-icon circle,
.schedule-phone .nav-icon path,
.schedule-phone .nav-icon circle,
.entity-phone .nav-icon path,
.entity-phone .nav-icon circle {
  stroke-width: 1.95;
}

.home-phone::-webkit-scrollbar {
  display: none;
}

.home-phone .hero {
  position: relative;
  top: auto;
  left: auto;
  height: 320px;
}

.home-phone .shortcut-card,
.home-phone .event-card,
.home-phone .campus-picks {
  position: relative;
  left: auto;
  right: auto;
  top: auto;
}

.home-phone .shortcut-card {
  margin: 3px 21px 16px;
  height: 92px;
  padding: 8px 9px 9px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  align-items: center;
  min-width: 0;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: var(--panel-shadow);
}

.home-phone .shortcut-card > a + a {
  position: relative;
}

.home-phone .shortcut-card a {
  gap: 4px;
}

.home-phone .shortcut-card img {
  width: 50px;
  height: 50px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  object-fit: contain;
}

.home-phone .shortcut-card .shortcut-stream img {
  clip-path: inset(8% round 14px);
  transform: scale(1.12);
}

.processing-card {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 128px;
  min-height: 107px;
  margin: 0 21px 20px;
  overflow: hidden;
  border-radius: 18px;
  background:
    radial-gradient(circle at 82% 25%, rgba(255, 213, 85, 0.22) 0 42px, transparent 43px),
    linear-gradient(115deg, #fff9ee, #fff3cf 72%, #fff7e8);
  box-shadow: var(--panel-shadow);
}

.processing-copy {
  padding: 18px 0 16px 18px;
}

.processing-copy span {
  display: block;
  margin-bottom: 8px;
  color: #312c25;
  font-size: 12px;
  font-weight: 800;
}

.processing-copy h2 {
  margin: 0 0 13px;
  font-size: 17px;
  line-height: 1.15;
  font-weight: 900;
}

.processing-copy p {
  margin: 0 0 6px;
  color: #8a8292;
  font-size: 11px;
  font-weight: 700;
}

.progress-track {
  width: 142px;
  height: 4px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(220, 176, 70, 0.23);
}

.progress-track i {
  display: block;
  width: 60%;
  height: 100%;
  border-radius: inherit;
  background: #f3b700;
}

.processing-side {
  position: relative;
}

.ghost-panda {
  position: absolute;
  right: -8px;
  top: 8px;
  width: 104px;
  height: 92px;
  border-radius: 52% 48% 20% 20%;
  background: rgba(255, 255, 255, 0.43);
}

.ghost-panda::before,
.ghost-panda::after {
  content: "";
  position: absolute;
  top: 20px;
  width: 22px;
  height: 28px;
  border-radius: 50%;
  background: rgba(211, 168, 35, 0.16);
}

.ghost-panda::before {
  left: 25px;
}

.ghost-panda::after {
  right: 25px;
}

.face-stack {
  position: absolute;
  right: 23px;
  bottom: 25px;
  display: flex;
  align-items: center;
}

.face-stack b,
.face-stack em {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  margin-left: -8px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: linear-gradient(135deg, #d6d9df, #aeb4c2);
}

.face-stack em {
  background: #fff;
  color: #49465a;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
}

.processing-side strong {
  position: absolute;
  right: 11px;
  bottom: 12px;
  color: #9b94a4;
  font-size: 10px;
}

.home-section {
  margin-bottom: 21px;
}

.home-section .section-title,
.home-phone .campus-picks .section-title {
  padding: 0 21px 12px;
}

.home-section .section-title a,
.home-phone .campus-picks .section-title a {
  color: #777386;
  font-size: 12px;
}

.home-phone .event-section {
  margin-bottom: 23px;
}

.opportunity-row,
.ai-card-row {
  display: grid;
  gap: 10px;
  overflow: visible;
  padding: 0 21px 6px;
  scrollbar-width: none;
}

.opportunity-row {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ai-card-row {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.opportunity-row::-webkit-scrollbar,
.ai-card-row::-webkit-scrollbar {
  display: none;
}

.opportunity-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 154px;
  overflow: hidden;
  border: 1px solid rgba(55, 46, 66, 0.055);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 10px 25px rgba(48, 38, 62, 0.055);
}

.opportunity-card > span {
  display: inline-block;
  margin: 11px 10px 0;
  padding: 4px 7px;
  border-radius: 999px;
  font-size: 8.5px;
  font-weight: 900;
}

.opportunity-card.warm {
  background: linear-gradient(180deg, #fff2cf 0%, #fff9ec 48%, #fff 100%);
}

.opportunity-card.purple {
  background: linear-gradient(180deg, #eee8ff 0%, #f8f5ff 48%, #fff 100%);
}

.opportunity-card.green {
  background: linear-gradient(180deg, #ddf7ed 0%, #f3fcf8 48%, #fff 100%);
}

.opportunity-card.warm > span {
  color: #ed9600;
  background: #fff8e9;
}

.opportunity-card.purple > span {
  color: #7354ef;
  background: #f5f0ff;
}

.opportunity-card.green > span {
  color: #18a86f;
  background: #effff8;
}

.opportunity-art {
  width: 55px;
  height: 48px;
  margin: 9px auto 8px;
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 16px;
  box-shadow: 0 7px 14px rgba(44, 34, 57, 0.08);
}

.scooter-art {
  background:
    radial-gradient(circle at 18% 78%, #111 0 6px, transparent 7px),
    radial-gradient(circle at 78% 78%, #111 0 6px, transparent 7px),
    linear-gradient(145deg, #ffc61b, #f0a500);
}

.camera-art {
  background:
    radial-gradient(circle at 53% 58%, #0b0c0f 0 13px, #394257 14px 18px, transparent 19px),
    linear-gradient(180deg, #f5f6fb, #cfd4df);
}

.list-art {
  background:
    linear-gradient(90deg, transparent 0 18%, #ffc61b 19% 23%, transparent 24%),
    repeating-linear-gradient(180deg, #fff 0 7px, #d8dee7 8px 10px);
}

.opportunity-card h3 {
  margin: 0 11px 4px;
  overflow: hidden;
  font-size: 12.5px;
  line-height: 1.2;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.opportunity-card p {
  margin: 0 11px 6px;
  font-size: 13px;
  font-weight: 900;
}

.opportunity-card small {
  display: block;
  margin: auto 11px 11px;
  overflow: hidden;
  color: #918fa1;
  font-size: 8.5px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tiny-star {
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-left: 5px;
  background: #9e73ff;
  clip-path: polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%);
}

.ai-card {
  position: relative;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  min-width: 0;
  min-height: 84px;
  gap: 10px;
  padding: 11px;
  border: 1px solid rgba(55, 46, 66, 0.055);
  border-radius: 20px;
  background: linear-gradient(145deg, #fff, #fbfaff);
  box-shadow: 0 10px 25px rgba(48, 38, 62, 0.05);
}

.ai-icon {
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255, 255, 255, 0.78);
  border-radius: 15px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8), 0 6px 13px rgba(64, 45, 87, 0.07);
}

.violet-heart {
  background: linear-gradient(135deg, #f1ebff, #d8caff);
}

.pink-heart {
  background: linear-gradient(135deg, #ffeef6, #ffd2e7);
}

.ai-card span {
  color: #a09cad;
  font-size: 8.5px;
  font-weight: 700;
}

.ai-card h3 {
  margin: 3px 0 4px;
  font-size: 12.5px;
  line-height: 1.18;
  font-weight: 900;
}

.ai-card:not(.ai-card-onboarding) h3 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ai-card p {
  margin: 0;
  color: #777386;
  font-size: 9.5px;
  font-weight: 700;
}

.ai-card:not(.ai-card-onboarding) p {
  padding-right: 28px;
}

.ai-card button {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(58, 47, 70, 0.06);
  border-radius: 50%;
  background: #f4f2f7;
  color: #645c6d;
  font-size: 15px;
  font-weight: 900;
}

.ai-card:not(.ai-card-onboarding) > button {
  position: absolute;
  right: 11px;
  bottom: 11px;
}

.ai-card-onboarding {
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: start;
  grid-column: 1 / -1;
  min-height: 108px;
  padding: 12px;
  border: 1px solid rgba(126, 91, 216, 0.12);
  background:
    radial-gradient(circle at 96% 5%, rgba(255, 207, 64, 0.28), transparent 34%),
    linear-gradient(145deg, #ffffff, #f7f1ff);
}

.ai-card-onboarding[hidden] {
  display: none;
}

.design-agent-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  background: linear-gradient(145deg, #ffd15a, #ff8da7 48%, #9473ff);
  color: #fff;
  box-shadow: 0 8px 18px rgba(137, 91, 219, 0.18);
}

.design-agent-icon span {
  color: inherit;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: -1px;
}

.ai-card-onboarding-copy {
  min-width: 0;
}

.ai-card-onboarding-copy span {
  color: #7650d1;
  font-weight: 900;
}

.ai-card-onboarding-copy h3 {
  margin-top: 3px;
  font-size: 12px;
  line-height: 1.3;
}

.ai-card-onboarding-actions {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  width: 100%;
}

.ai-card .ai-card-onboarding-actions button {
  width: auto;
  height: 28px;
  border-radius: 10px;
  background: #f0edf4;
  color: #625a69;
  font-size: 9px;
}

.ai-card .ai-card-onboarding-actions button.primary {
  background: #28212f;
  color: #fff;
}

.home-phone .event-card {
  height: 126px;
  margin: 0 21px;
  padding: 16px 18px;
}

.home-phone .event-card .event-row {
  margin: 0;
}

.home-phone .event-card .join-button {
  right: 0;
  bottom: 0;
}

.home-phone .campus-picks {
  margin: 0 21px 15px;
}

.home-phone .campus-picks .section-title {
  padding-left: 0;
  padding-right: 0;
}

.home-phone .campus-picks h2 {
  margin-bottom: 0;
}

/* Campus home is a curated gateway: each collection stays finite and routes onward. */
.home-phone .home-curated-section {
  margin-bottom: 30px;
}

.home-phone .home-curated-section .section-title,
.home-phone .home-recommended-news .section-title {
  align-items: center;
  padding-bottom: 12px;
}

.home-phone .home-place-section .section-title h2,
.home-phone .home-store-section .section-title h2,
.home-phone .home-recommended-news .section-title h2 {
  font-size: 17px;
  line-height: 1;
  font-weight: 900;
}

.home-phone .home-recommended-news {
  margin-right: 0;
  margin-left: 0;
}

.home-phone .home-recommended-news .section-title {
  padding-right: 21px;
  padding-left: 21px;
}

/* Align the three lower home sections to the exact same grid as the
   demand, supply and activity sections above. */
.home-phone .home-place-section .section-title,
.home-phone .home-store-section .section-title,
.home-phone .home-recommended-news .section-title {
  box-sizing: border-box;
  width: 100%;
  padding: 0 21px 12px;
}

.home-phone .home-place-section .home-curated-row,
.home-phone .home-store-section .home-curated-row,
.home-phone .home-recommended-news .home-news-curated-row {
  box-sizing: border-box;
  padding-right: 21px;
  padding-left: 21px;
}

.home-curated-row {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  padding: 0 21px 9px;
  scrollbar-width: none;
  scroll-snap-type: x proximity;
}

.home-curated-row::-webkit-scrollbar {
  display: none;
}

.home-place-card,
.home-store-card {
  position: relative;
  flex: 0 0 292px;
  min-height: 146px;
  overflow: hidden;
  border: 0;
  border-radius: 22px;
  color: #211d29;
  text-align: left;
  text-decoration: none;
  scroll-snap-align: start;
  box-shadow: 0 14px 30px rgba(34, 28, 45, 0.08);
}

.home-place-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 92px;
  grid-template-rows: auto 1fr auto auto;
  align-content: end;
  gap: 3px 14px;
  padding: 18px;
  background: linear-gradient(135deg, #e2fff5 0%, #c8edf9 58%, #9ec8ef 100%);
  font: inherit;
  cursor: pointer;
}

.home-place-card-track {
  background: linear-gradient(135deg, #fff0c8 0%, #ffe2bf 52%, #efb4a5 100%);
}

.home-curated-badge {
  position: relative;
  z-index: 1;
  width: max-content;
  padding: 4px 7px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  color: #695f73;
  font-size: 8px;
  font-weight: 900;
}

.home-place-art {
  grid-column: 2;
  grid-row: 1 / 5;
  align-self: center;
  display: grid;
  place-items: center;
  width: 88px;
  height: 88px;
  border-radius: 25px;
  background: rgba(255, 255, 255, 0.68);
  box-shadow: 0 10px 20px rgba(58, 89, 122, 0.12);
}

.home-place-art img {
  width: 72px;
  height: 72px;
  object-fit: contain;
}

.home-place-card strong,
.home-store-card strong {
  position: relative;
  z-index: 1;
  display: block;
  margin-top: 10px;
  font-size: 15px;
  line-height: 1.2;
  font-weight: 950;
}

.home-place-card small,
.home-store-card small {
  position: relative;
  z-index: 1;
  color: #6f6878;
  font-size: 10px;
  font-weight: 700;
}

.home-place-card em {
  position: relative;
  z-index: 1;
  width: max-content;
  margin-top: 7px;
  padding: 4px 7px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
  color: #17825c;
  font-size: 8px;
  font-style: normal;
  font-weight: 900;
}

.home-place-card-track em {
  color: #ad5e24;
}

.home-store-card {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr);
  grid-template-rows: auto auto 1fr;
  align-items: center;
  column-gap: 15px;
  flex-basis: 278px;
  min-height: 126px;
  padding: 17px;
  background: linear-gradient(145deg, #fff4fa, #f7e0f1);
}

.home-store-card.is-widget {
  background: linear-gradient(145deg, #eef8ff, #dbefff);
}

.home-store-card.is-template {
  background: linear-gradient(145deg, #f3efff, #e4dcff);
}

.home-store-art {
  grid-column: 1;
  grid-row: 1 / 4;
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  margin-bottom: 0;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 10px 22px rgba(81, 51, 102, 0.1);
}

.home-store-art b {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 11px;
  background: linear-gradient(135deg, #ff81b5, #ffc95b);
  color: #fff;
  font-size: 17px;
  font-weight: 950;
}

.home-store-card.is-widget .home-store-art b {
  background: linear-gradient(135deg, #61a9ff, #88d8ff);
}

.home-store-card.is-template .home-store-art b {
  background: linear-gradient(135deg, #8c68ff, #c099ff);
}

.home-store-card .home-curated-badge {
  position: static;
  grid-column: 2;
  grid-row: 1;
}

.home-store-card strong {
  grid-column: 2;
  grid-row: 2;
  margin: 7px 0 5px;
  font-size: 14px;
}

.home-store-card small {
  grid-column: 2;
  grid-row: 3;
  align-self: start;
}

/* Three-card carousels: one calm primary card with a restrained preview of
   the next item, so the home page stays airy while remaining swipeable. */
.home-phone .home-event-row,
.home-phone .home-place-section .home-curated-row,
.home-phone .home-store-section .home-curated-row {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  padding: 0 21px 9px;
  scroll-padding-left: 21px;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.home-phone .home-event-row::-webkit-scrollbar,
.home-phone .home-place-section .home-curated-row::-webkit-scrollbar,
.home-phone .home-store-section .home-curated-row::-webkit-scrollbar {
  display: none;
}

.home-phone .home-event-row .home-event-card,
.home-phone .home-place-section .home-place-card,
.home-phone .home-store-section .home-store-card {
  box-sizing: border-box;
  width: 330px;
  max-width: none;
  flex: 0 0 330px;
  margin: 0;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.home-phone .home-event-row .home-event-card {
  position: relative;
  left: auto;
  right: auto;
  top: auto;
  height: 126px;
}

.home-phone .home-event-card.is-lawn .event-art {
  background: linear-gradient(145deg, #6f50e9, #ca69d7 56%, #ffb660);
}

.home-phone .home-event-card.is-cocreate .event-art {
  background: linear-gradient(145deg, #20243c, #7057d8 58%, #e09cd7);
}

.home-phone .home-place-section .home-place-card {
  min-height: 142px;
  padding: 19px 20px;
}

.home-phone .home-store-section .home-store-card {
  min-height: 124px;
  padding: 18px 20px;
}

.home-place-card-cafe {
  background: linear-gradient(135deg, #eef0ff 0%, #e0dcff 55%, #cbb7ee 100%);
}

.home-place-card-cafe em {
  color: #7351ad;
}

.home-phone .home-place-section .home-curated-badge,
.home-phone .home-store-section .home-curated-badge,
.home-phone .home-place-section .home-place-card em {
  font-size: 9px;
}

.home-phone .home-place-section .home-place-card strong {
  font-size: 16px;
}

.home-phone .home-store-section .home-store-card strong {
  font-size: 15px;
}

.home-phone .home-place-section .home-place-card small,
.home-phone .home-store-section .home-store-card small {
  font-size: 11px;
  line-height: 1.35;
}

.home-news-curated-row {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0 21px 8px;
}

.home-news-curated-card {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  min-height: 116px;
  overflow: hidden;
  padding: 0;
  border: 0;
  border-radius: 20px;
  background: #fff;
  color: #231f2a;
  text-align: left;
  text-decoration: none;
  box-shadow: 0 14px 32px rgba(30, 25, 39, 0.08);
  cursor: pointer;
}

.home-news-thumb {
  display: block;
  height: 100%;
  min-height: 116px;
  background: linear-gradient(160deg, #f7a34b, #eb6c70 58%, #8e68eb);
}

.home-news-curated-card.is-activity .home-news-thumb {
  background: linear-gradient(160deg, #bca3ff, #6a61e9 60%, #ee9fc3);
}

.home-news-thumb img {
  width: 100%;
  height: 100%;
  min-height: 116px;
  object-fit: cover;
}

.home-news-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 13px 15px;
}

.home-news-copy em {
  width: max-content;
  padding: 4px 7px;
  border-radius: 999px;
  background: #fff2d4;
  color: #9e721d;
  font-size: 8px;
  font-style: normal;
  font-weight: 900;
}

.home-news-copy strong {
  margin: 8px 0 5px;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 950;
}

.home-news-copy small {
  color: #85808d;
  font-size: 9px;
  line-height: 1.45;
  font-weight: 700;
}

.home-news-copy b {
  margin-top: auto;
  padding-top: 6px;
  color: #2a2531;
  font-size: 9px;
  font-weight: 900;
}

.home-recommended-news .home-news-source {
  display: none !important;
}

.dynamic-feed {
  display: grid;
  gap: 14px;
}

.post-card {
  overflow: hidden;
  padding: 13px;
  border: 1px solid rgba(20, 20, 20, 0.06);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 14px 32px rgba(20, 20, 20, 0.06);
  backdrop-filter: blur(18px);
}

.post-header {
  display: grid;
  grid-template-columns: 34px 1fr auto;
  align-items: center;
  gap: 9px;
}

.post-avatar {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  object-fit: cover;
  background: #fff7df;
}

.post-header strong {
  display: block;
  color: #17151f;
  font-size: 12px;
  line-height: 1.1;
  font-weight: 900;
}

.post-header strong span {
  color: #7b61ff;
  font-size: 9px;
}

.post-header p {
  margin: 4px 0 0;
  color: #9d99a8;
  font-size: 9px;
  line-height: 1;
  font-weight: 700;
}

.post-header button {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #777386;
  font-family: inherit;
  font-size: 15px;
  font-weight: 900;
}

.post-header .post-header-cta {
  display: grid;
  width: auto;
  min-width: 56px;
  height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: linear-gradient(180deg, #ff6aa5, #ff4f93);
  color: #fff;
  font-size: 11px;
  font-weight: 950;
  line-height: 1;
  white-space: nowrap;
  box-shadow: 0 10px 22px rgba(255, 79, 147, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.post-header .post-header-cta[data-attached-type="activity"],
.post-header .post-header-cta[data-attached-type="opportunity"] {
  background: linear-gradient(180deg, #8f75ff, #6d4bef);
  color: #fff;
  box-shadow: 0 10px 22px rgba(109, 75, 239, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.post-header .post-header-cta[data-attached-type="place"] {
  background: linear-gradient(180deg, #45c987, #18a86f);
  color: #fff;
  box-shadow: 0 10px 22px rgba(24, 168, 111, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.post-header .post-header-cta[data-attached-type="product"] {
  background: linear-gradient(180deg, #ff9b62, #ff7345);
  color: #fff;
  box-shadow: 0 10px 22px rgba(255, 115, 69, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.post-header .post-header-cta[data-attached-type="service"],
.post-header .post-header-cta[data-attached-type="ability"] {
  background: linear-gradient(180deg, #5bb0ff, #2f86d8);
  color: #fff;
  box-shadow: 0 10px 22px rgba(47, 134, 216, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.post-header .post-header-cta[data-attached-type="component"],
.post-header .post-header-cta[data-attached-type="organization"] {
  background: linear-gradient(180deg, #9a7cff, #704de9);
  color: #fff;
  box-shadow: 0 10px 22px rgba(112, 77, 233, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.post-text {
  margin: 10px 0 0;
  color: #17151f;
  font-size: 12px;
  line-height: 1.48;
  font-weight: 750;
}

.post-media-grid {
  display: flex;
  gap: 0;
  margin-top: 9px;
  margin-inline: -13px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  touch-action: pan-x pan-y;
}

.post-media-grid::-webkit-scrollbar,
.post-detail-media::-webkit-scrollbar {
  display: none;
}

.post-media-grid:focus-visible,
.post-detail-media:focus-visible {
  outline: 2px solid rgba(245, 183, 46, 0.78);
  outline-offset: -2px;
}

.post-media-grid > img,
.post-media-grid > .post-media-more {
  flex: 0 0 100%;
  width: 100%;
  min-width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 0;
  object-fit: cover;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.post-media-more {
  position: relative;
}

.post-media-more img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: none;
}

.post-media-more span {
  display: none;
}

.post-media-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-height: 14px;
  margin: 4px 0 -2px;
}

.post-media-pagination span {
  width: 5px;
  height: 5px;
  border-radius: 999px;
  background: #d9d5de;
  transition: width 160ms ease, background-color 160ms ease;
}

.post-media-pagination span.is-active {
  width: 13px;
  background: #f5b72e;
}

.attached-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 68px;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
  padding: 11px;
  border-radius: 16px;
  background: linear-gradient(135deg, #fff7fb, #ffffff);
  border: 1px solid rgba(255, 92, 147, 0.14);
}

.attached-main {
  min-width: 0;
}

.attached-thumb {
  width: 68px;
  height: 68px;
  border-radius: 14px;
  object-fit: cover;
  background: #fff;
  box-shadow: 0 8px 18px rgba(20, 20, 20, 0.08);
}

.info-card {
  background: linear-gradient(135deg, #f5f2ff, #ffffff);
  border-color: rgba(123, 97, 255, 0.14);
}

.place-card {
  background: linear-gradient(135deg, #effcf5, #ffffff);
  border-color: rgba(54, 174, 112, 0.15);
}

.product-card {
  background: linear-gradient(135deg, #fff4ef, #ffffff);
  border-color: rgba(255, 139, 82, 0.17);
}

.service-card {
  background: linear-gradient(135deg, #eff8ff, #ffffff);
  border-color: rgba(92, 174, 255, 0.17);
}

.event-card-tone {
  background: linear-gradient(135deg, #fff8dc, #ffffff);
  border-color: rgba(255, 197, 20, 0.2);
}

.component-card-tone {
  background: linear-gradient(135deg, #f3efff, #ffffff);
  border-color: rgba(139, 107, 255, 0.16);
}

.attached-top,
.attached-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.attached-top span {
  color: #ff5c93;
  font-size: 10px;
  font-weight: 900;
}

.info-card .attached-top span {
  color: #7b61ff;
}

.place-card .attached-top span {
  color: #1ca66b;
}

.product-card .attached-top span {
  color: #ff7a45;
}

.service-card .attached-top span {
  color: #3d93e8;
}

.event-card-tone .attached-top span {
  color: #d99600;
}

.component-card-tone .attached-top span {
  color: #7b61ff;
}

.attached-top button {
  display: none;
  height: 25px;
  padding: 0 11px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 92, 147, 0.12);
  color: #ff4f8b;
  font-family: inherit;
  font-size: 10px;
  font-weight: 900;
}

.info-card .attached-top button {
  background: rgba(123, 97, 255, 0.12);
  color: #6d4bef;
}

.place-card .attached-top button {
  background: rgba(54, 174, 112, 0.12);
  color: #168b59;
}

.product-card .attached-top button {
  background: rgba(255, 139, 82, 0.14);
  color: #ed6d37;
}

.service-card .attached-top button {
  background: rgba(92, 174, 255, 0.13);
  color: #2f86d8;
}

.event-card-tone .attached-top button {
  background: rgba(255, 197, 20, 0.16);
  color: #bd8200;
}

.component-card-tone .attached-top button {
  background: rgba(139, 107, 255, 0.13);
  color: #704de9;
}

.attached-card h3 {
  margin: 9px 0 5px;
  color: #17151f;
  font-size: 13px;
  line-height: 1.15;
  font-weight: 950;
}

.attached-card p {
  margin: 0 0 9px;
  color: #777386;
  font-size: 10px;
  line-height: 1.2;
  font-weight: 750;
}

.attached-meta span,
.attached-meta b {
  color: #777386;
  font-size: 10px;
  font-weight: 850;
}

.attached-responders {
  display: flex;
  align-items: center;
  min-width: 42px;
}

.attached-responders i,
.attached-responders em {
  width: 16px;
  height: 16px;
  margin-left: -5px;
  border: 2px solid #fff;
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(20, 20, 20, 0.08);
}

.attached-responders i:first-child {
  margin-left: 0;
  background: #ffd7e6;
}

.attached-responders i:nth-child(2) {
  background: #fff0bf;
}

.attached-responders i:nth-child(3) {
  background: #d9f4ff;
}

.attached-responders em {
  display: grid;
  place-items: center;
  width: auto;
  min-width: 18px;
  padding: 0 4px;
  background: #fff0f7;
  color: #ff4f8b;
  font-size: 8px;
  font-style: normal;
  line-height: 1;
  font-weight: 950;
}

.info-card .attached-responders em {
  background: #f1edff;
  color: #6d4bef;
}

.attached-meta b {
  padding: 4px 7px;
  border-radius: 999px;
  background: rgba(255, 92, 147, 0.1);
  color: #ff4f8b;
}

.info-card .attached-meta b {
  background: rgba(123, 97, 255, 0.1);
  color: #6d4bef;
}

.post-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: center;
  margin: 10px -13px -13px;
  padding: 5px 0 6px;
  border-top: 1px solid rgba(20, 20, 20, 0.045);
  background: rgba(255, 255, 255, 0.28);
}

.post-actions button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-width: 0;
  min-height: 24px;
  border: 0;
  border-right: 1px solid rgba(20, 20, 20, 0.055);
  background: transparent;
  color: #111;
  font-family: inherit;
  font-size: 11px;
  font-weight: 850;
}

.post-actions button:last-child {
  border-right: 0;
}

.post-actions svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.15;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.post-action-comment svg path {
  fill: currentColor;
  stroke: none;
}

.post-actions strong {
  font-size: 11px;
  line-height: 1;
  font-weight: 850;
}

.post-actions .post-action-like.is-active {
  color: #f63b8b;
}

.post-actions .post-action-comment.is-active {
  color: #1877ff;
}

.post-actions .post-action-share.is-active {
  color: #28a915;
}

.post-actions .post-action-more.is-active {
  color: #f51c17;
}

.post-action-icon {
  font-size: 17px;
  line-height: 1;
}

.post-action-more span {
  font-size: 13px;
  line-height: 1;
  letter-spacing: 1.8px;
  transform: translateY(-1px);
}

.compact-post .post-text {
  margin-bottom: 2px;
}

.home-phone.post-detail-open {
  background:
    radial-gradient(circle at 82% 6%, rgba(255, 210, 63, 0.18), transparent 30%),
    radial-gradient(circle at 0% 14%, rgba(255, 92, 147, 0.1), transparent 35%),
    #f8f8fb;
}

.home-phone.post-detail-open > :not(.post-detail-page) {
  display: none !important;
}

.post-detail-page[hidden] {
  display: none !important;
}

.post-detail-page {
  display: block;
  min-height: 100%;
  padding: 0 16px 82px;
}

.detail-nav-bar {
  position: sticky;
  z-index: 6;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 54px;
  margin: 0 -16px 13px;
  padding: 0 14px;
  background: rgba(255, 255, 255, 0.86);
  border-bottom: 1px solid rgba(20, 20, 20, 0.04);
  backdrop-filter: blur(18px);
}

.detail-back,
.detail-more,
.detail-cta {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.78);
  color: #17151f;
  font-family: inherit;
  font-size: 25px;
  line-height: 1;
  font-weight: 900;
}

.detail-more {
  font-size: 16px;
  letter-spacing: 1px;
}

.detail-cta {
  width: auto;
  min-width: 58px;
  height: 34px;
  padding: 0 15px;
  border-radius: 999px;
  background: linear-gradient(180deg, #ff6aa5, #ff4f93);
  color: #fff;
  font-size: 13px;
  letter-spacing: 0;
  box-shadow: 0 10px 22px rgba(255, 79, 147, 0.22);
}

.post-detail-card,
.detail-section {
  border: 1px solid rgba(20, 20, 20, 0.05);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 14px 34px rgba(20, 20, 20, 0.06);
  backdrop-filter: blur(18px);
}

.post-detail-card {
  padding: 14px;
}

.detail-author {
  grid-template-columns: 38px 1fr auto;
}

.detail-author .post-avatar {
  width: 38px;
  height: 38px;
}

.detail-author .post-header-cta {
  width: 56px;
  min-width: 56px;
  margin-right: -6px;
  padding: 0;
}

.post-detail-text {
  margin: 13px 0 0;
  color: #17151f;
  font-size: 14px;
  line-height: 1.55;
  font-weight: 850;
}

.post-detail-media {
  display: flex;
  gap: 0;
  margin-top: 12px;
  margin-inline: -14px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  touch-action: pan-x pan-y;
}

.post-detail-media > img {
  flex: 0 0 100%;
  width: 100%;
  min-width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 0;
  object-fit: cover;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.post-detail-media + .post-media-pagination {
  margin-top: 6px;
}

.detail-attached {
  grid-template-columns: minmax(0, 1fr) 76px;
  margin-top: 12px;
  padding: 13px;
}

.detail-attached .attached-thumb {
  width: 76px;
  height: 76px;
}

.detail-actions {
  margin-top: 12px;
}

.comment-entry {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  height: 44px;
  margin: 13px 0;
  padding: 0 8px 0 16px;
  border: 1px solid rgba(20, 20, 20, 0.05);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 12px 28px rgba(20, 20, 20, 0.05);
}

.comment-entry input {
  min-width: 0;
  flex: 1;
  height: 100%;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #17151f;
  font-family: inherit;
  font-size: 13px;
  font-weight: 800;
}

.comment-entry input::placeholder {
  color: #9d99a8;
}

.comment-entry button {
  width: 56px;
  height: 32px;
  border: 0;
  border-radius: 999px;
  background: #ff4f93;
  color: #fff;
  font-family: inherit;
  font-size: 12px;
  font-weight: 900;
}

.detail-section {
  margin-top: 13px;
  padding: 14px;
}

.comment-section-title {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 8px;
  justify-content: stretch;
}

.detail-section .section-title h2 {
  font-size: 16px;
}

.comment-section-title h2 {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
  white-space: nowrap;
}

.comment-section-title h2 span {
  color: #777386;
  font-size: 13px;
  font-weight: 900;
}

.comment-sort {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: center;
  gap: 3px;
  min-width: 0;
}

.comment-sort button {
  position: relative;
  padding: 5px 8px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #8f8a9f;
  font-family: inherit;
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
}

.comment-sort button + button::before {
  content: "";
  position: absolute;
  left: -3px;
  top: 50%;
  width: 1px;
  height: 10px;
  transform: translateY(-50%);
  background: rgba(20, 20, 20, 0.1);
}

.comment-sort .active {
  background: rgba(255, 92, 147, 0.1);
  color: #17151f;
}

.comment-expand {
  flex: 0 0 auto;
  margin-left: auto;
  padding: 0;
  border: 0;
  background: transparent;
  color: #17151f;
  font-family: inherit;
  font-size: 13px;
  font-weight: 950;
  white-space: nowrap;
}

.comment-expand b {
  display: inline-block;
  transition: transform 0.24s ease;
}

.comment-expand[aria-expanded="true"] b {
  transform: rotate(90deg);
}

.comment-expand[hidden] {
  display: none;
}

.comment-list {
  display: grid;
  gap: 2px;
  margin-top: 12px;
}

.comment-item {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 10px;
  padding: 12px 0;
  border-top: 1px solid rgba(20, 20, 20, 0.05);
}

.comment-item:first-child {
  border-top: 0;
}

.comment-item > img {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  object-fit: cover;
  background: #fff5d2;
}

.comment-item strong {
  display: block;
  color: #17151f;
  font-size: 12px;
  line-height: 1.15;
  font-weight: 900;
}

.comment-item strong span {
  color: #7b61ff;
  font-size: 9px;
}

.comment-item p {
  margin: 6px 0 0;
  color: #2a2733;
  font-size: 12px;
  line-height: 1.45;
  font-weight: 700;
}

.comment-item small {
  display: block;
  margin-top: 7px;
  color: #9d99a8;
  font-size: 10px;
  font-weight: 800;
}

.reply-list {
  display: grid;
  gap: 8px;
  margin-top: 10px;
  margin-left: 2px;
  padding-left: 10px;
  border-left: 2px solid rgba(20, 20, 20, 0.06);
}

.reply-list article {
  display: grid;
  grid-template-columns: 22px 1fr;
  align-items: start;
  gap: 8px;
}

.reply-list .nested-reply-list {
  gap: 7px;
  margin-top: 7px;
  margin-left: 0;
  padding-left: 8px;
  border-left-width: 1px;
}

.reply-list img {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  object-fit: cover;
  background: #fff5d2;
}

.reply-list p {
  margin: 1px 0 0;
  color: #5c586b;
  font-size: 11px;
}

.reply-expand {
  justify-self: start;
  width: auto;
  min-height: 22px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #7b61ff;
  font-family: inherit;
  font-size: 10px;
  font-weight: 900;
}

.comment-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(20, 20, 20, 0.05);
}

.comment-pagination button {
  min-width: 48px;
  height: 26px;
  border: 0;
  border-radius: 999px;
  background: #f5f2ff;
  color: #6d4bef;
  font-family: inherit;
  font-size: 10px;
  font-weight: 900;
}

.comment-pagination button:disabled {
  opacity: 0.38;
}

.comment-pagination span {
  color: #8a8697;
  font-size: 10px;
  font-weight: 900;
}

.related-grid {
  display: grid;
  gap: 9px;
  margin-top: 12px;
}

.related-grid article {
  display: grid;
  grid-template-columns: 52px 1fr;
  align-items: center;
  gap: 11px;
  padding: 10px;
  border-radius: 16px;
  background: #fafafc;
}

.related-grid img {
  width: 52px;
  height: 52px;
  border-radius: 13px;
  object-fit: cover;
}

.related-grid strong {
  display: block;
  color: #17151f;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 900;
}

.related-grid p {
  margin: 5px 0 0;
  color: #868292;
  font-size: 10px;
  font-weight: 800;
}

.home-phone .bottom-nav {
  position: sticky;
  z-index: 20;
  top: auto;
  bottom: 9px;
  left: auto;
  right: auto;
  height: 62px;
  margin: 7px 21px 7px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.96);
  transform: translateY(0) scale(1);
  transform-origin: center bottom;
  transition:
    transform 520ms cubic-bezier(0.18, 0.9, 0.2, 1.12),
    opacity 320ms ease,
    filter 420ms ease;
  will-change: transform, opacity, filter;
}

body.panda-app .app-view .bottom-nav {
  position: fixed;
  top: auto;
  left: calc(50% - (var(--phone-w) / 2) + 21px);
  right: auto;
  bottom: calc(max(0px, (100vh - var(--phone-h)) / 2) + 9px);
  width: calc(var(--phone-w) - 42px);
  height: 62px;
  margin: 0;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 -8px 25px rgba(20, 20, 20, 0.07);
}

.home-phone .bottom-nav.nav-abyss {
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(88px) scale(0.94) !important;
  filter: blur(2px) !important;
  transition:
    transform 430ms cubic-bezier(0.64, 0, 0.72, 0.24),
    opacity 260ms ease,
    filter 260ms ease;
}

.home-phone .bottom-nav.nav-climbing {
  animation: navClimbDamped 640ms cubic-bezier(0.18, 0.9, 0.2, 1.12);
}

.panda-phone {
  overflow-y: auto;
  overflow-x: hidden;
  padding: 112px 20px 96px;
  background:
    radial-gradient(circle at 86% 16%, rgba(255, 210, 63, 0.18), transparent 28%),
    radial-gradient(circle at 5% 12%, rgba(123, 97, 255, 0.08), transparent 31%),
    linear-gradient(180deg, #fbfbfd 0%, #f8f8fb 100%);
  scrollbar-width: none;
}

.panda-phone::-webkit-scrollbar {
  display: none;
}

.panda-status-hero {
  position: relative;
  min-height: 108px;
  margin: 0 0 12px;
}

.panda-status-copy {
  position: relative;
  z-index: 2;
  max-width: 208px;
  padding-top: 26px;
  padding-left: 47px;
}

.panda-status-copy h1 {
  margin: 0;
  color: #17151f;
  font-size: 25px;
  line-height: 1.08;
  font-weight: 950;
  letter-spacing: 0;
}

.panda-status-copy h1 span {
  font-size: 20px;
}

.panda-status-copy p {
  margin: 11px 0 0;
  color: #8d8999;
  font-size: 12px;
  line-height: 1.25;
  font-weight: 850;
}

.panda-status-hero img {
  position: absolute;
  right: 20px;
  bottom: 0;
  width: 126px;
  height: 114px;
  object-fit: contain;
  object-position: center bottom;
  filter: drop-shadow(0 15px 18px rgba(20, 20, 20, 0.12));
}

.panda-status-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
  margin-bottom: 14px;
}

.panda-glass-card,
.panda-panel {
  border: 1px solid rgba(20, 20, 20, 0.05);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 14px 34px rgba(20, 20, 20, 0.06);
  backdrop-filter: blur(18px);
}

.panda-glass-card {
  min-height: 169px;
  padding: 15px;
}

.panda-glass-card header,
.panda-section-title {
  display: flex;
  align-items: center;
}

.panda-glass-card header {
  gap: 8px;
}

.panda-glass-card header strong {
  color: #282436;
  font-size: 13px;
  line-height: 1;
  font-weight: 950;
}

.panda-dot {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #f3efff;
}

.panda-dot::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: currentColor;
}

.panda-dot.purple {
  color: #7b61ff;
}

.panda-dot.yellow {
  color: #f5b800;
  background: #fff7da;
}

.panda-current-card ul {
  display: grid;
  gap: 13px;
  margin: 17px 0 15px;
  padding: 0;
  list-style: none;
}

.panda-current-card li {
  display: grid;
  grid-template-columns: 21px 1fr auto;
  align-items: center;
  gap: 9px;
  color: #676274;
  font-size: 11px;
  font-weight: 850;
}

.panda-current-card li b {
  color: #4b4658;
  font-weight: 900;
}

.panda-current-card li em {
  color: #8c879a;
  font-style: normal;
  font-weight: 850;
}

.panda-mini-icon {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  box-shadow: inset 0 0 0 5px rgba(255, 255, 255, 0.55);
}

.panda-mini-icon.blue {
  background: linear-gradient(135deg, #dfefff, #72a7ff);
}

.panda-mini-icon.coral {
  background: linear-gradient(135deg, #ffe4dc, #ff7f5f);
}

.panda-mini-icon.gold {
  background: linear-gradient(135deg, #fff5ca, #ffc514);
}

.panda-current-card footer,
.panda-advice-card > button {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.panda-current-card footer {
  min-height: 34px;
  gap: 8px;
  padding: 0;
}

.panda-completion-bubble {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  align-items: center;
  width: 100%;
  min-height: 34px;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(123, 97, 255, 0.1);
  color: #6f55ed;
  font-size: 10px;
  font-weight: 850;
  box-sizing: border-box;
  gap: 4px;
}

.panda-completion-bubble em {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  gap: 2px;
  font-style: normal;
  line-height: 1;
  white-space: nowrap;
}

.panda-completion-bubble em + em {
  border-left: 1px solid rgba(63, 43, 189, 0.14);
}

.panda-completion-bubble b {
  color: #3f2bbd;
  font-size: 12px;
  font-weight: 950;
}

.panda-current-card footer button,
.panda-action-list button,
.panda-project-list article > button {
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  font-family: inherit;
  font-weight: 950;
}

.panda-advice-card {
  position: relative;
  background:
    radial-gradient(circle at 95% 10%, rgba(255, 197, 20, 0.22), transparent 34%),
    linear-gradient(135deg, #fffaf0, #fff);
  border-color: rgba(255, 197, 20, 0.24);
}

.panda-spark {
  margin-left: auto;
  color: #f7c750;
  font-size: 18px;
}

.panda-advice-card p {
  margin: 25px 4px 22px;
  color: #625b4d;
  font-size: 12px;
  line-height: 1.7;
  font-weight: 800;
}

.panda-advice-card > button {
  width: 100%;
  height: 44px;
  padding: 0 12px 0 18px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #ffe49a, #fff5d0);
  color: #4c3510;
  font-family: inherit;
  font-size: 12px;
  font-weight: 950;
}

.panda-advice-card > button b {
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: rgba(255, 197, 20, 0.42);
  color: #d99600;
  font-size: 19px;
}

.panda-panel {
  margin-bottom: 14px;
  padding: 14px;
}

.panda-section-title {
  justify-content: space-between;
  margin-bottom: 12px;
}

.panda-section-title h2 {
  margin: 0;
  color: #17151f;
  font-size: 14px;
  line-height: 1;
  font-weight: 950;
}

.panda-section-title h2 span {
  display: inline-grid;
  place-items: center;
  min-width: 18px;
  height: 18px;
  margin-left: 4px;
  border-radius: 999px;
  background: #f0eef5;
  color: #8b849a;
  font-size: 10px;
}

.panda-section-title a {
  color: #8d8999;
  font-size: 10px;
  font-weight: 900;
  text-decoration: none;
}

.panda-action-list {
  display: grid;
  gap: 2px;
}

.panda-action-list article {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto 50px 28px;
  align-items: center;
  gap: 9px;
  min-height: 48px;
}

.panda-action-list strong,
.panda-project-main h3 {
  min-width: 0;
  overflow: hidden;
  color: #25222e;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.panda-action-list strong {
  font-size: 12px;
  font-weight: 950;
}

.panda-action-list em {
  min-width: 60px;
  padding: 5px 7px;
  border-radius: 999px;
  background: #fff5dd;
  color: #d99500;
  font-size: 9px;
  font-style: normal;
  font-weight: 900;
  text-align: center;
}

.panda-action-list time {
  color: #9b96a7;
  font-size: 10px;
  font-weight: 800;
  text-align: right;
}

.panda-action-list button,
.panda-project-list article > button {
  width: 28px;
  height: 28px;
  background: #f4edff;
  color: #7b61ff;
  font-size: 19px;
}

.panda-task-avatar {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 13px;
  background: #fff6df;
}

.panda-task-avatar::before,
.panda-project-art::before {
  font-size: 18px;
  line-height: 1;
}

.panda-task-avatar.face::before {
  content: "👩";
}

.panda-task-avatar.camera::before {
  content: "📷";
}

.panda-task-avatar.case::before {
  content: "💼";
}

.panda-project-panel {
  padding-bottom: 15px;
}

.panda-project-list {
  display: grid;
  gap: 13px;
}

.panda-project-list article {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr) 145px 28px;
  align-items: center;
  gap: 10px;
  min-height: 116px;
  padding: 13px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.84);
  box-shadow: 0 10px 24px rgba(20, 20, 20, 0.05);
}

.panda-project-art {
  display: grid;
  place-items: center;
  width: 57px;
  height: 57px;
  border-radius: 16px;
}

.panda-project-art.bow {
  background: linear-gradient(135deg, #ffe8f2, #ffd2e7);
}

.panda-project-art.bow::before {
  content: "🎀";
}

.panda-project-art.camera {
  background: linear-gradient(135deg, #efe8ff, #d8caff);
}

.panda-project-art.camera::before {
  content: "📷";
}

.panda-project-art.book {
  background: linear-gradient(135deg, #e9fff5, #bff2dc);
}

.panda-project-art.book::before {
  content: "📖";
}

.panda-project-art.briefcase {
  background: linear-gradient(135deg, #fff2d2, #f4c273);
}

.panda-project-art.briefcase::before {
  content: "💼";
}

.panda-project-main h3 {
  margin: 0 0 5px;
  font-size: 13px;
  line-height: 1.15;
  font-weight: 950;
}

.panda-project-main p {
  margin: 0 0 5px;
  color: #8b849a;
  font-size: 10px;
  font-weight: 850;
}

.panda-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 8px;
}

.panda-tags span {
  color: #9985ff;
  font-size: 8px;
  font-weight: 900;
}

.panda-avatars {
  display: flex;
  align-items: center;
}

.panda-avatars i,
.panda-avatars em {
  width: 17px;
  height: 17px;
  margin-left: -5px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #ffd6e8;
}

.panda-avatars i:first-child {
  margin-left: 0;
  background: #f8d6bd;
}

.panda-avatars i:nth-child(2) {
  background: #cfd7ff;
}

.panda-avatars i:nth-child(3) {
  background: #ffe8a9;
}

.panda-avatars em {
  display: grid;
  place-items: center;
  min-width: 20px;
  width: auto;
  padding: 0 4px;
  background: #fff;
  color: #8b849a;
  font-size: 8px;
  font-style: normal;
  font-weight: 950;
}

.panda-project-progress p {
  margin: 0 0 6px;
  color: #7e788b;
  font-size: 9px;
  line-height: 1.2;
  font-weight: 850;
}

.panda-project-progress strong {
  display: block;
  margin: 8px 0 7px;
  font-size: 10px;
  font-weight: 950;
}

.panda-project-progress > span {
  display: block;
  width: 100%;
  height: 4px;
  overflow: hidden;
  border-radius: 999px;
  background: #f2eef4;
}

.panda-project-progress > span i {
  display: block;
  height: 100%;
  border-radius: inherit;
}

.panda-project-list article.pink .panda-project-progress strong,
.panda-project-list article.pink > button {
  color: #ff629e;
}

.panda-project-list article.pink .panda-project-progress > span i {
  background: #ff8fbd;
}

.panda-project-list article.purple .panda-project-progress strong,
.panda-project-list article.purple > button {
  color: #8b6cff;
}

.panda-project-list article.purple .panda-project-progress > span i {
  background: #9a7cff;
}

.panda-project-list article.green .panda-project-progress strong,
.panda-project-list article.green > button {
  color: #25a873;
}

.panda-project-list article.green .panda-project-progress > span i {
  background: #4cc995;
}

.panda-project-list article.orange .panda-project-progress strong,
.panda-project-list article.orange > button {
  color: #e5a000;
}

.panda-project-list article.orange .panda-project-progress > span i {
  background: #ffc514;
}

.schedule-phone {
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0 0 0;
  background:
    linear-gradient(180deg, #fbfbff 0, #ffffff 260px, #ffffff 100%),
    #fff;
  scrollbar-width: none;
}

.schedule-phone::-webkit-scrollbar {
  display: none;
}

.schedule-phone .status-bar {
  top: 9px;
  left: 25px;
  right: 32px;
  height: 17px;
}

.schedule-phone .time {
  margin-left: 17px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
}

.schedule-phone .system-icons {
  gap: 4px;
}

.schedule-phone .status-signal {
  width: 17px;
  height: 12px;
}

.schedule-phone .status-wifi {
  width: 16px;
  height: 12px;
}

.schedule-phone .status-wifi path {
  stroke-width: 2;
}

.schedule-phone .status-wifi circle {
  r: 1.25px;
}

.schedule-phone .status-battery {
  width: 20px;
  height: 12px;
}

.schedule-phone .status-battery rect:first-child,
.schedule-phone .status-battery path {
  stroke-width: 1.8;
}

.schedule-hero {
  position: relative;
  min-height: 310px;
  padding: 118px 26px 0;
  overflow: hidden;
  background: linear-gradient(155deg, #ffffff 0, #fbfbff 62%, #fff9e8 100%);
  border-bottom: 1px solid rgba(20, 20, 20, 0.04);
}

.schedule-actions {
  position: relative;
  z-index: 3;
  display: flex;
  justify-content: flex-end;
  gap: 13px;
}

.schedule-actions button,
.month-row button {
  display: grid;
  place-items: center;
  border: 0;
  background: transparent;
  color: #0a0a0a;
  font-family: inherit;
}

.schedule-actions button {
  width: 28px;
  height: 28px;
  border-radius: 50%;
}

.schedule-actions svg {
  width: 20px;
  height: 20px;
}

.schedule-actions path,
.schedule-actions circle,
.schedule-actions rect {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.schedule-hero-copy {
  position: relative;
  z-index: 2;
  width: 230px;
  margin-top: 78px;
}

.schedule-hero-copy h1 {
  margin: 0;
  font-size: 26px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: 0;
}

.schedule-hero-copy p {
  margin: 15px 0 0;
  color: #342f3e;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 800;
}

.schedule-panda {
  position: absolute;
  z-index: 1;
  right: -18px;
  bottom: -22px;
  width: 176px;
  height: 158px;
  object-fit: cover;
  object-position: 56% 13%;
  mix-blend-mode: multiply;
  pointer-events: none;
}

.schedule-segment,
.schedule-panel,
.panda-reminder-card {
  margin-right: 21px;
  margin-left: 21px;
  border: 1px solid rgba(20, 20, 20, 0.05);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 12px 28px rgba(20, 20, 20, 0.055);
}

.schedule-segment {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
  min-height: 64px;
  margin-top: -18px;
  padding: 6px;
  border-radius: 17px;
}

.schedule-segment button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-width: 0;
  border: 0;
  border-radius: 13px;
  background: transparent;
  color: #25222d;
  font-family: inherit;
  font-size: 13px;
  line-height: 1;
  font-weight: 900;
}

.schedule-segment button span {
  color: currentColor;
  font-size: 13px;
}

.schedule-segment button.active {
  background: #fff8e8;
  color: #111116;
  box-shadow: inset 0 0 0 1px rgba(255, 197, 20, 0.18);
}

.schedule-segment button.active span {
  color: currentColor;
}

.schedule-panel {
  margin-top: 14px;
  padding: 15px;
  border-radius: 18px;
}

.schedule-section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 14px;
}

.schedule-section-title h2 {
  margin: 0;
  color: #111;
  font-size: 17px;
  line-height: 1;
  font-weight: 950;
}

.schedule-section-title a,
.schedule-section-title button,
.schedule-section-title span {
  color: #777386;
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
}

.schedule-section-title button {
  border: 0;
  background: transparent;
  font-family: inherit;
  cursor: pointer;
}

.calendar-today-button {
  padding: 0;
}

.time-section-title {
  align-items: center;
}

.time-title-heading {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

.schedule-section-title .time-name-toggle {
  display: grid;
  flex: 0 0 26px;
  place-items: center;
  width: 26px;
  height: 26px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #6d49ff;
  box-shadow: none;
}

.time-name-toggle svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.schedule-section-title .time-name-toggle.is-poetic {
  color: #d69400;
}

.schedule-section-title .sleep-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-height: 28px;
  max-width: 184px;
  padding: 0 10px;
  border: 1px solid rgba(119, 147, 211, 0.22);
  border-radius: 999px;
  background: #f6f9ff;
  color: #63708d;
  box-shadow: 0 6px 14px rgba(70, 88, 132, 0.08);
  white-space: nowrap;
}

.sleep-chip span,
.sleep-chip strong {
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1;
}

.sleep-chip span {
  flex: 0 0 auto;
  color: #6d7896;
  font-size: 10px;
  font-weight: 950;
}

.sleep-chip strong {
  min-width: 0;
  color: #4f5b79;
  font-size: 10px;
  font-weight: 950;
}

.month-row {
  display: grid;
  grid-template-columns: 32px 1fr 32px;
  align-items: center;
  margin-bottom: 12px;
}

.month-row strong {
  justify-self: center;
  color: #25222d;
  font-size: 14px;
  font-weight: 950;
}

.month-row button {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  font-size: 24px;
  font-weight: 500;
}

.calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  row-gap: 7px;
  align-items: center;
}

.calendar-grid span,
.calendar-grid button {
  display: grid;
  place-items: center;
  width: 100%;
  height: 28px;
  border: 0;
  background: transparent;
  color: #15131b;
  font-family: inherit;
  font-size: 13px;
  line-height: 1;
  font-weight: 850;
}

.calendar-grid span {
  color: #8e8a9d;
  font-size: 11px;
  font-weight: 900;
}

.calendar-grid button {
  position: relative;
  border-radius: 50%;
}

.calendar-grid button.muted {
  color: #b5b1bf;
}

.calendar-grid button.selected {
  width: 30px;
  justify-self: center;
  background: #6d49ff;
  color: #fff;
  box-shadow: 0 8px 16px rgba(109, 73, 255, 0.24);
}

.calendar-grid button.today:not(.selected) {
  color: #6d49ff;
  box-shadow: inset 0 0 0 1.5px rgba(109, 73, 255, 0.32);
}

.calendar-grid button.has-dot::after {
  content: "";
  position: absolute;
  bottom: 1px;
  left: 50%;
  width: 3px;
  height: 3px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: #6d49ff;
}

.time-panel {
  border-top: 3px solid #ffc514;
}

.time-block-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 7px;
  padding-bottom: 16px;
}

.time-block-slot {
  position: relative;
  display: grid;
  justify-items: center;
  min-width: 0;
}

.time-block-grid button {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 4px;
  min-width: 0;
  width: 100%;
  min-height: 78px;
  padding: 8px 4px 7px;
  overflow: hidden;
  border: 1px solid rgba(76, 117, 178, 0.1);
  border-radius: 14px;
  background: var(--time-block-bg, #f8f7fb);
  color: #1f1c28;
  font-family: inherit;
  transition: background 480ms ease, border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.time-block-grid button i {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 10px;
  background: #fff;
  color: #d69400;
  font-style: normal;
  font-size: 14px;
  font-weight: 900;
  position: relative;
  z-index: 1;
  box-shadow: 0 5px 12px rgba(28, 46, 78, 0.08);
}

.time-block-grid button strong {
  display: inline-block;
  position: relative;
  z-index: 1;
  font-size: 11px;
  line-height: 1;
  font-weight: 950;
  transition: opacity 1000ms ease;
  will-change: opacity;
}

.time-block-grid button strong.is-name-fading {
  opacity: 0;
}

.time-block-grid button strong.is-name-entering {
  animation: timeBlockNameFadeIn 1000ms ease both;
}

.time-block-grid button span {
  position: relative;
  z-index: 1;
  color: #7d788b;
  font-size: 10px;
  line-height: 1;
  font-weight: 800;
}

.time-block-now {
  position: absolute;
  top: calc(100% + 5px);
  left: 50%;
  display: block;
  place-items: center;
  color: #6d49ff;
  font-family: inherit;
  font-size: 10px;
  line-height: 1;
  font-style: normal;
  font-weight: 800;
  white-space: nowrap;
  transform: translateX(-50%);
}

.time-block-now[hidden] {
  display: none;
}

@keyframes timeBlockNameFadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.time-block-grid button.active {
  border-color: rgba(240, 185, 24, 0.72);
  box-shadow: 0 10px 20px rgba(255, 197, 20, 0.2);
}

.time-block-grid button.is-current {
  border-color: rgba(255, 197, 20, 0.92);
  box-shadow: 0 12px 22px rgba(255, 197, 20, 0.22), inset 0 0 0 1px rgba(255, 255, 255, 0.52);
  transform: translateY(-1px);
}

.time-block-grid button.is-current i {
  color: #c88b00;
}

.time-block-grid button.is-complete:not(.is-current) {
  border-color: rgba(101, 157, 220, 0.18);
}

.sleep-settings[hidden] {
  display: none;
}

.sleep-settings {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: 24px;
}

.sleep-settings-scrim {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(21, 19, 27, 0.22);
}

.sleep-settings-panel {
  position: relative;
  z-index: 1;
  width: min(358px, calc(100vw - 48px));
  padding: 18px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 22px 60px rgba(24, 20, 38, 0.22);
}

.sleep-settings-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 15px;
}

.sleep-settings-title h3 {
  margin: 0;
  color: #17151f;
  font-size: 18px;
  line-height: 1;
  font-weight: 950;
}

.sleep-settings-title button {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 50%;
  background: #f5f4f8;
  color: #777386;
  font-family: inherit;
  font-size: 18px;
  font-weight: 800;
}

.sleep-time-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.sleep-time-fields label {
  display: grid;
  gap: 8px;
  padding: 12px;
  border-radius: 16px;
  background: #f8f7fb;
}

.sleep-time-fields span,
.sleep-reminder-row span {
  color: #777386;
  font-size: 11px;
  font-weight: 900;
}

.sleep-time-fields input {
  width: 100%;
  border: 0;
  background: transparent;
  color: #1d1a24;
  font-family: inherit;
  font-size: 18px;
  font-weight: 950;
}

.sleep-reminder-row {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: 13px;
  padding: 12px;
  border-radius: 16px;
  background: #f6f9ff;
}

.sleep-reminder-row input {
  width: 17px;
  height: 17px;
  accent-color: #6d49ff;
}

.sleep-reminder-note {
  margin: 9px 2px 13px;
  color: #8a8596;
  font-size: 11px;
  font-weight: 800;
}

.sleep-save-button {
  width: 100%;
  min-height: 42px;
  border: 0;
  border-radius: 15px;
  background: #6d49ff;
  color: #fff;
  font-family: inherit;
  font-size: 13px;
  font-weight: 950;
  box-shadow: 0 10px 22px rgba(109, 73, 255, 0.22);
}

.event-panel {
  display: grid;
  gap: 10px;
}

.schedule-event {
  display: grid;
  grid-template-columns: 66px 1fr auto;
  align-items: center;
  gap: 10px;
  min-height: 62px;
  padding: 11px 12px;
  border: 1px solid rgba(20, 20, 20, 0.05);
  border-radius: 14px;
  background: #fff;
}

.schedule-event time {
  color: #25222d;
  font-size: 15px;
  font-weight: 950;
}

.schedule-event h3 {
  margin: 0 0 5px;
  color: #17151f;
  font-size: 13px;
  line-height: 1.15;
  font-weight: 950;
}

.schedule-event p {
  margin: 0;
  color: #777386;
  font-size: 10px;
  font-weight: 800;
}

.status {
  display: inline-grid;
  place-items: center;
  min-width: 56px;
  height: 25px;
  padding: 0 9px;
  border-radius: 999px;
  font-size: 10px;
  line-height: 1;
  font-weight: 950;
  white-space: nowrap;
}

.status.running {
  background: #f0ebff;
  color: #6d49ff;
}

.status.soon {
  background: #fff5d8;
  color: #e59400;
}

.status.idle {
  background: #f3f2f7;
  color: #777386;
}

.schedule-empty {
  margin: 4px 0;
  padding: 14px;
  border-radius: 14px;
  background: #faf9fc;
  color: #8a8596;
  font-size: 12px;
  font-weight: 850;
  text-align: center;
}

.schedule-add-button {
  width: 100%;
  min-height: 42px;
  border: 1px solid rgba(20, 20, 20, 0.05);
  border-radius: 14px;
  background: #fff;
  color: #5f3eff;
  font-family: inherit;
  font-size: 13px;
  font-weight: 950;
}

.todo-panel {
  display: grid;
  gap: 0;
}

.todo-row {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  border-bottom: 1px solid rgba(20, 20, 20, 0.05);
}

.todo-row input {
  width: 14px;
  height: 14px;
  margin: 0;
  accent-color: #6d49ff;
}

.todo-row strong {
  min-width: 0;
  color: #25222d;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 950;
}

.todo-row span {
  color: #8a8596;
  font-size: 10px;
  font-weight: 850;
  white-space: nowrap;
}

.todo-panel .schedule-add-button {
  margin-top: 12px;
}

.panda-reminder-card {
  display: grid;
  grid-template-columns: 45px 1fr;
  gap: 11px;
  margin-top: 14px;
  margin-bottom: 10px;
  padding: 14px;
  border-radius: 18px;
  background: linear-gradient(135deg, #fff, #f7f3ff);
}

.panda-reminder-card img {
  width: 43px;
  height: 43px;
  border-radius: 13px;
  object-fit: cover;
  object-position: 54% 12%;
  background: #fff8df;
}

.panda-reminder-card h2 {
  margin: 0 0 6px;
  font-size: 13px;
  line-height: 1;
  font-weight: 950;
}

.panda-reminder-card p {
  margin: 0;
  color: #373342;
  font-size: 12px;
  line-height: 1.45;
  font-weight: 800;
}

.schedule-phone .bottom-nav {
  position: sticky;
  z-index: 20;
  top: auto;
  bottom: 9px;
  left: auto;
  right: auto;
  height: 62px;
  margin: 7px 21px 7px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.96);
  transform: translateY(0) scale(1);
  transform-origin: center bottom;
  transition:
    transform 520ms cubic-bezier(0.18, 0.9, 0.2, 1.12),
    opacity 320ms ease,
    filter 420ms ease;
  will-change: transform, opacity, filter;
}

.schedule-phone .bottom-nav.nav-abyss {
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(88px) scale(0.94) !important;
  filter: blur(2px) !important;
}

.schedule-phone .bottom-nav.nav-climbing {
  animation: navClimbDamped 640ms cubic-bezier(0.18, 0.9, 0.2, 1.12);
}

.shop-phone {
  overflow-y: auto;
  overflow-x: hidden;
  background:
    linear-gradient(180deg, #f1edff 0, #f7f4ff 190px, #ffffff 330px, #ffffff 100%),
    #fff;
  box-shadow: 0 20px 55px rgba(0, 0, 0, 0.12);
  scrollbar-width: none;
}

.shop-phone::-webkit-scrollbar {
  display: none;
}

.shop-status {
  position: absolute;
  top: 14px;
  left: 25px;
  right: 32px;
  width: auto;
  margin: 0;
  padding-top: 0;
  background: transparent;
}

.store-hero {
  position: relative;
  min-height: 153px;
  padding: 48px 21px 0;
  overflow: visible;
}

.store-title-row {
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  z-index: 2;
}

.store-back-button {
  display: grid;
  place-items: center;
  width: 35px;
  height: 35px;
  border: 2px solid #f6c218;
  border-radius: 50%;
  background: #fff;
  color: #111;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(45, 35, 84, 0.08);
}

.store-back-button svg {
  width: 22px;
  height: 22px;
}

.store-back-button path {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.store-title-row h1 {
  margin: 0;
  font-size: 25px;
  line-height: 1;
  font-weight: 900;
}

.mini-crown-block {
  width: 21px;
  height: 17px;
  margin-left: 3px;
  clip-path: polygon(0 100%, 13% 35%, 40% 72%, 52% 12%, 66% 72%, 91% 35%, 100% 100%);
  background: var(--yellow);
}

.store-lead {
  position: relative;
  z-index: 2;
  margin: 18px 0 8px;
  font-size: 15px;
  font-weight: 700;
  color: #20202a;
}

.store-sub {
  position: relative;
  z-index: 2;
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  color: #777386;
}

.hero-mascot-block {
  position: absolute;
  right: 19px;
  top: 35px;
  width: 160px;
  height: 142px;
  border-radius: 28px 28px 0 0;
  background:
    radial-gradient(circle at 34% 28%, #f8f8f8 0 26px, transparent 27px),
    linear-gradient(145deg, #ffe585, #ffc31b 55%, #f5a900);
  box-shadow: inset 0 -18px 0 rgba(0, 0, 0, 0.06);
}

.hero-mascot-block span {
  position: absolute;
  left: 17px;
  bottom: 15px;
  color: rgba(0, 0, 0, 0.38);
  font-size: 11px;
  font-weight: 800;
}

.float-block {
  position: absolute;
  border-radius: 16px;
  opacity: 0.82;
}

.float-block.bag {
  right: 23px;
  top: 39px;
  width: 41px;
  height: 38px;
  transform: rotate(17deg);
  background: linear-gradient(145deg, #b896ff, #7752ef);
}

.float-block.bubble {
  right: 52px;
  top: 118px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: linear-gradient(145deg, #ff8ac7, #ff55ad);
}

.float-star {
  position: absolute;
  width: 16px;
  height: 16px;
  background: #f6d483;
  clip-path: polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%);
}

.star-a {
  left: 229px;
  top: 82px;
}

.star-b {
  left: 251px;
  top: 55px;
  width: 11px;
  height: 11px;
}

.store-search {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 222px;
  height: 36px;
  margin: -28px 0 13px 21px;
  padding: 0 16px;
  border: 0;
  border-radius: 999px;
  background: #fff;
  cursor: pointer;
  font-family: inherit;
  box-shadow: 0 12px 24px rgba(93, 82, 139, 0.12);
}

.store-search:active,
.store-back-button:active {
  transform: scale(0.97);
}

.store-search span {
  color: #777386;
  font-size: 12px;
  font-weight: 700;
}

.store-search b {
  width: 14px;
  height: 14px;
  border: 2px solid #596078;
  border-radius: 50%;
}

.store-search b::after {
  content: "";
  display: block;
  width: 7px;
  height: 2px;
  margin: 9px 0 0 10px;
  border-radius: 2px;
  background: #596078;
  transform: rotate(45deg);
}

.shop-phone.search-mode {
  background:
    linear-gradient(180deg, #fff7eb 0, #fffaf3 198px, #ffffff 318px, #ffffff 100%),
    #fff;
}

.shop-phone.search-mode .store-hero {
  min-height: 153px;
}

.shop-phone.search-mode .store-search {
  margin-bottom: 17px;
  background: #111;
}

.shop-phone.search-mode .store-search span {
  color: #fff;
}

.shop-phone.search-mode .store-search b {
  border-color: #fff;
}

.shop-phone.search-mode .store-search b::after {
  background: #fff;
}

.shop-search-content {
  padding: 0 15px 90px;
}

.search-list {
  display: grid;
  gap: 9px;
}

.search-list-item {
  display: grid;
  grid-template-columns: 39px 1fr 50px;
  align-items: center;
  min-height: 63px;
  padding: 10px 13px;
  border: 1px solid rgba(96, 91, 116, 0.06);
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 9px 22px rgba(49, 41, 82, 0.055);
}

.search-list-icon {
  display: block;
  width: 27px;
  height: 27px;
  border-radius: 8px;
}

.search-list-icon.purple { background: linear-gradient(135deg, #a076ff, #6842ea); }
.search-list-icon.blue { background: linear-gradient(135deg, #88b0ff, #5879ef); }
.search-list-icon.panda { border: 3px solid #f5c21b; border-radius: 50%; background: #fff; }
.search-list-icon.pink { border-radius: 50%; background: linear-gradient(135deg, #ff94cc, #ff59ad); }
.search-list-icon.orange { background: linear-gradient(135deg, #ffbd48, #ff8a00); }
.search-list-icon.violet { background: linear-gradient(135deg, #b48cff, #7a51ee); }

.search-list-item h2 {
  margin: 0 0 5px;
  font-size: 13px;
  line-height: 1;
  font-weight: 900;
}

.search-list-item p {
  margin: 0;
  color: #777386;
  font-size: 10px;
  line-height: 1.25;
  font-weight: 650;
}

.search-list-item a {
  justify-self: end;
  color: #6842ea;
  font-size: 10px;
  font-weight: 900;
  text-decoration: none;
  white-space: nowrap;
}

.creator-card {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 116px;
  min-height: 105px;
  margin-top: 12px;
  overflow: hidden;
  border-radius: 15px;
  background:
    radial-gradient(circle at 83% 26%, rgba(135, 105, 255, 0.24) 0 32px, transparent 33px),
    linear-gradient(135deg, #fffaff, #f3efff 58%, #e7ddff);
  box-shadow: 0 10px 24px rgba(61, 45, 125, 0.09);
}

.creator-card > div:first-child {
  padding: 17px 0 15px 17px;
}

.creator-card h2 {
  margin: 0 0 8px;
  font-size: 14px;
  line-height: 1;
  font-weight: 900;
}

.creator-card p {
  width: 175px;
  margin: 0 0 13px;
  color: #777386;
  font-size: 10px;
  line-height: 1.45;
  font-weight: 650;
}

.creator-card button {
  width: 61px;
  height: 25px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #7a4dff, #6034e9);
  color: #fff;
  font-family: inherit;
  font-size: 10px;
  font-weight: 900;
}

.creator-art {
  position: relative;
}

.creator-art::before {
  content: "";
  position: absolute;
  right: 23px;
  top: 17px;
  width: 53px;
  height: 60px;
  border-radius: 13px;
  background: linear-gradient(160deg, #b9a8ff, #7a58f2);
  box-shadow: 0 13px 18px rgba(91, 68, 186, 0.2);
  transform: rotate(10deg);
}

.creator-art i {
  position: absolute;
  display: block;
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.66);
}

.creator-art i:nth-child(1) {
  right: 62px;
  top: 26px;
  width: 40px;
  height: 25px;
}

.creator-art i:nth-child(2) {
  right: 38px;
  top: 50px;
  width: 47px;
  height: 30px;
}

.creator-art i:nth-child(3) {
  right: 15px;
  top: 74px;
  width: 33px;
  height: 20px;
}

.store-tabs {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  align-items: center;
  height: 76px;
  margin: 0 15px 19px;
  padding: 9px 13px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 14px 30px rgba(45, 35, 84, 0.1);
}

.store-tabs a {
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 7px;
  color: #111;
  text-decoration: none;
}

.tab-icon {
  display: block;
  width: 25px;
  height: 25px;
  border-radius: 8px;
}

.tab-icon.purple { background: linear-gradient(135deg, #9d66ff, #5d32e8); }
.tab-icon.blue { background: linear-gradient(135deg, #7ba7ff, #5178ef); }
.tab-icon.panda { border-radius: 50%; background: #fff; border: 3px solid #f4c01b; }
.tab-icon.pink { border-radius: 50%; background: linear-gradient(135deg, #ff86ca, #ff55ad); }
.tab-icon.orange { background: linear-gradient(135deg, #ffbd48, #ff8a00); }
.tab-icon.violet { background: linear-gradient(135deg, #b48cff, #7a51ee); }

.store-tabs span {
  font-size: 12px;
  font-weight: 800;
}

.store-section {
  margin-bottom: 25px;
}

.store-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 18px 11px;
}

.store-section-head h2 {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  font-size: 17px;
  line-height: 1;
  font-weight: 900;
}

.store-section-head h2 span {
  display: block;
  width: 12px;
  height: 12px;
  background: #9e73ff;
  clip-path: polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%);
}

.store-section-head a {
  color: #6e6c80;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

.store-card-row,
.mini-card-row,
.component-row {
  display: flex;
  gap: 11px;
  overflow-x: auto;
  padding: 0 16px 7px;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.store-card-row::-webkit-scrollbar,
.mini-card-row::-webkit-scrollbar,
.component-row::-webkit-scrollbar {
  display: none;
}

.store-card {
  position: relative;
  flex: 0 0 120px;
  scroll-snap-align: start;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(35, 28, 65, 0.09);
  overflow: hidden;
}

.tall-card {
  flex-basis: 120px;
  min-height: 222px;
}

.tag {
  position: absolute;
  z-index: 2;
  top: 9px;
  left: 9px;
  padding: 4px 7px;
  border-radius: 7px;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
}

.purple-tag { background: #bd67ff; }
.blue-tag { background: #5da3ff; }
.orange-tag { background: #ff9a3a; }

.visual-block {
  display: grid;
  place-items: center;
  height: 120px;
  color: rgba(0, 0, 0, 0.42);
  font-size: 11px;
  font-weight: 800;
}

.pink-visual { background: linear-gradient(135deg, #ffd7ef, #f7eefc); }
.blue-visual { background: linear-gradient(135deg, #cce5ff, #eaf5ff); }
.cream-visual { background: linear-gradient(135deg, #fff3db, #ffe7ba); }

.store-card h3,
.mini-store-card h3,
.component-card h3 {
  margin: 12px 10px 6px;
  font-size: 13px;
  line-height: 1.15;
  font-weight: 900;
}

.store-card p,
.mini-store-card p,
.component-card p {
  margin: 0 10px 10px;
  color: #777386;
  font-size: 10px;
  line-height: 1.35;
  font-weight: 600;
}

.meta-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 10px 10px;
  gap: 5px;
  color: #777386;
  font-size: 10px;
}

.meta-line b,
.mini-store-card b {
  padding: 3px 5px;
  border-radius: 6px;
  background: #fff1d2;
  color: #d88a00;
  font-size: 9px;
}

.store-card button {
  width: calc(100% - 20px);
  height: 28px;
  margin: 0 10px 12px;
  border: 0;
  border-radius: 8px;
  background: linear-gradient(135deg, #7a4dff, #6034e9);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
}

.blue-card button,
.cream-card button {
  background: #f0edff;
  color: #6443e9;
}

.mini-store-card {
  flex: 0 0 87px;
  min-height: 145px;
  scroll-snap-align: start;
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(35, 28, 65, 0.07);
  overflow: hidden;
}

.mini-visual {
  height: 68px;
  margin: 0;
}

.yellow-box { background: linear-gradient(135deg, #fff1d1, #ffe5a7); }
.gray-box { background: linear-gradient(135deg, #f2f3f8, #e8e8f2); }
.warm-box { background: linear-gradient(135deg, #f8f3ef, #f1edf4); }
.cyan-box { background: linear-gradient(135deg, #e0fbff, #efffff); }

.mini-store-card h3 {
  margin-top: 9px;
  font-size: 11px;
}

.mini-store-card p {
  margin-bottom: 7px;
  font-size: 9px;
}

.mini-store-card b {
  display: inline-block;
  margin-left: 10px;
}

.mini-store-card .pink-label {
  background: #ffe8f3;
  color: #ff4da6;
}

.mini-store-card span {
  display: block;
  margin: 6px 10px 0;
  color: #777386;
  font-size: 10px;
  font-weight: 700;
}

.component-row {
  padding-bottom: 85px;
}

.component-card {
  position: relative;
  flex: 0 0 88px;
  min-height: 118px;
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(35, 28, 65, 0.07);
}

.component-visual {
  height: 52px;
  border-radius: 11px 11px 8px 8px;
}

.pale-purple { background: #f2eaff; }
.purple-panel { background: linear-gradient(135deg, #8e6dff, #674ae8); }
.mint-panel { background: #e8f8ef; }
.violet-panel { background: linear-gradient(135deg, #a87eff, #7c51e8); }

.component-card h3 {
  margin-top: 8px;
  font-size: 10px;
}

.component-card p {
  font-size: 8px;
  margin-bottom: 0;
}

.component-card button {
  position: absolute;
  right: 8px;
  bottom: 9px;
  border: 0;
  border-radius: 7px;
  padding: 3px 6px;
  background: #f1edff;
  color: #734ff1;
  font-size: 9px;
  font-weight: 800;
}

.shop-bottom-nav {
  position: sticky;
  z-index: 20;
  bottom: 10px;
  left: 16px;
  right: 16px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  align-items: center;
  height: 62px;
  margin: 0 16px 10px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 -8px 28px rgba(35, 28, 65, 0.1);
}

.shop-bottom-nav a {
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 5px;
  text-decoration: none;
  color: #66677d;
  font-size: 11px;
  font-weight: 800;
}

.shop-bottom-nav i {
  width: 19px;
  height: 19px;
  border-radius: 6px;
  border: 2px solid currentColor;
}

.shop-bottom-nav .active {
  color: #714cf0;
}

.shop-bottom-nav .active i {
  background: currentColor;
  border-color: currentColor;
}

.shop-bottom-nav .panda-tab b {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  margin-top: -27px;
  border-radius: 50%;
  border: 2px solid #f6c218;
  background: #fff;
  color: #111;
  font-size: 11px;
}

/* Panda Store v2: independent secondary world, config-driven content system. */
.shop-phone {
  position: relative;
  overflow-y: auto;
  overflow-x: hidden;
  padding-bottom: 24px;
  background:
    radial-gradient(circle at 82% 8%, rgba(255, 199, 43, 0.2), transparent 26%),
    radial-gradient(circle at 8% 30%, rgba(123, 97, 255, 0.13), transparent 28%),
    linear-gradient(180deg, #fffaf0 0, #fbfbff 310px, #ffffff 620px);
  box-shadow: 0 20px 55px rgba(0, 0, 0, 0.12);
  scrollbar-width: none;
}

.shop-phone::-webkit-scrollbar {
  display: none;
}

.shop-status {
  position: sticky;
  top: 0;
  z-index: 40;
  width: auto;
  margin: 0;
  padding: 17px 28px 5px;
  background: linear-gradient(180deg, rgba(255, 250, 240, 0.96), rgba(255, 250, 240, 0.72), transparent);
}

.store-appbar {
  position: sticky;
  top: 98px;
  z-index: 35;
  display: grid;
  grid-template-columns: 38px 1fr auto;
  align-items: center;
  gap: 10px;
  min-height: 54px;
  margin: 58px 18px 12px;
  padding: 7px 8px 7px 6px;
  border: 1px solid rgba(36, 35, 48, 0.06);
  border-radius: 19px;
  background: rgba(255, 255, 255, 0.78);
  backdrop-filter: blur(18px);
  box-shadow: 0 14px 30px rgba(47, 40, 83, 0.08);
}

.store-appbar > div {
  min-width: 0;
}

.store-appbar span {
  display: block;
  margin-bottom: 3px;
  color: #8b8798;
  font-size: 10px;
  font-weight: 800;
}

.store-appbar strong {
  display: block;
  overflow: hidden;
  color: #17151f;
  font-size: 16px;
  font-weight: 950;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.store-back-button {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: #111;
  text-decoration: none;
  box-shadow: 0 8px 18px rgba(45, 35, 84, 0.1);
}

.store-back-button svg {
  width: 22px;
  height: 22px;
}

.store-back-button path {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.store-edit-hint {
  width: 48px;
  height: 30px;
  border: 0;
  border-radius: 999px;
  background: #17151f;
  color: #fff;
  font-family: inherit;
  font-size: 11px;
  font-weight: 900;
}

.store-home-view,
.store-detail-view {
  padding: 0 18px;
}

.store-world-hero {
  position: relative;
  min-height: 222px;
  margin: 0 0 12px;
  padding: 23px 20px;
  overflow: hidden;
  border: 1px solid rgba(255, 192, 18, 0.2);
  border-radius: 26px;
  background:
    radial-gradient(circle at 71% 24%, rgba(255, 196, 0, 0.26) 0 42px, transparent 43px),
    linear-gradient(135deg, #fff8e9 0%, #fff 48%, #f4efff 100%);
  box-shadow: 0 18px 34px rgba(60, 48, 86, 0.09);
}

.store-hero-copy {
  position: relative;
  z-index: 2;
  width: 58%;
}

.store-hero-copy > span {
  display: inline-flex;
  margin-bottom: 12px;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(123, 97, 255, 0.1);
  color: #6543e9;
  font-size: 10px;
  font-weight: 900;
}

.store-hero-copy h1 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  color: #111;
  font-size: 31px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: 0;
}

.store-hero-copy h1 i {
  width: 23px;
  height: 18px;
  clip-path: polygon(0 100%, 12% 35%, 39% 72%, 52% 9%, 66% 72%, 90% 35%, 100% 100%);
  background: #ffc400;
}

.store-hero-copy p {
  margin: 0 0 8px;
  color: #282432;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 850;
}

.store-hero-copy small {
  display: block;
  color: #777386;
  font-size: 12px;
  line-height: 1.45;
  font-weight: 700;
}

.store-hero-art {
  position: absolute;
  right: -11px;
  bottom: -13px;
  width: 195px;
  height: 191px;
}

.store-hero-art img {
  position: absolute;
  z-index: 2;
  right: 22px;
  bottom: 3px;
  width: 150px;
  filter: drop-shadow(0 18px 20px rgba(29, 22, 46, 0.16));
}

.store-hero-art b {
  position: absolute;
  right: 27px;
  bottom: 2px;
  width: 126px;
  height: 42px;
  border-radius: 50%;
  background: rgba(36, 28, 61, 0.12);
  filter: blur(8px);
}

.store-hero-art i {
  position: absolute;
  right: 16px;
  top: 22px;
  width: 42px;
  height: 42px;
  border-radius: 13px;
  background: linear-gradient(135deg, #b493ff, #7b61ff);
  transform: rotate(17deg);
  box-shadow: 0 13px 24px rgba(123, 97, 255, 0.22);
}

.store-search-form {
  display: grid;
  grid-template-columns: 24px 1fr 58px;
  align-items: center;
  gap: 10px;
  height: 51px;
  margin-bottom: 13px;
  padding: 0 8px 0 16px;
  border: 1px solid rgba(44, 39, 62, 0.07);
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 14px 28px rgba(48, 38, 77, 0.1);
}

.store-search-form svg {
  width: 20px;
  height: 20px;
  color: #5c6075;
}

.store-search-form svg * {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.store-search-form input {
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #17151f;
  font-family: inherit;
  font-size: 13px;
  font-weight: 750;
}

.store-search-form input::placeholder {
  color: #a5a2b2;
}

.store-search-form button,
.store-section-head button {
  height: 34px;
  border: 0;
  border-radius: 999px;
  background: #f3efff;
  color: #6543e9;
  font-family: inherit;
  font-size: 12px;
  font-weight: 900;
}

.store-category-dock {
  display: flex;
  gap: 9px;
  margin-bottom: 21px;
  overflow-x: auto;
  padding: 2px 0 7px;
  scrollbar-width: none;
}

.store-category-dock::-webkit-scrollbar {
  display: none;
}

.store-category {
  flex: 0 0 auto;
  display: grid;
  justify-items: center;
  gap: 7px;
  width: 66px;
  min-height: 72px;
  border: 1px solid rgba(58, 52, 79, 0.06);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.82);
  color: #262333;
  font-family: inherit;
  font-size: 11px;
  font-weight: 900;
  box-shadow: 0 10px 22px rgba(42, 34, 70, 0.07);
}

.store-category[aria-pressed="true"] {
  background: #17151f;
  color: #fff;
  transform: translateY(-1px);
}

.store-category svg {
  width: 25px;
  height: 25px;
  color: currentColor;
}

.store-category svg * {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.store-category.cream svg * {
  fill: rgba(255, 196, 0, 0.2);
}

.store-search-panel {
  margin-bottom: 20px;
  padding: 14px 0 4px;
  border-top: 1px solid rgba(38, 33, 57, 0.08);
  border-bottom: 1px solid rgba(38, 33, 57, 0.08);
}

.store-section {
  margin-bottom: 24px;
}

.store-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 3px 12px;
}

.store-section-head h2 {
  margin: 0;
  color: #181620;
  font-size: 18px;
  line-height: 1;
  font-weight: 950;
}

.store-section-head span {
  color: #8d899a;
  font-size: 11px;
  font-weight: 850;
}

.store-card-row {
  display: flex;
  gap: 13px;
  overflow-x: auto;
  padding: 0 0 8px;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.store-card-row::-webkit-scrollbar,
.store-card-grid::-webkit-scrollbar {
  display: none;
}

.store-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.store-item-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(46, 41, 64, 0.06);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 13px 28px rgba(44, 36, 74, 0.08);
  cursor: pointer;
}

.store-item-card:focus-visible {
  outline: 3px solid rgba(123, 97, 255, 0.34);
  outline-offset: 2px;
}

.store-item-card.feature {
  flex: 0 0 165px;
  min-height: 269px;
  scroll-snap-align: start;
}

.store-item-card.compact {
  min-height: 218px;
}

.store-item-visual {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 103px;
  overflow: hidden;
  background:
    radial-gradient(circle at 74% 22%, rgba(255, 255, 255, 0.7), transparent 28%),
    linear-gradient(135deg, #fff4d8, #f1ecff);
}

.store-item-visual.large {
  min-height: 136px;
}

.store-item-visual.detail {
  width: 125px;
  min-height: 125px;
  border-radius: 24px;
  flex: 0 0 125px;
}

.store-item-visual img {
  width: 93px;
  max-height: 108px;
  object-fit: contain;
  filter: drop-shadow(0 11px 12px rgba(24, 18, 43, 0.16));
}

.store-item-visual.large img {
  width: 116px;
}

.store-item-visual.detail img {
  width: 104px;
}

.store-item-visual i {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: inset 0 -8px 0 rgba(0, 0, 0, 0.04), 0 11px 19px rgba(40, 34, 66, 0.12);
}

.store-item-visual.makeup i {
  width: 76px;
  height: 76px;
  border-radius: 24px;
  background:
    radial-gradient(circle at 35% 38%, #ff86b7 0 12px, transparent 13px),
    radial-gradient(circle at 62% 41%, #ffc15d 0 11px, transparent 12px),
    linear-gradient(135deg, #fff, #ffe2ef);
}

.store-item-visual.widget i,
.store-item-visual.todo i,
.store-item-visual.schedule i,
.store-item-visual.timeline i {
  width: 84px;
  height: 61px;
  border-radius: 16px;
  background:
    linear-gradient(90deg, #7b61ff 0 6px, transparent 6px 100%),
    repeating-linear-gradient(180deg, rgba(255, 255, 255, 0.82) 0 9px, rgba(255, 255, 255, 0.32) 9px 17px),
    linear-gradient(135deg, #1b354c, #284f6d);
}

.store-item-visual.scooter i,
.store-item-visual.camera i,
.store-item-visual.car i,
.store-item-visual.badge i,
.store-item-visual.nfc i,
.store-item-visual.sticker i {
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 39%, #111 0 11px, transparent 12px),
    radial-gradient(circle at 34% 34%, #fff 0 5px, transparent 6px),
    linear-gradient(135deg, #ffc400, #ff9c1a);
}

.store-item-visual.theme i,
.store-item-visual.theme-light i,
.store-item-visual.theme-neo i {
  width: 80px;
  height: 72px;
  border-radius: 18px;
  background:
    linear-gradient(90deg, #ffc400 0 20%, #ff8fbf 20% 40%, #8ec5ff 40% 60%, #7b61ff 60% 80%, #17151f 80% 100%);
}

.store-item-visual.rose { background: linear-gradient(135deg, #ffe5ef, #f5edff); }
.store-item-visual.blue { background: linear-gradient(135deg, #dff1ff, #eef5ff); }
.store-item-visual.cream { background: linear-gradient(135deg, #fff2d8, #fff8ef); }
.store-item-visual.purple { background: linear-gradient(135deg, #eee8ff, #d9ccff); }
.store-item-visual.violet { background: linear-gradient(135deg, #ede8ff, #f9f5ff); }
.store-item-visual.gold { background: linear-gradient(135deg, #fff0c6, #fff8df); }
.store-item-visual.gray { background: linear-gradient(135deg, #f1f2f6, #ffffff); }
.store-item-visual.warm { background: linear-gradient(135deg, #fff0dd, #fff7f0); }
.store-item-visual.cyan { background: linear-gradient(135deg, #e3fbff, #f6ffff); }
.store-item-visual.orange { background: linear-gradient(135deg, #ffe8bf, #fff7e9); }
.store-item-visual.pink { background: linear-gradient(135deg, #ffe0ef, #fff5fb); }
.store-item-visual.star { background: linear-gradient(135deg, #ece5ff, #dff7ff); }
.store-item-visual.campus { background: linear-gradient(135deg, #e9f2ff, #fff); }

.store-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 12px 12px 13px;
}

.store-label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 9px;
}

.store-pill {
  display: inline-flex;
  max-width: 100%;
  padding: 4px 7px;
  border-radius: 8px;
  background: #f3efff;
  color: #6543e9;
  font-size: 9px;
  line-height: 1;
  font-weight: 900;
  white-space: nowrap;
}

.store-pill.rose,
.store-pill.pink {
  background: #ffe8f3;
  color: #e64096;
}

.store-pill.blue,
.store-pill.cyan {
  background: #e7f2ff;
  color: #2e74d2;
}

.store-pill.gold,
.store-pill.orange,
.store-pill.cream {
  background: #fff0cc;
  color: #c98000;
}

.store-price {
  color: #17151f;
  font-size: 12px;
  font-weight: 950;
  white-space: nowrap;
}

.store-item-card h3 {
  margin: 0 0 7px;
  color: #181620;
  font-size: 15px;
  line-height: 1.16;
  font-weight: 950;
  letter-spacing: 0;
}

.store-item-card p {
  min-height: 33px;
  margin: 0 0 10px;
  color: #777386;
  font-size: 11px;
  line-height: 1.45;
  font-weight: 700;
}

.store-meta-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
  margin-top: auto;
  color: #8c899a;
  font-size: 10px;
  font-weight: 800;
}

.store-card-action {
  width: 100%;
  height: 31px;
  margin-top: 11px;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(135deg, #7b61ff, #6136ea);
  color: #fff;
  font-family: inherit;
  font-size: 11px;
  font-weight: 950;
}

.store-creator-band {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 132px;
  min-height: 135px;
  margin: 2px 0 5px;
  overflow: hidden;
  border-radius: 24px;
  background:
    radial-gradient(circle at 79% 24%, rgba(123, 97, 255, 0.25) 0 44px, transparent 45px),
    linear-gradient(135deg, #f4efff, #fff 58%, #fff6df);
  box-shadow: 0 14px 28px rgba(46, 38, 76, 0.08);
}

.store-creator-copy {
  padding: 21px 0 19px 19px;
}

.store-creator-copy span {
  color: #6543e9;
  font-size: 10px;
  font-weight: 900;
}

.store-creator-copy h2 {
  margin: 8px 0;
  color: #17151f;
  font-size: 18px;
  line-height: 1.1;
  font-weight: 950;
}

.store-creator-copy p {
  margin: 0 0 14px;
  color: #777386;
  font-size: 11px;
  line-height: 1.45;
  font-weight: 700;
}

.store-creator-copy button,
.store-create-card button {
  height: 30px;
  border: 0;
  border-radius: 999px;
  background: #17151f;
  color: #fff;
  font-family: inherit;
  font-size: 11px;
  font-weight: 900;
  padding: 0 14px;
}

.store-creator-art {
  position: relative;
}

.store-creator-art::before {
  content: "";
  position: absolute;
  right: 25px;
  bottom: 17px;
  width: 72px;
  height: 83px;
  border-radius: 22px;
  background:
    radial-gradient(circle at 50% 31%, #111 0 15px, transparent 16px),
    linear-gradient(135deg, #fff, #f2ecff);
  box-shadow: 0 18px 26px rgba(73, 58, 123, 0.18);
}

.store-creator-art i {
  position: absolute;
  display: block;
  border-radius: 14px;
  background: rgba(123, 97, 255, 0.13);
}

.store-creator-art i:nth-child(1) {
  right: 88px;
  top: 25px;
  width: 35px;
  height: 35px;
}

.store-creator-art i:nth-child(2) {
  right: 17px;
  top: 19px;
  width: 29px;
  height: 29px;
  background: rgba(255, 196, 0, 0.23);
}

.store-creator-art i:nth-child(3) {
  right: 13px;
  bottom: 21px;
  width: 48px;
  height: 24px;
  background: rgba(255, 143, 191, 0.18);
}

.store-detail-view {
  padding-bottom: 18px;
}

.store-detail-hero {
  display: flex;
  gap: 15px;
  align-items: flex-start;
  margin-bottom: 21px;
  padding: 18px;
  border: 1px solid rgba(41, 36, 59, 0.07);
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 18px 36px rgba(45, 36, 78, 0.1);
}

.store-detail-copy {
  min-width: 0;
  flex: 1;
}

.store-detail-labels {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 10px;
}

.store-detail-copy h1 {
  margin: 0 0 9px;
  color: #17151f;
  font-size: 23px;
  line-height: 1.08;
  font-weight: 950;
  letter-spacing: 0;
}

.store-detail-copy p {
  margin: 0 0 11px;
  color: #777386;
  font-size: 12px;
  line-height: 1.5;
  font-weight: 700;
}

.store-detail-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-bottom: 14px;
  color: #6d687b;
  font-size: 11px;
  font-weight: 850;
}

.store-detail-actions {
  display: grid;
  grid-template-columns: 1fr 84px;
  gap: 9px;
}

.store-detail-actions button {
  height: 38px;
  border: 0;
  border-radius: 999px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 950;
}

.store-detail-actions .primary {
  background: linear-gradient(135deg, #7b61ff, #6136ea);
  color: #fff;
}

.store-detail-actions .secondary {
  background: #f3f1f8;
  color: #17151f;
}

.store-detail-block {
  margin-bottom: 17px;
  padding: 18px;
  border: 1px solid rgba(39, 35, 56, 0.07);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.93);
  box-shadow: 0 12px 28px rgba(45, 38, 76, 0.07);
}

.store-detail-block h2,
.store-detail-block-head h2 {
  margin: 0;
  color: #17151f;
  font-size: 17px;
  line-height: 1;
  font-weight: 950;
}

.store-detail-block-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}

.store-detail-block-head span {
  color: #8d899a;
  font-size: 11px;
  font-weight: 850;
}

.store-detail-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.store-detail-list span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 8px 10px;
  border-radius: 999px;
  background: #f6f4fb;
  color: #302c3f;
  font-size: 11px;
  font-weight: 850;
}

.store-detail-list.timeline {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.store-detail-list.timeline span {
  border-radius: 14px;
  background: #f3efff;
}

.store-detail-list b {
  display: grid;
  place-items: center;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background: #7b61ff;
  color: #fff;
  font-size: 10px;
  font-weight: 900;
}

.store-flow-preview {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.store-flow-preview p {
  width: fit-content;
  max-width: 88%;
  margin: 0;
  padding: 10px 12px;
  border-radius: 16px;
  color: #292536;
  font-size: 12px;
  line-height: 1.45;
  font-weight: 750;
}

.store-flow-preview .user {
  justify-self: end;
  background: #efe7ff;
}

.store-flow-preview .panda {
  justify-self: start;
  background: #fff5df;
}

.store-preview-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.store-preview-cards span {
  padding: 10px;
  border-radius: 14px;
  background: #fff;
  color: #5d596b;
  font-size: 11px;
  font-weight: 800;
  box-shadow: inset 0 0 0 1px rgba(39, 35, 57, 0.07);
}

.store-detail-block.info p {
  margin: 12px 0 0;
  color: #777386;
  font-size: 12px;
  line-height: 1.5;
  font-weight: 700;
}

.store-create-card {
  padding: 15px;
  border-radius: 18px;
  background: #f9f7ff;
}

.store-create-card h3 {
  margin: 0 0 8px;
  color: #17151f;
  font-size: 14px;
  font-weight: 950;
}

.store-create-card p {
  min-height: 40px;
  margin: 0 0 12px;
  color: #777386;
  font-size: 11px;
  line-height: 1.4;
  font-weight: 700;
}

.store-empty-state {
  grid-column: 1 / -1;
  margin: 0;
  padding: 20px;
  border-radius: 18px;
  background: #fff;
  color: #777386;
  font-size: 13px;
  font-weight: 800;
}

.shop-bottom-nav {
  display: none;
}

@media (max-width: 430px) {
  .store-hero-copy {
    width: 60%;
  }

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

  .store-hero-art {
    right: -24px;
  }

  .store-detail-hero {
    flex-direction: column;
  }

  .store-item-visual.detail {
    width: 100%;
  }
}

/* V2 discover — calm, compact and content-first. */
body.panda-app .discover-v2-intro {
  position: relative;
  margin: 14px 18px 10px;
  padding: 4px 0 10px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  overflow: visible;
}

body.panda-app .discover-v2-intro > header {
  display: block;
}

body.panda-app .discover-v2-intro > header > div {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  column-gap: 9px;
}

body.panda-app .discover-v2-intro > header h1 {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  color: #17141d;
  font-size: 25px;
  font-weight: 950;
  line-height: 1;
  letter-spacing: -0.04em;
}

body.panda-app .discover-v2-intro > header small {
  grid-column: 2;
  grid-row: 1;
  display: inline-flex;
  width: max-content;
  align-items: center;
  gap: 5px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #f7f4fa;
  color: #837d8b;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: 0;
}

body.panda-app .discover-v2-intro > header p {
  grid-column: 1 / -1;
  grid-row: 2;
  margin: 7px 0 0;
  color: #817b89;
  font-size: 10px;
  font-weight: 700;
}

body.panda-app .discover-v2-live,
body.panda-app .discover-v2-feed-tabs,
body.panda-app .discover-v2-categories {
  display: none !important;
}

body.panda-app .discover-v2-search {
  grid-template-columns: 18px minmax(0, 1fr) 32px;
  gap: 8px;
  min-height: 46px;
  margin-top: 12px;
  padding: 5px 6px 5px 13px;
  border: 1px solid rgba(41, 35, 52, 0.06);
  border-radius: 17px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 10px 28px rgba(44, 34, 58, 0.055);
}

body.panda-app .discover-v2-search svg { width: 17px; height: 17px; }
body.panda-app .discover-v2-search input { font-size: 11px; font-weight: 720; }
body.panda-app .discover-v2-search button {
  width: 32px;
  height: 32px;
  border-radius: 12px;
  font-size: 21px;
  box-shadow: none;
}

body.panda-app .discover-v2-controls {
  position: relative;
  z-index: 25;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  margin-top: 9px;
  overflow: visible;
}

body.panda-app .discover-v2-filter { position: relative; min-width: 0; }

body.panda-app .discover-v2-filter-toggle {
  display: flex;
  width: 100%;
  min-width: 0;
  min-height: 31px;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 0 6px;
  border: 1px solid rgba(38, 32, 48, 0.055);
  border-radius: 999px;
  background: rgba(248, 246, 251, 0.92);
  color: #6f6977;
  font-family: inherit;
  font-size: 9px;
  font-weight: 850;
  cursor: pointer;
}

body.panda-app .discover-v2-filter-toggle span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.panda-app .discover-v2-filter-toggle i {
  color: #aaa4b1;
  font-size: 10px;
  font-style: normal;
}

body.panda-app .discover-v2-filter.is-open .discover-v2-filter-toggle {
  border-color: rgba(236, 178, 32, 0.32);
  background: #fff7dc;
  color: #9b7011;
}

body.panda-app .discover-v2-filter-menu {
  position: absolute;
  top: calc(100% + 7px);
  left: 0;
  z-index: 50;
  display: grid;
  width: 132px;
  padding: 6px;
  border: 1px solid rgba(41, 34, 51, 0.07);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 18px 44px rgba(43, 33, 56, 0.16);
  backdrop-filter: blur(18px);
}

body.panda-app .discover-v2-filter:nth-child(n + 3) .discover-v2-filter-menu {
  right: 0;
  left: auto;
}

body.panda-app .discover-v2-filter-menu[hidden] { display: none !important; }

body.panda-app .discover-v2-filter-menu button {
  min-height: 34px;
  padding: 0 11px;
  border: 0;
  border-radius: 11px;
  background: transparent;
  color: #716b78;
  font-family: inherit;
  font-size: 10px;
  font-weight: 780;
  text-align: left;
  cursor: pointer;
}

body.panda-app .discover-v2-filter-menu button.is-active {
  background: #fff4cd;
  color: #9d7110;
}

body.panda-app .home-phone .home-unified-stream { margin: 0 18px 34px; }
body.panda-app .home-unified-stream-title { align-items: center; margin: 0 1px 9px; }
body.panda-app .home-unified-stream-title small { display: none; }
body.panda-app .home-unified-stream-title h2 { font-size: 17px; letter-spacing: -0.025em; }
body.panda-app .home-unified-stream-title a { font-size: 9px; }
body.panda-app .home-feed-ad-card { min-height: 198px; }

/* Final V2 system overrides — keep this block last. */
body.panda-app .discover-v2-intro {
  position: relative;
  z-index: 60;
  margin: 0 var(--pc-inset) 10px;
  padding: 76px 0 10px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}
body.panda-app .discover-v2-intro > .discover-v2-hero {
  position: relative;
  display: flex;
  min-height: 116px;
  align-items: center;
  overflow: hidden;
}
body.panda-app .discover-v2-intro .discover-v2-hero-copy {
  position: relative;
  z-index: 2;
  display: block;
  width: 66%;
  padding: 5px 0 9px 2px;
}
body.panda-app .discover-v2-intro .discover-v2-hero-copy > small {
  display: inline-flex;
  width: max-content;
  margin: 0 0 8px;
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--pc-control);
  color: var(--pc-secondary);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: 0;
}
body.panda-app .discover-v2-intro .discover-v2-greeting { display: flex; align-items: center; gap: 6px; }
body.panda-app .discover-v2-intro .discover-v2-greeting h1 {
  margin: 0;
  color: var(--pc-text);
  font-size: 25px;
  font-weight: 950;
  line-height: 1;
  letter-spacing: -0.045em;
}
body.panda-app .discover-v2-intro .discover-v2-greeting span { font-size: 19px; }
body.panda-app .discover-v2-intro .discover-v2-hero-copy > p {
  margin: 8px 0 0;
  color: #302a38;
  font-size: 11px;
  font-weight: 850;
}
body.panda-app .discover-v2-intro .discover-v2-guide {
  position: relative;
  z-index: 1;
  display: inline-block;
  margin-top: 8px;
  padding: 0 3px 3px;
  border: 0;
  background: transparent;
  color: #cf9410;
  font-family: inherit;
  font-size: 10px;
  font-weight: 900;
}
body.panda-app .discover-v2-intro .discover-v2-hero > img {
  position: absolute;
  right: -5px;
  bottom: -8px;
  width: 132px;
  height: 126px;
  object-fit: contain;
  object-position: center bottom;
  filter: drop-shadow(0 12px 16px rgba(54, 42, 66, 0.1));
}

body.panda-app .pc-page-heading { margin: 0 var(--pc-inset) var(--pc-space-3); padding-top: 82px; }
body.panda-app .conversations-search-row { gap: 8px; margin: 0 var(--pc-inset) var(--pc-space-3); }
body.panda-app .conversations-search,
body.panda-app .conversations-filter-toggle {
  min-height: 46px;
  border: 1px solid var(--pc-line);
  border-radius: var(--pc-radius-control);
  background: var(--pc-surface);
  box-shadow: var(--pc-shadow-control);
}
body.panda-app .conversations-filter-toggle { width: 46px; height: 46px; }

body.panda-app .schedule-v2-tabs,
body.panda-app .entity-tabs {
  display: grid;
  min-height: 48px;
  padding: 4px;
  border: 1px solid var(--pc-line);
  border-radius: 18px;
  background: var(--pc-control);
  box-shadow: none;
}
body.panda-app .schedule-v2-tabs { grid-template-columns: repeat(3, 1fr); margin: 0 var(--pc-inset) var(--pc-space-3); }
body.panda-app .entity-tabs { grid-template-columns: repeat(2, 1fr); }
body.panda-app .schedule-v2-tabs button,
body.panda-app .entity-tabs button {
  min-height: 38px;
  border: 0;
  border-radius: 14px;
  background: transparent;
  color: var(--pc-secondary);
  box-shadow: none;
}
body.panda-app .schedule-v2-tabs button.is-active,
body.panda-app .entity-tabs button.active {
  background: #fff;
  color: var(--pc-text);
  box-shadow: 0 5px 14px rgba(44, 35, 57, 0.07);
}

body.panda-app .conversation-row,
body.panda-app .panda-v2-command,
body.panda-app .create-action-templates,
body.panda-app .panda-v2-summary,
body.panda-app .now-v2-action-card,
body.panda-app .schedule-week-card,
body.panda-app .schedule-todo-board,
body.panda-app .entity-profile-bubble,
body.panda-app .entity-widget {
  border: 1px solid var(--pc-line);
  border-radius: var(--pc-radius-card);
  background-color: var(--pc-surface);
  box-shadow: var(--pc-shadow-card);
}
body.panda-app .conversation-list { gap: var(--pc-space-2); margin-inline: var(--pc-inset); }
body.panda-app .conversation-row { min-height: 88px; padding: 12px; }
body.panda-app .panda-v2-summary { gap: 4px; margin-inline: var(--pc-inset); padding: 5px; }
body.panda-app .panda-v2-summary > button { border-radius: 16px; }
body.panda-app .panda-v2-summary > button.is-active { background: var(--pc-yellow-soft); box-shadow: none; }
body.panda-app .schedule-v2-context {
  margin: 0 var(--pc-inset) var(--pc-space-3);
  padding: 82px 0 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.panda-app .entity-tabs-shell { margin: var(--pc-space-3) var(--pc-inset); }
body.panda-app .entity-profile-bubble { margin-inline: var(--pc-inset); }
body.panda-app .entity-panel { gap: var(--pc-space-2); margin-inline: var(--pc-inset); }

/* Public account pages reuse the same profile system as personal accounts.
   These final overrides retire the earlier Agent-only shell without changing
   its chat or service behavior. */
body.panda-app .panda-app-stage.is-subject-profile-shell .app-shell-top {
  display: grid !important;
}
body.panda-app .subject-profile-phone {
  padding: 0 0 calc(106px + env(safe-area-inset-bottom, 0px));
  background:
    radial-gradient(circle at 72% 9%, rgba(255, 198, 25, .1), transparent 24%),
    linear-gradient(180deg, #fff9fb 0, #fff 42%, #fbfbfd 100%);
}
body.panda-app .subject-profile-phone [data-subject-profile-signature] {
  grid-column: 1 / -1;
  margin-top: 4px;
  color: #8b8798;
  font-size: 9.5px;
  line-height: 1.45;
  font-weight: 700;
}
body.panda-app .subject-profile-phone .entity-identity-proof.is-pending {
  background: #fff5db;
  color: #a56d00;
  box-shadow: inset 0 0 0 1px rgba(199, 142, 20, .12);
}
body.panda-app .subject-profile-phone .entity-identity-proof.is-pending i {
  background: #f4b62f;
  color: #fff;
}
body.panda-app .subject-profile-phone .entity-actions .primary small {
  color: #fff3f7;
}
body.panda-app .subject-profile-phone [data-subject-profile-widgets] .entity-widget {
  grid-column: 1 / -1;
  min-height: 0;
}
body.panda-app .subject-profile-phone [data-subject-profile-widgets] .subject-profile-service-widget {
  --widget-height: 218px;
}
body.panda-app .subject-profile-phone [data-subject-profile-widgets] .subject-profile-responsibility,
body.panda-app .subject-profile-phone [data-subject-profile-widgets] .entity-widget.relations {
  --widget-height: 142px;
}
body.panda-app .subject-profile-phone .subject-profile-responsibility {
  --widget-accent: #079554;
  --widget-wash: rgba(7, 149, 84, .12);
}
body.panda-app .subject-profile-phone .subject-profile-responsibility .widget-head h2::before {
  content: "✓";
}
body.panda-app .subject-profile-phone[data-profile-account="agent:pepperlab"] .subject-widget-service-main img,
body.panda-app .subject-profile-phone[data-profile-account="agent:pepperlab"] .subject-widget-feature img {
  padding: 0;
  object-fit: cover;
  object-position: left center;
}
body.panda-app .panda-responsible-party[data-subject-profile="agent:pepperlab"] {
  min-height: 78px;
}
body.panda-app .panda-responsible-party[data-subject-profile="agent:pepperlab"] small {
  color: #07844c;
}
body.panda-app .panda-responsible-party[data-subject-profile="agent:pepperlab"] em {
  display: -webkit-box;
  overflow: hidden;
  white-space: normal;
  text-overflow: clip;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

/* Unified public account profile: people, organisations, places and Agents use
   the same profile surface. Account type changes data, never page structure. */
body.panda-app .panda-app-stage.is-subject-profile-shell .app-shell-top {
  display: grid !important;
}
body.panda-app .subject-profile-phone {
  padding: 0 0 calc(106px + env(safe-area-inset-bottom, 0px));
  background:
    radial-gradient(circle at 72% 9%, rgba(255, 198, 25, .12), transparent 24%),
    linear-gradient(180deg, #fff9fb 0, #fff 42%, #fbfbfd 100%);
}
body.panda-app .subject-profile-phone .subject-profile-cover-surface {
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 88% 12%, rgba(255,255,255,.58), transparent 26%),
    linear-gradient(135deg, #eaf8f0, #f5fbf7 53%, #dff1e7);
}
body.panda-app .subject-profile-phone[data-subject-tone="person"] .subject-profile-cover-surface {
  background: linear-gradient(135deg, #f7bed0, #f9d9b6 48%, #b6d3ff);
}
body.panda-app .subject-profile-phone[data-subject-tone="organization"] .subject-profile-cover-surface,
body.panda-app .subject-profile-phone[data-subject-tone="store"] .subject-profile-cover-surface {
  background: linear-gradient(135deg, #fff0bb, #fff8df 52%, #e7dcff);
}
body.panda-app .subject-profile-phone[data-subject-tone="place"] .subject-profile-cover-surface,
body.panda-app .subject-profile-phone[data-subject-tone="circle"] .subject-profile-cover-surface {
  background: linear-gradient(135deg, #d9f4ea, #edf9f4 48%, #dbeaff);
}
body.panda-app .subject-profile-cover-brand {
  display: block;
  width: min(62%, 230px);
  max-height: 92px;
  object-fit: contain;
  filter: drop-shadow(0 12px 22px rgba(40,54,46,.12));
}
body.panda-app .subject-profile-phone:not([data-subject-tone="agent"]) .subject-profile-cover-brand {
  width: 104px;
  height: 104px;
  border: 5px solid rgba(255,255,255,.82);
  border-radius: 30px;
  object-fit: cover;
  opacity: .86;
}
body.panda-app .subject-profile-phone .entity-avatar {
  overflow: hidden;
}
body.panda-app .subject-profile-phone .entity-avatar img {
  object-fit: cover;
}
body.panda-app .subject-profile-phone[data-profile-account="agent:pepperlab"] .entity-avatar img,
body.panda-app .subject-profile-phone[data-profile-account="agent:pepperlab"] .subject-widget-service-main img {
  object-position: left center;
}
body.panda-app .subject-profile-phone .entity-actions button[hidden] { display: none !important; }
body.panda-app .subject-profile-phone .subject-widget-service-main {
  display: grid;
  grid-template-columns: 54px minmax(0,1fr) 18px;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 84px;
  padding: 12px;
  border: 0;
  border-radius: 19px;
  background: rgba(255,255,255,.72);
  color: inherit;
  font-family: inherit;
  text-align: left;
  box-shadow: inset 0 0 0 1px rgba(0,133,72,.09);
}
body.panda-app .subject-profile-phone .subject-widget-service-main img,
body.panda-app .subject-profile-phone .subject-widget-feature img {
  width: 54px;
  height: 54px;
  padding: 4px;
  border-radius: 16px;
  background: #fff;
  object-fit: contain;
}
body.panda-app .subject-profile-phone .subject-widget-service-main span,
body.panda-app .subject-profile-phone .subject-widget-feature span {
  display: grid;
  gap: 5px;
  min-width: 0;
}
body.panda-app .subject-profile-phone .subject-widget-service-main strong,
body.panda-app .subject-profile-phone .subject-widget-feature strong {
  color: #25212a;
  font-size: 14px;
  line-height: 1.25;
  font-weight: 950;
}
body.panda-app .subject-profile-phone .subject-widget-service-main small,
body.panda-app .subject-profile-phone .subject-widget-feature small {
  color: #817a87;
  font-size: 8px;
  line-height: 1.35;
  font-weight: 760;
}
body.panda-app .subject-profile-phone .subject-widget-service-main > b {
  color: #14824d;
  font-size: 22px;
}
body.panda-app .subject-profile-phone .subject-widget-feature {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 78px;
}
body.panda-app .subject-widget-responsibility {
  display: grid;
  grid-template-columns: 30px minmax(0,1fr);
  gap: 8px 10px;
  align-content: center;
}
body.panda-app .subject-widget-responsibility i {
  display: grid;
  grid-row: 1 / span 2;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 10px;
  background: #eaf8f0;
  color: #0b8c50;
  font-style: normal;
  font-weight: 950;
}
body.panda-app .subject-widget-responsibility strong { color:#29242e; font-size:10px; line-height:1.4; font-weight:930; }
body.panda-app .subject-widget-responsibility small { color:#8a8490; font-size:8px; line-height:1.45; font-weight:730; }

/* Every object detail identifies the publishing / responsible account. */
body.panda-app .panda-responsible-party {
  display: grid;
  grid-template-columns: 46px minmax(0,1fr) auto;
  align-items: center;
  gap: 11px;
  width: 100%;
  min-height: 70px;
  margin: 17px 0 0;
  padding: 11px 12px;
  border: 1px solid rgba(42,35,48,.075);
  border-radius: 19px;
  background: rgba(250,249,252,.92);
  color: #28232d;
  font-family: inherit;
  text-align: left;
  box-shadow: none;
}
body.panda-app .panda-responsible-party img {
  width: 46px;
  height: 46px;
  padding: 3px;
  overflow: hidden;
  border: 2px solid #fff;
  border-radius: 15px;
  background: #fff;
  object-fit: cover;
  box-shadow: 0 6px 15px rgba(45,37,53,.09);
}
body.panda-app .panda-responsible-party[data-subject-profile="agent:pepperlab"] img {
  object-position: left center;
}
body.panda-app .panda-responsible-party > span { display:grid; gap:3px; min-width:0; }
body.panda-app .panda-responsible-party small { color:#9b741d; font-size:8px; line-height:1.2; font-weight:900; }
body.panda-app .panda-responsible-party strong { overflow:hidden; font-size:12px; line-height:1.25; font-weight:950; text-overflow:ellipsis; white-space:nowrap; }
body.panda-app .panda-responsible-party em { overflow:hidden; color:#8d8793; font-size:7.8px; line-height:1.3; font-style:normal; font-weight:760; text-overflow:ellipsis; white-space:nowrap; }
body.panda-app .panda-responsible-party > b { color:#77707d; font-size:8px; font-weight:900; white-space:nowrap; }
body.panda-app .panda-responsible-party:active { transform: scale(.99); }
body.panda-app .post-header [data-subject-profile] { cursor: pointer; }
body.panda-app .post-header strong[data-subject-profile]:focus-visible { outline: 2px solid rgba(246,185,30,.42); outline-offset: 2px; border-radius: 5px; }

body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-object-responsible {
  margin-top: 18px;
  background: #f7f5f8;
}

@media (max-width: 400px) {
  body.panda-app .panda-responsible-party { grid-template-columns: 43px minmax(0,1fr) auto; gap:9px; padding:10px; }
  body.panda-app .panda-responsible-party img { width:43px; height:43px; }
}

/* Public Agent profile — account identity stays distinct from its paid services. */
body.panda-app .panda-app-stage.is-subject-profile-shell .app-shell-top { display: none !important; }
body.panda-app .subject-profile-phone {
  padding: calc(env(safe-area-inset-top, 0px) + 38px) 0 calc(106px + env(safe-area-inset-bottom, 0px));
  background:
    radial-gradient(circle at 92% 2%, rgba(0, 158, 83, .11), transparent 25%),
    radial-gradient(circle at 4% 16%, rgba(124, 89, 237, .09), transparent 27%),
    #fbfbfd;
}
body.panda-app .subject-profile-topbar {
  display: grid;
  grid-template-columns: 38px 1fr 38px;
  align-items: center;
  min-height: 45px;
  margin: 0 var(--pc-inset, 18px) 12px;
  color: #25212c;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: -.02em;
  text-align: center;
}
body.panda-app .subject-profile-topbar button {
  display: grid;
  width: 36px;
  height: 36px;
  padding: 0;
  place-items: center;
  border: 1px solid rgba(36, 29, 44, .065);
  border-radius: 13px;
  background: rgba(255, 255, 255, .82);
  color: #2a2631;
  box-shadow: 0 7px 20px rgba(42, 32, 50, .05);
}
body.panda-app .subject-profile-back svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.5; }
body.panda-app .subject-profile-more { justify-self: end; font-size: 22px; line-height: 1; letter-spacing: 1px; }
body.panda-app .subject-profile-identity,
body.panda-app .subject-profile-panel,
body.panda-app .subject-profile-tabs { margin-inline: var(--pc-inset, 18px); }
body.panda-app .subject-profile-identity {
  position: relative;
  overflow: hidden;
  padding: 16px 16px 15px;
  border: 1px solid rgba(0, 133, 72, .12);
  border-radius: 25px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 14px 31px rgba(28, 56, 42, .07);
}
body.panda-app .subject-profile-cover { position: absolute; inset: 0 0 auto; height: 74px; overflow: hidden; background: linear-gradient(112deg, #eefaf4, #f8fffb 52%, #e9f6ef); }
body.panda-app .subject-profile-cover i { position: absolute; display: block; width: 122px; height: 122px; border: 22px solid rgba(0, 158, 83, .11); border-radius: 50%; }
body.panda-app .subject-profile-cover i:first-child { top: -77px; right: -14px; }
body.panda-app .subject-profile-cover i:last-child { top: 34px; right: 77px; width: 50px; height: 50px; border-width: 10px; opacity: .7; }
body.panda-app .subject-profile-core { position: relative; display: flex; align-items: flex-end; gap: 12px; min-height: 79px; }
body.panda-app .subject-profile-logo { display: grid; width: 64px; height: 64px; flex: 0 0 64px; padding: 7px; place-items: center; overflow: hidden; border: 3px solid #fff; border-radius: 21px; background: #fff; box-shadow: 0 7px 18px rgba(0, 126, 66, .12); }
body.panda-app .subject-profile-logo img { width: 100%; height: 100%; object-fit: contain; }
body.panda-app .subject-profile-title { min-width: 0; padding-bottom: 1px; text-align: left; }
body.panda-app .subject-profile-title > div { display: flex; align-items: center; gap: 7px; }
body.panda-app .subject-profile-title h1 { margin: 0; color: #173323; font-size: 21px; line-height: 1.08; font-weight: 950; letter-spacing: -.06em; }
body.panda-app .subject-profile-title b { padding: 3px 7px; border-radius: 999px; background: rgba(0, 158, 83, .1); color: #087342; font-size: 8px; line-height: 1; font-weight: 950; }
body.panda-app .subject-profile-title p { margin: 5px 0 2px; color: #637269; font-size: 9px; line-height: 1.25; font-weight: 820; white-space: nowrap; }
body.panda-app .subject-profile-title p span { color: #9aa69f; }
body.panda-app .subject-profile-title small { color: #9ba59f; font-size: 8px; font-weight: 850; letter-spacing: .035em; }
body.panda-app .subject-profile-signature { position: relative; margin: 15px 0 13px; color: #4b5c52; font-size: 11px; line-height: 1.55; font-weight: 760; }
body.panda-app .subject-profile-stats { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; padding: 10px 0; border-top: 1px solid rgba(0, 126, 66, .09); border-bottom: 1px solid rgba(0, 126, 66, .09); }
body.panda-app .subject-profile-stats div { min-width: 0; text-align: center; }
body.panda-app .subject-profile-stats div + div { border-left: 1px solid rgba(0, 126, 66, .09); }
body.panda-app .subject-profile-stats dt { color: #1e3929; font-size: 13px; line-height: 1.1; font-weight: 950; }
body.panda-app .subject-profile-stats dd { margin: 4px 0 0; color: #89968e; font-size: 8px; line-height: 1; font-weight: 820; }
body.panda-app .subject-profile-actions { display: grid; grid-template-columns: 1.15fr 1.25fr 1fr; gap: 7px; margin-top: 13px; }
body.panda-app .subject-profile-actions button { min-width: 0; height: 37px; padding: 0 7px; border: 1px solid rgba(0, 126, 66, .11); border-radius: 12px; background: #f2faf5; color: #167548; font-family: inherit; font-size: 9px; font-weight: 920; white-space: nowrap; }
body.panda-app .subject-profile-actions button span { margin-right: 3px; font-size: 11px; }
body.panda-app .subject-profile-actions .is-connected { color: #5a6b60; background: #fff; }
body.panda-app .subject-profile-actions .is-primary { border-color: #008a4a; background: #009e53; color: #fff; box-shadow: 0 8px 18px rgba(0, 139, 74, .16); }
body.panda-app .subject-profile-tabs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 4px; min-height: 45px; margin-top: 13px; margin-bottom: 13px; padding: 4px; border: 1px solid rgba(36, 29, 44, .06); border-radius: 16px; background: rgba(243, 243, 248, .88); }
body.panda-app .subject-profile-tabs button { border: 0; border-radius: 12px; background: transparent; color: #908a99; font-family: inherit; font-size: 10px; font-weight: 900; }
body.panda-app .subject-profile-tabs button.is-active { background: #fff; color: #26352d; box-shadow: 0 4px 11px rgba(42, 32, 50, .06); }
body.panda-app .subject-profile-panel { padding-bottom: 26px; }
body.panda-app .subject-profile-service-card { display: block; width: 100%; padding: 15px; border: 1px solid rgba(0, 158, 83, .15); border-radius: 21px; background: linear-gradient(135deg, #eefaf4, #fff 69%); color: inherit; font-family: inherit; text-align: left; box-shadow: 0 11px 25px rgba(17, 106, 58, .065); }
body.panda-app .subject-service-card-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
body.panda-app .subject-service-card-top i { padding: 4px 7px; border-radius: 999px; background: rgba(0, 158, 83, .1); color: #087342; font-size: 8px; font-style: normal; font-weight: 930; }
body.panda-app .subject-service-card-top small { color: #789084; font-size: 8px; font-weight: 800; }
body.panda-app .subject-service-card-main { display: grid; grid-template-columns: 46px minmax(0, 1fr) 18px; align-items: center; gap: 10px; margin-top: 13px; }
body.panda-app .subject-service-card-main img { width: 46px; height: 46px; padding: 4px; object-fit: contain; border: 1px solid rgba(0, 126, 66, .09); border-radius: 14px; background: #fff; }
body.panda-app .subject-service-card-main span { display: grid; gap: 4px; min-width: 0; }
body.panda-app .subject-service-card-main strong { color: #1e3929; font-size: 14px; line-height: 1.1; font-weight: 950; letter-spacing: -.035em; }
body.panda-app .subject-service-card-main em { overflow: hidden; color: #738179; font-size: 8.5px; font-style: normal; font-weight: 760; text-overflow: ellipsis; white-space: nowrap; }
body.panda-app .subject-service-card-main > b { color: #078449; font-size: 24px; font-weight: 500; text-align: right; }
body.panda-app .subject-service-card-price { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 13px; padding-top: 11px; border-top: 1px solid rgba(0, 126, 66, .09); }
body.panda-app .subject-service-card-price b { color: #157546; font-size: 10px; font-weight: 950; }
body.panda-app .subject-service-card-price span { color: #89978f; font-size: 8px; font-weight: 760; text-align: right; }
body.panda-app .subject-profile-boundary { display: grid; gap: 8px; margin-top: 12px; }
body.panda-app .subject-profile-boundary > div { display: flex; align-items: center; gap: 10px; min-height: 49px; padding: 10px 12px; border: 1px solid rgba(37, 30, 46, .06); border-radius: 17px; background: #fff; }
body.panda-app .subject-profile-boundary i { display: grid; width: 25px; height: 25px; flex: 0 0 25px; place-items: center; border-radius: 9px; background: #edf9f1; color: #008a4a; font-size: 12px; font-style: normal; font-weight: 950; }
body.panda-app .subject-profile-boundary > div:last-child i { background: #fff5dc; color: #bc7a00; }
body.panda-app .subject-profile-boundary span { display: grid; gap: 3px; min-width: 0; }
body.panda-app .subject-profile-boundary strong { color: #303039; font-size: 10px; line-height: 1.1; font-weight: 930; }
body.panda-app .subject-profile-boundary small { color: #8b8793; font-size: 8px; line-height: 1.25; font-weight: 760; }
body.panda-app .subject-profile-note { margin: 12px 4px 0; color: #89828f; font-size: 8.5px; line-height: 1.5; font-weight: 750; text-align: center; }
body.panda-app .subject-profile-feed-heading { display: grid; gap: 4px; margin: 2px 2px 11px; }
body.panda-app .subject-profile-feed-heading span { color: #2e2a35; font-size: 15px; line-height: 1.1; font-weight: 950; letter-spacing: -.035em; }
body.panda-app .subject-profile-feed-heading small { color: #92909a; font-size: 8.5px; font-weight: 750; }
body.panda-app .subject-profile-feed-list { display: grid; gap: 11px; }
body.panda-app .subject-profile-feed-empty { display: grid; gap: 5px; min-height: 126px; padding: 32px 20px; place-content: center; border: 1px dashed rgba(0, 126, 66, .2); border-radius: 21px; background: rgba(255,255,255,.72); color: #5b7062; text-align: center; }
body.panda-app .subject-profile-feed-empty strong { font-size: 12px; }
body.panda-app .subject-profile-feed-empty span { color: #98a29b; font-size: 9px; font-weight: 720; }
@media (max-width: 360px) {
  body.panda-app .subject-profile-identity { padding-inline: 13px; }
  body.panda-app .subject-profile-title h1 { font-size: 19px; }
  body.panda-app .subject-profile-actions button { font-size: 8px; }
}

/* Agent identity is a contact card; its separate Action Card remains the paid service. */
body.panda-app .room-phone[data-room-id="chat-pepperlab"] .room-agent-contact-row {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin: 10px 0 14px;
}
body.panda-app .room-phone[data-room-id="chat-pepperlab"] .room-agent-contact-row > img,
body.panda-app .room-phone[data-room-id="chat-pepperlab"] .room-agent-contact-row > .room-avatar {
  width: 31px;
  height: 31px;
  flex: 0 0 31px;
  padding: 3px;
  object-fit: contain;
  border: 1px solid rgba(0, 158, 83, .15);
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 5px 12px rgba(0, 126, 66, .09);
}
body.panda-app .room-phone[data-room-id="chat-pepperlab"] .room-agent-contact-card {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 16px;
  align-items: center;
  width: min(100%, 280px);
  min-height: 68px;
  padding: 10px 11px;
  border: 1px solid rgba(0, 158, 83, .13);
  border-radius: 18px;
  background: linear-gradient(135deg, #f0faf4, #fff 76%);
  color: #20372a;
  font-family: inherit;
  text-align: left;
  box-shadow: 0 8px 20px rgba(27, 91, 55, .055);
}
body.panda-app .room-phone[data-room-id="chat-pepperlab"] .room-agent-contact-card > img,
body.panda-app .room-phone[data-room-id="chat-pepperlab"] .room-agent-contact-card .room-agent-contact-logo {
  width: 38px;
  height: 38px;
  padding: 3px;
  object-fit: contain;
  border: 1px solid rgba(0, 126, 66, .1);
  border-radius: 12px;
  background: #fff;
}
body.panda-app .room-phone[data-room-id="chat-pepperlab"] .room-agent-contact-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding-left: 9px;
}
body.panda-app .room-phone[data-room-id="chat-pepperlab"] .room-agent-contact-copy strong { color: #173b27; font-size: 10px; line-height: 1.1; font-weight: 950; }
body.panda-app .room-phone[data-room-id="chat-pepperlab"] .room-agent-contact-copy small { overflow: hidden; color: #668171; font-size: 8px; line-height: 1.2; font-weight: 760; text-overflow: ellipsis; white-space: nowrap; }
body.panda-app .room-phone[data-room-id="chat-pepperlab"] .room-agent-contact-copy em { color: #10834c; font-size: 8px; font-style: normal; font-weight: 900; }
body.panda-app .room-phone[data-room-id="chat-pepperlab"] .room-agent-contact-card > b { color: #198750; font-size: 20px; font-weight: 500; text-align: right; }

body.panda-app .conversation-pepperlab-row .conversation-avatar {
  overflow: hidden;
  isolation: isolate;
  border-color: rgba(255, 255, 255, .98);
  background: #fff;
  box-shadow: 0 8px 18px rgba(0, 126, 66, .12);
}
body.panda-app .conversation-pepperlab-row .conversation-avatar > img {
  width: 100%;
  height: 100%;
  padding: 5px;
  object-fit: contain;
  border-radius: 14px;
  background: #fff;
}

/* Store cards use their actual media as the visual surface. */
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-item-visual.has-real-photo {
  position: relative;
  overflow: hidden;
  padding: 0;
  background: #f2f0ec;
}

body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-item-visual.has-real-photo img.store-real-photo,
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-item-card.feature .store-item-visual.has-real-photo img.store-real-photo,
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-item-card.spotlight .store-item-visual.has-real-photo img.store-real-photo,
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-card-grid .store-item-visual.has-real-photo img.store-real-photo,
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-hero .store-item-visual.detail.has-real-photo img.store-real-photo {
  position: absolute;
  inset: 0;
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  border-radius: inherit;
  object-fit: cover;
  object-position: center;
  filter: none;
  transform: none;
}

/* PepperLab Agent integration -------------------------------------------------
   Avatars crop the mark; cards and detail surfaces preserve the full lockup. */
:root {
  --pepperlab-green: #009e53;
  --pepperlab-green-deep: #087944;
  --pepperlab-green-soft: #edf9f2;
  --pepperlab-ink: #27322c;
}

/* Peer avatar: a compact rounded square, using the left-side pepper mark. */
body.panda-app .room-phone[data-room-id="chat-pepperlab"] .room-peer-logo {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-color: rgba(255, 255, 255, 0.98);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 7px 16px rgba(0, 126, 66, 0.13);
}

body.panda-app .room-phone[data-room-id="chat-pepperlab"] .room-peer-logo img {
  position: absolute;
  top: -4px;
  left: -4px;
  width: auto;
  max-width: none;
  height: 40px;
  border-radius: 0;
  object-fit: contain;
  object-position: left center;
  background: #fff;
}

/* One calm service object inside the thread; no nested chip/card mosaic. */
body.panda-app .room-phone[data-room-id="chat-pepperlab"] .room-action-card-row {
  align-items: flex-start;
}

body.panda-app .room-phone[data-room-id="chat-pepperlab"] .room-action-card {
  flex: 1 1 auto;
  width: min(100%, 292px);
  max-width: 292px;
  padding: 15px 16px 14px;
  border: 1px solid rgba(0, 158, 83, 0.15);
  border-radius: 21px;
  background:
    radial-gradient(circle at 100% 0%, rgba(0, 158, 83, 0.075), transparent 42%),
    #fff;
  color: var(--pepperlab-ink);
  box-shadow: 0 13px 28px rgba(24, 75, 48, 0.075);
}

body.panda-app .room-phone[data-room-id="chat-pepperlab"] .room-action-card > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

body.panda-app .room-phone[data-room-id="chat-pepperlab"] .room-action-card > header span {
  min-width: 0;
  overflow: hidden;
  color: var(--pepperlab-green-deep);
  font-size: 9px;
  line-height: 1.2;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.panda-app .room-phone[data-room-id="chat-pepperlab"] .room-action-card > header i {
  flex: 0 0 auto;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #24c477;
  box-shadow: 0 0 0 4px rgba(36, 196, 119, 0.11);
}

body.panda-app .room-phone[data-room-id="chat-pepperlab"] .room-action-card h3 {
  margin: 9px 0 0;
  color: #1f2923;
  font-size: 15px;
  line-height: 1.3;
  font-weight: 950;
}

body.panda-app .room-phone[data-room-id="chat-pepperlab"] .room-action-card > p {
  margin: 7px 0 0;
  color: #66736b;
  font-size: 9.5px;
  line-height: 1.58;
  font-weight: 720;
}

body.panda-app .room-phone[data-room-id="chat-pepperlab"] .room-action-card dl {
  margin: 13px 0 0;
  border-top: 1px solid #e7eee9;
  border-bottom: 1px solid #e7eee9;
}

body.panda-app .room-phone[data-room-id="chat-pepperlab"] .room-action-card dl > div {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  min-height: 32px;
  padding: 7px 0;
  border-bottom: 1px solid #edf2ef;
}

body.panda-app .room-phone[data-room-id="chat-pepperlab"] .room-action-card dl > div:last-child {
  border-bottom: 0;
}

body.panda-app .room-phone[data-room-id="chat-pepperlab"] .room-action-card dt,
body.panda-app .room-phone[data-room-id="chat-pepperlab"] .room-action-card dd {
  margin: 0;
  font-size: 8px;
  line-height: 1.35;
}

body.panda-app .room-phone[data-room-id="chat-pepperlab"] .room-action-card dt {
  color: #879089;
  font-weight: 800;
}

body.panda-app .room-phone[data-room-id="chat-pepperlab"] .room-action-card dd {
  color: #2a352e;
  font-weight: 900;
  text-align: right;
}

body.panda-app .room-phone[data-room-id="chat-pepperlab"] .room-action-card > button {
  width: 100%;
  height: 38px;
  margin-top: 13px;
  border: 0;
  border-radius: 13px;
  background: var(--pepperlab-green);
  color: #fff;
  font-family: inherit;
  font-size: 9px;
  font-weight: 950;
  box-shadow: 0 9px 18px rgba(0, 158, 83, 0.16);
}

/* Account and post avatars use the left mark rather than shrinking the wordmark. */
body.panda-app .post-card[data-owner-account="agent:pepperlab"] .post-avatar,
body.panda-app .post-detail-page[data-library-id="supply-pepperlab-typesetting"] .post-avatar,
body.panda-app .entity-phone[data-profile-account="agent:pepperlab"] .entity-avatar img {
  object-fit: cover;
  object-position: left center;
  background: #fff;
}

body.panda-app .post-card[data-owner-account="agent:pepperlab"] .post-avatar,
body.panda-app .post-detail-page[data-library-id="supply-pepperlab-typesetting"] .post-avatar {
  border: 1px solid rgba(0, 158, 83, 0.13);
  border-radius: 11px;
  box-shadow: 0 5px 12px rgba(0, 126, 66, 0.09);
}

body.panda-app .entity-phone[data-profile-account="agent:pepperlab"] .entity-avatar {
  overflow: hidden;
  border-color: rgba(0, 158, 83, 0.16);
  background: #fff;
}

body.panda-app .post-card[data-owner-account="agent:pepperlab"] {
  border-color: rgba(0, 158, 83, 0.11);
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 13px 28px rgba(24, 75, 48, 0.055);
}

body.panda-app .post-card[data-owner-account="agent:pepperlab"] .post-header-cta {
  background: var(--pepperlab-green);
  box-shadow: 0 8px 18px rgba(0, 158, 83, 0.17);
}

body.panda-app .post-card[data-library-id="supply-pepperlab-typesetting"] .pepperlab-service-card,
body.panda-app .post-detail-page[data-library-id="supply-pepperlab-typesetting"] .pepperlab-service-card {
  border-color: rgba(0, 158, 83, 0.14);
  background: linear-gradient(135deg, #f0faf5, #fff 62%);
}

body.panda-app .pepperlab-service-card .attached-top span {
  color: var(--pepperlab-green-deep);
}

body.panda-app .pepperlab-service-card .attached-meta b {
  background: rgba(0, 158, 83, 0.1);
  color: var(--pepperlab-green-deep);
}

body.panda-app .pepperlab-service-card .attached-thumb {
  padding: 9px 6px;
  object-fit: contain;
  object-position: center;
  background: #fff;
  box-shadow: 0 7px 16px rgba(0, 126, 66, 0.09);
}

/* Discovery result: full horizontal lockup, kept legible rather than cropped. */
body.panda-app .library-card[data-library-id="supply-pepperlab-typesetting"] {
  border-color: rgba(0, 158, 83, 0.12);
  box-shadow: 0 15px 30px rgba(24, 75, 48, 0.07);
}

body.panda-app .library-card[data-library-id="supply-pepperlab-typesetting"] .library-card-media {
  background: #fff;
}

body.panda-app .library-card[data-library-id="supply-pepperlab-typesetting"] .library-card-media::after {
  height: 64%;
  background: linear-gradient(transparent, rgba(232, 247, 239, 0.98));
}

body.panda-app .library-card[data-library-id="supply-pepperlab-typesetting"] .library-media-brand {
  padding: 19px 48px 54px;
  object-fit: contain;
  object-position: center;
  background: #fff;
  filter: none;
}

body.panda-app .library-card[data-library-id="supply-pepperlab-typesetting"] .library-media-copy {
  right: 16px;
  color: #274333;
}

body.panda-app .library-card[data-library-id="supply-pepperlab-typesetting"] .library-card-badge {
  background: rgba(237, 249, 242, 0.95);
  color: var(--pepperlab-green-deep);
}

body.panda-app .library-card[data-library-id="supply-pepperlab-typesetting"] .library-card-actions button {
  background: var(--pepperlab-green);
  color: #fff;
  box-shadow: 0 8px 17px rgba(0, 158, 83, 0.15);
}

/* Continuous service detail: the full brand is the hero, followed by the
   existing facts, protocol and notice sections used by supply/place objects. */
body.panda-app .library-object-detail[data-library-id="supply-pepperlab-typesetting"] {
  background: #fff;
}

body.panda-app .library-object-detail[data-library-id="supply-pepperlab-typesetting"] .library-object-hero {
  background: #fff;
}

body.panda-app .library-object-detail[data-library-id="supply-pepperlab-typesetting"] .library-object-hero::after {
  background: linear-gradient(180deg, transparent 58%, rgba(232, 247, 239, 0.72));
}

body.panda-app .library-object-detail[data-library-id="supply-pepperlab-typesetting"] .library-object-hero > img.library-media-brand {
  padding: 48px 40px 50px;
  object-fit: contain;
  object-position: center;
  background: #fff;
  filter: none;
}

body.panda-app .library-object-detail[data-library-id="supply-pepperlab-typesetting"] .library-object-hero > span,
body.panda-app .library-object-detail[data-library-id="supply-pepperlab-typesetting"] .library-object-kicker span,
body.panda-app .library-object-detail[data-library-id="supply-pepperlab-typesetting"] .library-object-protocol-fields span {
  background: var(--pepperlab-green-soft);
  color: var(--pepperlab-green-deep);
}

body.panda-app .library-object-detail[data-library-id="supply-pepperlab-typesetting"] .library-object-section {
  border-top-color: #f1f7f4;
}

body.panda-app .library-object-detail[data-library-id="supply-pepperlab-typesetting"] .library-object-section > header > i {
  background: var(--pepperlab-green);
}

body.panda-app .library-object-detail[data-library-id="supply-pepperlab-typesetting"] .library-object-external {
  border-color: rgba(0, 158, 83, 0.14);
  background: var(--pepperlab-green-soft);
  color: var(--pepperlab-green-deep);
}

body.panda-app .panda-app-stage.is-library-detail-shell:has(.library-object-detail[data-library-id="supply-pepperlab-typesetting"]) .app-shell-library-cta {
  background: var(--pepperlab-green);
  color: #fff;
  box-shadow: 0 8px 18px rgba(0, 158, 83, 0.17);
}

/* Panda Campus V2 personal screen — final Apple-like Bento layout. */
body.panda-app .entity-phone[data-profile-surface] .entity-preview-panel {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-auto-flow:dense;
  align-content:start;
  align-items:stretch;
  gap:12px;
  margin-inline:18px;
  padding:0 0 116px;
}
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-profile-widget] {
  --widget-accent:#8c68f5;
  --widget-wash:rgba(140,104,245,.13);
  --widget-height:174px;
  position:relative;
  display:flex;
  flex-direction:column;
  grid-column:span 1;
  width:auto;
  min-width:0;
  height:var(--widget-height);
  min-height:var(--widget-height);
  padding:16px;
  overflow:hidden;
  border:0;
  border-radius:27px;
  background:radial-gradient(circle at 92% 0%,var(--widget-wash),transparent 43%),linear-gradient(145deg,rgba(255,255,255,.99),rgba(249,248,251,.95));
  box-shadow:inset 0 0 0 1px rgba(34,28,41,.055),0 16px 36px rgba(46,38,54,.075);
  contain:layout paint;
  transform:translateZ(0);
  will-change:transform;
  transition:height 300ms cubic-bezier(.2,.8,.2,1),min-height 300ms cubic-bezier(.2,.8,.2,1),box-shadow 220ms ease,opacity 180ms ease,transform 220ms cubic-bezier(.2,.8,.2,1);
}
body.panda-app .entity-phone[data-profile-surface] .entity-widget.ability { --widget-accent:#f2a91d;--widget-wash:rgba(255,192,57,.22); }
body.panda-app .entity-phone[data-profile-surface] .entity-widget.places { --widget-accent:#35b687;--widget-wash:rgba(69,207,159,.17); }
body.panda-app .entity-phone[data-profile-surface] .entity-widget.works { --widget-accent:#f45b91;--widget-wash:rgba(247,103,158,.16); }
body.panda-app .entity-phone[data-profile-surface] .entity-widget.relations { --widget-accent:#6b73ed;--widget-wash:rgba(107,115,237,.16); }
body.panda-app .entity-phone[data-profile-surface] .entity-widget.favorites { --widget-accent:#55a8e9;--widget-wash:rgba(85,168,233,.15); }
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-widget-size="wide"],
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-widget-size="featured"],
body.panda-app .entity-phone[data-profile-surface] .entity-widget.is-resize-wide-preview { grid-column:span 2; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-widget-size="compact"] { --widget-height:174px; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-widget-size="wide"] { --widget-height:176px; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-widget-size="featured"] { --widget-height:246px; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-widget-size="tall"] { --widget-height:292px; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget .widget-head { position:relative;z-index:2;display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:8px;min-height:34px;margin:0 0 13px; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget .widget-head h2 { display:flex;align-items:center;gap:8px;min-width:0;margin:0;color:#1b1820;font-size:16px;line-height:1.1;font-weight:950;letter-spacing:-.035em; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget .widget-head h2::before { display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--widget-accent) 15%,white);color:var(--widget-accent);font-size:15px;line-height:1;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--widget-accent) 10%,transparent); }
body.panda-app .entity-phone[data-profile-surface] .entity-widget.ability .widget-head h2::before { content:"✦"; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget.places .widget-head h2::before { content:"⌖"; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget.works .widget-head h2::before { content:"▦"; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget.relations .widget-head h2::before { content:"◎"; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget.favorites .widget-head h2::before { content:"★"; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget .widget-head [data-profile-widget-use],
body.panda-app .entity-phone[data-profile-surface] .entity-widget .widget-head a { display:grid;width:31px;min-width:31px;height:31px;min-height:31px;padding:0;place-items:center;border:0;border-radius:50%;background:rgba(255,255,255,.74);color:#6f6876;box-shadow:inset 0 0 0 1px rgba(42,35,48,.07),0 5px 14px rgba(47,39,54,.06);font-size:20px;font-weight:600;text-decoration:none;backdrop-filter:blur(12px); }
body.panda-app .entity-phone[data-profile-surface] .entity-widget p { position:relative;z-index:2;margin:auto 0 0;overflow:hidden;color:#716a78;font-size:10.5px;line-height:1.35;font-weight:800;text-overflow:ellipsis;white-space:nowrap; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget .mini-strip,
body.panda-app .entity-phone[data-profile-surface] .entity-widget .work-grid,
body.panda-app .entity-phone[data-profile-surface] .entity-widget .place-row { position:relative;z-index:1;min-height:0;flex:1 1 auto; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget .mini-strip { display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:7px; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget .mini-strip img,
body.panda-app .entity-phone[data-profile-surface] .entity-widget .work-grid img { width:100%;height:100%;min-height:0;border-radius:14px;object-fit:cover;box-shadow:none; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-widget-size="compact"] .mini-strip { grid-template-columns:1fr; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-widget-size="compact"] .mini-strip img:not(:first-child),
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-widget-size="compact"] .work-grid img:nth-child(n+3) { display:none; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-widget-size="featured"] .mini-strip { grid-template-columns:1.7fr 1fr;grid-template-rows:1fr 1fr; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-widget-size="featured"] .mini-strip img:first-child { grid-row:span 2; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget .work-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-widget-size="tall"] .work-grid { grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget .place-row { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget .place-row span { display:grid;grid-template-rows:minmax(0,1fr) auto;gap:6px;min-height:0;padding:0 0 7px;overflow:hidden;border-radius:14px;background:rgba(255,255,255,.68); }
body.panda-app .entity-phone[data-profile-surface] .entity-widget .place-row img { width:100%;height:100%;min-height:0;object-fit:cover; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-widget-size="compact"] .place-row { grid-template-columns:1fr; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-widget-size="compact"] .place-row span:not(:first-child) { display:none; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-widget-size="tall"] .place-row { grid-template-columns:1fr;grid-template-rows:repeat(3,minmax(0,1fr)); }
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-widget-size="tall"] .place-row span { grid-template-columns:54px minmax(0,1fr);grid-template-rows:1fr;align-items:center;padding:0 9px 0 0; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget .relation-stack { position:relative;z-index:2;display:flex;flex:1 1 auto;align-items:center;justify-content:center;margin:0; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget .relation-stack img { width:46px;height:46px;margin-right:-12px;border-width:3px; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget .relation-stack span { align-self:flex-end;margin:0 0 2px 15px;color:#615968;font-size:10px;font-weight:900; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-widget-size="tall"] .relation-stack { flex-wrap:wrap;align-content:center; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-widget-size="tall"] .relation-stack img { width:62px;height:62px;margin:-5px; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget.favorites .entity-favorite-preview { flex:1 1 auto;min-height:0; }
body.panda-app .entity-phone.is-profile-editing .entity-widget[data-profile-widget] { overflow:visible;contain:layout;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--widget-accent) 34%,transparent),0 18px 42px rgba(53,43,62,.12); }
body.panda-app .profile-widget-edit-controls { top:9px;right:9px;left:9px;align-items:center; }
body.panda-app .profile-widget-remove,
body.panda-app .profile-widget-drag { width:32px;height:32px;border:2px solid rgba(255,255,255,.96);box-shadow:0 7px 18px rgba(39,32,46,.15); }
body.panda-app .profile-widget-remove { background:rgba(255,82,82,.94);font-size:19px; }
body.panda-app .profile-widget-drag { background:rgba(255,255,255,.93);color:#5c5663; }
body.panda-app .profile-widget-resize { position:absolute;z-index:7;right:9px;bottom:9px;display:flex;align-items:center;gap:5px;height:32px;padding:0 9px;pointer-events:none;border:2px solid rgba(255,255,255,.96);border-radius:999px;background:color-mix(in srgb,var(--widget-accent) 88%,white);color:#fff;box-shadow:0 7px 18px rgba(39,32,46,.16);opacity:0;font-family:inherit;touch-action:none;cursor:nwse-resize;transition:opacity 150ms ease,transform 180ms ease; }
body.panda-app .entity-phone.is-profile-editing .profile-widget-resize { pointer-events:auto;opacity:1; }
body.panda-app .profile-widget-resize i { position:relative;display:block;width:12px;height:12px; }
body.panda-app .profile-widget-resize i::before,
body.panda-app .profile-widget-resize i::after { position:absolute;right:0;bottom:0;border-right:1.8px solid currentColor;border-bottom:1.8px solid currentColor;content:""; }
body.panda-app .profile-widget-resize i::before { width:11px;height:11px; }
body.panda-app .profile-widget-resize i::after { width:5px;height:5px; }
body.panda-app .profile-widget-resize span { font-size:9px;font-weight:950;white-space:nowrap; }
body.panda-app .entity-widget.is-profile-resizing { z-index:12;opacity:.97;contain:layout;transition:box-shadow 160ms ease,opacity 160ms ease!important;box-shadow:0 24px 52px rgba(43,35,51,.2)!important; }
body.panda-app .entity-widget.is-profile-dragging { z-index:12;opacity:.94;transform:scale(1.015) rotate(.15deg)!important; }
body.panda-app .entity-phone.is-profile-editing .entity-widget > :not(.profile-widget-edit-controls):not(.profile-widget-resize) { pointer-events:none; }
body.panda-app .entity-phone[data-profile-surface] .profile-add-widget { grid-column:span 2; }
body.panda-app .profile-layout-coach { position:sticky;z-index:40;top:72px;display:flex;grid-column:span 2;align-items:center;justify-content:center;gap:7px;min-height:36px;margin:0 auto 2px;padding:0 14px;border:1px solid rgba(38,31,44,.07);border-radius:999px;background:rgba(255,255,255,.9);color:#625b69;box-shadow:0 10px 24px rgba(43,35,51,.1);font-size:9.5px;font-weight:900;backdrop-filter:blur(18px);animation:profileCoachIn 220ms ease both; }
body.panda-app .profile-layout-coach[hidden] { display:none!important; }
body.panda-app .profile-layout-coach i { width:13px;height:13px;border:1.5px solid #f2ad24;border-radius:4px;box-shadow:4px 4px 0 -2px rgba(242,173,36,.46); }
@keyframes profileCoachIn { from { opacity:0;transform:translateY(-6px) scale(.97); } to { opacity:1;transform:none; } }
@media (max-width:360px) {
  body.panda-app .entity-phone[data-profile-surface] .entity-preview-panel { gap:9px;margin-inline:14px; }
  body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-profile-widget] { padding:13px;border-radius:23px; }
  body.panda-app .entity-phone[data-profile-surface] .entity-widget .widget-head h2 { font-size:14px; }
}

/* Personal Screen: resizable Apple-like Bento widgets, Panda Campus V2 only. */
body.panda-app .entity-phone[data-profile-surface] .entity-preview-panel {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-flow: dense;
  align-items: stretch;
  gap: 12px;
  padding: 0 0 116px;
}
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-profile-widget] {
  --widget-accent: #8c68f5;
  --widget-wash: rgba(140, 104, 245, 0.12);
  --widget-height: 174px;
  display: flex;
  flex-direction: column;
  grid-column: span 1;
  min-width: 0;
  height: var(--widget-height);
  min-height: var(--widget-height);
  padding: 16px;
  overflow: hidden;
  border: 0;
  border-radius: 27px;
  background: radial-gradient(circle at 92% 0%, var(--widget-wash), transparent 43%), linear-gradient(145deg, rgba(255,255,255,.98), rgba(250,249,252,.94));
  box-shadow: inset 0 0 0 1px rgba(34,28,41,.055), 0 16px 36px rgba(46,38,54,.075);
  contain: layout paint;
  will-change: transform;
  transition: height 300ms cubic-bezier(.2,.8,.2,1), min-height 300ms cubic-bezier(.2,.8,.2,1), box-shadow 220ms ease, opacity 180ms ease, transform 220ms cubic-bezier(.2,.8,.2,1);
}
body.panda-app .entity-phone[data-profile-surface] .entity-widget.ability { --widget-accent:#f2a91d; --widget-wash:rgba(255,192,57,.22); }
body.panda-app .entity-phone[data-profile-surface] .entity-widget.places { --widget-accent:#35b687; --widget-wash:rgba(69,207,159,.17); }
body.panda-app .entity-phone[data-profile-surface] .entity-widget.works { --widget-accent:#f45b91; --widget-wash:rgba(247,103,158,.16); }
body.panda-app .entity-phone[data-profile-surface] .entity-widget.relations { --widget-accent:#6b73ed; --widget-wash:rgba(107,115,237,.16); }
body.panda-app .entity-phone[data-profile-surface] .entity-widget.favorites { --widget-accent:#55a8e9; --widget-wash:rgba(85,168,233,.15); }
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-widget-size="wide"],
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-widget-size="featured"],
body.panda-app .entity-phone[data-profile-surface] .entity-widget.is-resize-wide-preview { grid-column:span 2; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-widget-size="compact"] { --widget-height:174px; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-widget-size="wide"] { --widget-height:176px; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-widget-size="featured"] { --widget-height:246px; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-widget-size="tall"] { --widget-height:292px; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget .widget-head {
  position:relative; z-index:2; display:flex; flex:0 0 auto; align-items:center; justify-content:space-between; gap:8px; min-height:34px; margin:0 0 13px;
}
body.panda-app .entity-phone[data-profile-surface] .entity-widget .widget-head h2 {
  display:flex; align-items:center; gap:8px; min-width:0; margin:0; color:#1b1820; font-size:16px; line-height:1.1; font-weight:950; letter-spacing:-.035em;
}
body.panda-app .entity-phone[data-profile-surface] .entity-widget .widget-head h2::before {
  display:grid; width:30px; height:30px; flex:0 0 30px; place-items:center; border-radius:10px; background:color-mix(in srgb,var(--widget-accent) 15%,white); color:var(--widget-accent); font-size:15px; line-height:1; box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--widget-accent) 10%,transparent);
}
body.panda-app .entity-phone[data-profile-surface] .entity-widget.ability .widget-head h2::before { content:"✦"; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget.places .widget-head h2::before { content:"⌖"; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget.works .widget-head h2::before { content:"▦"; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget.relations .widget-head h2::before { content:"◎"; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget.favorites .widget-head h2::before { content:"★"; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget .widget-head [data-profile-widget-use],
body.panda-app .entity-phone[data-profile-surface] .entity-widget .widget-head a {
  display:grid; width:31px; min-width:31px; height:31px; min-height:31px; padding:0; place-items:center; border:0; border-radius:50%; background:rgba(255,255,255,.72); color:#6f6876; box-shadow:inset 0 0 0 1px rgba(42,35,48,.07),0 5px 14px rgba(47,39,54,.06); font-size:20px; font-weight:600; text-decoration:none; backdrop-filter:blur(12px);
}
body.panda-app .entity-phone[data-profile-surface] .entity-widget .widget-head [data-profile-widget-use]:active,
body.panda-app .entity-phone[data-profile-surface] .entity-widget .widget-head a:active { transform:scale(.92); }
body.panda-app .entity-phone[data-profile-surface] .entity-widget p {
  position:relative; z-index:2; margin:auto 0 0; overflow:hidden; color:#716a78; font-size:10.5px; line-height:1.35; font-weight:800; text-overflow:ellipsis; white-space:nowrap;
}
body.panda-app .entity-phone[data-profile-surface] .entity-widget .mini-strip,
body.panda-app .entity-phone[data-profile-surface] .entity-widget .work-grid,
body.panda-app .entity-phone[data-profile-surface] .entity-widget .place-row { position:relative; z-index:1; min-height:0; flex:1 1 auto; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget .mini-strip { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:7px; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget .mini-strip img,
body.panda-app .entity-phone[data-profile-surface] .entity-widget .work-grid img { width:100%; height:100%; min-height:0; border-radius:14px; object-fit:cover; box-shadow:none; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-widget-size="compact"] .mini-strip { grid-template-columns:1fr; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-widget-size="compact"] .mini-strip img:not(:first-child),
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-widget-size="compact"] .work-grid img:nth-child(n+3) { display:none; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-widget-size="featured"] .mini-strip { grid-template-columns:1.7fr 1fr; grid-template-rows:1fr 1fr; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-widget-size="featured"] .mini-strip img:first-child { grid-row:span 2; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget .work-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-widget-size="tall"] .work-grid { grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget .place-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget .place-row span {
  display:grid; grid-template-rows:minmax(0,1fr) auto; gap:6px; min-height:0; padding:0 0 7px; overflow:hidden; border-radius:14px; background:rgba(255,255,255,.68);
}
body.panda-app .entity-phone[data-profile-surface] .entity-widget .place-row img { width:100%; height:100%; min-height:0; object-fit:cover; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-widget-size="compact"] .place-row { grid-template-columns:1fr; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-widget-size="compact"] .place-row span:not(:first-child) { display:none; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-widget-size="tall"] .place-row { grid-template-columns:1fr; grid-template-rows:repeat(3,minmax(0,1fr)); }
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-widget-size="tall"] .place-row span { grid-template-columns:54px minmax(0,1fr); grid-template-rows:1fr; align-items:center; padding:0 9px 0 0; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget .relation-stack {
  position:relative; z-index:2; display:flex; flex:1 1 auto; align-items:center; justify-content:center; margin:0;
}
body.panda-app .entity-phone[data-profile-surface] .entity-widget .relation-stack img { width:46px; height:46px; margin-right:-12px; border-width:3px; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget .relation-stack span { align-self:flex-end; margin:0 0 2px 15px; color:#615968; font-size:10px; font-weight:900; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-widget-size="tall"] .relation-stack { flex-wrap:wrap; align-content:center; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-widget-size="tall"] .relation-stack img { width:62px; height:62px; margin:-5px; }
body.panda-app .entity-phone[data-profile-surface] .entity-widget.favorites .entity-favorite-preview { flex:1 1 auto; min-height:0; }

body.panda-app .entity-phone.is-profile-editing .entity-widget[data-profile-widget] {
  overflow:visible;
  box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--widget-accent) 34%,transparent),0 18px 42px rgba(53,43,62,.12);
}
body.panda-app .profile-widget-edit-controls { top:9px; right:9px; left:9px; align-items:center; }
body.panda-app .profile-widget-remove,
body.panda-app .profile-widget-drag { width:32px; height:32px; border:2px solid rgba(255,255,255,.96); box-shadow:0 7px 18px rgba(39,32,46,.15); }
body.panda-app .profile-widget-remove { background:rgba(255,82,82,.94); font-size:19px; }
body.panda-app .profile-widget-drag { background:rgba(255,255,255,.93); color:#5c5663; }
body.panda-app .profile-widget-edit-hint { padding:6px 10px; border-radius:999px; background:rgba(255,255,255,.88); color:#746d7b; box-shadow:0 6px 17px rgba(45,36,53,.08); font-size:9px; font-weight:900; backdrop-filter:blur(12px); }
body.panda-app .profile-widget-resize {
  position:absolute; z-index:7; right:9px; bottom:9px; display:flex; align-items:center; gap:5px; height:32px; padding:0 9px; pointer-events:none; border:2px solid rgba(255,255,255,.96); border-radius:999px; background:color-mix(in srgb,var(--widget-accent) 88%,white); color:#fff; box-shadow:0 7px 18px rgba(39,32,46,.16); opacity:0; font-family:inherit; touch-action:none; cursor:nwse-resize; transition:opacity 150ms ease,transform 180ms ease;
}
body.panda-app .entity-phone.is-profile-editing .profile-widget-resize { pointer-events:auto; opacity:1; }
body.panda-app .profile-widget-resize i { position:relative; display:block; width:12px; height:12px; }
body.panda-app .profile-widget-resize i::before,
body.panda-app .profile-widget-resize i::after { position:absolute; right:0; bottom:0; border-right:1.8px solid currentColor; border-bottom:1.8px solid currentColor; content:""; }
body.panda-app .profile-widget-resize i::before { width:11px; height:11px; }
body.panda-app .profile-widget-resize i::after { width:5px; height:5px; }
body.panda-app .profile-widget-resize span { font-size:9px; font-weight:950; white-space:nowrap; }
body.panda-app .entity-widget.is-profile-resizing { z-index:12; opacity:.97; contain:paint; transition:box-shadow 160ms ease,opacity 160ms ease!important; box-shadow:0 24px 52px rgba(43,35,51,.2)!important; }
body.panda-app .entity-widget.is-profile-dragging { z-index:12; opacity:.94; transform:scale(1.015) rotate(.15deg)!important; }
body.panda-app .entity-phone.is-profile-editing .entity-widget .widget-head,
body.panda-app .entity-phone.is-profile-editing .entity-widget > :not(.profile-widget-edit-controls):not(.profile-widget-resize) { pointer-events:none; }
body.panda-app .entity-phone[data-profile-surface] .profile-add-widget { grid-column:span 2; }
body.panda-app .profile-layout-coach {
  position:sticky; z-index:40; top:72px; display:flex; grid-column:span 2; align-items:center; justify-content:center; min-height:36px; margin:0 auto 2px; padding:0 14px; border:1px solid rgba(38,31,44,.07); border-radius:999px; background:rgba(255,255,255,.88); color:#625b69; box-shadow:0 10px 24px rgba(43,35,51,.1); font-size:9.5px; font-weight:900; backdrop-filter:blur(18px); animation:profileCoachIn 220ms ease both;
}
@keyframes profileCoachIn { from { opacity:0; transform:translateY(-6px) scale(.97); } to { opacity:1; transform:none; } }
@media (max-width:360px) {
  body.panda-app .entity-phone[data-profile-surface] .entity-preview-panel { gap:9px; margin-right:14px; margin-left:14px; }
  body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-profile-widget] { padding:13px; border-radius:23px; }
  body.panda-app .entity-phone[data-profile-surface] .entity-widget .widget-head h2 { font-size:14px; }
}

/* Discover V2 — one filter surface, useful destinations, then the live feed. */
body.panda-app .discover-v2-intro {
  z-index: 70;
  margin: 0 var(--pc-inset) 12px;
  padding: 76px 0 0;
}

body.panda-app .discover-v2-intro > .discover-v2-hero {
  min-height: 108px;
}

body.panda-app .discover-v2-intro .discover-v2-hero-copy {
  width: 64%;
  padding-left: 2px;
}

body.panda-app .discover-v2-intro .discover-v2-hero-copy > small {
  display: none;
}

body.panda-app .discover-v2-intro .discover-v2-hero > img {
  right: 0;
  bottom: -3px;
  width: 118px;
  height: 112px;
}

body.panda-app .discover-v2-search {
  position: relative;
  z-index: 4;
  grid-template-columns: 19px minmax(0, 1fr) 38px;
  min-height: 50px;
  margin-top: 10px;
  padding: 5px 6px 5px 15px;
  border: 1px solid rgba(63, 52, 74, 0.075);
  border-radius: 19px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 10px 26px rgba(46, 36, 58, 0.055);
}

body.panda-app .discover-v2-search > svg {
  width: 18px;
  height: 18px;
}

body.panda-app .discover-v2-search input {
  font-size: 11px;
  font-weight: 760;
}

body.panda-app .discover-v2-search .discover-v2-filter-trigger {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid rgba(235, 171, 21, 0.22);
  border-radius: 14px;
  background: #fff6d8;
  color: #9b6b06;
  box-shadow: none;
  transition: transform 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

body.panda-app .discover-v2-search .discover-v2-filter-trigger > svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
}

body.panda-app .discover-v2-search .discover-v2-filter-trigger.is-active {
  background: #ffc43d;
  color: #fff;
  box-shadow: 0 7px 16px rgba(239, 177, 29, 0.2);
  transform: rotate(90deg);
}

body.panda-app .discover-v2-controls {
  display: none !important;
}

body.panda-app .discover-v2-filter-panel[hidden] {
  display: none !important;
}

body.panda-app .discover-v2-filter-panel {
  position: relative;
  z-index: 3;
  display: grid;
  gap: 11px;
  margin-top: 8px;
  padding: 14px;
  border: 1px solid rgba(63, 52, 74, 0.075);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 18px 34px rgba(47, 36, 60, 0.09);
  animation: discover-filter-in 190ms cubic-bezier(.2,.8,.2,1) both;
}

body.panda-app .discover-v2-filter-panel > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 9px;
  border-bottom: 1px solid rgba(61, 50, 72, 0.07);
}

body.panda-app .discover-v2-filter-panel > header > div {
  display: flex;
  min-width: 0;
  align-items: baseline;
  gap: 8px;
}

body.panda-app .discover-v2-filter-panel > header strong {
  color: #1d1923;
  font-size: 12px;
  font-weight: 950;
}

body.panda-app .discover-v2-filter-panel > header span {
  overflow: hidden;
  color: #9a94a3;
  font-size: 8px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.panda-app .discover-v2-filter-panel > header button {
  flex: none;
  min-height: 26px;
  padding: 0 10px;
  border: 0;
  border-radius: 999px;
  background: #f5f2f7;
  color: #837d8c;
  font-size: 9px;
  font-weight: 850;
}

body.panda-app .discover-v2-filter-group {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: start;
  gap: 7px;
}

body.panda-app .discover-v2-filter-group > strong {
  padding-top: 6px;
  color: #635d6b;
  font-size: 9px;
  font-weight: 900;
}

body.panda-app .discover-v2-filter-group > div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

body.panda-app .discover-v2-filter-group button {
  min-height: 27px;
  padding: 0 10px;
  border: 0;
  border-radius: 999px;
  background: #f7f5f9;
  color: #817a89;
  font-size: 9px;
  font-weight: 850;
}

body.panda-app .discover-v2-filter-group button.is-active {
  background: #fff1bd;
  color: #9b6b05;
  box-shadow: inset 0 0 0 1px rgba(239, 178, 29, 0.24);
}

body.panda-app .discover-v2-common {
  margin-top: 12px;
}

body.panda-app .discover-v2-common > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 3px 8px;
}

body.panda-app .discover-v2-common h2 {
  margin: 0;
  color: #1c1822;
  font-size: 13px;
  font-weight: 950;
  letter-spacing: -0.025em;
}

body.panda-app .discover-v2-common > header span {
  color: #9b95a3;
  font-size: 8px;
  font-weight: 800;
}

body.panda-app .discover-v2-common nav {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  padding: 9px;
  border: 1px solid rgba(63, 52, 74, 0.07);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 10px 26px rgba(46, 36, 58, 0.05);
}

body.panda-app .discover-v2-common a {
  display: grid;
  min-width: 0;
  justify-items: center;
  gap: 4px;
  padding: 7px 2px 6px;
  border-radius: 14px;
  color: #28222f;
  text-decoration: none;
  transition: background-color 160ms ease, transform 160ms ease;
}

body.panda-app .discover-v2-common a:hover,
body.panda-app .discover-v2-common a:focus-visible {
  background: #fff8e5;
  transform: translateY(-1px);
}

body.panda-app .discover-v2-common img {
  width: 30px;
  height: 30px;
  object-fit: contain;
}

body.panda-app .discover-v2-common a > span {
  font-size: 9px;
  font-weight: 900;
  white-space: nowrap;
}

body.panda-app .home-phone .home-unified-stream {
  margin: 0 var(--pc-inset) 34px;
}

body.panda-app .home-unified-stream-title {
  margin: 0 3px 10px;
}

body.panda-app .home-unified-stream-title h2 {
  color: #18141e;
  font-size: 17px;
  font-weight: 950;
  letter-spacing: -0.035em;
}

body.panda-app .home-feed-ad-viewport {
  overflow: visible;
}

body.panda-app .home-feed-ad-track {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  transform: none !important;
}

body.panda-app .home-feed-ad-card {
  width: 100%;
  min-width: 0;
  min-height: 0;
  scroll-snap-align: none;
}

body.panda-app .home-feed-ad-controls {
  display: none !important;
}

@keyframes discover-filter-in {
  from { opacity: 0; transform: translateY(-5px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

/* V2 room composer: one expandable bubble, never a second floating bubble. */
body.panda-app .room-tool-row {
  position: absolute;
  right: 0;
  bottom: 62px;
  left: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 0;
  max-height: 48px;
  padding: 5px 7px;
  overflow: hidden;
  transition:
    max-height 320ms cubic-bezier(0.22, 1, 0.36, 1),
    padding 320ms cubic-bezier(0.22, 1, 0.36, 1),
    background-color 0.28s ease,
    box-shadow 0.28s ease;
}

body.panda-app .room-tool-row.is-expanded {
  max-height: 158px;
  padding-bottom: 5px;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 16px 36px rgba(34, 26, 48, 0.11);
}

body.panda-app .room-tool-primary {
  display: grid;
  order: 3;
  flex: 0 0 36px;
  grid-template-columns: repeat(6, 40px);
  justify-content: space-between;
  justify-items: center;
  gap: 0;
  padding-inline: 8px;
}

body.panda-app .room-tool-primary > button {
  width: 38px;
  height: 38px;
}

body.panda-app .room-tool-row .room-tool-icon-more {
  transition: transform 280ms cubic-bezier(0.22, 1, 0.36, 1);
}

body.panda-app .room-tool-row [data-room-tools-toggle].is-active .room-tool-icon-more {
  transform: rotate(45deg);
}

body.panda-app .room-primary-tool-panel,
body.panda-app .room-tool-drawer,
body.panda-app .room-emoji-panel {
  display: block;
  order: 1;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  opacity: 0;
  transform: translateY(7px);
  pointer-events: none;
  transition:
    height 300ms cubic-bezier(0.22, 1, 0.36, 1),
    opacity 180ms ease,
    transform 300ms cubic-bezier(0.22, 1, 0.36, 1);
  animation: none;
}

body.panda-app .room-tool-row.is-primary-expanded .room-primary-tool-panel {
  height: 94px;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

body.panda-app .room-tool-row.is-tools-expanded .room-tool-drawer {
  height: 94px;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

body.panda-app .room-tool-row.is-emoji-expanded {
  max-height: 174px;
}

body.panda-app .room-tool-row.is-emoji-expanded .room-emoji-panel {
  height: 110px;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

body.panda-app .room-primary-tool-scroll,
body.panda-app .room-tool-scroll,
body.panda-app .room-emoji-grid {
  display: flex;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  gap: 10px;
  padding: 9px 8px 4px;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline proximity;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8px, #000 calc(100% - 12px), transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 8px, #000 calc(100% - 12px), transparent 100%);
}

body.panda-app .room-tool-scroll::-webkit-scrollbar,
body.panda-app .room-primary-tool-scroll::-webkit-scrollbar,
body.panda-app .room-emoji-grid::-webkit-scrollbar { display: none; }

body.panda-app .room-primary-tool-scroll button,
body.panda-app .room-tool-drawer .room-tool-scroll button {
  display: grid;
  flex: 0 0 66px;
  width: 66px;
  height: 68px;
  place-items: center;
  align-content: center;
  gap: 5px;
  padding: 6px;
  border: 1px solid rgba(44, 35, 57, 0.055);
  border-radius: 16px;
  background: #f7f5fa;
  color: #2c2733;
  box-shadow: none;
  scroll-snap-align: start;
}

body.panda-app .room-primary-tool-scroll button > span,
body.panda-app .room-tool-drawer .room-tool-scroll button > span {
  display: grid;
  width: 27px;
  height: 27px;
  place-items: center;
  border-radius: 10px;
  background: #fff;
  color: #9a6a00;
  font-size: 16px;
  font-weight: 850;
  box-shadow: 0 5px 12px rgba(45, 35, 58, 0.06);
}

body.panda-app .room-primary-tool-scroll button > strong,
body.panda-app .room-tool-drawer .room-tool-scroll button > strong {
  font-size: 9px;
  font-weight: 850;
}

body.panda-app .room-emoji-panel > header {
  display: flex;
  height: 25px;
  align-items: center;
  gap: 7px;
  padding: 5px 4px 0;
}

body.panda-app .room-emoji-panel > header strong { font-size: 10px; }
body.panda-app .room-emoji-panel > header span { font-size: 8px; }
body.panda-app .room-emoji-panel > header button {
  width: 23px;
  height: 23px;
  margin-left: auto;
  background: #f4f1f7;
  box-shadow: none;
}

body.panda-app .room-emoji-grid { padding-top: 6px; }
body.panda-app .room-emoji-grid button {
  flex: 0 0 62px;
  width: 62px;
  height: 62px;
  aspect-ratio: auto;
  scroll-snap-align: start;
}

@media (prefers-reduced-motion: reduce) {
  body.panda-app .room-tool-row,
  body.panda-app .room-tool-row .room-tool-icon-more,
  body.panda-app .room-primary-tool-panel,
  body.panda-app .room-tool-drawer,
  body.panda-app .room-emoji-panel {
    transition-duration: 1ms;
  }
}

/* Resolve legacy states after the shared V2 component layer. */
body.panda-app .conversations-phone .pc-page-heading {
  padding-top: 0;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-v2-tabs button.is-active,
body.panda-app .entity-phone .entity-tabs button.active {
  border: 0;
  background: #fff;
  color: var(--pc-text);
  box-shadow: 0 5px 14px rgba(44, 35, 57, 0.07);
}

body.panda-app .entity-phone .entity-tabs button::after {
  display: none;
}

body.panda-app .bottom-nav a {
  border-radius: 14px;
  outline: none;
}

body.panda-app .bottom-nav a:focus-visible,
body.panda-app button:focus-visible,
body.panda-app input:focus-visible {
  outline: 2px solid rgba(246, 185, 30, 0.46);
  outline-offset: -2px;
}

/* Panda Campus V2 interface system — consistent control and content layers. */
body.panda-app {
  --pc-inset: 18px;
  --pc-space-1: 6px;
  --pc-space-2: 10px;
  --pc-space-3: 14px;
  --pc-space-4: 18px;
  --pc-radius-control: 16px;
  --pc-radius-card: 22px;
  --pc-text: #17141d;
  --pc-secondary: #827b8c;
  --pc-tertiary: #aaa3b0;
  --pc-line: rgba(37, 31, 47, 0.07);
  --pc-surface: rgba(255, 255, 255, 0.95);
  --pc-control: rgba(247, 245, 249, 0.94);
  --pc-yellow: #f6b91e;
  --pc-yellow-soft: #fff3c9;
  --pc-shadow-card: 0 10px 30px rgba(45, 35, 58, 0.055);
  --pc-shadow-control: 0 7px 20px rgba(45, 35, 58, 0.045);
}

/* Discover keeps the brand greeting, but no longer consumes half the screen. */
body.panda-app .discover-v2-intro {
  margin-top: 0;
  padding-top: 76px;
}

body.panda-app .discover-v2-hero {
  position: relative;
  display: flex;
  min-height: 116px;
  align-items: center;
  overflow: hidden;
}

body.panda-app .discover-v2-hero-copy {
  position: relative;
  z-index: 2;
  width: 66%;
  padding: 5px 0 9px 2px;
}

body.panda-app .discover-v2-intro .discover-v2-hero-copy > small {
  display: inline-flex;
  width: max-content;
  margin-bottom: 8px;
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--pc-control);
  color: var(--pc-secondary);
  font-size: 8px;
  font-weight: 850;
}

body.panda-app .discover-v2-greeting {
  display: flex;
  align-items: center;
  gap: 6px;
}

body.panda-app .discover-v2-intro .discover-v2-greeting h1 {
  margin: 0;
  color: var(--pc-text);
  font-size: 25px;
  font-weight: 950;
  line-height: 1;
  letter-spacing: -0.045em;
}

body.panda-app .discover-v2-greeting span { font-size: 19px; }

body.panda-app .discover-v2-intro .discover-v2-hero-copy > p {
  margin: 8px 0 0;
  color: #302a38;
  font-size: 11px;
  font-weight: 850;
}

body.panda-app .discover-v2-guide {
  position: relative;
  z-index: 1;
  margin-top: 8px;
  padding: 0 3px 3px;
  border: 0;
  background: transparent;
  color: #cf9410;
  font-family: inherit;
  font-size: 10px;
  font-weight: 900;
  text-align: left;
  cursor: pointer;
}

body.panda-app .discover-v2-guide::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: 0;
  bottom: 0;
  left: 0;
  height: 7px;
  border-radius: 70% 45% 60% 30%;
  background: linear-gradient(90deg, rgba(255, 210, 79, 0.48), rgba(255, 235, 161, 0.18));
  transform: rotate(-1deg);
}

body.panda-app .discover-v2-hero > img {
  position: absolute;
  right: -5px;
  bottom: -8px;
  width: 132px;
  height: 126px;
  object-fit: contain;
  object-position: center bottom;
  filter: drop-shadow(0 12px 16px rgba(54, 42, 66, 0.1));
}

/* Shared page title: one title, one status, one explanatory line. */
body.panda-app .pc-page-heading {
  margin: 0 var(--pc-inset) var(--pc-space-3);
  padding-top: 82px;
}

body.panda-app .pc-page-heading > div {
  display: flex;
  align-items: center;
  gap: 8px;
}

body.panda-app .pc-page-heading h1,
body.panda-app .pc-page-heading p { margin: 0; }
body.panda-app .pc-page-heading h1 { color: var(--pc-text); font-size: 25px; line-height: 1; letter-spacing: -0.04em; }
body.panda-app .pc-page-heading span {
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--pc-yellow-soft);
  color: #9a6c06;
  font-size: 8px;
  font-weight: 850;
}
body.panda-app .pc-page-heading p { margin-top: 7px; color: var(--pc-secondary); font-size: 10px; font-weight: 720; }

/* Search controls use the same height, radius and material everywhere. */
body.panda-app .conversations-search-row {
  gap: 8px;
  margin: 0 var(--pc-inset) var(--pc-space-3);
}
body.panda-app .conversations-search,
body.panda-app .conversations-filter-toggle {
  min-height: 46px;
  border: 1px solid var(--pc-line);
  border-radius: var(--pc-radius-control);
  background: var(--pc-surface);
  box-shadow: var(--pc-shadow-control);
}
body.panda-app .conversations-filter-toggle { width: 46px; height: 46px; }

/* A single segmented-control grammar for primary in-page tabs. */
body.panda-app .schedule-v2-tabs,
body.panda-app .entity-tabs {
  display: grid;
  min-height: 48px;
  padding: 4px;
  border: 1px solid var(--pc-line);
  border-radius: 18px;
  background: var(--pc-control);
  box-shadow: none;
}
body.panda-app .schedule-v2-tabs { grid-template-columns: repeat(3, 1fr); margin: 0 var(--pc-inset) var(--pc-space-3); }
body.panda-app .entity-tabs { grid-template-columns: repeat(2, 1fr); }
body.panda-app .schedule-v2-tabs button,
body.panda-app .entity-tabs button {
  min-height: 38px;
  border: 0;
  border-radius: 14px;
  background: transparent;
  color: var(--pc-secondary);
  font-family: inherit;
  font-size: 11px;
  font-weight: 850;
  box-shadow: none;
}
body.panda-app .schedule-v2-tabs button.is-active,
body.panda-app .entity-tabs button.active {
  background: #fff;
  color: var(--pc-text);
  box-shadow: 0 5px 14px rgba(44, 35, 57, 0.07);
}

/* Content cards share one quiet material; colour belongs to status and media. */
body.panda-app .conversation-row,
body.panda-app .panda-v2-command,
body.panda-app .create-action-templates,
body.panda-app .panda-v2-summary,
body.panda-app .now-v2-action-card,
body.panda-app .schedule-week-card,
body.panda-app .schedule-todo-board,
body.panda-app .entity-profile-bubble,
body.panda-app .entity-widget {
  border: 1px solid var(--pc-line);
  border-radius: var(--pc-radius-card);
  background-color: var(--pc-surface);
  box-shadow: var(--pc-shadow-card);
}

body.panda-app .conversation-list { gap: var(--pc-space-2); margin-inline: var(--pc-inset); }
body.panda-app .conversation-row { min-height: 88px; padding: 12px; }
body.panda-app .conversation-title strong { font-size: 14px; }
body.panda-app .conversation-preview { margin-top: 3px; font-size: 10px; }

body.panda-app .panda-v2-summary {
  gap: 4px;
  margin-inline: var(--pc-inset);
  padding: 5px;
}
body.panda-app .panda-v2-summary > button { border-radius: 16px; }
body.panda-app .panda-v2-summary > button.is-active { background: var(--pc-yellow-soft); box-shadow: none; }

body.panda-app .schedule-v2-context {
  margin: 0 var(--pc-inset) var(--pc-space-3);
  padding: 82px 0 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.panda-app .schedule-v2-context strong { font-size: 21px; }
body.panda-app .schedule-v2-context p { max-width: 320px; font-size: 10px; }
body.panda-app .schedule-context-meta span { border: 1px solid var(--pc-line); background: var(--pc-control); }

body.panda-app .entity-tabs-shell { margin: var(--pc-space-3) var(--pc-inset); }
body.panda-app .entity-profile-bubble { margin-inline: var(--pc-inset); }
body.panda-app .entity-panel { gap: var(--pc-space-2); margin-inline: var(--pc-inset); }

@media (max-width: 360px) {
  body.panda-app { --pc-inset: 14px; }
  body.panda-app .discover-v2-hero > img { right: -14px; width: 120px; }
  body.panda-app .discover-v2-filter-toggle { padding-inline: 4px; font-size: 8px; }
}
body.panda-app .home-feed-ad-card[hidden] { display: none !important; }
body.panda-app .home-feed-ad-controls[hidden] { display: none !important; }
body.panda-app .discover-v2-empty {
  margin: 16px 0 4px;
  padding: 24px 16px;
  border-radius: 18px;
  background: #f8f6fa;
  color: #98919f;
  font-size: 10px;
  font-weight: 750;
  text-align: center;
}
body.panda-app .discover-v2-empty[hidden] { display: none !important; }

/* The original Panda sticker drawer is part of the real room composer. */
.room-emoji-panel {
  display: block;
  margin-bottom: 8px;
  padding: 10px;
  border: 1px solid rgba(40, 33, 51, 0.065);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 16px 38px rgba(41, 31, 54, 0.12);
  backdrop-filter: blur(20px);
  transform-origin: bottom center;
  animation: pandaEmojiOpen 180ms ease-out both;
}

.room-emoji-panel[hidden] { display: none !important; }

.room-emoji-panel > header {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 0 3px 7px;
}

.room-emoji-panel > header strong { color: #1e1924; font-size: 11px; }
.room-emoji-panel > header span { color: #aaa4b1; font-size: 8px; font-weight: 750; }
.room-emoji-panel > header button {
  width: 25px;
  height: 25px;
  margin-left: auto;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #f4f1f7;
  color: #827b89;
  font-size: 16px;
  line-height: 1;
}

.room-emoji-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

.room-emoji-grid button {
  display: grid;
  place-items: center;
  min-width: 0;
  aspect-ratio: 1;
  padding: 4px;
  overflow: hidden;
  border: 0;
  border-radius: 15px;
  background: linear-gradient(145deg, #fbf9fd, #fffaf0);
  cursor: pointer;
}

.room-emoji-grid button:active { transform: scale(0.94); }
.room-emoji-grid img { width: 100%; height: 100%; object-fit: contain; }

.room-sticker-message { align-items: flex-end; }
.room-sticker-image {
  display: block;
  width: min(120px, 36vw);
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 9px 12px rgba(45, 35, 58, 0.09));
}

@keyframes pandaEmojiOpen {
  from { opacity: 0; transform: translateY(8px) scale(0.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

/* V2 discover: a stable action surface instead of the old functional hero. */
body.panda-app .home-phone > .hero,
body.panda-app .home-phone > .shortcut-card {
  display: none !important;
}

body.panda-app .discover-v2-intro {
  margin: 20px 18px 16px;
  padding: 20px;
  border: 1px solid rgba(45, 38, 57, 0.06);
  border-radius: 30px;
  background:
    radial-gradient(circle at 92% 8%, rgba(255, 215, 92, 0.23), transparent 36%),
    radial-gradient(circle at 8% 94%, rgba(191, 174, 255, 0.18), transparent 38%),
    rgba(255, 255, 255, 0.91);
  box-shadow: 0 22px 52px rgba(54, 43, 71, 0.075);
  backdrop-filter: blur(18px);
}

body.panda-app .discover-v2-intro > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

body.panda-app .discover-v2-intro > header small,
body.panda-app .discover-v2-intro > header h1,
body.panda-app .discover-v2-intro > header p {
  display: block;
  margin: 0;
}

body.panda-app .discover-v2-intro > header small {
  color: #a5822b;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.035em;
}

body.panda-app .discover-v2-intro > header h1 {
  margin-top: 3px;
  color: #15111b;
  font-size: 27px;
  line-height: 1.15;
  letter-spacing: -0.035em;
}

body.panda-app .discover-v2-intro > header p {
  margin-top: 5px;
  color: #87818f;
  font-size: 11px;
  font-weight: 700;
}

body.panda-app .discover-v2-live {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 6px;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(255, 248, 222, 0.9);
  color: #a37205;
  font-size: 9px;
  font-weight: 850;
}

body.panda-app .discover-v2-live i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #58cea1;
  box-shadow: 0 0 0 4px rgba(88, 206, 161, 0.12);
}

body.panda-app .discover-v2-search {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) 38px;
  align-items: center;
  gap: 9px;
  min-height: 54px;
  margin-top: 18px;
  padding: 6px 7px 6px 16px;
  border: 1px solid rgba(54, 47, 66, 0.075);
  border-radius: 22px;
  background: rgba(248, 247, 251, 0.88);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}

body.panda-app .discover-v2-search svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: #8f8998;
  stroke-width: 2;
}

body.panda-app .discover-v2-search input {
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #211c29;
  font: inherit;
  font-size: 12px;
  font-weight: 750;
}

body.panda-app .discover-v2-search input::placeholder { color: #aaa5b2; }

body.panda-app .discover-v2-search button {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 15px;
  background: linear-gradient(145deg, #ffd45b, #ffb91a);
  color: #fff;
  font-size: 25px;
  line-height: 1;
  box-shadow: 0 9px 18px rgba(243, 174, 25, 0.22);
  cursor: pointer;
}

body.panda-app .discover-v2-feed-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 13px;
}

body.panda-app .discover-v2-feed-tabs button {
  min-height: 32px;
  border: 0;
  border-radius: 999px;
  background: rgba(242, 240, 247, 0.8);
  color: #8c8694;
  font-size: 10px;
  font-weight: 850;
  cursor: pointer;
}

body.panda-app .discover-v2-feed-tabs button.is-active {
  background: #fff2c8;
  color: #9c6d03;
  box-shadow: inset 0 0 0 1px rgba(241, 182, 42, 0.34);
}

body.panda-app .discover-v2-categories {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 6px;
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px solid rgba(66, 56, 80, 0.07);
}

body.panda-app .discover-v2-categories a {
  display: grid;
  justify-items: center;
  gap: 6px;
  color: #5f5868;
  text-decoration: none;
  font-size: 9px;
  font-weight: 850;
}

body.panda-app .discover-v2-categories i {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 13px;
  background: linear-gradient(145deg, #f5f1ff, #fff9e9);
  color: #766b91;
  font-size: 10px;
  font-style: normal;
  font-weight: 950;
  box-shadow: 0 7px 16px rgba(67, 54, 85, 0.07);
}

body.panda-app .home-phone .home-unified-stream {
  margin-top: 0;
  scroll-margin-top: 92px;
}

/* V2 now: the active relationship/action comes first; schedule and TODO stay bound below. */
body.panda-app .now-v2-action-card {
  margin-bottom: 14px;
  padding: 18px;
  border: 1px solid rgba(236, 182, 48, 0.22);
  border-radius: 28px;
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 216, 101, 0.28), transparent 40%),
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(252,248,255,.94));
  box-shadow: 0 20px 46px rgba(57, 45, 74, 0.07);
}

body.panda-app .now-v2-action-card > header,
body.panda-app .now-v2-action-body,
body.panda-app .now-v2-next-step {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

body.panda-app .now-v2-action-card > header small,
body.panda-app .now-v2-action-card > header h2 {
  display: block;
  margin: 0;
}

body.panda-app .now-v2-action-card > header small {
  color: #9c9487;
  font-size: 9px;
  font-weight: 850;
}

body.panda-app .now-v2-action-card > header h2 {
  margin-top: 3px;
  color: #18131d;
  font-size: 20px;
  letter-spacing: -0.03em;
}

body.panda-app .now-v2-action-card > header > span {
  padding: 7px 9px;
  border-radius: 999px;
  background: #fff0bf;
  color: #9d6f09;
  font-size: 9px;
  font-weight: 900;
}

body.panda-app .now-v2-action-body {
  margin-top: 15px;
}

body.panda-app .now-v2-people { display: flex; padding-left: 4px; }
body.panda-app .now-v2-people img {
  width: 36px;
  height: 36px;
  margin-left: -5px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #f5f2f7;
  object-fit: cover;
  box-shadow: 0 5px 13px rgba(55, 44, 68, 0.11);
}

body.panda-app .now-v2-progress {
  display: grid;
  grid-template-columns: minmax(70px, 108px) auto;
  align-items: center;
  gap: 9px;
  flex: 1 1 auto;
  justify-content: end;
}

body.panda-app .now-v2-progress > span {
  display: block;
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #eeebf2;
}

body.panda-app .now-v2-progress i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #9a72f6, #ffca3e);
}

body.panda-app .now-v2-progress strong {
  color: #6c6476;
  font-size: 11px;
}

body.panda-app .now-v2-next-step {
  margin-top: 15px;
  padding: 12px 12px 12px 14px;
  border-radius: 20px;
  background: rgba(246, 244, 249, 0.84);
}

body.panda-app .now-v2-next-step span,
body.panda-app .now-v2-next-step small,
body.panda-app .now-v2-next-step strong,
body.panda-app .now-v2-next-step em { display: block; }

body.panda-app .now-v2-next-step span { min-width: 0; }
body.panda-app .now-v2-next-step small { color: #9b94a2; font-size: 8px; font-weight: 850; }
body.panda-app .now-v2-next-step strong { margin-top: 2px; color: #211b27; font-size: 12px; }
body.panda-app .now-v2-next-step em {
  margin-top: 3px;
  overflow: hidden;
  color: #817a88;
  font-size: 9px;
  font-style: normal;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.panda-app .now-v2-next-step button {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 15px;
  background: linear-gradient(145deg, #ffd35b, #ffb51a);
  color: #fff;
  font-size: 25px;
  box-shadow: 0 8px 17px rgba(240, 171, 27, 0.22);
  cursor: pointer;
}

@media (max-width: 400px) {
  body.panda-app .discover-v2-intro { margin-inline: 16px; padding: 17px; }
  body.panda-app .discover-v2-categories { gap: 3px; }
  body.panda-app .discover-v2-categories i { width: 31px; height: 31px; }
}

.entity-phone {
  overflow-y: auto;
  overflow-x: hidden;
  padding-bottom: 0;
  background:
    radial-gradient(circle at 72% 9%, rgba(255, 198, 25, 0.12), transparent 24%),
    linear-gradient(180deg, #fff9fb 0, #fff 42%, #fbfbfd 100%);
  scrollbar-width: none;
}

.entity-phone::-webkit-scrollbar {
  display: none;
}

.entity-status {
  position: absolute;
  z-index: 30;
}

.entity-topbar {
  position: sticky;
  z-index: 24;
  top: 0;
  display: grid;
  grid-template-columns: 38px 1fr 38px;
  align-items: center;
  gap: 10px;
  padding: 45px 18px 10px;
  background: linear-gradient(180deg, rgba(255, 249, 251, 0.96), rgba(255, 249, 251, 0.72));
  backdrop-filter: blur(16px);
  transition: opacity 0.35s ease, transform 0.35s ease, filter 0.35s ease;
}

.entity-topbar a,
.entity-topbar button {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.86);
  color: #16131f;
  box-shadow: 0 8px 20px rgba(36, 30, 56, 0.08);
}

.entity-topbar svg {
  width: 20px;
  height: 20px;
}

.entity-topbar path,
.entity-topbar circle {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.entity-topbar span {
  justify-self: center;
  color: #f0377b;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0;
}

.entity-cover {
  position: relative;
  height: 138px;
  margin: 104px 15px 0;
  overflow: hidden;
  border-radius: 24px;
  background: linear-gradient(135deg, #f8a5bf 0%, #fbd5a8 47%, #9fc6ff 100%);
  box-shadow: 0 14px 30px rgba(68, 49, 78, 0.1);
}

.cover-sky {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 24% 25%, rgba(255, 255, 255, 0.42) 0 32px, transparent 33px),
    radial-gradient(circle at 78% 20%, rgba(255, 255, 255, 0.35) 0 46px, transparent 47px),
    linear-gradient(160deg, rgba(84, 61, 160, 0.12), transparent 58%);
}

.cover-sky i {
  position: absolute;
  display: block;
  width: 118px;
  height: 44px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.28);
  transform: rotate(-10deg);
}

.cover-sky i:nth-child(1) {
  left: 21px;
  bottom: 22px;
}

.cover-sky i:nth-child(2) {
  right: 13px;
  bottom: 41px;
  width: 151px;
}

.cover-sky i:nth-child(3) {
  left: 153px;
  top: 21px;
  width: 76px;
  height: 28px;
}

.entity-cover-more {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.88);
  color: #17151f;
  font-family: inherit;
  font-size: 18px;
  font-weight: 950;
  line-height: 1;
  padding: 0;
  box-shadow: 0 10px 22px rgba(68, 51, 78, 0.12);
}

.entity-cover-more svg {
  width: 20px;
  height: 20px;
  fill: #ffc12b;
  stroke: #b87800;
  stroke-width: 1.2;
  stroke-linejoin: round;
}

.entity-identity-card {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: 62px 1fr 54px;
  column-gap: 12px;
  margin: -38px 21px 0;
  padding: 16px 14px 14px;
  border: 1px solid rgba(68, 51, 78, 0.07);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 18px 34px rgba(68, 51, 78, 0.12);
}

.entity-avatar {
  display: grid;
  place-items: center;
  width: 62px;
  height: 62px;
  border: 3px solid #fff;
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 32%, #fff 0 9px, transparent 10px),
    linear-gradient(135deg, #f65b9b, #8e68ff);
  color: #fff;
  font-size: 25px;
  font-weight: 950;
  box-shadow: 0 10px 18px rgba(155, 85, 150, 0.2);
}

.entity-main-info {
  grid-column: 2 / -1;
  min-width: 0;
}

.entity-name-row {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 3px;
}

.entity-name-row h1 {
  margin: 0;
  color: #17151f;
  font-size: 21px;
  line-height: 1;
  font-weight: 950;
}

.entity-name-row b {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #f0377b;
  box-shadow: inset 0 0 0 3px #fff;
}

.entity-main-info p {
  margin: 8px 0 5px;
  color: #4b4658;
  font-size: 11px;
  font-weight: 800;
}

.entity-main-info span {
  display: block;
  color: #8b8798;
  font-size: 10px;
  font-weight: 700;
}

.star-index {
  justify-self: end;
  min-width: 64px;
  padding: 7px 8px;
  border: 1px solid rgba(255, 188, 42, 0.2);
  border-radius: 14px;
  background: linear-gradient(145deg, #fffaf0, #fff4d6);
  color: #17151f;
  font-family: inherit;
  text-align: center;
  box-shadow: 0 8px 18px rgba(238, 174, 31, 0.1);
}

.star-index strong {
  display: block;
  color: #17151f;
  font-size: 16px;
  font-weight: 950;
}

.star-index small {
  display: block;
  color: #8b6b1c;
  font-size: 7px;
  font-weight: 900;
  white-space: nowrap;
}

.star-index small i {
  margin-right: 2px;
  color: #ffb800;
  font-style: normal;
}

.star-index span {
  color: #a58438;
  font-size: 7px;
  font-weight: 800;
}

.entity-stats {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin-top: 17px;
}

.entity-assets {
  gap: 6px;
  margin-top: 14px;
}

.entity-assets button {
  min-width: 0;
  padding: 8px 3px 7px;
  border: 1px solid rgba(31, 27, 43, 0.06);
  border-radius: 13px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(250, 248, 253, 0.9));
  color: inherit;
  font-family: inherit;
  box-shadow: 0 5px 12px rgba(48, 40, 66, 0.035);
}

.entity-assets button:first-child,
.entity-assets button:last-child {
  background: linear-gradient(145deg, #fffaf0, #fff4d8);
  border-color: rgba(255, 188, 42, 0.16);
}

.entity-assets button strong,
.entity-assets button span,
.entity-assets button small {
  display: block;
  white-space: nowrap;
}

.entity-assets button small {
  margin-top: 3px;
  overflow: hidden;
  color: #aaa5b4;
  font-size: 6px;
  font-weight: 750;
  text-overflow: ellipsis;
}

.entity-stats div {
  display: grid;
  gap: 4px;
  justify-items: center;
}

.entity-stats strong {
  color: #17151f;
  font-size: 13px;
  font-weight: 950;
}

.entity-stats span {
  color: #8b8798;
  font-size: 9px;
  font-weight: 800;
}

.entity-private-data {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 8px;
  margin-top: 15px;
  padding: 9px 12px;
  border: 1px solid rgba(31, 27, 43, 0.06);
  border-radius: 14px;
  background: #faf9fc;
  color: #777283;
  font-family: inherit;
  text-align: left;
}

.entity-private-data span {
  padding: 3px 6px;
  border-radius: 999px;
  background: #efedf4;
  color: #8f899b;
  font-size: 7px;
  font-weight: 850;
}

.entity-private-data strong {
  color: #4d4857;
  font-size: 9px;
  font-weight: 900;
}

.entity-private-data i {
  color: #aaa5b4;
  font-size: 15px;
  font-style: normal;
  font-weight: 900;
}

.entity-actions {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 15px;
}

.entity-actions button {
  height: 34px;
  border: 1px solid rgba(74, 65, 91, 0.1);
  border-radius: 999px;
  background: #fff;
  color: #17151f;
  font-family: inherit;
  font-size: 11px;
  font-weight: 950;
}

.entity-actions .primary {
  border-color: transparent;
  background: #ffeaf1;
  color: #f0377b;
}

.entity-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 0 21px;
  padding-top: 11px;
}

.entity-tabs button {
  position: relative;
  height: 41px;
  border: 0;
  background: transparent;
  color: #706b7f;
  font-family: inherit;
  font-size: 13px;
  font-weight: 900;
}

.entity-tabs button.active {
  color: #f0377b;
}

.entity-tabs button.active::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 5px;
  width: 34px;
  height: 3px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: #f0377b;
}

.entity-panel {
  margin: 0 21px;
  padding-bottom: 90px;
}

.entity-preview-panel {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.entity-widget {
  min-height: 118px;
  padding: 12px;
  border: 1px solid rgba(62, 54, 78, 0.07);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 10px 24px rgba(58, 50, 75, 0.06);
}

.widget-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

.widget-head h2 {
  margin: 0;
  color: #f0377b;
  font-size: 12px;
  line-height: 1;
  font-weight: 950;
}

.widget-head a,
.widget-head button {
  padding: 0;
  border: 0;
  background: transparent;
  color: #8b8798;
  font-family: inherit;
  font-size: 9px;
  font-weight: 850;
  text-decoration: none;
}

.entity-widget[data-profile-widget] {
  position: relative;
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.entity-widget[data-profile-widget]::after {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #66d59a;
  box-shadow: 0 0 0 3px rgba(102, 213, 154, 0.12);
  content: "";
}

.entity-widget[data-profile-widget].is-widget-active {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(240, 55, 123, 0.14);
}

.entity-widget-empty {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 4px;
  color: #8c8494;
  font-family: inherit;
  text-align: center;
  border: 1px dashed rgba(109, 98, 123, 0.22);
  background: rgba(255, 255, 255, 0.5);
}

.entity-widget-empty i {
  display: grid;
  place-items: center;
  width: 31px;
  height: 31px;
  border-radius: 50%;
  background: linear-gradient(145deg, #fff1c4, #f0e8ff);
  color: #8a65e8;
  font-size: 19px;
  font-style: normal;
}

.entity-widget-empty strong { font-size: 10px; }
.entity-widget-empty small { font-size: 7px; color: #aaa3af; }

.profile-widget-sheet[hidden] { display: none !important; }

.profile-widget-sheet {
  position: absolute;
  z-index: 620;
  inset: 0;
}

.profile-widget-scrim {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(31, 25, 37, 0.22);
  backdrop-filter: blur(7px);
}

.profile-widget-panel {
  position: absolute;
  right: 15px;
  bottom: 78px;
  left: 15px;
  padding: 16px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 22px 60px rgba(40, 30, 48, 0.2);
}

.profile-widget-panel > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.profile-widget-panel header small,
.profile-widget-panel header h2 { display: block; margin: 0; }
.profile-widget-panel header small { color: #d89c19; font-size: 8px; font-weight: 900; }
.profile-widget-panel header h2 { margin-top: 3px; font-size: 16px; font-weight: 950; }
.profile-widget-panel header > button { width: 30px; height: 30px; border: 0; border-radius: 50%; background: #f4f1f7; font-size: 19px; }
.profile-widget-panel > p { margin: 9px 0 12px; color: #8b8492; font-size: 8px; line-height: 1.5; font-weight: 750; }

.profile-widget-options { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.profile-widget-options > button {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  padding: 8px;
  border: 1px solid rgba(84, 71, 96, 0.07);
  border-radius: 14px;
  background: #faf8fc;
  font-family: inherit;
  text-align: left;
}
.profile-widget-options i { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9px; background: #f2e9ff; color: #8b60e9; font-style: normal; }
.profile-widget-options span, .profile-widget-options strong, .profile-widget-options small { display: block; min-width: 0; }
.profile-widget-options strong { font-size: 8.5px; }
.profile-widget-options small { margin-top: 2px; color: #9b94a1; font-size: 6.5px; }
.profile-widget-options b { grid-column: 2; color: #55b985; font-size: 6.5px; }

.profile-widget-store {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-top: 10px;
  padding: 11px 13px;
  border: 0;
  border-radius: 16px;
  background: #2d2435;
  color: #fff;
  font-family: inherit;
  text-align: left;
}
.profile-widget-store span, .profile-widget-store strong, .profile-widget-store small { display: block; }
.profile-widget-store strong { font-size: 10px; }
.profile-widget-store small { margin-top: 2px; color: #c9c0ce; font-size: 7px; }
.profile-widget-store b { color: #ffc83d; font-size: 20px; }

.profile-widget-toast {
  position: absolute;
  z-index: 640;
  right: 50%;
  bottom: 86px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(38, 31, 44, 0.94);
  color: #fff;
  font-size: 8px;
  font-weight: 850;
  transform: translateX(50%);
}

.mini-strip,
.work-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}

.mini-strip i,
.work-grid i {
  height: 37px;
  border-radius: 8px;
  background: linear-gradient(135deg, #ffdce8, #a9c9ff);
}

.entity-widget p {
  margin: 10px 0 0;
  color: #6f6a7d;
  font-size: 10px;
  font-weight: 800;
}

.place-row {
  display: grid;
  gap: 7px;
}

.place-row span {
  padding: 8px 9px;
  border-radius: 10px;
  background: #fff6fa;
  color: #514b5f;
  font-size: 10px;
  font-weight: 850;
}

.work-grid {
  grid-template-columns: repeat(2, 1fr);
}

.work-grid i {
  height: 32px;
}

.relation-stack {
  display: flex;
  align-items: center;
  margin-top: 17px;
}

.relation-stack i {
  width: 28px;
  height: 28px;
  margin-right: -7px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: linear-gradient(135deg, #ffd9e7, #d5ccff);
}

.relation-stack span {
  margin-left: 13px;
  color: #514b5f;
  font-size: 10px;
  font-weight: 850;
}

.entity-feed-panel {
  display: grid;
  gap: 12px;
}

.entity-post-card {
  padding: 14px;
  border: 1px solid rgba(62, 54, 78, 0.07);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 12px 26px rgba(58, 50, 75, 0.07);
}

.entity-post-card header {
  display: flex;
  align-items: center;
  gap: 10px;
}

.post-dot {
  width: 34px;
  height: 34px;
  border-radius: 50%;
}

.post-dot.rose {
  background: linear-gradient(135deg, #f85e9b, #ffbf8a);
}

.post-dot.violet {
  background: linear-gradient(135deg, #8e68ff, #c7b7ff);
}

.entity-post-card strong {
  display: block;
  color: #17151f;
  font-size: 12px;
  font-weight: 950;
}

.entity-post-card header span {
  color: #8b8798;
  font-size: 9px;
  font-weight: 800;
}

.entity-post-card p {
  margin: 12px 0;
  color: #292536;
  font-size: 12px;
  line-height: 1.45;
  font-weight: 750;
}

.post-placeholder-media {
  height: 72px;
  margin-bottom: 10px;
  border-radius: 13px;
  background: linear-gradient(135deg, #ffd8e6, #f6d5ff 45%, #d6e8ff);
}

.entity-attached-object {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 40px;
  padding: 9px 11px;
  border-radius: 12px;
  background: #fff8e4;
}

.entity-attached-object b {
  color: #d98a00;
  font-size: 10px;
}

.entity-attached-object span {
  color: #514b5f;
  font-size: 10px;
  font-weight: 850;
}

.entity-bottom-nav {
  position: sticky;
  z-index: 22;
  top: auto;
  bottom: 9px;
  left: auto;
  right: auto;
  height: 62px;
  margin: 10px 21px 8px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.96);
}

.entity-bottom-nav .active {
  color: #111;
}

.entity-bottom-nav .active img {
  filter: none;
}

.org-space {
  background:
    radial-gradient(circle at 72% 9%, rgba(126, 92, 255, 0.12), transparent 24%),
    linear-gradient(180deg, #faf7ff 0, #fff 42%, #fbfbfd 100%);
}

.org-space .entity-topbar {
  background: linear-gradient(180deg, rgba(250, 247, 255, 0.96), rgba(250, 247, 255, 0.72));
}

.org-space .entity-topbar span,
.org-space .widget-head h2,
.org-space .entity-tabs button.active {
  color: #6f4cff;
}

.org-space .entity-tabs button.active::after,
.org-space .entity-name-row b {
  background: #6f4cff;
}

.org-space .entity-cover {
  background: linear-gradient(135deg, #3c2c5c 0%, #936bff 46%, #ffc978 100%);
}

.org-space .entity-avatar {
  background:
    radial-gradient(circle at 35% 32%, #fff 0 9px, transparent 10px),
    linear-gradient(135deg, #6f4cff, #ffbd57);
}

.org-space .entity-actions .primary {
  background: #f0eaff;
  color: #6f4cff;
}

.place-space {
  background:
    radial-gradient(circle at 72% 9%, rgba(29, 179, 102, 0.12), transparent 24%),
    linear-gradient(180deg, #f5fff9 0, #fff 42%, #fbfbfd 100%);
}

.place-space .entity-topbar {
  background: linear-gradient(180deg, rgba(245, 255, 249, 0.96), rgba(245, 255, 249, 0.72));
}

.place-space .entity-topbar span,
.place-space .widget-head h2,
.place-space .entity-tabs button.active {
  color: #138a54;
}

.place-space .entity-tabs button.active::after,
.place-space .entity-name-row b {
  background: #138a54;
}

.place-space .entity-cover {
  background: linear-gradient(135deg, #c9ead9 0%, #78b98b 45%, #7aa6d8 100%);
}

.place-space .entity-avatar {
  background:
    radial-gradient(circle at 35% 32%, #fff 0 9px, transparent 10px),
    linear-gradient(135deg, #138a54, #8dbaff);
  font-size: 22px;
}

.place-space .entity-actions .primary {
  background: #e8fff2;
  color: #138a54;
}

.connect-sheet {
  position: absolute;
  z-index: 50;
  inset: 0;
  display: grid;
  align-items: end;
}

.sheet-scrim {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(15, 12, 24, 0.25);
}

.sheet-panel {
  position: relative;
  z-index: 2;
  margin: 0 13px 13px;
  padding: 10px 18px 18px;
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 -18px 40px rgba(28, 22, 43, 0.16);
}

.sheet-panel > i {
  display: block;
  width: 42px;
  height: 4px;
  margin: 0 auto 17px;
  border-radius: 999px;
  background: #ddd9e4;
}

.sheet-panel h2 {
  margin: 0 0 8px;
  color: #17151f;
  font-size: 20px;
  font-weight: 950;
}

.sheet-panel p {
  margin: 0 0 15px;
  color: #777386;
  font-size: 12px;
  line-height: 1.45;
  font-weight: 750;
}

.connect-options {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 15px;
}

.connect-options button {
  min-height: 42px;
  border: 1px solid rgba(62, 54, 78, 0.08);
  border-radius: 14px;
  background: #fff7fb;
  color: #514b5f;
  font-family: inherit;
  font-size: 11px;
  font-weight: 900;
}

.sheet-actions {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 10px;
}

.sheet-actions button {
  height: 38px;
  border: 0;
  border-radius: 999px;
  background: #f4f2f8;
  color: #514b5f;
  font-family: inherit;
  font-size: 12px;
  font-weight: 950;
}

.sheet-actions .primary {
  background: linear-gradient(135deg, #f65b9b, #7f61ff);
  color: #fff;
}

.console-phone {
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0 16px 24px;
  background:
    radial-gradient(circle at 78% 8%, rgba(255, 197, 20, 0.12), transparent 22%),
    radial-gradient(circle at 18% 31%, rgba(123, 97, 255, 0.12), transparent 28%),
    linear-gradient(180deg, #fff9fb 0, #fff 34%, #fbfbfd 100%);
  scrollbar-width: none;
}

.console-phone::-webkit-scrollbar {
  display: none;
}

.console-status {
  left: 25px;
  right: 25px;
}

.console-topbar {
  position: sticky;
  z-index: 22;
  top: 0;
  display: grid;
  grid-template-columns: 38px 1fr 54px;
  gap: 10px;
  align-items: center;
  margin: 0 -16px;
  padding: 47px 17px 12px;
  background: linear-gradient(180deg, rgba(255, 249, 251, 0.98), rgba(255, 249, 251, 0.78));
  backdrop-filter: blur(16px);
}

.console-topbar a,
.console-topbar button {
  display: grid;
  place-items: center;
  height: 36px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: #17151f;
  box-shadow: 0 9px 20px rgba(43, 35, 62, 0.08);
}

.console-topbar a {
  width: 36px;
}

.console-topbar button {
  font-family: inherit;
  font-size: 11px;
  font-weight: 950;
}

.console-topbar svg {
  width: 20px;
  height: 20px;
}

.console-topbar path {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.console-topbar div {
  min-width: 0;
}

.console-topbar span {
  display: block;
  color: #8b8798;
  font-size: 10px;
  font-weight: 850;
}

.console-topbar .console-account-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid rgba(52, 44, 70, 0.07);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: #6f6a7d;
  box-shadow: 0 9px 20px rgba(43, 35, 62, 0.06);
  white-space: nowrap;
}

.console-topbar strong {
  display: block;
  margin-top: 3px;
  color: #17151f;
  font-size: 19px;
  line-height: 1;
  font-weight: 950;
}

.console-current-card,
.console-switch-card,
.console-architecture,
.console-checklist {
  margin-bottom: 14px;
  padding: 14px;
  border: 1px solid rgba(52, 44, 70, 0.07);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 12px 28px rgba(52, 44, 70, 0.07);
}

.console-current-card {
  display: grid;
  grid-template-columns: 1fr;
  gap: 13px;
}

.console-current-card span {
  display: block;
  margin-bottom: 6px;
  color: #f0377b;
  font-size: 10px;
  font-weight: 950;
}

.console-current-card h1 {
  margin: 0 0 7px;
  color: #17151f;
  font-size: 24px;
  line-height: 1;
  font-weight: 950;
}

.console-current-card p {
  width: 82%;
  margin: 0;
  color: #6f6a7d;
  font-size: 12px;
  line-height: 1.45;
  font-weight: 760;
}

.console-current-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 14px;
  background: #f7f5f9;
}

.console-current-actions span {
  flex: 0 0 auto;
  margin: 0;
  color: #17151f;
  font-size: 11px;
}

.console-current-actions small {
  color: #8b8798;
  font-size: 10px;
  line-height: 1.35;
  font-weight: 750;
}

.console-current-actions button {
  height: 40px;
  border: 1px solid rgba(52, 44, 70, 0.08);
  border-radius: 999px;
  background: #17151f;
  color: #fff;
  font-family: inherit;
  font-size: 12px;
  font-weight: 950;
}

.console-current-actions button + button {
  background: #fff;
  color: #17151f;
}

.console-switch-card p {
  margin: 0 0 12px;
  color: #514b5f;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 800;
}

.console-entity-switch {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
}

.console-entity-switch button {
  min-height: 36px;
  border: 1px solid rgba(52, 44, 70, 0.08);
  border-radius: 12px;
  background: #fff;
  color: #6f6a7d;
  font-family: inherit;
  font-size: 11px;
  font-weight: 950;
}

.console-entity-switch button.active {
  border-color: transparent;
  background: #17151f;
  color: #fff;
}

.console-action-module {
  cursor: pointer;
}

.console-view {
  margin-bottom: 14px;
}

.console-identity-card {
  min-height: 126px;
  margin-bottom: 12px;
  padding: 18px;
  overflow: hidden;
  border-radius: 24px;
  color: #17151f;
  box-shadow: 0 14px 32px rgba(55, 44, 75, 0.1);
}

.console-identity-card.person {
  background:
    radial-gradient(circle at 85% 15%, rgba(255, 255, 255, 0.56) 0 38px, transparent 39px),
    linear-gradient(135deg, #ffeaf3, #fff 55%, #f0eaff);
}

.console-identity-card.org {
  background:
    radial-gradient(circle at 85% 15%, rgba(255, 255, 255, 0.6) 0 38px, transparent 39px),
    linear-gradient(135deg, #efe9ff, #fff 52%, #fff1d8);
}

.console-identity-card.place {
  background:
    radial-gradient(circle at 84% 17%, rgba(255, 255, 255, 0.6) 0 38px, transparent 39px),
    linear-gradient(135deg, #e8fff2, #fff 54%, #eaf2ff);
}

.console-identity-card span {
  display: block;
  color: #f0377b;
  font-size: 10px;
  font-weight: 950;
}

.console-identity-card.org span {
  color: #6842ea;
}

.console-identity-card.place span {
  color: #138a54;
}

.console-identity-card h1 {
  margin: 9px 0 8px;
  font-size: 23px;
  line-height: 1;
  font-weight: 950;
}

.console-identity-card p {
  width: 72%;
  margin: 0 0 13px;
  color: #6f6a7d;
  font-size: 12px;
  line-height: 1.45;
  font-weight: 750;
}

.console-mini-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.console-mini-stats b {
  padding: 6px 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.74);
  color: #393345;
  font-size: 10px;
  font-weight: 900;
}

.console-module-grid,
.console-place-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.console-module-grid article,
.console-place-grid article {
  min-height: 96px;
  padding: 12px;
  border: 1px solid rgba(52, 44, 70, 0.07);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 10px 22px rgba(52, 44, 70, 0.055);
}

.console-module-grid i {
  display: block;
  width: 27px;
  height: 27px;
  margin-bottom: 10px;
  border-radius: 9px;
  background: linear-gradient(135deg, #fce0eb, #d9ceff);
}

.console-module-grid article:nth-child(2n) i {
  background: linear-gradient(135deg, #e8f7ff, #fff0ce);
}

.console-module-grid h2,
.console-place-grid h2 {
  margin: 0 0 6px;
  color: #17151f;
  font-size: 13px;
  line-height: 1.15;
  font-weight: 950;
}

.console-module-grid p,
.console-place-grid p {
  margin: 0;
  color: #777386;
  font-size: 10px;
  line-height: 1.35;
  font-weight: 750;
}

.console-place-grid article {
  min-height: 76px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(232, 255, 242, 0.6));
}

.console-sheet {
  position: absolute;
  z-index: 70;
  inset: 0;
  display: grid;
  align-items: end;
}

.console-sheet-scrim {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(15, 12, 24, 0.24);
}

.console-sheet-panel {
  position: relative;
  z-index: 2;
  margin: 0 13px 13px;
  padding: 10px 16px 17px;
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 -18px 42px rgba(28, 22, 43, 0.16);
}

.console-sheet-panel > i {
  display: block;
  width: 42px;
  height: 4px;
  margin: 0 auto 16px;
  border-radius: 999px;
  background: #ddd9e4;
}

.console-sheet-panel h2 {
  margin: 0 0 7px;
  color: #17151f;
  font-size: 20px;
  line-height: 1;
  font-weight: 950;
}

.console-sheet-panel p {
  margin: 0 0 14px;
  color: #777386;
  font-size: 12px;
  line-height: 1.45;
  font-weight: 750;
}

.console-entity-list,
.console-create-list {
  display: grid;
  gap: 9px;
}

.console-entity-list a,
.console-create-list a,
.console-create-list button {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4px;
  min-height: 58px;
  padding: 12px 13px;
  border: 1px solid rgba(52, 44, 70, 0.08);
  border-radius: 16px;
  background: #fff;
  color: #17151f;
  font-family: inherit;
  text-align: left;
  text-decoration: none;
}

.console-entity-list a.active {
  border-color: rgba(240, 55, 123, 0.2);
  background: #fff6fa;
}

.console-entity-list b,
.console-create-list a b,
.console-create-list b {
  font-size: 14px;
  line-height: 1;
  font-weight: 950;
}

.console-entity-list span,
.console-create-list a span,
.console-create-list span {
  color: #7b7688;
  font-size: 11px;
  font-weight: 760;
}

.console-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.console-section-head h2 {
  margin: 0;
  color: #17151f;
  font-size: 16px;
  line-height: 1;
  font-weight: 950;
}

.console-section-head span {
  color: #8b8798;
  font-size: 10px;
  font-weight: 900;
}

.console-flow {
  display: grid;
  grid-template-columns: 58px 22px 72px 22px 1fr;
  align-items: center;
  gap: 5px;
}

.console-flow b {
  display: grid;
  place-items: center;
  min-height: 43px;
  padding: 8px;
  border-radius: 13px;
  background: #f7f4fb;
  color: #393345;
  font-size: 10px;
  line-height: 1.25;
  text-align: center;
}

.console-flow i {
  height: 2px;
  border-radius: 999px;
  background: #d6d1df;
}

.console-token-list {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.console-token-list span {
  padding: 7px 9px;
  border-radius: 999px;
  background: #f6f3fb;
  color: #514b5f;
  font-size: 10px;
  font-weight: 850;
}

.conversations-phone {
  padding: 76px 20px 98px;
  background:
    radial-gradient(circle at 10% 8%, rgba(123, 97, 255, 0.09), transparent 27%),
    radial-gradient(circle at 94% 13%, rgba(255, 197, 20, 0.12), transparent 25%),
    linear-gradient(180deg, #ffffff 0%, #fafafd 58%, #fffdf8 100%);
}

.conversations-header {
  display: flex;
  align-items: center;
  margin-bottom: 12px;
  padding: 0 4px;
}

.conversations-header > div {
  display: flex;
  align-items: baseline;
  gap: 10px;
  min-width: 0;
}

.conversations-header div > span {
  display: inline;
  color: #8f8a9c;
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}

.conversations-header h1 {
  margin: 0;
  color: #111015;
  font-size: 28px;
  font-weight: 950;
  letter-spacing: -1px;
}

.conversations-header button {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.96);
  color: #17151f;
  box-shadow: 0 10px 24px rgba(30, 27, 40, 0.09);
}

.conversations-header button svg {
  width: 20px;
  height: 20px;
}

.conversations-header button path,
.conversations-search path,
.conversations-search circle {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
}

.conversations-search {
  display: flex;
  align-items: center;
  gap: 10px;
  height: 46px;
  padding: 0 15px;
  border: 1px solid rgba(34, 31, 44, 0.05);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.94);
  color: #8f8a9d;
  box-shadow: 0 11px 25px rgba(30, 27, 40, 0.06);
}

.conversations-search svg {
  flex: 0 0 auto;
  width: 19px;
  height: 19px;
}

.conversations-search input {
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #17151f;
  font: 750 13px/1 inherit;
}

.conversations-search input::placeholder {
  color: #aaa6b4;
}

.conversations-search-row {
  position: relative;
  z-index: 31;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 46px;
  gap: 9px;
}

.conversations-filter-toggle {
  position: relative;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 1px solid rgba(34, 31, 44, 0.055);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.94);
  color: #5f5969;
  box-shadow: 0 11px 25px rgba(30, 27, 40, 0.06);
}

.conversations-filter-toggle svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
}

.conversations-filter-toggle.is-open,
.conversations-filter-toggle.has-filter {
  border-color: rgba(255, 190, 43, 0.62);
  color: #211d29;
}

.conversations-filter-toggle > span {
  position: absolute;
  top: -5px;
  right: -5px;
  display: grid;
  place-items: center;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border: 2px solid #fff;
  border-radius: 999px;
  background: #ffc33a;
  color: #17131e;
  font-size: 9px;
  font-weight: 950;
}

.conversations-filter-toggle > span[hidden] {
  display: none;
}

.conversations-filter-panel {
  position: absolute;
  z-index: 30;
  top: 130px;
  right: 18px;
  left: 18px;
  padding: 16px;
  border: 1px solid rgba(34, 31, 44, 0.06);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 24px 48px rgba(37, 31, 48, 0.18);
  backdrop-filter: blur(20px);
}

.conversations-filter-panel[hidden] {
  display: none;
}

.conversations-filter-panel header,
.conversations-filter-panel footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.conversations-filter-panel header strong {
  color: #19151f;
  font-size: 15px;
  font-weight: 950;
}

.conversations-filter-panel header button {
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 50%;
  background: #f4f1f7;
  color: #756f7f;
  font: 800 20px/1 inherit;
}

.conversation-filter-group {
  margin-top: 14px;
}

.conversation-filter-group > span {
  display: block;
  margin-bottom: 7px;
  color: #918b9a;
  font-size: 10px;
  font-weight: 850;
}

.conversation-filter-group > div {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.conversation-filter-group button {
  min-height: 31px;
  padding: 0 12px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: #f5f3f8;
  color: #6f6979;
  font-family: inherit;
  font-size: 10px;
  font-weight: 850;
}

.conversation-filter-group button.is-active {
  border-color: rgba(255, 193, 49, 0.68);
  background: #fff8df;
  color: #322a1c;
}

.conversations-filter-panel footer {
  gap: 10px;
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid rgba(35, 31, 44, 0.065);
}

.conversations-filter-panel footer span {
  flex: 1;
  color: #918b9a;
  font-size: 9px;
  font-weight: 800;
  text-align: center;
}

.conversations-filter-panel footer button {
  height: 34px;
  min-width: 64px;
  border: 0;
  border-radius: 12px;
  background: #f2eff5;
  color: #655f6d;
  font-family: inherit;
  font-size: 10px;
  font-weight: 900;
}

.conversations-filter-panel footer [data-conversation-filter-done] {
  background: #1c1722;
  color: #fff;
}

.conversations-filter {
  display: grid;
  grid-template-columns: 1.22fr repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin: 14px 0 12px;
}

.conversations-filter button {
  min-width: 0;
  height: 34px;
  padding: 0 5px;
  border: 0;
  border-radius: 999px;
  background: rgba(244, 242, 248, 0.94);
  color: #797485;
  font-family: inherit;
  font-size: 10px;
  font-weight: 850;
  white-space: nowrap;
}

.conversations-filter button span {
  margin-left: 2px;
  font-size: 9px;
}

.conversations-filter button.is-active {
  background: #17151f;
  color: #fff;
  box-shadow: 0 8px 18px rgba(23, 21, 31, 0.16);
}

.conversation-list {
  display: grid;
  gap: 10px;
  margin-top: 12px;
  padding: 0 0 16px;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.conversation-swipe-row {
  position: relative;
  min-height: 92px;
  overflow: hidden;
  border-radius: 22px;
}

.conversation-swipe-row[hidden],
.conversation-swipe-row.is-filtered-out {
  display: none;
}

.conversation-swipe-row.is-recycling {
  opacity: 0;
  transform: translateX(-20px) scale(0.98);
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.conversation-empty {
  margin: 4px 0 0;
  padding: 34px 22px;
  border: 1px dashed rgba(116, 94, 185, 0.14);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.62);
  color: #9a94a5;
  font-size: 11px;
  font-weight: 750;
  line-height: 1.6;
  text-align: center;
}

.conversation-empty[hidden] {
  display: none;
}

.conversation-recycle-action {
  position: absolute;
  z-index: 1;
  top: 50%;
  right: 8px;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 0;
  border-radius: 50%;
  background: linear-gradient(145deg, #48d493, #1faf6e);
  color: #fff;
  font-family: inherit;
  font-size: 22px;
  line-height: 1;
  font-weight: 950;
  opacity: 0;
  transform: translateY(-50%) scale(0.9);
  box-shadow: 0 8px 18px rgba(31, 175, 110, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.34);
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.conversation-swipe-row.is-open .conversation-recycle-action,
.conversation-swipe-row.is-dragging .conversation-recycle-action {
  opacity: 1;
  transform: translateY(-50%) scale(1);
}

.conversation-row {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) 38px;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 92px;
  padding: 12px 14px;
  border: 1px solid rgba(34, 31, 44, 0.055);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.94);
  color: inherit;
  font-family: inherit;
  text-align: left;
  touch-action: pan-y;
  box-shadow: 0 12px 28px rgba(30, 27, 40, 0.065);
  transition: transform 0.22s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.2s ease;
}

.conversation-swipe-row.is-open .conversation-row {
  transform: translateX(-64px);
}

.conversation-row:active {
  box-shadow: 0 7px 18px rgba(30, 27, 40, 0.08);
}

.conversation-avatar {
  position: relative;
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  overflow: visible;
  border: 4px solid rgba(255, 255, 255, 0.96);
  border-radius: 18px;
  color: #fff;
  box-shadow: 0 8px 18px rgba(35, 30, 52, 0.12);
}

.conversation-avatar b {
  font-size: 19px;
  font-weight: 950;
}

.conversation-avatar.pink {
  background: linear-gradient(145deg, #ff9bc3, #ff6e9e);
}

.conversation-avatar.purple {
  background: linear-gradient(145deg, #9e83ff, #7252e8);
}

.conversation-avatar.green {
  background: linear-gradient(145deg, #62d9b1, #28aa84);
}

.conversation-avatar.orange {
  background: linear-gradient(145deg, #ffc267, #ff9148);
}

.conversation-avatar.official {
  background: linear-gradient(145deg, #695f7d, #282231);
}

.conversation-avatar i {
  position: absolute;
  right: -2px;
  bottom: -2px;
  width: 12px;
  height: 12px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #4ed29a;
}

.conversation-copy,
.conversation-title {
  display: flex;
  min-width: 0;
}

.conversation-copy {
  flex-direction: column;
  gap: 5px;
}

.conversation-title {
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.conversation-title strong {
  overflow: hidden;
  color: #17151f;
  font-size: 14px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.conversation-title time {
  flex: 0 0 auto;
  color: #a09baa;
  font-size: 10px;
  font-weight: 750;
}

.conversation-preview {
  overflow: hidden;
  color: #6f697a;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.conversation-context {
  display: flex;
  align-items: center;
  gap: 4px;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  color: #8a8396;
  font-size: 9px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.conversation-context b,
.conversation-context i {
  flex: 0 0 auto;
  padding: 2px 5px;
  border-radius: 999px;
  font-size: 7px;
  font-style: normal;
  font-weight: 900;
  line-height: 1.2;
}

.conversation-context b {
  background: rgba(255, 195, 57, 0.18);
  color: #b87300;
}

.conversation-context i {
  background: rgba(132, 100, 239, 0.1);
  color: #745ed0;
}

.conversation-context span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.conversation-progress-ring {
  position: relative;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: conic-gradient(#ffc339 calc(var(--conversation-progress) * 1%), #efedf4 0);
  box-shadow: 0 6px 14px rgba(255, 190, 46, 0.18);
}

.conversation-progress-ring::before {
  position: absolute;
  inset: 4px;
  border-radius: inherit;
  background: rgba(255, 255, 255, 0.98);
  content: "";
}

.conversation-progress-ring i {
  position: relative;
  z-index: 1;
  color: #342f3c;
  font-size: 9px;
  font-style: normal;
  font-weight: 950;
}

.conversation-progress-ring i::after {
  content: "%";
  font-size: 6px;
}

.conversation-row > em {
  position: absolute;
  top: 8px;
  left: 51px;
  display: grid;
  place-items: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border: 3px solid rgba(255, 255, 255, 0.98);
  border-radius: 999px;
  background: #ff4f86;
  color: #fff;
  font-size: 9px;
  font-style: normal;
  font-weight: 950;
}

.room-phone {
  position: relative;
  overflow: hidden;
  padding: 0;
  background:
    radial-gradient(circle at 16% 14%, rgba(123, 97, 255, 0.12), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(255, 197, 20, 0.18), transparent 26%),
    linear-gradient(180deg, #fbfbff 0%, #ffffff 58%, #fffaf3 100%);
}

.room-topbar {
  position: absolute;
  z-index: 8;
  top: 12px;
  right: 22px;
  left: 22px;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) 80px;
  align-items: center;
  gap: 9px;
  transition:
    opacity 0.58s ease,
    filter 0.58s ease;
}

.room-nav-bubble,
.room-status-pill,
.room-tool-row button,
.room-input-bubble button {
  border: 0;
  font-family: inherit;
  box-shadow: 0 10px 24px rgba(32, 24, 48, 0.08);
  backdrop-filter: blur(18px);
}

.room-nav-bubble {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.88);
  color: #15121c;
  transition:
    background-color 0.58s ease,
    border-color 0.58s ease,
    box-shadow 0.58s ease,
    opacity 0.58s ease;
}

.room-nav-bubble.is-open {
  background: #fff7dc;
  color: #f0aa00;
  box-shadow:
    inset 0 0 0 1px rgba(255, 197, 20, 0.42),
    0 12px 24px rgba(255, 197, 20, 0.14);
}

.room-nav-bubble svg {
  width: 19px;
  height: 19px;
}

.room-nav-bubble path,
.room-input-bubble path {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.room-nav-bubble span {
  transform: translateY(-1px);
  font-size: 14px;
  letter-spacing: 1px;
}

.room-status-pill {
  display: inline-grid;
  grid-template-columns: 10px minmax(0, 1fr) 14px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-width: 0;
  height: 36px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.74);
  color: #3b3548;
  font-size: 11px;
  font-weight: 900;
  transition:
    background-color 0.58s ease,
    border-color 0.58s ease,
    box-shadow 0.58s ease,
    opacity 0.58s ease;
}

.room-status-pill span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.room-status-pill i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #9b7cff;
  box-shadow: 0 0 0 4px rgba(155, 124, 255, 0.14);
}

.room-status-pill i[data-room-tone="pink"] {
  background: #ff8fbd;
  box-shadow: 0 0 0 5px rgba(255, 143, 189, 0.14);
}

.room-status-pill i[data-room-tone="purple"] {
  background: #9b7cff;
}

.room-status-pill i[data-room-tone="green"] {
  background: #4cc995;
  box-shadow: 0 0 0 5px rgba(76, 201, 149, 0.14);
}

.room-status-pill i[data-room-tone="orange"] {
  background: #ffc514;
  box-shadow: 0 0 0 5px rgba(255, 197, 20, 0.18);
}

.room-status-pill svg {
  width: 14px;
  height: 14px;
  transition: transform 0.24s ease;
}

.room-status-pill path {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.room-status-pill.is-open svg {
  transform: rotate(180deg);
}

.room-top-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.room-status-drawer {
  position: absolute;
  z-index: 7;
  top: 58px;
  left: 50%;
  width: min(314px, calc(100% - 44px));
  transform: translateX(-50%);
}

.room-status-drawer[hidden] {
  display: none;
}

.room-bubble-panel[hidden] {
  display: none;
}

.room-bubble-panel {
  position: absolute;
  z-index: 10;
  top: 58px;
  right: 20px;
  width: 184px;
  padding: 12px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.78),
    0 18px 38px rgba(31, 24, 44, 0.12);
  backdrop-filter: blur(22px);
}

.room-bubble-panel header {
  display: grid;
  gap: 2px;
  margin-bottom: 10px;
}

.room-bubble-panel header span {
  color: #211c2c;
  font-size: 12px;
  font-weight: 950;
}

.room-bubble-panel header strong {
  color: #9a93a8;
  font-size: 9px;
  font-weight: 850;
}

.room-bubble-options {
  display: grid;
  gap: 7px;
}

.room-bubble-options button {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 6px 10px 6px 7px;
  border: 0;
  border-radius: 14px;
  background: rgba(247, 245, 251, 0.76);
  color: #342e40;
  font-family: inherit;
  font-size: 11px;
  font-weight: 900;
  text-align: left;
}

.room-bubble-options button.is-selected {
  background: rgba(255, 255, 255, 0.92);
  box-shadow:
    inset 0 0 0 1px rgba(255, 197, 20, 0.34),
    0 10px 20px rgba(31, 24, 44, 0.07);
}

.room-bubble-swatch {
  display: block;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.68),
    0 8px 16px rgba(24, 20, 32, 0.12);
}

.room-bubble-swatch.yellow {
  background: linear-gradient(135deg, #ffe7b0, #fff8ed);
}

.room-bubble-swatch.purple {
  background: linear-gradient(135deg, #7b61ff, #ff8fbd);
}

.room-bubble-swatch.black {
  background: linear-gradient(135deg, #101018, #343142);
}

.room-status-drawer-card {
  padding: 12px;
  border: 1px solid rgba(123, 97, 255, 0.12);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 16px 34px rgba(44, 34, 70, 0.12);
  backdrop-filter: blur(20px);
}

.room-status-drawer-card header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.room-status-drawer-card header span {
  color: #8b849a;
  font-size: 10px;
  font-weight: 900;
}

.room-status-drawer-card header strong {
  min-width: 0;
  overflow: hidden;
  color: #f0377b;
  font-size: 11px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.room-status-drawer-card p {
  margin: 0 0 11px;
  color: #211d2c;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 950;
}

.room-status-drawer-card div {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

.room-status-drawer-card span {
  display: grid;
  gap: 5px;
  justify-items: center;
  min-width: 0;
  color: #8a8497;
  font-size: 8px;
  font-weight: 850;
  text-align: center;
}

.room-status-drawer-card i {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #f3eefc;
  color: #282436;
  font-style: normal;
  font-weight: 950;
}

.room-status-drawer-card b {
  overflow: hidden;
  max-width: 100%;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.room-status-drawer-card .is-current i {
  background: #9b7cff;
  color: #fff;
  box-shadow: 0 9px 18px rgba(155, 124, 255, 0.22);
}

.room-thread {
  --room-thread-top-fade: 30px;
  --room-thread-bottom-fade: 38px;
  position: absolute;
  inset: 58px 0 102px;
  overflow-y: auto;
  padding: 0 20px 34px;
  -webkit-mask-image: linear-gradient(
    to bottom,
    transparent 0,
    #000 var(--room-thread-top-fade),
    #000 calc(100% - var(--room-thread-bottom-fade)),
    transparent 100%
  );
  mask-image: linear-gradient(
    to bottom,
    transparent 0,
    #000 var(--room-thread-top-fade),
    #000 calc(100% - var(--room-thread-bottom-fade)),
    transparent 100%
  );
  scrollbar-width: none;
}

.room-phone[data-room-status-expanded="true"] .room-thread {
  inset: 172px 0 102px;
}

.room-thread::-webkit-scrollbar {
  display: none;
}

.room-date-divider {
  display: grid;
  justify-items: center;
  gap: 2px;
  width: fit-content;
  margin: 10px auto 18px;
  border: 0;
  background: transparent;
  color: #514b5f;
  font-family: inherit;
  font-size: 11px;
  font-weight: 750;
}

.room-date-divider i {
  display: block;
  width: 86px;
  height: 5px;
  border-radius: 999px 76% 999px 68%;
  background: linear-gradient(90deg, transparent, rgba(255, 197, 20, 0.95), transparent);
  transform: rotate(-1deg);
}

.room-system-card {
  width: fit-content;
  max-width: 82%;
  margin: 4px auto 16px;
  padding: 8px 13px;
  border-radius: 999px;
  background: rgba(246, 242, 255, 0.86);
  color: #7b61ff;
  font-size: 11px;
  font-weight: 900;
}

.room-system-card {
  color: #8a8497;
  background: rgba(246, 246, 250, 0.78);
}

.room-message-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0 0 14px;
}

.room-message-row.user {
  justify-content: flex-end;
}

.room-avatar,
.room-user-avatar {
  flex: 0 0 auto;
  width: 31px;
  height: 31px;
  border-radius: 50%;
  object-fit: cover;
}

.room-avatar {
  filter: drop-shadow(0 8px 12px rgba(20, 20, 20, 0.1));
}

.room-peer-avatar {
  display: grid;
  place-items: center;
  border: 2px solid rgba(255, 255, 255, 0.92);
  color: #fff;
  font-size: 12px;
  font-weight: 950;
  line-height: 1;
}

.room-peer-avatar.pink {
  background: linear-gradient(145deg, #ff9bc3, #ff6e9e);
}

.room-peer-avatar.purple {
  background: linear-gradient(145deg, #9e83ff, #7252e8);
}

.room-peer-avatar.green {
  background: linear-gradient(145deg, #62d9b1, #28aa84);
}

.room-peer-avatar.orange {
  background: linear-gradient(145deg, #ffc267, #ff9148);
}

.room-user-avatar {
  border: 2px solid rgba(255, 255, 255, 0.9);
  object-position: 48% 29%;
}

.room-bubble {
  max-width: 235px;
  margin: 0;
  padding: 13px 15px;
  border-radius: 14px 18px 18px;
  background: rgba(255, 255, 255, 0.9);
  color: #2b2735;
  font-size: 12px;
  line-height: 1.55;
  font-weight: 760;
  box-shadow: 0 12px 28px rgba(25, 18, 38, 0.07);
}

.room-message-row.user .room-bubble {
  border-radius: 18px 14px 18px 18px;
  background: linear-gradient(135deg, #fff0d9, #fff8ed);
}

.room-phone[data-user-bubble-style="yellow"] .room-message-row.user .room-bubble {
  background: linear-gradient(135deg, #fff0d9, #fff8ed);
  color: #2b2735;
  box-shadow: 0 13px 28px rgba(255, 197, 20, 0.1);
}

.room-phone[data-user-bubble-style="purple"] .room-message-row.user .room-bubble {
  background: linear-gradient(135deg, #7b61ff 0%, #a362ff 48%, #ff8fbd 100%);
  color: #fff;
  box-shadow: 0 16px 32px rgba(123, 97, 255, 0.18);
}

.room-phone[data-user-bubble-style="black"] .room-message-row.user .room-bubble {
  background: linear-gradient(135deg, #111018 0%, #282535 100%);
  color: #fff;
  box-shadow: 0 16px 32px rgba(17, 16, 24, 0.2);
}

.room-phone[data-room-type="conversation"] .room-message-row.panda .room-bubble {
  border: 1px solid rgba(123, 97, 255, 0.12);
  background: linear-gradient(145deg, rgba(249, 246, 255, 0.98), rgba(255, 255, 255, 0.96));
}

.room-phone[data-room-type="conversation"] .room-message-row.panda .room-bubble::before {
  display: block;
  margin-bottom: 4px;
  color: #7b61ff;
  content: "胖达协作";
  font-size: 9px;
  font-weight: 950;
  letter-spacing: 0.3px;
}

.room-facts-card,
.room-candidate-card,
.room-status-card,
.room-agreement-card,
.room-intake-summary {
  width: min(308px, calc(100% - 43px));
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 12px 28px rgba(25, 18, 38, 0.07);
  backdrop-filter: blur(18px);
}

.room-intake-summary {
  padding: 13px;
  border: 1px solid rgba(255, 197, 20, 0.32);
  background: linear-gradient(145deg, rgba(255, 252, 244, 0.98), rgba(255, 255, 255, 0.98));
}

.room-intake-summary > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 9px;
}

.room-intake-summary > header span,
.room-intake-summary > header strong {
  color: #b77c00;
  font-size: 9px;
  font-weight: 900;
}

.room-intake-summary h3 {
  margin: 3px 0 0;
  color: #25212e;
  font-size: 15px;
  font-weight: 950;
}

.room-intake-summary dl {
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(42, 36, 56, 0.06);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.72);
}

.room-intake-summary dl div {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 10px;
  padding: 7px 9px;
  border-bottom: 1px solid rgba(42, 36, 56, 0.06);
}

.room-intake-summary dl div:last-child { border-bottom: 0; }
.room-intake-summary dt,
.room-intake-summary dd { margin: 0; font-size: 10px; line-height: 1.4; }
.room-intake-summary dt { color: #91899e; font-weight: 850; }
.room-intake-summary dd { color: #2c2735; font-weight: 900; text-align: right; }

.room-intake-summary > footer {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 10px;
}

.room-intake-summary > footer button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-width: 72px;
  height: 34px;
  border: 0;
  border-radius: 999px;
  background: #f2eef7;
  color: #625a70;
  font-family: inherit;
  font-size: 12px;
  font-weight: 950;
}

.room-intake-summary > footer button.primary {
  background: linear-gradient(135deg, #ffd35b, #ffb52e);
  color: #fff;
  box-shadow: 0 8px 18px rgba(255, 181, 46, 0.22);
}

.room-agreement-card {
  padding: 14px;
  border: 1px solid rgba(123, 97, 255, 0.13);
  background:
    radial-gradient(circle at 96% 4%, rgba(255, 197, 20, 0.16), transparent 28%),
    linear-gradient(145deg, rgba(251, 248, 255, 0.98), rgba(255, 255, 255, 0.98));
  box-shadow: 0 16px 34px rgba(75, 54, 130, 0.1);
}

.room-agreement-card > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.room-agreement-card > header span {
  color: #7b61ff;
  font-size: 9px;
  font-weight: 950;
  letter-spacing: 0.2px;
}

.room-agreement-card > header strong {
  flex: 0 0 auto;
  color: #6f6683;
  font-size: 9px;
  font-weight: 900;
}

.room-agreement-card h3 {
  margin: 7px 0 8px;
  color: #211c2c;
  font-size: 15px;
  font-weight: 950;
}

.room-agreement-progress {
  height: 5px;
  margin-bottom: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: #eee9f6;
}

.room-agreement-progress i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #7b61ff, #ff8fbd, #ffc514);
}

.room-agreement-card dl {
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(42, 36, 56, 0.06);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.72);
}

.room-agreement-card dl div {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 10px;
  min-height: 30px;
  padding: 7px 10px;
  border-bottom: 1px solid rgba(42, 36, 56, 0.06);
}

.room-agreement-card dl div:last-child {
  border-bottom: 0;
}

.room-agreement-card dt,
.room-agreement-card dd {
  margin: 0;
  font-size: 10px;
  line-height: 1.35;
}

.room-agreement-card dt {
  color: #8c8599;
  font-weight: 850;
}

.room-agreement-card dd {
  color: #2c2637;
  font-weight: 900;
  text-align: right;
}

.room-agreement-confirmations {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}

.room-agreement-confirmations span {
  padding: 5px 8px;
  border-radius: 999px;
  background: #f1edf8;
  color: #776f85;
  font-size: 8px;
  font-weight: 900;
}

.room-agreement-card > p {
  margin: 9px 0;
  color: #827a91;
  font-size: 9px;
  font-weight: 750;
  line-height: 1.4;
}

.room-agreement-card > footer {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

.room-agreement-card > footer button {
  height: 31px;
  padding: 0 6px;
  border: 0;
  border-radius: 10px;
  background: #f2eef8;
  color: #625a70;
  font-family: inherit;
  font-size: 10px;
  font-weight: 900;
}

.room-agreement-card > footer button.primary {
  background: #17151f;
  color: #fff;
}

.room-agreement-card > footer button.primary.is-confirmed {
  background: #36b98a;
}

.room-facts-card {
  overflow: hidden;
}

.room-facts-card div {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) 14px;
  align-items: center;
  gap: 10px;
  min-height: 33px;
  padding: 0 13px;
  border-bottom: 1px solid rgba(35, 32, 45, 0.07);
}

.room-facts-card div:last-child {
  border-bottom: 0;
}

.room-facts-card span {
  color: #2b2735;
  font-size: 11px;
  font-weight: 900;
}

.room-facts-card strong {
  min-width: 0;
  overflow: hidden;
  color: #8b849a;
  font-size: 11px;
  font-weight: 850;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.room-facts-card b {
  color: #7c768d;
  font-size: 17px;
}

.room-candidate-card {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  padding: 10px;
}

.room-candidate-card article {
  position: relative;
  min-width: 0;
  padding: 8px 7px 9px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: inset 0 0 0 1px rgba(30, 28, 40, 0.05);
  cursor: pointer;
}

.room-candidate-card article.is-selected {
  background: linear-gradient(180deg, #fff7e7, #ffffff);
  box-shadow: inset 0 0 0 1px rgba(255, 197, 20, 0.5), 0 10px 20px rgba(255, 197, 20, 0.1);
}

.room-candidate-photo {
  display: block;
  width: 100%;
  height: 70px;
  margin-bottom: 7px;
  border-radius: 12px;
  object-fit: cover;
  object-position: center top;
  background: #f3eff8;
}

.room-candidate-card article:nth-child(2) .room-candidate-photo {
  background: #fff2df;
}

.room-candidate-card article:nth-child(3) .room-candidate-photo {
  background: #e8f8f3;
}

.room-candidate-card strong {
  display: block;
  color: #262230;
  font-size: 11px;
  font-weight: 950;
}

.room-candidate-card span {
  color: #f0a000;
  font-size: 10px;
  font-weight: 900;
}

.room-candidate-card p {
  margin: 5px 0 0;
  overflow: hidden;
  color: #7b7588;
  font-size: 8px;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.room-candidate-card i {
  position: absolute;
  top: 7px;
  right: 7px;
  display: grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #eee9ff;
  color: #9b7cff;
  font-size: 10px;
  font-style: normal;
  font-weight: 950;
}

.room-candidate-card article.is-selected i {
  background: #ffc514;
  color: #fff;
}

.room-candidate-card > button {
  grid-column: 1 / -1;
  height: 29px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  color: #393345;
  font-family: inherit;
  font-size: 11px;
  font-weight: 900;
}

.room-status-card {
  padding: 13px 14px 15px;
  background: linear-gradient(135deg, rgba(246, 242, 255, 0.9), rgba(255, 255, 255, 0.92));
}

.room-status-card h3 {
  margin: 0 0 13px;
  color: #7b61ff;
  font-size: 12px;
  font-weight: 950;
}

.room-status-card div {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: start;
  gap: 5px;
}

.room-status-card span {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 6px;
  color: #7c768d;
  font-size: 8px;
  font-weight: 850;
}

.room-status-card span::before {
  position: absolute;
  top: 13px;
  left: -50%;
  width: 100%;
  height: 2px;
  content: "";
  background: linear-gradient(90deg, transparent, rgba(155, 124, 255, 0.42), transparent);
}

.room-status-card span:first-child::before {
  display: none;
}

.room-status-card i {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  border-radius: 50%;
  background: #f1edf9;
  color: #282436;
  font-style: normal;
  font-weight: 950;
}

.room-status-card .is-current i {
  background: #9b7cff;
  color: #fff;
  box-shadow: 0 9px 18px rgba(155, 124, 255, 0.24);
}

.room-composer {
  position: absolute;
  z-index: 9;
  right: 18px;
  bottom: 10px;
  left: 18px;
  transition:
    opacity 0.58s ease,
    filter 0.58s ease;
}

.room-phone.is-room-chrome-hidden .room-topbar {
  opacity: 0;
  filter: blur(0);
  pointer-events: none;
}

.room-phone.is-room-chrome-hidden .room-composer {
  opacity: 0;
  filter: blur(0);
  pointer-events: none;
}

.room-tool-row {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  justify-items: center;
  gap: 7px;
  margin-bottom: 8px;
  padding: 5px 7px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 10px 24px rgba(32, 24, 48, 0.07);
  backdrop-filter: blur(18px);
  transition:
    background-color 0.58s ease,
    border-color 0.58s ease,
    box-shadow 0.58s ease,
    opacity 0.58s ease;
}

.room-tool-row button {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border-radius: 50%;
  background: rgba(250, 252, 255, 0.86);
  color: #050505;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.72),
    0 8px 18px rgba(32, 24, 48, 0.05);
  transition:
    color 0.18s ease,
    background-color 0.58s ease,
    box-shadow 0.58s ease,
    transform 0.18s ease;
}

.room-tool-row button:is(.is-active, :active) {
  background: #fff7dc;
  color: #f5b700;
  box-shadow:
    inset 0 0 0 2px rgba(245, 183, 0, 0.72),
    0 10px 20px rgba(255, 197, 20, 0.2);
}

.room-tool-row button:is(.is-active, :active) .room-tool-icon {
  filter: drop-shadow(0 4px 8px rgba(255, 197, 20, 0.22));
}

.room-tool-icon {
  display: block;
  width: 26px;
  height: 26px;
  background: currentColor;
  -webkit-mask: var(--room-tool-icon) center / contain no-repeat;
  mask: var(--room-tool-icon) center / contain no-repeat;
}

.room-tool-icon-upload {
  --room-tool-icon: url("./鎸夐挳鍥炬爣/瀵硅瘽椤甸潰鍒囧浘/upload.svg");
}

.room-tool-icon-media {
  --room-tool-icon: url("./鎸夐挳鍥炬爣/瀵硅瘽椤甸潰鍒囧浘/media.svg");
}

.room-tool-icon-mention {
  --room-tool-icon: url("./鎸夐挳鍥炬爣/瀵硅瘽椤甸潰鍒囧浘/mention.svg");
}

.room-tool-icon-play {
  --room-tool-icon: url("./鎸夐挳鍥炬爣/瀵硅瘽椤甸潰鍒囧浘/play.svg");
}

.room-tool-icon-emoji {
  --room-tool-icon: url("./鎸夐挳鍥炬爣/瀵硅瘽椤甸潰鍒囧浘/emoji.svg");
}

.room-tool-icon-more {
  --room-tool-icon: url("./鎸夐挳鍥炬爣/瀵硅瘽椤甸潰鍒囧浘/more.svg");
}

.room-input-bubble {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 40px;
  align-items: center;
  gap: 7px;
  min-height: 48px;
  padding: 6px 7px;
  border: 1px solid rgba(255, 197, 20, 0.36);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 13px 28px rgba(255, 197, 20, 0.09);
  backdrop-filter: blur(18px);
  transition:
    background-color 0.58s ease,
    border-color 0.58s ease,
    box-shadow 0.58s ease,
    opacity 0.58s ease;
}

.room-input-bubble input {
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #17151f;
  font: inherit;
  font-size: 14px;
  font-weight: 750;
}

.room-input-bubble input::placeholder {
  color: #b0a9bc;
}

.room-input-bubble button {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid rgba(255, 197, 20, 0.78);
  border-radius: 50%;
  background: #fff;
  color: #17151f;
  transition:
    background-color 0.58s ease,
    border-color 0.58s ease,
    box-shadow 0.58s ease,
  opacity 0.58s ease;
}

.room-input-bubble .room-voice-button {
  border-color: rgba(31, 24, 44, 0.06);
  background: #f4f0fa;
  color: #211d29;
  box-shadow: none;
}

.room-input-bubble .room-voice-button[aria-pressed="true"] {
  border-color: rgba(138, 91, 255, 0.3);
  background: #efe7ff;
  color: #8a5bff;
  box-shadow: 0 0 0 3px rgba(138, 91, 255, 0.08);
}

.room-input-bubble .room-send-button {
  width: 40px;
  height: 40px;
  border-color: rgba(255, 193, 7, 0.78);
  background: linear-gradient(145deg, #ffd84a, #ffbd16);
  color: #17151f;
  box-shadow: 0 8px 18px rgba(255, 190, 0, 0.22);
}

.room-input-bubble svg {
  width: 21px;
  height: 21px;
}

.room-phone.is-room-chrome-hidden .room-nav-bubble,
.room-phone.is-room-chrome-hidden .room-status-pill,
.room-phone.is-room-chrome-hidden .room-tool-row,
.room-phone.is-room-chrome-hidden .room-tool-row button,
.room-phone.is-room-chrome-hidden .room-input-bubble,
.room-phone.is-room-chrome-hidden .room-input-bubble button {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

/* Android adaptive test build override.
   The desktop package was designed as a fixed 430 x 764 phone shell.
   Inside Android WebView we let the shell fill the real device viewport. */
body.panda-app {
  display: block;
  width: 100%;
  min-height: 100vh;
  min-height: 100svh;
  min-height: 100dvh;
  overflow: hidden;
  background: #fff;
}

body.panda-app .panda-app-stage {
  width: 100vw;
  height: 100vh;
  height: 100svh;
  height: 100dvh;
  max-width: none;
  max-height: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: #fff;
}

body.panda-app .panda-app-stage > .phone,
body.panda-app .phone,
body.panda-app .app-view {
  width: 100%;
  height: 100%;
  min-height: 100%;
  border-radius: 0;
}

body.panda-app .app-view {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

body.panda-app .app-shell-status {
  top: calc(env(safe-area-inset-top, 0px) + 8px);
  left: calc(env(safe-area-inset-left, 0px) + 25px);
  right: calc(env(safe-area-inset-right, 0px) + 25px);
}

body.panda-app .app-shell-top {
  top: calc(env(safe-area-inset-top, 0px) + 18px);
  left: calc(env(safe-area-inset-left, 0px) + 20px);
  right: calc(env(safe-area-inset-right, 0px) + 20px);
}

body.panda-app .app-shell-bottom,
body.panda-app .app-view .bottom-nav {
  position: fixed;
  top: auto;
  left: calc(env(safe-area-inset-left, 0px) + 16px);
  right: calc(env(safe-area-inset-right, 0px) + 16px);
  bottom: calc(env(safe-area-inset-bottom, 0px) + 9px);
  width: auto;
  max-width: none;
  margin: 0;
}

body.panda-app .home-phone .top-nav,
body.panda-app .shop-phone .top-nav,
body.panda-app .schedule-phone .top-nav,
body.panda-app .entity-phone .top-nav {
  left: calc(env(safe-area-inset-left, 0px) + 20px);
  right: calc(env(safe-area-inset-right, 0px) + 20px);
  top: calc(env(safe-area-inset-top, 0px) + 43px);
  width: auto;
}

body.panda-app .search-card {
  left: 21px;
  right: 21px;
  width: auto;
}

body.panda-app .panda-phone {
  padding-left: max(18px, env(safe-area-inset-left, 0px));
  padding-right: max(18px, env(safe-area-inset-right, 0px));
  padding-bottom: calc(104px + env(safe-area-inset-bottom, 0px));
}

body.panda-app .home-phone,
body.panda-app .schedule-phone,
body.panda-app .shop-phone,
body.panda-app .entity-phone,
body.panda-app .console-phone {
  padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px));
}

body.panda-app .room-phone {
  height: 100%;
}

body.panda-app .room-topbar {
  top: calc(env(safe-area-inset-top, 0px) + 10px);
  left: calc(env(safe-area-inset-left, 0px) + 18px);
  right: calc(env(safe-area-inset-right, 0px) + 18px);
}

body.panda-app .room-composer {
  left: calc(env(safe-area-inset-left, 0px) + 14px);
  right: calc(env(safe-area-inset-right, 0px) + 14px);
  bottom: calc(env(safe-area-inset-bottom, 0px) + 10px);
}

body.panda-app img,
body.panda-app svg,
body.panda-app canvas,
body.panda-app video {
  max-width: 100%;
}

@media (min-width: 700px) {
  body.panda-app .panda-app-stage {
    background:
      radial-gradient(circle at 88% 14%, rgba(255, 197, 20, 0.11), transparent 25%),
      radial-gradient(circle at 12% 15%, rgba(123, 97, 255, 0.08), transparent 28%),
      #fff;
  }

  body.panda-app .app-view {
    max-width: 520px;
    margin: 0 auto;
    box-shadow: 0 0 0 1px rgba(20, 20, 20, 0.04);
  }

  body.panda-app .app-shell-top,
  body.panda-app .app-shell-status {
    left: max(calc((100vw - 520px) / 2 + 20px), calc(env(safe-area-inset-left, 0px) + 20px));
    right: max(calc((100vw - 520px) / 2 + 20px), calc(env(safe-area-inset-right, 0px) + 20px));
  }

  body.panda-app .app-shell-bottom,
  body.panda-app .app-view .bottom-nav {
    left: max(calc((100vw - 520px) / 2 + 16px), calc(env(safe-area-inset-left, 0px) + 16px));
    right: max(calc((100vw - 520px) / 2 + 16px), calc(env(safe-area-inset-right, 0px) + 16px));
  }
}

/* Compact the source UI's home hero without changing its visual language. */
.home-phone .hero {
  height: 320px;
}

.home-phone .hero-copy {
  top: 108px;
  left: 27px;
}

.home-phone .hello {
  max-width: 180px;
}

.home-phone .hello-text {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-phone .hello.has-long-name {
  gap: 5px;
  font-size: 18px;
}

.home-phone .hello-wave {
  flex: 0 0 auto;
}

.home-phone .panda-logo {
  top: 54px;
}

.home-phone .panda-logo.panda-logo-latest {
  left: 152px;
}

.home-phone .curve-lines {
  top: 161px;
}

.home-phone .panda-contact-shadow {
  top: 231px;
}

.home-phone .search-card {
  top: 236px;
}

.home-phone .search-leading {
  flex: 1 1 auto;
}

.home-phone .search-leading input {
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #17141b;
  font-family: inherit;
  font-size: 15px;
  font-weight: 850;
}

.home-phone .search-leading input::placeholder {
  color: #a4a1b2;
  opacity: 1;
}

.campus-circle-picker[hidden] {
  display: none !important;
}

.campus-circle-picker {
  position: fixed;
  z-index: 700;
  inset: 0;
}

.campus-circle-scrim {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: rgba(28, 23, 34, 0.22);
  backdrop-filter: blur(5px);
}

.campus-circle-panel {
  position: absolute;
  top: calc(env(safe-area-inset-top, 0px) + 66px);
  left: 50%;
  width: min(calc(100% - 34px), 390px);
  padding: 16px;
  border: 1px solid rgba(39, 31, 48, 0.06);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 22px 54px rgba(38, 29, 49, 0.18);
  box-sizing: border-box;
  transform: translateX(-50%);
}

.campus-circle-panel > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.campus-circle-panel > header small {
  display: block;
  margin-bottom: 3px;
  color: #a07612;
  font-size: 9px;
  font-weight: 900;
}

.campus-circle-panel > header h2 {
  margin: 0;
  color: #1f1a24;
  font-size: 18px;
  line-height: 1.15;
  font-weight: 950;
}

.campus-circle-panel > header > button {
  width: 34px;
  height: 34px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #f5f2f7;
  color: #635c69;
  font-size: 20px;
}

.campus-circle-panel > p {
  margin: 10px 0 12px;
  color: #938b99;
  font-size: 9px;
  line-height: 1.5;
  font-weight: 800;
}

.campus-circle-search {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) 26px;
  height: 42px;
  margin-bottom: 11px;
  padding: 0 8px 0 11px;
  align-items: center;
  gap: 7px;
  border: 1px solid rgba(39, 31, 48, 0.075);
  border-radius: 14px;
  background: #f7f5f8;
  box-sizing: border-box;
}

.campus-circle-search > svg {
  width: 18px;
  height: 18px;
}

.campus-circle-search > svg circle,
.campus-circle-search > svg path {
  fill: none;
  stroke: #918997;
  stroke-width: 2;
  stroke-linecap: round;
}

.campus-circle-search > input {
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #28222e;
  font-family: inherit;
  font-size: 10px;
  font-weight: 850;
}

.campus-circle-search > input::placeholder {
  color: #aaa3af;
}

.campus-circle-search > input::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;
}

.campus-circle-search > button {
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #ece8ef;
  color: #847d89;
  font-size: 14px;
  transition: opacity 0.18s ease;
}

.campus-circle-search > input:placeholder-shown + button {
  opacity: 0;
  pointer-events: none;
}

.campus-circle-list {
  display: grid;
  gap: 7px;
}

.campus-circle-list > button[hidden],
.campus-circle-empty[hidden] {
  display: none !important;
}

.campus-circle-empty {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 9px 11px;
  padding: 14px;
  border: 1px dashed rgba(122, 92, 218, 0.25);
  border-radius: 17px;
  background: linear-gradient(145deg, #faf8ff, #fffdf8);
}

.campus-circle-empty > i {
  display: grid;
  grid-row: 1 / span 2;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 13px;
  background: #eee8ff;
  color: #7657d4;
  font-size: 20px;
  font-style: normal;
  font-weight: 900;
}

.campus-circle-empty > span,
.campus-circle-empty strong,
.campus-circle-empty small {
  display: block;
  min-width: 0;
}

.campus-circle-empty strong {
  overflow: hidden;
  color: #302937;
  font-size: 11px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.campus-circle-empty small {
  margin-top: 4px;
  color: #8f8697;
  font-size: 8px;
  line-height: 1.45;
  font-weight: 750;
}

.campus-circle-empty > button {
  grid-column: 2;
  justify-self: start;
  height: 30px;
  padding: 0 12px;
  border: 0;
  border-radius: 999px;
  background: #241e2a;
  color: #fff;
  font-size: 8.5px;
  font-weight: 950;
}

/* User-owned AI persona shared by the profile and campus hero. */
.home-phone .panda-logo.is-user-persona {
  top: 66px;
  right: 20px;
  left: auto;
  width: 148px;
  height: 148px;
  border: 5px solid rgba(255, 255, 255, 0.96);
  border-radius: 50%;
  object-fit: cover;
  object-position: center 28%;
  mix-blend-mode: normal;
  box-shadow: 0 22px 42px rgba(85, 61, 120, 0.22), 0 0 0 1px rgba(255, 190, 46, 0.16);
}

.home-phone:has(.panda-logo.is-user-persona) .panda-contact-shadow {
  top: 205px;
  right: 37px;
  left: auto;
  width: 116px;
  opacity: 0.42;
}

.entity-avatar {
  position: relative;
  overflow: visible;
  padding: 0;
  border: 3px solid #fff;
  cursor: pointer;
}

.entity-avatar img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
}

.entity-avatar > span {
  position: absolute;
  right: -4px;
  bottom: -2px;
  display: grid;
  place-items: center;
  min-width: 24px;
  height: 18px;
  padding: 0 5px;
  border: 2px solid #fff;
  border-radius: 999px;
  background: linear-gradient(135deg, #7d61ff, #ef5da8);
  color: #fff;
  font-size: 7px;
  font-weight: 950;
  letter-spacing: 0.04em;
}

.avatar-studio[hidden] {
  display: none !important;
}

.avatar-studio {
  position: fixed;
  z-index: 86;
  inset: 0;
  display: grid;
  align-items: end;
}

.avatar-studio-scrim {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(23, 18, 31, 0.36);
  backdrop-filter: blur(8px);
}

.avatar-studio-panel {
  position: relative;
  z-index: 1;
  width: min(100%, 520px);
  max-height: min(86vh, 760px);
  margin: 0 auto;
  padding: 20px 20px calc(20px + env(safe-area-inset-bottom, 0px));
  overflow-y: auto;
  border-radius: 30px 30px 0 0;
  background:
    radial-gradient(circle at 90% 0, rgba(255, 204, 89, 0.2), transparent 32%),
    radial-gradient(circle at 3% 8%, rgba(148, 103, 255, 0.14), transparent 34%),
    #fff;
  box-shadow: 0 -22px 60px rgba(34, 23, 43, 0.2);
}

.avatar-studio-panel > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 14px;
}

.avatar-studio-panel > header small,
.avatar-studio-panel > header h2 {
  display: block;
  margin: 0;
}

.avatar-studio-panel > header small {
  color: #b17b16;
  font-size: 9px;
  font-weight: 900;
}

.avatar-studio-panel > header h2 {
  margin-top: 3px;
  color: #1b1721;
  font-size: 23px;
  font-weight: 950;
}

.avatar-studio-panel > header > button {
  width: 34px;
  height: 34px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #f3f0f6;
  color: #625c69;
  font-size: 20px;
}

.avatar-studio-preview {
  display: grid;
  grid-template-columns: 94px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  padding: 12px;
  border: 1px solid rgba(74, 58, 88, 0.07);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 14px 28px rgba(61, 42, 80, 0.08);
}

.avatar-studio-preview img {
  width: 94px;
  height: 94px;
  border-radius: 22px;
  object-fit: cover;
  box-shadow: 0 10px 22px rgba(89, 57, 117, 0.18);
}

.avatar-studio-preview span,
.avatar-studio-preview strong,
.avatar-studio-preview p {
  display: block;
  margin: 0;
}

.avatar-studio-preview span {
  color: #9a91a3;
  font-size: 9px;
  font-weight: 850;
}

.avatar-studio-preview strong {
  margin-top: 3px;
  color: #211b28;
  font-size: 17px;
  font-weight: 950;
}

.avatar-studio-preview p {
  margin-top: 7px;
  color: #837b89;
  font-size: 9px;
  line-height: 1.5;
  font-weight: 700;
}

.avatar-photo-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  margin-top: 14px;
}

.avatar-photo-actions.needs-photo {
  animation: avatarPhotoNudge 420ms ease;
}

@keyframes avatarPhotoNudge {
  0%, 100% { transform: translateX(0); }
  30% { transform: translateX(-5px); }
  65% { transform: translateX(5px); }
}

.avatar-photo-button {
  display: grid;
  grid-template-columns: 26px 1fr;
  align-items: center;
  gap: 7px;
  min-width: 0;
  min-height: 48px;
  padding: 9px 11px;
  border: 1px solid rgba(51, 42, 59, 0.08);
  border-radius: 16px;
  background: #f6f3f8;
  color: #302936;
  font-size: 9px;
  font-weight: 900;
}

.avatar-photo-button.primary {
  border-color: rgba(255, 195, 52, 0.56);
  background: linear-gradient(135deg, #fff4c9, #ffe190);
}

.avatar-photo-button input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
}

.avatar-photo-button svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.avatar-skill-block {
  margin-top: 14px;
}

.avatar-skill-block > header {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  column-gap: 6px;
  margin-bottom: 8px;
}

.avatar-skill-block > header span {
  color: #9b6d16;
  font-size: 8px;
  font-weight: 900;
}

.avatar-skill-block > header strong {
  color: #26202d;
  font-size: 11px;
  font-weight: 950;
}

.avatar-skill-block > header small {
  grid-column: 1 / -1;
  margin-top: 2px;
  color: #938a99;
  font-size: 8px;
  font-weight: 720;
}

.avatar-skill-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.avatar-skill-grid button {
  position: relative;
  display: grid;
  grid-template-columns: 33px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: center;
  gap: 1px 8px;
  min-width: 0;
  min-height: 54px;
  padding: 8px;
  border: 1.5px solid transparent;
  border-radius: 16px;
  background: #f7f5f9;
  color: #4e4555;
  text-align: left;
  font-family: inherit;
}

.avatar-skill-grid button.is-selected {
  border-color: #9a72ff;
  background: #f2ecff;
  box-shadow: 0 8px 18px rgba(125, 91, 216, 0.12);
}

.avatar-skill-grid b {
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  width: 33px;
  height: 33px;
  border-radius: 12px;
  background: linear-gradient(145deg, #fff, #e8dfff);
  color: #7255cc;
  font-size: 9px;
  font-weight: 950;
}

.avatar-skill-grid span,
.avatar-skill-grid small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.avatar-skill-grid span {
  font-size: 9px;
  font-weight: 950;
}

.avatar-skill-grid small {
  color: #958c9c;
  font-size: 7px;
  font-weight: 750;
}

.avatar-template-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
  margin-top: 14px;
}

.avatar-template-grid button {
  position: relative;
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 5px 5px 8px;
  border: 1.5px solid transparent;
  border-radius: 18px;
  background: #f7f5f9;
  color: #5b5362;
  font-family: inherit;
  font-size: 8px;
  font-weight: 900;
}

.avatar-template-grid button.is-selected {
  border-color: #9a72ff;
  background: #f4efff;
  color: #6d4fd1;
  box-shadow: 0 8px 18px rgba(125, 91, 216, 0.13);
}

.avatar-template-grid button.is-selected::after {
  content: "✓";
  position: absolute;
  top: 7px;
  right: 7px;
  display: grid;
  place-items: center;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: #7d61ff;
  color: #fff;
  font-size: 9px;
}

.avatar-template-grid img {
  width: 100%;
  aspect-ratio: 1;
  border-radius: 13px;
  object-fit: cover;
}

.avatar-custom-prompt {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 7px;
  margin-top: 14px;
  padding: 10px 10px 10px 13px;
  border-radius: 17px;
  background: #f7f5f9;
}

.avatar-custom-prompt > span {
  grid-column: 1 / -1;
  color: #746c7c;
  font-size: 8px;
  font-weight: 900;
}

.avatar-custom-prompt input {
  min-width: 0;
  height: 34px;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #29232f;
  font-family: inherit;
  font-size: 10px;
  font-weight: 750;
}

.avatar-custom-prompt button {
  height: 34px;
  padding: 0 13px;
  border: 0;
  border-radius: 999px;
  background: #26202d;
  color: #fff;
  font-family: inherit;
  font-size: 8px;
  font-weight: 950;
}

.avatar-studio-actions {
  display: grid;
  grid-template-columns: 0.8fr 1.4fr;
  gap: 9px;
  margin-top: 14px;
}

.avatar-studio-actions button {
  height: 43px;
  border: 0;
  border-radius: 15px;
  background: #f2eff5;
  color: #625a68;
  font-family: inherit;
  font-size: 10px;
  font-weight: 950;
}

.avatar-studio-actions button.primary {
  background: linear-gradient(135deg, #211a27, #45374f);
  color: #fff;
  box-shadow: 0 10px 22px rgba(41, 30, 48, 0.18);
}

.avatar-studio-actions button:disabled {
  cursor: not-allowed;
  opacity: 0.38;
  box-shadow: none;
}

.room-avatar-agent-card {
  width: min(100%, 290px);
  padding: 15px;
  border: 1px solid rgba(126, 91, 216, 0.12);
  border-radius: 22px;
  background:
    radial-gradient(circle at 96% 0, rgba(255, 205, 73, 0.24), transparent 35%),
    linear-gradient(145deg, #fff, #f5f0ff);
  box-shadow: 0 16px 32px rgba(51, 38, 63, 0.09);
}

.room-design-agent-row {
  align-items: flex-start;
}

.room-design-agent-avatar {
  display: grid;
  place-items: center;
  border: 2px solid rgba(255, 255, 255, 0.94);
  background: linear-gradient(145deg, #241d2b 0%, #7a55d5 52%, #ff8cb7 100%);
  color: #fff;
  font-size: 8px;
  font-weight: 950;
  letter-spacing: -0.08em;
  line-height: 1;
  box-shadow: 0 9px 18px rgba(87, 58, 133, 0.22);
}

.room-avatar-agent-card > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.room-avatar-agent-card > header span,
.room-avatar-agent-card > header strong {
  font-size: 8px;
  font-weight: 950;
}

.room-avatar-agent-card > header span { color: #6f50cc; }
.room-avatar-agent-card > header strong { color: #aa3578; }

.room-avatar-agent-card h3 {
  margin: 10px 0 0;
  color: #241e2a;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 950;
}

.room-avatar-agent-card > p,
.room-avatar-agent-card > small {
  display: block;
  color: #7c7482;
  font-size: 8px;
  line-height: 1.55;
  font-weight: 720;
}

.room-avatar-agent-card > p { margin: 7px 0 0; }
.room-avatar-agent-card > small { margin-top: 8px; }

.room-avatar-agent-card > div {
  display: grid;
  grid-template-columns: auto 1fr auto 1fr auto;
  align-items: center;
  gap: 5px;
  margin-top: 13px;
}

.room-avatar-agent-card > div > i {
  height: 1px;
  background: #ded4ef;
}

.room-avatar-agent-card > div > span {
  display: grid;
  place-items: center;
  gap: 3px;
  color: #736a79;
  font-size: 7px;
  font-weight: 850;
}

.room-avatar-agent-card > div b {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #7254d3;
  color: #fff;
  font-size: 8px;
}

.room-avatar-agent-card > button {
  width: 100%;
  height: 39px;
  margin-top: 13px;
  border: 0;
  border-radius: 13px;
  background: linear-gradient(135deg, #231c29, #493653);
  color: #fff;
  font-family: inherit;
  font-size: 9px;
  font-weight: 950;
}

/* Unified campus discovery library. */
.library-phone {
  padding: 94px 18px calc(112px + env(safe-area-inset-bottom, 0px));
  background:
    radial-gradient(circle at 94% 7%, rgba(255, 204, 76, 0.18), transparent 21%),
    radial-gradient(circle at 5% 16%, rgba(132, 96, 255, 0.1), transparent 25%),
    #f8f7fa;
}

.library-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 13px;
}

.library-head small,
.library-head h1 {
  display: block;
  margin: 0;
}

.library-head small {
  color: #9a929f;
  font-size: 8px;
  font-weight: 800;
}

.library-head h1 {
  margin-top: 2px;
  color: #17131c;
  font-size: 25px;
  font-weight: 950;
}

.library-head > span {
  margin-bottom: 3px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.88);
  color: #8f8796;
  font-size: 8px;
  font-weight: 900;
}

.library-search {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) 38px;
  align-items: center;
  gap: 9px;
  height: 54px;
  padding: 0 8px 0 17px;
  border: 1px solid rgba(52, 41, 62, 0.07);
  border-radius: 19px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 14px 30px rgba(58, 45, 68, 0.08);
}

.library-search > svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: #28222e;
  stroke-width: 1.9;
  stroke-linecap: round;
}

.library-search input {
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #211c26;
  font-family: inherit;
  font-size: 11px;
  font-weight: 800;
}

.library-search input::placeholder {
  color: #aaa3b0;
  opacity: 1;
}

.library-search > button {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 0;
  border-radius: 13px;
  background: #f3eff8;
  color: #2b2530;
}

.library-search > button.is-active {
  background: #231d29;
  color: #fff;
}

.library-search > button svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
}

.library-filter-panel {
  display: flex;
  gap: 7px;
  margin: 9px 0 0;
  padding: 0 1px;
  overflow-x: auto;
  scrollbar-width: none;
}

.library-filter-panel[hidden] {
  display: none !important;
}

.library-filter-panel::-webkit-scrollbar {
  display: none;
}

.library-filter-panel button {
  flex: 0 0 auto;
  height: 29px;
  padding: 0 12px;
  border: 1px solid rgba(63, 50, 73, 0.08);
  border-radius: 999px;
  background: #fff;
  color: #716977;
  font-family: inherit;
  font-size: 8px;
  font-weight: 900;
}

.library-filter-panel button.is-active {
  border-color: #ffca42;
  background: #fff9e9;
  color: #9a6900;
}

.library-tabs {
  position: sticky;
  z-index: 4;
  top: 76px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4px;
  margin: 12px 0 13px;
  padding: 4px;
  border: 1px solid rgba(57, 46, 66, 0.06);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(16px);
  box-shadow: 0 10px 24px rgba(53, 42, 62, 0.07);
}

.library-tabs button {
  height: 35px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: #8e8794;
  font-family: inherit;
  font-size: 9px;
  font-weight: 950;
}

.library-tabs button.is-active {
  background: #211b27;
  color: #fff;
  box-shadow: 0 7px 16px rgba(39, 29, 45, 0.18);
}

.library-intro {
  margin-bottom: 12px;
  padding: 2px 4px;
}

.library-intro span,
.library-intro strong,
.library-intro p {
  display: block;
  margin: 0;
}

.library-intro span {
  color: #b27b15;
  font-size: 8px;
  font-weight: 950;
}

.library-intro strong {
  margin-top: 3px;
  color: #1d1822;
  font-size: 15px;
  line-height: 1.3;
  font-weight: 950;
}

.library-intro p {
  margin-top: 4px;
  color: #938c99;
  font-size: 8px;
  line-height: 1.45;
  font-weight: 720;
}

.library-results {
  display: grid;
  gap: 14px;
}

.library-card {
  overflow: hidden;
  border: 1px solid rgba(53, 42, 64, 0.07);
  border-radius: 25px;
  background: #fff;
  box-shadow: 0 18px 36px rgba(57, 43, 68, 0.09);
}

.library-card-media {
  position: relative;
  height: 162px;
  overflow: hidden;
  background: linear-gradient(135deg, #f1e9ff, #d9eaff);
}

.library-card-media::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 68%;
  background: linear-gradient(transparent, rgba(20, 16, 26, 0.45));
  pointer-events: none;
}

.library-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.library-card[data-category="activity"] .library-card-media {
  background: linear-gradient(145deg, #6c4cff, #ef67b0 55%, #ffcb54);
}

.library-card[data-category="place"] .library-card-media {
  background: linear-gradient(145deg, #88e1c2, #79b8ff 58%, #ece8ff);
}

.library-card[data-category="demand"] .library-card-media {
  background: linear-gradient(145deg, #ffe5a7, #ffc768 54%, #f29b72);
}

.library-card[data-category="supply"] .library-card-media {
  background: linear-gradient(145deg, #eddfff, #bda7ff 55%, #f4b5d6);
}

.library-card-media .library-media-icon {
  position: absolute;
  z-index: 1;
  right: 20px;
  bottom: 13px;
  width: 104px;
  height: 104px;
  object-fit: contain;
  filter: drop-shadow(0 14px 18px rgba(42, 29, 52, 0.17));
}

.library-card-media .library-media-avatar {
  object-fit: cover;
  filter: none;
}

.library-card-badge,
.library-card-distance {
  position: absolute;
  z-index: 2;
  top: 14px;
  padding: 7px 10px;
  border-radius: 999px;
  font-size: 8px;
  font-style: normal;
  font-weight: 950;
  backdrop-filter: blur(10px);
}

.library-card-badge {
  left: 14px;
  background: rgba(255, 255, 255, 0.9);
  color: #302838;
}

.library-card-distance {
  right: 14px;
  background: rgba(31, 25, 37, 0.74);
  color: #fff;
}

.library-media-copy {
  position: absolute;
  z-index: 2;
  left: 16px;
  right: 126px;
  bottom: 15px;
  color: #fff;
}

.library-media-copy span,
.library-media-copy strong {
  display: block;
  margin: 0;
}

.library-media-copy span {
  font-size: 8px;
  font-weight: 800;
  opacity: 0.88;
}

.library-media-copy strong {
  margin-top: 4px;
  font-size: 17px;
  line-height: 1.2;
  font-weight: 950;
}

.library-card-body {
  padding: 15px;
}

.library-card-body > p {
  margin: 0;
  color: #746d79;
  font-size: 9px;
  line-height: 1.55;
  font-weight: 720;
}

.library-facts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  margin-top: 12px;
}

.library-facts span {
  min-width: 0;
  padding: 8px 7px;
  border-radius: 12px;
  background: #f7f5f8;
  color: #8c8492;
  font-size: 7px;
  font-weight: 800;
}

.library-facts strong {
  display: block;
  margin-top: 3px;
  overflow: hidden;
  color: #302936;
  font-size: 8.5px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.library-card-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  margin-top: 13px;
}

.library-card-actions > span {
  color: #8e8694;
  font-size: 8px;
  font-weight: 800;
}

.library-card-actions button {
  height: 37px;
  padding: 0 17px;
  border: 0;
  border-radius: 13px;
  background: #211b27;
  color: #fff;
  font-family: inherit;
  font-size: 9px;
  font-weight: 950;
}

.library-card-actions button::after {
  content: "  ›";
  color: #ffc83d;
}

.library-empty {
  padding: 44px 22px;
  text-align: center;
}

.library-empty[hidden] {
  display: none !important;
}

.library-empty i {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  margin: 0 auto 12px;
  border-radius: 18px;
  background: #eee8ff;
  color: #765bd1;
  font-size: 24px;
  font-style: normal;
}

.library-empty h2,
.library-empty p {
  margin: 0;
}

.library-empty h2 {
  font-size: 16px;
}

/* Structured object detail: the card is primary, campus news is supporting context. */
.library-detail-phone {
  padding: 94px 0 calc(126px + env(safe-area-inset-bottom, 0px));
  background: #f6f5f7;
}

.library-object-detail {
  min-height: 100%;
}

.library-object-hero {
  position: relative;
  height: 238px;
  overflow: hidden;
  background: linear-gradient(145deg, #f0e6ff, #dce9ff);
}

.library-object-hero[data-category="demand"] { background: linear-gradient(145deg, #ffca68, #f19576); }
.library-object-hero[data-category="supply"] { background: linear-gradient(145deg, #cdb7ff, #f0b8d8); }
.library-object-hero[data-category="activity"] { background: linear-gradient(145deg, #6546ee, #db5cac 55%, #ffc34f); }
.library-object-hero[data-category="place"] { background: linear-gradient(145deg, #78d9b7, #78b4f5); }

.library-object-hero > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.library-object-hero > img.library-media-icon {
  padding: 45px 72px 20px;
  object-fit: contain;
  filter: drop-shadow(0 22px 24px rgba(30, 24, 37, 0.18));
}

.library-object-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(15, 12, 20, 0.02), rgba(15, 12, 20, 0.24));
  pointer-events: none;
}

.library-object-hero > span {
  position: absolute;
  z-index: 1;
  left: 18px;
  bottom: 18px;
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.91);
  color: #2c2433;
  font-size: 9px;
  font-weight: 950;
  backdrop-filter: blur(12px);
}

.library-object-hero > button {
  position: absolute;
  z-index: 2;
  top: 16px;
  right: 16px;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  color: #302936;
  font-size: 22px;
  line-height: 1;
  backdrop-filter: blur(12px);
}

.library-object-hero > button[aria-pressed="true"] {
  color: #f5ae14;
}

.library-object-summary {
  position: relative;
  z-index: 2;
  margin-top: -22px;
  padding: 23px 20px 18px;
  border-radius: 27px 27px 0 0;
  background: #fff;
}

.library-object-kicker {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.library-object-kicker span,
.library-object-kicker em {
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 8px;
  font-style: normal;
  font-weight: 900;
}

.library-object-kicker span {
  background: #fff2c8;
  color: #9c6b00;
}

.library-object-kicker em {
  background: #f2eff5;
  color: #777080;
}

.library-object-summary h1 {
  margin: 12px 0 0;
  color: #1c1821;
  font-size: 25px;
  line-height: 1.14;
  font-weight: 950;
}

.library-object-summary > p {
  margin: 10px 0 0;
  color: #716a77;
  font-size: 10px;
  line-height: 1.65;
  font-weight: 720;
}

.library-object-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 16px;
}

.library-object-facts div {
  min-width: 0;
  padding: 11px 9px;
  border-radius: 15px;
  background: #f6f4f7;
}

.library-object-facts span,
.library-object-facts strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.library-object-facts span {
  color: #968e9d;
  font-size: 8px;
  font-weight: 820;
}

.library-object-facts strong {
  margin-top: 4px;
  color: #2d2633;
  font-size: 10px;
  font-weight: 950;
}

.library-object-location {
  display: grid;
  grid-template-columns: 30px 1fr auto;
  align-items: center;
  gap: 9px;
  width: 100%;
  margin-top: 14px;
  padding: 12px 2px 0;
  border: 0;
  border-top: 1px solid #eeeaf0;
  background: transparent;
  color: #2d2732;
  text-align: left;
  font-family: inherit;
}

.library-object-location i {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 11px;
  background: #fff2c8;
  color: #a97200;
  font-size: 18px;
  font-style: normal;
}

.library-object-location small,
.library-object-location strong {
  display: block;
}

.library-object-location small { color: #9b939f; font-size: 7px; font-weight: 800; }
.library-object-location strong { margin-top: 2px; font-size: 10px; font-weight: 950; }
.library-object-location b { color: #8d8592; font-size: 20px; }

.library-object-section {
  margin-top: 11px;
  padding: 18px 20px;
  background: #fff;
}

.library-object-section > header {
  display: grid;
  grid-template-columns: 5px auto 1fr;
  align-items: center;
  gap: 8px;
}

.library-object-section > header i {
  width: 5px;
  height: 18px;
  border-radius: 999px;
  background: #ffc337;
}

.library-object-section > header h2,
.library-object-section > header small {
  margin: 0;
}

.library-object-section > header h2 {
  color: #231e28;
  font-size: 15px;
  font-weight: 950;
}

.library-object-section > header small {
  justify-self: end;
  color: #9a929f;
  font-size: 7px;
  font-weight: 750;
}

.library-object-notice > p {
  margin: 11px 0 0;
  color: #696270;
  font-size: 10px;
  line-height: 1.65;
  font-weight: 720;
}

.library-object-process {
  display: grid;
  grid-template-columns: auto 1fr auto 1fr auto;
  align-items: center;
  gap: 6px;
  margin-top: 16px;
}

.library-object-process > i {
  height: 1px;
  background: #e3ddea;
}

.library-object-process span {
  display: grid;
  place-items: center;
  gap: 4px;
  color: #817988;
  font-size: 7px;
  font-weight: 850;
}

.library-object-process b {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #2c2532;
  color: #fff;
  font-size: 8px;
}

.library-object-panda {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  background: linear-gradient(135deg, #fff9e7, #fff0bd);
}

.library-object-panda > img {
  width: 54px;
  height: 54px;
  object-fit: contain;
}

.library-object-panda small,
.library-object-panda h2,
.library-object-panda p {
  display: block;
  margin: 0;
}

.library-object-panda small { color: #9e7111; font-size: 7px; font-weight: 900; }
.library-object-panda h2 { margin-top: 2px; font-size: 12px; font-weight: 950; }
.library-object-panda p { margin-top: 4px; color: #81745c; font-size: 7px; line-height: 1.4; font-weight: 750; }

.library-object-panda > button {
  height: 34px;
  padding: 0 13px;
  border: 0;
  border-radius: 12px;
  background: #29222f;
  color: #fff;
  font-family: inherit;
  font-size: 9px;
  font-weight: 950;
}

.library-object-related article {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 11px;
  margin-top: 13px;
  padding: 8px;
  border-radius: 17px;
  background: #f7f5f8;
}

.library-object-related article > img {
  grid-row: 1 / 3;
  width: 92px;
  height: 82px;
  border-radius: 12px;
  object-fit: cover;
}

.library-object-related article small,
.library-object-related article strong,
.library-object-related article p {
  display: block;
  margin: 0;
}

.library-object-related article small { color: #9a929f; font-size: 7px; font-weight: 800; }
.library-object-related article strong { margin-top: 3px; font-size: 10px; line-height: 1.3; font-weight: 950; }
.library-object-related article p { margin-top: 4px; color: #817986; font-size: 7px; line-height: 1.45; font-weight: 720; }

.library-object-related article > button {
  grid-column: 2;
  justify-self: start;
  padding: 0;
  border: 0;
  background: transparent;
  color: #7b56df;
  font-family: inherit;
  font-size: 8px;
  font-weight: 950;
}

.library-object-actions {
  display: grid;
  grid-template-columns: 0.8fr 1.4fr;
  gap: 9px;
  margin-top: 11px;
  padding: 15px 20px 18px;
  background: #fff;
}

.library-object-actions button {
  height: 44px;
  border: 0;
  border-radius: 15px;
  background: #f1eef3;
  color: #605968;
  font-family: inherit;
  font-size: 10px;
  font-weight: 950;
}

.library-object-actions button.is-added {
  color: #2b986a;
  background: #e9f8f1;
}

.library-object-actions button.primary {
  background: linear-gradient(135deg, #211b27, #4b3b55);
  color: #fff;
  box-shadow: 0 12px 24px rgba(40, 30, 48, 0.16);
}

/* Discovery detail V2: one continuous document with one persistent Panda action. */
body.panda-app .panda-app-stage.is-library-detail-shell .app-shell-top {
  top: 0;
  right: 0;
  left: 0;
  z-index: 20;
  height: 68px;
  padding: 12px 14px;
  border: 0;
  border-radius: 0;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 1px 0 rgba(35, 30, 42, 0.06), 0 9px 24px rgba(35, 30, 42, 0.07);
  backdrop-filter: blur(18px);
}

body.panda-app .panda-app-stage.is-library-detail-shell .app-shell-back {
  width: 40px;
  height: 40px;
  background: #f4f2f7;
}

body.panda-app .panda-app-stage.is-library-detail-shell .app-shell-secondary-title {
  margin: 0 7px;
  font-size: 13px;
  text-align: left;
}

body.panda-app .panda-app-stage.is-library-detail-shell .app-shell-library-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

body.panda-app .panda-app-stage.is-library-detail-shell .app-shell-detail-status,
body.panda-app .panda-app-stage.is-library-detail-shell .app-shell-create {
  display: none;
}

body.panda-app .library-detail-phone {
  padding: 68px 0 calc(84px + env(safe-area-inset-bottom, 0px));
  background: #fff;
}

body.panda-app .library-object-detail {
  background: #fff;
}

body.panda-app .library-object-hero {
  height: 226px;
}

body.panda-app .library-object-hero > button {
  top: 14px;
  right: 14px;
}

body.panda-app .library-object-summary {
  margin-top: 0;
  padding: 20px 20px 18px;
  border-radius: 0;
}

body.panda-app .library-object-summary > p {
  max-width: 340px;
}

body.panda-app .library-object-location {
  grid-template-columns: 30px minmax(0, 1fr);
  padding-bottom: 2px;
}

body.panda-app .library-object-section {
  margin-top: 0;
  padding: 20px;
  border-top: 8px solid #f6f5f7;
}

body.panda-app .library-object-template > header {
  grid-template-columns: 5px minmax(0, 1fr) auto;
}

body.panda-app .library-object-template > header small {
  max-width: 125px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.panda-app .library-object-detail-rows {
  margin-top: 11px;
  border-top: 1px solid #eeeaf0;
}

body.panda-app .library-object-detail-rows > div {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 12px 0;
  border-bottom: 1px solid #eeeaf0;
}

body.panda-app .library-object-detail-rows span {
  color: #938b99;
  font-size: 8px;
  font-weight: 850;
}

body.panda-app .library-object-detail-rows strong {
  color: #2b2530;
  font-size: 10px;
  line-height: 1.45;
  font-weight: 900;
  text-align: right;
}

body.panda-app .library-object-protocol-fields {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 12px;
}

body.panda-app .library-object-protocol-fields span {
  padding: 5px 8px;
  border-radius: 999px;
  background: #f4f1f7;
  color: #756d7b;
  font-size: 7px;
  font-weight: 850;
}

body.panda-app .library-object-process span {
  text-align: center;
}

body.panda-app .library-object-related-note {
  margin: 9px 0 0;
  color: #8f8795;
  font-size: 8px;
  line-height: 1.5;
  font-weight: 730;
}

body.panda-app .library-object-news-list {
  margin-top: 10px;
  border-top: 1px solid #eeeaf0;
}

body.panda-app .library-object-related article {
  grid-template-columns: 66px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  margin-top: 0;
  padding: 12px 0;
  border-bottom: 1px solid #eeeaf0;
  border-radius: 0;
  background: transparent;
}

body.panda-app .library-object-related article[hidden] {
  display: none !important;
}

body.panda-app .library-object-related article > img {
  grid-row: 1;
  width: 66px;
  height: 58px;
  border-radius: 12px;
}

body.panda-app .library-object-related article > button {
  grid-column: 3;
  grid-row: 1;
  align-self: stretch;
  justify-self: stretch;
  width: 28px;
  overflow: hidden;
  color: transparent;
  white-space: nowrap;
}

body.panda-app .library-object-related article > button::after {
  content: "›";
  display: grid;
  height: 100%;
  place-items: center;
  color: #786f80;
  font-size: 20px;
}

body.panda-app .library-object-news-more {
  display: block;
  width: 100%;
  height: 38px;
  margin-top: 10px;
  border: 0;
  border-radius: 12px;
  background: #f3f0f6;
  color: #554d5c;
  font-family: inherit;
  font-size: 9px;
  font-weight: 950;
}

body.panda-app .store-detail-actions .primary.is-purchased {
  background: #e5f7ee;
  color: #25845e;
  box-shadow: none;
}

.library-empty p {
  margin-top: 7px;
  color: #918996;
  font-size: 9px;
  line-height: 1.55;
}

.library-empty button {
  height: 38px;
  margin-top: 15px;
  padding: 0 18px;
  border: 0;
  border-radius: 999px;
  background: #211b27;
  color: #fff;
  font-family: inherit;
  font-size: 9px;
  font-weight: 950;
}

.panda-landing-panel[hidden] {
  display: none !important;
}

.panda-landing-panel .schedule-section-title > div p {
  margin: 2px 0 0;
  color: #9b94a1;
  font-size: 8px;
  font-weight: 750;
}

.panda-landing-panel .schedule-section-title > span {
  padding: 5px 9px;
  border-radius: 999px;
  background: #fff4d5;
  color: #9b6d09;
  font-size: 8px;
  font-weight: 950;
}

.panda-schedule-items {
  display: grid;
  gap: 8px;
}

.panda-schedule-item {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 9px;
  border-radius: 15px;
  background: linear-gradient(135deg, #fff9e9, #faf7ff);
}

.panda-schedule-item > i {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: #fff;
  font-size: 18px;
  font-style: normal;
  box-shadow: 0 7px 15px rgba(68, 52, 80, 0.08);
}

.panda-schedule-item strong,
.panda-schedule-item small {
  display: block;
}

.panda-schedule-item strong {
  color: #2c2532;
  font-size: 10px;
  font-weight: 950;
}

.panda-schedule-item small {
  margin-top: 3px;
  color: #8e8793;
  font-size: 7.5px;
  font-weight: 750;
}

.panda-schedule-item > span {
  color: #7657d8;
  font-size: 8px;
  font-weight: 950;
}

@media (max-width: 390px) {
  .home-phone .panda-logo.is-user-persona {
    right: 15px;
    width: 140px;
    height: 140px;
  }

  .library-phone {
    padding-right: 15px;
    padding-left: 15px;
  }

  .avatar-studio-panel {
    padding-right: 16px;
    padding-left: 16px;
  }
}

.campus-circle-picker.is-empty .campus-verification-entry {
  display: none;
}

.campus-circle-list > button {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  min-height: 54px;
  padding: 8px 10px;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(37, 29, 47, 0.055);
  border-radius: 15px;
  background: #faf9fb;
  color: #27222c;
  text-align: left;
}

.campus-circle-list > button > i {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 12px;
  background: linear-gradient(145deg, #f1ecff, #ddd2ff);
  color: #6f51c5;
  font-size: 13px;
  font-style: normal;
  font-weight: 950;
}

.campus-circle-list > button > span,
.campus-circle-list > button strong,
.campus-circle-list > button small {
  display: block;
  min-width: 0;
}

.campus-circle-list > button strong {
  overflow: hidden;
  font-size: 11px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.campus-circle-list > button small {
  margin-top: 3px;
  color: #9a929f;
  font-size: 8px;
  font-weight: 750;
}

.campus-circle-list > button > em {
  padding: 4px 7px;
  border-radius: 999px;
  background: #f1edf4;
  color: #8e8594;
  font-size: 7.5px;
  font-style: normal;
  font-weight: 950;
}

.campus-circle-list > button.is-current {
  border-color: rgba(45, 190, 123, 0.18);
  background: #f7fffb;
}

.campus-circle-list > button.is-current > i {
  background: linear-gradient(145deg, #d9fae9, #b8efd3);
  color: #249c68;
}

.campus-circle-list > button.is-current > em {
  background: #ddf8e9;
  color: #249c68;
}

.campus-circle-list > button.is-pending {
  border-color: rgba(255, 190, 17, 0.44);
  background: #fffdf5;
  box-shadow: 0 0 0 2px rgba(255, 193, 24, 0.08);
}

.campus-circle-list > button.is-pending > em {
  background: #fff1bc;
  color: #a87500;
}

.campus-verification-entry {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  width: 100%;
  min-height: 58px;
  margin-top: 12px;
  padding: 9px 11px;
  align-items: center;
  gap: 10px;
  border: 0;
  border-radius: 16px;
  background: linear-gradient(135deg, #231d29, #3d304d);
  color: #fff;
  text-align: left;
}

.campus-verification-entry > i {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 12px;
  background: #ffc514;
  color: #241e29;
  font-size: 14px;
  font-style: normal;
  font-weight: 950;
}

.campus-verification-entry span,
.campus-verification-entry strong,
.campus-verification-entry small {
  display: block;
  min-width: 0;
}

.campus-verification-entry strong {
  font-size: 11px;
  font-weight: 950;
}

.campus-verification-entry small {
  margin-top: 3px;
  overflow: hidden;
  color: rgba(255, 255, 255, 0.63);
  font-size: 8px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.campus-verification-entry > b {
  color: #ffc514;
  font-size: 18px;
}

/* Panda Home V2: language-first task hub. The legacy source layout remains
   in the document as a hidden fallback and is intentionally not rewritten. */
body.panda-app .panda-phone.panda-home-v2 {
  padding:
    calc(env(safe-area-inset-top, 0px) + 88px)
    max(16px, env(safe-area-inset-right, 0px))
    calc(100px + env(safe-area-inset-bottom, 0px))
    max(16px, env(safe-area-inset-left, 0px));
  background:
    radial-gradient(circle at 92% 7%, rgba(255, 197, 20, 0.15), transparent 22%),
    radial-gradient(circle at 5% 15%, rgba(150, 109, 255, 0.09), transparent 27%),
    linear-gradient(180deg, #fffefa 0%, #fbfaff 52%, #ffffff 100%);
}

.panda-home-v2 .panda-v1-legacy {
  display: none;
}

.panda-home-v2 button,
.panda-home-v2 input {
  font-family: inherit;
}

.panda-home-v2 .panda-v2-header {
  display: none;
  align-items: center;
  justify-content: space-between;
  min-height: 48px;
  padding: 0 5px 0 4px;
}

.panda-home-v2 .panda-v2-header > div {
  min-width: 0;
}

.panda-home-v2 .panda-v2-online {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
  color: #8b8495;
  font-size: 10.5px;
  line-height: 1;
  font-weight: 850;
}

.panda-home-v2 .panda-v2-online i {
  width: 7px;
  height: 7px;
  border: 2px solid rgba(45, 190, 123, 0.2);
  border-radius: 50%;
  background: #2dbe7b;
  box-shadow: 0 0 0 4px rgba(45, 190, 123, 0.08);
}

.panda-home-v2 .panda-v2-header h1 {
  margin: 0;
  color: #17151f;
  font-size: 21px;
  line-height: 1.12;
  font-weight: 950;
  letter-spacing: -0.5px;
}

.panda-home-v2 .panda-v2-header > img {
  width: 54px;
  height: 50px;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 8px 12px rgba(31, 24, 44, 0.1));
}

.panda-home-v2 .panda-partner-brief {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  min-height: 76px;
  padding: 10px 11px;
  border: 1px solid rgba(255, 197, 20, 0.25);
  border-radius: 20px;
  background:
    radial-gradient(circle at 90% 10%, rgba(255, 210, 61, 0.24), transparent 34%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(250, 246, 255, 0.94));
  box-shadow: 0 12px 28px rgba(39, 31, 52, 0.075);
}

.panda-home-v2 .panda-partner-brief > img {
  width: 46px;
  height: 54px;
}

.panda-home-v2 .panda-partner-brief .panda-v2-online {
  margin-bottom: 4px;
  color: #766f80;
  font-size: 9px;
}

.panda-home-v2 .panda-partner-brief h1 {
  overflow: hidden;
  font-size: 12.5px;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.panda-home-v2 .panda-partner-brief p {
  display: -webkit-box;
  margin: 4px 0 0;
  overflow: hidden;
  color: #888190;
  font-size: 8.5px;
  line-height: 1.35;
  font-weight: 720;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.panda-home-v2 .panda-partner-brief > button {
  align-self: stretch;
  min-width: 42px;
  padding: 0 7px;
  border: 0;
  border-radius: 14px;
  background: #201b26;
  color: #fff;
  font-size: 9px;
  font-weight: 900;
}

.panda-home-v2 .panda-v2-command {
  margin-top: 9px;
}

.panda-home-v2 .panda-v2-command-form {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 38px;
  align-items: center;
  gap: 6px;
  min-height: 56px;
  padding: 6px 7px 6px 9px;
  border: 1px solid rgba(255, 197, 20, 0.42);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow:
    0 14px 30px rgba(31, 24, 44, 0.07),
    0 6px 18px rgba(255, 197, 20, 0.08);
  backdrop-filter: blur(18px);
}

.panda-home-v2 .panda-v2-command-form > img {
  width: 31px;
  height: 31px;
  object-fit: contain;
}

.panda-home-v2 .panda-v2-command-form input {
  min-width: 0;
  height: 38px;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #201d28;
  font-size: 12px;
  font-weight: 800;
}

.panda-home-v2 .panda-v2-command-form input::placeholder {
  color: #aaa4b4;
}

.panda-home-v2 .panda-v2-command-form button {
  display: grid;
  place-items: center;
  padding: 0;
  border-radius: 50%;
}

.panda-home-v2 .panda-v2-command-form svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.panda-home-v2 .panda-v2-voice {
  width: 34px;
  height: 34px;
  border: 0;
  background: #f7f4fb;
  color: #2c2934;
}

.panda-home-v2 .panda-v2-voice[aria-pressed="true"] {
  background: #f1e9ff;
  color: #7b61ff;
  box-shadow: 0 0 0 3px rgba(123, 97, 255, 0.1);
}

.panda-home-v2 .panda-v2-send {
  width: 38px;
  height: 38px;
  border: 0;
  background: linear-gradient(145deg, #ffd21c, #ffc000);
  color: #15131b;
  box-shadow: 0 8px 17px rgba(255, 190, 0, 0.25);
}

.panda-home-v2 .panda-v2-prompts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  margin-top: 7px;
}

.panda-home-v2 .panda-v2-prompts button {
  min-width: 0;
  height: 28px;
  padding: 0 5px;
  overflow: hidden;
  border: 1px solid rgba(31, 24, 44, 0.045);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.76);
  color: #777181;
  font-size: 10px;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.panda-home-v2 .panda-v2-prompts button:active {
  border-color: rgba(255, 197, 20, 0.45);
  background: #fff9e5;
  color: #bd8600;
}

.panda-home-v2 .panda-board-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 11px 3px 6px;
}

.panda-home-v2 .panda-board-heading > div {
  display: flex;
  align-items: baseline;
  gap: 7px;
  min-width: 0;
}

.panda-home-v2 .panda-board-heading strong {
  color: #201c28;
  font-size: 14px;
  font-weight: 950;
}

.panda-home-v2 .panda-board-heading span {
  overflow: hidden;
  color: #9a94a2;
  font-size: 8.5px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.panda-home-v2 .panda-board-heading em {
  flex: 0 0 auto;
  padding: 4px 7px;
  border-radius: 999px;
  background: #fff7d8;
  color: #b78000;
  font-size: 8.5px;
  font-style: normal;
  font-weight: 900;
}

.panda-home-v2 .panda-v2-summary {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 0;
  padding: 7px 6px;
  border: 1px solid rgba(31, 24, 44, 0.045);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 10px 24px rgba(31, 24, 44, 0.055);
}

.panda-home-v2 .panda-v2-summary button {
  position: relative;
  display: grid;
  place-items: center;
  gap: 2px;
  min-height: 40px;
  padding: 0;
  border: 0;
  border-left: 1px solid rgba(31, 24, 44, 0.055);
  border-radius: 14px;
  background: transparent;
  color: #8a8494;
}

.panda-home-v2 .panda-v2-summary button.is-active::after {
  position: absolute;
  right: 18px;
  bottom: 3px;
  left: 18px;
  height: 2px;
  border-radius: 999px;
  background: #8b61ff;
  content: "";
}

.panda-home-v2 .panda-v2-summary button:first-child {
  border-left: 0;
}

.panda-home-v2 .panda-v2-summary strong {
  color: #201d28;
  font-size: 17px;
  line-height: 1;
  font-weight: 950;
}

.panda-home-v2 .panda-v2-summary button.is-active {
  background: linear-gradient(145deg, #f4efff, #fff);
  color: #554c64;
  box-shadow: 0 6px 14px rgba(113, 86, 190, 0.1);
}

.panda-home-v2 .panda-v2-summary button.is-active strong {
  color: #8b61ff;
}

.panda-home-v2 .panda-v2-summary span {
  font-size: 10px;
  line-height: 1;
  font-weight: 850;
}

.panda-home-v2 .panda-v2-section {
  scroll-margin-top: 16px;
}

.panda-home-v2 .panda-v2-section-title {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin: 15px 3px 8px;
}

.panda-home-v2 .panda-v2-section-title h2 {
  margin: 0;
  color: #1f1c27;
  font-size: 15px;
  line-height: 1.1;
  font-weight: 950;
}

.panda-home-v2 .panda-v2-section-title p {
  margin: 4px 0 0;
  color: #aaa4b3;
  font-size: 10px;
  line-height: 1.2;
  font-weight: 750;
}

.panda-home-v2 .panda-v2-section-title > span {
  flex: 0 0 auto;
  padding: 5px 8px;
  border-radius: 999px;
  background: #f3f0f7;
  color: #878090;
  font-size: 10px;
  line-height: 1;
  font-weight: 900;
}

.panda-home-v2 .panda-v2-confirm-list,
.panda-home-v2 .panda-v2-project-list {
  display: grid;
  gap: 8px;
}

.panda-home-v2 .panda-swipe-row {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border-radius: 18px;
}

.panda-home-v2 .panda-swipe-content {
  position: relative;
  z-index: 2;
  margin: 0;
  touch-action: pan-y;
  transition: transform 220ms cubic-bezier(0.2, 0.82, 0.26, 1);
  will-change: transform;
}

.panda-home-v2 .panda-swipe-row.is-dragging > .panda-swipe-content {
  transition: none;
}

.panda-home-v2 .panda-swipe-row.is-open > .panda-swipe-content {
  transform: translateX(-76px);
}

.panda-home-v2 .panda-recycle-action {
  position: absolute;
  z-index: 1;
  top: 50%;
  right: 14px;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: linear-gradient(145deg, #42cd8b, #20ad6d);
  color: #fff;
  font-family: inherit;
  font-size: 22px;
  line-height: 1;
  font-weight: 950;
  opacity: 0;
  transform: translateY(-50%) scale(0.9);
  box-shadow: 0 8px 18px rgba(31, 175, 110, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.34);
  transition: opacity 120ms ease, transform 180ms ease;
}

.panda-home-v2 .panda-swipe-row.is-open > .panda-recycle-action,
.panda-home-v2 .panda-swipe-row.is-dragging > .panda-recycle-action {
  opacity: 1;
  transform: translateY(-50%) scale(1);
}

.panda-home-v2 .panda-swipe-row.is-recycling {
  pointer-events: none;
  animation: pandaRecycleAway 220ms ease forwards;
}

.panda-home-v2 .panda-swipe-row[hidden],
.panda-home-v2 .panda-swipe-row.is-task-filtered,
.panda-home-v2 [data-panda-task-panel][hidden] {
  display: none !important;
}

@keyframes pandaRecycleAway {
  to {
    height: 0;
    opacity: 0;
    transform: translateX(-18px);
  }
}

.panda-home-v2 .panda-v2-confirm-card {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 0 10px;
  padding: 11px 12px;
  border: 1px solid rgba(31, 24, 44, 0.05);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 10px 24px rgba(31, 24, 44, 0.055);
  transition: border-color 0.2s ease, background-color 0.2s ease, opacity 0.2s ease;
}

.panda-home-v2 .panda-v2-task-art,
.panda-home-v2 .panda-v2-project-art {
  display: grid;
  place-items: center;
  border-radius: 14px;
  font-size: 20px;
}

.panda-home-v2 .panda-v2-task-art {
  width: 40px;
  height: 40px;
  grid-row: 1 / span 2;
}

.panda-home-v2 .panda-v2-confirm-card.pink .panda-v2-task-art {
  background: linear-gradient(145deg, #fff0f7, #ffd5e8);
}

.panda-home-v2 .panda-v2-confirm-card.orange .panda-v2-task-art {
  background: linear-gradient(145deg, #fff8df, #ffe0a0);
}

.panda-home-v2 .panda-v2-task-copy {
  min-width: 0;
}

.panda-home-v2 .panda-v2-task-copy header,
.panda-home-v2 .panda-v2-project-copy > span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.panda-home-v2 .panda-v2-task-copy h3 {
  min-width: 0;
  margin: 0;
  color: #25212d;
  font-size: 12.5px;
  line-height: 1.1;
  font-weight: 950;
}

.panda-home-v2 .panda-v2-task-copy em {
  flex: 0 0 auto;
  color: #a39cab;
  font-size: 9.5px;
  font-style: normal;
  font-weight: 800;
}

.panda-home-v2 .panda-v2-task-copy p {
  margin: 5px 0 3px;
  overflow: hidden;
  color: #615b69;
  font-size: 10.5px;
  line-height: 1.3;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.panda-home-v2 .panda-v2-task-copy small {
  color: #9275e8;
  font-size: 9.5px;
  line-height: 1.2;
  font-weight: 850;
}

.panda-home-v2 .panda-v2-task-actions {
  display: flex;
  justify-content: flex-end;
  gap: 7px;
  grid-column: 2;
  margin-top: 8px;
}

.panda-home-v2 .panda-v2-task-actions button {
  min-width: 64px;
  height: 29px;
  padding: 0 14px;
  border: 0;
  border-radius: 10px;
  background: #f4f1f7;
  color: #625c69;
  font-size: 10px;
  font-weight: 900;
}

.panda-home-v2 .panda-v2-task-actions button.primary {
  background: #1d1924;
  color: #fff;
}

.panda-home-v2 .panda-v2-confirm-card.is-confirmed {
  border-color: rgba(45, 190, 123, 0.22);
  background: rgba(248, 255, 251, 0.94);
}

.panda-home-v2 .panda-v2-confirm-card.is-confirmed .panda-v2-task-copy small {
  color: #29a86f;
}

.panda-home-v2 .panda-v2-confirm-card.is-confirmed .panda-v2-task-actions button.primary {
  background: #2dbe7b;
}

.panda-home-v2 .panda-v2-project {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 88px;
  padding: 11px 12px;
  border: 1px solid rgba(31, 24, 44, 0.05);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.9);
  color: inherit;
  text-align: left;
  box-shadow: 0 10px 24px rgba(31, 24, 44, 0.05);
}

.panda-home-v2 .panda-v2-project-art {
  width: 44px;
  height: 44px;
}

.panda-home-v2 .panda-v2-project.purple .panda-v2-project-art {
  background: linear-gradient(145deg, #f3edff, #d9cbff);
}

.panda-home-v2 .panda-v2-project.green .panda-v2-project-art {
  background: linear-gradient(145deg, #effff8, #c6f1df);
}

.panda-home-v2 .panda-v2-project.orange .panda-v2-project-art {
  background: linear-gradient(145deg, #fff8e4, #ffdda0);
}

.panda-home-v2 .panda-v2-project.pink .panda-v2-project-art {
  background: linear-gradient(145deg, #fff0f7, #ffd2e7);
}

.panda-home-v2 .panda-v2-project.blue .panda-v2-project-art {
  background: linear-gradient(145deg, #eef8ff, #cfe7ff);
}

.panda-home-v2 .panda-v2-project.support .panda-v2-project-art {
  overflow: hidden;
  background: #fff;
  box-shadow: 0 5px 12px rgba(100, 86, 160, 0.12);
}

.panda-home-v2 .panda-v2-project.support .panda-v2-project-art img {
  width: 100%;
  height: 100%;
  border-radius: 12px;
  object-fit: contain;
}

.panda-home-v2 .panda-v2-project.support .panda-v2-project-copy em {
  background: linear-gradient(135deg, #fff0f6, #eef8ff);
  color: #8564dd;
}

.panda-home-v2 .panda-v2-project-copy {
  display: grid;
  min-width: 0;
  gap: 4px;
}

.panda-home-v2 .panda-v2-project-copy strong {
  min-width: 0;
  overflow: hidden;
  color: #25212d;
  font-size: 12.5px;
  line-height: 1.1;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.panda-home-v2 .panda-v2-project-copy em {
  flex: 0 0 auto;
  padding: 4px 7px;
  border-radius: 999px;
  background: #f0ebff;
  color: #7b61e8;
  font-size: 9px;
  line-height: 1;
  font-style: normal;
  font-weight: 900;
}

.panda-home-v2 .panda-v2-project.green .panda-v2-project-copy em {
  background: #e5f9ef;
  color: #219d69;
}

.panda-home-v2 .panda-v2-project-copy small,
.panda-home-v2 .panda-v2-project-copy b {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.panda-home-v2 .panda-v2-project-copy small {
  color: #78717f;
  font-size: 10px;
  font-weight: 800;
}

.panda-home-v2 .panda-v2-project-copy .panda-v2-project-merge {
  width: max-content;
  max-width: 100%;
  padding: 3px 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #f2edff;
  color: #7658d6;
  font-size: 8.5px;
  line-height: 1.2;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.panda-home-v2 .panda-v2-project-copy b {
  color: #9c95a4;
  font-size: 9.5px;
  font-weight: 850;
}

.panda-home-v2 .panda-v2-project > i {
  color: #aaa3b1;
  font-size: 24px;
  line-height: 1;
  font-style: normal;
  font-weight: 700;
  text-align: center;
}

.panda-home-v2 .panda-v2-completed {
  margin-top: 0;
  padding-bottom: 4px;
}

.panda-home-v2 .panda-v2-completed-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  padding: 13px 14px;
  border: 1px solid rgba(31, 24, 44, 0.05);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.82);
  color: inherit;
  text-align: left;
  box-shadow: 0 9px 21px rgba(31, 24, 44, 0.045);
}

.panda-home-v2 .panda-v2-completed-toggle > span {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.panda-home-v2 .panda-v2-completed-toggle strong {
  color: #282430;
  font-size: 13px;
  font-weight: 950;
}

.panda-home-v2 .panda-v2-completed-toggle small {
  overflow: hidden;
  color: #96909e;
  font-size: 9.5px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.panda-home-v2 .panda-v2-completed-toggle em {
  display: flex;
  align-items: center;
  gap: 3px;
  flex: 0 0 auto;
  color: #928b99;
  font-size: 10px;
  font-style: normal;
  font-weight: 850;
}

.panda-home-v2 .panda-v2-completed-toggle em b {
  color: #7564cf;
  font-size: 13px;
  font-weight: 950;
}

.panda-home-v2 .panda-v2-completed-toggle em i {
  margin-left: 3px;
  font-size: 15px;
  font-style: normal;
  transition: transform 0.18s ease;
}

.panda-home-v2 .panda-v2-completed-toggle[aria-expanded="true"] em i {
  transform: rotate(180deg);
}

.panda-home-v2 .panda-v2-completed-list {
  display: grid;
  gap: 7px;
  margin-top: 0;
}

.panda-home-v2 .panda-v2-completed-list > p {
  margin: 0;
  padding: 15px;
  border: 1px dashed rgba(117, 100, 207, 0.2);
  border-radius: 16px;
  color: #918a98;
  font-size: 10px;
  line-height: 1.5;
  font-weight: 750;
  text-align: center;
}

.panda-home-v2 .panda-v2-completed-card {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  padding: 10px 11px;
  border: 1px solid rgba(45, 190, 123, 0.12);
  border-radius: 16px;
  background: rgba(249, 255, 252, 0.92);
}

.panda-home-v2 .panda-v2-completed-card > span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: #e6f9ef;
  color: #2aaa72;
  font-size: 16px;
  font-weight: 950;
}

.panda-home-v2 .panda-v2-completed-card > .panda-v2-completed-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.panda-home-v2 .panda-v2-completed-card strong {
  overflow: hidden;
  color: #292530;
  font-size: 11.5px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.panda-home-v2 .panda-v2-completed-card small {
  color: #918a98;
  font-size: 9px;
  font-weight: 750;
}

.panda-home-v2 .panda-v2-completed-card button {
  display: grid;
  width: 32px;
  min-width: 32px;
  height: 32px;
  padding: 0;
  place-items: center;
  border: 0;
  border-radius: 50%;
}

.panda-home-v2 .panda-v2-completed-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}

.panda-home-v2 .panda-v2-completed-card button.is-restart {
  background: linear-gradient(145deg, #ffc94c, #f6ae21);
  color: #fff;
  box-shadow: 0 7px 16px rgba(238, 166, 28, 0.2);
}

.panda-home-v2 .panda-v2-completed-card button.is-recycle {
  background: #fff0ed;
  color: #c95d4b;
  box-shadow: 0 5px 12px rgba(177, 86, 70, 0.1);
}

.panda-home-v2 .panda-v2-completed-card button svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.panda-home-v2 .panda-task-editor[hidden],
.panda-home-v2 .panda-v2-completed-list[hidden],
.panda-home-v2 .panda-v2-project[hidden],
.panda-home-v2 [data-panda-support-project][hidden] {
  display: none !important;
}

.panda-task-editor-host {
  display: contents;
}

.panda-home-v2 .panda-task-editor {
  position: fixed;
  z-index: 500;
  inset: 0;
  display: block;
  background: #fbfaff;
}

.panda-home-v2 .panda-task-editor-backdrop {
  display: none;
}

.panda-home-v2 .panda-task-editor-panel {
  position: relative;
  z-index: 1;
  width: min(100%, 430px);
  height: 100vh;
  height: 100dvh;
  max-height: none;
  margin: 0 auto;
  padding: 0 18px calc(22px + env(safe-area-inset-bottom, 0px));
  overflow-y: auto;
  overscroll-behavior: contain;
  box-sizing: border-box;
  border-radius: 0;
  background: #fbfaff;
  box-shadow: none;
}

.panda-home-v2 .panda-task-editor-panel > header {
  position: sticky;
  z-index: 8;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 11px;
  min-height: 72px;
  margin: 0 -18px 15px;
  padding: env(safe-area-inset-top, 0px) 18px 0;
  box-sizing: border-box;
  border-bottom: 1px solid rgba(41, 34, 49, 0.06);
  background: rgba(251, 250, 255, 0.94);
  backdrop-filter: blur(18px);
}

.panda-home-v2 .panda-task-editor-panel > header small {
  display: block;
  margin-bottom: 3px;
  color: #8b68ed;
  font-size: 9.5px;
  font-weight: 900;
}

.panda-home-v2 .panda-task-editor-panel h2 {
  margin: 0;
  color: #211d28;
  font-size: 18px;
  font-weight: 950;
}

.panda-home-v2 .panda-task-editor-panel > header > button {
  width: 34px;
  height: 34px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  flex: 0 0 auto;
  background: #fff;
  color: #211d28;
  font-size: 0;
  line-height: 1;
  box-shadow: 0 7px 18px rgba(40, 32, 49, 0.08);
}

.panda-home-v2 .panda-task-editor-return svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Simplified mobile settings hierarchy for the room collaboration backend. */
.panda-home-v2 .panda-task-editor-panel {
  padding-right: 16px;
  padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px));
  padding-left: 16px;
  background: #f7f7fa;
}

.panda-home-v2 .panda-task-editor-panel > header {
  margin-right: -16px;
  margin-bottom: 12px;
  margin-left: -16px;
  padding-right: 16px;
  padding-left: 16px;
  background: rgba(255, 255, 255, 0.94);
}

.panda-home-v2 .panda-task-editor-panel > header small {
  margin-bottom: 1px;
  color: #918998;
  font-size: 9px;
}

.panda-home-v2 .panda-task-editor-panel h2 {
  font-size: 19px;
  letter-spacing: -0.02em;
}

.panda-home-v2 .panda-task-relations {
  margin-bottom: 12px;
  padding: 15px;
  border: 0;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(43, 35, 52, 0.055);
}

.panda-home-v2 .panda-task-relations > header strong { font-size: 14px; }
.panda-home-v2 .panda-task-relations > header small { font-size: 9px; line-height: 1.4; }

.panda-home-v2 .panda-task-relations > header button {
  height: 34px;
  padding: 0 12px;
  border-radius: 11px;
  font-size: 10px;
}

.panda-home-v2 .panda-task-relation-map {
  justify-content: center;
  margin: 15px 0 13px;
}

.panda-home-v2 .panda-relation-node { flex-basis: 60px; gap: 3px; }
.panda-home-v2 .panda-relation-node > i { width: 38px; height: 38px; font-size: 12px; }
.panda-home-v2 .panda-relation-node strong { font-size: 9px; }
.panda-home-v2 .panda-relation-node small { font-size: 7.5px; }

.panda-home-v2 .panda-task-relation-lanes {
  display: grid;
  gap: 5px;
}

.panda-home-v2 .panda-relation-lane {
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 8px;
  min-height: 34px;
  padding: 0 9px;
  border-radius: 10px;
  background: #f7f6f9;
}

.panda-home-v2 .panda-relation-lane strong { font-size: 9px; }
.panda-home-v2 .panda-relation-lane span { font-size: 8.5px; }
.panda-home-v2 .panda-relation-lane em { font-size: 7.5px; }

.panda-home-v2 .panda-task-editor-panel > label,
.panda-home-v2 .panda-task-editor-grid label,
.panda-home-v2 .panda-task-appearance {
  padding: 13px;
  border: 0;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(43, 35, 52, 0.045);
}

.panda-home-v2 .panda-task-editor-panel > label { margin-bottom: 10px; }

.panda-home-v2 .panda-task-editor-grid {
  gap: 8px;
  margin: 0 0 10px;
}

.panda-home-v2 .panda-task-editor-panel label > span {
  font-size: 10px;
  color: #817987;
}

.panda-home-v2 .panda-task-editor-panel input,
.panda-home-v2 .panda-task-editor-panel select,
.panda-home-v2 .panda-task-editor-panel textarea {
  border: 0;
  border-radius: 11px;
  background: #f5f4f7;
  color: #211d28;
  font-size: 12px;
  font-weight: 800;
}

.panda-home-v2 .panda-task-editor-panel input,
.panda-home-v2 .panda-task-editor-panel select {
  height: 43px;
}

.panda-home-v2 .panda-task-editor-panel textarea {
  min-height: 82px;
  line-height: 1.5;
}

.panda-home-v2 .panda-task-appearance {
  margin-top: 0;
}

.panda-home-v2 .panda-task-appearance summary {
  min-height: 44px;
  padding: 0;
}

.panda-home-v2 .panda-task-appearance summary strong { font-size: 12px; }
.panda-home-v2 .panda-task-appearance summary small { margin-top: 3px; font-size: 8px; }

.panda-home-v2 .panda-task-editor-panel > p {
  margin: 11px 4px 12px;
  font-size: 8.5px;
  text-align: center;
}

.panda-home-v2 .panda-task-editor-panel > footer {
  position: fixed;
  z-index: 12;
  right: max(16px, calc((100vw - 430px) / 2 + 16px));
  bottom: 0;
  left: max(16px, calc((100vw - 430px) / 2 + 16px));
  grid-template-columns: 0.8fr 1.2fr;
  padding: 12px 0 calc(12px + env(safe-area-inset-bottom, 0px));
  background: linear-gradient(180deg, rgba(247, 247, 250, 0), #f7f7fa 24%);
}

.panda-home-v2 .panda-task-editor-panel > footer button {
  height: 48px;
  border-radius: 15px;
  font-size: 12px;
}

.panda-home-v2 .panda-task-relations {
  margin: 0 0 14px;
  padding: 13px;
  border: 1px solid rgba(122, 94, 237, 0.1);
  border-radius: 18px;
  background:
    radial-gradient(circle at 92% 0%, rgba(255, 198, 21, 0.14), transparent 34%),
    linear-gradient(145deg, #f8f5ff, #fffdf8);
}

.panda-home-v2 .panda-task-relations > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.panda-home-v2 .panda-task-relations > header strong,
.panda-home-v2 .panda-task-relations > header small {
  display: block;
}

.panda-home-v2 .panda-task-relations > header strong {
  color: #25202a;
  font-size: 12px;
  font-weight: 950;
}

.panda-home-v2 .panda-task-relations > header small {
  margin-top: 2px;
  color: #8d8496;
  font-size: 8.5px;
  font-weight: 800;
}

.panda-home-v2 .panda-task-relations > header button {
  flex: 0 0 auto;
  height: 28px;
  padding: 0 10px;
  border: 0;
  border-radius: 999px;
  background: #211c27;
  color: #fff;
  font-size: 8.5px;
  font-weight: 900;
}

.panda-home-v2 .panda-task-relation-map {
  display: flex;
  align-items: center;
  gap: 5px;
  margin: 13px 0 11px;
  overflow-x: auto;
  scrollbar-width: none;
}

.panda-home-v2 .panda-task-relation-map::-webkit-scrollbar {
  display: none;
}

.panda-home-v2 .panda-relation-node {
  display: grid;
  flex: 0 0 52px;
  justify-items: center;
  gap: 4px;
}

.panda-home-v2 .panda-relation-node > i {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 2px solid #fff;
  border-radius: 50%;
  background: linear-gradient(145deg, #eee8ff, #d9cbff);
  box-shadow: 0 5px 12px rgba(76, 59, 105, 0.14);
  color: #4d3c7d;
  font-size: 10px;
  font-style: normal;
  font-weight: 950;
}

.panda-home-v2 .panda-relation-node.panda > i {
  background: linear-gradient(145deg, #ffdf59, #ffbc17);
  color: #262026;
}

.panda-home-v2 .panda-relation-node.pending > i {
  border-style: dashed;
  background: #f4f1f6;
  color: #aaa1af;
}

.panda-home-v2 .panda-relation-node strong {
  width: 100%;
  overflow: hidden;
  color: #4f4857;
  font-size: 8px;
  font-weight: 900;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.panda-home-v2 .panda-relation-node small {
  width: 100%;
  overflow: hidden;
  color: #9a91a2;
  font-size: 7px;
  font-weight: 800;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.panda-home-v2 .panda-relation-link {
  position: relative;
  flex: 0 0 23px;
  height: 1px;
  background: linear-gradient(90deg, #d8cfef, #b49aff);
}

.panda-home-v2 .panda-relation-link::after {
  position: absolute;
  top: -2px;
  right: 0;
  width: 5px;
  height: 5px;
  content: "";
  border-top: 1px solid #9a7bea;
  border-right: 1px solid #9a7bea;
  transform: rotate(45deg);
}

.panda-home-v2 .panda-task-relation-lanes {
  display: grid;
  gap: 6px;
}

.panda-home-v2 .panda-relation-lane {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) auto;
  align-items: center;
  gap: 7px;
}

.panda-home-v2 .panda-relation-lane strong,
.panda-home-v2 .panda-relation-lane span,
.panda-home-v2 .panda-relation-lane em {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.panda-home-v2 .panda-relation-lane strong {
  color: #3f3947;
  font-size: 8.5px;
  font-weight: 950;
}

.panda-home-v2 .panda-relation-lane span {
  color: #837a8c;
  font-size: 8px;
  font-weight: 800;
}

.panda-home-v2 .panda-relation-lane em {
  padding: 3px 6px;
  border-radius: 999px;
  background: rgba(132, 98, 235, 0.1);
  color: #805fe0;
  font-size: 7.5px;
  font-style: normal;
  font-weight: 950;
}

.panda-home-v2 .panda-task-editor-panel > label,
.panda-home-v2 .panda-task-editor-grid label {
  display: grid;
  gap: 6px;
}

.panda-home-v2 .panda-task-editor-panel label > span {
  color: #6d6673;
  font-size: 10px;
  font-weight: 900;
}

.panda-home-v2 .panda-task-editor-panel input,
.panda-home-v2 .panda-task-editor-panel select,
.panda-home-v2 .panda-task-editor-panel textarea {
  width: 100%;
  border: 1px solid rgba(31, 24, 44, 0.08);
  border-radius: 12px;
  outline: 0;
  background: #f8f6fa;
  color: #27222d;
  font-family: inherit;
  font-size: 11px;
  font-weight: 800;
  box-sizing: border-box;
}

.panda-home-v2 .panda-task-editor-panel input,
.panda-home-v2 .panda-task-editor-panel select {
  height: 40px;
  padding: 0 11px;
}

.panda-home-v2 .panda-task-editor-panel textarea {
  min-height: 72px;
  padding: 10px 11px;
  resize: none;
}

.panda-home-v2 .panda-task-appearance {
  margin-top: 12px;
  border: 1px solid rgba(31, 24, 44, 0.07);
  border-radius: 14px;
  background: #faf8fb;
}

.panda-home-v2 .panda-task-appearance summary {
  display: flex;
  min-height: 48px;
  padding: 0 12px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  cursor: pointer;
  list-style: none;
}

.panda-home-v2 .panda-task-appearance summary::-webkit-details-marker {
  display: none;
}

.panda-home-v2 .panda-task-appearance summary span,
.panda-home-v2 .panda-task-appearance summary strong,
.panda-home-v2 .panda-task-appearance summary small {
  display: block;
}

.panda-home-v2 .panda-task-appearance summary strong {
  color: #4e4756;
  font-size: 10px;
  font-weight: 950;
}

.panda-home-v2 .panda-task-appearance summary small {
  margin-top: 2px;
  color: #9a92a1;
  font-size: 7.5px;
  font-weight: 800;
}

.panda-home-v2 .panda-task-appearance summary > i {
  color: #9c93a4;
  font-size: 17px;
  font-style: normal;
  transform: rotate(90deg);
  transition: transform 0.2s ease;
}

.panda-home-v2 .panda-task-appearance[open] summary > i {
  transform: rotate(-90deg);
}

.panda-home-v2 .panda-task-appearance > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
  padding: 0 10px 10px;
}

.panda-home-v2 .panda-task-appearance > div button {
  display: flex;
  height: 34px;
  padding: 0 8px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: #fff;
  color: #5a5362;
  font-size: 8.5px;
  font-weight: 900;
}

.panda-home-v2 .panda-task-appearance > div button.is-selected {
  border-color: rgba(255, 190, 18, 0.55);
  background: #fffdf5;
}

.panda-home-v2 .panda-task-appearance > div button > i {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #ffd75a;
}

.panda-home-v2 .panda-task-appearance > div button > i.purple {
  background: linear-gradient(145deg, #8b5cf6, #e879c8);
}

.panda-home-v2 .panda-task-appearance > div button > i.black {
  background: #24222d;
}

.panda-home-v2 .panda-task-editor-panel input:focus,
.panda-home-v2 .panda-task-editor-panel select:focus,
.panda-home-v2 .panda-task-editor-panel textarea:focus {
  border-color: rgba(123, 97, 255, 0.5);
  background: #fff;
}

.panda-home-v2 .panda-task-editor-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 12px 0;
}

.panda-home-v2 .panda-task-editor-panel > p {
  margin: 10px 0 14px;
  color: #9992a0;
  font-size: 9.5px;
  line-height: 1.45;
  font-weight: 750;
}

.panda-home-v2 .panda-task-editor-panel > footer {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 9px;
}

.panda-home-v2 .panda-task-editor-panel > footer button {
  height: 42px;
  border: 0;
  border-radius: 13px;
  background: #f3eff6;
  color: #6d6573;
  font-size: 11px;
  font-weight: 950;
}

.panda-home-v2 .panda-task-editor-panel > footer button.primary {
  background: #1e1924;
  color: #fff;
}

.panda-home-v2 button:focus-visible,
.panda-home-v2 input:focus-visible {
  outline: 2px solid rgba(123, 97, 255, 0.5);
  outline-offset: 2px;
}
.schedule-phone.schedule-v2 > :not(.schedule-v2-root) {
  display: none !important;
}

.schedule-v2-root {
  min-height: 100%;
  padding: 86px 0 112px;
  background:
    radial-gradient(circle at 88% 2%, rgba(255, 224, 117, 0.2), transparent 19%),
    radial-gradient(circle at 8% 10%, rgba(177, 154, 255, 0.13), transparent 22%),
    #fbfbfd;
  color: #1d1924;
}

.schedule-v2-root button {
  font-family: inherit;
}

.schedule-v2-context {
  min-height: 112px;
  margin: 0 20px;
  padding: 15px 17px;
  border: 1px solid rgba(35, 29, 43, 0.055);
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(255, 250, 232, 0.9)),
    #fff;
  box-shadow: 0 16px 38px rgba(40, 31, 50, 0.07);
}

.schedule-context-meta {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 10px;
}

.schedule-context-meta span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  background: #f4f1f7;
  color: #777082;
  font-size: 9px;
  font-weight: 850;
}

.schedule-context-meta span:last-child {
  background: #fff4cf;
  color: #9b6a00;
}

.schedule-context-meta i {
  color: inherit;
  font-style: normal;
  font-size: 11px;
}

.schedule-v2-context > strong {
  display: block;
  font-size: 22px;
  line-height: 1.1;
  font-weight: 950;
  letter-spacing: -0.6px;
}

.schedule-v2-context > p {
  margin: 8px 0 0;
  color: #746d7d;
  font-size: 10.5px;
  line-height: 1.45;
  font-weight: 700;
}

.schedule-v2-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
  height: 48px;
  margin: 12px 20px 0;
  padding: 5px;
  border: 1px solid rgba(35, 29, 43, 0.055);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 12px 26px rgba(40, 31, 50, 0.055);
}

.schedule-v2-tabs button {
  border: 0;
  border-radius: 13px;
  background: transparent;
  color: #827b8b;
  font-size: 12px;
  font-weight: 900;
}

.schedule-v2-tabs button.is-active {
  background: #fff4cf;
  color: #241f28;
  box-shadow: inset 0 0 0 1px rgba(245, 187, 31, 0.25);
}

.schedule-v2-view[hidden],
.schedule-month-drawer[hidden] {
  display: none !important;
}

.schedule-week-card,
.schedule-month-drawer,
.schedule-todo-board,
.schedule-diary-view,
.schedule-bag-view {
  margin: 12px 20px 0;
  border: 1px solid rgba(35, 29, 43, 0.055);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 15px 34px rgba(40, 31, 50, 0.055);
}

.schedule-week-card {
  padding: 14px 13px 11px;
}

.schedule-week-head,
.schedule-todo-summary,
.schedule-secondary-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.schedule-week-head small,
.schedule-todo-summary small,
.schedule-secondary-head small {
  display: block;
  margin-bottom: 3px;
  color: #9991a4;
  font-size: 8.5px;
  font-weight: 850;
}

.schedule-week-head h2,
.schedule-todo-summary h2,
.schedule-secondary-head h2 {
  margin: 0;
  font-size: 16px;
  line-height: 1.15;
  font-weight: 950;
  letter-spacing: -0.3px;
}

.schedule-week-actions {
  display: flex;
  align-items: center;
  gap: 5px;
}

.schedule-week-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  height: 27px;
  padding: 0 9px;
  border: 0;
  border-radius: 999px;
  background: #f5f2f7;
  color: #6f6878;
  font-size: 8.5px;
  font-weight: 900;
}

.schedule-week-actions button:first-child {
  background: #fff3c8;
  color: #9b6a00;
}

.schedule-week-actions button.schedule-map-mode-button {
  background: #eee9ff;
  color: #6f50c8;
}

.schedule-week-actions button.schedule-map-mode-button.is-active {
  background: #2d2733;
  color: #fff;
  box-shadow: 0 6px 14px rgba(45, 39, 51, 0.16);
}

.schedule-map-mode-button svg {
  width: 12px;
  height: 12px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
}

.schedule-calendar-expand svg {
  width: 13px;
  height: 13px;
  transition: transform 220ms ease;
}

.schedule-calendar-expand path {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.schedule-calendar-expand.is-expanded svg {
  transform: rotate(180deg);
}

.schedule-week-days {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 2px;
  margin-top: 13px;
}

.schedule-week-days > button {
  display: grid;
  justify-items: center;
  gap: 4px;
  min-width: 0;
  padding: 5px 0 6px;
  border: 0;
  border-radius: 15px;
  background: transparent;
  color: #29242f;
}

.schedule-week-days > button.is-selected {
  background: #fff8df;
  box-shadow: inset 0 0 0 1px rgba(245, 187, 31, 0.16);
}

.schedule-week-days > button > em {
  color: #9992a2;
  font-size: 8px;
  line-height: 1;
  font-style: normal;
  font-weight: 850;
}

.schedule-week-days > button.is-today > em {
  color: #d59400;
}

.schedule-health-ring {
  position: relative;
  display: block;
  width: 42px;
  height: 42px;
}

.schedule-health-ring .ring-layer {
  position: absolute;
  border-radius: 50%;
  background: conic-gradient(var(--ring-color) calc(var(--ring-progress) * 1%), var(--ring-track) 0);
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 0);
  mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 0);
  transform: rotate(-90deg);
}

.schedule-health-ring .ring-complete {
  inset: 0;
  --ring-color: #ff5f73;
  --ring-track: #ffe3e7;
}

.schedule-health-ring .ring-focus {
  inset: 4px;
  --ring-color: #63d989;
  --ring-track: #e1f6e8;
}

.schedule-health-ring .ring-rhythm {
  inset: 8px;
  --ring-color: #50b9f5;
  --ring-track: #e0f2fd;
}

.schedule-health-ring > strong {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: grid;
  place-items: center;
  color: #28232d;
  font-size: 10px;
  line-height: 1;
  font-weight: 950;
}

.schedule-week-days > button.is-selected .schedule-health-ring > strong {
  color: #a06d00;
}

.schedule-ring-legend {
  display: flex;
  justify-content: center;
  gap: 14px;
  margin-top: 8px;
  color: #9a93a2;
  font-size: 7.5px;
  font-weight: 800;
}

.schedule-ring-legend span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.schedule-ring-legend i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
}

.schedule-ring-legend .is-complete { background: #ff5f73; }
.schedule-ring-legend .is-focus { background: #63d989; }
.schedule-ring-legend .is-rhythm { background: #50b9f5; }

.schedule-month-drawer {
  padding: 13px 14px 15px;
}

.schedule-month-drawer > header {
  display: grid;
  grid-template-columns: 34px 1fr 34px;
  align-items: center;
  margin-bottom: 10px;
}

.schedule-month-drawer > header strong {
  text-align: center;
  font-size: 13px;
  font-weight: 950;
}

.schedule-month-drawer > header button {
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 50%;
  background: #f5f2f7;
  color: #38323f;
  font-size: 19px;
  font-weight: 800;
}

.schedule-month-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  justify-items: center;
  gap: 5px 2px;
}

.schedule-month-grid > span {
  color: #9b94a4;
  font-size: 8px;
  font-weight: 850;
}

.schedule-month-grid > button {
  position: relative;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: conic-gradient(#8f6cff calc(var(--month-progress) * 1%), #eeeaf2 0);
}

.schedule-month-grid > button > span {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fff;
  color: #39333f;
  font-size: 9px;
  font-weight: 900;
}

.schedule-month-grid > button.is-muted {
  opacity: 0.34;
}

.schedule-month-grid > button.is-selected > span {
  background: #27212d;
  color: #fff;
}

.schedule-month-grid > button.is-today:not(.is-selected) > span {
  color: #c88600;
  box-shadow: inset 0 0 0 1px #f0b51f;
}

.schedule-todo-board {
  padding: 15px;
}

.schedule-todo-summary {
  padding: 0 1px 13px;
  border-bottom: 1px solid #f0edf2;
}

.schedule-todo-summary > span {
  padding: 6px 9px;
  border-radius: 999px;
  background: #f1ebff;
  color: #7956df;
  font-size: 8.5px;
  font-weight: 900;
}

.schedule-todo-group {
  margin-top: 15px;
}

.schedule-todo-group > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  color: #7d7585;
  font-size: 9px;
  font-weight: 850;
}

.schedule-todo-group > header > div {
  display: flex;
  align-items: center;
  gap: 6px;
}

.schedule-todo-group > header i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

.schedule-todo-group > header .is-scheduled { background: #7a5df0; }
.schedule-todo-group > header .is-pending { background: #f1ad24; }

.schedule-todo-list {
  display: grid;
  gap: 9px;
}

.schedule-todo-card {
  display: grid;
  grid-template-columns: 25px 69px minmax(0, 1fr);
  gap: 9px;
  padding: 12px 11px;
  border: 1px solid #eeeaf0;
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(44, 36, 54, 0.045);
}

.schedule-todo-card.is-done {
  background: #fbfafc;
  opacity: 0.7;
}

.schedule-todo-check {
  display: grid;
  place-items: center;
  width: 23px;
  height: 23px;
  padding: 0;
  border: 1.5px solid #dcd6e1;
  border-radius: 50%;
  background: #fff;
  color: transparent;
}

.schedule-todo-check[aria-pressed="true"] {
  border-color: #69d789;
  background: #69d789;
  color: #fff;
}

.schedule-todo-check span {
  font-size: 11px;
  font-weight: 950;
}

.schedule-todo-time {
  display: grid;
  align-content: start;
  gap: 4px;
  padding-top: 2px;
}

.schedule-todo-time strong {
  color: #2e2933;
  font-size: 8px;
  line-height: 1.3;
  font-weight: 950;
}

.schedule-todo-time span {
  color: #aaa3b0;
  font-size: 7.5px;
  line-height: 1.3;
  font-weight: 800;
}

.schedule-todo-main {
  min-width: 0;
}

.schedule-todo-tags {
  display: flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
  margin-bottom: 5px;
}

.schedule-todo-tags span,
.schedule-todo-tags em {
  overflow: hidden;
  padding: 3px 6px;
  border-radius: 999px;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 7px;
  line-height: 1;
  font-style: normal;
  font-weight: 900;
}

.schedule-todo-tags span {
  flex: 0 0 auto;
  background: #f0ebff;
  color: #7a58df;
}

.schedule-todo-tags em {
  min-width: 0;
  background: #fff3cf;
  color: #9b6900;
}

.schedule-todo-main h3 {
  margin: 0;
  color: #242029;
  font-size: 11px;
  line-height: 1.35;
  font-weight: 950;
}

.schedule-todo-card.is-done .schedule-todo-main h3 {
  text-decoration: line-through;
}

.schedule-todo-main p {
  margin: 4px 0 0;
  color: #8c8495;
  font-size: 8px;
  line-height: 1.45;
  font-weight: 700;
}

.schedule-todo-main footer {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 8px;
}

.schedule-todo-main footer button {
  height: 24px;
  padding: 0 8px;
  border: 0;
  border-radius: 999px;
  background: #f3f0f5;
  color: #625a69;
  font-size: 7.5px;
  font-weight: 900;
}

.schedule-todo-main footer .schedule-arrange-button {
  background: #27212d;
  color: #fff;
}

.schedule-diary-view,
.schedule-bag-view {
  min-height: 420px;
  padding: 16px;
}

.schedule-secondary-head > button {
  height: 30px;
  padding: 0 11px;
  border: 0;
  border-radius: 999px;
  background: #27212d;
  color: #fff;
  font-size: 8.5px;
  font-weight: 900;
}

.schedule-diary-prompt {
  margin-top: 15px;
  padding: 15px;
  border-radius: 18px;
  background: linear-gradient(135deg, #f2ecff, #fff7dd);
}

.schedule-diary-prompt > span {
  color: #7c5de0;
  font-size: 8px;
  font-weight: 900;
}

.schedule-diary-prompt > strong {
  display: block;
  margin-top: 6px;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 950;
}

.schedule-diary-prompt > p {
  margin: 6px 0 10px;
  color: #777080;
  font-size: 9px;
  line-height: 1.5;
  font-weight: 700;
}

.schedule-diary-prompt > button,
.schedule-bag-section > button {
  height: 28px;
  padding: 0 10px;
  border: 0;
  border-radius: 999px;
  background: #fff;
  color: #5f477b;
  font-size: 8px;
  font-weight: 900;
}

.schedule-diary-list {
  display: grid;
  gap: 9px;
  margin-top: 13px;
}

.schedule-diary-list article {
  padding: 13px;
  border: 1px solid #efebf1;
  border-radius: 16px;
}

.schedule-diary-list time {
  color: #aaa2b0;
  font-size: 8px;
  font-weight: 850;
}

.schedule-diary-list strong {
  display: block;
  margin-top: 4px;
  font-size: 11px;
  font-weight: 950;
}

.schedule-diary-list p {
  margin: 5px 0 0;
  color: #817989;
  font-size: 8.5px;
  line-height: 1.45;
  font-weight: 700;
}

.schedule-bag-summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
  margin-top: 15px;
}

.schedule-bag-summary span {
  display: grid;
  justify-items: center;
  gap: 2px;
  padding: 10px 5px;
  border-radius: 15px;
  background: #f7f4f8;
  color: #89818f;
  font-size: 8px;
  font-weight: 800;
}

.schedule-bag-summary strong {
  color: #2d2733;
  font-size: 17px;
  font-weight: 950;
}

.schedule-bag-section {
  margin-top: 11px;
  padding: 13px;
  border-radius: 17px;
  background: #faf8fb;
}

.schedule-bag-section > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.schedule-bag-section > header strong {
  font-size: 11px;
  font-weight: 950;
}

.schedule-bag-section > header span {
  color: #9b93a3;
  font-size: 7.5px;
  font-weight: 800;
}

.schedule-bag-items {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 10px 0;
}

.schedule-bag-items span {
  padding: 5px 8px;
  border-radius: 999px;
  background: #fff;
  color: #716979;
  font-size: 8px;
  font-weight: 850;
}

.schedule-bag-items span.is-missing {
  background: #fff0dd;
  color: #ad6800;
}

/* Diary memo stream + physical asset vault */
.schedule-diary-view,
.schedule-bag-view {
  padding: 11px;
}

.schedule-memo-composer {
  position: sticky;
  z-index: 4;
  top: 5px;
  padding: 13px;
  border: 1px solid rgba(111, 80, 200, 0.13);
  border-radius: 18px;
  background:
    radial-gradient(circle at 96% 0, rgba(255, 218, 88, 0.19), transparent 34%),
    rgba(255, 255, 255, 0.98);
  box-shadow: 0 14px 30px rgba(49, 38, 61, 0.1);
}

.schedule-memo-composer > header,
.schedule-memo-composer > footer,
.schedule-memo-stream-head,
.schedule-asset-head,
.schedule-asset-card > header,
.schedule-asset-card > footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.schedule-memo-composer > header small,
.schedule-memo-composer > header strong,
.schedule-memo-stream-head small,
.schedule-memo-stream-head strong,
.schedule-asset-head small {
  display: block;
}

.schedule-memo-composer > header small,
.schedule-memo-stream-head small,
.schedule-asset-head small {
  color: #8362dc;
  font-size: 7.5px;
  font-weight: 950;
}

.schedule-memo-composer > header strong {
  margin-top: 2px;
  color: #27222c;
  font-size: 12px;
  font-weight: 950;
}

.schedule-memo-composer > header > span {
  color: #aaa2b0;
  font-size: 7px;
  font-weight: 800;
}

.schedule-memo-composer textarea {
  width: 100%;
  min-height: 82px;
  margin-top: 10px;
  padding: 0;
  resize: none;
  box-sizing: border-box;
  border: 0;
  outline: 0;
  background: transparent;
  color: #302a35;
  font-family: inherit;
  font-size: 11px;
  line-height: 1.65;
  font-weight: 750;
}

.schedule-memo-composer textarea::placeholder {
  color: #aaa3b1;
}

.schedule-memo-composer > footer {
  padding-top: 9px;
  border-top: 1px solid #f0edf2;
}

.schedule-memo-composer > footer > div {
  display: flex;
  gap: 5px;
}

.schedule-memo-composer button {
  height: 27px;
  padding: 0 9px;
  border: 0;
  border-radius: 999px;
  background: #f2eff5;
  color: #756d7d;
  font-family: inherit;
  font-size: 7.5px;
  font-weight: 900;
}

.schedule-memo-composer button[aria-pressed="true"] {
  background: #eee7ff;
  color: #6f50c8;
}

.schedule-memo-composer button.primary {
  display: grid;
  width: 36px;
  min-width: 36px;
  height: 36px;
  padding: 0;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(145deg, #ffc94c, #f6ae21);
  color: #fff;
  box-shadow: 0 7px 16px rgba(238, 166, 28, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.38);
}

.schedule-memo-composer button.primary svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.schedule-memo-stream-head {
  margin: 14px 3px 7px;
}

.schedule-memo-stream-head strong {
  margin-top: 2px;
  color: #332d38;
  font-size: 11px;
  font-weight: 950;
}

.schedule-memo-stream-head > span {
  color: #9d95a4;
  font-size: 8px;
  font-weight: 850;
}

.schedule-diary-list {
  gap: 7px;
  margin-top: 0;
}

.schedule-diary-list article.schedule-memo-card {
  padding: 12px 13px;
  border: 1px solid rgba(48, 40, 57, 0.065);
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 7px 18px rgba(47, 37, 57, 0.035);
}

.schedule-memo-card.is-new {
  animation: schedule-memo-in 220ms ease both;
}

.schedule-memo-card > p {
  margin: 0;
  color: #413a47;
  font-size: 9.5px;
  line-height: 1.65;
  font-weight: 720;
}

.schedule-memo-card > footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  margin-top: 9px;
}

.schedule-memo-card time,
.schedule-memo-card footer span,
.schedule-memo-card footer em {
  font-size: 7px;
  font-style: normal;
  font-weight: 850;
}

.schedule-memo-card time { color: #aaa3b0; }
.schedule-memo-card footer span {
  padding: 3px 6px;
  border-radius: 999px;
  background: #f0ebff;
  color: #7658ca;
}
.schedule-memo-card footer em { color: #b77c00; }

.schedule-asset-head {
  align-items: flex-start;
  padding: 3px 2px 2px;
}

.schedule-asset-head h2 {
  margin: 3px 0 0;
  color: #2f2934;
  font-size: 14px;
  font-weight: 950;
}

.schedule-asset-head p {
  max-width: 225px;
  margin: 5px 0 0;
  color: #8d8594;
  font-size: 7.5px;
  line-height: 1.45;
  font-weight: 750;
}

.schedule-asset-head > button {
  height: 28px;
  padding: 0 9px;
  border: 0;
  border-radius: 999px;
  background: #2c2631;
  color: #fff;
  font-family: inherit;
  font-size: 7.5px;
  font-weight: 900;
}

.schedule-asset-summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5px;
  margin-top: 11px;
}

.schedule-asset-summary span {
  display: grid;
  justify-items: center;
  gap: 1px;
  padding: 8px 4px;
  border-radius: 12px;
  background: #f7f4f8;
  color: #918998;
  font-size: 7px;
  font-weight: 850;
}

.schedule-asset-summary strong {
  color: #312b36;
  font-size: 14px;
  font-weight: 950;
}

.schedule-asset-filters {
  display: flex;
  gap: 5px;
  margin-top: 10px;
  overflow-x: auto;
  scrollbar-width: none;
}

.schedule-asset-filters button {
  flex: 0 0 auto;
  height: 25px;
  padding: 0 9px;
  border: 0;
  border-radius: 999px;
  background: #f3f0f5;
  color: #827a89;
  font-family: inherit;
  font-size: 7.5px;
  font-weight: 900;
}

.schedule-asset-filters button.is-active {
  background: #ede7ff;
  color: #6b4fc0;
}

.schedule-asset-list {
  display: grid;
  gap: 7px;
  margin-top: 9px;
}

.schedule-asset-card {
  padding: 11px;
  border: 1px solid rgba(47, 39, 56, 0.065);
  border-radius: 15px;
  background: #fff;
}

.schedule-asset-card[hidden] {
  display: none !important;
}

.schedule-asset-card > header {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto;
}

.schedule-asset-icon {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 11px;
  background: #fff3d6;
  font-size: 16px;
}

.schedule-asset-card > header strong,
.schedule-asset-card > header small {
  display: block;
}

.schedule-asset-name-input {
  width: 100%;
  height: 20px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid #dcd5e1;
  outline: 0;
  background: transparent;
  color: #342e39;
  font-family: inherit;
  font-size: 9px;
  font-weight: 900;
}

.schedule-asset-name-input::placeholder {
  color: #aaa2af;
}

.schedule-asset-card > header strong {
  color: #342e39;
  font-size: 10px;
  font-weight: 950;
}

.schedule-asset-card > header small {
  margin-top: 2px;
  color: #a098a5;
  font-size: 6.8px;
  font-weight: 750;
}

.schedule-asset-card > header em {
  padding: 4px 6px;
  border-radius: 999px;
  background: #e8f8f0;
  color: #23855f;
  font-size: 6.8px;
  font-style: normal;
  font-weight: 900;
}

.schedule-asset-card.is-warning > header em {
  background: #fff0d7;
  color: #a96c00;
}

.schedule-asset-card dl {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px;
  margin: 9px 0 0;
}

.schedule-asset-card dl > div {
  padding: 7px 8px;
  border-radius: 10px;
  background: #f8f6f9;
}

.schedule-asset-card dt,
.schedule-asset-card dd {
  margin: 0;
}

.schedule-asset-card dt {
  color: #aaa2af;
  font-size: 6.5px;
  font-weight: 800;
}

.schedule-asset-card dd {
  margin-top: 2px;
  overflow: hidden;
  color: #554e5b;
  font-size: 7.5px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.schedule-asset-card > footer {
  margin-top: 8px;
}

.schedule-asset-card > footer > span {
  max-width: 190px;
  color: #928a98;
  font-size: 6.8px;
  line-height: 1.35;
  font-weight: 780;
}

.schedule-asset-card > footer > button {
  height: 25px;
  padding: 0 8px;
  border: 0;
  border-radius: 999px;
  background: #f1edf5;
  color: #665b70;
  font-family: inherit;
  font-size: 7px;
  font-weight: 900;
}

.schedule-asset-card.is-verified > header em,
.schedule-asset-card.is-verified > footer > button {
  background: #e8f8f0;
  color: #23855f;
}

@keyframes schedule-memo-in {
  from { opacity: 0; transform: translateY(-7px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 400px) {
  .schedule-v2-context,
  .schedule-v2-tabs,
  .schedule-week-card,
  .schedule-month-drawer,
  .schedule-todo-board,
  .schedule-diary-view,
  .schedule-bag-view {
    margin-right: 16px;
    margin-left: 16px;
  }

  .schedule-todo-card {
    grid-template-columns: 23px 64px minmax(0, 1fr);
    gap: 7px;
  }
}

/* Profile editor — one layout model shared by person, organisation, place and agent accounts. */
body.panda-app .entity-phone[data-profile-surface] {
  --profile-ink: #1f1b24;
  --profile-muted: #817a89;
  --profile-line: rgba(44, 37, 51, 0.09);
  --profile-accent: #f0aa28;
  --profile-control: #2b2530;
}

body.panda-app .entity-phone[data-profile-surface] .entity-tabs-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  margin: 0 21px 12px;
  padding-top: 11px;
}

body.panda-app .entity-phone[data-profile-surface] .entity-tabs-shell .entity-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-width: 0;
  margin: 0;
  padding-top: 0;
}

body.panda-app .profile-edit-toggle {
  min-width: 58px;
  height: 40px;
  padding: 0 16px;
  border: 1px solid var(--profile-line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  color: var(--profile-ink);
  box-shadow: 0 7px 18px rgba(38, 31, 45, 0.07);
  font-family: inherit;
  font-size: 12px;
  font-weight: 900;
  transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}

body.panda-app .entity-phone.is-profile-editing .profile-edit-toggle {
  border-color: var(--profile-control);
  background: var(--profile-control);
  color: #fff;
}

body.panda-app .entity-phone[data-profile-surface] .entity-panel {
  margin-right: 21px;
  margin-left: 21px;
}

body.panda-app .entity-phone[data-profile-surface] .entity-preview-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  gap: 12px;
  padding-bottom: 112px;
}

body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-profile-widget] {
  position: relative;
  width: 100%;
  min-height: 0;
  padding: 17px;
  overflow: visible;
  border: 1px solid var(--profile-line);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 10px 28px rgba(52, 44, 62, 0.07);
  transform: translateZ(0);
  transition: box-shadow 180ms ease, opacity 180ms ease, transform 180ms ease;
}

body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-profile-widget]::after {
  display: none;
}

body.panda-app .entity-phone[data-profile-surface] .entity-widget[hidden] {
  display: none !important;
}

body.panda-app .entity-phone[data-profile-surface] .entity-widget .widget-head {
  min-height: 24px;
  margin-bottom: 13px;
}

body.panda-app .entity-phone[data-profile-surface] .entity-widget .widget-head h2 {
  color: var(--profile-ink);
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: -0.01em;
}

body.panda-app .entity-phone[data-profile-surface] .entity-widget .widget-head a,
body.panda-app .entity-phone[data-profile-surface] .entity-widget .widget-head button {
  min-height: 28px;
  padding: 0 2px;
  color: #7a7282;
  font-size: 10.5px;
}

body.panda-app .entity-phone[data-profile-surface] .entity-widget p {
  margin-top: 12px;
  font-size: 11px;
  line-height: 1.45;
}

body.panda-app .entity-phone[data-profile-surface] .mini-strip {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

body.panda-app .entity-phone[data-profile-surface] .mini-strip i {
  height: 62px;
  border-radius: 13px;
}

body.panda-app .entity-phone[data-profile-surface] .work-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

body.panda-app .entity-phone[data-profile-surface] .work-grid i {
  height: 62px;
  border-radius: 13px;
}

body.panda-app .entity-phone[data-profile-surface] .place-row {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

body.panda-app .entity-phone[data-profile-surface] .place-row span {
  display: grid;
  min-height: 46px;
  padding: 8px;
  place-items: center;
  border-radius: 13px;
  font-size: 10.5px;
  text-align: center;
}

body.panda-app .entity-phone[data-profile-surface] .relation-stack {
  margin-top: 8px;
}

body.panda-app .entity-phone[data-profile-surface] .relation-stack i {
  width: 38px;
  height: 38px;
}

body.panda-app .profile-widget-edit-controls {
  position: absolute;
  z-index: 5;
  top: -11px;
  right: -8px;
  left: -8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  pointer-events: none;
  opacity: 0;
  transition: opacity 140ms ease;
}

body.panda-app .entity-phone.is-profile-editing .profile-widget-edit-controls {
  pointer-events: auto;
  opacity: 1;
}

body.panda-app .profile-widget-remove,
body.panda-app .profile-widget-drag {
  display: grid;
  width: 34px;
  height: 34px;
  padding: 0;
  place-items: center;
  border: 3px solid #fff;
  border-radius: 50%;
  box-shadow: 0 5px 14px rgba(41, 33, 48, 0.16);
  font-family: inherit;
}

body.panda-app .profile-widget-remove {
  background: #ff3b30;
  color: #fff;
  font-size: 22px;
  line-height: 1;
}

body.panda-app .profile-widget-drag {
  position: relative;
  background: #f1eff4;
  color: #5f5867;
  cursor: grab;
  touch-action: none;
}

body.panda-app .profile-widget-drag::before {
  width: 14px;
  height: 14px;
  background: radial-gradient(circle, currentColor 1.4px, transparent 1.7px) 0 0 / 7px 7px;
  content: "";
}

body.panda-app .entity-phone.is-profile-editing .entity-widget[data-profile-widget] {
  border-color: rgba(123, 99, 176, 0.18);
  box-shadow: 0 12px 30px rgba(63, 50, 76, 0.11);
}

body.panda-app .entity-phone.is-profile-editing .entity-widget [data-profile-widget-use],
body.panda-app .entity-phone.is-profile-editing .entity-widget [data-app-route] {
  pointer-events: none;
  opacity: 0.5;
}

body.panda-app .entity-widget.is-profile-dragging {
  z-index: 8;
  opacity: 0.9;
  box-shadow: 0 22px 48px rgba(46, 36, 56, 0.2) !important;
  transform: scale(1.018) !important;
}

body.panda-app .entity-widget.is-widget-active {
  box-shadow: 0 15px 34px rgba(240, 170, 40, 0.2) !important;
  transform: translateY(-2px);
}

body.panda-app .profile-add-widget {
  display: none;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 66px;
  padding: 12px 16px;
  border: 1px dashed rgba(78, 67, 89, 0.24);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.66);
  color: var(--profile-ink);
  font-family: inherit;
  text-align: left;
}

body.panda-app .entity-phone.is-profile-editing .profile-add-widget {
  display: grid;
}

body.panda-app .profile-add-widget > i {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 50%;
  background: #f1eef6;
  color: #665d70;
  font-size: 23px;
  font-style: normal;
}

body.panda-app .profile-add-widget span,
body.panda-app .profile-add-widget strong,
body.panda-app .profile-add-widget small {
  display: block;
}

body.panda-app .profile-add-widget strong {
  font-size: 12px;
}

body.panda-app .profile-add-widget small {
  margin-top: 3px;
  color: var(--profile-muted);
  font-size: 9px;
  font-weight: 700;
}

body.panda-app .profile-widget-sheet[hidden],
body.panda-app .profile-widget-toast[hidden] {
  display: none !important;
}

body.panda-app .profile-widget-sheet {
  --profile-ink: #1f1b24;
  --profile-muted: #817a89;
  --profile-line: rgba(44, 37, 51, 0.09);
  --profile-control: #2b2530;
  position: fixed;
  z-index: 920;
  inset: 0;
  display: grid;
  align-items: end;
  animation: profileSheetFade 180ms ease both;
}

body.panda-app .profile-widget-scrim {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(29, 25, 33, 0.28);
  backdrop-filter: blur(9px);
}

body.panda-app .profile-widget-panel {
  position: relative;
  z-index: 1;
  right: auto;
  bottom: auto;
  left: auto;
  width: min(100%, 520px);
  max-height: min(78vh, 650px);
  margin: 0 auto;
  padding: 9px 20px calc(20px + env(safe-area-inset-bottom, 0px));
  overflow-y: auto;
  overscroll-behavior: contain;
  border-radius: 30px 30px 0 0;
  background: rgba(251, 250, 252, 0.98);
  box-shadow: 0 -24px 64px rgba(35, 28, 42, 0.2);
  animation: profileSheetUp 220ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

body.panda-app .profile-widget-grabber {
  display: block;
  width: 36px;
  height: 5px;
  margin: 0 auto 13px;
  border-radius: 999px;
  background: #d7d3db;
}

body.panda-app .profile-widget-panel > header {
  align-items: center;
  min-height: 48px;
}

body.panda-app .profile-widget-panel header small {
  color: #9a7a2b;
  font-size: 9px;
}

body.panda-app .profile-widget-panel header h2 {
  margin-top: 2px;
  color: var(--profile-ink);
  font-size: 22px;
  line-height: 1.15;
}

body.panda-app .profile-widget-panel header > button {
  width: auto;
  min-width: 56px;
  height: 38px;
  padding: 0 14px;
  border: 0;
  border-radius: 999px;
  background: #ece9ef;
  color: #403946;
  font-family: inherit;
  font-size: 11px;
  font-weight: 900;
}

body.panda-app .profile-widget-panel > p {
  margin: 8px 0 16px;
  color: var(--profile-muted);
  font-size: 10.5px;
  line-height: 1.55;
}

body.panda-app .profile-widget-options {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
}

body.panda-app .profile-widget-options > button {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 64px;
  padding: 9px 12px;
  border: 1px solid var(--profile-line);
  border-radius: 18px;
  background: #fff;
  color: var(--profile-ink);
  font-family: inherit;
  text-align: left;
}

body.panda-app .profile-widget-options > button:disabled {
  color: var(--profile-ink);
  opacity: 0.64;
}

body.panda-app .profile-widget-options i {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 13px;
  background: linear-gradient(145deg, #f2e9ff, #fff5dc);
  color: #7657d9;
  font-size: 18px;
  font-style: normal;
}

body.panda-app .profile-widget-options span,
body.panda-app .profile-widget-options strong,
body.panda-app .profile-widget-options small {
  display: block;
  min-width: 0;
}

body.panda-app .profile-widget-options strong {
  font-size: 12px;
}

body.panda-app .profile-widget-options small {
  margin-top: 3px;
  color: var(--profile-muted);
  font-size: 9px;
  line-height: 1.35;
}

body.panda-app .profile-widget-options b {
  grid-column: auto;
  padding: 7px 10px;
  border-radius: 999px;
  background: #f1eff4;
  color: #726b79;
  font-size: 9px;
  white-space: nowrap;
}

body.panda-app .profile-widget-options > button:not(:disabled) b {
  background: #fff1c9;
  color: #9b6814;
}

body.panda-app .profile-widget-store {
  min-height: 64px;
  margin-top: 14px;
  padding: 12px 16px;
  border-radius: 19px;
  background: var(--profile-control);
}

body.panda-app .profile-widget-store strong {
  font-size: 12px;
}

body.panda-app .profile-widget-store small {
  margin-top: 3px;
  font-size: 9px;
  line-height: 1.4;
}

body.panda-app .profile-widget-toast {
  --profile-control: #2b2530;
  position: fixed;
  z-index: 950;
  right: 50%;
  bottom: calc(88px + env(safe-area-inset-bottom, 0px));
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(calc(100% - 36px), 430px);
  min-height: 52px;
  padding: 8px 10px 8px 16px;
  border-radius: 16px;
  background: rgba(40, 35, 44, 0.96);
  color: #fff;
  box-shadow: 0 16px 36px rgba(31, 25, 37, 0.24);
  font-size: 11px;
  font-weight: 800;
  transform: translateX(50%);
}

body.panda-app .profile-widget-toast button {
  min-width: 56px;
  height: 36px;
  padding: 0 13px;
  border: 0;
  border-radius: 11px;
  background: #fff;
  color: #2d2733;
  font-family: inherit;
  font-size: 11px;
  font-weight: 950;
}

@keyframes profileSheetFade {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes profileSheetUp {
  from { transform: translateY(28px); }
  to { transform: translateY(0); }
}

@media (max-width: 400px) {
  body.panda-app .entity-phone[data-profile-surface] .entity-tabs-shell,
  body.panda-app .entity-phone[data-profile-surface] .entity-panel {
    margin-right: 17px;
    margin-left: 17px;
  }

  body.panda-app .entity-phone[data-profile-surface] .entity-widget[data-profile-widget] {
    padding: 15px;
    border-radius: 20px;
  }

  body.panda-app .entity-phone[data-profile-surface] .mini-strip i,
  body.panda-app .entity-phone[data-profile-surface] .work-grid i {
    height: 54px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.panda-app .entity-phone[data-profile-surface] *,
  body.panda-app .profile-widget-sheet,
  body.panda-app .profile-widget-panel {
    scroll-behavior: auto !important;
    animation: none !important;
    transition-duration: 0.01ms !important;
  }
}

/* Schedule v3: one date hierarchy, category rings and compact date-linked todos */
.schedule-v2-context {
  position: relative;
  min-height: 98px;
  padding: 14px 17px 13px;
}

.schedule-context-meta {
  gap: 8px;
  margin-bottom: 8px;
  padding-right: 0;
}

.schedule-context-map-button {
  position: absolute;
  top: 15px;
  right: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  height: 34px;
  padding: 0 10px;
  border: 0;
  border-radius: 999px;
  background: #eee9ff;
  color: #6e50c8;
  box-shadow: 0 7px 16px rgba(92, 69, 156, 0.1);
  font-size: 8.5px;
  font-weight: 950;
}

.schedule-context-map-button svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
}

.schedule-context-map-button.is-active {
  background: #29232f;
  color: #fff;
  box-shadow: 0 8px 18px rgba(41, 35, 47, 0.2);
}

.schedule-context-meta span {
  min-height: 35px;
  padding: 0 13px;
  font-size: 14px;
  font-weight: 950;
}

.schedule-context-meta i {
  font-size: 17px;
}

.schedule-v2-context > strong {
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0;
}

.schedule-v2-context > p {
  margin-top: 5px;
  font-size: 9px;
}

.schedule-week-card {
  position: relative;
  padding: 11px 11px 9px;
}

.schedule-week-label {
  color: #8c8495;
  font-size: 10px;
  line-height: 1;
  font-weight: 950;
}

.schedule-week-title {
  display: flex;
  align-items: center;
  gap: 5px;
}

.schedule-week-title-copy {
  display: grid;
  gap: 2px;
}

.schedule-week-title-copy > span {
  color: #aaa2b0;
  font-size: 6.5px;
  line-height: 1;
  font-weight: 800;
  white-space: nowrap;
}

.schedule-week-title > button {
  display: grid;
  place-items: center;
  width: 23px;
  height: 23px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #2d2733;
  color: #fff;
  font-family: inherit;
  font-size: 15px;
  line-height: 1;
  font-weight: 700;
  box-shadow: 0 5px 12px rgba(45, 39, 51, 0.16);
}

.schedule-week-actions button.schedule-allocation-toggle {
  background: #eee9ff;
  color: #7152cf;
}

.schedule-week-actions button.schedule-allocation-toggle.is-active {
  background: #2d2733;
  color: #fff;
  box-shadow: 0 6px 14px rgba(45, 39, 51, 0.16);
}

.schedule-week-actions [data-schedule-v2-today] {
  background: #fff3c8;
  color: #9b6a00;
}

.schedule-week-days {
  margin-top: 9px;
}

.schedule-week-days[hidden],
.schedule-ring-legend[hidden] {
  display: none !important;
}

.schedule-health-ring {
  width: 40px;
  height: 40px;
}

.schedule-health-ring .ring-layer,
.schedule-month-ring .ring-layer {
  position: absolute;
  border-radius: 50%;
  background: conic-gradient(var(--ring-color) calc(var(--ring-progress) * 1%), var(--ring-track) 0);
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 0);
  mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 0);
  transform: rotate(-90deg);
}

.schedule-health-ring .ring-project,
.schedule-month-ring .ring-project {
  inset: 0;
  --ring-color: #ffb832;
  --ring-track: #fff0c8;
}

.schedule-health-ring .ring-study,
.schedule-month-ring .ring-study {
  inset: 0;
  --ring-color: #8d6df2;
  --ring-track: #ece6ff;
}

.schedule-health-ring .ring-collaboration,
.schedule-month-ring .ring-collaboration {
  inset: 0;
  --ring-color: #ff7095;
  --ring-track: #ffe4ec;
}

.schedule-health-ring .ring-campus,
.schedule-month-ring .ring-campus {
  inset: 0;
  --ring-color: #4dc99b;
  --ring-track: #ddf6ed;
}

.schedule-health-ring.is-future > strong {
  color: #aaa3af;
  font-weight: 850;
}

.schedule-health-ring .ring-timeline,
.schedule-month-ring .ring-timeline {
  inset: 0;
  background: var(--ring-gradient);
}

.schedule-ring-legend {
  gap: 9px;
  margin-top: 7px;
  font-size: 7px;
}

.schedule-ring-legend .is-project { background: #ffb832; }
.schedule-ring-legend .is-study { background: #8d6df2; }
.schedule-ring-legend .is-collaboration { background: #ff7095; }
.schedule-ring-legend .is-campus { background: #4dc99b; }

.schedule-ring-hint i {
  border: 1px dotted #8f8797;
  background: transparent;
}

.schedule-week-card > .schedule-month-drawer {
  margin: 7px -2px -1px;
  padding: 0 2px 1px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.schedule-month-grid {
  gap: 4px 1px;
}

.schedule-month-grid > button {
  width: 34px;
  height: 34px;
  border-radius: 11px;
  background: transparent;
}

.schedule-month-grid > button > .schedule-month-ring {
  position: relative;
  display: block;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: transparent;
}

.schedule-month-ring .ring-study,
.schedule-month-ring .ring-collaboration,
.schedule-month-ring .ring-campus { inset: 0; }

.schedule-month-ring > strong {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: grid;
  place-items: center;
  color: #39333f;
  font-size: 8.5px;
  line-height: 1;
  font-weight: 900;
}

.schedule-month-grid > button.is-future .schedule-month-ring > strong {
  color: #b5aeba;
}

.schedule-month-grid > button.is-selected {
  border-radius: 15px;
  background: #fff8df;
  box-shadow: inset 0 0 0 1px rgba(245, 187, 31, 0.16);
}

.schedule-month-grid > button.is-selected > .schedule-month-ring {
  background: transparent;
  color: inherit;
  filter: none;
}

.schedule-month-grid > button.is-selected .schedule-month-ring > strong {
  inset: 0;
  width: auto;
  height: auto;
  border-radius: 0;
  background: transparent;
  color: #a06d00;
  box-shadow: none;
  transform: none;
}

.schedule-month-grid > button.is-today:not(.is-selected) .schedule-month-ring > strong {
  color: #bf7e00;
}

.schedule-day-allocation[hidden] {
  display: none !important;
}

.schedule-week-days[hidden],
.schedule-ring-legend[hidden],
.schedule-week-actions button[hidden],
[data-schedule-map-day-view][hidden] {
  display: none !important;
}

.schedule-day-allocation {
  position: relative;
  width: auto;
  margin: 9px 0 0;
  padding: 10px;
  box-sizing: border-box;
  border: 1px solid rgba(83, 66, 102, 0.07);
  border-radius: 15px;
  background:
    linear-gradient(135deg, rgba(248, 246, 253, 0.98), rgba(255, 252, 241, 0.94));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
  animation: schedule-map-inline-in 180ms ease both;
}

.schedule-day-allocation::before {
  display: none;
}

.schedule-day-allocation > header,
.schedule-allocation-summary,
.schedule-allocation-projects article > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.schedule-day-allocation > header small,
.schedule-day-allocation > header strong {
  display: block;
}

.schedule-day-allocation > header small {
  color: #a098a7;
  font-size: 7px;
  font-weight: 850;
}

.schedule-day-allocation > header strong {
  margin-top: 2px;
  color: #2a2530;
  font-size: 11px;
  font-weight: 950;
}

.schedule-map-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}

.schedule-map-actions button {
  height: 26px;
  padding: 0 9px;
  border: 0;
  border-radius: 999px;
  background: #f1edf4;
  color: #6f6776;
  font-family: inherit;
  font-size: 7.5px;
  font-weight: 950;
}

.schedule-map-actions .schedule-map-expand {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  width: auto;
  padding: 0 8px;
  font-size: 7.5px;
}

.schedule-map-expand svg {
  width: 11px;
  height: 11px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  transition: transform 160ms ease;
}

.schedule-map-expand.is-active svg {
  transform: rotate(180deg);
}

.schedule-map-actions button.is-ready {
  background: #e3f7ee;
  color: #278e68;
}

.schedule-map-scopes {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 3px;
  margin-top: 8px;
  padding: 3px;
  border-radius: 11px;
  background: rgba(238, 234, 242, 0.74);
}

.schedule-map-scopes button {
  height: 23px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #8a8291;
  font-family: inherit;
  font-size: 8px;
  font-weight: 900;
}

.schedule-map-scopes button.is-active {
  background: #fff;
  color: #5f477b;
  box-shadow: 0 4px 10px rgba(65, 51, 78, 0.08);
}

.schedule-map-slogan {
  margin: 5px 0 0;
  color: #8a8290;
  font-size: 7.5px;
  line-height: 1.4;
  font-weight: 760;
}

.schedule-day-strip {
  position: relative;
  min-height: 13px;
  margin-top: 10px;
  overflow: hidden;
  border-radius: 5px;
  background: #ece9ef;
}

.schedule-day-strip > .schedule-time-segment {
  position: absolute;
  top: 0;
  left: var(--segment-left);
  width: var(--segment-width);
  height: 13px;
  background: var(--segment-color);
}

.schedule-day-strip > .is-empty {
  display: grid;
  place-items: center;
  min-height: 28px;
  border-radius: 8px;
  background: #f6f4f7;
  color: #9b94a2;
  font-size: 7.5px;
  font-weight: 800;
}

.schedule-day-axis {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  margin-top: 4px;
  color: #aaa3af;
  font-size: 6.5px;
  font-weight: 800;
}

.schedule-day-axis span:nth-child(2),
.schedule-day-axis span:nth-child(3),
.schedule-day-axis span:nth-child(4) {
  text-align: center;
}

.schedule-day-axis span:last-child {
  text-align: right;
}

.schedule-allocation-summary {
  margin-top: 9px;
  color: #655e6c;
  font-size: 7.5px;
  font-weight: 900;
}

.schedule-allocation-summary small {
  color: #a49da9;
  font-size: 6.8px;
  font-weight: 750;
}

.schedule-allocation-projects {
  display: grid;
  gap: 7px;
  margin-top: 8px;
}

.schedule-map-surface {
  display: block;
  margin-top: 9px;
  overflow-x: auto;
  padding: 2px 1px 7px;
  scrollbar-width: none;
}

.schedule-map-surface::-webkit-scrollbar { display: none; }

.schedule-daily-heatmap {
  display: grid;
  grid-template-columns: repeat(var(--schedule-day-count), 12px);
  align-items: end;
  gap: 3px;
  width: max-content;
  min-width: 100%;
}

.schedule-daily-heatmap article {
  display: grid;
  grid-template-rows: 42px 10px;
  align-items: end;
  gap: 3px;
  min-width: 0;
}

.schedule-daily-heatmap article > div {
  position: relative;
  width: 100%;
  height: 42px;
  overflow: hidden;
  border-radius: 4px;
  background: #f0edf2;
}

.schedule-daily-heatmap article > div > i {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: var(--day-load);
  border-radius: 4px;
  background: linear-gradient(180deg, #7aaeff, #7b63dd 52%, #ffbf3f);
  opacity: 0.92;
}

.schedule-daily-heatmap article.is-empty > div > i { opacity: 0.12; }

.schedule-daily-heatmap article > strong {
  overflow: visible;
  color: #918a97;
  font-size: 5.5px;
  font-weight: 850;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  transform: rotate(-45deg);
  transform-origin: center;
}

.schedule-week-actions .schedule-calendar-expand.is-passive {
  opacity: 0.55;
  cursor: default;
}

/* Every non-day scope remains a literal top-to-bottom list of days. */
.schedule-daily-rows {
  display: grid;
  gap: 0;
  width: 100%;
  overflow: hidden;
  border: 1px solid rgba(103, 91, 114, 0.09);
  border-radius: 7px;
}

.schedule-daily-rows article {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  gap: 6px;
  min-height: 11px;
  border-bottom: 1px solid rgba(103, 91, 114, 0.08);
  background: rgba(255, 255, 255, 0.48);
}

.schedule-daily-rows article:last-child { border-bottom: 0; }

.schedule-daily-rows article > strong {
  color: #777080;
  font-size: 6.5px;
  font-weight: 900;
  text-align: right;
  white-space: nowrap;
}

.schedule-daily-rows article > div {
  position: relative;
  height: 10px;
  overflow: hidden;
  border-radius: 0;
  background: #ece9ef;
}

.schedule-daily-rows article > div > .schedule-time-segment {
  position: absolute;
  top: 0;
  left: var(--segment-left);
  width: var(--segment-width);
  height: 10px;
  background: var(--segment-color);
}

.schedule-daily-rows article.is-empty > div::after {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(90deg, transparent 0 7px, rgba(129, 119, 140, 0.08) 7px 8px);
}

.schedule-daily-more {
  margin: 7px 0 0;
  padding: 6px;
  border-radius: 8px;
  background: #f4f1f6;
  color: #817988;
  font-size: 6.5px;
  font-weight: 850;
  text-align: center;
}

.schedule-week-actions .schedule-calendar-expand.is-expanded svg {
  transform: rotate(180deg);
}

.schedule-map-surface .schedule-daily-rows { gap: 0; }

.schedule-map-surface .schedule-daily-rows article {
  min-height: var(--daily-row-height, 10px);
  height: var(--daily-row-height, 10px);
  gap: 6px;
  padding: 0;
  margin: 0;
}

.schedule-map-surface .schedule-daily-rows article > div,
.schedule-map-surface .schedule-daily-rows article > div > .schedule-time-segment {
  height: var(--daily-row-height, 10px);
  border-radius: 0;
}

.schedule-daily-rows.is-density-expanded article > strong {
  visibility: hidden;
  font-size: 5px;
  line-height: 1;
}

.schedule-daily-rows.is-density-expanded article.has-date-label > strong {
  visibility: visible;
}

.schedule-daily-rows.is-density-expanded article {
  border-bottom-color: rgba(103, 91, 114, 0.045);
}

.schedule-daily-load {
  display: flex;
  width: var(--daily-width);
  height: 100%;
  overflow: hidden;
  background: transparent;
}

.schedule-daily-load > i {
  display: block;
  flex: 0 0 var(--project-share);
  height: 100%;
  background: var(--project-color);
}

.schedule-map-surface[hidden] {
  display: none !important;
}

.schedule-map-surface article {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  align-items: center;
  gap: 5px;
}

.schedule-map-surface article > strong {
  overflow: hidden;
  color: #847c8b;
  font-size: 6.5px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.schedule-map-surface article > div {
  position: relative;
  height: 5px;
  overflow: hidden;
  border-radius: 2px;
  background: #e9e6ed;
}

.schedule-map-surface article > div > .schedule-time-segment {
  position: absolute;
  top: 0;
  left: var(--segment-left);
  width: var(--segment-width);
  height: 5px;
  background: var(--segment-color);
}

.schedule-allocation-projects article {
  display: grid;
  gap: 4px;
}

.schedule-allocation-projects article > header span {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 5px;
}

.schedule-allocation-projects article > header span > i {
  flex: 0 0 auto;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--project-color);
}

.schedule-allocation-projects article > header strong {
  overflow: hidden;
  color: #3d3743;
  font-size: 7.5px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.schedule-allocation-projects article > header em {
  color: #8c8592;
  font-size: 7px;
  font-style: normal;
  font-weight: 850;
}

.schedule-allocation-projects article > div {
  height: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: #efecf1;
}

.schedule-allocation-projects article > div > i {
  display: block;
  width: var(--project-width);
  height: 100%;
  border-radius: inherit;
  background: var(--project-color);
}

@keyframes schedule-map-inline-in {
  from { opacity: 0; transform: translateY(-5px); }
  to { opacity: 1; transform: translateY(0); }
}

.schedule-arrange-scrim[hidden],
.schedule-arrange-bubble[hidden] {
  display: none !important;
}

.schedule-arrange-scrim {
  position: fixed;
  z-index: 180;
  inset: 0;
  background: rgba(34, 28, 40, 0.2);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}

.schedule-arrange-bubble {
  position: fixed;
  z-index: 181;
  bottom: 88px;
  left: 50%;
  width: min(calc(100vw - 32px), 390px);
  padding: 16px;
  box-sizing: border-box;
  border: 1px solid rgba(52, 42, 61, 0.08);
  border-radius: 24px;
  background:
    radial-gradient(circle at 94% 4%, rgba(255, 212, 77, 0.25), transparent 31%),
    linear-gradient(145deg, #fff, #fffaf0);
  box-shadow: 0 26px 70px rgba(39, 30, 48, 0.26);
  transform: translateX(-50%);
  animation: schedule-arrange-in 220ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

.schedule-arrange-bubble::after {
  position: absolute;
  right: 42px;
  bottom: -7px;
  width: 15px;
  height: 15px;
  border-right: 1px solid rgba(52, 42, 61, 0.07);
  border-bottom: 1px solid rgba(52, 42, 61, 0.07);
  background: #fffaf0;
  content: "";
  transform: rotate(45deg);
}

.schedule-arrange-bubble > header,
.schedule-arrange-bubble > footer,
.schedule-arrange-custom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.schedule-arrange-bubble > header small,
.schedule-arrange-bubble > header strong {
  display: block;
}

.schedule-arrange-bubble > header small {
  color: #a4760b;
  font-size: 7.5px;
  font-weight: 900;
}

.schedule-arrange-bubble > header strong {
  max-width: 270px;
  margin-top: 3px;
  overflow: hidden;
  color: #27222d;
  font-size: 13px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.schedule-arrange-bubble > header > button {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(244, 240, 246, 0.9);
  color: #6e6675;
  font-size: 17px;
}

.schedule-arrange-bubble > p {
  margin: 9px 0 0;
  color: #817987;
  font-size: 8px;
  line-height: 1.5;
  font-weight: 720;
}

.schedule-arrange-slots {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-top: 12px;
}

.schedule-arrange-slots button {
  height: 35px;
  padding: 0 5px;
  border: 1px solid #ece7ef;
  border-radius: 12px;
  background: #fff;
  color: #655e6b;
  font-family: inherit;
  font-size: 7.5px;
  font-weight: 900;
}

.schedule-arrange-slots button.is-selected {
  border-color: rgba(245, 184, 38, 0.46);
  background: #fff3ca;
  color: #8d6100;
  box-shadow: 0 6px 15px rgba(221, 164, 26, 0.12);
}

.schedule-arrange-custom {
  min-height: 42px;
  margin-top: 8px;
  padding: 0 10px 0 12px;
  border-radius: 13px;
  background: #f6f3f7;
}

.schedule-arrange-custom span {
  color: #756e7b;
  font-size: 8px;
  font-weight: 900;
}

.schedule-arrange-custom input {
  width: 82px;
  height: 30px;
  border: 0;
  border-radius: 10px;
  background: #fff;
  color: #2f2935;
  font-family: inherit;
  font-size: 10px;
  font-weight: 900;
  text-align: center;
}

.schedule-arrange-bubble > footer {
  justify-content: flex-end;
  margin-top: 11px;
}

.schedule-arrange-bubble > footer button {
  height: 34px;
  padding: 0 13px;
  border: 0;
  border-radius: 12px;
  background: #f1edf3;
  color: #6d6573;
  font-family: inherit;
  font-size: 8px;
  font-weight: 950;
}

.schedule-arrange-bubble > footer button.primary {
  background: #29232f;
  color: #fff;
  box-shadow: 0 8px 18px rgba(41, 35, 47, 0.16);
}

@keyframes schedule-arrange-in {
  from { opacity: 0; transform: translate(-50%, 12px) scale(0.98); }
  to { opacity: 1; transform: translate(-50%, 0) scale(1); }
}

.schedule-todo-board {
  margin-top: 6px;
  padding: 9px 10px 13px;
  border: 1px solid rgba(55, 45, 65, 0.06);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 15px 34px rgba(40, 31, 50, 0.055);
}

.schedule-todo-group {
  margin-top: 9px;
}

.schedule-todo-group > header {
  margin: 0 3px 6px;
  font-size: 8.5px;
}

.schedule-todo-list {
  gap: 6px;
}

.schedule-todo-card {
  position: relative;
  grid-template-columns: 21px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 65px;
  padding: 8px 9px;
  overflow: hidden;
  border-radius: 14px;
  box-shadow: 0 5px 14px rgba(44, 36, 54, 0.035);
}

.schedule-todo-card::before {
  position: absolute;
  inset: 10px auto 10px 0;
  width: 3px;
  border-radius: 0 99px 99px 0;
  background: var(--task-color);
  content: "";
}

.schedule-todo-card[data-task-category="project"] { --task-color: #ffb832; --task-soft: #fff3d5; --task-ink: #9c6900; }
.schedule-todo-card[data-task-category="study"] { --task-color: #8d6df2; --task-soft: #eee9ff; --task-ink: #6747c8; }
.schedule-todo-card[data-task-category="collaboration"] { --task-color: #ff7095; --task-soft: #ffe8ef; --task-ink: #c94f70; }
.schedule-todo-card[data-task-category="campus"] { --task-color: #4dc99b; --task-soft: #e2f7ef; --task-ink: #278e68; }

.schedule-todo-check {
  width: 20px;
  height: 20px;
  border-width: 1.5px;
}

.schedule-todo-check[aria-pressed="true"] {
  border-color: var(--task-color);
  background: var(--task-color);
}

.schedule-todo-main {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.schedule-todo-meta {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 5px;
}

.schedule-todo-meta strong,
.schedule-todo-meta span,
.schedule-todo-meta em {
  white-space: nowrap;
}

.schedule-todo-meta strong {
  color: #2e2933;
  font-size: 7.8px;
  font-weight: 950;
}

.schedule-todo-meta span {
  color: #a49daa;
  font-size: 7px;
  font-weight: 800;
}

.schedule-todo-meta em {
  min-width: 0;
  overflow: hidden;
  margin-left: 1px;
  padding: 2px 5px;
  border-radius: 999px;
  background: var(--task-soft);
  color: var(--task-ink);
  font-size: 6.8px;
  line-height: 1.2;
  font-style: normal;
  font-weight: 900;
  text-overflow: ellipsis;
}

.schedule-todo-main h3 {
  overflow: hidden;
  font-size: 10px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.schedule-todo-main p {
  overflow: hidden;
  margin: 0;
  font-size: 7.4px;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.schedule-todo-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
}

.schedule-todo-actions button {
  border: 0;
  font-family: inherit;
  font-weight: 950;
}

.schedule-todo-open {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border-radius: 50%;
  background: #f3f0f5;
  color: #655e6c;
  font-size: 15px;
}

.schedule-todo-actions .schedule-arrange-button {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border-radius: 50%;
  background: #fff2c8;
  color: #9a6800;
}

.schedule-todo-actions .schedule-arrange-button svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (max-width: 400px) {
  .schedule-todo-card {
    grid-template-columns: 20px minmax(0, 1fr) auto;
    gap: 7px;
  }
}

/* Campus hero persona: a full-width character leaning over the command bar. */
.home-phone .panda-logo.is-user-persona.is-leaning-persona {
  z-index: 4;
  top: 63px;
  right: -10px;
  left: auto;
  width: 294px;
  height: 210px;
  border: 0;
  border-radius: 0;
  object-fit: cover;
  object-position: 68% center;
  mix-blend-mode: multiply;
  filter: drop-shadow(0 12px 16px rgba(90, 65, 120, 0.1));
  box-shadow: none;
}

.home-phone:has(.panda-logo.is-leaning-persona) .panda-contact-shadow {
  display: none;
}

@media (max-width: 390px) {
  .home-phone .panda-logo.is-user-persona.is-leaning-persona {
    right: -12px;
    width: 280px;
    height: 206px;
  }
}

/* Schedule cards: compact summary, optional context, explicit Panda handoff. */
.schedule-todo-card.is-expanded {
  align-items: start;
  min-height: 0;
}

.schedule-todo-actions {
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: 4px;
}

.schedule-todo-actions .schedule-arrange-button {
  grid-column: 1 / -1;
  justify-self: end;
  width: 22px;
  height: 22px;
}

.schedule-todo-expand,
.schedule-todo-open {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  width: auto;
  min-width: 35px;
  height: 21px;
  padding: 0 6px;
  border-radius: 999px;
  background: #f3f0f5;
  color: #706878;
  font-size: 6.5px;
  line-height: 1;
}

.schedule-todo-open {
  background: var(--task-soft);
  color: var(--task-ink);
}

.schedule-todo-expand b,
.schedule-todo-open b {
  font-size: 9px;
  line-height: 1;
}

.schedule-todo-detail {
  grid-column: 2 / -1;
  width: 100%;
  margin-top: 4px;
  padding-top: 8px;
  border-top: 1px solid #eeeaf0;
}

.schedule-todo-detail[hidden] {
  display: none !important;
}

.schedule-todo-detail dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
  margin: 0;
}

.schedule-todo-detail dl > div {
  min-width: 0;
  padding: 6px 7px;
  border-radius: 9px;
  background: #f8f6f9;
}

.schedule-todo-detail dt,
.schedule-todo-detail dd {
  margin: 0;
}

.schedule-todo-detail dt {
  color: #aaa2af;
  font-size: 6px;
  font-weight: 850;
}

.schedule-todo-detail dd {
  margin-top: 2px;
  overflow: hidden;
  color: #514a56;
  font-size: 7px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.schedule-todo-detail > p,
.schedule-todo-detail > footer {
  margin: 6px 1px 0;
  color: #8f8795;
  font-size: 6.8px;
  line-height: 1.45;
  font-weight: 760;
}

.schedule-todo-detail > footer {
  color: var(--task-ink);
}

/* Search and faceted filters shared by diary and backpack. */
.schedule-collection-tools {
  display: grid;
  gap: 7px;
  margin-top: 10px;
  padding: 8px;
  border: 1px solid rgba(52, 43, 61, 0.06);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 7px 18px rgba(47, 37, 57, 0.03);
}

.schedule-collection-search {
  display: flex;
  align-items: center;
  gap: 7px;
  height: 32px;
  padding: 0 10px;
  border-radius: 11px;
  background: #f6f3f7;
}

.schedule-collection-search svg {
  flex: 0 0 auto;
  width: 13px;
  height: 13px;
  fill: none;
  stroke: #8b8391;
  stroke-width: 1.8;
  stroke-linecap: round;
}

.schedule-collection-search input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #332d38;
  font-family: inherit;
  font-size: 8px;
  font-weight: 800;
}

.schedule-collection-search input::placeholder {
  color: #aaa2af;
}

.schedule-collection-chips {
  display: flex;
  gap: 5px;
  overflow-x: auto;
  scrollbar-width: none;
}

.schedule-collection-chips button {
  flex: 0 0 auto;
  height: 24px;
  padding: 0 8px;
  border: 0;
  border-radius: 999px;
  background: #f3f0f5;
  color: #817987;
  font-family: inherit;
  font-size: 7px;
  font-weight: 900;
}

.schedule-collection-chips button.is-active {
  background: #ece5ff;
  color: #6d4fc4;
}

.schedule-asset-filter-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
}

.schedule-asset-filter-grid label {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.schedule-asset-filter-grid span {
  padding-left: 2px;
  color: #a29aa7;
  font-size: 6px;
  font-weight: 850;
}

.schedule-asset-filter-grid select {
  width: 100%;
  height: 28px;
  padding: 0 6px;
  border: 0;
  border-radius: 9px;
  outline: 0;
  background: #f3f0f5;
  color: #625a69;
  font-family: inherit;
  font-size: 6.8px;
  font-weight: 900;
}

.schedule-memo-card[hidden],
.schedule-collection-empty[hidden] {
  display: none !important;
}

.schedule-collection-empty {
  margin: 16px 0 4px;
  color: #a59da9;
  font-size: 8px;
  text-align: center;
  font-weight: 800;
}

/* Panda hub: one global voice briefing with a direct reply, above the task board. */
.panda-home-v2 .panda-global-dialogue {
  margin-top: 0;
  padding: 10px;
  border: 1px solid rgba(255, 197, 20, 0.28);
  border-radius: 22px;
  background:
    radial-gradient(circle at 96% 0%, rgba(255, 220, 110, 0.2), transparent 38%),
    rgba(255, 255, 255, 0.84);
  box-shadow: 0 12px 32px rgba(31, 24, 44, 0.07);
  backdrop-filter: blur(18px);
}

.panda-home-v2 .panda-global-voice {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: start;
  gap: 8px;
}

.panda-home-v2 .panda-global-voice > img {
  width: 34px;
  height: 40px;
  object-fit: contain;
  filter: drop-shadow(0 5px 8px rgba(31, 24, 44, 0.1));
}

.panda-home-v2 .panda-global-voice-copy {
  min-width: 0;
}

.panda-home-v2 .panda-global-voice-copy > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 18px;
  padding: 0 3px 4px;
}

.panda-home-v2 .panda-global-voice-copy > header strong {
  color: #1f1b26;
  font-size: 11px;
  font-weight: 950;
}

.panda-home-v2 .panda-global-voice-copy > header span {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #918a9a;
  font-size: 8.5px;
  font-weight: 800;
}

.panda-home-v2 .panda-global-voice-copy > header span i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #2dcf91;
  box-shadow: 0 0 0 3px rgba(45, 207, 145, 0.12);
}

.panda-home-v2 .panda-global-voice-bubble {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 42px;
  padding: 6px 10px 6px 8px;
  border: 0;
  border-radius: 6px 17px 17px 17px;
  background: #241f2a;
  color: #fff;
  text-align: left;
  box-shadow: 0 8px 18px rgba(31, 24, 44, 0.13);
}

.panda-home-v2 .panda-global-voice-bubble > span:nth-child(2) {
  overflow: hidden;
  font-size: 10px;
  line-height: 1.35;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.panda-home-v2 .panda-global-voice-bubble em {
  color: rgba(255, 255, 255, 0.62);
  font-size: 8px;
  font-style: normal;
  font-weight: 850;
}

.panda-home-v2 .panda-global-wave {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  width: 32px;
  height: 30px;
  border-radius: 50%;
  background: #ffc83d;
}

.panda-home-v2 .panda-global-wave i {
  width: 2px;
  border-radius: 999px;
  background: #221d27;
}

.panda-home-v2 .panda-global-wave i:nth-child(1),
.panda-home-v2 .panda-global-wave i:nth-child(5) { height: 7px; }
.panda-home-v2 .panda-global-wave i:nth-child(2),
.panda-home-v2 .panda-global-wave i:nth-child(4) { height: 13px; }
.panda-home-v2 .panda-global-wave i:nth-child(3) { height: 19px; }

.panda-home-v2 .panda-global-dialogue .panda-v2-command-form {
  grid-template-columns: 30px minmax(0, 1fr) 34px;
  min-height: 44px;
  margin-top: 8px;
  padding: 5px 6px 5px 8px;
  border-color: rgba(31, 24, 44, 0.07);
  border-radius: 16px;
  background: #f8f6fa;
  box-shadow: none;
}

.panda-home-v2 .panda-global-dialogue .panda-v2-command-form input {
  height: 32px;
  font-size: 10.5px;
}

.panda-home-v2 .panda-global-dialogue .panda-v2-voice {
  width: 30px;
  height: 30px;
  background: #fff;
}

.panda-home-v2 .panda-global-dialogue .panda-v2-send {
  width: 34px;
  height: 34px;
}

.panda-home-v2 .panda-global-dialogue .panda-v2-prompts {
  gap: 5px;
  margin-top: 7px;
}

.panda-home-v2 .panda-global-dialogue .panda-direction-tabs {
  grid-template-columns: repeat(8, minmax(0, 1fr));
  margin: 8px 0 0;
}

.panda-home-v2 .panda-global-dialogue .panda-v2-prompts button {
  grid-column: span 2;
  height: 24px;
  background: rgba(247, 245, 249, 0.92);
  font-size: 8.5px;
}

.panda-home-v2 .panda-global-dialogue .panda-direction-tabs button:nth-child(5) {
  grid-column: 2 / span 2;
}

.panda-home-v2 .panda-global-dialogue .panda-direction-tabs button:nth-child(6) {
  grid-column: 4 / span 2;
}

.panda-home-v2 .panda-global-dialogue .panda-direction-tabs button:nth-child(7) {
  grid-column: 6 / span 2;
}

.panda-home-v2 .panda-global-dialogue .panda-direction-tabs button:first-child {
  border-color: rgba(255, 190, 33, 0.28);
  background: #fff9e8;
  color: #b57d00;
}

.panda-home-v2 .panda-v2-summary {
  margin-top: 10px;
}

.panda-home-v2 .panda-v2-summary button.is-active::after {
  display: none;
}

/* Panda task-state rings: one live progress ring per stage. */
.panda-home-v2 .panda-v2-summary {
  padding: 7px;
  gap: 4px;
}

.panda-home-v2 .panda-v2-summary button {
  min-height: 66px;
  gap: 3px;
  border-left: 0;
  border-radius: 16px;
  cursor: pointer;
}

.panda-home-v2 .panda-v2-summary button.is-active {
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 8px 20px rgba(83, 66, 124, 0.1), inset 0 0 0 1px rgba(139, 97, 255, 0.09);
}

.panda-home-v2 .panda-v2-summary .panda-summary-ring {
  position: relative;
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
}

.panda-home-v2 .panda-v2-summary .panda-summary-ring svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  transform: rotate(-90deg);
}

.panda-home-v2 .panda-v2-summary .panda-summary-ring circle {
  fill: none;
  stroke-width: 4;
}

.panda-home-v2 .panda-v2-summary .panda-summary-ring-track {
  stroke: #ece9f1;
}

.panda-home-v2 .panda-v2-summary .panda-summary-ring-value {
  stroke: #8b61ff;
  stroke-linecap: round;
  stroke-dasharray: 106.814;
  stroke-dashoffset: var(--panda-summary-offset, 106.814);
  transition: stroke-dashoffset 360ms cubic-bezier(0.22, 1, 0.36, 1), stroke 180ms ease;
}

.panda-home-v2 .panda-v2-summary button[data-panda-task-filter="matching"] .panda-summary-ring-value {
  stroke: #f4b63c;
}

.panda-home-v2 .panda-v2-summary button[data-panda-task-filter="progress"] .panda-summary-ring-value {
  stroke: #49a9e8;
}

.panda-home-v2 .panda-v2-summary button[data-panda-task-filter="completed"] .panda-summary-ring-value {
  stroke: #48c991;
}

.panda-home-v2 .panda-v2-summary .panda-summary-ring strong {
  position: relative;
  z-index: 1;
  color: #201d28;
  font-size: 15px;
  line-height: 1;
}

.panda-home-v2 .panda-v2-summary button.is-active .panda-summary-ring strong {
  color: #201d28;
}

.panda-home-v2 .panda-v2-summary .panda-summary-label {
  color: #736d7d;
  font-size: 9.5px;
  line-height: 1;
  font-weight: 900;
}

.panda-home-v2 .panda-v2-summary button.is-ring-replaying .panda-summary-ring-value {
  animation: panda-summary-ring-replay 920ms cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes panda-summary-ring-replay {
  0% { stroke-dashoffset: 106.814; }
  100% { stroke-dashoffset: var(--panda-summary-offset, 106.814); }
}

/* Compact icon actions keep the decision card focused on its agreement. */
.panda-home-v2 .panda-v2-task-actions {
  gap: 8px;
}

.panda-home-v2 .panda-v2-task-actions button {
  display: grid;
  width: 36px;
  min-width: 36px;
  height: 36px;
  padding: 0;
  place-items: center;
  border-radius: 50%;
}

.panda-home-v2 .panda-v2-task-actions button svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.panda-home-v2 .panda-v2-task-actions button.primary {
  background: linear-gradient(145deg, #ffc94c, #f6ae21);
  color: #fff;
  box-shadow: 0 7px 16px rgba(238, 166, 28, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.38);
}

.panda-home-v2 .panda-v2-task-actions button[aria-pressed="true"] svg {
  transform: scale(1.08);
}

@media (prefers-reduced-motion: reduce) {
  .panda-home-v2 .panda-v2-summary button.is-ring-replaying .panda-summary-ring-value {
    animation: none;
  }
}

/* Text-only global note: keep it within the light Panda Campus visual system. */
.panda-home-v2 .panda-global-note {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: start;
  gap: 8px;
}

.panda-home-v2 .panda-global-note > img {
  width: 34px;
  height: 40px;
  object-fit: contain;
  filter: drop-shadow(0 5px 8px rgba(31, 24, 44, 0.08));
}

.panda-home-v2 .panda-global-note-copy {
  min-width: 0;
}

.panda-home-v2 .panda-global-note-copy > header {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  min-height: 18px;
  padding: 0 3px 4px;
}

.panda-home-v2 .panda-global-note-copy > header strong {
  color: #1f1b26;
  font-size: 11px;
  font-weight: 950;
}

.panda-home-v2 .panda-global-note-copy > header span {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #918a9a;
  font-size: 8.5px;
  font-weight: 800;
}

.panda-home-v2 .panda-global-note-copy > header span i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #2dcf91;
  box-shadow: 0 0 0 3px rgba(45, 207, 145, 0.12);
}

.panda-home-v2 .panda-global-note-card {
  display: inline-block;
  align-items: center;
  width: fit-content;
  max-width: 88%;
  min-height: 46px;
  padding: 7px 13px 7px 11px;
  border: 1px solid rgba(255, 197, 20, 0.24);
  border-radius: 8px 17px 17px 17px;
  background: linear-gradient(135deg, #fffaf0, #faf8ff);
  color: #292431;
  text-align: left;
  box-shadow: 0 7px 18px rgba(31, 24, 44, 0.055);
}

.panda-home-v2 .panda-global-note-card > span {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.panda-home-v2 .panda-global-note-card strong {
  color: #b67a00;
  font-size: 8.5px;
  font-weight: 950;
}

.panda-home-v2 .panda-global-note-card small {
  overflow: hidden;
  color: #3b3542;
  font-size: 10px;
  line-height: 1.3;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.panda-home-v2 .panda-global-dialogue .panda-v2-command-form {
  grid-template-columns: 30px minmax(0, 1fr) 34px;
  padding-left: 8px;
}

/* Campus discovery list: compact search/filter toolbar and clean category tabs. */
.library-phone {
  padding-top: 8px;
}

.library-toolbar {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) 40px;
  align-items: center;
  gap: 7px;
}

.library-back {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  border-radius: 14px;
  background: #f7f5f8;
  color: #211c26;
}

.library-back svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.library-toolbar .library-search {
  grid-template-columns: 21px minmax(0, 1fr);
  gap: 9px;
  height: 48px;
  padding: 0 15px;
  border-radius: 17px;
  box-shadow: 0 10px 24px rgba(58, 45, 68, 0.065);
}

.library-toolbar .library-search input {
  font-size: 10.5px;
}

.library-filter-toggle {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 1px solid rgba(52, 41, 62, 0.07);
  border-radius: 17px;
  background: rgba(255, 255, 255, 0.94);
  color: #2b2530;
  box-shadow: 0 10px 24px rgba(58, 45, 68, 0.065);
}

.library-filter-toggle svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
}

.library-filter-toggle.is-active {
  border-color: rgba(255, 196, 49, 0.48);
  background: #fff8df;
  color: #9a6900;
}

.library-filter-panel {
  margin-top: 8px;
  padding: 5px;
  border: 1px solid rgba(52, 41, 62, 0.06);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 9px 22px rgba(58, 45, 68, 0.055);
}

.library-filter-panel button {
  height: 27px;
  padding: 0 10px;
  border: 0;
  background: transparent;
}

.library-tabs {
  position: static;
  margin: 9px 0 11px;
  padding: 3px;
  border-radius: 15px;
  box-shadow: 0 8px 20px rgba(53, 42, 62, 0.055);
}

.library-tabs button {
  height: 32px;
  border-radius: 11px;
}

.library-tabs button.is-active {
  background: #fff4cf;
  color: #9e6c00;
  box-shadow: none;
}

.library-results {
  gap: 12px;
}

/* Discovery controls behave as one stable surface while the cards scroll. */
.library-controls {
  position: sticky;
  z-index: 7;
  top: 8px;
  margin: 0 -4px 12px;
  padding: 6px;
  border: 1px solid rgba(52, 41, 62, 0.06);
  border-radius: 21px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 7px 18px rgba(53, 42, 62, 0.055);
  backdrop-filter: blur(20px);
  transform: translateY(0) scale(1);
  transform-origin: center top;
  transition:
    opacity 0.58s ease,
    filter 0.58s ease;
  will-change: opacity, filter;
}

.library-controls .library-toolbar {
  gap: 7px;
}

.library-controls .library-search,
.library-controls .library-back,
.library-controls .library-filter-toggle {
  border: 0;
  background: #f7f5f8;
  box-shadow: none;
}

.library-controls .library-search {
  height: 40px;
  border-radius: 14px;
}

.library-controls .library-filter-toggle {
  width: 40px;
  height: 40px;
  border-radius: 14px;
}

.library-controls .library-filter-toggle.is-active,
.library-controls .library-filter-toggle.has-filter {
  background: #fff3ca;
}

.library-controls .library-filter-panel {
  margin: 6px 0 0;
  padding: 3px 2px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.library-controls .library-tabs {
  margin: 5px 0 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.library-controls .library-tabs button {
  height: 31px;
  border-radius: 10px;
}

body.panda-app .panda-app-stage.is-library-shell .app-shell-top {
  display: none;
}

.library-controls.nav-climbing {
  animation: appShellFadeInPlace 0.58s ease both;
}

/* Campus hot stream: one calm control surface above a commerce-linked timeline. */
.stream-phone {
  padding: 8px 18px calc(104px + env(safe-area-inset-bottom, 0px));
  background:
    radial-gradient(circle at 94% 4%, rgba(255, 202, 66, 0.18), transparent 23%),
    radial-gradient(circle at 3% 13%, rgba(126, 93, 255, 0.1), transparent 28%),
    #f8f7fa;
}

.stream-controls {
  position: sticky;
  z-index: 10;
  top: 8px;
  margin: 0 -4px 12px;
  padding: 6px;
  border: 1px solid rgba(52, 41, 62, 0.06);
  border-radius: 21px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 7px 18px rgba(53, 42, 62, 0.055);
  backdrop-filter: blur(20px);
  transform: translateY(0) scale(1);
  transform-origin: center top;
  transition:
    opacity 0.58s ease,
    filter 0.58s ease;
  will-change: opacity, filter;
}

.stream-title-row {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) 40px;
  align-items: center;
  gap: 8px;
}

.stream-title-row > div {
  min-width: 0;
  text-align: center;
}

.stream-title-row strong,
.stream-title-row small {
  display: block;
}

.stream-title-row strong {
  color: #17131c;
  font-size: 13px;
  line-height: 1.1;
  font-weight: 950;
}

.stream-title-row small {
  margin-top: 3px;
  color: #9a929f;
  font-size: 7.5px;
  line-height: 1;
  font-weight: 850;
}

.stream-back,
.stream-search {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  border-radius: 14px;
  background: #f7f5f8;
  color: #211c26;
}

.stream-back svg,
.stream-search svg,
.stream-search-panel svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.35;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.stream-tabs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4px;
  margin-top: 5px;
}

.stream-tabs button {
  height: 31px;
  padding: 0;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #8e8794;
  font-family: inherit;
  font-size: 9px;
  font-weight: 950;
  outline: 0;
}

.stream-tabs button.is-active {
  background: #fff1bf;
  color: #956400;
}

.stream-search-panel {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) 28px;
  align-items: center;
  gap: 7px;
  height: 38px;
  margin-top: 5px;
  padding: 0 5px 0 12px;
  border-radius: 12px;
  background: #f7f5f8;
  color: #716977;
}

.stream-search-panel[hidden] {
  display: none !important;
}

.stream-search-panel svg {
  width: 17px;
  height: 17px;
}

.stream-search-panel input {
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #211c26;
  font-family: inherit;
  font-size: 9px;
  font-weight: 800;
}

.stream-search-panel button {
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  border-radius: 9px;
  background: #fff;
  color: #7a7280;
  font-family: inherit;
  font-size: 17px;
}

.stream-hotboard {
  margin-bottom: 10px;
  padding: 12px;
  border: 1px solid rgba(52, 41, 62, 0.055);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.92);
}

.stream-hotboard[hidden],
.stream-circle-strip[hidden],
.stream-post[hidden] {
  display: none !important;
}

.stream-hotboard header,
.stream-hotboard header span {
  display: flex;
  align-items: center;
}

.stream-hotboard header {
  justify-content: space-between;
  margin-bottom: 8px;
}

.stream-hotboard header span {
  gap: 7px;
}

.stream-hotboard header i {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 8px;
  background: linear-gradient(135deg, #ff7e48, #ff405f);
  color: #fff;
  font-size: 9px;
  font-style: normal;
  font-weight: 950;
}

.stream-hotboard header strong {
  color: #211c26;
  font-size: 12px;
  font-weight: 950;
}

.stream-hotboard header small {
  color: #a09aa6;
  font-size: 7.5px;
  font-weight: 800;
}

.stream-hotboard > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.stream-hotboard > div button {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) auto;
  align-items: center;
  gap: 5px;
  min-width: 0;
  height: 46px;
  padding: 0 7px;
  border: 0;
  border-radius: 13px;
  background: #f8f6f9;
  color: #312a36;
  text-align: left;
}

.stream-hotboard button em {
  color: #ff5b49;
  font-size: 13px;
  font-style: normal;
  font-weight: 950;
}

.stream-hotboard button span,
.stream-hotboard button strong,
.stream-hotboard button small {
  display: block;
  min-width: 0;
}

.stream-hotboard button strong,
.stream-hotboard button small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.stream-hotboard button strong {
  font-size: 8px;
  font-weight: 950;
}

.stream-hotboard button small {
  margin-top: 3px;
  color: #9a929f;
  font-size: 6.5px;
  font-weight: 800;
}

.stream-hotboard button b {
  color: #ff7759;
  font-size: 7px;
}

.stream-circle-strip {
  display: flex;
  gap: 7px;
  margin: 0 -18px 10px;
  padding: 0 18px;
  overflow-x: auto;
  scrollbar-width: none;
}

.stream-circle-strip::-webkit-scrollbar {
  display: none;
}

.stream-circle-strip button {
  flex: 0 0 auto;
  height: 29px;
  padding: 0 12px;
  border: 1px solid rgba(52, 41, 62, 0.06);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.88);
  color: #837b89;
  font-family: inherit;
  font-size: 8px;
  font-weight: 900;
}

.stream-circle-strip button.is-active {
  border-color: #ffd058;
  background: #fff5d3;
  color: #966600;
}

.stream-feed {
  display: grid;
  gap: 12px;
}

.stream-post {
  scroll-margin-top: 104px;
  background: rgba(255, 255, 255, 0.95);
}

.stream-post .post-header-cta {
  min-width: 58px;
  padding: 0 10px;
  font-size: 9px;
}

.stream-commerce-label {
  margin-left: auto;
  color: #9d94a2;
  font-size: 7px;
  font-style: normal;
  font-weight: 900;
}

.stream-video-cover {
  position: relative;
  height: 238px;
  margin: 10px -13px 0;
  overflow: hidden;
  background: #231d29;
}

.stream-video-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(1.08) brightness(0.82);
}

.stream-video-cover::after {
  position: absolute;
  inset: 50% 0 0;
  content: "";
  background: linear-gradient(transparent, rgba(18, 13, 21, 0.56));
}

.stream-video-play {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255, 255, 255, 0.68);
  border-radius: 50%;
  background: rgba(20, 16, 24, 0.32);
  color: #fff;
  font-size: 18px;
  transform: translate(-50%, -50%);
  backdrop-filter: blur(8px);
}

.stream-video-cover small {
  position: absolute;
  z-index: 2;
  right: 12px;
  bottom: 10px;
  color: #fff;
  font-size: 8px;
  font-weight: 900;
}

body.panda-app .panda-app-stage.is-stream-shell .app-shell-top {
  display: none;
}

.stream-controls.nav-climbing {
  animation: appShellFadeInPlace 0.58s ease both;
}

body.panda-app .panda-app-stage:is(.is-library-shell, .is-stream-shell) .app-shell-bottom {
  transition:
    opacity 0.58s ease,
    filter 0.58s ease;
}

body.panda-app .panda-app-stage:is(.is-library-shell, .is-stream-shell) .app-shell-bottom.nav-climbing {
  animation: appShellFadeInPlace 0.58s ease both;
}

/* Diary photos are content, not a status badge. */
.schedule-memo-photo-preview,
.schedule-memo-media {
  position: relative;
  margin: 9px 0 0;
  overflow: hidden;
  border-radius: 13px;
  background: #f2eff4;
}

.schedule-memo-photo-preview[hidden] {
  display: none !important;
}

.schedule-memo-photo-preview {
  height: 118px;
}

.schedule-memo-media {
  width: 100%;
  aspect-ratio: 16 / 10;
}

.schedule-memo-photo-preview img,
.schedule-memo-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.schedule-memo-photo-preview > button {
  position: absolute;
  top: 7px;
  right: 7px;
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(33, 28, 37, 0.72);
  color: #fff;
  font-family: inherit;
  font-size: 15px;
  line-height: 1;
  backdrop-filter: blur(10px);
}

.schedule-memo-card .schedule-memo-media + footer {
  margin-top: 8px;
}

/* Calendar controls are icon-only; task creation belongs to the TODO board. */
.schedule-week-actions {
  gap: 6px;
}

.schedule-week-actions button,
.schedule-week-actions button:first-child,
.schedule-week-actions button.schedule-map-mode-button,
.schedule-week-actions [data-schedule-v2-today] {
  display: grid;
  place-items: center;
  width: 28px;
  min-width: 28px;
  height: 28px;
  padding: 0;
  border-radius: 50%;
}

.schedule-week-actions button.schedule-map-mode-button {
  background: #eee9ff;
  color: #6f50c8;
}

.schedule-week-actions [data-schedule-v2-today] {
  background: #fff3c8;
  color: #9b6a00;
}

.schedule-week-actions .schedule-calendar-expand {
  background: #f3f0f5;
  color: #6f6878;
}

.schedule-week-actions svg,
.schedule-map-mode-button svg,
.schedule-calendar-expand svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.schedule-todo-board-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 0 2px 4px;
}

.schedule-todo-board-head > strong {
  color: #302a35;
  font-size: 10px;
  font-weight: 950;
}

.schedule-todo-board-head > button {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: linear-gradient(145deg, #ffc94c, #f6ae21);
  color: #fff;
  box-shadow: 0 7px 16px rgba(238, 166, 28, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.38);
}

.schedule-todo-board-head > button svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
}

/* Backpack: a simple daily loadout first, inventory and history one tap away. */
.schedule-bag-view {
  position: relative;
}

.schedule-bag-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.schedule-bag-head small,
.schedule-bag-head h2 {
  display: block;
  margin: 0;
}

.schedule-bag-head small {
  color: #8b8291;
  font-size: 7px;
  font-weight: 850;
}

.schedule-bag-head h2 {
  margin-top: 3px;
  color: #2d2732;
  font-size: 15px;
  font-weight: 950;
}

.schedule-bag-head > button {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: linear-gradient(145deg, #ffc94c, #f6ae21);
  color: #fff;
  font-family: inherit;
  font-size: 17px;
  box-shadow: 0 7px 16px rgba(238, 166, 28, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.38);
}

.schedule-bag-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
  margin-top: 11px;
  padding: 3px;
  border-radius: 13px;
  background: #f2eff4;
}

.schedule-bag-tabs button {
  height: 29px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #847c8a;
  font-family: inherit;
  font-size: 8px;
  font-weight: 900;
}

.schedule-bag-tabs button.is-active {
  background: #fff;
  color: #29232e;
  box-shadow: 0 4px 11px rgba(48, 39, 57, 0.075);
}

.schedule-bag-search-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 36px;
  gap: 7px;
  margin-top: 8px;
}

.schedule-bag-search,
.schedule-bag-filter-toggle {
  height: 36px;
  border: 1px solid rgba(48, 39, 57, 0.055);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 6px 16px rgba(48, 39, 57, 0.045);
}

.schedule-bag-search {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 0 10px;
}

.schedule-bag-search svg,
.schedule-bag-filter-toggle svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: #756d7d;
  stroke-width: 1.9;
  stroke-linecap: round;
}

.schedule-bag-search input {
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #342e39;
  font-family: inherit;
  font-size: 8px;
  font-weight: 800;
}

.schedule-bag-filter-toggle {
  position: relative;
  display: grid;
  place-items: center;
  width: 36px;
  padding: 0;
}

.schedule-bag-filter-toggle.is-open,
.schedule-bag-filter-toggle.has-filter {
  border-color: rgba(255, 190, 43, 0.62);
  background: #fff8df;
}

.schedule-bag-filter-toggle > span {
  position: absolute;
  top: -5px;
  right: -5px;
  display: grid;
  place-items: center;
  min-width: 16px;
  height: 16px;
  padding: 0 3px;
  border: 2px solid #fff;
  border-radius: 999px;
  background: #ffc33a;
  color: #211b27;
  font-size: 7px;
  font-weight: 950;
}

.schedule-bag-filter-toggle > span[hidden],
.schedule-bag-filter-panel[hidden],
.schedule-bag-pane[hidden],
[data-schedule-bag-item][hidden] {
  display: none !important;
}

.schedule-bag-filter-panel {
  position: absolute;
  z-index: 30;
  top: 126px;
  right: 11px;
  left: 11px;
  padding: 12px;
  border: 1px solid rgba(34, 31, 44, 0.06);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 20px 42px rgba(37, 31, 48, 0.16);
  backdrop-filter: blur(18px);
}

.schedule-bag-filter-panel > header,
.schedule-bag-filter-panel > footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
}

.schedule-bag-filter-panel > header strong {
  color: #211c27;
  font-size: 11px;
  font-weight: 950;
}

.schedule-bag-filter-panel > header button {
  width: 25px;
  height: 25px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #f2eff4;
  color: #756d7d;
  font: 800 16px/1 inherit;
}

.schedule-bag-filter-group {
  margin-top: 10px;
}

.schedule-bag-filter-group > span {
  display: block;
  margin-bottom: 5px;
  color: #918996;
  font-size: 7px;
  font-weight: 850;
}

.schedule-bag-filter-group > div {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.schedule-bag-filter-group button {
  min-height: 25px;
  padding: 0 8px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: #f4f1f6;
  color: #756d7d;
  font-family: inherit;
  font-size: 7px;
  font-weight: 850;
}

.schedule-bag-filter-group button.is-active {
  border-color: rgba(255, 193, 49, 0.62);
  background: #fff7dc;
  color: #3b3020;
}

.schedule-bag-filter-panel > footer {
  margin-top: 12px;
  padding-top: 9px;
  border-top: 1px solid #eeeaf0;
}

.schedule-bag-filter-panel > footer button {
  height: 28px;
  min-width: 53px;
  border: 0;
  border-radius: 9px;
  background: #f2eff4;
  color: #675f6e;
  font-family: inherit;
  font-size: 7px;
  font-weight: 900;
}

.schedule-bag-filter-panel > footer [data-schedule-asset-filter-done] {
  background: #29232f;
  color: #fff;
}

.schedule-bag-filter-panel > footer span {
  flex: 1;
  color: #99919e;
  font-size: 7px;
  text-align: center;
  font-weight: 850;
}

.schedule-bag-pane {
  margin-top: 9px;
}

.schedule-bag-progress {
  padding: 10px;
  border-radius: 14px;
  background: linear-gradient(135deg, #fff4d5, #fffaf0);
}

.schedule-bag-progress div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
}

.schedule-bag-progress strong {
  color: #6f4b00;
  font-size: 10px;
  font-weight: 950;
}

.schedule-bag-progress span {
  overflow: hidden;
  color: #a47b25;
  font-size: 6.5px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.schedule-bag-progress > i {
  display: block;
  height: 4px;
  margin-top: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(211, 157, 36, 0.18);
}

.schedule-bag-progress > i > b {
  display: block;
  width: 60%;
  height: 100%;
  border-radius: inherit;
  background: #f2b62e;
  transition: width 180ms ease;
}

.schedule-bag-prep-list,
.schedule-bag-history {
  display: grid;
  gap: 6px;
  margin-top: 7px;
}

.schedule-bag-prep-list article {
  display: grid;
  grid-template-columns: 31px minmax(0, 1fr) 23px;
  align-items: center;
  gap: 8px;
  min-height: 50px;
  padding: 7px 9px;
  border: 1px solid rgba(48, 39, 57, 0.06);
  border-radius: 13px;
  background: #fff;
}

.schedule-bag-prep-list article > span {
  display: grid;
  place-items: center;
  width: 31px;
  height: 31px;
  border-radius: 9px;
  background: #f3f0f5;
  font-size: 16px;
}

.schedule-bag-prep-list strong,
.schedule-bag-prep-list small {
  display: block;
}

.schedule-bag-prep-list strong {
  color: #342e39;
  font-size: 8.5px;
  font-weight: 950;
}

.schedule-bag-prep-list small {
  margin-top: 2px;
  color: #9b939f;
  font-size: 6.5px;
  font-weight: 780;
}

.schedule-bag-prep-list [data-schedule-bag-ready] {
  width: 22px;
  height: 22px;
  padding: 0;
  border: 1.5px solid #d8d2dc;
  border-radius: 7px;
  background: #fff;
  color: #fff;
  font-family: inherit;
  font-size: 11px;
  font-weight: 950;
}

.schedule-bag-prep-list .is-ready {
  background: #fbfffd;
}

.schedule-bag-prep-list .is-ready [data-schedule-bag-ready] {
  border-color: #55c993;
  background: #55c993;
}

.schedule-bag-pane-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 2px 2px 7px;
}

.schedule-bag-pane-head strong {
  color: #342e39;
  font-size: 9px;
  font-weight: 950;
}

.schedule-bag-pane-head span {
  color: #9b939f;
  font-size: 7px;
  font-weight: 850;
}

.schedule-bag-slot-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

.schedule-bag-slot-grid > button {
  display: grid;
  place-items: center;
  min-width: 0;
  min-height: 72px;
  padding: 7px 3px;
  border: 1px solid rgba(48, 39, 57, 0.065);
  border-radius: 12px;
  background: #f8f6f9;
  color: #352f3a;
  font-family: inherit;
}

.schedule-bag-slot-grid > button > span {
  font-size: 21px;
}

.schedule-bag-slot-grid > button > strong,
.schedule-bag-slot-grid > button > small {
  overflow: hidden;
  max-width: 100%;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.schedule-bag-slot-grid > button > strong {
  margin-top: 3px;
  font-size: 7px;
  font-weight: 950;
}

.schedule-bag-slot-grid > button > small {
  color: #9b939f;
  font-size: 5.8px;
  font-weight: 800;
}

.schedule-bag-history article {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 8px;
  padding: 9px 10px;
  border-radius: 12px;
  background: #f8f6f9;
}

.schedule-bag-history time {
  color: #9a929f;
  font-size: 6.5px;
  font-weight: 850;
}

.schedule-bag-history strong,
.schedule-bag-history small {
  display: block;
}

.schedule-bag-history strong {
  color: #342e39;
  font-size: 8px;
  font-weight: 950;
}

.schedule-bag-history small {
  margin-top: 2px;
  color: #99919e;
  font-size: 6.3px;
  font-weight: 780;
}

/* Diary uses the same search + one filter control as Conversations. */
.schedule-memo-tools {
  position: relative;
  z-index: 8;
  margin-top: 10px;
}

.schedule-memo-search-row.conversations-search-row {
  z-index: 32;
}

.schedule-memo-filter-panel.conversations-filter-panel {
  z-index: 31;
  top: 55px;
  right: 0;
  left: 0;
}

.schedule-memo-filter-panel[hidden] {
  display: none !important;
}

/* Week header: clear title plus explicit Schedule / Analysis view modes. */
.schedule-week-label {
  color: #17141c;
  font-size: 13px;
  line-height: 1.05;
  font-weight: 950;
  letter-spacing: -0.2px;
}

.schedule-week-title-copy {
  gap: 3px;
}

.schedule-week-title-copy > span {
  color: #7f7887;
  font-size: 7px;
  font-weight: 850;
}

.schedule-week-actions button.schedule-week-mode-button,
.schedule-week-actions button.schedule-map-mode-button {
  border: 1px solid rgba(45, 39, 51, 0.05);
  background: #f3f0f5;
  color: #756e7d;
  box-shadow: none;
}

.schedule-week-actions button.schedule-week-mode-button.is-active,
.schedule-week-actions button.schedule-map-mode-button.is-active {
  border-color: #2d2733;
  background: #2d2733;
  color: #fff;
  box-shadow: 0 6px 14px rgba(45, 39, 51, 0.16);
}

/* Keep the four week controls stable: calendar, analysis, today, expand. */
.schedule-week-actions {
  display: grid;
  grid-template-columns: repeat(4, 28px);
  gap: 6px;
}

.schedule-week-actions .schedule-week-mode-button {
  order: 1;
  border-color: rgba(76, 137, 255, 0.18) !important;
  background: #e8f1ff !important;
  color: #397de8 !important;
}

.schedule-week-actions .schedule-map-mode-button {
  order: 2;
  border-color: rgba(126, 91, 220, 0.14) !important;
  background: #f0ebff !important;
  color: #7657c7 !important;
}

.schedule-week-actions [data-schedule-v2-today] {
  order: 3;
  border-color: rgba(209, 151, 17, 0.16) !important;
  background: #fff2bd !important;
  color: #a8750b !important;
}

.schedule-week-actions .schedule-calendar-expand {
  order: 4;
  border-color: rgba(103, 96, 112, 0.08) !important;
  background: #f1eff3 !important;
  color: #716a79 !important;
}

.schedule-week-actions .schedule-week-mode-button.is-active,
.schedule-week-actions .schedule-map-mode-button.is-active,
.schedule-week-actions [data-schedule-v2-today]:active,
.schedule-week-actions .schedule-calendar-expand[aria-expanded="true"] {
  box-shadow: inset 0 0 0 1.5px currentColor, 0 4px 10px rgba(45, 39, 51, 0.08) !important;
}

.schedule-week-mode-button svg rect {
  fill: none;
}

/* Diary cards keep the source photo ratio and use a compact preview. */
.schedule-memo-card .schedule-memo-media {
  display: inline-block;
  width: auto;
  max-width: 48%;
  aspect-ratio: auto;
  overflow: hidden;
  vertical-align: top;
}

.schedule-memo-card .schedule-memo-media img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 150px;
  object-fit: contain;
}

.schedule-memo-card > footer > button[data-schedule-memo-publish] {
  display: grid;
  width: 28px;
  min-width: 28px;
  height: 28px;
  margin-left: auto;
  padding: 0;
  place-items: center;
  border: 1px solid rgba(226, 153, 0, 0.1);
  border-radius: 50%;
  background: #fff2c8;
  color: #9a6800;
  font-family: inherit;
  box-shadow: 0 5px 12px rgba(216, 157, 32, 0.12);
}

.schedule-memo-card > footer > button[data-schedule-memo-publish] svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.schedule-memo-card.is-published > footer > button[data-schedule-memo-publish] {
  background: #e6f8ef;
  color: #21865e;
}

/* A full editing page for turning a private diary card into a public post. */
.schedule-publish-editor[hidden] {
  display: none !important;
}

.schedule-publish-editor {
  position: fixed;
  z-index: 500;
  inset: 0;
  box-sizing: border-box;
  min-height: 100dvh;
  padding: 10px 16px 32px;
  overflow-y: auto;
  background:
    radial-gradient(circle at 92% 0%, rgba(255, 224, 117, 0.22), transparent 23%),
    radial-gradient(circle at 4% 12%, rgba(173, 150, 255, 0.13), transparent 27%),
    #fbfbfd;
  color: #211c27;
}

.schedule-publish-editor > header {
  position: sticky;
  z-index: 2;
  top: 0;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  min-height: 52px;
  padding: 5px 0 9px;
  background: linear-gradient(#fbfbfd 72%, rgba(251, 251, 253, 0));
}

.schedule-publish-editor > header > button:first-child {
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  border-radius: 13px;
  background: #fff;
  color: #251f2b;
  font: 850 25px/1 inherit;
  box-shadow: 0 8px 20px rgba(38, 31, 47, 0.08);
}

.schedule-publish-editor > header small,
.schedule-publish-editor > header strong {
  display: block;
}

.schedule-publish-editor > header small {
  color: #9b939f;
  font-size: 7px;
  font-weight: 850;
}

.schedule-publish-editor > header strong {
  margin-top: 2px;
  font-size: 14px;
  font-weight: 950;
}

.schedule-publish-optimize {
  height: 32px;
  padding: 0 11px;
  border: 0;
  border-radius: 11px;
  background: #eee8ff;
  color: #6f4fc9;
  font-family: inherit;
  font-size: 8px;
  font-weight: 900;
}

.schedule-publish-editor form {
  display: grid;
  gap: 10px;
}

.schedule-publish-copy,
.schedule-publish-setting {
  padding: 13px;
  border: 1px solid rgba(46, 38, 55, 0.06);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 12px 28px rgba(43, 35, 53, 0.055);
}

.schedule-publish-copy > span {
  display: block;
  margin-bottom: 8px;
  color: #837b89;
  font-size: 8px;
  font-weight: 900;
}

.schedule-publish-copy textarea {
  width: 100%;
  min-height: 126px;
  padding: 0;
  resize: none;
  border: 0;
  outline: 0;
  background: transparent;
  color: #302a35;
  font: 760 12px/1.7 inherit;
}

.schedule-publish-media {
  display: inline-block;
  width: fit-content;
  max-width: 54%;
  margin: 0;
  overflow: hidden;
  border-radius: 14px;
  background: #f1eef4;
}

.schedule-publish-media[hidden] {
  display: none !important;
}

.schedule-publish-media img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 180px;
}

.schedule-publish-setting > header strong,
.schedule-publish-setting > header small {
  display: block;
}

.schedule-publish-setting > header strong {
  font-size: 10px;
  font-weight: 950;
}

.schedule-publish-setting > header small {
  margin-top: 3px;
  color: #9a929f;
  font-size: 7px;
  font-weight: 800;
}

.schedule-publish-options {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}

.schedule-publish-options button {
  min-height: 29px;
  padding: 0 10px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: #f3f0f5;
  color: #766f7e;
  font-family: inherit;
  font-size: 8px;
  font-weight: 880;
}

.schedule-publish-options button.is-active {
  border-color: rgba(255, 193, 49, 0.68);
  background: #fff6d9;
  color: #3c301a;
}

.schedule-publish-select,
.schedule-publish-subscribe {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #efebf1;
}

.schedule-publish-select > span,
.schedule-publish-subscribe strong {
  color: #3a333f;
  font-size: 8px;
  font-weight: 900;
}

.schedule-publish-select select {
  height: 30px;
  padding: 0 9px;
  border: 0;
  border-radius: 10px;
  outline: 0;
  background: #f3f0f5;
  color: #6e6675;
  font-family: inherit;
  font-size: 8px;
  font-weight: 850;
}

.schedule-publish-subscribe {
  position: relative;
}

.schedule-publish-subscribe strong,
.schedule-publish-subscribe small {
  display: block;
}

.schedule-publish-subscribe small {
  margin-top: 3px;
  color: #9b939f;
  font-size: 6.5px;
  font-weight: 780;
}

.schedule-publish-subscribe input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.schedule-publish-subscribe > i {
  position: relative;
  width: 37px;
  height: 22px;
  border-radius: 999px;
  background: #d9d4dd;
  transition: background 160ms ease;
}

.schedule-publish-subscribe > i::after {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 6px rgba(36, 30, 44, 0.18);
  content: "";
  transition: transform 160ms ease;
}

.schedule-publish-subscribe input:checked + i {
  background: #57c995;
}

.schedule-publish-subscribe input:checked + i::after {
  transform: translateX(15px);
}

.schedule-publish-editor form > footer {
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  gap: 8px;
  margin-top: 2px;
}

.schedule-publish-editor form > footer button {
  height: 42px;
  border: 0;
  border-radius: 14px;
  background: #f0edf2;
  color: #6d6574;
  font-family: inherit;
  font-size: 9px;
  font-weight: 920;
}

.schedule-publish-editor form > footer button.primary {
  background: #29232f;
  color: #fff;
}

/* Reusable card-favorites component: profile summary + searchable collection. */
.entity-widget.favorites {
  overflow: hidden;
  background: linear-gradient(145deg, rgba(255, 252, 241, 0.98), rgba(248, 240, 255, 0.98));
}

.entity-widget.favorites .widget-head h2 {
  color: #7e57df;
}

.entity-favorite-preview {
  display: flex;
  align-items: center;
  min-height: 50px;
  margin: 2px 0 8px;
}

.entity-favorite-preview > span {
  position: relative;
  display: block;
  width: 48px;
  height: 48px;
  overflow: hidden;
  border: 3px solid #fff;
  border-radius: 15px;
  background: #eee9f6;
  box-shadow: 0 7px 16px rgba(51, 43, 65, 0.12);
}

.entity-favorite-preview > span + span {
  margin-left: -9px;
}

.entity-favorite-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.entity-favorite-preview > span.is-expired img {
  filter: grayscale(0.8);
  opacity: 0.58;
}

.entity-favorite-preview > span.is-empty {
  display: grid;
  place-items: center;
  color: #a98a3f;
  font-size: 23px;
}

.entity-widget.favorites > p {
  margin: 0;
  color: #82798c;
  font-size: 8px;
  font-weight: 800;
}

.entity-widget.favorites > p strong {
  color: #29222f;
  font-size: 11px;
}

body.panda-app .panda-app-stage.is-favorites-shell .app-shell-create,
body.panda-app .panda-app-stage.is-favorites-shell .app-shell-library-cta,
body.panda-app .panda-app-stage.is-favorites-shell .app-shell-detail-status {
  display: none;
}

.favorites-phone {
  overflow-y: auto;
  padding: 94px 16px calc(116px + env(safe-area-inset-bottom, 0px));
  background:
    radial-gradient(circle at 6% 12%, rgba(223, 210, 255, 0.58), transparent 28%),
    radial-gradient(circle at 94% 7%, rgba(255, 223, 149, 0.46), transparent 30%),
    #f8f7fa;
}

.favorites-page {
  display: grid;
  gap: 13px;
}

.favorites-intro {
  padding: 17px 18px;
  border: 1px solid rgba(115, 88, 173, 0.09);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 13px 30px rgba(55, 44, 71, 0.07);
  backdrop-filter: blur(16px);
}

.favorites-intro span {
  color: #9e7822;
  font-size: 8px;
  font-weight: 950;
}

.favorites-intro h1 {
  margin: 4px 0 0;
  color: #201a27;
  font-size: 23px;
  line-height: 1.15;
  font-weight: 950;
}

.favorites-intro p {
  margin: 7px 0 0;
  color: #81798a;
  font-size: 9px;
  line-height: 1.55;
  font-weight: 720;
}

.favorites-search {
  display: grid;
  grid-template-columns: 25px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  height: 54px;
  padding: 0 16px;
  border: 1px solid rgba(70, 60, 84, 0.07);
  border-radius: 19px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 10px 24px rgba(54, 43, 70, 0.07);
}

.favorites-search svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: #302838;
  stroke-width: 2;
  stroke-linecap: round;
}

.favorites-search input {
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #241e2a;
  font-family: inherit;
  font-size: 11px;
  font-weight: 800;
}

.favorites-search input::placeholder {
  color: #aaa3b0;
}

.favorites-category-tabs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 4px;
  padding: 5px;
  border-radius: 19px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 9px 22px rgba(58, 47, 72, 0.06);
}

.favorites-category-tabs button,
.favorites-status-row button {
  border: 0;
  font-family: inherit;
  font-weight: 900;
}

.favorites-category-tabs button {
  height: 38px;
  border-radius: 14px;
  background: transparent;
  color: #8c8494;
  font-size: 9px;
}

.favorites-category-tabs button.is-active {
  background: #282130;
  color: #fff;
  box-shadow: 0 8px 16px rgba(37, 30, 44, 0.16);
}

.favorites-status-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.favorites-status-row > div {
  display: flex;
  gap: 6px;
}

.favorites-status-row button {
  height: 29px;
  padding: 0 11px;
  border-radius: 999px;
  background: #ece8f0;
  color: #837a8b;
  font-size: 8px;
}

.favorites-status-row button.is-active {
  background: #fff2c9;
  color: #9c6900;
}

.favorites-status-row > span {
  color: #8b8391;
  font-size: 8px;
  font-weight: 900;
  white-space: nowrap;
}

.favorites-results {
  display: grid;
  gap: 12px;
}

.favorite-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(68, 57, 82, 0.07);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 13px 30px rgba(53, 43, 66, 0.08);
}

.favorite-card-open {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  grid-template-rows: minmax(104px, auto) 32px;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font-family: inherit;
  text-align: left;
}

.favorite-card-media {
  position: relative;
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  min-height: 136px;
  overflow: hidden;
  background: linear-gradient(145deg, #eedfff, #d9e7ff);
}

.favorite-card-media[data-category="demand"] { background: linear-gradient(145deg, #ffd071, #f49b78); }
.favorite-card-media[data-category="supply"] { background: linear-gradient(145deg, #d6c1ff, #efc3df); }
.favorite-card-media[data-category="activity"] { background: linear-gradient(145deg, #7558ec, #e86b9e); }
.favorite-card-media[data-category="place"] { background: linear-gradient(145deg, #80ddbd, #84b9f4); }

.favorite-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.favorite-card-media img.library-media-icon {
  width: 74px;
  height: 74px;
  object-fit: contain;
  filter: drop-shadow(0 12px 16px rgba(34, 28, 42, 0.18));
}

.favorite-card-copy {
  min-width: 0;
  padding: 16px 39px 8px 14px;
}

.favorite-card-copy small,
.favorite-card-copy strong,
.favorite-card-copy p,
.favorite-card-copy em {
  display: block;
}

.favorite-card-copy small {
  color: #8f6a17;
  font-size: 7px;
  font-weight: 950;
}

.favorite-card-copy strong {
  margin-top: 5px;
  overflow: hidden;
  color: #251f2b;
  font-size: 13px;
  line-height: 1.25;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.favorite-card-copy p {
  display: -webkit-box;
  margin: 6px 0 0;
  overflow: hidden;
  color: #817987;
  font-size: 8px;
  line-height: 1.45;
  font-weight: 720;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.favorite-card-copy em {
  width: max-content;
  margin-top: 7px;
  padding: 4px 7px;
  border-radius: 999px;
  font-size: 7px;
  font-style: normal;
  font-weight: 950;
}

.favorite-card-copy em.is-valid {
  background: #e8f8ef;
  color: #23875b;
}

.favorite-card-copy em.is-expired {
  background: #eeeaf0;
  color: #89818e;
}

.favorite-card-open > b {
  align-self: center;
  justify-self: end;
  margin-right: 14px;
  color: #71677a;
  font-size: 8px;
  font-weight: 950;
}

.favorite-card-star {
  position: absolute;
  top: 11px;
  right: 11px;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #fff7dc;
  color: #f5ae14;
  font-family: inherit;
  font-size: 18px;
  box-shadow: 0 7px 16px rgba(72, 55, 22, 0.12);
}

.favorites-empty {
  padding: 36px 24px;
  border: 1px dashed rgba(103, 91, 117, 0.2);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.66);
  text-align: center;
}

.favorites-empty i {
  color: #e4aa27;
  font-size: 30px;
  font-style: normal;
}

.favorites-empty h2 {
  margin: 8px 0 0;
  color: #2c2532;
  font-size: 14px;
}

.favorites-empty p {
  margin: 7px 0 0;
  color: #8a8290;
  font-size: 9px;
  line-height: 1.5;
}

.favorites-empty a {
  display: inline-grid;
  place-items: center;
  height: 36px;
  margin-top: 14px;
  padding: 0 18px;
  border-radius: 13px;
  background: #29222f;
  color: #fff;
  font-size: 9px;
  font-weight: 950;
  text-decoration: none;
}

.favorites-search-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 54px;
  gap: 9px;
}

.favorites-filter-toggle {
  position: relative;
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  padding: 0;
  border: 1px solid rgba(70, 60, 84, 0.07);
  border-radius: 19px;
  background: rgba(255, 255, 255, 0.95);
  color: #302838;
  box-shadow: 0 10px 24px rgba(54, 43, 70, 0.07);
}

.favorites-filter-toggle svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
}

.favorites-filter-toggle.is-open,
.favorites-filter-toggle.has-filter {
  background: #eee7ff;
  color: #714ee0;
}

.favorites-filter-toggle > span {
  position: absolute;
  top: -4px;
  right: -4px;
  display: grid;
  place-items: center;
  min-width: 17px;
  height: 17px;
  padding: 0 4px;
  border: 2px solid #f8f7fa;
  border-radius: 999px;
  background: #7554e7;
  color: #fff;
  font-size: 7px;
  font-weight: 950;
}

.favorites-filter-panel[hidden] {
  display: none !important;
}

.favorites-filter-panel {
  padding: 13px;
  border: 1px solid rgba(72, 61, 86, 0.08);
  border-radius: 19px;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 15px 34px rgba(54, 43, 69, 0.1);
}

.favorites-filter-panel > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.favorites-filter-panel > header strong {
  color: #2c2532;
  font-size: 11px;
  font-weight: 950;
}

.favorites-filter-panel > header button {
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #f1eef4;
  color: #716978;
  font-family: inherit;
  font-size: 16px;
}

.favorites-filter-group {
  margin-top: 11px;
}

.favorites-filter-group > span {
  display: block;
  margin-bottom: 7px;
  color: #928a99;
  font-size: 8px;
  font-weight: 850;
}

.favorites-filter-group > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

.favorites-filter-group > div[data-favorites-categories] {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.favorites-filter-group button {
  height: 34px;
  border: 0;
  border-radius: 12px;
  background: #f2eff5;
  color: #7e7585;
  font-family: inherit;
  font-size: 8px;
  font-weight: 900;
}

.favorites-filter-group button.is-active {
  background: #2b2432;
  color: #fff;
}

.favorites-result-meta {
  display: flex;
  justify-content: flex-end;
  min-height: 17px;
}

.favorites-result-meta span {
  color: #8b8391;
  font-size: 8px;
  font-weight: 900;
}

/* Panda Store catalog: product-first toolbar, with co-creation removed from commerce. */
body.panda-app .panda-app-stage.is-shop-shell .app-shell-top {
  display: none;
}

body.panda-app .panda-app-stage.is-shop-shell .store-home-view,
body.panda-app .panda-app-stage.is-shop-shell .store-detail-view {
  padding-top: 0;
}

.store-controls {
  position: sticky;
  z-index: 44;
  top: 8px;
  margin: 8px 18px 12px;
  padding: 6px;
  border: 1px solid rgba(52, 41, 62, 0.06);
  border-radius: 21px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 7px 18px rgba(53, 42, 62, 0.055);
  backdrop-filter: blur(20px);
}

.store-toolbar {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) 40px;
  align-items: center;
  gap: 7px;
}

.store-controls .store-back-button,
.store-filter-toggle {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  border-radius: 14px;
  background: #f7f5f8;
  color: #211c26;
  box-shadow: none;
}

.store-controls .store-search-form {
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 8px;
  height: 40px;
  margin: 0;
  padding: 0 13px;
  border: 0;
  border-radius: 14px;
  background: #f7f5f8;
  box-shadow: none;
}

.store-controls .store-search-form input {
  font-size: 10.5px;
}

.store-filter-toggle svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
}

.store-filter-toggle.is-active,
.store-filter-toggle.has-filter {
  background: #fff3ca;
  color: #936400;
}

.store-filter-panel {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px;
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px solid rgba(52, 41, 62, 0.06);
}

.store-filter-panel button {
  min-width: 0;
  height: 29px;
  padding: 0 4px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #8a8290;
  font-family: inherit;
  font-size: 8px;
  font-weight: 900;
}

.store-filter-panel button.is-active {
  background: #2b2432;
  color: #fff;
}

.store-world-hero {
  min-height: 158px;
  padding: 19px 18px;
}

.store-world-hero .store-hero-copy {
  width: 63%;
}

.store-world-hero .store-hero-copy > span {
  margin-bottom: 8px;
}

.store-world-hero .store-hero-copy h1 {
  margin-bottom: 8px;
  font-size: 25px;
}

.store-world-hero .store-hero-copy p {
  margin-bottom: 5px;
  font-size: 12px;
}

.store-world-hero .store-hero-copy small {
  font-size: 9.5px;
}

.store-world-hero .store-hero-art {
  right: -17px;
  bottom: -24px;
  width: 155px;
  height: 155px;
}

.store-world-hero .store-hero-art img {
  right: 19px;
  width: 117px;
}

.post-card[data-library-id] .attached-card,
.post-detail-page[data-library-id] .detail-attached {
  cursor: pointer;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.post-card[data-library-id] .attached-card:active,
.post-detail-page[data-library-id] .detail-attached:active {
  transform: scale(0.985);
}

.post-card[data-library-id] .attached-card:focus-visible,
.post-detail-page[data-library-id] .detail-attached:focus-visible {
  outline: 3px solid rgba(101, 67, 233, 0.3);
  outline-offset: 3px;
}

/* TODO actions share one compact bubble language; time planning remains Panda-led. */
.schedule-todo-actions {
  display: flex;
  grid-template-columns: none;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}

.schedule-todo-actions .schedule-arrange-button,
.schedule-todo-actions .schedule-todo-expand,
.schedule-todo-actions .schedule-todo-open {
  display: grid;
  grid-column: auto;
  width: 30px;
  min-width: 30px;
  height: 30px;
  padding: 0;
  place-items: center;
  border: 1px solid rgba(50, 43, 58, 0.045);
  border-radius: 50%;
  box-shadow: 0 6px 14px rgba(48, 40, 57, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.7);
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, color 180ms ease;
}

.schedule-todo-actions .schedule-todo-expand {
  background: #f3f0f5;
  color: #655e6c;
}

.schedule-todo-actions .schedule-todo-open {
  border-color: rgba(226, 153, 0, 0.12);
  background: linear-gradient(145deg, #ffc94c, #f6ae21);
  color: #fff;
  box-shadow: 0 7px 16px rgba(238, 166, 28, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.38);
}

.schedule-todo-actions .schedule-arrange-button {
  justify-self: auto;
  background: #fff2c8;
  color: #9a6800;
}

.schedule-todo-actions .schedule-arrange-button svg,
.schedule-todo-actions .schedule-todo-expand svg,
.schedule-todo-actions .schedule-todo-open svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.schedule-todo-actions .schedule-todo-forward {
  display: block;
  color: #fff;
  font-size: 16px;
  line-height: 1;
  font-weight: 900;
  transform: translateY(-0.5px);
}

.schedule-todo-actions .schedule-todo-expand[aria-expanded="true"] {
  background: #2d2733;
  color: #fff;
  box-shadow: 0 7px 16px rgba(45, 39, 51, 0.17);
}

.schedule-todo-actions button:active {
  transform: scale(0.92);
}

.schedule-todo-actions button:focus-visible {
  outline: 3px solid rgba(112, 80, 200, 0.2);
  outline-offset: 2px;
}

/* Every live Panda project exposes the same yellow send affordance. */
.panda-home-v2 .panda-v2-project {
  position: relative;
  padding-right: 54px;
}

.panda-home-v2 .panda-v2-project::after {
  position: absolute;
  top: 50%;
  right: 12px;
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(145deg, #ffc94c, #f6ae21);
  color: #fff;
  font-size: 16px;
  line-height: 1;
  font-weight: 900;
  content: ">";
  transform: translateY(-50%);
  box-shadow: 0 7px 16px rgba(238, 166, 28, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.38);
}

/* Final room-settings surface overrides: remove legacy dashboard decoration. */
body.panda-app .panda-home-v2 .panda-task-relations {
  border: 0;
  background: #fff;
  box-shadow: 0 8px 24px rgba(43, 35, 52, 0.055);
}

body.panda-app .panda-home-v2 .panda-relation-node > i {
  border-color: #fff;
  background: #f0edf5;
  box-shadow: none;
}

body.panda-app .panda-home-v2 .panda-relation-node.panda > i {
  background: #ffc83d;
}

body.panda-app .panda-home-v2 .panda-relation-link {
  background: #ded9e5;
}

body.panda-app .panda-home-v2 .panda-relation-lane {
  background: #f7f6f9;
}

body.panda-app .panda-home-v2 .panda-task-editor,
body.panda-app .panda-home-v2 .panda-task-editor-panel {
  background:
    radial-gradient(circle at 16% 14%, rgba(123, 97, 255, 0.12), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(255, 197, 20, 0.18), transparent 26%),
    linear-gradient(180deg, #fbfbff 0%, #ffffff 58%, #fffaf3 100%);
}

.panda-chat-recycle-setting {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 10px;
  padding: 13px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 7px 22px rgba(43, 35, 52, 0.045);
}

.panda-chat-recycle-setting span,
.panda-chat-recycle-setting strong,
.panda-chat-recycle-setting small { display: block; }

.panda-chat-recycle-setting strong {
  color: #24202a;
  font-size: 12px;
  font-weight: 950;
}

.panda-chat-recycle-setting small {
  margin-top: 3px;
  color: #8e8794;
  font-size: 8px;
  font-weight: 750;
}

.panda-chat-recycle-setting button {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid rgba(23, 139, 88, 0.18);
  border-radius: 50%;
  background: #ddf7e9;
  color: #178b58;
  box-shadow: 0 6px 16px rgba(23, 139, 88, 0.12);
}

.panda-chat-recycle-setting button span {
  font-family: "Segoe UI Symbol", "Arial Unicode MS", sans-serif;
  font-size: 21px;
  font-weight: 700;
  line-height: 1;
}

.panda-chat-recycle-setting button:active {
  transform: scale(.94);
}

/* One task-card language across pending, matching, active and completed states. */
.panda-home-v2 .panda-v2-confirm-card,
.panda-home-v2 .panda-v2-project,
.panda-home-v2 .panda-v2-completed-card {
  min-height: 88px;
  padding: 11px 12px;
  border: 1px solid rgba(31, 24, 44, 0.055);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 10px 24px rgba(31, 24, 44, 0.05);
}

.panda-home-v2 .panda-v2-confirm-card {
  position: relative;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  gap: 0 10px;
  padding-right: 36px;
  cursor: pointer;
}

.panda-home-v2 .panda-v2-confirm-card::after {
  position: absolute;
  top: 50%;
  right: 15px;
  content: "›";
  color: #91899d;
  font-size: 23px;
  font-weight: 700;
  line-height: 1;
  transform: translateY(-52%);
}

.panda-home-v2 .panda-v2-confirm-card:focus-visible {
  outline: 2px solid rgba(135, 89, 220, 0.55);
  outline-offset: 2px;
}

.panda-home-v2 .panda-v2-conversation-list {
  display: grid;
  gap: 9px;
}

.panda-home-v2 .panda-v2-conversation-card {
  grid-template-columns: 44px minmax(0, 1fr) 34px;
  min-height: 80px;
  gap: 9px;
  padding: 10px 11px;
  border-radius: 18px;
  box-shadow: 0 10px 24px rgba(31, 24, 44, 0.05);
}

.panda-home-v2 .panda-v2-conversation-card .conversation-avatar {
  width: 44px;
  height: 44px;
  border-radius: 14px;
}

.panda-home-v2 .panda-v2-conversation-card .conversation-title strong {
  font-size: 12.5px;
}

.panda-home-v2 .panda-v2-conversation-card .conversation-preview {
  font-size: 9.5px;
}

.panda-home-v2 .panda-v2-conversation-card .conversation-context {
  font-size: 8px;
}

.panda-home-v2 .panda-v2-conversation-card .conversation-progress-ring {
  width: 34px;
  height: 34px;
}

.panda-home-v2 .panda-v2-conversation-empty {
  margin: 0;
  padding: 28px 18px;
  border: 1px dashed rgba(118, 104, 145, 0.2);
  border-radius: 18px;
  color: #8d8698;
  background: rgba(255, 255, 255, 0.72);
  font-size: 11px;
  line-height: 1.5;
  font-weight: 750;
  text-align: center;
}

.panda-home-v2 .panda-v2-task-art,
.panda-home-v2 .panda-v2-project-art,
.panda-home-v2 .panda-v2-completed-card > span {
  grid-row: auto;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  font-size: 20px;
}

.panda-home-v2 .panda-v2-task-copy,
.panda-home-v2 .panda-v2-project-copy,
.panda-home-v2 .panda-v2-completed-copy {
  display: grid;
  min-width: 0;
  gap: 4px;
}

.panda-home-v2 .panda-v2-task-copy header,
.panda-home-v2 .panda-v2-project-copy > span,
.panda-home-v2 .panda-v2-completed-copy > span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.panda-home-v2 .panda-v2-task-copy h3,
.panda-home-v2 .panda-v2-project-copy strong,
.panda-home-v2 .panda-v2-completed-copy strong {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  color: #25212d;
  font-size: 12.5px;
  line-height: 1.1;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.panda-home-v2 .panda-v2-task-copy p,
.panda-home-v2 .panda-v2-project-copy small,
.panda-home-v2 .panda-v2-completed-copy small,
.panda-home-v2 .panda-v2-project-copy b,
.panda-home-v2 .panda-v2-completed-copy b {
  margin: 0;
  overflow: hidden;
  font-size: 9.5px;
  line-height: 1.25;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.panda-home-v2 .panda-v2-task-copy p,
.panda-home-v2 .panda-v2-project-copy small,
.panda-home-v2 .panda-v2-completed-copy small {
  color: #716a79;
}

.panda-home-v2 .panda-v2-task-copy small,
.panda-home-v2 .panda-v2-project-copy b,
.panda-home-v2 .panda-v2-completed-copy b {
  color: #9275e8;
}

.panda-home-v2 .panda-v2-completed-copy em {
  flex: 0 0 auto;
  padding: 4px 7px;
  border-radius: 999px;
  background: #e5f9ef;
  color: #219d69;
  font-size: 9px;
  line-height: 1;
  font-style: normal;
  font-weight: 900;
}

.panda-home-v2 .panda-v2-completed-copy b {
  color: #2aaa72;
}

.panda-home-v2 .panda-v2-task-actions {
  grid-column: 3;
  grid-row: 1;
  align-self: center;
  justify-content: flex-end;
  margin: 0;
}

.panda-home-v2 .panda-v2-completed-card {
  grid-template-columns: 44px minmax(0, 1fr) 36px;
  gap: 10px;
}

.panda-home-v2 .panda-v2-completed-card button,
.panda-home-v2 .panda-v2-project::after {
  width: 36px;
  height: 36px;
}

/* The selected top tab already communicates the stage; cards do not repeat it. */
.panda-home-v2 .panda-v2-project-copy em {
  display: none;
}

/* Seven plain-language ways to begin a Panda conversation from Campus. */
.home-phone .hero {
  height: 382px;
}

.home-chat-guides {
  position: absolute;
  z-index: 8;
  top: 301px;
  right: 21px;
  left: 21px;
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 6px;
}

.home-chat-guides button {
  grid-column: span 2;
  min-width: 0;
  height: 25px;
  padding: 0 8px;
  border: 1px solid rgba(56, 47, 70, 0.07);
  border-radius: 999px;
  background: rgba(247, 245, 250, 0.94);
  color: #756e80;
  font-family: inherit;
  font-size: 9.5px;
  font-weight: 850;
  box-shadow: 0 3px 8px rgba(46, 37, 59, 0.035);
}

.home-chat-guides button:nth-child(5) {
  grid-column: 2 / span 2;
}

.home-chat-guides button:nth-child(6) {
  grid-column: 4 / span 2;
}

.home-chat-guides button:nth-child(7) {
  grid-column: 6 / span 2;
}

.home-chat-guides button.is-active,
.home-chat-guides button:active {
  border-color: rgba(244, 181, 38, 0.55);
  background: #fffaf0;
  color: #b4780d;
}

/* Schedule clarity pass: keep every control, but turn the page into three clear
   layers — context, date selection and today's actions. */
body.panda-app .schedule-phone.schedule-v2 .schedule-v2-root {
  --schedule-ink: #211d27;
  --schedule-muted: #7c7484;
  --schedule-line: rgba(47, 39, 57, 0.07);
  --schedule-surface: rgba(255, 255, 255, 0.94);
  padding-top: 78px;
  background:
    radial-gradient(circle at 92% 1%, rgba(255, 221, 104, 0.17), transparent 21%),
    radial-gradient(circle at 4% 8%, rgba(157, 132, 255, 0.11), transparent 23%),
    #fafafd;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-v2-context {
  min-height: 100px;
  margin-right: 16px;
  margin-left: 16px;
  padding: 16px 18px 17px;
  border-color: var(--schedule-line);
  border-bottom: 0;
  border-radius: 24px 24px 0 0;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(255, 249, 228, 0.92));
  box-shadow: 0 14px 34px rgba(42, 33, 51, 0.055);
}

body.panda-app .schedule-phone.schedule-v2 .schedule-context-meta {
  gap: 14px;
  margin-bottom: 11px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-context-meta span {
  min-height: 20px;
  padding: 0;
  background: transparent;
  font-size: 11.5px;
  font-weight: 900;
  box-shadow: none;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-context-meta i {
  font-size: 14px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-v2-context > strong {
  color: var(--schedule-ink);
  font-size: 22px;
  line-height: 1.15;
  letter-spacing: -0.35px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-v2-context > p {
  margin-top: 6px;
  color: var(--schedule-muted);
  font-size: 12px;
  line-height: 1.4;
  font-weight: 750;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-v2-tabs {
  height: 52px;
  margin: 0 16px;
  padding: 4px;
  border-color: var(--schedule-line);
  border-radius: 0 0 24px 24px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 14px 34px rgba(42, 33, 51, 0.055);
}

body.panda-app .schedule-phone.schedule-v2 .schedule-v2-tabs button {
  border-radius: 14px;
  color: #706978;
  font-size: 14px;
  font-weight: 900;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-v2-tabs button.is-active {
  background: linear-gradient(180deg, #fff7dc, #fff1bd);
  color: var(--schedule-ink);
  box-shadow: inset 0 0 0 1px rgba(226, 164, 19, 0.22), 0 5px 12px rgba(203, 151, 31, 0.08);
}

body.panda-app .schedule-phone.schedule-v2 .schedule-week-card {
  margin: 12px 16px 0;
  padding: 15px 14px 13px;
  border-color: var(--schedule-line);
  border-radius: 24px;
  background: var(--schedule-surface);
  box-shadow: 0 12px 28px rgba(42, 33, 51, 0.045);
}

body.panda-app .schedule-phone.schedule-v2 .schedule-week-head {
  align-items: center;
  gap: 12px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-week-label {
  color: var(--schedule-ink);
  font-size: 17px;
  line-height: 1.1;
  letter-spacing: -0.25px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-week-title-copy > span {
  margin-top: 3px;
  color: var(--schedule-muted);
  font-size: 10px;
  line-height: 1.15;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-week-actions {
  display: grid;
  grid-template-columns: repeat(4, 36px);
  gap: 2px;
  padding: 3px;
  border: 1px solid rgba(48, 40, 57, 0.045);
  border-radius: 15px;
  background: #f5f3f7;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-week-actions button,
body.panda-app .schedule-phone.schedule-v2 .schedule-week-actions button:first-child,
body.panda-app .schedule-phone.schedule-v2 .schedule-week-actions button.schedule-map-mode-button,
body.panda-app .schedule-phone.schedule-v2 .schedule-week-actions [data-schedule-v2-today],
body.panda-app .schedule-phone.schedule-v2 .schedule-week-actions .schedule-calendar-expand {
  width: 36px;
  min-width: 36px;
  height: 36px;
  padding: 0;
  border: 0 !important;
  border-radius: 12px;
  background: transparent !important;
  color: #756e7d !important;
  box-shadow: none !important;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-week-actions button.is-active,
body.panda-app .schedule-phone.schedule-v2 .schedule-week-actions .schedule-calendar-expand[aria-expanded="true"] {
  background: #fff !important;
  color: #9e6d00 !important;
  box-shadow: 0 4px 10px rgba(45, 37, 53, 0.09) !important;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-week-actions svg {
  width: 16px;
  height: 16px;
  stroke-width: 1.85;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-week-days {
  gap: 3px;
  margin-top: 14px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-week-days > button {
  gap: 6px;
  min-height: 66px;
  padding: 7px 1px 8px;
  border-radius: 15px;
  transition: background 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-week-days > button.is-selected {
  background: linear-gradient(180deg, #fff7d9, #fffaf0);
  box-shadow: inset 0 0 0 1px rgba(228, 165, 18, 0.22);
}

body.panda-app .schedule-phone.schedule-v2 .schedule-week-days > button:active {
  transform: scale(0.97);
}

body.panda-app .schedule-phone.schedule-v2 .schedule-week-days > button > em {
  color: #817988;
  font-size: 9.5px;
  font-weight: 900;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-health-ring {
  width: 39px;
  height: 39px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-week-days > button:not(.is-selected) .ring-layer {
  opacity: 0.58;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-health-ring > strong {
  font-size: 13px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-ring-legend {
  justify-content: flex-start;
  margin: 10px 3px 0;
  color: #8f8797;
  font-size: 8.5px;
  line-height: 1.3;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-board {
  margin: 14px 16px 0;
  padding: 15px 14px 18px;
  border: 1px solid var(--schedule-line);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 12px 28px rgba(42, 33, 51, 0.045);
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-board-head {
  margin: 0 2px 10px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-board-head > strong {
  color: var(--schedule-ink);
  font-size: 17px;
  line-height: 1.15;
  letter-spacing: -0.3px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-board-head > button {
  width: 36px;
  height: 36px;
  box-shadow: 0 8px 18px rgba(238, 166, 28, 0.2);
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-board-head > button svg {
  width: 18px;
  height: 18px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-group {
  margin-top: 13px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-group > header {
  margin: 0 4px 8px;
  color: #756d7d;
  font-size: 10.5px;
  line-height: 1.2;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-group > header i {
  width: 9px;
  height: 9px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-list {
  gap: 0;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-card {
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  min-height: 100px;
  padding: 14px 3px 13px 5px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-card + .schedule-todo-card {
  border-top: 1px solid var(--schedule-line);
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-card::before {
  inset: 15px auto 15px 0;
  width: 3px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-check {
  width: 28px;
  height: 28px;
  border-width: 1.6px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-main {
  grid-column: 2;
  gap: 5px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-meta {
  gap: 6px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-meta strong {
  font-size: 11px;
  line-height: 1.15;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-meta span {
  font-size: 9.5px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-meta em {
  padding: 3px 6px;
  font-size: 9px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-main h3 {
  overflow: visible;
  color: var(--schedule-ink);
  font-size: 15px;
  line-height: 1.3;
  text-overflow: clip;
  white-space: normal;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-main p {
  display: -webkit-box;
  overflow: hidden;
  color: #817a89;
  font-size: 11px;
  line-height: 1.4;
  text-overflow: clip;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-actions {
  grid-column: 2;
  justify-content: flex-end;
  justify-self: end;
  gap: 0;
  width: max-content;
  max-width: 100%;
  margin-top: 3px;
  overflow: hidden;
  border: 1px solid rgba(50, 43, 58, 0.07);
  border-radius: 14px;
  background: #f5f3f7;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-actions .schedule-arrange-button,
body.panda-app .schedule-phone.schedule-v2 .schedule-todo-actions .schedule-todo-expand {
  width: 40px;
  min-width: 40px;
  height: 40px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-actions .schedule-arrange-button {
  color: #9a6800;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-actions .schedule-todo-expand {
  color: #655e6c;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-actions .schedule-todo-expand[aria-expanded="true"] {
  background: #2d2733;
  color: #fff;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-actions .schedule-todo-open {
  width: 44px;
  min-width: 44px;
  height: 40px;
  border: 0;
  border-left: 1px solid rgba(50, 43, 58, 0.07);
  border-radius: 0;
  box-shadow: none;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-detail {
  grid-column: 2;
  margin-top: 8px;
  padding-top: 10px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-detail dl > div {
  padding: 8px 9px;
  border-radius: 12px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-detail dt {
  font-size: 9px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-detail dd {
  font-size: 11px;
}

/* The secondary tabs keep their full feature sets, but use the same calmer,
   larger surface rhythm as the calendar. */
body.panda-app .schedule-phone.schedule-v2 .schedule-diary-view,
body.panda-app .schedule-phone.schedule-v2 .schedule-bag-view {
  margin: 10px 16px 0;
  padding: 15px;
  border-color: var(--schedule-line);
  border-radius: 24px;
  box-shadow: 0 12px 28px rgba(42, 33, 51, 0.045);
}

body.panda-app .schedule-phone.schedule-v2 .schedule-memo-composer {
  position: relative;
  z-index: 1;
  top: auto;
  padding: 15px;
  border-radius: 20px;
  box-shadow: 0 10px 24px rgba(49, 38, 61, 0.065);
}

body.panda-app .schedule-phone.schedule-v2 .schedule-memo-composer > header small,
body.panda-app .schedule-phone.schedule-v2 .schedule-memo-stream-head small {
  font-size: 10px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-memo-composer > header strong {
  font-size: 16px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-memo-composer > header > span {
  font-size: 9.5px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-memo-composer textarea {
  min-height: 96px;
  font-size: 13.5px;
  line-height: 1.55;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-memo-composer button {
  min-height: 38px;
  padding: 0 12px;
  font-size: 10px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-memo-composer button.primary {
  width: 42px;
  min-width: 42px;
  height: 42px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-memo-stream-head strong {
  font-size: 15px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-memo-stream-head > span {
  font-size: 10px;
}

/* Campus home: one shared post stream. Legacy category shelves remain as the
   source archive in markup, while the visible surface uses the same post-card
   frame as the campus stream. */
body.panda-app .home-phone > .processing-card,
body.panda-app .home-phone > .opportunity-section,
body.panda-app .home-phone > .ai-recommend-section,
body.panda-app .home-phone > .event-section,
body.panda-app .home-phone > .home-place-section,
body.panda-app .home-phone > .home-store-section,
body.panda-app .home-phone > .home-recommended-news {
  display: none !important;
}

body.panda-app .home-phone .home-unified-stream {
  margin: 0 18px 34px;
}

body.panda-app .home-unified-stream-title {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin: 2px 2px 12px;
}

body.panda-app .home-unified-stream-title small,
body.panda-app .home-unified-stream-title h2,
body.panda-app .home-unified-stream-title a {
  display: block;
  margin: 0;
}

body.panda-app .home-unified-stream-title small {
  margin-bottom: 2px;
  color: #9c94a2;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.04em;
}

body.panda-app .home-unified-stream-title h2 {
  color: #17151f;
  font-size: 20px;
  line-height: 1.05;
  font-weight: 950;
}

body.panda-app .home-unified-stream-title a {
  padding: 8px 2px 1px;
  color: #777386;
  text-decoration: none;
  font-size: 11px;
  font-weight: 900;
}

body.panda-app .home-feed-ad-carousel {
  position: relative;
  margin-bottom: 14px;
}

body.panda-app .home-feed-ad-viewport {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
}

body.panda-app .home-feed-ad-viewport::-webkit-scrollbar {
  display: none;
}

body.panda-app .home-feed-ad-track {
  display: flex;
  align-items: stretch;
  gap: 12px;
}

body.panda-app .home-feed-ad-card {
  flex: 0 0 100%;
  min-width: 0;
  min-height: 218px;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  color: inherit;
  text-decoration: none;
  background:
    radial-gradient(circle at 95% 0%, rgba(255, 202, 66, 0.16), transparent 34%),
    rgba(255, 255, 255, 0.95);
}

body.panda-app .home-feed-ad-card.is-cocreate {
  background:
    radial-gradient(circle at 96% 4%, rgba(129, 99, 255, 0.14), transparent 36%),
    rgba(255, 255, 255, 0.95);
}

body.panda-app .home-feed-ad-card.is-skill {
  background:
    radial-gradient(circle at 96% 4%, rgba(66, 175, 255, 0.14), transparent 36%),
    rgba(255, 255, 255, 0.95);
}

body.panda-app .home-feed-ad-card:active {
  transform: scale(0.992);
}

body.panda-app .home-feed-ad-card .post-avatar {
  object-fit: contain;
}

body.panda-app .home-feed-ad-label {
  align-self: center;
  padding: 5px 8px;
  border-radius: 999px;
  background: #f3f0f7;
  color: #8a8292;
  font-size: 8px;
  font-style: normal;
  font-weight: 950;
}

body.panda-app .home-feed-ad-card .attached-card {
  min-height: 101px;
}

body.panda-app .home-feed-ad-controls {
  display: grid;
  grid-template-columns: 30px auto 30px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin-top: 8px;
}

body.panda-app .home-feed-ad-controls > button {
  display: grid;
  place-items: center;
  width: 30px;
  height: 26px;
  padding: 0;
  border: 1px solid rgba(23, 21, 31, 0.06);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  color: #716b7a;
  font-family: inherit;
  font-size: 18px;
  font-weight: 800;
  line-height: 1;
}

body.panda-app .home-feed-ad-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

body.panda-app .home-feed-ad-dots button {
  width: 7px;
  height: 7px;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 999px;
  background: #dfdbe5;
  transition: width 180ms ease, background-color 180ms ease;
}

body.panda-app .home-feed-ad-dots button.is-active {
  width: 20px;
  background: #f1b52d;
}

body.panda-app .home-feed-ad-dots span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

body.panda-app .home-unified-feed-anchor .dynamic-feed {
  display: grid;
  gap: 12px;
}

body.panda-app .home-unified-feed-anchor .post-card {
  width: 100%;
  background: rgba(255, 255, 255, 0.95);
}

body.panda-app .home-unified-feed-anchor .post-card[data-recommend-rank]::before {
  display: none;
}

/* The four discovery shelves live inside the post stream. They keep the
   original horizontal-browse behaviour instead of becoming oversized posts. */
body.panda-app .home-unified-feed-anchor .home-feed-shelf {
  display: block;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 13px;
  overflow: hidden;
  border: 1px solid rgba(20, 20, 20, 0.06);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 14px 32px rgba(20, 20, 20, 0.06);
  backdrop-filter: blur(18px);
}

body.panda-app .home-unified-feed-anchor .home-feed-shelf .section-title {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  margin: 0 0 10px;
  padding: 0;
}

body.panda-app .home-unified-feed-anchor .home-feed-shelf .section-title::before {
  content: "荐";
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--shelf-accent, #f3b52f) 18%, white);
  color: var(--shelf-accent, #f3b52f);
  font-size: 12px;
  font-weight: 950;
}

body.panda-app .home-unified-feed-anchor .home-feed-shelf[data-feed-shelf="demand"] .section-title::before {
  content: "需";
}

body.panda-app .home-unified-feed-anchor .home-feed-shelf[data-feed-shelf="supply"] .section-title::before {
  content: "供";
}

body.panda-app .home-unified-feed-anchor .home-feed-shelf[data-feed-shelf="activity"] .section-title::before {
  content: "活";
}

body.panda-app .home-unified-feed-anchor .home-feed-shelf[data-feed-shelf="place"] .section-title::before {
  content: "地";
}

body.panda-app .home-unified-feed-anchor .home-feed-shelf .section-title h2 {
  margin: 0;
  color: #17151f;
  font-size: 12px;
  line-height: 1.1;
  font-weight: 900;
}

body.panda-app .home-unified-feed-anchor .home-feed-shelf .section-title a {
  flex: none;
  margin: 0;
  min-width: 58px;
  padding: 9px 11px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--shelf-accent, #f3b52f) 14%, white);
  color: color-mix(in srgb, var(--shelf-accent, #f3b52f) 72%, #27212d);
  text-decoration: none;
  text-align: center;
  font-size: 9px;
  line-height: 1;
  font-weight: 950;
}

body.panda-app .home-unified-feed-anchor .home-feed-shelf .opportunity-row,
body.panda-app .home-unified-feed-anchor .home-feed-shelf .ai-card-row,
body.panda-app .home-unified-feed-anchor .home-feed-shelf .home-event-row,
body.panda-app .home-unified-feed-anchor .home-feed-shelf .home-curated-row {
  display: flex;
  align-items: stretch;
  gap: 10px;
  width: 100%;
  margin: 0;
  padding: 0 0 2px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: 2px;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}

body.panda-app .home-unified-feed-anchor .home-feed-shelf .opportunity-row::-webkit-scrollbar,
body.panda-app .home-unified-feed-anchor .home-feed-shelf .ai-card-row::-webkit-scrollbar,
body.panda-app .home-unified-feed-anchor .home-feed-shelf .home-event-row::-webkit-scrollbar,
body.panda-app .home-unified-feed-anchor .home-feed-shelf .home-curated-row::-webkit-scrollbar {
  display: none;
}

body.panda-app .home-unified-feed-anchor .home-feed-shelf .opportunity-card,
body.panda-app .home-unified-feed-anchor .home-feed-shelf .ai-card,
body.panda-app .home-unified-feed-anchor .home-feed-shelf .home-event-card,
body.panda-app .home-unified-feed-anchor .home-feed-shelf .home-place-card {
  min-width: 0;
  border: 1px solid rgba(52, 41, 62, 0.06);
  border-radius: 15px;
  box-shadow: none;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

body.panda-app .home-unified-feed-anchor .home-feed-shelf .opportunity-card {
  flex: 0 0 142px;
}

body.panda-app .home-unified-feed-anchor .home-feed-shelf .ai-card {
  flex: 0 0 236px;
}

body.panda-app .home-unified-feed-anchor .home-feed-shelf .ai-card.ai-card-onboarding {
  flex-basis: 286px;
}

body.panda-app .home-unified-feed-anchor .home-feed-shelf .home-event-card {
  flex: 0 0 296px;
  width: auto;
}

body.panda-app .home-unified-feed-anchor .home-feed-shelf .home-place-card {
  flex: 0 0 208px;
  width: auto;
}

body.panda-app .home-unified-feed-anchor .home-feed-shelf[data-feed-shelf="demand"] {
  --shelf-accent: #f3b52f;
}

body.panda-app .home-unified-feed-anchor .home-feed-shelf[data-feed-shelf="supply"] {
  --shelf-accent: #8f69f3;
}

body.panda-app .home-unified-feed-anchor .home-feed-shelf[data-feed-shelf="activity"] {
  --shelf-accent: #ef668e;
}

body.panda-app .home-unified-feed-anchor .home-feed-shelf[data-feed-shelf="place"] {
  --shelf-accent: #42c59a;
}

body.panda-app .home-unified-feed-anchor .home-feed-shelf .section-title h2::after {
  display: none;
}

/* Real-world photos make every embedded discovery card read like a feed
   object, while the original horizontal shelf rhythm stays intact. */
body.panda-app .home-unified-feed-anchor .home-feed-shelf .opportunity-art,
body.panda-app .home-unified-feed-anchor .home-feed-shelf .ai-icon,
body.panda-app .home-unified-feed-anchor .home-feed-shelf .event-art,
body.panda-app .home-unified-feed-anchor .home-feed-shelf .home-place-art {
  overflow: hidden;
  background: #f2f0f4;
}

body.panda-app .home-unified-feed-anchor .home-feed-shelf .opportunity-art img,
body.panda-app .home-unified-feed-anchor .home-feed-shelf .ai-icon img,
body.panda-app .home-unified-feed-anchor .home-feed-shelf .home-event-photo,
body.panda-app .home-unified-feed-anchor .home-feed-shelf .home-place-art img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.panda-app .home-unified-feed-anchor .home-feed-shelf .event-art::before {
  display: none;
}

body.panda-app .home-unified-feed-anchor .home-feed-shelf .opportunity-art {
  width: calc(100% - 18px);
  height: 70px;
  margin: 9px;
  border-radius: 12px;
}

body.panda-app .home-unified-feed-anchor .home-feed-shelf .ai-icon {
  border-radius: 13px;
}

body.panda-app .home-unified-feed-anchor .home-feed-shelf .event-art {
  width: 104px;
  height: 94px;
  border-radius: 12px;
}

body.panda-app .home-unified-feed-anchor .home-feed-shelf .home-place-art img {
  border-radius: 22px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-diary-list {
  gap: 0;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-diary-list article.schedule-memo-card {
  padding: 15px 3px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-diary-list article.schedule-memo-card + article.schedule-memo-card {
  border-top: 1px solid var(--schedule-line);
}

body.panda-app .schedule-phone.schedule-v2 .schedule-memo-card > p {
  color: #3f3845;
  font-size: 13px;
  line-height: 1.55;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-memo-card .schedule-memo-media {
  display: block;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-memo-card .schedule-memo-media img {
  display: block;
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  object-fit: cover;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-memo-card time,
body.panda-app .schedule-phone.schedule-v2 .schedule-memo-card footer span,
body.panda-app .schedule-phone.schedule-v2 .schedule-memo-card footer em {
  font-size: 9.5px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-memo-filter-panel.conversations-filter-panel {
  position: static;
  margin-top: 8px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-bag-head small {
  font-size: 10px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-bag-head h2 {
  font-size: 18px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-bag-head > button {
  width: 40px;
  height: 40px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-bag-tabs {
  padding: 4px;
  border-radius: 15px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-bag-tabs button {
  height: 40px;
  border-radius: 12px;
  font-size: 11.5px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-bag-search-row {
  grid-template-columns: minmax(0, 1fr) 42px;
  gap: 8px;
  margin-top: 10px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-bag-search,
body.panda-app .schedule-phone.schedule-v2 .schedule-bag-filter-toggle {
  height: 42px;
  border-radius: 14px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-bag-search input {
  font-size: 11.5px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-bag-filter-toggle {
  width: 42px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-bag-filter-panel {
  position: static;
  margin-top: 10px;
  padding: 14px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-bag-filter-panel > header strong {
  font-size: 14px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-bag-filter-group > span,
body.panda-app .schedule-phone.schedule-v2 .schedule-bag-filter-panel > footer span {
  font-size: 10px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-bag-filter-group button,
body.panda-app .schedule-phone.schedule-v2 .schedule-bag-filter-panel > footer button {
  min-height: 34px;
  padding: 0 11px;
  font-size: 10px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-bag-progress {
  padding: 13px;
  border-radius: 16px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-bag-progress strong {
  font-size: 13px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-bag-progress span {
  font-size: 10px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-bag-prep-list,
body.panda-app .schedule-phone.schedule-v2 .schedule-bag-history {
  gap: 0;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-bag-prep-list article {
  grid-template-columns: 40px minmax(0, 1fr) 32px;
  gap: 10px;
  min-height: 72px;
  padding: 11px 3px;
  border: 0;
  border-radius: 0;
  background: transparent;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-bag-prep-list article + article {
  border-top: 1px solid var(--schedule-line);
}

body.panda-app .schedule-phone.schedule-v2 .schedule-bag-prep-list article > span {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  font-size: 20px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-bag-prep-list strong {
  font-size: 13px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-bag-prep-list small {
  font-size: 10px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-bag-prep-list [data-schedule-bag-ready] {
  width: 32px;
  height: 32px;
  border-radius: 10px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-bag-pane-head strong {
  font-size: 13px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-bag-pane-head span {
  font-size: 10px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-bag-slot-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-bag-slot-grid > button {
  min-height: 92px;
  border-radius: 15px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-bag-slot-grid > button > strong {
  font-size: 11px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-bag-slot-grid > button > small {
  font-size: 9px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-bag-history article {
  grid-template-columns: 82px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-height: 68px;
  padding: 12px 14px;
  border-radius: 14px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-bag-history time {
  color: #756e7d;
  font-size: 11px;
  line-height: 1.3;
  font-weight: 900;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-bag-history strong {
  color: var(--schedule-ink);
  font-size: 13px;
  line-height: 1.3;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-bag-history small {
  margin-top: 4px;
  color: #7f7786;
  font-size: 10.5px;
  line-height: 1.35;
}

/* Schedule task cards: readable summary first, simple information rows on demand. */
body.panda-app .schedule-phone.schedule-v2 .schedule-todo-card {
  min-height: 112px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-meta {
  gap: 7px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-meta strong {
  font-size: 11.5px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-meta span,
body.panda-app .schedule-phone.schedule-v2 .schedule-todo-meta em {
  font-size: 10.5px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-main h3 {
  font-size: 16px;
  line-height: 1.35;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-main p {
  font-size: 12px;
  line-height: 1.5;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-actions {
  gap: 8px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-actions .schedule-arrange-button,
body.panda-app .schedule-phone.schedule-v2 .schedule-todo-actions .schedule-todo-expand,
body.panda-app .schedule-phone.schedule-v2 .schedule-todo-actions .schedule-todo-open {
  width: 42px;
  min-width: 42px;
  height: 42px;
  border-radius: 50%;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-actions .schedule-arrange-button,
body.panda-app .schedule-phone.schedule-v2 .schedule-todo-actions .schedule-todo-expand {
  border: 1px solid rgba(54, 46, 62, 0.09);
  background: #f5f3f7;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-actions .schedule-todo-open {
  border: 0;
  border-left: 0;
  border-radius: 50%;
  box-shadow: 0 7px 16px rgba(238, 166, 28, 0.2);
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-help {
  display: grid;
  place-items: center;
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  font-size: 19px;
  line-height: 1;
  font-weight: 950;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-actions .schedule-todo-expand[aria-expanded="true"] {
  border-color: #2d2733;
  background: #2d2733;
  color: #fff;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-detail {
  margin-top: 10px;
  padding-top: 12px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-detail dl {
  grid-template-columns: 1fr;
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--schedule-line);
  border-radius: 15px;
  background: #f8f7f9;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-detail dl > div {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 10px 12px;
  border-radius: 0;
  background: transparent;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-detail dl > div + div {
  border-top: 1px solid var(--schedule-line);
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-detail dt {
  color: #827a89;
  font-size: 11px;
  line-height: 1.3;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-detail dd {
  margin-top: 0;
  overflow: visible;
  color: var(--schedule-ink);
  font-size: 12.5px;
  line-height: 1.4;
  text-overflow: clip;
  white-space: normal;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-detail > p {
  display: none;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-detail > footer {
  margin: 10px 0 0;
  padding: 10px 12px;
  border-radius: 12px;
  background: #fff8df;
  color: #765c20;
  font-size: 11.5px;
  line-height: 1.45;
}

@media (max-width: 400px) {
  body.panda-app .schedule-phone.schedule-v2 .schedule-v2-context,
  body.panda-app .schedule-phone.schedule-v2 .schedule-v2-tabs,
  body.panda-app .schedule-phone.schedule-v2 .schedule-week-card,
  body.panda-app .schedule-phone.schedule-v2 .schedule-todo-board,
  body.panda-app .schedule-phone.schedule-v2 .schedule-diary-view,
  body.panda-app .schedule-phone.schedule-v2 .schedule-bag-view {
    margin-right: 16px;
    margin-left: 16px;
  }

  body.panda-app .schedule-phone.schedule-v2 .schedule-todo-card {
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 9px;
  }
}

/* Schedule task rows v5: open-source task-list rhythm adapted for Panda.
   One continuous list, one primary Panda action, and quiet inline details. */
body.panda-app .schedule-phone.schedule-v2 .schedule-todo-list {
  gap: 0;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-card {
  position: relative;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) 38px;
  align-items: center;
  column-gap: 10px;
  row-gap: 0;
  min-height: 88px;
  padding: 12px 2px 12px 5px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  opacity: 1;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-card + .schedule-todo-card {
  border-top: 1px solid rgba(45, 39, 51, 0.08);
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-card::before {
  inset: 16px auto 16px 0;
  width: 2px;
  border-radius: 999px;
  opacity: 0.72;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-check {
  grid-column: 1;
  grid-row: 1;
  align-self: center;
  width: 26px;
  height: 26px;
  border-width: 1.5px;
  box-shadow: none;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-main {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  gap: 3px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  min-width: 0;
  column-gap: 5px;
  row-gap: 3px;
  margin: 0 0 1px;
  white-space: nowrap;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-meta strong {
  flex: 0 0 100%;
  color: #5f5866;
  font-size: 10.5px;
  line-height: 1.2;
  font-weight: 900;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-meta span {
  flex: 0 0 auto;
  color: #98919f;
  font-size: 10.5px;
  line-height: 1.2;
  font-weight: 800;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-meta em {
  min-width: 0;
  overflow: hidden;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--task-ink);
  font-size: 10.5px;
  line-height: 1.2;
  font-style: normal;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-meta .schedule-todo-expand {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 26px;
  min-width: 26px;
  height: 26px;
  margin-left: auto;
  border: 1px solid rgba(45, 39, 51, 0.11);
  border-radius: 50%;
  background: transparent;
  color: #746d7b;
  box-shadow: none;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-meta .schedule-todo-expand[aria-expanded="true"] {
  border-color: #2d2733;
  background: #2d2733;
  color: #fff;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-help {
  display: block;
  width: auto;
  height: auto;
  border: 0;
  font-size: 14px;
  line-height: 1;
  font-weight: 950;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-main h3 {
  overflow: hidden;
  color: var(--schedule-ink);
  font-size: 15px;
  line-height: 1.35;
  font-weight: 850;
  letter-spacing: -0.12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-main p {
  display: block;
  overflow: hidden;
  color: #817a89;
  font-size: 11.5px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-actions {
  grid-column: 3;
  grid-row: 1;
  align-self: center;
  justify-self: end;
  display: grid;
  justify-items: center;
  gap: 5px;
  width: 38px;
  margin: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-actions .schedule-arrange-button {
  width: 28px;
  min-width: 28px;
  height: 28px;
  border: 1px solid rgba(45, 39, 51, 0.1);
  border-radius: 50%;
  background: transparent;
  color: #8b6b1e;
  box-shadow: none;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-actions .schedule-arrange-button svg {
  width: 14px;
  height: 14px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-actions .schedule-todo-open {
  display: grid;
  place-items: center;
  width: 36px;
  min-width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  background: #ffbd34;
  color: #211c27;
  box-shadow: none;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-forward {
  transform: translateX(1px);
  font-size: 18px;
  line-height: 1;
  font-weight: 950;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-card.is-done {
  opacity: 1;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-card.is-done::before {
  background: #b9b3bd;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-card.is-done .schedule-todo-main h3 {
  color: #77707e;
  text-decoration: line-through;
  text-decoration-thickness: 1px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-card.is-done .schedule-todo-main p,
body.panda-app .schedule-phone.schedule-v2 .schedule-todo-card.is-done .schedule-todo-meta > *:not(.schedule-todo-expand) {
  color: #aaa4ae;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-detail {
  grid-column: 2 / 4;
  margin: 9px 0 0;
  padding: 10px 0 1px;
  border-top: 1px solid rgba(45, 39, 51, 0.08);
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-detail dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 14px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-detail dl > div {
  display: block;
  min-height: 0;
  padding: 7px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-detail dl > div + div {
  border-top: 0;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-detail dt {
  color: #99929f;
  font-size: 10px;
  line-height: 1.2;
  font-weight: 800;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-detail dd {
  margin-top: 3px;
  overflow: hidden;
  color: #4f4856;
  font-size: 11.5px;
  line-height: 1.35;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-detail > p,
body.panda-app .schedule-phone.schedule-v2 .schedule-todo-detail > footer {
  display: none;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-detail[hidden] {
  display: none !important;
}

@media (max-width: 400px) {
  body.panda-app .schedule-phone.schedule-v2 .schedule-todo-card {
    grid-template-columns: 28px minmax(0, 1fr) 38px;
    gap: 10px;
  }
}

/* Profile identity and direct editing — simple changes stay in context. */
body.panda-app .entity-phone[data-profile-surface] .entity-cover {
  cursor: default;
  transition: background 220ms ease, box-shadow 180ms ease;
}

body.panda-app .entity-cover-more .entity-edit-pencil,
body.panda-app .entity-cover-more .entity-edit-done {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.panda-app .entity-cover-more .entity-edit-done {
  display: none;
}

body.panda-app .entity-phone.is-profile-editing .entity-cover-more {
  background: linear-gradient(135deg, #ffd969, #ffb93c);
  color: #35240b;
  transform: scale(1.04);
}

body.panda-app .entity-phone.is-profile-editing .entity-cover-more .entity-edit-pencil {
  display: none;
}

body.panda-app .entity-phone.is-profile-editing .entity-cover-more .entity-edit-done {
  display: block;
}

body.panda-app .entity-phone[data-profile-surface] .entity-identity-card {
  grid-template-columns: 62px minmax(0, 1fr);
  row-gap: 0;
}

body.panda-app .entity-phone[data-profile-surface] .entity-avatar {
  position: relative;
  overflow: visible;
}

body.panda-app .entity-phone[data-profile-surface] .entity-avatar img {
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
}

body.panda-app .entity-edit-mark {
  position: absolute;
  right: -3px;
  bottom: -3px;
  display: none;
  width: 21px;
  height: 21px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #26212b;
  box-shadow: 0 4px 10px rgba(38, 33, 43, 0.18);
}

body.panda-app .entity-edit-mark::before {
  position: absolute;
  top: 6px;
  left: 6px;
  width: 7px;
  height: 2px;
  border-radius: 2px;
  background: #fff;
  content: "";
  transform: rotate(-42deg);
}

body.panda-app .entity-phone.is-profile-editing .entity-edit-mark {
  display: block;
}

body.panda-app .entity-phone[data-profile-surface] .entity-main-info {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 8px;
}

body.panda-app .entity-phone[data-profile-surface] .entity-name-row {
  grid-column: 1;
}

body.panda-app .entity-phone[data-profile-surface] .entity-profile-meta-line {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
  margin-top: 7px;
  white-space: nowrap;
}

body.panda-app .entity-phone[data-profile-surface] .entity-identity-proof {
  display: inline-grid;
  grid-template-columns: 14px minmax(0, auto);
  align-items: center;
  flex: 0 1 auto;
  gap: 4px;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  padding: 3px 6px 3px 3px;
  border: 0;
  border-radius: 999px;
  background: #eef8f4;
  color: #287b61;
  font-family: inherit;
}

body.panda-app .entity-phone[data-profile-surface] .entity-identity-proof.is-credential {
  background: #f2edff;
  color: #6d54ad;
}

body.panda-app .entity-phone[data-profile-surface] .entity-identity-proof.is-credential i {
  background: #8b6ed0;
}

body.panda-app .entity-phone[data-profile-surface] .entity-identity-proof i {
  display: grid;
  width: 14px;
  height: 14px;
  place-items: center;
  border-radius: 50%;
  background: #3bb187;
  color: #fff;
  font-size: 8px;
  font-style: normal;
  font-weight: 950;
}

body.panda-app .entity-phone[data-profile-surface] .entity-identity-proof span {
  overflow: hidden;
  color: inherit;
  font-size: 8.5px;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}


body.panda-app .entity-phone[data-profile-surface] .entity-profile-id {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  color: #aaa4b0;
  font-size: 8px;
  font-weight: 800;
  white-space: nowrap;
}

body.panda-app .entity-phone[data-profile-surface] [data-profile-signature] {
  grid-column: 1 / -1;
  margin-top: 4px;
  color: #8b8798;
  font-size: 9.5px;
  font-weight: 700;
}

body.panda-app .entity-phone.is-profile-editing [data-profile-name],
body.panda-app .entity-phone.is-profile-editing [data-profile-signature] {
  border-radius: 6px;
  outline: 1px dashed rgba(116, 91, 159, 0.34);
  outline-offset: 3px;
  cursor: text;
}

body.panda-app .entity-phone.is-profile-editing [data-profile-cover-edit],
body.panda-app .entity-phone.is-profile-editing [data-profile-avatar-edit],
body.panda-app .entity-phone.is-profile-editing [data-profile-subscription-edit],
body.panda-app .entity-phone.is-profile-editing [data-profile-connect-edit] {
  cursor: pointer;
}

body.panda-app .entity-phone.is-profile-editing [data-profile-cover-edit] {
  box-shadow: 0 0 0 2px rgba(119, 89, 173, 0.22), 0 16px 34px rgba(68, 49, 78, 0.13);
}

body.panda-app .entity-profile-stats {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 14px;
  overflow: hidden;
  border: 1px solid rgba(31, 27, 43, 0.07);
  border-radius: 15px;
  background: #faf9fc;
}

body.panda-app .entity-profile-stats button {
  display: grid;
  gap: 2px;
  min-width: 0;
  min-height: 46px;
  padding: 7px 4px;
  place-content: center;
  border: 0;
  background: transparent;
  color: #1f1b24;
  font-family: inherit;
}

body.panda-app .entity-profile-stats button + button {
  border-left: 1px solid rgba(31, 27, 43, 0.07);
}

body.panda-app .entity-profile-stats strong {
  font-size: 13px;
  font-weight: 950;
}

body.panda-app .entity-profile-stats span {
  color: #88818f;
  font-size: 8px;
  font-weight: 800;
}

body.panda-app .entity-phone[data-profile-surface] .entity-actions {
  margin-top: 10px;
}

body.panda-app .entity-phone[data-profile-surface] .entity-actions button {
  display: grid;
  align-content: center;
  min-height: 40px;
  height: auto;
  padding: 5px 4px;
}

body.panda-app .entity-phone[data-profile-surface] .entity-actions strong,
body.panda-app .entity-phone[data-profile-surface] .entity-actions small {
  display: block;
}

body.panda-app .entity-phone[data-profile-surface] .entity-actions strong {
  font-size: 10.5px;
}

body.panda-app .entity-phone[data-profile-surface] .entity-actions small {
  margin-top: 1px;
  color: #9a94a0;
  font-size: 6.8px;
  font-weight: 750;
}

body.panda-app .entity-phone[data-profile-surface] .entity-actions .primary small {
  color: #d84e7d;
}

body.panda-app .entity-phone[data-profile-surface] .entity-tabs-shell {
  display: block;
}

/* Shared direct-edit bottom sheet. */
body.panda-app .profile-content-sheet[hidden],
body.panda-app .settings-detail-sheet[hidden] {
  display: none !important;
}

body.panda-app .profile-content-sheet,
body.panda-app .settings-detail-sheet {
  position: fixed;
  z-index: 940;
  inset: 0;
  display: grid;
  align-items: end;
  animation: profileSheetFade 180ms ease both;
}

body.panda-app .profile-content-scrim,
body.panda-app .settings-detail-scrim {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(29, 25, 33, 0.28);
  backdrop-filter: blur(9px);
}

body.panda-app .profile-content-panel,
body.panda-app .settings-detail-panel {
  position: relative;
  z-index: 1;
  width: min(100%, 520px);
  max-height: min(78vh, 650px);
  margin: 0 auto;
  padding: 9px 20px calc(20px + env(safe-area-inset-bottom, 0px));
  overflow-y: auto;
  border-radius: 30px 30px 0 0;
  background: rgba(251, 250, 252, 0.98);
  box-shadow: 0 -24px 64px rgba(35, 28, 42, 0.2);
  animation: profileSheetUp 220ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

body.panda-app .profile-content-grabber,
body.panda-app .settings-detail-panel > i {
  display: block;
  width: 38px;
  height: 5px;
  margin: 0 auto 10px;
  border-radius: 999px;
  background: #d7d3da;
}

body.panda-app .profile-content-panel > header,
body.panda-app .settings-detail-panel > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 15px;
}

body.panda-app .profile-content-panel > header small,
body.panda-app .profile-content-panel > header h2,
body.panda-app .settings-detail-panel > header h2 {
  display: block;
  margin: 0;
}

body.panda-app .profile-content-panel > header small {
  margin-bottom: 3px;
  color: #9b6e17;
  font-size: 9px;
  font-weight: 850;
}

body.panda-app .profile-content-panel > header h2,
body.panda-app .settings-detail-panel > header h2 {
  color: #201b24;
  font-size: 19px;
  font-weight: 950;
}

body.panda-app .profile-content-panel > header button,
body.panda-app .settings-detail-panel > header button {
  min-width: 54px;
  min-height: 34px;
  padding: 0 13px;
  border: 0;
  border-radius: 999px;
  background: #eeeaf2;
  color: #38313e;
  font-family: inherit;
  font-size: 11px;
  font-weight: 900;
}

body.panda-app .profile-cover-presets {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}

body.panda-app .profile-cover-presets button {
  display: grid;
  gap: 7px;
  padding: 5px;
  border: 2px solid transparent;
  border-radius: 16px;
  background: transparent;
  color: #5c5562;
  font-family: inherit;
  font-size: 9px;
  font-weight: 850;
}

body.panda-app .profile-cover-presets button.is-selected {
  border-color: #6f55a4;
  background: #f2edf9;
}

body.panda-app .profile-cover-presets button i {
  display: block;
  width: 100%;
  aspect-ratio: 1.5;
  border-radius: 11px;
}

body.panda-app .profile-cover-presets .is-sunrise i { background: linear-gradient(135deg, #f8a5bf, #fbd5a8 47%, #9fc6ff); }
body.panda-app .profile-cover-presets .is-aurora i { background: linear-gradient(135deg, #8ee7dc, #a9b7ff 48%, #e5a4f2); }
body.panda-app .profile-cover-presets .is-dusk i { background: linear-gradient(135deg, #26213e, #7155a5 52%, #e18b8c); }
body.panda-app .profile-cover-presets .is-clean i { background: linear-gradient(135deg, #edeff4, #fff 50%, #d8e4f4); }

body.panda-app .profile-content-upload,
body.panda-app .profile-content-collaborator,
body.panda-app .profile-content-agent {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 60px;
  margin-top: 13px;
  padding: 12px 15px;
  border: 1px solid rgba(45, 38, 50, 0.08);
  border-radius: 18px;
  background: #fff;
  color: #241f28;
  font-family: inherit;
  text-align: left;
}

body.panda-app .profile-content-upload input { display: none; }
body.panda-app .profile-content-upload span,
body.panda-app .profile-content-upload strong,
body.panda-app .profile-content-upload small,
body.panda-app .profile-content-collaborator span,
body.panda-app .profile-content-collaborator strong,
body.panda-app .profile-content-collaborator small,
body.panda-app .profile-content-agent span,
body.panda-app .profile-content-agent strong,
body.panda-app .profile-content-agent small { display: block; }
body.panda-app .profile-content-upload strong,
body.panda-app .profile-content-collaborator strong,
body.panda-app .profile-content-agent strong { font-size: 12px; }
body.panda-app .profile-content-upload small,
body.panda-app .profile-content-collaborator small,
body.panda-app .profile-content-agent small { margin-top: 3px; color: #8e8794; font-size: 9px; font-weight: 700; line-height: 1.4; }
body.panda-app .profile-content-upload > b,
body.panda-app .profile-content-collaborator > b,
body.panda-app .profile-content-agent > b { font-size: 20px; }

body.panda-app .profile-content-adjust {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 60px;
  margin-top: 10px;
  padding: 12px 15px;
  border: 1px solid rgba(45, 38, 50, 0.08);
  border-radius: 18px;
  background: #fffaf0;
  color: #241f28;
  font-family: inherit;
  text-align: left;
}

body.panda-app .profile-content-adjust span,
body.panda-app .profile-content-adjust strong,
body.panda-app .profile-content-adjust small { display: block; }
body.panda-app .profile-content-adjust strong { font-size: 12px; }
body.panda-app .profile-content-adjust small { margin-top: 3px; color: #8e8794; font-size: 9px; font-weight: 700; line-height: 1.4; }
body.panda-app .profile-content-adjust > b { color: #b47613; font-size: 20px; }

body.panda-app .entity-cover.has-custom-cover .cover-sky { display: none; }

/* Shared avatar / cover cropper. Uploads are previewed here before the profile changes. */
body.panda-app .profile-crop-sheet[hidden] { display: none !important; }

body.panda-app .profile-crop-sheet {
  position: fixed;
  z-index: 980;
  inset: 0;
  display: grid;
  align-items: end;
  animation: profileSheetFade 180ms ease both;
}

body.panda-app .profile-crop-scrim {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(29, 25, 33, 0.36);
  backdrop-filter: blur(10px);
}

body.panda-app .profile-crop-panel {
  position: relative;
  z-index: 1;
  width: min(100%, 520px);
  max-height: 94vh;
  margin: 0 auto;
  padding: 20px 20px calc(20px + env(safe-area-inset-bottom, 0px));
  overflow-y: auto;
  border-radius: 30px 30px 0 0;
  background:
    radial-gradient(circle at 84% 4%, rgba(255, 202, 75, 0.2), transparent 28%),
    rgba(252, 251, 253, 0.99);
  box-shadow: 0 -22px 54px rgba(38, 29, 43, 0.18);
}

body.panda-app .profile-crop-panel > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

body.panda-app .profile-crop-panel > header small,
body.panda-app .profile-crop-panel > header h2 { display: block; margin: 0; }
body.panda-app .profile-crop-panel > header small { margin-bottom: 4px; color: #b47816; font-size: 9px; font-weight: 900; }
body.panda-app .profile-crop-panel > header h2 { color: #211c25; font-size: 20px; font-weight: 950; }

body.panda-app .profile-crop-panel > header button {
  display: grid;
  width: 36px;
  height: 36px;
  padding: 0;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: #f1eef3;
  color: #514a57;
  font-family: inherit;
  font-size: 22px;
  font-weight: 800;
  line-height: 1;
}

body.panda-app .profile-crop-stage {
  position: relative;
  width: 100%;
  overflow: hidden;
  border: 3px solid #ffc447;
  background: #e9e6ec;
  box-shadow: 0 15px 34px rgba(53, 43, 61, 0.13);
  cursor: grab;
  touch-action: none;
  user-select: none;
}

body.panda-app .profile-crop-stage.is-dragging { cursor: grabbing; }
body.panda-app .profile-crop-stage.is-avatar { width: min(100%, 286px); aspect-ratio: 1; margin: 0 auto; border-radius: 50%; }
body.panda-app .profile-crop-stage.is-cover { aspect-ratio: 12 / 5; border-radius: 20px; }

body.panda-app .profile-crop-stage > img {
  position: absolute;
  max-width: none;
  pointer-events: none;
  transform: translate(-50%, -50%);
  will-change: left, top, width, height;
}

body.panda-app .profile-crop-guide {
  position: absolute;
  z-index: 2;
  inset: 5px;
  border: 1px solid rgba(255, 255, 255, 0.86);
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(34, 29, 39, 0.12);
  pointer-events: none;
}

body.panda-app .profile-crop-guide::before,
body.panda-app .profile-crop-guide::after {
  position: absolute;
  background: rgba(255, 255, 255, 0.42);
  content: "";
}
body.panda-app .profile-crop-guide::before { top: 0; bottom: 0; left: 50%; width: 1px; }
body.panda-app .profile-crop-guide::after { top: 50%; right: 0; left: 0; height: 1px; }
body.panda-app .profile-crop-stage.is-avatar .profile-crop-guide::before,
body.panda-app .profile-crop-stage.is-avatar .profile-crop-guide::after { opacity: 0.55; }

body.panda-app .profile-crop-help {
  margin: 14px 2px 10px;
  color: #7f7885;
  font-size: 10px;
  line-height: 1.55;
  font-weight: 750;
  text-align: center;
}

body.panda-app .profile-crop-controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 11px 13px;
  border-radius: 17px;
  background: #f4f1f6;
}

body.panda-app .profile-crop-controls label {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  color: #5b5461;
  font-size: 10px;
  font-weight: 900;
}

body.panda-app .profile-crop-controls input { width: 100%; accent-color: #f5b83b; }
body.panda-app .profile-crop-controls button {
  min-width: 50px;
  min-height: 32px;
  border: 0;
  border-radius: 999px;
  background: #fff;
  color: #665d6b;
  font-family: inherit;
  font-size: 10px;
  font-weight: 900;
}

body.panda-app .profile-crop-panel > footer {
  display: grid;
  grid-template-columns: 1fr 1.45fr;
  gap: 10px;
  margin-top: 14px;
}

body.panda-app .profile-crop-panel > footer button {
  min-height: 46px;
  border: 1px solid rgba(42, 35, 47, 0.07);
  border-radius: 16px;
  background: #f2eff4;
  color: #5d5662;
  font-family: inherit;
  font-size: 12px;
  font-weight: 950;
}

body.panda-app .profile-crop-panel > footer button.primary {
  border-color: #ffc448;
  background: linear-gradient(135deg, #ffd766, #ffba37);
  color: #33230b;
  box-shadow: 0 10px 22px rgba(243, 174, 40, 0.24);
}

body.panda-app .profile-crop-panel > footer button:disabled { opacity: 0.45; }

body.panda-app .profile-content-collaborator {
  grid-template-columns: 42px minmax(0, 1fr) auto;
}

body.panda-app .profile-content-collaborator > i {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 14px;
  background: linear-gradient(135deg, #7354df, #df80c7);
  color: #fff;
  font-size: 10px;
  font-style: normal;
  font-weight: 950;
}

body.panda-app .profile-content-agent {
  margin-top: 18px;
  border: 0;
  background: #29232f;
  color: #fff;
}

body.panda-app .profile-content-agent small { color: rgba(255,255,255,.62); }

body.panda-app .profile-content-options {
  display: grid;
  gap: 8px;
}

body.panda-app .profile-content-option {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) 20px;
  align-items: center;
  gap: 10px;
  min-height: 50px;
  padding: 8px 13px;
  border: 1px solid rgba(45,38,50,.07);
  border-radius: 15px;
  background: #fff;
  color: #29232f;
  font-family: inherit;
  text-align: left;
}

body.panda-app .profile-content-option i {
  width: 18px;
  height: 18px;
  border: 2px solid #cbc5d0;
  border-radius: 50%;
}

body.panda-app .profile-content-option b { opacity: 0; }
body.panda-app .profile-content-option.is-selected { border-color: #7659ae; background: #f4effb; }
body.panda-app .profile-content-option.is-selected i { border: 5px solid #7659ae; }
body.panda-app .profile-content-option.is-selected b { color: #7659ae; opacity: 1; }

body.panda-app .profile-short-name-editor {
  display: grid;
  gap: 12px;
}

body.panda-app .profile-formal-name,
body.panda-app .profile-short-name-editor > label {
  display: grid;
  gap: 5px;
  padding: 14px;
  border: 1px solid rgba(45, 38, 50, 0.08);
  border-radius: 17px;
  background: #fff;
}

body.panda-app .profile-formal-name small,
body.panda-app .profile-short-name-editor > label > span small {
  display: block;
  color: #918a96;
  font-size: 9px;
  font-weight: 750;
}

body.panda-app .profile-formal-name strong,
body.panda-app .profile-short-name-editor > label > span strong {
  color: #241f28;
  font-size: 14px;
  font-weight: 900;
}

body.panda-app .profile-formal-name span {
  color: #918a96;
  font-size: 9px;
  font-weight: 700;
}

body.panda-app .profile-short-name-editor > label > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  margin-top: 5px;
  padding: 0 12px;
  border: 1.5px solid #ddd7e2;
  border-radius: 14px;
  background: #f8f6fa;
}

body.panda-app .profile-short-name-editor input {
  min-width: 0;
  height: 46px;
  border: 0;
  outline: 0;
  background: transparent;
  color: #211c25;
  font-family: inherit;
  font-size: 14px;
  font-weight: 850;
  line-height: 1;
}

body.panda-app .profile-short-name-editor input.is-invalid { color: #ce4257; }
body.panda-app .profile-short-name-editor em { color: #918a96; font-size: 10px; font-style: normal; font-weight: 800; }
body.panda-app .profile-short-name-editor > p { margin: -4px 4px 0; color: #ce4257; font-size: 9px; font-weight: 750; }

body.panda-app .profile-short-name-actions {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 9px;
}

body.panda-app .profile-short-name-actions button {
  min-height: 46px;
  border: 0;
  border-radius: 14px;
  background: #f0edf3;
  color: #4f4854;
  font-family: inherit;
  font-size: 11px;
  font-weight: 900;
}

body.panda-app .profile-short-name-actions button.primary {
  background: #ffc544;
  color: #1f1a21;
}

body.panda-app .profile-content-footnote {
  margin: 12px 3px 0;
  color: #918a96;
  font-size: 9px;
  line-height: 1.55;
}

body.panda-app .profile-metric-detail {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid rgba(45,38,50,.08);
  border-radius: 18px;
  background: #fff;
}

body.panda-app .profile-metric-detail div {
  display: grid;
  gap: 3px;
  min-height: 92px;
  padding: 15px 7px;
  align-content: center;
  text-align: center;
}

body.panda-app .profile-metric-detail div + div { border-left: 1px solid rgba(45,38,50,.08); }
body.panda-app .profile-metric-detail strong { font-size: 18px; }
body.panda-app .profile-metric-detail span { font-size: 10px; font-weight: 850; }
body.panda-app .profile-metric-detail small { color: #98919d; font-size: 8px; line-height: 1.35; }

/* Apple-like settings hierarchy: account first, then grouped global settings. */
body.panda-app .settings-phone {
  padding: 84px 16px 104px;
  background:
    radial-gradient(circle at 12% 3%, rgba(232, 220, 255, .72), transparent 30%),
    radial-gradient(circle at 92% 5%, rgba(255, 233, 181, .68), transparent 31%),
    #f4f3f7;
}

body.panda-app .panda-app-stage.is-secondary-shell .app-shell-top {
  right: 0;
  left: 0;
  width: min(calc(100% - 32px), 488px);
  margin-right: auto;
  margin-left: auto;
}

body.panda-app .settings-page {
  display: grid;
  gap: 15px;
}

body.panda-app .settings-account-card {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px;
  width: 100%;
  min-height: 92px;
  padding: 15px;
  border: 0;
  border-radius: 22px;
  background: rgba(255,255,255,.96);
  color: #1f1b24;
  box-shadow: 0 10px 28px rgba(44,37,51,.07);
  font-family: inherit;
  text-align: left;
}

body.panda-app .settings-account-card img {
  width: 58px;
  height: 58px;
  border: 2px solid #fff;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 7px 18px rgba(80,57,98,.16);
}

body.panda-app .settings-account-card span,
body.panda-app .settings-account-card strong,
body.panda-app .settings-account-card small,
body.panda-app .settings-account-card em { display: block; }
body.panda-app .settings-account-card strong { font-size: 17px; font-weight: 950; }
body.panda-app .settings-account-card small { margin-top: 3px; color: #6e6674; font-size: 9px; font-weight: 850; }
body.panda-app .settings-account-card em { margin-top: 4px; color: #99919f; font-size: 8px; font-style: normal; font-weight: 700; }
body.panda-app .settings-account-card > b { color: #aaa3ae; font-size: 20px; }

body.panda-app .settings-account-switch {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  width: 100%;
  margin-top: -2px;
  padding: 10px 15px;
  border: 0;
  border-radius: 0 0 18px 18px;
  background: rgba(247, 244, 252, 0.96);
  color: #2a2430;
  font-family: inherit;
  text-align: left;
}

body.panda-app .settings-account-switch strong,
body.panda-app .settings-account-switch small { display: block; }
body.panda-app .settings-account-switch strong { font-size: 10px; font-weight: 900; }
body.panda-app .settings-account-switch small { margin-top: 2px; color: #91899a; font-size: 8px; font-weight: 700; }
body.panda-app .settings-account-switch > b { color: #aaa3ae; font-size: 16px; }

/* Test-account sign in */
body.panda-app .panda-app-stage.is-login-shell .app-shell-top,
body.panda-app .panda-app-stage.is-login-shell .app-shell-bottom,
body.panda-app .panda-app-stage.is-login-shell .app-shell-indicator {
  display: none !important;
}

body.panda-app .login-phone {
  inset: 0;
  overflow-y: auto;
  padding: 48px 18px 24px;
  background:
    radial-gradient(circle at 92% 4%, rgba(255, 210, 82, 0.24), transparent 28%),
    radial-gradient(circle at 5% 26%, rgba(157, 125, 255, 0.16), transparent 33%),
    linear-gradient(180deg, #fffdf9 0%, #f8f6fc 100%);
}

body.panda-app .login-page {
  display: grid;
  gap: 18px;
  min-height: 100%;
  align-content: center;
}

body.panda-app .login-hero { padding: 0 4px; }
body.panda-app .login-brand-mark {
  position: relative;
  display: grid;
  width: 54px;
  height: 54px;
  place-items: center;
  border-radius: 18px;
  background: linear-gradient(145deg, #211b2a, #4a3a60);
  color: #fff;
  box-shadow: 0 14px 32px rgba(48, 37, 63, 0.18);
}
body.panda-app .login-brand-mark span { font-size: 13px; font-weight: 950; letter-spacing: -0.5px; }
body.panda-app .login-brand-mark i { position: absolute; right: -5px; top: -8px; color: #ffc340; font-size: 17px; font-style: normal; transform: rotate(8deg); }
body.panda-app .login-hero > small { display: block; margin-top: 18px; color: #8f6de7; font-size: 9px; font-weight: 900; letter-spacing: 0.06em; }
body.panda-app .login-hero h1 { margin: 5px 0 0; color: #1d1923; font-size: 27px; line-height: 1.08; letter-spacing: -0.04em; }
body.panda-app .login-hero p { margin: 8px 0 0; color: #85808c; font-size: 10px; font-weight: 700; line-height: 1.55; }

body.panda-app .login-account-list {
  overflow: hidden;
  border: 1px solid rgba(42, 35, 50, 0.07);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 18px 44px rgba(48, 39, 58, 0.09);
}

body.panda-app .login-account-list > button {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 76px;
  padding: 12px 14px;
  border: 0;
  background: transparent;
  color: #211c27;
  font-family: inherit;
  text-align: left;
}
body.panda-app .login-account-list > button + button { border-top: 1px solid rgba(42, 35, 50, 0.07); }
body.panda-app .login-account-list > button.is-current { background: linear-gradient(90deg, rgba(255, 196, 58, 0.12), rgba(139, 110, 208, 0.07)); }
body.panda-app .login-account-list > button > b { color: #aaa3b0; font-size: 19px; }

body.panda-app .login-account-avatar {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  overflow: hidden;
  border-radius: 15px;
  background: #f5eef9;
}
body.panda-app .login-account-avatar.is-organization { background: linear-gradient(145deg, #fff0f6, #eee6ff); }
body.panda-app .login-account-avatar.is-place { background: linear-gradient(145deg, #e7fbf3, #e8efff); }
body.panda-app .login-account-avatar.is-agent { background: linear-gradient(145deg, #fff4cd, #eee5ff); }
body.panda-app .login-account-avatar img { width: 100%; height: 100%; object-fit: cover; }
body.panda-app .login-account-avatar.is-organization img,
body.panda-app .login-account-avatar.is-place img,
body.panda-app .login-account-avatar.is-agent img { width: 34px; height: 34px; object-fit: contain; }

body.panda-app .login-account-copy,
body.panda-app .login-account-copy small,
body.panda-app .login-account-copy strong,
body.panda-app .login-account-copy em { display: block; min-width: 0; }
body.panda-app .login-account-copy small { color: #8a6cce; font-size: 8px; font-weight: 900; }
body.panda-app .login-account-copy strong { margin-top: 2px; overflow: hidden; font-size: 14px; font-weight: 950; text-overflow: ellipsis; white-space: nowrap; }
body.panda-app .login-account-copy em { margin-top: 3px; color: #918b98; font-size: 8px; font-style: normal; font-weight: 750; }

body.panda-app .login-agent-identity {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  padding: 12px 14px;
  border: 1px solid rgba(116, 85, 191, 0.13);
  border-radius: 18px;
  background: rgba(244, 240, 255, 0.82);
}
body.panda-app .login-agent-identity > i { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 13px; background: #8b6ed0; color: #fff; font-size: 10px; font-style: normal; font-weight: 950; }
body.panda-app .login-agent-identity span,
body.panda-app .login-agent-identity small,
body.panda-app .login-agent-identity strong,
body.panda-app .login-agent-identity em { display: block; min-width: 0; }
body.panda-app .login-agent-identity small { color: #8063c3; font-size: 8px; font-weight: 900; }
body.panda-app .login-agent-identity strong { margin-top: 2px; font-size: 11px; font-weight: 950; }
body.panda-app .login-agent-identity em { margin-top: 3px; color: #8f8798; font-size: 7.5px; font-style: normal; font-weight: 700; line-height: 1.35; }
body.panda-app .login-footnote { margin: -6px 0 0; color: #aaa4ae; font-size: 7.5px; font-weight: 700; text-align: center; }

/* Unified Panda Campus authentication */
body.panda-app .auth-phone {
  inset: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0;
  background: #fffdf8 url("./generated-assets/auth-campus-background-v2.png") center / cover no-repeat;
}

body.panda-app .auth-page {
  position: relative;
  display: flex;
  min-height: 100%;
  flex-direction: column;
  padding: 18px 18px 22px;
}

body.panda-app .auth-brand {
  position: relative;
  z-index: 3;
  display: grid;
  justify-items: center;
}

body.panda-app .auth-brand-crop {
  position: relative;
  width: 240px;
  height: 72px;
  overflow: hidden;
}

body.panda-app .auth-brand-crop img {
  position: absolute;
  top: -52px;
  left: -35px;
  width: 310px;
  max-width: none;
  mix-blend-mode: multiply;
}

body.panda-app .auth-brand p {
  margin: -4px 0 0;
  color: #55505a;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.14em;
}

body.panda-app .auth-panda {
  position: relative;
  z-index: 1;
  height: 188px;
  margin-top: 1px;
  overflow: hidden;
  pointer-events: none;
}

body.panda-app .auth-panda img {
  position: absolute;
  top: -14px;
  left: 50%;
  width: 250px;
  max-width: none;
  transform: translateX(-50%);
  filter: drop-shadow(0 18px 20px rgba(81, 58, 25, 0.14));
  mix-blend-mode: multiply;
}

body.panda-app .auth-panda.is-register {
  height: 112px;
  margin-top: -2px;
}

body.panda-app .auth-panda.is-register img {
  top: -28px;
  width: 184px;
}

body.panda-app .auth-panel {
  position: relative;
  z-index: 2;
  width: 100%;
  margin-top: -34px;
  padding: 20px 18px 17px;
  border: 1px solid rgba(42, 35, 27, 0.06);
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 24px 60px rgba(70, 52, 31, 0.14);
  backdrop-filter: blur(18px);
}

body.panda-app .auth-register-page .auth-panel { margin-top: -22px; }

body.panda-app .auth-panel-heading { text-align: center; }
body.panda-app .auth-panel-heading small { color: #8759dc; font-size: 8px; font-weight: 950; letter-spacing: 0.08em; }
body.panda-app .auth-panel-heading h1 { margin: 2px 0 0; color: #19171b; font-size: 23px; line-height: 1.15; letter-spacing: -0.04em; }
body.panda-app .auth-panel-heading p { margin: 5px 0 0; color: #918b94; font-size: 8.5px; font-weight: 700; }

body.panda-app .auth-form {
  display: grid;
  gap: 10px;
  margin-top: 15px;
}

body.panda-app .auth-field {
  display: grid;
  min-height: 50px;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 0 14px;
  border: 1px solid rgba(39, 35, 42, 0.07);
  border-radius: 17px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 8px 24px rgba(59, 49, 38, 0.07);
}

body.panda-app .auth-field:focus-within {
  border-color: rgba(136, 91, 225, 0.56);
  box-shadow: 0 0 0 3px rgba(139, 91, 231, 0.1), 0 8px 24px rgba(59, 49, 38, 0.07);
}

body.panda-app .auth-field > svg {
  width: 19px;
  fill: none;
  stroke: #252228;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

body.panda-app .auth-field input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #1d1a20;
  font: 800 12px/1.3 inherit;
}

body.panda-app .auth-field input::placeholder { color: #aaa5ad; font-weight: 650; }
body.panda-app .auth-field > button { padding: 7px 0 7px 11px; border: 0; background: transparent; color: #8759dc; font: 850 9px/1 inherit; }

body.panda-app .auth-form-options {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  color: #8f8992;
  font-size: 7.5px;
  font-weight: 700;
}

body.panda-app .auth-form-options > label { display: flex; min-width: 0; align-items: flex-start; gap: 6px; line-height: 1.45; }
body.panda-app .auth-form-options input { position: absolute; width: 1px; height: 1px; opacity: 0; }
body.panda-app .auth-form-options label > i { display: grid; width: 15px; height: 15px; flex: 0 0 auto; place-items: center; border: 1.5px solid #b7b1ba; border-radius: 50%; }
body.panda-app .auth-form-options input:checked + i { border-color: #ffb600; background: #ffbd19; }
body.panda-app .auth-form-options input:checked + i::after { content: "✓"; color: #171317; font-size: 10px; font-style: normal; font-weight: 950; }
body.panda-app .auth-form-options a { color: #8e5ee8; text-decoration: none; }
body.panda-app .auth-form-options > button { flex: 0 0 auto; padding: 0; border: 0; background: none; color: #8759dc; font: inherit; }
body.panda-app .auth-form-options.is-register { display: block; }

body.panda-app .auth-primary {
  min-height: 48px;
  border: 0;
  border-radius: 17px;
  background: linear-gradient(100deg, #ffb700, #ffd52a);
  color: #191515;
  box-shadow: 0 13px 28px rgba(232, 167, 0, 0.24);
  font: 950 13px/1 inherit;
}

body.panda-app .auth-primary:active { transform: scale(0.985); }
body.panda-app .auth-error { margin: -2px 2px 0; color: #e14949; font-size: 8px; font-weight: 800; }
body.panda-app .auth-error.is-note { color: #7950c8; }
body.panda-app .auth-switch { margin-top: 13px; color: #8d8790; font-size: 9px; font-weight: 750; text-align: center; }
body.panda-app .auth-switch a { margin-left: 5px; color: #8759dc; font-weight: 950; text-decoration: none; }

body.panda-app .auth-account-types {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
  margin: 0;
  padding: 0;
  border: 0;
}

body.panda-app .auth-account-types legend { margin-bottom: 7px; color: #77717c; font-size: 8px; font-weight: 850; }
body.panda-app .auth-account-types input { position: absolute; opacity: 0; }
body.panda-app .auth-account-types label > span { display: grid; min-height: 48px; place-items: center; align-content: center; gap: 2px; border: 1px solid rgba(39, 35, 42, 0.07); border-radius: 14px; background: rgba(250, 249, 251, 0.94); color: #77717d; }
body.panda-app .auth-account-types i { font-size: 10px; font-style: normal; font-weight: 950; }
body.panda-app .auth-account-types strong { font-size: 8px; font-weight: 900; }
body.panda-app .auth-account-types input:checked + span { border-color: #9c73ec; background: linear-gradient(145deg, #fff8d9, #f0e9ff); color: #251e2c; box-shadow: 0 7px 18px rgba(120, 77, 202, 0.14); }

body.panda-app .auth-register-success { text-align: center; }
body.panda-app .auth-register-success > i { display: grid; width: 54px; height: 54px; margin: 0 auto 10px; place-items: center; border-radius: 50%; background: #f0eaff; color: #8759dc; font-size: 25px; font-style: normal; font-weight: 950; }
body.panda-app .auth-register-success > small { color: #8759dc; font-size: 9px; font-weight: 950; }
body.panda-app .auth-register-success h1 { margin: 4px 0 14px; font-size: 22px; }
body.panda-app .auth-register-success > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 16px; border-radius: 17px; background: #f7f5f8; }
body.panda-app .auth-register-success > div strong { font-size: 18px; letter-spacing: 0.04em; }
body.panda-app .auth-register-success > div button { border: 0; background: transparent; color: #8759dc; font: 900 9px/1 inherit; }
body.panda-app .auth-register-success > p { margin: 10px 0 18px; color: #8d8691; font-size: 9px; font-weight: 750; }
body.panda-app .auth-register-success .auth-primary { width: 100%; }

/* Unified Panda Campus authentication: real bubble controls over the campus art. */
body.panda-app .auth-login-page {
  display: block;
  width: 100%;
  min-height: 100%;
  padding: 0;
  overflow: hidden;
  background: #fffdfa;
}

body.panda-app .auth-campus-canvas {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 1;
  pointer-events: none;
  user-select: none;
}

body.panda-app .auth-entry-brand {
  position: absolute;
  top: 24px;
  left: 50%;
  z-index: 3;
  display: grid;
  justify-items: center;
  transform: translateX(-50%);
  pointer-events: none;
}

body.panda-app .auth-login-page:not(.is-account-mode) > .auth-entry-brand,
body.panda-app .auth-login-page:not(.is-account-mode) > .auth-entry-panda {
  visibility: hidden;
}

body.panda-app .auth-entry-brand .auth-brand-crop {
  width: 154px;
  height: 44px;
}

body.panda-app .auth-entry-brand .auth-brand-crop img {
  top: -33px;
  left: -22px;
  width: 200px;
}

body.panda-app .auth-entry-brand p {
  margin: -3px 0 0;
  color: #4d4755;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: 0.14em;
}

body.panda-app .auth-entry-panda {
  position: absolute;
  top: 92px;
  left: 50%;
  z-index: 2;
  width: 310px;
  height: 310px;
  overflow: hidden;
  transform: translateX(-50%);
  pointer-events: none;
}

body.panda-app .auth-entry-panda img {
  position: absolute;
  top: -4px;
  left: 50%;
  width: 312px;
  max-width: none;
  transform: translateX(-50%);
  filter: drop-shadow(0 20px 24px rgba(73, 51, 30, 0.14));
  mix-blend-mode: multiply;
}

body.panda-app .auth-login-choices {
  position: absolute;
  right: 16px;
  bottom: 10px;
  left: 16px;
  z-index: 4;
  display: grid;
  min-height: 357px;
  gap: 8px;
  padding: 41px 18px 16px;
  border: 1px solid rgba(91, 68, 130, 0.09);
  border-radius: 32px;
  background:
    radial-gradient(circle at 95% 0%, rgba(151, 110, 240, 0.13), transparent 35%),
    rgba(255, 255, 255, 0.985);
  box-shadow: 0 24px 70px rgba(73, 51, 32, 0.17);
  backdrop-filter: blur(24px);
}

body.panda-app .auth-choice-heading {
  text-align: center;
}

body.panda-app .auth-choice-heading small {
  color: #8d62e6;
  font-size: 8px;
  font-weight: 950;
  letter-spacing: 0.08em;
}

body.panda-app .auth-choice-heading h1 {
  margin: 2px 0 0;
  color: #18151e;
  font-size: 22px;
  line-height: 1.1;
  letter-spacing: -0.035em;
}

body.panda-app .auth-choice-heading p {
  margin: 4px 0 0;
  color: #918b99;
  font-size: 8px;
  font-weight: 750;
}

body.panda-app .auth-choice-stack {
  display: grid;
  gap: 8px;
}

body.panda-app .auth-choice-bubble {
  display: grid;
  min-height: 52px;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 6px 17px 6px 8px;
  border: 0;
  border-radius: 19px;
  background: rgba(255, 255, 255, 0.96);
  color: #211d27;
  box-shadow: 0 8px 22px rgba(58, 44, 74, 0.08);
  text-align: left;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

body.panda-app .auth-choice-bubble > i {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 13px;
  background: #f4f0fb;
  color: #7851d2;
  font-size: 11px;
  font-style: normal;
  font-weight: 950;
}

body.panda-app .auth-choice-bubble > i svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

body.panda-app .auth-choice-bubble > span {
  display: grid;
  gap: 2px;
}

body.panda-app .auth-choice-bubble strong { font-size: 13px; font-weight: 950; }
body.panda-app .auth-choice-bubble small,
body.panda-app .auth-choice-bubble > b { display: none; }

body.panda-app .auth-choice-bubble.is-primary {
  background: linear-gradient(105deg, #ffb80d, #ffd84a);
  color: #211a0f;
  box-shadow: 0 12px 26px rgba(236, 172, 0, 0.23);
}

body.panda-app .auth-choice-bubble.is-primary > i {
  background: rgba(255, 255, 255, 0.72);
  color: #231c13;
}

body.panda-app .auth-choice-bubble.is-primary small,
body.panda-app .auth-choice-bubble.is-primary > b { color: rgba(43, 32, 17, 0.62); }

body.panda-app .auth-choice-bubble.is-purple {
  background: linear-gradient(105deg, #f5f0ff, #ece4ff);
  box-shadow: 0 10px 24px rgba(119, 79, 207, 0.12);
}

body.panda-app .auth-choice-bubble > i.auth-choice-original-icon {
  display: block;
  overflow: hidden;
  border: 0;
  border-radius: 13px;
  background-color: transparent;
  background-image: url("./original-assets/auth-login-method-icons-original.png?v=original-1");
  background-repeat: no-repeat;
  background-size: 250.8% 250.8%;
  box-shadow: 0 5px 13px rgba(104, 65, 186, 0.12);
}

body.panda-app .auth-choice-bubble > i.auth-choice-original-icon.is-account {
  background-position: 12.6% 13.4%;
}

body.panda-app .auth-choice-bubble > i.auth-choice-original-icon.is-mobile {
  background-position: 87.6% 13.4%;
}

body.panda-app .auth-choice-bubble > i.auth-choice-original-icon.is-wechat {
  background-position: 50.4% 87.6%;
}

body.panda-app .auth-choice-bubble:active {
  transform: scale(0.988);
}

body.panda-app .auth-reference-consent {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  color: #8c8593;
  font-size: 7.5px;
  font-weight: 700;
  line-height: 1.45;
  cursor: pointer;
}

body.panda-app .auth-reference-consent input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

body.panda-app .auth-reference-consent > i {
  display: grid;
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
  place-items: center;
  border: 1.5px solid #b9b1c4;
  border-radius: 50%;
}

body.panda-app .auth-reference-consent input:checked + i {
  background: #ffbd12;
  box-shadow: 0 0 0 2px #fff, 0 4px 10px rgba(229, 162, 0, 0.28);
}

body.panda-app .auth-reference-consent input:checked + i::after {
  content: "✓";
  color: #181510;
  font-size: 10px;
  font-style: normal;
  font-weight: 950;
}

body.panda-app .auth-reference-consent a {
  color: #845bd9;
  text-decoration: none;
}

body.panda-app .auth-reference-register {
  margin-top: 2px;
  padding: 10px 0 0;
  border-top: 1px solid rgba(68, 57, 78, 0.08);
  color: #8f8992;
  font-size: 9px;
  font-weight: 750;
  text-align: center;
  text-decoration: none;
}

body.panda-app .auth-reference-register strong {
  margin-left: 5px;
  color: #8759dc;
  font-weight: 950;
}

body.panda-app .auth-choice-error {
  margin: 0;
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  color: #d64a3b;
  box-shadow: 0 8px 20px rgba(81, 60, 28, 0.12);
  font-size: 9px;
  font-weight: 850;
  text-align: center;
}

body.panda-app .auth-choice-error.is-note {
  color: #7548c9;
  background: rgba(245, 239, 255, 0.97);
  border-color: rgba(133, 86, 220, 0.24);
}

body.panda-app .auth-login-page > .auth-brand,
body.panda-app .auth-login-page > .auth-panda,
body.panda-app .auth-login-page > .auth-panel { display: none; }

body.panda-app .auth-login-page.is-account-mode {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  padding: 22px 18px 24px;
}

body.panda-app .auth-login-page.is-account-mode .auth-entry-brand,
body.panda-app .auth-login-page.is-account-mode .auth-entry-panda,
body.panda-app .auth-login-page.is-account-mode .auth-login-choices { display: none; }
body.panda-app .auth-login-page.is-account-mode > .auth-brand { display: grid; }
body.panda-app .auth-login-page.is-account-mode > .auth-panda { display: block; }
body.panda-app .auth-login-page.is-account-mode > .auth-panel { display: block; }

body.panda-app .auth-login-page.is-account-mode > .auth-brand,
body.panda-app .auth-login-page.is-account-mode > .auth-panda {
  visibility: hidden;
}

body.panda-app .auth-login-page.is-account-mode > .auth-brand .auth-brand-crop {
  width: 170px;
  height: 51px;
}

body.panda-app .auth-login-page.is-account-mode > .auth-brand .auth-brand-crop img {
  top: -37px;
  left: -25px;
  width: 220px;
}

body.panda-app .auth-login-page.is-account-mode > .auth-panda {
  height: 205px;
}

body.panda-app .auth-login-page.is-account-mode > .auth-panda img {
  width: 266px;
}

body.panda-app .auth-login-page.is-account-mode > .auth-panel {
  min-height: 470px;
  margin-top: -42px;
  background:
    radial-gradient(circle at 100% 0%, rgba(151, 110, 240, 0.11), transparent 34%),
    rgba(255, 255, 255, 0.995);
}

body.panda-app .auth-panel [hidden] {
  display: none !important;
}

body.panda-app .auth-flow-hint {
  margin: -1px 3px 1px;
  color: #7c58c4;
  font-size: 7.5px;
  font-weight: 750;
  line-height: 1.45;
  text-align: center;
}

body.panda-app .auth-wechat-flow {
  display: grid;
  justify-items: center;
  gap: 10px;
  margin-top: 17px;
  padding: 20px 16px 4px;
  text-align: center;
}

body.panda-app .auth-wechat-mark {
  display: grid;
  width: 70px;
  height: 70px;
  place-items: center;
  border-radius: 24px;
  background: linear-gradient(145deg, #f8f4ff, #eee5ff);
  color: #8156d7;
  box-shadow: 0 14px 30px rgba(115, 76, 186, 0.14);
}

body.panda-app .auth-wechat-mark svg {
  width: 37px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

body.panda-app .auth-wechat-flow > strong { color: #211c26; font-size: 15px; font-weight: 950; }
body.panda-app .auth-wechat-flow > p:not(.auth-error) { margin: 0; color: #817987; font-size: 8.5px; font-weight: 700; line-height: 1.65; }
body.panda-app .auth-wechat-flow .auth-primary { width: 100%; margin-top: 4px; }

body.panda-app .auth-mode-back {
  position: absolute;
  top: 15px;
  left: 15px;
  display: grid;
  width: 32px;
  height: 32px;
  padding: 0 0 2px;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: #f7f6f8;
  color: #1b181e;
  font: 500 30px/1 inherit;
}

body.panda-app .auth-login-page.is-account-mode .auth-form-options { justify-content: flex-end; }

body.panda-app .auth-test-accounts {
  display: grid;
  gap: 7px;
  padding: 10px;
  border: 1px solid rgba(126, 87, 202, 0.1);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(255, 248, 220, 0.78), rgba(241, 235, 255, 0.78));
}

body.panda-app .auth-test-accounts > small {
  color: #817889;
  font-size: 7.5px;
  font-weight: 800;
  text-align: center;
}

body.panda-app .auth-test-accounts > div {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

body.panda-app .auth-test-accounts button {
  min-height: 29px;
  padding: 0 4px;
  border: 0;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.86);
  color: #675b71;
  box-shadow: 0 4px 10px rgba(76, 53, 103, 0.07);
  font: 850 8px/1 inherit;
}

body.panda-app .auth-test-accounts button:active {
  background: #8c61e3;
  color: #fff;
  transform: scale(0.97);
}

/* Registration continues the same campus, panda and rounded-sheet language. */
body.panda-app .auth-register-page {
  --register-sheet-top: 376px;
  display: block;
  min-height: 1040px;
  padding: 20px 18px 30px;
}

body.panda-app .auth-register-page > .auth-campus-canvas {
  display: none;
}

body.panda-app .auth-register-page > .auth-brand,
body.panda-app .auth-register-page > .auth-panda {
  visibility: visible;
}

body.panda-app .auth-register-page > .auth-brand {
  position: absolute;
  top: 25px;
  left: 50%;
  width: 206px;
  min-height: 0;
  justify-content: center;
  transform: translateX(-50%);
}

body.panda-app .auth-register-page > .auth-brand .auth-brand-crop {
  width: 190px;
  height: 95px;
  overflow: visible;
}

body.panda-app .auth-register-page > .auth-brand .auth-brand-crop img {
  position: static;
  width: 190px;
  height: auto;
  mix-blend-mode: normal;
}

body.panda-app .auth-register-page > .auth-brand p {
  margin-top: -5px;
  color: #4e4852;
  font-size: 8.5px;
}

body.panda-app .auth-register-page > .auth-panda.is-register {
  position: absolute;
  top: 142px;
  left: 0;
  right: 0;
  z-index: 3;
  height: 234px;
  margin-top: 0;
  overflow: visible;
}

body.panda-app .auth-register-page > .auth-panda.is-register img {
  top: 0;
  width: 300px;
  mix-blend-mode: normal;
}

body.panda-app .auth-register-page > .auth-panel {
  margin-top: calc(var(--register-sheet-top) - 20px);
  padding: 30px 20px 20px;
  border-radius: 38px 38px 30px 30px;
  background:
    radial-gradient(circle at 100% 0%, rgba(151, 110, 240, 0.12), transparent 30%),
    rgba(255, 255, 255, 0.99);
  box-shadow: 0 24px 64px rgba(74, 55, 31, 0.16);
}

body.panda-app .auth-register-page > .auth-panel.is-complete {
  min-height: 560px;
  background: #fff;
  backdrop-filter: none;
  transform: translateZ(0);
}

body.panda-app .auth-register-page .auth-panel-heading small {
  font-size: 9px;
}

body.panda-app .auth-register-page .auth-panel-heading h1 {
  margin-top: 4px;
  font-size: 26px;
}

body.panda-app .auth-register-page .auth-panel-heading p {
  font-size: 9px;
}

body.panda-app .auth-register-page .auth-register-form {
  gap: 11px;
  margin-top: 17px;
}

body.panda-app .auth-register-page .auth-account-types label > span {
  min-height: 54px;
  border-radius: 17px;
}

body.panda-app .auth-register-page .auth-field {
  min-height: 54px;
  border-radius: 19px;
}

body.panda-app .auth-register-page .auth-primary {
  min-height: 52px;
  border-radius: 19px;
}

body.panda-app .auth-register-back {
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 8;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  color: #171419;
  box-shadow: 0 8px 24px rgba(73, 54, 30, 0.1);
  font: 500 32px/1 inherit;
  text-decoration: none;
}

body.panda-app .sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Agent account developer console */
body.panda-app .agent-console-phone {
  inset: 0;
  overflow-y: auto;
  padding: 94px 18px 112px;
  background:
    radial-gradient(circle at 92% 0%, rgba(255, 200, 63, 0.2), transparent 28%),
    radial-gradient(circle at 0% 28%, rgba(130, 96, 223, 0.14), transparent 30%),
    #f7f7fa;
}

body.panda-app .agent-console-page { display: grid; gap: 14px; }
body.panda-app .agent-console-header {
  position: sticky;
  z-index: 5;
  top: 0;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 42px;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border: 1px solid rgba(36, 30, 42, 0.06);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 12px 32px rgba(45, 38, 55, 0.08);
  backdrop-filter: blur(18px);
}
body.panda-app .agent-console-header > a,
body.panda-app .agent-console-header > button {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 0;
  border-radius: 15px;
  background: #f3f1f6;
  color: #201b27;
  font: 900 20px/1 inherit;
  text-decoration: none;
}
body.panda-app .agent-console-header > button { font-size: 12px; letter-spacing: 1px; }
body.panda-app .agent-console-header span,
body.panda-app .agent-console-header small,
body.panda-app .agent-console-header strong,
body.panda-app .agent-console-header em { display: block; min-width: 0; }
body.panda-app .agent-console-header small { color: #867e8e; font-size: 8px; font-weight: 800; }
body.panda-app .agent-console-header strong { margin-top: 1px; font-size: 15px; font-weight: 950; }
body.panda-app .agent-console-header em { margin-top: 1px; color: #38a76c; font-size: 8px; font-style: normal; font-weight: 850; }

body.panda-app .agent-console-summary {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  padding: 18px;
  overflow: hidden;
  border-radius: 26px;
  background: linear-gradient(135deg, #251e2f 0%, #493a63 58%, #7a5bd2 100%);
  color: #fff;
  box-shadow: 0 18px 40px rgba(54, 41, 73, 0.2);
}
body.panda-app .agent-console-avatar { position: relative; display: grid; width: 72px; height: 72px; place-items: end center; overflow: hidden; border-radius: 23px; background: linear-gradient(145deg, #ffe388, #d9c7ff); }
body.panda-app .agent-console-avatar img { width: 65px; height: 65px; object-fit: contain; }
body.panda-app .agent-console-avatar i { position: absolute; right: 7px; bottom: 7px; width: 10px; height: 10px; border: 2px solid #fff; border-radius: 50%; background: #37d47c; }
body.panda-app .agent-console-summary small { color: #d7c8ff; font-size: 8px; font-weight: 900; }
body.panda-app .agent-console-summary h1 { margin: 5px 0 0; font-size: 17px; line-height: 1.2; letter-spacing: -0.03em; }
body.panda-app .agent-console-summary p { margin: 8px 0 0; color: rgba(255,255,255,.7); font-size: 8px; font-weight: 650; line-height: 1.55; }

body.panda-app .agent-console-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid rgba(39, 33, 45, 0.06);
  border-radius: 22px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 10px 28px rgba(45,38,55,.06);
}
body.panda-app .agent-console-metrics article { min-width: 0; padding: 13px 7px; text-align: center; }
body.panda-app .agent-console-metrics article + article { border-left: 1px solid rgba(40,34,46,.065); }
body.panda-app .agent-console-metrics strong,
body.panda-app .agent-console-metrics span,
body.panda-app .agent-console-metrics em { display: block; }
body.panda-app .agent-console-metrics strong { font-size: 16px; font-weight: 950; letter-spacing: -0.04em; }
body.panda-app .agent-console-metrics span { margin-top: 3px; color: #76707d; font-size: 7px; font-weight: 850; }
body.panda-app .agent-console-metrics em { margin-top: 3px; color: #8a6ce2; font-size: 6.5px; font-style: normal; font-weight: 800; }

body.panda-app .agent-console-panel,
body.panda-app .agent-console-health {
  padding: 16px;
  border: 1px solid rgba(39, 33, 45, 0.06);
  border-radius: 24px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 10px 28px rgba(45,38,55,.055);
}
body.panda-app .agent-console-panel > header,
body.panda-app .agent-console-health > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
body.panda-app .agent-console-panel header small { color: #8b6ed2; font-size: 7px; font-weight: 900; }
body.panda-app .agent-console-panel h2,
body.panda-app .agent-console-health h2 { margin: 2px 0 0; font-size: 15px; font-weight: 950; }
body.panda-app .agent-console-panel header button { border: 0; background: transparent; color: #8a8391; font: 850 8px/1 inherit; }
body.panda-app .agent-console-panel > article { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 12px 0; }
body.panda-app .agent-console-panel > article + article { border-top: 1px solid rgba(39,33,45,.065); }
body.panda-app .agent-console-panel article > i { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 11px; color: #fff; font-size: 9px; font-style: normal; font-weight: 950; }
body.panda-app .agent-console-panel article > i.is-purple { background: #8063df; }
body.panda-app .agent-console-panel article > i.is-blue { background: #438be1; }
body.panda-app .agent-console-panel article > i.is-green { background: #39a876; }
body.panda-app .agent-console-panel article span,
body.panda-app .agent-console-panel article strong,
body.panda-app .agent-console-panel article small { display: block; min-width: 0; }
body.panda-app .agent-console-panel article strong { font-size: 10px; font-weight: 920; }
body.panda-app .agent-console-panel article small { margin-top: 3px; overflow: hidden; color: #8e8794; font-size: 7px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
body.panda-app .agent-console-panel article > em { padding: 5px 7px; border-radius: 999px; background: #f1edf8; color: #7658c8; font-size: 7px; font-style: normal; font-weight: 900; }

body.panda-app .agent-console-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
body.panda-app .agent-console-grid > button { display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 8px; min-height: 66px; padding: 10px; border: 1px solid rgba(39,33,45,.06); border-radius: 19px; background: rgba(255,255,255,.92); color: #251f2b; font-family: inherit; text-align: left; box-shadow: 0 8px 24px rgba(45,38,55,.045); }
body.panda-app .agent-console-grid > button > i { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 11px; background: #eee8fa; color: #6f4fc7; font-size: 13px; font-style: normal; font-weight: 950; }
body.panda-app .agent-console-grid strong,
body.panda-app .agent-console-grid small { display: block; }
body.panda-app .agent-console-grid strong { font-size: 9px; font-weight: 920; }
body.panda-app .agent-console-grid small { margin-top: 3px; color: #918a97; font-size: 7px; font-weight: 700; }
body.panda-app .agent-console-grid b { color: #aaa3b0; font-size: 13px; }

body.panda-app .agent-console-health header span { display: flex; align-items: center; gap: 5px; color: #35a56d; font-size: 8px; font-weight: 850; }
body.panda-app .agent-console-health header span i { width: 7px; height: 7px; border-radius: 50%; background: #38c97b; box-shadow: 0 0 0 4px rgba(56,201,123,.12); }
body.panda-app .agent-console-health > div { display: flex; align-items: center; justify-content: space-between; padding-top: 11px; color: #817a87; font-size: 8px; font-weight: 750; }
body.panda-app .agent-console-health > div strong { color: #2a242f; font-size: 8px; }

body.panda-app .settings-group {
  overflow: hidden;
  border-radius: 20px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 8px 24px rgba(44,37,51,.055);
}

body.panda-app .settings-group > button,
body.panda-app .settings-info-list > button {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  width: 100%;
  min-height: 56px;
  padding: 9px 13px;
  border: 0;
  background: transparent;
  color: #231e27;
  font-family: inherit;
  text-align: left;
}

body.panda-app .settings-group > button + button,
body.panda-app .settings-info-list > button + button {
  border-top: 1px solid rgba(45,38,50,.075);
}

body.panda-app .settings-icon {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 8px;
  color: #fff;
  font-size: 10px;
  font-style: normal;
  font-weight: 950;
}

body.panda-app .settings-icon.is-blue { background: #3687ed; }
body.panda-app .settings-icon.is-green { background: #35aa66; }
body.panda-app .settings-icon.is-violet { background: #8061e8; }
body.panda-app .settings-icon.is-gray { background: #7d7b84; }
body.panda-app .settings-icon.is-pink { background: #ed5a98; }
body.panda-app .settings-icon.is-orange { background: #ed9a32; }
body.panda-app .settings-icon.is-red { background: #e85252; }
body.panda-app .settings-icon.is-cyan { background: #37a9c6; }
body.panda-app .settings-icon.is-indigo { background: #5765cf; }

body.panda-app .settings-group span,
body.panda-app .settings-group strong,
body.panda-app .settings-group small,
body.panda-app .settings-info-list span,
body.panda-app .settings-info-list strong,
body.panda-app .settings-info-list small { display: block; }
body.panda-app .settings-group strong,
body.panda-app .settings-info-list strong { font-size: 11px; font-weight: 900; }
body.panda-app .settings-group small,
body.panda-app .settings-info-list small { margin-top: 3px; color: #928b97; font-size: 8px; font-weight: 700; line-height: 1.35; }
body.panda-app .settings-group > button > b,
body.panda-app .settings-info-list > button > b { color: #aaa3ae; font-size: 10px; font-weight: 850; }

body.panda-app .settings-account-note {
  margin: 0 5px 10px;
  color: #918a96;
  font-size: 8px;
  line-height: 1.55;
  text-align: center;
}

body.panda-app .settings-account-detail {
  display: grid;
  justify-items: center;
  padding: 4px 0 14px;
  text-align: center;
}

body.panda-app .settings-account-detail > img {
  width: 68px;
  height: 68px;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 9px 22px rgba(75,55,88,.18);
}

body.panda-app .settings-account-detail > strong { margin-top: 9px; font-size: 19px; }
body.panda-app .settings-account-detail > span { margin-top: 2px; color: #88808d; font-size: 9px; font-weight: 800; }
body.panda-app .settings-account-detail > p { margin: 9px 0 0; padding: 5px 9px; border-radius: 999px; background: #eaf8f2; color: #268261; font-size: 8px; font-weight: 850; }

body.panda-app .settings-account-detail > button {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2px 12px;
  width: 100%;
  margin-top: 15px;
  padding: 11px 13px;
  border: 1px solid rgba(45,38,50,.08);
  border-radius: 15px;
  background: #fff;
  color: #241f28;
  font-family: inherit;
  text-align: left;
}

body.panda-app .settings-account-detail > button small,
body.panda-app .settings-account-detail > button b { display: block; }
body.panda-app .settings-account-detail > button small { color: #968f9b; font-size: 8px; }
body.panda-app .settings-account-detail > button b { grid-column: 1; font-size: 11px; }
body.panda-app .settings-account-detail > button em { grid-column: 2; grid-row: 1 / 3; align-self: center; color: #6f51b1; font-size: 9px; font-style: normal; font-weight: 850; }

body.panda-app .settings-info-list {
  overflow: hidden;
  border: 1px solid rgba(45,38,50,.075);
  border-radius: 17px;
  background: #fff;
}

body.panda-app .settings-info-list > button {
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 54px;
}

body.panda-app .settings-verification-card {
  display: grid;
  grid-template-columns: 44px minmax(0,1fr);
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  padding: 14px;
  border-radius: 18px;
  background: linear-gradient(145deg, #e9f8f1, #f7fbf9);
  color: #286e59;
}

body.panda-app .settings-verification-card > i {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 50%;
  background: #39ac82;
  color: #fff;
  font-size: 20px;
  font-style: normal;
}

body.panda-app .settings-verification-card strong,
body.panda-app .settings-verification-card small { display: block; }
body.panda-app .settings-verification-card strong { font-size: 12px; }
body.panda-app .settings-verification-card small { margin-top: 4px; color: #6c8f83; font-size: 8px; line-height: 1.45; }

@media (max-width: 400px) {
  body.panda-app .entity-phone[data-profile-surface] .entity-identity-card { margin-right: 19px; margin-left: 19px; }
  body.panda-app .entity-phone[data-profile-surface] .entity-profile-id { font-size: 7px; }
  body.panda-app .profile-content-panel,
  body.panda-app .settings-detail-panel { padding-right: 17px; padding-left: 17px; }
}

/* Lightweight flomo-style memo composer: write first, tools stay quiet. */
body.panda-app .schedule-phone.schedule-v2 .schedule-memo-composer {
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(45, 39, 51, 0.08);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 8px 22px rgba(49, 38, 61, 0.055);
}

body.panda-app .schedule-phone.schedule-v2 .schedule-memo-composer textarea {
  min-height: 102px;
  margin: 0;
  padding: 17px 17px 12px;
  color: #2d2831;
  font-size: 14px;
  line-height: 1.6;
  font-weight: 650;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-memo-composer textarea.is-emphasis {
  font-size: 18px;
  line-height: 1.45;
  font-weight: 850;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-memo-composer textarea::placeholder {
  color: #aaa4ae;
  font-weight: 650;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-memo-composer > footer.schedule-memo-toolbar {
  min-height: 48px;
  padding: 6px 8px 6px 10px;
  border-top: 1px solid rgba(45, 39, 51, 0.07);
  background: rgba(250, 249, 251, 0.9);
}

body.panda-app .schedule-phone.schedule-v2 .schedule-memo-toolbar-tools {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  gap: 1px;
  min-width: 0;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-memo-toolbar-tools > i {
  width: 1px;
  height: 19px;
  margin: 0 3px;
  background: rgba(45, 39, 51, 0.1);
}

body.panda-app .schedule-phone.schedule-v2 .schedule-memo-composer .schedule-memo-toolbar-tools button {
  display: grid;
  width: 31px;
  min-width: 31px;
  min-height: 31px;
  height: 31px;
  padding: 0;
  place-items: center;
  border-radius: 9px;
  background: transparent;
  color: #625d67;
  font-size: 16px;
  line-height: 1;
  font-weight: 750;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-memo-composer .schedule-memo-toolbar-tools button[aria-pressed="true"] {
  background: #eee9f8;
  color: #7455c6;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-memo-toolbar-tools button svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-memo-composer button.primary {
  width: 38px;
  min-width: 38px;
  min-height: 34px;
  height: 34px;
  border-radius: 10px;
  background: linear-gradient(145deg, #ffca4c, #f5ad20);
  color: #fff;
  box-shadow: 0 6px 14px rgba(238, 166, 28, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.38);
}

body.panda-app .schedule-phone.schedule-v2 .schedule-memo-composer button.primary svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-memo-attachment-preview {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0 12px 8px;
  padding: 7px 8px 7px 10px;
  border-radius: 10px;
  background: #f5f2f8;
  color: #756d7d;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-memo-attachment-preview[hidden] {
  display: none !important;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-memo-attachment-preview span {
  flex: 0 0 auto;
  color: #8b6bd9;
  font-size: 9px;
  font-weight: 900;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-memo-attachment-preview strong {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-memo-composer .schedule-memo-attachment-preview button {
  width: 24px;
  min-width: 24px;
  min-height: 24px;
  height: 24px;
  padding: 0;
  border-radius: 50%;
  font-size: 14px;
}

/* Schedule task rows v6: direct two-line summaries and a useful detail bubble. */
body.panda-app .schedule-phone.schedule-v2 .schedule-todo-card {
  grid-template-columns: 26px minmax(0, 1fr) 70px;
  align-items: center;
  column-gap: 9px;
  row-gap: 0;
  min-height: 78px;
  padding: 11px 10px;
  border: 0;
  border-radius: 16px;
  background: #f7f6f9;
  box-shadow: none;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-list {
  gap: 8px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-card + .schedule-todo-card {
  border-top: 0;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-card::before {
  content: none;
  display: none;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-check {
  align-self: center;
  justify-self: center;
  width: 25px;
  height: 25px;
  border: 2px solid var(--task-color);
  background: #fff;
  color: #fff;
  box-shadow: none;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-check span {
  opacity: 0;
  transform: scale(0.7);
  transition: opacity 140ms ease, transform 140ms ease;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-check[aria-pressed="true"] {
  border-color: var(--task-color);
  background: var(--task-color);
  color: #fff;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-check[aria-pressed="true"] span {
  opacity: 1;
  transform: scale(1);
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-main {
  align-self: center;
  justify-content: center;
  gap: 3px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-main h3 {
  color: #29232f;
  font-size: 15.5px;
  line-height: 1.3;
  font-weight: 800;
  letter-spacing: -0.12px;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-main .schedule-todo-context {
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
  border: 0;
  min-height: 0;
  color: #817a89;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-actions {
  grid-column: 3;
  grid-row: 1;
  display: grid;
  grid-template-columns: repeat(2, 32px);
  align-items: center;
  justify-content: end;
  justify-items: center;
  gap: 6px;
  width: 70px;
  margin: 0;
  align-self: center;
  justify-self: end;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-actions .schedule-todo-expand,
body.panda-app .schedule-phone.schedule-v2 .schedule-todo-actions .schedule-todo-open {
  display: grid;
  place-items: center;
  width: 32px;
  min-width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
  border-radius: 50%;
  line-height: 1;
  box-shadow: none;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-actions .schedule-todo-expand {
  border: 1px solid rgba(45, 39, 51, 0.13);
  background: #fff;
  color: #706979;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-actions .schedule-todo-expand[aria-expanded="true"] {
  border-color: #7561b7;
  background: #7561b7;
  color: #fff;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-actions .schedule-todo-open {
  border: 0;
  background: #ffbd34;
  color: #211c27;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-help {
  font-size: 13px;
  font-weight: 900;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-forward {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-card.is-done .schedule-todo-main h3 {
  color: #77717d;
  text-decoration: none;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-card.is-done .schedule-todo-main .schedule-todo-context {
  color: #aaa4ae;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-detail[hidden] {
  display: none !important;
  margin: 0;
  padding: 0;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-detail {
  grid-column: 2 / 4;
  margin: 8px 0 3px;
  padding: 0;
  border-top: 0;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-detail-bubble {
  overflow: hidden;
  border: 1px solid rgba(117, 97, 183, 0.2);
  border-radius: 18px;
  background: linear-gradient(145deg, #fff 0%, #faf8ff 100%);
  box-shadow: 0 8px 20px rgba(69, 55, 90, 0.055);
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-detail-bubble > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 42px;
  padding: 10px 13px;
  border-bottom: 1px solid rgba(45, 39, 51, 0.07);
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-detail-bubble > header strong {
  overflow: hidden;
  color: #302a36;
  font-size: 13px;
  line-height: 1.25;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-detail-bubble > header span {
  flex: 0 0 auto;
  color: #8a7bab;
  font-size: 10.5px;
  line-height: 1.2;
  font-weight: 800;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-detail-bubble dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 10px;
  border: 0;
  border-radius: 0;
  background: transparent;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-detail-bubble dl > div {
  display: block;
  min-height: 58px;
  padding: 9px 10px;
  border: 1px solid rgba(45, 39, 51, 0.07);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.86);
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-detail-bubble dl > div + div {
  border-top: 1px solid rgba(45, 39, 51, 0.07);
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-detail-bubble dl > div:nth-child(3):last-child {
  grid-column: 1 / -1;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-detail-bubble dt {
  color: #99919f;
  font-size: 10.5px;
  line-height: 1.25;
  font-weight: 750;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-detail-bubble dd {
  margin: 4px 0 0;
  overflow: visible;
  color: #4b4452;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 750;
  text-overflow: clip;
  white-space: normal;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-detail-bubble > .schedule-arrange-button {
  position: static;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: calc(100% - 26px);
  min-width: 0;
  height: 38px;
  margin: 0 13px 13px;
  border: 1px solid rgba(238, 166, 28, 0.24);
  border-radius: 12px;
  background: #fff6d9;
  color: #8b650e;
  font-size: 12px;
  font-weight: 850;
  box-shadow: none;
}

body.panda-app .schedule-phone.schedule-v2 .schedule-todo-detail-bubble > .schedule-arrange-button svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (max-width: 400px) {
  body.panda-app .schedule-phone.schedule-v2 .schedule-todo-card {
    grid-template-columns: 26px minmax(0, 1fr) 70px;
    gap: 9px;
  }
}

/* Campus device tools: QR discovery and near-field exchange. */
body.panda-app .campus-device-layer[hidden],
body.panda-app .campus-device-view[hidden],
body.panda-app .campus-device-result[hidden],
body.panda-app .campus-device-actions > [hidden] {
  display: none !important;
}

body.panda-app .campus-device-layer {
  position: absolute;
  z-index: 140;
  inset: 0;
  display: flex;
  align-items: flex-end;
  padding: 14px;
}

body.panda-app .campus-device-scrim {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(40, 34, 48, 0.24);
  backdrop-filter: blur(12px) saturate(0.94);
  animation: campusDeviceScrimIn 260ms ease both;
}

body.panda-app .campus-device-panel {
  position: relative;
  z-index: 1;
  width: 100%;
  max-height: calc(100% - 64px);
  overflow: auto;
  padding: 17px 17px 16px;
  border: 1px solid rgba(42, 35, 49, 0.07);
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 26px 60px rgba(43, 35, 52, 0.18);
  animation: campusDevicePanelIn 380ms cubic-bezier(0.18, 0.84, 0.22, 1) both;
}

body.panda-app .campus-device-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 8px;
}

body.panda-app .campus-device-head small {
  display: block;
  margin-bottom: 2px;
  color: #b07a0c;
  font-size: 10px;
  line-height: 1.2;
  font-weight: 850;
}

body.panda-app .campus-device-head h2 {
  margin: 0;
  color: #211c27;
  font-size: 24px;
  line-height: 1.12;
  font-weight: 900;
  letter-spacing: -0.5px;
}

body.panda-app .campus-device-head > button {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #f4f2f6;
  color: #6e6675;
  font-size: 24px;
  line-height: 1;
}

body.panda-app .campus-device-intro {
  margin: 0 0 12px;
  color: #756e7c;
  font-size: 12px;
  line-height: 1.55;
  font-weight: 650;
}

body.panda-app .campus-scan-viewport {
  position: relative;
  display: grid;
  place-items: center;
  height: 216px;
  overflow: hidden;
  border: 1px solid rgba(102, 81, 132, 0.12);
  border-radius: 25px;
  background:
    radial-gradient(circle at 82% 16%, rgba(255, 213, 82, 0.28), transparent 29%),
    radial-gradient(circle at 14% 88%, rgba(145, 108, 243, 0.16), transparent 34%),
    linear-gradient(145deg, #fbfaff 0%, #f4f1f8 100%);
  transition: border-color 260ms ease, box-shadow 260ms ease, background 260ms ease;
}

body.panda-app .campus-scan-placeholder {
  display: grid;
  justify-items: center;
  gap: 6px;
  text-align: center;
  transition: opacity 220ms ease, transform 260ms ease;
}

body.panda-app .campus-scan-placeholder svg {
  width: 66px;
  height: 66px;
  margin-bottom: 5px;
  fill: #29232f;
  filter: drop-shadow(0 8px 14px rgba(67, 50, 86, 0.12));
}

body.panda-app .campus-scan-placeholder strong,
body.panda-app .campus-nfc-copy strong {
  color: #29232f;
  font-size: 14px;
  line-height: 1.25;
  font-weight: 850;
}

body.panda-app .campus-scan-placeholder small,
body.panda-app .campus-nfc-copy small {
  color: #918998;
  font-size: 10.5px;
  line-height: 1.35;
  font-weight: 650;
}

body.panda-app .campus-scan-corner {
  position: absolute;
  width: 34px;
  height: 34px;
  pointer-events: none;
}

body.panda-app .campus-scan-corner.is-a { top: 17px; left: 17px; border-top: 3px solid #ffbf2f; border-left: 3px solid #ffbf2f; border-radius: 12px 0 0; }
body.panda-app .campus-scan-corner.is-b { top: 17px; right: 17px; border-top: 3px solid #ffbf2f; border-right: 3px solid #ffbf2f; border-radius: 0 12px 0 0; }
body.panda-app .campus-scan-corner.is-c { bottom: 17px; left: 17px; border-bottom: 3px solid #ffbf2f; border-left: 3px solid #ffbf2f; border-radius: 0 0 0 12px; }
body.panda-app .campus-scan-corner.is-d { right: 17px; bottom: 17px; border-right: 3px solid #ffbf2f; border-bottom: 3px solid #ffbf2f; border-radius: 0 0 12px; }

body.panda-app .campus-scan-beam {
  position: absolute;
  z-index: 2;
  left: 25px;
  right: 25px;
  top: 26px;
  height: 2px;
  border-radius: 999px;
  opacity: 0.7;
  background: linear-gradient(90deg, transparent 0%, #ffbd2e 20%, #fff4b7 50%, #ffbd2e 80%, transparent 100%);
  box-shadow: 0 0 16px rgba(255, 189, 46, 0.65);
  animation: campusScanBeam 2.2s ease-in-out infinite;
}

body.panda-app .campus-scan-viewport.is-scanning .campus-scan-beam {
  animation-duration: 0.9s;
  opacity: 1;
}

body.panda-app .campus-scan-viewport.is-found {
  border-color: rgba(255, 184, 50, 0.72);
  background: linear-gradient(145deg, #fffdf5, #f8f5ff);
  box-shadow: inset 0 0 0 2px rgba(255, 192, 54, 0.13), 0 12px 30px rgba(125, 93, 30, 0.08);
}

body.panda-app .campus-scan-viewport.is-found .campus-scan-placeholder,
body.panda-app .campus-scan-viewport.is-found .campus-scan-beam {
  opacity: 0;
  transform: scale(0.94);
}

body.panda-app .campus-scan-types {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
  margin: 10px 0 12px;
}

body.panda-app .campus-scan-types button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  height: 38px;
  padding: 0 5px;
  border: 1px solid #ede9f1;
  border-radius: 13px;
  background: #f8f7fa;
  color: #766f7d;
  font-size: 10.5px;
  font-weight: 800;
}

body.panda-app .campus-scan-types button i {
  display: grid;
  place-items: center;
  width: 21px;
  height: 21px;
  border-radius: 8px;
  background: #eeeaf5;
  color: #7561b7;
  font-size: 9px;
  font-style: normal;
}

body.panda-app .campus-scan-types button.is-active {
  border-color: rgba(255, 184, 50, 0.6);
  background: #fff9e9;
  color: #8c6411;
}

body.panda-app .campus-scan-types button.is-active i {
  background: #ffbd34;
  color: #2b2419;
}

body.panda-app .campus-device-result {
  position: absolute;
  z-index: 4;
  inset: 18px;
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 15px;
  border: 1px solid rgba(255, 184, 50, 0.38);
  border-radius: 21px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 18px 36px rgba(54, 43, 64, 0.13);
  animation: campusResultIn 340ms cubic-bezier(0.18, 0.86, 0.22, 1) both;
}

body.panda-app .campus-device-result > i {
  display: grid;
  place-items: center;
  flex: 0 0 58px;
  width: 58px;
  height: 58px;
  border-radius: 19px;
  background: linear-gradient(145deg, #ffcf5f, #ffb72d);
  color: #2a2318;
  font-size: 19px;
  font-style: normal;
  font-weight: 950;
  box-shadow: 0 10px 22px rgba(255, 181, 37, 0.2);
}

body.panda-app .campus-device-result > span {
  min-width: 0;
}

body.panda-app .campus-device-result small,
body.panda-app .campus-device-result strong,
body.panda-app .campus-device-result em {
  display: block;
}

body.panda-app .campus-device-result small {
  margin-bottom: 3px;
  color: #a57819;
  font-size: 9.5px;
  line-height: 1.2;
  font-weight: 850;
}

body.panda-app .campus-device-result strong {
  overflow: hidden;
  color: #29232f;
  font-size: 17px;
  line-height: 1.28;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.panda-app .campus-device-result em {
  margin-top: 5px;
  color: #7e7785;
  font-size: 10.5px;
  line-height: 1.4;
  font-style: normal;
  font-weight: 650;
}

body.panda-app .campus-device-actions {
  display: grid;
  grid-template-columns: 1fr 1.28fr;
  gap: 9px;
}

body.panda-app .campus-scan-view .campus-device-actions {
  margin-top: 12px;
}

body.panda-app .campus-device-actions.is-single {
  grid-template-columns: 1fr;
}

body.panda-app .campus-device-actions button {
  height: 46px;
  padding: 0 13px;
  border-radius: 15px;
  font-size: 12px;
  font-weight: 850;
}

body.panda-app .campus-device-actions .is-secondary {
  border: 1px solid #ebe7ef;
  background: #f7f5f8;
  color: #665e6d;
}

body.panda-app .campus-device-actions .is-primary {
  border: 0;
  background: #ffbd34;
  color: #211c27;
  box-shadow: 0 10px 22px rgba(255, 184, 50, 0.23);
}

body.panda-app .campus-device-actions button:disabled {
  opacity: 0.65;
}

body.panda-app .campus-device-trust {
  margin: 9px 0 0;
  color: #9a939f;
  font-size: 9.5px;
  line-height: 1.4;
  text-align: center;
  font-weight: 650;
}

body.panda-app .campus-nfc-tabs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5px;
  margin: 0 0 10px;
  padding: 4px;
  border-radius: 15px;
  background: #f2eff5;
}

body.panda-app .campus-nfc-tabs button {
  height: 36px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: #7c7484;
  font-size: 11px;
  font-weight: 850;
}

body.panda-app .campus-nfc-tabs button.is-active {
  background: #fff;
  color: #29232f;
  box-shadow: 0 6px 14px rgba(53, 44, 62, 0.08);
}

body.panda-app .campus-nfc-stage {
  position: relative;
  height: 222px;
  overflow: hidden;
  margin-bottom: 12px;
  border: 1px solid rgba(105, 81, 143, 0.11);
  border-radius: 25px;
  background:
    radial-gradient(circle at 50% 42%, rgba(255, 216, 98, 0.34), transparent 33%),
    radial-gradient(circle at 18% 85%, rgba(147, 109, 244, 0.13), transparent 35%),
    #faf8fc;
}

body.panda-app .campus-nfc-rings {
  position: absolute;
  left: 50%;
  top: 44%;
  width: 150px;
  height: 150px;
  transform: translate(-50%, -50%);
}

body.panda-app .campus-nfc-rings i {
  position: absolute;
  inset: 50%;
  border: 1.5px solid rgba(255, 184, 50, 0.35);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  animation: campusNfcPulse 2.2s ease-out infinite;
}

body.panda-app .campus-nfc-rings i:nth-child(2) { animation-delay: 0.55s; }
body.panda-app .campus-nfc-rings i:nth-child(3) { animation-delay: 1.1s; }

body.panda-app .campus-nfc-phone {
  position: absolute;
  z-index: 2;
  left: calc(50% - 49px);
  top: 34px;
  width: 68px;
  height: 102px;
  border: 4px solid #2b2530;
  border-radius: 19px;
  background: linear-gradient(155deg, #fff, #f2eff5);
  box-shadow: 0 14px 28px rgba(43, 37, 48, 0.16);
  transform: rotate(-7deg);
}

body.panda-app .campus-nfc-phone b {
  position: absolute;
  left: 50%;
  top: 6px;
  width: 23px;
  height: 4px;
  border-radius: 999px;
  background: #2b2530;
  transform: translateX(-50%);
}

body.panda-app .campus-nfc-phone span {
  position: absolute;
  left: 50%;
  top: 41%;
  color: #7e63d8;
  font-size: 24px;
  font-weight: 950;
  transform: translate(-50%, -50%);
}

body.panda-app .campus-nfc-phone span img {
  display: block;
  width: 30px;
  height: 30px;
  object-fit: contain;
}

body.panda-app .campus-nfc-card {
  position: absolute;
  z-index: 3;
  left: calc(50% + 8px);
  top: 66px;
  display: grid;
  grid-template-columns: 28px 1fr;
  grid-template-rows: 1fr 1fr;
  align-items: center;
  width: 94px;
  height: 64px;
  padding: 9px;
  border: 1px solid rgba(255, 184, 50, 0.4);
  border-radius: 17px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 14px 27px rgba(69, 51, 80, 0.16);
  transform: rotate(7deg);
  animation: campusNfcCardFloat 2.4s ease-in-out infinite;
}

body.panda-app .campus-nfc-card i {
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border-radius: 9px;
  background: linear-gradient(145deg, #fff7df, #ffecb8);
  color: #fff;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}

body.panda-app .campus-nfc-card i img {
  display: block;
  width: 19px;
  height: 19px;
  object-fit: contain;
}

body.panda-app .campus-nfc-card b {
  display: block;
  height: 4px;
  margin-left: 7px;
  border-radius: 999px;
  background: #ddd8e2;
}

body.panda-app .campus-nfc-card b:last-child { width: 64%; }

body.panda-app .campus-nfc-copy {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 15px;
  display: grid;
  gap: 3px;
  text-align: center;
}

body.panda-app .campus-nfc-stage.is-sensing .campus-nfc-rings i {
  border-color: rgba(255, 184, 50, 0.62);
  animation-duration: 1.05s;
}

body.panda-app .campus-nfc-stage.is-sensing .campus-nfc-phone,
body.panda-app .campus-nfc-stage.is-sensing .campus-nfc-card {
  filter: drop-shadow(0 12px 20px rgba(255, 184, 50, 0.2));
}

body.panda-app .campus-nfc-stage.is-found .campus-nfc-rings,
body.panda-app .campus-nfc-stage.is-found .campus-nfc-phone,
body.panda-app .campus-nfc-stage.is-found .campus-nfc-card,
body.panda-app .campus-nfc-stage.is-found .campus-nfc-copy {
  opacity: 0;
  pointer-events: none;
  transition: opacity 200ms ease;
}

body.panda-app .campus-nfc-result {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  align-content: center;
}

body.panda-app .campus-nfc-result label {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 12px;
  padding-top: 11px;
  border-top: 1px solid #eee9f1;
  color: #6e6675;
  font-size: 10px;
  font-weight: 750;
}

body.panda-app .campus-nfc-result label input {
  width: 17px;
  height: 17px;
  accent-color: #ffb832;
}

body.panda-app .campus-nfc-result label b { font-weight: 750; }

@keyframes campusDeviceScrimIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes campusDevicePanelIn { from { opacity: 0; transform: translateY(34px) scale(0.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes campusScanBeam { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(160px); } }
@keyframes campusResultIn { from { opacity: 0; transform: translateY(16px) scale(0.96); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes campusNfcPulse { 0% { width: 24px; height: 24px; opacity: 0.85; } 100% { width: 150px; height: 150px; opacity: 0; } }
@keyframes campusNfcCardFloat { 0%, 100% { transform: rotate(7deg) translateY(0); } 50% { transform: rotate(5deg) translateY(-5px); } }

@media (prefers-reduced-motion: reduce) {
  body.panda-app .campus-device-scrim,
  body.panda-app .campus-device-panel,
  body.panda-app .campus-device-result,
  body.panda-app .campus-scan-beam,
  body.panda-app .campus-nfc-rings i,
  body.panda-app .campus-nfc-card {
    animation: none !important;
  }
}

/* Personal profile hero: one outer bubble, with a quiet curved seam between cover and identity. */
body.panda-app .entity-phone[data-profile-surface] .entity-profile-bubble {
  position: relative;
  z-index: 2;
  margin: 86px 15px 0;
  overflow: hidden;
  border: 1px solid rgba(74, 59, 84, 0.08);
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 22px 48px rgba(68, 49, 78, 0.12);
  isolation: isolate;
}

body.panda-app .entity-phone[data-profile-surface] .entity-profile-bubble .entity-cover {
  z-index: 0;
  height: 154px;
  margin: 0;
  border-radius: 0;
  box-shadow: none;
}

body.panda-app .entity-phone[data-profile-surface] .entity-profile-bubble .entity-identity-card {
  z-index: 2;
  margin: -29px 0 0;
  padding: 20px 18px 17px;
  border: 0;
  border-top: 1px solid rgba(74, 59, 84, 0.08);
  border-radius: 29px 29px 0 0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(253, 252, 255, 0.96));
  box-shadow: 0 -10px 28px rgba(68, 49, 78, 0.08);
}

body.panda-app .entity-phone[data-profile-surface] .entity-profile-bubble .entity-identity-card::before {
  position: absolute;
  top: 0;
  right: 28px;
  left: 28px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(137, 116, 151, 0.16), transparent);
  content: "";
}

body.panda-app .entity-phone[data-profile-surface] .entity-profile-bubble .entity-avatar {
  margin-top: -2px;
}

body.panda-app .entity-phone[data-profile-surface] .entity-profile-bubble + .entity-tabs-shell {
  margin-top: 4px;
}

body.panda-app .entity-phone.is-profile-editing .entity-profile-bubble {
  box-shadow: 0 0 0 2px rgba(119, 89, 173, 0.18), 0 22px 48px rgba(68, 49, 78, 0.14);
}

body.panda-app .entity-phone.is-profile-editing .entity-profile-bubble .entity-cover {
  box-shadow: none;
}

@media (max-width: 400px) {
  body.panda-app .entity-phone[data-profile-surface] .entity-profile-bubble {
    margin-right: 14px;
    margin-left: 14px;
    border-radius: 28px;
  }

  body.panda-app .entity-phone[data-profile-surface] .entity-profile-bubble .entity-identity-card {
    margin-right: 0;
    margin-left: 0;
    padding-right: 16px;
    padding-left: 16px;
    border-radius: 27px 27px 0 0;
  }
}
/* Profile assets and feed use the same real media and canonical post cards as Campus. */
body.panda-app .entity-phone[data-profile-surface] .entity-cover .cover-sky {
  display: none !important;
}

body.panda-app .entity-phone[data-profile-surface] .entity-cover.has-custom-cover {
  background-position: center 46% !important;
}

body.panda-app .entity-phone[data-profile-surface] .mini-strip img,
body.panda-app .entity-phone[data-profile-surface] .work-grid img {
  display: block;
  width: 100%;
  height: 62px;
  border-radius: 13px;
  object-fit: cover;
  box-shadow: inset 0 0 0 1px rgba(31, 27, 43, 0.05);
}

body.panda-app .entity-phone[data-profile-surface] .place-row span {
  display: grid;
  grid-template-rows: 70px auto;
  gap: 7px;
  min-height: 0;
  padding: 0 0 9px;
  overflow: hidden;
  background: #fff8fb;
}

body.panda-app .entity-phone[data-profile-surface] .place-row img {
  display: block;
  width: 100%;
  height: 70px;
  object-fit: cover;
}

body.panda-app .entity-phone[data-profile-surface] .place-row b {
  display: block;
  padding: 0 5px;
  overflow: hidden;
  color: #514b5f;
  font-size: 10px;
  line-height: 1.25;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.panda-app .entity-phone[data-profile-surface] .relation-stack img {
  display: block;
  width: 38px;
  height: 38px;
  margin-right: -7px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #f3eef9;
  object-fit: cover;
  box-shadow: 0 4px 12px rgba(45, 36, 53, 0.1);
}

body.panda-app .entity-phone[data-profile-surface] .entity-feed-panel {
  display: block;
  padding-bottom: 112px;
}

body.panda-app .entity-phone[data-profile-surface] .entity-feed-panel[hidden] {
  display: none !important;
}

body.panda-app .entity-phone[data-profile-surface] .entity-feed-list {
  display: grid;
  gap: 14px;
}

body.panda-app .entity-phone[data-profile-surface] .entity-feed-card {
  width: 100%;
  margin: 0;
  overflow: hidden;
  cursor: pointer;
  scroll-margin-top: 76px;
}

body.panda-app .entity-phone[data-profile-surface] .entity-feed-card::before {
  display: none !important;
}

body.panda-app .entity-phone[data-profile-surface] .entity-feed-card:focus-visible {
  outline: 3px solid rgba(240, 170, 40, 0.42);
  outline-offset: 3px;
}

body.panda-app .entity-phone[data-profile-surface] .entity-feed-empty {
  padding: 48px 18px;
  border: 1px dashed rgba(73, 64, 86, 0.15);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.72);
  color: #8b8492;
  text-align: center;
}

body.panda-app .entity-phone[data-profile-surface] .entity-feed-empty strong,
body.panda-app .entity-phone[data-profile-surface] .entity-feed-empty span {
  display: block;
}

body.panda-app .entity-phone[data-profile-surface] .entity-feed-empty strong {
  color: #2c2731;
  font-size: 14px;
  font-weight: 950;
}

body.panda-app .entity-phone[data-profile-surface] .entity-feed-empty span {
  margin-top: 6px;
  font-size: 10px;
  font-weight: 750;
}

@media (max-width: 400px) {
  body.panda-app .entity-phone[data-profile-surface] .mini-strip img,
  body.panda-app .entity-phone[data-profile-surface] .work-grid img {
    height: 54px;
  }

  body.panda-app .entity-phone[data-profile-surface] .place-row span {
    grid-template-rows: 62px auto;
  }

  body.panda-app .entity-phone[data-profile-surface] .place-row img {
    height: 62px;
  }
}
/* Panda Campus V2 action-network shell. These rules deliberately reuse the
   existing card language; only navigation hierarchy and page responsibility
   change. */
body.panda-app .bottom-nav .create-action-nav {
  position: relative;
  align-self: stretch;
  justify-content: center;
  color: #f2aa00;
}

body.panda-app .bottom-nav .create-action-nav .bottom-nav-icon {
  width: 34px;
  height: 34px;
  margin-top: 0;
  padding: 0;
  color: #ffc514;
  filter: drop-shadow(0 6px 10px rgba(255, 197, 20, 0.2));
  transform: none;
}

body.panda-app .bottom-nav .create-action-nav > span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}

body.panda-app .bottom-nav .create-action-nav.active .bottom-nav-icon {
  color: #ffb914;
  transform: translateY(-2px) scale(1.05);
}

body.panda-app .panda-home-v2 > .panda-v2-summary,
body.panda-app .panda-home-v2 > .panda-v2-section {
  display: none !important;
}

body.panda-app .create-action-templates {
  margin: 16px 18px 132px;
  padding: 20px;
  border: 1px solid rgba(35, 30, 48, 0.065);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 20px 46px rgba(60, 45, 84, 0.07);
  backdrop-filter: blur(18px);
}

body.panda-app .create-action-templates > header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

body.panda-app .create-action-templates > header small {
  display: block;
  margin-bottom: 3px;
  color: #b98918;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

body.panda-app .create-action-templates > header h2 {
  margin: 0;
  color: #17131f;
  font-size: 19px;
  line-height: 1.25;
}

body.panda-app .create-action-templates > header > span {
  flex: 0 0 auto;
  color: #aaa4b6;
  font-size: 11px;
  font-weight: 700;
}

body.panda-app .create-action-template {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr) 18px;
  align-items: center;
  width: 100%;
  min-height: 84px;
  margin-top: 10px;
  padding: 10px 14px 10px 10px;
  border: 1px solid rgba(56, 49, 70, 0.075);
  border-radius: 22px;
  background: #fff;
  color: #17131f;
  text-align: left;
  box-shadow: 0 10px 26px rgba(53, 42, 72, 0.05);
  cursor: pointer;
}

body.panda-app .create-action-template.is-context {
  border-color: rgba(255, 197, 20, 0.42);
  background: linear-gradient(125deg, #fff 0%, #fffaf0 100%);
}

body.panda-app .create-action-template > img,
body.panda-app .create-action-template > i {
  width: 58px;
  height: 58px;
  border-radius: 17px;
  object-fit: cover;
}

body.panda-app .create-action-template > i {
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, #fff2be, #f1e9ff);
  color: #b58412;
  font-size: 30px;
  font-style: normal;
  font-weight: 400;
}

body.panda-app .create-action-template > span {
  display: block;
  min-width: 0;
  padding: 0 10px 0 12px;
}

body.panda-app .create-action-template > span small,
body.panda-app .create-action-template > span strong,
body.panda-app .create-action-template > span em {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.panda-app .create-action-template > span small {
  color: #aaa4b6;
  font-size: 10px;
  font-weight: 750;
}

body.panda-app .create-action-template > span strong {
  margin-top: 3px;
  font-size: 15px;
}

body.panda-app .create-action-template > span em {
  margin-top: 5px;
  color: #888292;
  font-size: 10px;
  font-style: normal;
  font-weight: 650;
}

body.panda-app .create-action-template > b {
  color: #b5aebf;
  font-size: 24px;
  font-weight: 500;
}

@media (max-width: 430px) {
  body.panda-app .create-action-templates {
    margin-inline: 16px;
    padding: 16px;
  }

  body.panda-app .create-action-templates > header > span {
    display: none;
  }
}

/* Final discover proportions: intentionally last in the cascade. */
body.panda-app .discover-v2-intro {
  position: relative;
  z-index: 60;
  margin: 14px 18px 10px;
  padding: 4px 0 10px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}
body.panda-app .discover-v2-intro > header { display: block; }
body.panda-app .discover-v2-intro > header > div {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  column-gap: 9px;
}
body.panda-app .discover-v2-intro > header h1 {
  grid-area: 1 / 1;
  margin: 0;
  font-size: 25px;
  line-height: 1;
}
body.panda-app .discover-v2-intro > header small {
  grid-area: 1 / 2;
  width: max-content;
  padding: 4px 8px;
  border-radius: 999px;
  background: #f7f4fa;
  color: #837d8b;
  font-size: 8px;
  letter-spacing: 0;
}
body.panda-app .discover-v2-intro > header p {
  grid-area: 2 / 1 / 3 / -1;
  margin-top: 7px;
  font-size: 10px;
}
body.panda-app .discover-v2-live,
body.panda-app .discover-v2-feed-tabs,
body.panda-app .discover-v2-categories { display: none !important; }
body.panda-app .discover-v2-search {
  grid-template-columns: 18px minmax(0, 1fr) 32px;
  min-height: 46px;
  margin-top: 12px;
  padding: 5px 6px 5px 13px;
  border-radius: 17px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 10px 28px rgba(44, 34, 58, 0.055);
}
body.panda-app .discover-v2-search svg { width: 17px; height: 17px; }
body.panda-app .discover-v2-search input { font-size: 11px; }
body.panda-app .discover-v2-search button { width: 32px; height: 32px; border-radius: 12px; box-shadow: none; }
body.panda-app .discover-v2-controls {
  position: relative;
  z-index: 25;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  margin-top: 9px;
  overflow: visible;
}
body.panda-app .discover-v2-filter-menu { z-index: 50; }
body.panda-app .home-phone .home-unified-stream { margin: 0 18px 34px; }
body.panda-app .home-unified-stream-title { align-items: center; margin: 0 1px 9px; }
body.panda-app .home-unified-stream-title small { display: none; }
body.panda-app .home-unified-stream-title h2 { font-size: 17px; }
body.panda-app .home-unified-stream-title a { font-size: 9px; }
body.panda-app .home-feed-ad-card { min-height: 198px; }

/* V2 personal screen and Panda Store — final product surfaces. */
body.panda-app .entity-phone[data-profile-surface].person-space .entity-preview-panel {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-flow: dense;
  align-items: stretch;
  gap: 12px;
  margin: 0 18px;
  padding: 0 0 116px;
}
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget[data-profile-widget] {
  --widget-accent: #8c68f5;
  --widget-wash: rgba(140, 104, 245, .13);
  --widget-height: 174px;
  position: relative;
  display: flex;
  flex-direction: column;
  grid-column: span 1;
  width: auto;
  min-width: 0;
  height: var(--widget-height);
  min-height: var(--widget-height);
  padding: 16px;
  overflow: hidden;
  border: 0;
  border-radius: 27px;
  background: radial-gradient(circle at 92% 0%, var(--widget-wash), transparent 43%), linear-gradient(145deg, rgba(255,255,255,.99), rgba(249,248,251,.95));
  box-shadow: inset 0 0 0 1px rgba(34,28,41,.055), 0 16px 36px rgba(46,38,54,.075);
  contain: layout paint;
  transform: translateZ(0);
  will-change: transform;
  transition: height 300ms cubic-bezier(.2,.8,.2,1), min-height 300ms cubic-bezier(.2,.8,.2,1), box-shadow 220ms ease, opacity 180ms ease, filter 180ms ease, transform 220ms cubic-bezier(.2,.8,.2,1);
}
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget.ability { --widget-accent:#f2a91d; --widget-wash:rgba(255,192,57,.22); }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget.places { --widget-accent:#35b687; --widget-wash:rgba(69,207,159,.17); }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget.works { --widget-accent:#f45b91; --widget-wash:rgba(247,103,158,.16); }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget.relations { --widget-accent:#6b73ed; --widget-wash:rgba(107,115,237,.16); }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget.favorites { --widget-accent:#55a8e9; --widget-wash:rgba(85,168,233,.15); }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget[data-widget-size="wide"],
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget[data-widget-size="featured"],
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget.is-resize-wide-preview { grid-column: span 2; }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget[data-widget-size="compact"] { --widget-height:174px; }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget[data-widget-size="wide"] { --widget-height:176px; }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget[data-widget-size="featured"] { --widget-height:246px; }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget[data-widget-size="tall"] { --widget-height:292px; }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget .widget-head {
  position: relative;
  z-index: 2;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 34px;
  margin: 0 0 13px;
}
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget .widget-head h2 {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  margin: 0;
  color: #1b1820;
  font-size: 16px;
  line-height: 1.1;
  font-weight: 950;
  letter-spacing: -.035em;
}
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget .widget-head h2::before {
  display: grid;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  place-items: center;
  border-radius: 10px;
  background: color-mix(in srgb,var(--widget-accent) 15%,white);
  color: var(--widget-accent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--widget-accent) 10%,transparent);
  font-size: 15px;
}
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget.ability .widget-head h2::before { content:"✦"; }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget.places .widget-head h2::before { content:"⌖"; }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget.works .widget-head h2::before { content:"▦"; }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget.relations .widget-head h2::before { content:"◎"; }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget.favorites .widget-head h2::before { content:"★"; }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget .widget-head [data-profile-widget-use],
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget .widget-head a {
  display: grid;
  width: 31px;
  min-width: 31px;
  height: 31px;
  min-height: 31px;
  padding: 0;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.76);
  color: #6f6876;
  box-shadow: inset 0 0 0 1px rgba(42,35,48,.07), 0 5px 14px rgba(47,39,54,.06);
  font-size: 20px;
  font-weight: 600;
  text-decoration: none;
  backdrop-filter: blur(12px);
}
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget .mini-strip,
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget .work-grid,
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget .place-row { position:relative; z-index:1; min-height:0; flex:1 1 auto; }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget .mini-strip { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:7px; }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget .mini-strip img,
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget .work-grid img { width:100%; height:100%; min-height:0; border-radius:14px; object-fit:cover; box-shadow:none; }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget .work-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget .place-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget .place-row span { display:grid; grid-template-rows:minmax(0,1fr) auto; gap:6px; min-height:0; padding:0 0 7px; overflow:hidden; border-radius:14px; background:rgba(255,255,255,.68); }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget .place-row img { width:100%; height:100%; min-height:0; object-fit:cover; }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget[data-widget-size="compact"] .mini-strip { grid-template-columns:1fr; }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget[data-widget-size="compact"] .mini-strip img:not(:first-child),
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget[data-widget-size="compact"] .work-grid img:nth-child(n+3),
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget[data-widget-size="compact"] .place-row span:not(:first-child) { display:none; }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget[data-widget-size="featured"] .mini-strip { grid-template-columns:1.7fr 1fr; grid-template-rows:1fr 1fr; }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget[data-widget-size="featured"] .mini-strip img:first-child { grid-row:span 2; }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget[data-widget-size="tall"] .work-grid { grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget[data-widget-size="compact"] .place-row { grid-template-columns:1fr; }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget[data-widget-size="tall"] .place-row { grid-template-columns:1fr; grid-template-rows:repeat(3,minmax(0,1fr)); }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget[data-widget-size="tall"] .place-row span { grid-template-columns:54px minmax(0,1fr); grid-template-rows:1fr; align-items:center; padding:0 9px 0 0; }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget .relation-stack { position:relative; z-index:2; display:flex; flex:1 1 auto; align-items:center; justify-content:center; margin:0; }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget .relation-stack img { width:46px; height:46px; margin-right:-12px; border-width:3px; }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget .relation-stack span { align-self:flex-end; margin:0 0 2px 15px; color:#615968; font-size:10px; font-weight:900; }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget[data-widget-size="tall"] .relation-stack { flex-wrap:wrap; align-content:center; }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget[data-widget-size="tall"] .relation-stack img { width:62px; height:62px; margin:-5px; }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget p { position:relative; z-index:2; margin:auto 0 0; overflow:hidden; color:#716a78; font-size:10.5px; line-height:1.35; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget.favorites .entity-favorite-preview { flex:1 1 auto; min-height:0; }
body.panda-app .entity-phone[data-profile-surface].person-space .profile-add-widget { grid-column: span 2; }

@keyframes profile-edit-breathe {
  0%, 100% { opacity:.88; filter:saturate(.93) brightness(.995); }
  50% { opacity:1; filter:saturate(1.06) brightness(1.015); }
}
body.panda-app .entity-phone[data-profile-surface].person-space.is-profile-editing :is(
  [data-profile-cover-edit],
  [data-profile-avatar-edit],
  [data-profile-name],
  [data-profile-signature],
  [data-profile-subscription-edit],
  [data-profile-connect-edit],
  [data-profile-widget],
  .profile-add-widget
) {
  animation: profile-edit-breathe 3.1s ease-in-out infinite;
}
body.panda-app .entity-phone[data-profile-surface].person-space.is-profile-editing :is([data-profile-name],[data-profile-signature]) {
  cursor: text;
  outline: 1px dashed rgba(239,174,33,.38);
  outline-offset: 4px;
  border-radius: 7px;
}
body.panda-app .entity-phone[data-profile-surface].person-space.is-profile-editing .entity-widget[data-profile-widget] {
  overflow: visible;
  contain: layout;
  box-shadow: inset 0 0 0 1.5px color-mix(in srgb,var(--widget-accent) 34%,transparent), 0 18px 42px rgba(53,43,62,.12);
}
body.panda-app .entity-phone[data-profile-surface].person-space .profile-widget-edit-controls { top:9px; right:9px; left:9px; align-items:center; }
body.panda-app .entity-phone[data-profile-surface].person-space .profile-widget-remove,
body.panda-app .entity-phone[data-profile-surface].person-space .profile-widget-drag { width:32px; height:32px; border:2px solid rgba(255,255,255,.96); box-shadow:0 7px 18px rgba(39,32,46,.15); }
body.panda-app .entity-phone[data-profile-surface].person-space .profile-widget-remove { background:rgba(255,82,82,.94); font-size:19px; }
body.panda-app .entity-phone[data-profile-surface].person-space .profile-widget-drag { background:rgba(255,255,255,.93); color:#5c5663; }
body.panda-app .entity-phone[data-profile-surface].person-space .profile-widget-resize { right:9px; bottom:9px; height:32px; padding:0 9px; border:2px solid rgba(255,255,255,.96); background:color-mix(in srgb,var(--widget-accent) 88%,white); color:#fff; }
body.panda-app .entity-phone[data-profile-surface].person-space.is-profile-editing .profile-widget-resize { pointer-events:auto; opacity:1; }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget.is-profile-resizing,
body.panda-app .entity-phone[data-profile-surface].person-space .entity-widget.is-profile-dragging { animation:none; }
body.panda-app .entity-phone[data-profile-surface].person-space .entity-cover-more[aria-pressed="true"] {
  background: linear-gradient(145deg,#ffca48,#f4ad23);
  color: #fff;
  box-shadow: 0 10px 24px rgba(232,164,24,.25);
}

body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-controls {
  top: 8px;
  margin-bottom: 14px;
  border-radius: 23px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 12px 30px rgba(46,38,61,.08);
  backdrop-filter: blur(26px) saturate(1.2);
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-world-hero {
  min-height: 204px;
  padding: 23px 20px;
  border: 0;
  border-radius: 30px;
  background: radial-gradient(circle at 72% 22%,rgba(255,201,57,.34) 0 48px,transparent 49px), linear-gradient(135deg,#fff6dc 0%,#fff 46%,#eee8ff 100%);
  box-shadow: inset 0 0 0 1px rgba(93,69,25,.06), 0 20px 44px rgba(57,45,76,.1);
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-world-hero .store-hero-copy h1 { font-size:30px; letter-spacing:-.045em; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-world-hero .store-hero-copy p { font-size:14px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-world-hero .store-hero-art { right:-3px; bottom:-8px; width:176px; height:176px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-world-hero .store-hero-art img { right:12px; width:142px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-category-dock {
  gap: 8px;
  margin: 3px -18px 23px;
  padding: 3px 18px 8px;
  scroll-snap-type: x proximity;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-category {
  width: auto;
  min-width: 70px;
  min-height: 70px;
  padding: 10px 13px;
  border: 0;
  border-radius: 20px;
  background: rgba(255,255,255,.78);
  box-shadow: inset 0 0 0 1px rgba(45,37,55,.05), 0 9px 22px rgba(43,34,58,.06);
  scroll-snap-align: start;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-category[aria-pressed="true"] {
  background: #fff2c9;
  color: #8b6109;
  box-shadow: inset 0 0 0 1px rgba(226,157,12,.13), 0 12px 26px rgba(219,155,20,.12);
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-section { margin-bottom:28px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-section-head { padding:0 2px 13px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-section-head h2 { font-size:20px; letter-spacing:-.035em; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone :is(.store-card-row,.store-card-grid) {
  display:flex;
  grid-template-columns:none;
  gap:12px;
  margin:0 -18px;
  padding:0 18px 10px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone :is(.store-card-row,.store-card-grid)::-webkit-scrollbar { display:none; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-item-card {
  flex:0 0 178px;
  min-height:250px;
  border:0;
  border-radius:24px;
  background:rgba(255,255,255,.95);
  box-shadow:inset 0 0 0 1px rgba(44,35,54,.05),0 14px 32px rgba(43,34,59,.08);
  scroll-snap-align:start;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-item-card.feature { flex-basis:218px; min-height:320px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-item-card.compact { min-height:250px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-item-visual { min-height:120px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-item-card.feature .store-item-visual { min-height:176px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-card-body { padding:14px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-card-action,
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-actions .primary {
  background:linear-gradient(145deg,#ffca48,#f2ad22);
  color:#fff;
  box-shadow:0 8px 18px rgba(231,162,22,.17);
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-item-visual.profile i {
  width:84px; height:69px; border-radius:22px;
  background:radial-gradient(circle at 72% 24%,rgba(255,255,255,.9) 0 13px,transparent 14px),linear-gradient(145deg,#ffcbdc,#bdd9ff 55%,#cdb7ff);
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-item-visual.relationship i {
  width:88px; height:58px; border-radius:22px;
  background:radial-gradient(circle at 25% 50%,#fff 0 14px,transparent 15px),radial-gradient(circle at 52% 50%,#ffe4ef 0 14px,transparent 15px),radial-gradient(circle at 78% 50%,#ded4ff 0 14px,transparent 15px),linear-gradient(135deg,#efebff,#fff);
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-item-visual.bag i {
  width:76px; height:72px; border-radius:22px 22px 28px 28px;
  background:linear-gradient(180deg,transparent 0 14px,#ffd66d 14px),radial-gradient(circle at 50% 6px,transparent 0 12px,#d89a18 13px 15px,transparent 16px);
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-item-visual.agreement i {
  width:76px; height:78px; border-radius:20px;
  background:repeating-linear-gradient(180deg,#fff 0 8px,#f0e9ff 8px 12px),linear-gradient(135deg,#fff2c8,#eee8ff);
  box-shadow:inset 0 0 0 1px rgba(57,45,65,.07),0 11px 19px rgba(40,34,66,.1);
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-hero {
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
  padding:18px;
  border:0;
  border-radius:30px;
  box-shadow:inset 0 0 0 1px rgba(45,36,57,.05),0 20px 44px rgba(47,37,62,.09);
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-hero .store-item-visual.detail { width:100%; min-height:205px; border-radius:23px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-copy h1 { font-size:27px; letter-spacing:-.04em; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-block { border:0; border-radius:27px; box-shadow:inset 0 0 0 1px rgba(45,36,57,.05),0 14px 34px rgba(47,37,62,.07); }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-rating-body { display:grid; grid-template-columns:74px 1fr; align-items:center; gap:4px 13px; margin-top:14px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-rating-body strong { grid-row:span 2; font-size:46px; line-height:1; letter-spacing:-.07em; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-rating-body p { margin:0; color:#7b7482; font-size:10px; line-height:1.35; font-weight:750; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-rating-stars { color:#f2ad22; font-size:16px; letter-spacing:2px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-related-block { overflow:hidden; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-related-block .store-card-row { margin-right:-18px; margin-left:-18px; }

/* Panda Store clarity pass: compact catalog rails and object-style details. */
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-toolbar-context {
  min-width: 0;
  overflow: hidden;
  color: #211c26;
  font-size: 14px;
  line-height: 1;
  font-weight: 950;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-toolbar > [hidden],
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-filter-panel[hidden] { display:none !important; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone.is-store-detail .store-toolbar::after {
  content:"";
  width:40px;
  height:40px;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-controls {
  margin-bottom: 10px;
  padding: 5px;
  border-radius: 20px;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-toolbar { grid-template-columns:40px minmax(0,1fr) 40px; gap:6px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-controls .store-back-button,
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-filter-toggle { width:40px; height:40px; border-radius:14px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-controls .store-search-form { height:40px; border-radius:14px; }

body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-world-hero {
  min-height: 134px;
  margin-bottom: 10px;
  padding: 16px 18px;
  border-radius: 24px;
  box-shadow: inset 0 0 0 1px rgba(93,69,25,.05), 0 13px 30px rgba(57,45,76,.075);
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-world-hero .store-hero-copy { width:67%; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-world-hero .store-hero-copy > span {
  margin-bottom:7px;
  padding:4px 7px;
  font-size:7px;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-world-hero .store-hero-copy h1 {
  margin-bottom:7px;
  font-size:25px;
  letter-spacing:-.04em;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-world-hero .store-hero-copy h1 i { width:18px; height:14px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-world-hero .store-hero-copy p { margin:0; font-size:11.5px; line-height:1.35; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-world-hero .store-hero-copy small { display:none; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-world-hero .store-hero-art { right:-4px; bottom:-16px; width:126px; height:126px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-world-hero .store-hero-art img { right:10px; bottom:2px; width:104px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-world-hero .store-hero-art i { width:28px; height:28px; border-radius:9px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-world-hero .store-hero-art b { right:14px; width:92px; height:30px; }

body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-category-dock {
  gap:6px;
  margin:0 -18px 16px;
  padding:1px 18px 6px;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-category {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  width:auto;
  min-width:max-content;
  min-height:38px;
  padding:0 11px;
  border-radius:14px;
  font-size:9px;
  box-shadow:inset 0 0 0 1px rgba(45,37,55,.05),0 6px 15px rgba(43,34,58,.045);
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-category svg { width:16px; height:16px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-category[aria-pressed="true"] {
  background:#211c26;
  color:#fff;
  box-shadow:0 8px 18px rgba(33,28,38,.12);
}

body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-section { margin-bottom:18px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-section-head { padding:0 1px 9px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-section-head h2 { font-size:17px; letter-spacing:-.03em; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-section-head span { font-size:8.5px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-card-row {
  display:flex;
  gap:10px;
  margin:0 -18px;
  padding:0 18px 7px;
  overflow-x:auto;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-card-grid {
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin:0;
  padding:0;
  overflow:visible;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-item-card,
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-item-card.feature,
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-item-card.compact {
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  flex:0 0 282px;
  width:auto;
  min-height:116px;
  max-height:116px;
  overflow:hidden;
  border-radius:20px;
  scroll-snap-align:start;
  box-shadow:inset 0 0 0 1px rgba(44,35,54,.05),0 10px 24px rgba(43,34,59,.065);
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-card-grid .store-item-card { width:100%; max-height:none; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-item-visual,
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-item-card.feature .store-item-visual {
  width:92px;
  min-height:116px;
  height:100%;
  border-radius:0;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-item-visual img,
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-item-visual.large img { width:76px; max-height:93px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-item-visual i { transform:scale(.76); }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-card-body { min-width:0; padding:10px 11px 9px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-label-row { margin-bottom:5px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-pill { padding:3px 6px; font-size:7.5px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-price { font-size:9px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-item-card h3 {
  margin:0 0 4px;
  overflow:hidden;
  font-size:14px;
  line-height:1.12;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-item-card p {
  display:-webkit-box;
  min-height:0;
  margin:0 0 4px;
  overflow:hidden;
  color:#7c7683;
  font-size:9px;
  line-height:1.35;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-meta-line {
  justify-content:flex-start;
  gap:5px;
  font-size:7.5px;
  line-height:1;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-meta-line > span:first-child {
  max-width:84px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-card-rating { margin-left:auto; color:#a56f00; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-card-open {
  display:grid;
  width:20px;
  height:20px;
  place-items:center;
  border-radius:50%;
  background:#f4f1f7;
  color:#29232e;
  font-size:16px;
  line-height:1;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-card-action { display:none; }

body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-view {
  margin:0;
  padding:0 0 104px;
  background:#f6f5f7;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-hero {
  position:relative;
  display:block;
  margin:0;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:0;
  background:#f6f5f7;
  box-shadow:none;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-hero .store-item-visual.detail {
  width:100%;
  min-height:226px;
  height:226px;
  border-radius:0;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-hero .store-item-visual.detail i { transform:scale(1.45); }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-hero .store-item-visual.detail img { width:176px; max-height:206px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-hero-label {
  position:absolute;
  z-index:3;
  top:16px;
  left:18px;
  padding:7px 10px;
  background:rgba(255,255,255,.9);
  color:#2a2430;
  font-size:8px;
  backdrop-filter:blur(12px);
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-save {
  position:absolute;
  z-index:3;
  top:14px;
  right:16px;
  display:grid;
  width:38px;
  height:38px;
  padding:0;
  place-items:center;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.9);
  color:#302936;
  font-family:inherit;
  font-size:22px;
  backdrop-filter:blur(12px);
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-save[aria-pressed="true"] { color:#f2ad22; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-copy {
  position:relative;
  z-index:2;
  margin-top:-24px;
  padding:23px 20px 18px;
  border-radius:27px 27px 0 0;
  background:#fff;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-kicker { display:flex; align-items:center; justify-content:space-between; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-kicker span,
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-kicker em {
  padding:5px 8px;
  border-radius:999px;
  font-size:8px;
  font-style:normal;
  font-weight:900;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-kicker span { background:#fff2c8; color:#9c6b00; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-kicker em { background:#f2eff5; color:#777080; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-copy h1 { margin:12px 0 0; font-size:25px; line-height:1.14; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-copy > p { margin:10px 0 0; font-size:10px; line-height:1.65; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-facts {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:16px;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-facts div { min-width:0; padding:11px 9px; border-radius:15px; background:#f6f4f7; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-facts span,
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-facts strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-facts span { color:#968e9d; font-size:8px; font-weight:820; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-facts strong { margin-top:4px; color:#2d2633; font-size:9px; font-weight:950; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-context {
  display:grid;
  grid-template-columns:30px 1fr;
  align-items:center;
  gap:9px;
  margin-top:14px;
  padding:12px 2px 0;
  border-top:1px solid #eeeaf0;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-context i { display:grid; width:30px; height:30px; place-items:center; border-radius:11px; background:#fff2c8; color:#a97200; font-size:18px; font-style:normal; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-context small,
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-context strong { display:block; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-context small { color:#9b939f; font-size:7px; font-weight:800; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-context strong { margin-top:2px; color:#2d2732; font-size:10px; font-weight:950; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-block {
  margin:10px 0 0;
  padding:18px 20px;
  border:0;
  border-radius:0;
  background:#fff;
  box-shadow:none;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-block-head { margin-bottom:13px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-block h2,
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-block-head h2 { font-size:15px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-block-head h2::before,
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-block > h2::before {
  content:"";
  display:inline-block;
  width:5px;
  height:17px;
  margin-right:8px;
  border-radius:999px;
  background:#ffc337;
  vertical-align:-3px;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-list { gap:8px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-list span { min-height:31px; padding:7px 9px; font-size:9px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-block.info p { font-size:10px; line-height:1.65; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-process-block > p {
  margin:11px 0 0;
  color:#746d79;
  font-size:10px;
  line-height:1.65;
  font-weight:720;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-process {
  display:grid;
  grid-template-columns:auto 1fr auto 1fr auto;
  align-items:start;
  gap:6px;
  margin-top:15px;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-process span {
  display:grid;
  justify-items:center;
  gap:6px;
  width:76px;
  color:#6f6875;
  font-size:7px;
  line-height:1.25;
  font-weight:850;
  text-align:center;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-process b {
  display:grid;
  width:24px;
  height:24px;
  place-items:center;
  border-radius:50%;
  background:#fff2c8;
  color:#9b6c05;
  font-size:9px;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-process i {
  height:1px;
  margin-top:12px;
  background:#e7e1e9;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-rating-body { margin-top:12px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-rating-body strong { font-size:40px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-related-block { overflow:hidden; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-related-block .store-card-row { margin-right:-20px; margin-left:-20px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-sticky {
  position:sticky;
  z-index:35;
  bottom:12px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  margin:14px 16px 0;
  padding:8px 8px 8px 14px;
  border-radius:22px;
  background:rgba(255,255,255,.94);
  box-shadow:inset 0 0 0 1px rgba(39,32,46,.07),0 14px 34px rgba(37,30,43,.16);
  backdrop-filter:blur(22px);
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-sticky small,
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-sticky strong { display:block; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-sticky small { color:#9a929f; font-size:7px; font-weight:850; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-sticky strong { margin-top:3px; overflow:hidden; color:#29232e; font-size:10px; font-weight:950; text-overflow:ellipsis; white-space:nowrap; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-sticky button {
  min-width:112px;
  height:44px;
  padding:0 18px;
  border:0;
  border-radius:16px;
  background:linear-gradient(145deg,#ffca48,#f2ad22);
  color:#201b24;
  font-family:inherit;
  font-size:11px;
  font-weight:950;
  box-shadow:0 8px 18px rgba(231,162,22,.17);
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-sticky button.is-purchased { background:#eeeaf1; color:#675f6c; box-shadow:none; }

/* Calm catalog composition: one hero, one segmented category bar, one continuous list. */
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-world-hero {
  min-height:124px;
  padding:18px;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-world-hero .store-hero-copy > span { display:none; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-world-hero .store-hero-copy h1 { margin-top:9px; margin-bottom:9px; font-size:26px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-world-hero .store-hero-art { width:118px; height:118px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-world-hero .store-hero-art img { width:98px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-category-dock {
  gap:2px;
  margin:0 0 22px;
  padding:4px;
  border-radius:18px;
  background:rgba(255,255,255,.88);
  box-shadow:inset 0 0 0 1px rgba(44,35,54,.05),0 8px 20px rgba(43,34,59,.045);
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-category {
  min-height:38px;
  padding:0 14px;
  border-radius:14px;
  background:transparent;
  box-shadow:none;
  font-size:9px;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-category svg { display:none; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-category[aria-pressed="true"] {
  background:#211c26;
  color:#fff;
  box-shadow:none;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-section { margin-bottom:22px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-section-head { padding:0 2px 11px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-section-head h2 { font-size:18px; }

body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-spotlight { display:block; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-item-card.spotlight {
  display:grid;
  grid-template-columns:142px minmax(0,1fr);
  width:100%;
  min-height:164px;
  max-height:164px;
  overflow:hidden;
  border:0;
  border-radius:27px;
  background:#fff;
  box-shadow:inset 0 0 0 1px rgba(44,35,54,.05),0 15px 34px rgba(43,34,59,.075);
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-item-card.spotlight .store-item-visual {
  width:142px;
  min-height:164px;
  height:164px;
  border-radius:0;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-item-card.spotlight .store-item-visual img { width:108px; max-height:140px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-item-card.spotlight .store-item-visual i { transform:scale(1); }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-item-card.spotlight .store-card-body { padding:17px 16px 14px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-item-card.spotlight h3 { margin-bottom:7px; font-size:18px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-item-card.spotlight p { margin-bottom:8px; font-size:10px; line-height:1.45; -webkit-line-clamp:3; }

body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-card-grid {
  display:block;
  margin:0;
  padding:4px 14px;
  overflow:hidden;
  border-radius:25px;
  background:rgba(255,255,255,.94);
  box-shadow:inset 0 0 0 1px rgba(44,35,54,.05),0 12px 28px rgba(43,34,59,.055);
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-card-grid .store-item-card,
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-card-grid .store-item-card.compact {
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  width:100%;
  min-height:96px;
  max-height:none;
  border:0;
  border-bottom:1px solid #eeeaf0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-card-grid .store-item-card:last-child { border-bottom:0; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-card-grid .store-item-visual {
  align-self:center;
  justify-self:start;
  width:58px;
  min-height:58px;
  height:58px;
  margin-left:4px;
  border-radius:17px;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-card-grid .store-item-visual img { width:48px; max-height:54px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-card-grid .store-item-visual i { transform:scale(.54); }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-card-grid .store-card-body { padding:12px 2px 11px 8px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-card-grid .store-label-row { margin-bottom:4px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-card-grid .store-pill {
  padding:0;
  background:transparent;
  color:#8a6b23;
  font-size:7px;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-card-grid .store-item-card h3 { margin-bottom:4px; font-size:14px; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-card-grid .store-item-card p {
  display:block;
  margin-bottom:5px;
  overflow:hidden;
  font-size:8.5px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-card-grid .store-card-open {
  width:auto;
  height:auto;
  border-radius:0;
  background:transparent;
  font-size:17px;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-search-panel {
  margin:0 0 22px;
  padding:0;
  border:0;
}
body.panda-app .panda-app-stage.is-shop-shell > .app-shell-bottom { display:none !important; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-rows {
  border-top:1px solid #eeeaf0;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-rows > div {
  display:grid;
  grid-template-columns:74px minmax(0,1fr);
  gap:12px;
  padding:11px 0;
  border-bottom:1px solid #eeeaf0;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-rows span {
  color:#958d9a;
  font-size:8px;
  font-weight:850;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-rows strong {
  color:#302936;
  font-size:9.5px;
  line-height:1.45;
  font-weight:900;
  text-align:right;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-fields {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:12px;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-fields span {
  padding:5px 8px;
  border-radius:999px;
  background:#f5f2f7;
  color:#766f7c;
  font-size:7.5px;
  font-weight:850;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone.is-store-detail .store-toolbar {
  grid-template-columns:40px minmax(0,1fr) auto;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone.is-store-detail .store-toolbar::after { display:none; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-toolbar-primary {
  min-width:72px;
  height:40px;
  padding:0 12px;
  border:0;
  border-radius:14px;
  background:#ffc33f;
  color:#211c26;
  font-family:inherit;
  font-size:9px;
  font-weight:950;
  white-space:nowrap;
}
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-toolbar-primary.is-purchased { background:#eeeaf1; color:#675f6c; }
body.panda-app .panda-app-stage.is-shop-shell .shop-phone .store-detail-view { padding-bottom:30px; }

@media (prefers-reduced-motion: reduce) {
  body.panda-app .entity-phone[data-profile-surface].person-space.is-profile-editing :is([data-profile-cover-edit],[data-profile-avatar-edit],[data-profile-name],[data-profile-signature],[data-profile-subscription-edit],[data-profile-connect-edit],[data-profile-widget],.profile-add-widget) { animation:none; }
}

/* Final cross-page interface layer. */
body.panda-app .schedule-phone.schedule-v2 .schedule-v2-tabs button.is-active,
body.panda-app .entity-phone .entity-tabs button.active {
  border: 0;
  background: #fff;
  color: var(--pc-text);
  box-shadow: 0 5px 14px rgba(44, 35, 57, 0.07);
}
body.panda-app .entity-phone .entity-tabs button::after { display: none; }
body.panda-app .bottom-nav a { border-radius: 14px; outline: none; }
body.panda-app button:focus-visible,
body.panda-app input:focus-visible {
  outline: 2px solid rgba(246, 185, 30, 0.46);
  outline-offset: -2px;
}
body.panda-app .bottom-nav a:focus-visible { outline: none; }
body.panda-app .discover-v2-intro {
  margin: 0 var(--pc-inset) 10px;
  padding: 76px 0 10px;
}
body.panda-app .discover-v2-intro > .discover-v2-hero {
  position: relative;
  display: flex;
  min-height: 116px;
  align-items: center;
  overflow: hidden;
}
body.panda-app .discover-v2-intro .discover-v2-hero-copy {
  position: relative;
  z-index: 2;
  display: block;
  width: 66%;
  padding: 5px 0 9px 2px;
}
body.panda-app .discover-v2-intro .discover-v2-hero-copy > small {
  display: inline-flex;
  width: max-content;
  margin: 0 0 8px;
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--pc-control);
  color: var(--pc-secondary);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: 0;
}
body.panda-app .discover-v2-intro .discover-v2-greeting { display: flex; align-items: center; gap: 6px; }
body.panda-app .discover-v2-intro .discover-v2-greeting h1 {
  margin: 0;
  color: var(--pc-text);
  font-size: 25px;
  font-weight: 950;
  line-height: 1;
  letter-spacing: -0.045em;
}
body.panda-app .discover-v2-intro .discover-v2-greeting span { font-size: 19px; }
body.panda-app .discover-v2-intro .discover-v2-hero-copy > p {
  margin: 8px 0 0;
  color: #302a38;
  font-size: 11px;
  font-weight: 850;
}
body.panda-app .discover-v2-intro .discover-v2-guide {
  position: relative;
  display: inline-block;
  margin-top: 8px;
  padding: 0 3px 3px;
  border: 0;
  background: transparent;
  color: #cf9410;
  font-family: inherit;
  font-size: 10px;
  font-weight: 900;
  transform-origin: left center;
  animation: panda-guide-breathe 4.8s cubic-bezier(0.22, 1, 0.36, 1) infinite;
  will-change: opacity, transform;
}
body.panda-app .discover-v2-intro .discover-v2-guide::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(246, 185, 30, 0.18), rgba(246, 185, 30, 0.82), rgba(246, 185, 30, 0.18));
  content: "";
  transform: scaleX(0.2);
  transform-origin: left center;
  animation: panda-guide-line 4.8s cubic-bezier(0.22, 1, 0.36, 1) infinite;
}
body.panda-app .discover-v2-intro:has(.discover-v2-search:focus-within) .discover-v2-guide,
body.panda-app .discover-v2-intro:has(.discover-v2-search:focus-within) .discover-v2-guide::after,
body.panda-app .discover-v2-guide:hover,
body.panda-app .discover-v2-guide:focus-visible,
body.panda-app .discover-v2-guide:hover::after,
body.panda-app .discover-v2-guide:focus-visible::after {
  animation-play-state: paused;
}
@keyframes panda-guide-breathe {
  0%, 100% { opacity: 0.2; transform: translateY(3px); }
  18% { opacity: 0.58; transform: translateY(1px); }
  34%, 70% { opacity: 1; transform: translateY(0); }
  86% { opacity: 0.58; transform: translateY(-1px); }
}
@keyframes panda-guide-line {
  0%, 100% { opacity: 0; transform: scaleX(0.2); }
  28% { opacity: 0.6; transform: scaleX(0.58); }
  52%, 72% { opacity: 1; transform: scaleX(1); }
  90% { opacity: 0.15; transform: scaleX(1); }
}
body.panda-app .discover-v2-intro .discover-v2-hero > img {
  position: absolute;
  right: -5px;
  bottom: -8px;
  width: 132px;
  height: 126px;
  object-fit: contain;
  object-position: center bottom;
  filter: drop-shadow(0 12px 16px rgba(54, 42, 66, 0.1));
}

@media (prefers-reduced-motion: reduce) {
  body.panda-app .discover-v2-intro .discover-v2-guide,
  body.panda-app .discover-v2-intro .discover-v2-guide::after {
    animation: none;
  }
  body.panda-app .discover-v2-intro .discover-v2-guide { opacity: 1; transform: none; }
  body.panda-app .discover-v2-intro .discover-v2-guide::after { opacity: 0.7; transform: scaleX(1); }
}

body.panda-app .pc-page-heading { margin: 0 var(--pc-inset) var(--pc-space-3); padding-top: 0; }
body.panda-app .conversations-search-row { gap: 8px; margin: 0 var(--pc-inset) var(--pc-space-3); }
body.panda-app .conversations-search,
body.panda-app .conversations-filter-toggle {
  min-height: 46px;
  border: 1px solid var(--pc-line);
  border-radius: var(--pc-radius-control);
  background: var(--pc-surface);
  box-shadow: var(--pc-shadow-control);
}
body.panda-app .conversations-filter-toggle { width: 46px; height: 46px; }

body.panda-app .schedule-v2-tabs,
body.panda-app .entity-tabs {
  display: grid;
  min-height: 48px;
  padding: 4px;
  border: 1px solid var(--pc-line);
  border-radius: 18px;
  background: var(--pc-control);
  box-shadow: none;
}
body.panda-app .schedule-v2-tabs { grid-template-columns: repeat(3, 1fr); margin: 0 var(--pc-inset) var(--pc-space-3); }
body.panda-app .entity-tabs { grid-template-columns: repeat(2, 1fr); }
body.panda-app .schedule-v2-tabs button,
body.panda-app .entity-tabs button {
  min-height: 38px;
  border: 0;
  border-radius: 14px;
  background: transparent;
  color: var(--pc-secondary);
  box-shadow: none;
}
body.panda-app .schedule-v2-tabs button.is-active,
body.panda-app .entity-tabs button.active {
  background: #fff;
  color: var(--pc-text);
  box-shadow: 0 5px 14px rgba(44, 35, 57, 0.07);
}

body.panda-app .conversation-row,
body.panda-app .panda-v2-command,
body.panda-app .create-action-templates,
body.panda-app .panda-v2-summary,
body.panda-app .now-v2-action-card,
body.panda-app .schedule-week-card,
body.panda-app .schedule-todo-board,
body.panda-app .entity-profile-bubble,
body.panda-app .entity-widget {
  border: 1px solid var(--pc-line);
  border-radius: var(--pc-radius-card);
  background-color: var(--pc-surface);
  box-shadow: var(--pc-shadow-card);
}
body.panda-app .conversation-list { gap: var(--pc-space-2); margin-inline: var(--pc-inset); }
body.panda-app .conversation-row { min-height: 88px; padding: 12px; }
body.panda-app .panda-v2-summary { gap: 4px; margin-inline: var(--pc-inset); padding: 5px; }
body.panda-app .panda-v2-summary > button { border-radius: 16px; }
body.panda-app .panda-v2-summary > button.is-active { background: var(--pc-yellow-soft); box-shadow: none; }
body.panda-app .schedule-v2-context {
  margin: 0 var(--pc-inset) var(--pc-space-3);
  padding: 82px 0 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.panda-app .entity-tabs-shell { margin: var(--pc-space-3) var(--pc-inset); }
body.panda-app .entity-profile-bubble { margin-inline: var(--pc-inset); }
body.panda-app .entity-panel { gap: var(--pc-space-2); margin-inline: var(--pc-inset); }
.panda-algorithm-proof {
  margin: 16px 18px;
  padding: 18px;
  border: 1px solid rgba(249, 184, 55, .42);
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,247,222,.86));
  box-shadow: 0 16px 36px rgba(45, 34, 66, .07);
}
.panda-algorithm-proof header,
.panda-algorithm-proof-grid { display: flex; align-items: center; gap: 10px; }
.panda-algorithm-proof header { justify-content: space-between; }
.panda-algorithm-proof h2 { margin: 3px 0 0; font-size: 20px; }
.panda-algorithm-proof header small,
.panda-algorithm-proof p,
.panda-algorithm-proof-grid span { color: #7b7487; }
.panda-algorithm-proof header b { color: #1c9b70; }
.panda-algorithm-proof-grid { flex-wrap: wrap; margin: 14px 0; }
.panda-algorithm-proof-grid span { padding: 8px 11px; border-radius: 999px; background: rgba(255,255,255,.82); font-size: 12px; }
.panda-algorithm-proof button { border: 0; border-radius: 999px; padding: 10px 15px; background: #ffc54b; color: #17131f; font-weight: 800; }
.panda-algorithm-result { margin-top: 12px; padding: 12px; border-radius: 16px; background: rgba(255,255,255,.86); }
.schedule-board-head-actions { display: flex; align-items: center; gap: 8px; }
.schedule-board-head-actions [data-course-import] { border: 0; border-radius: 999px; padding: 9px 13px; background: #eef4ff; color: #3777d6; font-weight: 800; }
.room-tools button small { display: block; font-size: 9px; line-height: 1.1; }
