:root {
  color-scheme: dark;
  --bg: #080f12;
  --panel: #111d20;
  --panel2: #152529;
  --ink: #d0dccf;
  --muted: #a2b5af;
  --green: #85d69c;
  --blue: #86c6de;
  --line: #2b4140;
  --accent: #85d69c;
}
:root {
  --hover-bg: #1a3436;
  --selected-bg: #17302c;
  --bubble-out: #173128;
  --bubble-in: #172d38;
  --strong-line: #527369;
  --amber: #dfc589;
  --warning-ink: #f0c380;
  --warning-bg: #392b18;
  --urgent-line: #a18453;
  --danger: #efa89c;
  --smoke-green: #16322b60;
  --smoke-blue: #15354a44;
  --star: #38554944;
  --tint: #90c0c433;
  --shadow: #0008;
  --overlay: #030a0dd9;
  --button-bg: #14262a;
  --button-ink: #d0dccf;
}
:root[data-mode="light"] {
  color-scheme: light;
  --bg: #e8eee4;
  --panel: #f1f4ec;
  --panel2: #dce7dd;
  --ink: #243c31;
  --muted: #4c6257;
  --green: #23633b;
  --blue: #185773;
  --line: #748b7d;
  --accent: #23633b;
  --hover-bg: #cbded0;
  --selected-bg: #ccdfcd;
  --bubble-out: #d2e6d4;
  --bubble-in: #d8e7ef;
  --strong-line: #526d60;
  --amber: #72521b;
  --warning-ink: #715016;
  --warning-bg: #f3e8c8;
  --urgent-line: #886c30;
  --danger: #8d332c;
  --smoke-green: #84ab8540;
  --smoke-blue: #76a4b52b;
  --star: #38554918;
  --tint: #2f796b18;
  --shadow: #14362430;
  --overlay: #1b342f77;
}
:root[data-mode="light"] button,
:root[data-mode="light"] .button {
  background: var(--button-bg);
  color: var(--button-ink);
}
:root[data-mode="light"] button.danger {
  color: #ffb8aa;
}
:root[data-mode="light"] .quiet {
  background: transparent;
  color: var(--blue);
}
:root[data-mode="light"] .reaction-options button[aria-pressed="true"],
:root[data-mode="light"] .chat-reaction-count[aria-pressed="true"] {
  box-shadow: inset 0 -3px #85d69c;
}
.mode-control {
  margin-left: auto;
}
.mode-control select {
  font-size: 0.8rem;
  max-width: 105px;
  min-height: 36px;
  padding: 4px 8px;
}
.totp-qr {
  display: block;
  width: 220px;
  max-width: 100%;
  height: auto;
  margin: 12px 0;
}
.setup-key {
  overflow-wrap: anywhere;
}
.recovery-codes {
  padding: 12px;
  border: 2px solid var(--accent);
  border-radius: 8px;
}
.recovery-codes ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  list-style: none;
  padding: 0;
}
.recovery-codes code {
  font-size: 0.95rem;
  user-select: all;
}
.notification-toggle svg {
  display: block;
}
.main-nav .notification-toggle {
  min-width: 44px;
  min-height: 44px;
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

* {
  box-sizing: border-box;
}
[hidden] {
  display: none !important;
}
body {
  margin: 0;
  background:
    radial-gradient(ellipse at 10% 0%, var(--smoke-green), transparent 45%),
    radial-gradient(ellipse at 100% 20%, var(--smoke-blue), transparent 50%),
    var(--bg);
  color: var(--ink);
  font:
    16px/1.5 system-ui,
    sans-serif;
  min-height: 100dvh;
}
h1,
h2,
h3,
p {
  margin-top: 0;
}
h1 {
  font:
    500 2rem/1.2 Georgia,
    serif;
  letter-spacing: -0.025em;
  margin-bottom: 12px;
}
h2 {
  font-size: 18px;
  line-height: 1.35;
  margin-bottom: 12px;
}
h3 {
  font-size: 16px;
  margin-bottom: 10px;
}
p {
  margin-bottom: 12px;
}
a {
  color: var(--blue);
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
  color: var(--green);
}
button,
.button {
  font: inherit;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--panel2);
  color: var(--blue);
  border: 1px solid var(--strong-line);
  border-radius: 6px;
  padding: 8px 13px;
  min-height: 44px;
  line-height: 1.3;
  text-decoration: none;
}
button:hover,
.button:hover {
  background: var(--hover-bg);
  border-color: var(--accent);
  text-decoration: none;
}
button:disabled {
  opacity: 0.5;
  cursor: default;
}
.primary {
  border-color: var(--strong-line);
  color: var(--green);
  background: var(--selected-bg);
  box-shadow: 0 0 12px var(--tint);
}
.primary:hover {
  box-shadow: 0 0 14px var(--tint);
}
.quiet {
  padding: 4px 6px;
  min-height: 40px;
  border: 0;
  box-shadow: none;
  background: none;
  color: var(--muted);
}
.danger {
  color: var(--danger);
  border-color: var(--strong-line);
}
:focus-visible {
  outline: 3px solid var(--blue);
  outline-offset: 3px;
}
.skip {
  position: fixed;
  top: -70px;
  left: 10px;
  background: var(--panel);
  padding: 12px;
  z-index: 100;
}
.skip:focus {
  top: 0;
}
.sr-only,
.visually-hidden-file {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.topbar {
  max-width: 1400px;
  padding: 10px 24px;
  margin: auto;
  display: flex;
  align-items: center;
  gap: 16px;
  border-bottom: 1px solid var(--line);
  width: 100%;
  flex-shrink: 0;
}
.brand {
  display: flex;
  align-items: center;
  gap: 15px;
  color: var(--ink);
  font-weight: 700;
  font-size: 17px;
  letter-spacing: 2.4px;
}
.brand img {
  width: 62px;
  height: 44px;
  object-fit: contain;
}
.brand small {
  display: block;
  font-size: 8px;
  letter-spacing: 2px;
  color: var(--muted);
}
.age-label {
  margin-left: auto;
  font-size: 10px;
  color: var(--muted);
  letter-spacing: 1px;
}
.account-link {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 13px;
}
.account-link .avatar-image {
  width: 30px;
  height: 30px;
  border-radius: 9px;
}
.main-nav {
  max-width: 1360px;
  width: 100%;
  margin: auto;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 3px 20px;
  border-bottom: 1px solid var(--line);
  font-size: 14px;
  flex-shrink: 0;
}
.main-nav > a {
  white-space: nowrap;
  color: var(--ink);
  padding: 12px 3px 9px;
  border-bottom: 3px solid transparent;
  min-height: 46px;
}
.main-nav > a[aria-current="page"] {
  border-bottom-color: var(--green);
  font-weight: 750;
  color: var(--green);
}
.main-nav > form {
  margin-left: 0;
  flex-shrink: 0;
}
.main-nav .notification-toggle {
  margin-left: auto;
  flex-shrink: 0;
  padding: 6px 8px;
  border: 0;
  background: transparent;
  gap: 5px;
}
.notification-count {
  font-size: 12px;
  min-width: 17px;
}
.notification-count.has-unread {
  color: var(--green);
  font-weight: 750;
  border-bottom: 2px solid var(--green);
}
.container {
  max-width: 1260px;
  width: 100%;
  margin: auto;
  padding: 16px 22px 34px;
  min-height: 65vh;
}
.panel {
  background: linear-gradient(145deg, var(--panel2), var(--panel));
  border: 1px solid var(--line);
  border-radius: 9px;
  padding: 16px;
  margin-bottom: 14px;
  overflow-wrap: anywhere;
}
.compact-title {
  font-size: 27px;
  margin: 0;
  line-height: 1.2;
}
.section-heading,
.page-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  margin-bottom: 14px;
}
.section-heading > h2 {
  margin: 0;
}
.section-heading > a {
  font-size: 13px;
}
.page-heading p {
  margin: 0;
  color: var(--muted);
}
.eyebrow {
  display: block;
  color: var(--green);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.8px;
  margin-bottom: 12px;
}
.section-label {
  display: flex;
  justify-content: space-between;
  color: var(--muted);
  font-size: 11px;
  letter-spacing: 0.6px;
  padding: 0 2px 10px;
}
.narrow {
  max-width: 680px;
  margin: 12px auto;
}
.two-col {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: 18px;
}
.small-text,
.helptext {
  font-size: 13px;
  color: var(--muted);
}
small {
  display: block;
  color: var(--muted);
  font-size: 12px;
}
.notice {
  background: #192c25;
  border: 1px solid var(--strong-line);
  color: var(--ink);
  padding: 10px 14px;
  border-radius: 7px;
  margin-bottom: 12px;
  font-size: 14px;
}
.notice:empty {
  display: none;
}
label {
  display: block;
  font-size: 14px;
  margin: 10px 0 5px;
}
input,
textarea,
select {
  font: inherit;
  line-height: 1.45;
  background: var(--bg);
  border: 1px solid var(--strong-line);
  color: var(--ink);
  border-radius: 6px;
  max-width: 100%;
  padding: 9px;
  width: 100%;
  margin: 4px 0;
}
input::placeholder,
textarea::placeholder {
  color: var(--muted);
  opacity: 1;
}
input[type="checkbox"] {
  width: 20px;
  height: 20px;
  vertical-align: middle;
  margin-right: 8px;
  accent-color: var(--strong-line);
  flex-shrink: 0;
}
input[type="file"] {
  font-size: 14px;
}
input[type="range"] {
  padding: 4px;
  min-height: 35px;
  accent-color: var(--green);
}
textarea {
  resize: vertical;
  min-height: 60px;
}
select {
  font-size: 14px;
  min-height: 42px;
}
.errorlist {
  color: var(--danger);
}
.helptext ul {
  padding-left: 18px;
}
.check {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 15px 0;
}
.inline {
  display: flex;
  align-items: center;
  gap: 10px;
}
.inline > input,
.inline > select {
  flex: 1;
  min-width: 0;
}
.identity-row,
.person-identity {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.avatar-image {
  display: block;
  width: 40px;
  height: 40px;
  object-fit: cover;
  border-radius: 12px;
  border: 1px solid var(--strong-line);
  background: var(--selected-bg);
  flex-shrink: 0;
}
.avatar-image.avatar-large {
  width: 64px;
  height: 64px;
  border-radius: 19px;
}
.avatar-change {
  padding: 0;
  border: 0;
  background: transparent;
  border-radius: 19px;
  min-height: 0;
  box-shadow: none;
}
.avatar-change:hover {
  outline: 2px solid var(--green);
}
.avatar-change img {
  pointer-events: none;
}
.home-layout {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 16px;
  max-width: 1100px;
  margin: auto;
}
.home-feed {
  min-width: 0;
}
.member-card {
  padding: 14px;
}
.member-card .identity-row {
  gap: 10px;
}
.member-card strong {
  font-size: 15px;
}
.member-card .avatar-large {
  width: 52px;
  height: 52px;
}
.member-links {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  flex-wrap: wrap;
  font-size: 12px;
  margin-top: 8px;
}
.member-links .quiet {
  font-size: 12px;
}
.top-friends h2 {
  font-size: 16px;
}
.top-friend-grid {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px 8px;
}
.top-friend-grid li {
  min-width: 0;
  text-align: center;
}
.top-friend-grid a {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 5px;
  min-height: 44px;
}
.top-friend-grid .avatar-image {
  width: 46px;
  height: 46px;
}
.top-friend-grid span {
  font-size: 11px;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  white-space: nowrap;
}
.top-friend-grid .top-empty {
  grid-column: 1/-1;
  text-align: left;
  font-size: 13px;
  color: var(--muted);
}
.top-friend-grid .top-empty a {
  display: inline;
}
.compact-buddie {
  display: flex;
  align-items: center;
  gap: 10px;
}
.compact-buddie > img {
  width: 54px;
  height: 90px;
  object-fit: contain;
}
.compact-buddie strong {
  font-size: 13px;
}
.compact-buddie p,
.compact-buddie a {
  font-size: 12px;
  margin: 5px 0;
}
.composer-heading {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}
.composer-heading .avatar-image {
  width: 32px;
  height: 32px;
  border-radius: 10px;
}
.composer h2 {
  font-size: 16px;
  margin: 0;
}
.composer textarea {
  min-height: 68px;
  max-height: 220px;
  display: block;
  margin-top: 0;
}
.composer-actions {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
}
.composer-actions > label {
  max-width: 65%;
  font-size: 12px;
  margin: 4px 0;
}
.composer-actions select {
  margin: 2px 0 0;
  padding: 7px;
  min-height: 38px;
}
.composer-actions .primary {
  min-width: 85px;
}
.photo-options {
  margin-top: 10px;
}
.photo-options > summary {
  color: var(--blue);
  cursor: pointer;
  font-size: 13px;
  min-height: 32px;
  padding-top: 5px;
}
.photo-options label {
  font-size: 13px;
}
.upload-preview {
  max-width: 100%;
  max-height: 200px;
  display: block;
  margin: 12px 0;
}
.post {
  padding: 15px 17px;
}
.post-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}
.post-head a {
  color: var(--ink);
}
.post-head strong {
  font-size: 14px;
}
.post-head small {
  font-size: 11px;
}
.post-body {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  margin-bottom: 12px;
}
.post-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  font-size: 12px;
  border-top: 1px solid var(--line);
  padding-top: 5px;
  margin-top: 10px;
}
.post-actions form {
  margin: 0;
}
.post-actions button {
  font-size: 12px;
  min-height: 38px;
  padding: 5px 0;
}
.post-photo {
  display: block;
  max-height: 600px;
  max-width: 100%;
  border-radius: 7px;
}
figure {
  margin: 12px 0;
}
figcaption {
  font-size: 13px;
  color: var(--muted);
  padding-top: 5px;
}
.mention {
  color: var(--green);
  font-weight: 600;
}
.comment {
  border-bottom: 1px solid var(--line);
  padding: 12px 0;
}
.comment .identity-row {
  margin-bottom: 5px;
}
.comment .avatar-image {
  width: 30px;
  height: 30px;
  border-radius: 9px;
}
.empty {
  text-align: center;
  padding: 24px 18px;
}
.empty-mark {
  font-size: 28px;
  color: var(--green);
}
.empty p,
.compact-empty {
  color: var(--muted);
  font-size: 14px;
}
.compact-empty {
  padding: 14px 0;
  margin: 0;
}
.pagination {
  display: flex;
  gap: 20px;
  justify-content: center;
  align-items: center;
  margin: 18px 0;
}
.pagination a {
  padding: 7px;
}
.people-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(250px, 1fr);
  gap: 16px;
}
.person-row {
  padding: 11px 0;
  border-bottom: 1px solid var(--line);
}
.compact-person {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.person-identity {
  min-height: 44px;
}
.person-identity strong {
  font-size: 14px;
}
.person-identity small {
  font-size: 12px;
}
.friendship-state {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
}
.friendship-state button {
  font-size: 12px;
  padding: 7px 10px;
}
.person-row .inline {
  margin-top: 8px;
}
.top-editor-list {
  list-style: none;
  margin: 12px 0;
  padding: 0;
  counter-reset: top;
}
.top-editor-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
  counter-increment: top;
}
.top-editor-list li:before {
  content: counter(top);
  color: var(--muted);
  width: 18px;
  flex-shrink: 0;
}
.top-editor-list li > a {
  flex: 1;
}
.top-editor-list form {
  display: flex;
  gap: 5px;
}
.top-editor-list button {
  padding: 6px 10px;
  font-size: 13px;
}
.profile-cover {
  height: 160px;
  position: relative;
  overflow: hidden;
  border-radius: 10px 10px 0 0;
}
.profile-cover > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.65);
}
.profile-cover .eyebrow {
  position: absolute;
  bottom: 5px;
  left: 20px;
}
.profile-intro {
  display: flex;
  align-items: center;
  gap: 16px;
  border-radius: 0 0 9px 9px;
}
.profile-intro h1 {
  font-size: 30px;
  margin: 0;
}
.profile-intro p {
  margin: 0;
}
.profile-avatar-control {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 3px;
  flex-shrink: 0;
}
.profile-avatar-control > .quiet {
  font-size: 11px;
  min-height: 32px;
}
.profile-actions {
  margin-left: auto;
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  max-width: 350px;
  font-size: 12px;
}
.profile-actions button,
.profile-actions .button {
  font-size: 12px;
  padding: 7px 10px;
}
.profile-columns {
  grid-template-columns: 260px minmax(0, 1fr);
}
.theme-blue {
  --accent: var(--blue);
  --green: var(--blue);
  --line: var(--strong-line);
}
.theme-amber {
  --accent: var(--amber);
  --green: var(--amber);
  --line: var(--strong-line);
}
.background-smoke {
  background: radial-gradient(ellipse at 0% 20%, var(--star), transparent 70%);
}
.background-stars {
  background-image: radial-gradient(var(--tint) 1px, transparent 1px);
  background-size: 22px 22px;
}
.layout-wide .profile-columns {
  grid-template-columns: 220px minmax(0, 1fr);
}
.gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
  gap: 12px;
}
.gallery img {
  width: 100%;
  height: 150px;
  object-fit: cover;
  border-radius: 7px;
}
.gallery-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 18px;
}
.gallery-toolbar small {
  margin-top: 5px;
}
.gallery-controls {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.gallery-controls button {
  font-size: 14px;
}
.gallery-expanded {
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 18px;
}
.gallery-expanded figure {
  margin: 0;
  min-width: 0;
}
.gallery-expanded img {
  height: 220px;
}
.gallery-expanded figcaption {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.gallery-empty {
  grid-column: 1/-1;
  padding: 60px 20px;
  text-align: center;
  color: var(--muted);
}
.gallery-empty h2 {
  color: var(--ink);
}
.album-link {
  display: block;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}
.compact-dialog {
  width: min(560px, calc(100vw - 24px));
  max-height: calc(100dvh - 32px);
  border: 1px solid var(--strong-line);
  border-radius: 12px;
  color: var(--ink);
  background: var(--panel);
  padding: 20px;
  overflow: auto;
  box-shadow: 0 20px 90px var(--shadow);
}
.compact-dialog .section-heading > button {
  font-size: 22px;
  padding: 5px;
  width: 44px;
}
.wide-dialog {
  width: min(760px, calc(100vw - 24px));
}
dialog::backdrop {
  background: var(--overlay);
}
.compact-dialog h2 {
  margin: 0;
}
.avatar-crop canvas {
  width: 200px;
  height: 200px;
  max-width: 100%;
  border-radius: 16px;
  display: block;
  margin: 12px auto;
}
.avatar-crop label {
  display: grid;
  grid-template-columns: 140px 1fr;
  align-items: center;
  gap: 8px;
}
.batch-previews {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 16px 0;
}
.batch-item {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 7px;
  min-width: 0;
}
.batch-item > img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 7px;
}
.batch-item-copy {
  flex: 1;
  min-width: 0;
  font-size: 13px;
}
.batch-item-copy strong {
  display: block;
  overflow-wrap: anywhere;
}
.batch-item-copy > span {
  display: block;
  color: var(--muted);
}
.batch-item button {
  font-size: 12px;
  padding: 7px;
}
progress {
  width: 100%;
  height: 8px;
  accent-color: var(--green);
}
.media-viewer {
  width: min(1100px, calc(100vw - 24px));
  max-height: calc(100dvh - 24px);
  background: var(--bg);
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 9px;
  padding: 45px 12px 12px;
  overflow: auto;
}
.media-viewer > button {
  position: absolute;
  top: 0;
  right: 0;
  width: 44px;
  padding: 5px;
  background: var(--panel2);
  font-size: 24px;
}
.media-viewer > img {
  display: block;
  max-width: 100%;
  max-height: calc(100dvh - 90px);
  margin: auto;
  object-fit: contain;
}
.notification-popover {
  position: fixed;
  z-index: 220;
  top: 118px;
  right: max(16px, calc((100vw - 1320px) / 2));
  width: 400px;
  max-height: calc(100dvh - 140px);
  overflow: auto;
  background: var(--panel2);
  border: 1px solid var(--strong-line);
  border-radius: 10px;
  padding: 14px;
  box-shadow: 0 15px 45px var(--shadow);
}
.notification-popover .section-heading {
  margin-bottom: 6px;
}
.notification-popover h2 {
  font-size: 18px;
}
.notification-popover [data-notification-close] {
  font-size: 22px;
  width: 40px;
  padding: 3px;
  min-height: 40px;
}
.notification-popover [data-notification-clear] {
  font-size: 13px;
  min-height: 38px;
  padding: 6px 10px;
}
.notification-row {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
  font-size: 13px;
  color: var(--ink);
  overflow-wrap: anywhere;
}
.notification-row > a {
  display: flex;
  gap: 10px;
  color: var(--ink);
}
.notification-row small {
  font-size: 11px;
  margin-top: 5px;
}
.notification-row strong {
  color: var(--green);
}
.notification-row .avatar-image {
  width: 34px;
  height: 34px;
  border-radius: 10px;
}
.notification-row.is-read {
  opacity: 0.75;
}
.notification-history-link {
  display: block;
  padding: 12px 0 0;
  font-size: 13px;
}
.caught-up {
  padding: 28px 10px;
  text-align: center;
}
.caught-up p {
  font-size: 13px;
  color: var(--muted);
  margin: 7px 0;
}
.restriction-banner {
  padding: 10px 14px;
  border: 1px solid var(--urgent-line);
  border-left-width: 4px;
  border-radius: 7px;
  margin-bottom: 12px;
  background: var(--warning-bg);
  font-size: 13px;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.restriction-banner strong {
  color: var(--amber);
}
.restriction-banner span {
  flex: 1;
  min-width: 140px;
}
.restriction-detail {
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}
dl dt {
  font-size: 12px;
  color: var(--muted);
  font-weight: 650;
  margin-top: 10px;
}
dl dd {
  margin: 3px 0 10px;
  overflow-wrap: anywhere;
}
.danger-zone {
  border-color: var(--strong-line);
}
.tag-suggestions {
  position: absolute;
  z-index: 15;
  left: 16px;
  right: 16px;
  max-height: 270px;
  overflow: auto;
  border: 1px solid var(--strong-line);
  border-radius: 8px;
  background: var(--panel2);
  box-shadow: 0 10px 30px var(--shadow);
}
.composer,
[data-post-form] {
  position: relative;
}
.tag-option {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  width: 100%;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  border-radius: 0;
  padding: 8px 12px;
  text-align: left;
  min-height: 58px;
}
.tag-option.selected {
  background: var(--hover-bg);
  border-left: 3px solid var(--green);
}
.tag-option .avatar-image {
  width: 34px;
  height: 34px;
}
.tag-option strong {
  font-size: 14px;
}
.tag-option small {
  font-size: 12px;
}
.registration-rules {
  font-size: 14px;
  margin-top: 18px;
}
summary {
  cursor: pointer;
  min-height: 35px;
  padding: 7px 0;
  color: var(--blue);
}
/* Shared compact chat shell: only the history scrolls; the composer keeps its place. */
.chat-page {
  height: 100dvh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.chat-page > .container {
  flex: 1;
  min-height: 0;
  padding: 12px 20px 14px;
  display: flex;
  flex-direction: column;
  max-width: 1360px;
}
.chat-page > .container > .notice,
.chat-page > .container > .restriction-banner {
  flex-shrink: 0;
  margin-bottom: 8px;
}
.chat-page > footer {
  display: none;
}
.chat-page > .topbar,
.chat-page > .main-nav {
  margin: 0 auto;
}
.messenger {
  display: grid;
  grid-template-columns: 285px minmax(0, 1fr);
  min-height: 0;
  height: 100%;
  flex: 1;
  border: 1px solid var(--line);
  border-radius: 10px;
  overflow: hidden;
  background: var(--panel);
}
.conversation-sidebar {
  padding: 10px 0;
  min-height: 0;
  overflow-y: auto;
  border-right: 1px solid var(--line);
  background: var(--panel2);
}
.conversation-sidebar > .section-heading {
  padding: 4px 14px;
  margin-bottom: 8px;
}
.conversation-sidebar h2 {
  font-size: 17px;
}
.conversation-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 13px;
  min-height: 69px;
  border-bottom: 1px solid var(--hover-bg);
  color: var(--ink);
  border-left: 3px solid transparent;
}
.conversation-row:hover {
  background: var(--hover-bg);
  text-decoration: none;
}
.conversation-row.selected {
  border-left-color: var(--green);
  background: var(--hover-bg);
}
.conversation-row.selected strong:after {
  content: " ·";
  color: var(--green);
}
.conversation-row .avatar-image {
  width: 38px;
  height: 38px;
  border-radius: 11px;
}
.conversation-copy {
  min-width: 0;
  flex: 1;
}
.conversation-copy > div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 5px;
}
.conversation-copy strong {
  font-size: 14px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.conversation-copy time {
  font-size: 10px;
  color: var(--muted);
  white-space: nowrap;
}
.conversation-copy > span {
  display: block;
  font-size: 12px;
  color: var(--muted);
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  max-width: 100%;
  margin-top: 3px;
}
.unread-label {
  font-size: 11px;
  padding: 3px 6px;
  border: 1px solid var(--strong-line);
  border-radius: 5px;
  color: var(--green);
  font-weight: 700;
  white-space: nowrap;
}
.chat-pane {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
  min-width: 0;
  height: 100%;
  background: linear-gradient(150deg, var(--panel), var(--bg));
  padding: 0;
  margin: 0;
  border-radius: 0;
}
.chat-header {
  display: flex;
  align-items: center;
  gap: 11px;
  flex-shrink: 0;
  min-height: 63px;
  padding: 10px 16px;
  border-bottom: 1px solid var(--line);
  background: var(--panel2);
}
.chat-header h2 {
  font-size: 17px;
  margin: 0;
}
.chat-header h1 {
  font-size: 23px;
}
.chat-header small {
  font-size: 11px;
}
.chat-header > div {
  min-width: 0;
  flex: 1;
}
.chat-header > div > h2 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.chat-header > .quiet {
  font-size: 12px;
}
.chat-header .avatar-image {
  width: 38px;
  height: 38px;
}
.conversation-back {
  display: none;
  font-size: 13px;
  white-space: nowrap;
  min-height: 40px;
  align-items: center;
}
.conversation-back.always {
  display: flex;
}
.history-tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 2px 15px;
  flex-shrink: 0;
  min-height: 32px;
}
.history-tools button {
  border: 0;
  background: transparent;
  padding: 3px 0;
  min-height: 32px;
  font-size: 12px;
}
.history-tools span {
  font-size: 11px;
  color: var(--muted);
}
.chat-history {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 8px 20px 12px;
  scrollbar-color: var(--strong-line) var(--panel);
  overflow-anchor: none;
}
.empty-chat {
  color: var(--muted);
  text-align: center;
  font-size: 14px;
  padding: 30px 10px;
}
.chat-date {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-size: 11px;
  color: var(--muted);
  margin: 12px 0 15px;
}
.chat-date:before,
.chat-date:after {
  content: "";
  width: 42px;
  border-top: 1px solid var(--line);
}
.message-row {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  margin: 10px 0 2px;
  min-width: 0;
  max-width: 100%;
}
.message-row > .avatar-image {
  width: 30px;
  height: 30px;
  border-radius: 10px;
  margin-bottom: 2px;
}
.message-row.grouped {
  margin-top: 3px;
}
.message-row.grouped > .avatar-image {
  visibility: hidden;
}
.message-row.grouped .message-author {
  display: none;
}
.message-stack {
  max-width: 76%;
  min-width: 0;
}
.message-bubble {
  display: inline-block;
  min-width: 85px;
  max-width: 100%;
  padding: 8px 11px 5px;
  border: 1px solid var(--strong-line);
  border-radius: 11px 11px 11px 3px;
  background: var(--bubble-in);
  overflow-wrap: anywhere;
  box-shadow: 0 1px 4px var(--shadow);
}
.message-author {
  font-size: 12px;
  color: var(--blue);
  margin-bottom: 3px;
}
.message-body {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  margin: 0;
  font-size: 15px;
  line-height: 1.45;
}
.message-meta {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  font-size: 10px;
  margin-top: 4px;
  color: var(--muted);
  line-height: 1.3;
  min-height: 17px;
}
.message-report {
  font-size: 10px;
  color: var(--muted);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.message-row.outgoing {
  flex-direction: row-reverse;
}
.outgoing .message-bubble {
  border-color: var(--strong-line);
  border-radius: 11px 11px 3px 11px;
  background: var(--selected-bg);
}
.outgoing .message-author {
  color: var(--green);
}
.outgoing .message-stack {
  text-align: right;
}
.outgoing .message-body,
.outgoing .message-author {
  text-align: left;
}
.room-page .message-row {
  flex-direction: row;
}
.room-page .outgoing .message-bubble {
  border-radius: 11px 11px 11px 3px;
  background: var(--bubble-out);
}
.room-page .message-stack {
  max-width: 86%;
  text-align: left;
}
.chat-media-link {
  display: block;
  margin: 5px 0;
  max-width: 100%;
}
.chat-media {
  display: block;
  max-width: 100%;
  max-height: 240px;
  object-fit: contain;
  border-radius: 6px;
  width: auto;
  height: auto;
}
.gif-label {
  display: block;
  font-size: 10px;
  color: var(--muted);
  margin-top: 3px;
}
.chat-composer {
  flex-shrink: 0;
  border-top: 1px solid var(--line);
  padding: 10px 15px 7px;
  background: var(--panel2);
}
.chat-input-row {
  display: flex;
  align-items: flex-end;
  gap: 8px;
}
.chat-input-row textarea {
  flex: 1;
  min-width: 0;
  margin: 0;
  min-height: 44px;
  max-height: 120px;
  resize: none;
  padding: 10px 12px;
  font-size: 15px;
}
.chat-input-row > button {
  min-height: 44px;
  padding: 10px 14px;
}
.attachment-button {
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  min-width: 44px;
  width: 44px;
  height: 44px;
  margin: 0;
  border: 1px solid var(--strong-line);
  border-radius: 7px;
  color: var(--blue);
  font-size: 26px;
}
.attachment-button:hover {
  background: var(--hover-bg);
}
.visually-hidden-file:focus-visible + .attachment-button {
  outline: 3px solid var(--blue);
}
.composer-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding-top: 4px;
  font-size: 11px;
  color: var(--muted);
}
.composer-meta small {
  font-size: 10px;
}
.attachment-preview {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  padding: 8px 0;
  overflow-wrap: anywhere;
}
.attachment-preview img {
  max-width: 70px;
  max-height: 65px;
  object-fit: contain;
  border-radius: 5px;
}
.attachment-preview button {
  font-size: 12px;
  min-height: 36px;
  padding: 6px;
}
.new-messages {
  position: absolute;
  bottom: 104px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
  white-space: nowrap;
  background: var(--hover-bg);
  box-shadow: 0 5px 20px var(--shadow);
  font-size: 13px;
  padding: 8px 14px;
}
.pending-message .message-bubble {
  opacity: 0.85;
  border-style: dashed;
}
.pending-message .message-delivery {
  display: block;
  font-size: 11px;
  max-width: 360px;
  color: var(--amber);
  white-space: pre-wrap;
}
.retry-send {
  min-height: 36px;
  padding: 4px 9px;
  font-size: 12px;
  margin-top: 6px;
}
.chat-disabled {
  padding: 15px;
  margin: 0;
  border-top: 1px solid var(--line);
  font-size: 14px;
}
.chat-empty {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 25px;
  text-align: center;
  color: var(--muted);
}
.chat-empty h2 {
  color: var(--ink);
  font:
    28px Georgia,
    serif;
}
.room-conversation {
  height: 100%;
  min-height: 480px;
  border: 1px solid var(--line);
  border-radius: 10px;
}
.chat-page .room-conversation {
  flex: 1;
  min-height: 0;
}
.room-info {
  font-size: 12px;
  border-top: 1px solid var(--line);
  padding: 0 15px;
  background: var(--panel2);
  flex-shrink: 0;
  max-height: 180px;
  overflow: auto;
}
.room-info summary {
  min-height: 27px;
  padding: 4px 0;
  font-size: 11px;
}
.room-info span {
  display: inline-block;
  margin-right: 15px;
  color: var(--muted);
}
.room-info p {
  margin-bottom: 7px;
}
.room-join {
  padding: 24px;
  max-width: 700px;
}
.room-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
}
.room-grid .panel {
  min-height: 185px;
}
.room-grid h2 {
  font-size: 21px;
  font-family: Georgia, serif;
}
.room-grid p {
  font-size: 14px;
  color: var(--muted);
}
.appeal-layout {
  display: grid;
  grid-template-columns: 290px minmax(0, 1fr);
  gap: 14px;
  min-height: 0;
  height: 100%;
  flex: 1;
}
.appeal-context {
  overflow-y: auto;
  min-height: 0;
  margin-bottom: 0;
  font-size: 13px;
}
.appeal-context h1 {
  font-size: 24px;
  margin-bottom: 10px;
}
.appeal-context h2 {
  font-size: 16px;
}
.appeal-context .notice {
  font-size: 12px;
}
.appeal-context label {
  font-size: 12px;
}
.appeal-context .compact-title {
  margin-bottom: 12px;
}
.appeal-layout > .chat-pane {
  border: 1px solid var(--line);
  border-radius: 9px;
}
.appeal-queue-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 0;
  border-bottom: 1px solid var(--line);
}
.appeal-queue-row > div {
  flex: 1;
  min-width: 0;
}
.appeal-queue-row strong,
.appeal-queue-row span {
  display: block;
  font-size: 14px;
}
.appeal-queue-row span {
  color: var(--muted);
  margin-top: 3px;
}
.moderation-counts {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin: 16px 0;
}
.moderation-counts > div {
  padding: 12px 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
}
.moderation-counts dt {
  font-size: 12px;
  margin: 0;
}
.moderation-counts dd {
  font-size: 30px;
  line-height: 1.3;
  margin: 3px 0 0;
  color: var(--green);
}
.queue-filters {
  display: flex;
  gap: 15px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 8px;
  margin-bottom: 5px;
  flex-wrap: wrap;
  font-size: 13px;
}
.queue-filters a {
  padding: 8px 2px;
}
.queue-filters [aria-current="page"] {
  font-weight: 750;
  border-bottom: 3px solid var(--green);
}
.report-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 15px 5px;
  border-bottom: 1px solid var(--line);
  font-size: 14px;
}
.report-row > div:first-child {
  flex: 1;
  min-width: 0;
}
.report-row p {
  margin: 5px 0;
  white-space: pre-wrap;
}
.report-row-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  max-width: 265px;
}
.report-row-actions .button {
  font-size: 12px;
}
.urgent-label {
  color: var(--warning-ink);
  background: var(--warning-bg);
  border: 1px solid var(--urgent-line);
  border-radius: 4px;
  padding: 3px 7px;
  font-size: 12px;
  white-space: nowrap;
}
.urgent-report {
  border-left: 4px solid var(--urgent-line);
  padding-left: 12px;
}
.status-label {
  font-size: 12px;
  font-weight: 650;
  color: var(--ink);
  border: 1px solid var(--line);
  padding: 3px 7px;
  border-radius: 4px;
}
.report-content {
  background: var(--bg);
  padding: 14px;
  border-radius: 7px;
  margin: 15px 0;
}
.report-detail h3 {
  margin-top: 16px;
}
.report-detail .chat-media {
  max-width: 350px;
}
.moderation-secondary {
  font-size: 13px;
  color: var(--muted);
}
.moderation-action-form label {
  font-size: 13px;
}
.moderation-action-form select {
  font-size: 13px;
}
.gate {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
  margin: 20px auto;
  max-width: 1100px;
  min-height: 560px;
  background: var(--panel);
}
.gate-art {
  position: relative;
  background: var(--bg);
  min-height: 350px;
}
.gate-art > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  filter: brightness(0.75);
}
.gate-art > .eyebrow {
  position: absolute;
  bottom: 18px;
  left: 28px;
  right: 18px;
  color: var(--muted);
}
.gate-copy {
  padding: 42px 35px;
}
.gate-copy h1 {
  font-size: clamp(3rem, 6vw, 5rem);
  line-height: 1.05;
}
.gate-copy .lead {
  font-size: 19px;
  color: var(--green);
}
.gate-copy > p {
  color: var(--muted);
  font-size: 15px;
}
.gate-copy small {
  margin-top: 20px;
}
.gate-copy form .primary {
  margin-right: 8px;
}
footer {
  border-top: 1px solid var(--line);
  max-width: 1260px;
  margin: auto;
  padding: 20px 22px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  font-size: 12px;
  color: var(--muted);
}
footer nav {
  display: flex;
  gap: 20px;
}
footer small {
  width: 100%;
  font-size: 10px;
}
@media (max-width: 1050px) {
  .main-nav {
    gap: 11px;
    font-size: 13px;
  }
  .main-nav > form .quiet {
    font-size: 12px;
  }
  .brand {
    font-size: 16px;
  }
  .messenger {
    grid-template-columns: 255px minmax(0, 1fr);
  }
  .home-layout {
    grid-template-columns: 220px minmax(0, 1fr);
  }
  .conversation-copy time {
    font-size: 9px;
  }
  .profile-columns {
    grid-template-columns: 230px minmax(0, 1fr);
  }
}
@media (max-width: 760px) {
  body {
    font-size: 15px;
  }
  .topbar {
    padding: 7px 13px;
    gap: 8px;
  }
  .brand {
    font-size: 13px;
    letter-spacing: 1.7px;
    gap: 9px;
  }
  .brand img {
    width: 44px;
    height: 37px;
  }
  .brand small {
    font-size: 6px;
    letter-spacing: 1.1px;
  }
  .age-label {
    display: none;
  }
  .account-link {
    margin-left: auto;
    font-size: 11px;
    max-width: 145px;
  }
  .account-link > span {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  .account-link .avatar-image {
    width: 28px;
    height: 28px;
  }
  .main-nav {
    padding: 0 12px;
    gap: 13px;
    overflow-x: auto;
    min-height: 47px;
    font-size: 13px;
    scrollbar-width: thin;
  }
  .main-nav > a {
    padding-top: 12px;
    flex-shrink: 0;
  }
  .main-nav .notification-toggle {
    position: sticky;
    right: -1px;
    background: var(--panel);
    box-shadow: -10px 0 10px var(--panel);
    min-width: 52px;
  }
  .main-nav > form {
    display: none;
  }
  .container {
    padding: 12px 13px 28px;
  }
  .panel {
    padding: 13px;
    margin-bottom: 12px;
  }
  .compact-title {
    font-size: 24px;
  }
  .section-heading {
    gap: 10px;
  }
  .section-heading > a {
    font-size: 12px;
  }
  .home-layout {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .home-sidebar {
    display: contents;
  }
  .home-sidebar > .member-card {
    order: 0;
  }
  .home-feed {
    order: 1;
    width: 100%;
  }
  .home-sidebar > .top-friends {
    order: 2;
  }
  .home-sidebar > .compact-buddie {
    order: 3;
  }
  .member-card .identity-row {
    flex: 1;
  }
  .member-card {
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .member-card .avatar-large {
    width: 44px;
    height: 44px;
    border-radius: 13px;
  }
  .member-card .member-links {
    margin: 0;
    justify-content: flex-end;
    max-width: 145px;
    gap: 2px 8px;
    font-size: 11px;
  }
  .member-links .quiet {
    font-size: 11px;
    min-height: 34px;
  }
  .member-links > span {
    display: none;
  }
  .composer {
    padding: 12px;
  }
  .composer textarea {
    min-height: 60px;
  }
  .composer-actions > label {
    max-width: 65%;
  }
  .composer-heading h2 {
    font-size: 14px;
  }
  .section-label {
    font-size: 10px;
  }
  .post {
    padding: 13px;
  }
  .post-actions {
    gap: 12px;
  }
  .post-actions button {
    min-height: 40px;
  }
  .top-friend-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px 7px;
  }
  .top-friend-grid .avatar-image {
    width: 44px;
    height: 44px;
  }
  .top-editor-list li {
    gap: 6px;
    flex-wrap: wrap;
  }
  .top-editor-list .avatar-image {
    width: 32px;
    height: 32px;
  }
  .top-editor-list form {
    margin-left: auto;
  }
  .top-editor-list button {
    min-width: 40px;
    padding: 6px;
    font-size: 12px;
  }
  .two-col,
  .people-layout,
  .profile-columns,
  .layout-wide .profile-columns {
    grid-template-columns: minmax(0, 1fr);
  }
  .profile-columns > div {
    grid-row: 1;
  }
  .profile-cover {
    height: 110px;
  }
  .profile-cover .eyebrow {
    font-size: 8px;
    left: 14px;
    bottom: 0;
  }
  .profile-intro {
    gap: 12px;
    flex-wrap: wrap;
  }
  .profile-intro h1 {
    font-size: 25px;
  }
  .profile-intro .avatar-large {
    width: 54px;
    height: 54px;
  }
  .profile-actions {
    margin-left: 0;
    max-width: none;
    width: 100%;
    gap: 7px;
  }
  .person-identity {
    gap: 9px;
  }
  .person-identity strong {
    font-size: 13px;
  }
  .friendship-state {
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
  }
  .friendship-state span {
    font-size: 11px;
  }
  .person-row {
    padding: 9px 0;
  }
  .gallery-toolbar {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 15px;
  }
  .gallery-controls {
    width: 100%;
    gap: 6px;
  }
  .gallery-controls button {
    font-size: 12px;
    padding: 8px 11px;
    flex: 1;
  }
  .gallery-expanded {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .gallery-expanded img {
    height: 160px;
  }
  .gallery-expanded figcaption {
    font-size: 12px;
  }
  .gallery-empty {
    padding: 35px 5px;
  }
  .compact-dialog {
    padding: 16px;
    max-height: calc(100dvh - 20px);
    width: calc(100vw - 20px);
  }
  .avatar-crop canvas {
    width: 170px;
    height: 170px;
  }
  .avatar-crop label {
    grid-template-columns: 120px 1fr;
  }
  .batch-item {
    gap: 8px;
    padding: 8px;
  }
  .batch-item > img {
    width: 45px;
    height: 45px;
  }
  .batch-item-copy {
    font-size: 12px;
  }
  .batch-item > button {
    font-size: 11px;
    padding: 6px;
  }
  .notification-popover {
    top: 105px;
    right: 10px;
    left: 10px;
    width: auto;
    max-height: calc(100dvh - 120px);
  }
  .notification-row {
    font-size: 14px;
  }
  .notification-row .avatar-image {
    width: 34px;
    height: 34px;
  }
  .chat-page > .container {
    padding: 5px 0 0;
  }
  .chat-page > .topbar {
    padding-inline: 13px;
  }
  .messenger {
    display: flex;
    border-inline: 0;
    border-bottom: 0;
    border-radius: 0;
    width: 100%;
    height: 100%;
  }
  .conversation-sidebar {
    width: 100%;
    border: 0;
    padding-top: 10px;
  }
  .messenger:not(.has-conversation) > .chat-pane {
    display: none;
  }
  .messenger.has-conversation > .conversation-sidebar {
    display: none;
  }
  .messenger.has-conversation > .chat-pane {
    width: 100%;
  }
  .conversation-row {
    padding: 12px 17px;
    min-height: 72px;
  }
  .conversation-copy strong {
    font-size: 15px;
  }
  .conversation-copy > span {
    font-size: 13px;
  }
  .conversation-copy time {
    font-size: 11px;
  }
  .conversation-back {
    display: flex;
  }
  .chat-header {
    padding: 8px 11px;
    gap: 9px;
    min-height: 59px;
  }
  .chat-header h2 {
    font-size: 16px;
  }
  .chat-header .avatar-image {
    width: 34px;
    height: 34px;
  }
  .chat-header small {
    font-size: 10px;
  }
  .chat-header .quiet {
    display: none;
  }
  .history-tools {
    padding: 1px 12px;
    min-height: 31px;
  }
  .history-tools span {
    font-size: 10px;
  }
  .chat-history {
    padding: 5px 10px 12px;
  }
  .message-row {
    gap: 6px;
    margin-top: 9px;
  }
  .message-row > .avatar-image {
    width: 27px;
    height: 27px;
    border-radius: 9px;
  }
  .message-stack {
    max-width: 82%;
  }
  .message-bubble {
    padding: 7px 9px 4px;
  }
  .message-body {
    font-size: 15px;
  }
  .message-author {
    font-size: 11px;
  }
  .message-meta {
    gap: 10px;
    font-size: 10px;
  }
  .message-report {
    font-size: 10px;
  }
  .chat-composer {
    padding: 8px 10px 6px;
  }
  .chat-input-row {
    gap: 6px;
  }
  .chat-input-row > button {
    font-size: 13px;
    padding: 9px 10px;
  }
  .chat-input-row textarea {
    font-size: 16px;
    padding: 10px;
    max-height: 100px;
  }
  .attachment-button {
    width: 40px;
    min-width: 40px;
  }
  .composer-meta small {
    font-size: 9px;
  }
  .composer-meta > span {
    font-size: 10px;
  }
  .new-messages {
    bottom: 98px;
    font-size: 12px;
  }
  .chat-media {
    max-height: 210px;
  }
  .room-conversation {
    border: 0;
    border-radius: 0;
  }
  .room-join {
    padding: 20px 14px;
  }
  .room-info {
    padding-inline: 11px;
  }
  .room-page .message-stack {
    max-width: 86%;
  }
  .appeal-layout {
    display: flex;
    flex-direction: column;
    gap: 5px;
  }
  .appeal-context {
    max-height: 175px;
    min-height: 100px;
    flex-shrink: 0;
    padding: 12px;
    margin-bottom: 0;
    border-radius: 0;
    border-inline: 0;
  }
  .appeal-context .compact-title {
    font-size: 20px;
    margin-bottom: 5px;
  }
  .appeal-context > p {
    font-size: 12px;
    margin-bottom: 6px;
  }
  .appeal-context dl {
    font-size: 12px;
  }
  .appeal-context dt {
    margin-top: 5px;
  }
  .appeal-context dd {
    margin-bottom: 4px;
  }
  .appeal-layout > .chat-pane {
    flex: 1;
    border-radius: 0;
    border-inline: 0;
  }
  .moderation-counts {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }
  .moderation-counts > div {
    padding: 10px 12px;
  }
  .moderation-counts dd {
    font-size: 26px;
  }
  .report-row {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding-block: 13px;
  }
  .report-row-actions {
    justify-content: flex-start;
    max-width: none;
  }
  .queue-filters {
    gap: 12px;
    font-size: 12px;
  }
  .restriction-banner {
    gap: 5px 10px;
    padding: 8px 10px;
    font-size: 12px;
  }
  .restriction-banner span {
    flex-basis: 100%;
  }
  .gate {
    grid-template-columns: 1fr;
    margin: 0;
    min-height: 0;
  }
  .gate-art {
    min-height: 170px;
  }
  .gate-art .eyebrow {
    font-size: 8px;
    bottom: 0;
  }
  .gate-copy {
    padding: 25px;
  }
  .gate-copy h1 br {
    display: none;
  }
  .gate-copy h1 {
    font-size: 3.2rem;
  }
  .gate-copy .lead {
    font-size: 17px;
  }
  .gate-copy small {
    font-size: 11px;
  }
  .narrow {
    margin: 0 auto;
  }
  .inline {
    flex-wrap: wrap;
  }
  .inline > button {
    flex-shrink: 0;
  }
  footer {
    padding: 18px 13px;
    font-size: 11px;
  }
  footer nav {
    gap: 14px;
    flex-wrap: wrap;
  }
}
@media (prefers-reduced-motion: reduce) {
  * {
    scroll-behavior: auto !important;
  }
}
.gallery-toolbar {
  position: sticky;
  top: 0;
  z-index: 12;
  background: var(--panel);
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
}
.message-report {
  min-height: 24px;
  padding: 4px 3px;
  margin: -3px -2px;
  display: inline-flex;
  align-items: center;
}
/* Approved profile components and private visual editor. */
.profile-modules {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(0, 2fr);
  gap: 12px;
}
.profile-module {
  min-width: 0;
  margin: 0;
}
.profile-module h2 {
  font-size: 1.12rem;
  margin: 0 0 10px;
}
.module-posts {
  grid-column: 2;
  grid-row: 1 / span 8;
}
.modules-wide {
  grid-template-columns: minmax(210px, 1fr) minmax(0, 3fr);
}
.modules-stacked {
  display: block;
}
.modules-stacked .profile-module {
  margin-bottom: 12px;
}
.profile-module .top-friends {
  padding: 0;
  border: 0;
}
.history-entry {
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
}
.history-entry p {
  margin: 3px 0;
}
.profile-cover .framed-banner {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.framed-banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.profile-preview > .topbar,
.profile-preview > .main-nav,
.profile-preview > footer,
.profile-preview .profile-actions,
.profile-preview .avatar-change,
.profile-preview .profile-avatar-control > button.quiet {
  display: none;
}
.profile-preview .container {
  width: 100%;
  padding: 10px;
}
.editor-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 10px 0;
}
.editor-toolbar [role="status"] {
  font-size: 0.85rem;
}
.visual-editor {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 14px;
  height: calc(100dvh - 255px);
  min-height: 500px;
}
.editor-controls {
  overflow: auto;
  padding: 8px;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
}
.editor-controls details {
  border-bottom: 1px solid var(--line);
  padding: 10px 0;
}
.editor-controls summary {
  font-weight: 700;
  cursor: pointer;
}
.editor-preview {
  min-width: 0;
  overflow: auto;
  display: flex;
  justify-content: center;
  background: var(--bg);
  border: 1px solid var(--line);
}
.editor-preview iframe {
  border: 0;
  width: 100%;
  height: 100%;
  min-height: 480px;
  background: var(--bg);
}
.module-editor-row {
  border: 1px solid var(--line);
  padding: 8px;
  margin: 8px 0;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.module-editor-row input:first-child {
  width: 100%;
}
.module-editor-row input[type="number"] {
  width: 60px;
}
.module-editor-row button {
  padding: 6px 8px;
  font-size: 0.8rem;
}
.editor-controls label {
  display: block;
  margin: 8px 0;
}
.editor-controls input,
.editor-controls select,
.editor-controls textarea {
  max-width: 100%;
  width: 100%;
}
.history-editor-row {
  border-left: 2px solid var(--green);
  padding: 6px 10px;
  margin: 8px 0;
}
.banner-crop-preview {
  height: 100px;
  overflow: hidden;
  width: 100%;
  background: var(--bg);
}
.banner-crop-preview.mobile-crop {
  width: 190px;
  height: 78px;
}
.banner-crop-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  touch-action: none;
  cursor: grab;
}
.avatar-crop canvas {
  touch-action: none;
  cursor: grab;
  border-radius: 14%;
}
.connection-row {
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
}
@media (max-width: 760px) {
  .profile-modules {
    display: flex;
    flex-direction: column;
  }
  .module-posts {
    order: 0;
  }
  .visual-editor {
    display: flex;
    flex-direction: column;
    height: auto;
    min-height: 0;
  }
  .editor-controls {
    max-height: 48dvh;
  }
  .editor-preview {
    height: 65dvh;
  }
  .editor-toolbar {
    position: relative;
  }
  .profile-cover {
    height: 160px;
  }
}
.catalog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 12px;
}
.catalog-grid .panel {
  margin: 0;
}
.product-art {
  display: block;
  width: 100%;
  height: 160px;
  object-fit: cover;
  border-radius: 6px;
}
.product-card h2 {
  font-size: 1.1rem;
  margin: 10px 0;
}
.product-detail form {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 12px 0;
}
.spotlight-art {
  border: 1px solid var(--green);
  padding: 12px;
  border-radius: 8px;
}
.spotlight-art > span {
  font-size: 2rem;
  color: var(--green);
}
.pin-controls,
.pin-controls form {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-wrap: wrap;
}
.pin-controls {
  margin: 4px 0;
}
.pin-controls button {
  font-size: 0.8rem;
  padding: 5px 8px;
  min-height: 32px;
}
.pinned-label {
  color: var(--muted);
}
.gallery-expanded figure > small {
  display: block;
  font-size: 0.75rem;
  margin: 4px;
}
.gallery-controls form {
  margin: 0;
}
.reaction-picker {
  position: relative;
  font-size: 0.85rem;
}
.reaction-picker > summary {
  cursor: pointer;
  min-height: 36px;
  display: flex;
  align-items: center;
  gap: 5px;
  color: var(--blue);
  padding: 4px 8px;
  border: 1px solid transparent;
  border-radius: 5px;
}
.reaction-picker[open] > summary {
  border-color: var(--accent);
}
.reaction-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
  padding: 8px;
  border: 1px solid var(--line);
  background: var(--panel);
  border-radius: 7px;
  min-width: 270px;
  max-width: 100%;
}
.reaction-options form {
  margin: 0;
}
.reaction-options button {
  width: 100%;
  font-size: 0.84rem;
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 40px;
}
.reaction-options > strong {
  grid-column: 1/-1;
}
.reaction-options img,
.chat-reaction-count img {
  width: 24px;
  height: 24px;
  object-fit: contain;
}
.reaction-options button[aria-pressed="true"],
.chat-reaction-count[aria-pressed="true"] {
  border-color: var(--accent);
  box-shadow: inset 0 -3px var(--accent);
  font-weight: 700;
}
.chat-reaction-strip {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
  align-items: center;
}
.chat-reaction-strip:empty {
  display: none;
}
.chat-reaction-count {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 4px 8px;
  min-height: 32px;
  font-size: 0.8rem;
}
.reaction-report {
  font-size: 0.7rem;
}
.room-reaction-picker {
  margin-top: 3px;
}
.room-reaction-picker .reaction-options {
  max-height: 240px;
  overflow: auto;
  min-width: 230px;
}
.custom-reaction-card {
  border-bottom: 1px solid var(--line);
  padding: 12px 0;
}
.custom-reaction-card img,
.custom-reaction-image {
  width: 64px;
  height: 64px;
  object-fit: contain;
}
.reaction-crop-preview {
  width: 128px;
  height: 128px;
  overflow: hidden;
  background: var(--bg);
  border: 1px solid var(--line);
}
.reaction-crop-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.room-page .chat-header form {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.room-page .chat-header form button {
  font-size: 0.75rem;
}
.room-page .chat-header {
  flex-wrap: wrap;
}
input,
select,
textarea {
  border-color: var(--strong-line);
}
.avatar-image,
.account-link .avatar-image,
.avatar-image.avatar-large,
.avatar-crop canvas {
  border-radius: 24%;
}
.profile-preview .profile-actions,
.profile-preview .post-actions,
.profile-preview form,
.profile-preview .profile-avatar-control > button.quiet {
  display: none;
}
.profile-preview .avatar-change {
  display: block;
  pointer-events: none;
}
.profile-preview .profile-module h2 {
  font-size: 1.1rem;
}
.profile-preview .pin-controls:has(form) {
  display: none;
}
.profile-modules .module-posts {
  grid-column: 1/-1;
  grid-row: auto;
}
.room-exit {
  position: relative;
  flex-shrink: 0;
  font-size: 0.85rem;
}
.room-exit > summary {
  cursor: pointer;
  min-height: 40px;
  display: flex;
  align-items: center;
  padding: 6px 10px;
  color: var(--blue);
  border: 1px solid var(--line);
  border-radius: 5px;
}
.room-exit[open] > summary {
  border-color: var(--accent);
}
.room-page .chat-header .room-exit form {
  position: absolute;
  z-index: 40;
  right: 0;
  top: 100%;
  display: flex;
  flex-direction: column;
  width: 270px;
  max-width: 80vw;
  padding: 8px;
  background: var(--panel);
  border: 1px solid var(--line);
  box-shadow: 0 8px 20px var(--shadow);
}
.room-page .chat-header .room-exit .quiet {
  display: block;
  min-height: 44px;
  white-space: normal;
  text-align: left;
  font-size: 0.85rem;
}
.room-exit:not([open]) form {
  display: none !important;
}
.profile-cover > .eyebrow {
  background: #080f12d9;
  color: #d0dccf;
  padding: 5px 10px;
  border-radius: 4px;
}
.profile-decoration {
  position: absolute;
  right: 14px;
  top: 14px;
  z-index: 2;
  font-size: 1.7rem;
  letter-spacing: 5px;
  color: #85d69c;
  background: #080f12bb;
  padding: 4px 9px;
  border-radius: 8px;
}
.profile-decoration img {
  width: 64px;
  height: 64px;
  object-fit: contain;
}
.profile[data-profile-background] {
  padding: 10px;
  border-radius: 10px;
  background-attachment: scroll;
}
.avatar-image.avatar-image,
.avatar-change {
  border-radius: 24%;
}
.reaction-creator {
  font-size: 0.72rem;
  color: var(--muted);
}
.reaction-options button:has(.reaction-creator) {
  flex-wrap: wrap;
}
.reaction-options button .reaction-creator {
  flex-basis: 100%;
  color: inherit;
  font-weight: 400;
}
/* Visual workspace: the same responsive grid renders drafts and published pages. */
.workspace-grid.profile-modules {display:grid;grid-auto-rows:24px;gap:8px;align-items:stretch;min-width:0;padding:12px;}
.workspace-grid .profile-module {grid-column:auto;min-width:0;margin:0;position:relative;overflow-wrap:anywhere;align-self:stretch;}
.workspace-grid .profile-module > * {max-width:100%;}
.workspace-grid .chosen-height {overscroll-behavior:contain;scrollbar-gutter:stable;}
.workspace-grid .module-posts {grid-column:auto;}
.workspace-selected {outline:3px solid var(--accent);outline-offset:1px;}
.workspace-hidden {opacity:.6;border-style:dashed;}
.workspace-handle {position:absolute;z-index:2;padding:4px 8px;min-height:32px;touch-action:none;font-size:12px;}
.handle-move {right:6px;top:4px;cursor:move;}
.handle-resize {right:3px;bottom:3px;cursor:nwse-resize;}
.module-editor-row.selected {outline:2px solid var(--accent);padding:8px;}
.module-editor-row {display:flex;flex-wrap:wrap;gap:6px;}
.module-editor-row label {width:calc(50% - 4px);font-size:12px;}
.module-editor-row input {min-width:0;width:100%;}
.visual-editor {grid-template-columns:290px minmax(0,1fr);}
.editor-controls {max-height:78vh;overflow:auto;}
:root {--panel-green: #142d24;--panel-blue:#172935;}
:root[data-mode="light"] {--panel-green:#d9e9df;--panel-blue:#dce7ee;}
@media(max-width:760px){.visual-editor{display:flex;flex-direction:column}.editor-controls{max-height:45vh}.workspace-grid.profile-modules{display:grid}.workspace-grid .profile-module{grid-column:auto}.editor-toolbar{gap:4px}.editor-toolbar button{padding:7px;}}
.header-tools {display:flex;gap:6px;align-items:center;margin-left:auto;}
.settings-gear {display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:8px;}
.birth-row {display:flex;gap:12px;flex-wrap:wrap;}
.birth-row > label {flex:1 1 120px;min-width:0;}
.registration-check {display:flex;align-items:flex-start;gap:10px;margin:12px 0;}
.registration-check input[type=checkbox] {width:20px;min-width:20px;height:20px;margin:2px 0;}
@media(max-width:600px){.topbar{gap:8px;max-width:100%;}.topbar .account-link>span{display:none}.topbar .account-link{min-width:32px;flex-shrink:0}.topbar .brand{min-width:0;flex:1}.topbar .brand small{display:none}.header-tools{margin-left:0;flex-shrink:0}.visual-editor{height:auto;min-height:0}.editor-preview{height:70dvh;min-height:480px}.editor-controls{max-height:48dvh;min-height:200px}.topbar .brand>span{font-size:12px;letter-spacing:1.5px}}
.module-editor-row.selected>[data-info-editor] {width:100%;}
.module-editor-row .info-editor-section {width:100%;}
.module-editor-row .info-editor-section label {width:100%;}
.module-editor-row .info-editor-section input,.module-editor-row .info-editor-section textarea,.module-editor-row .info-editor-section select {width:100%;}
.profile-preview .profile-module h2 {padding-right:66px;}
.workspace-grid.profile-modules {grid-auto-rows:auto;grid-template-columns:minmax(0,1fr);}

/* V2 Phase 1 · shared Lounge shell and design foundation */
:root {
  color-scheme: dark;
  --bg: #0c1711;
  --panel: #14231a;
  --panel2: #1a3023;
  --ink: #f0eadb;
  --muted: #b9b3a5;
  --green: #add67c;
  --blue: #e1c98f;
  --line: #405345;
  --accent: #add67c;
  --hover-bg: #223c2c;
  --selected-bg: #284533;
  --bubble-out: #23402e;
  --bubble-in: #293b35;
  --strong-line: #718574;
  --amber: #d5bd82;
  --warning-ink: #f1d9a0;
  --warning-bg: #44351e;
  --urgent-line: #b6975c;
  --danger: #ffb0a4;
  --smoke-green: #31583d66;
  --smoke-blue: #6552382e;
  --star: #d5bd821c;
  --tint: #add67c24;
  --shadow: #02090599;
  --overlay: #06100bd9;
  --button-bg: #1c3426;
  --button-ink: #f0eadb;
  --cream: #f0eadb;
  --gold: #d5bd82;
  --earth: #765b43;
  --surface-glass: #102017f2;
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 22px;
}
:root[data-mode="light"] {
  color-scheme: light;
  --bg: #f3eddf;
  --panel: #fffaf0;
  --panel2: #e7eddf;
  --ink: #203328;
  --muted: #58675e;
  --green: #2d633d;
  --blue: #684e1d;
  --line: #a5ae9f;
  --accent: #2d633d;
  --hover-bg: #dce7d8;
  --selected-bg: #d3e3d2;
  --bubble-out: #d5e7d5;
  --bubble-in: #e2e8de;
  --strong-line: #607466;
  --amber: #73531c;
  --warning-ink: #674814;
  --warning-bg: #f4e6bd;
  --urgent-line: #7f642e;
  --danger: #8f3028;
  --smoke-green: #6c9b7030;
  --smoke-blue: #b3956730;
  --star: #72521b12;
  --tint: #2d633d18;
  --shadow: #19312426;
  --overlay: #20332877;
  --button-bg: #274f35;
  --button-ink: #fffaf0;
  --cream: #fffaf0;
  --gold: #73531c;
  --earth: #765b43;
  --surface-glass: #fffaf0f2;
}
body {
  background:
    radial-gradient(circle at 8% -8%, var(--smoke-green), transparent 32rem),
    radial-gradient(circle at 100% 24%, var(--smoke-blue), transparent 30rem),
    var(--bg);
  letter-spacing: .005em;
}
h1 {font-size:clamp(2rem,4vw,3.25rem);font-weight:500;line-height:1.08;}
h2 {font-size:1.08rem;}
a {text-underline-offset:3px;}
button,.button {border-radius:var(--radius-sm);font-weight:650;padding-inline:16px;transition:background-color .18s ease,border-color .18s ease,transform .18s ease;}
button:hover,.button:hover {transform:translateY(-1px);}
input,textarea,select {background:color-mix(in srgb,var(--bg) 82%,var(--panel));border-radius:var(--radius-sm);min-height:44px;}
dialog {background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 24px 70px var(--shadow);}
.panel {
  background:linear-gradient(145deg,color-mix(in srgb,var(--panel2) 72%,var(--panel)),var(--panel));
  border-color:color-mix(in srgb,var(--line) 82%,transparent);
  border-radius:var(--radius-md);
  box-shadow:0 12px 35px -28px var(--shadow),inset 0 1px color-mix(in srgb,var(--cream) 5%,transparent);
  padding:18px;
}
.notice {border-radius:var(--radius-sm);background:color-mix(in srgb,var(--selected-bg) 85%,var(--panel));}
.topbar {
  position:sticky;
  top:0;
  z-index:70;
  max-width:none;
  min-height:72px;
  padding:8px clamp(16px,3vw,44px);
  gap:clamp(14px,2vw,30px);
  background:var(--surface-glass);
  border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);
  box-shadow:0 12px 34px -30px var(--shadow);
  backdrop-filter:blur(16px);
}
.brand {gap:10px;min-width:max-content;color:var(--ink);}
.brand:hover {color:var(--ink);text-decoration:none;}
.brand img {width:58px;height:48px;filter:drop-shadow(0 4px 9px #0008);}
.brand > span {display:flex;flex-direction:column;font:600 15px/1.05 Georgia,serif;letter-spacing:.12em;}
.brand small {margin-top:5px;color:var(--gold);font:700 8px/1 system-ui,sans-serif;letter-spacing:.24em;}
.main-nav {
  flex:1;
  width:auto;
  max-width:930px;
  margin:0 auto;
  padding:0;
  border:0;
  justify-content:center;
  gap:4px;
  font-size:13px;
}
.main-nav > a {
  display:flex;
  align-items:center;
  gap:5px;
  min-height:44px;
  padding:10px clamp(7px,1vw,13px);
  border:0;
  border-radius:999px;
  color:var(--muted);
  font-weight:650;
}
.main-nav > a:hover {color:var(--ink);background:var(--hover-bg);text-decoration:none;}
.main-nav > a[aria-current="page"] {color:var(--ink);background:var(--selected-bg);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 36%,transparent);}
.main-nav > a[aria-current="page"]::before {content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 9px var(--accent);}
.nav-count {display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--gold);color:#172218;font-size:10px;font-weight:800;}
.header-tools {gap:7px;margin-left:0;}
.notification-toggle,.settings-gear,.account-menu > summary {
  min-width:44px;
  min-height:44px;
  border:1px solid transparent;
  border-radius:12px;
  color:var(--muted);
  background:transparent;
}
.notification-toggle {position:relative;padding:8px;}
.notification-toggle:hover,.settings-gear:hover,.account-menu > summary:hover {color:var(--ink);background:var(--hover-bg);border-color:var(--line);text-decoration:none;}
.notification-count {position:absolute;right:2px;top:2px;display:grid;place-items:center;min-width:17px;height:17px;border-radius:999px;background:var(--earth);color:#fff;font-size:10px;}
.notification-count:empty,.notification-count:not(.has-unread) {background:transparent;color:var(--muted);}
.account-menu {position:relative;}
.account-menu > summary {cursor:pointer;display:flex;align-items:center;gap:8px;padding:5px 8px;list-style:none;}
.account-menu > summary::-webkit-details-marker {display:none;}
.account-menu .avatar-image {width:32px;height:32px;border-radius:10px;}
.account-name {max-width:105px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--ink);}
.account-menu-panel {
  position:absolute;
  right:0;
  top:calc(100% + 10px);
  z-index:90;
  display:grid;
  width:230px;
  padding:8px;
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  box-shadow:0 20px 55px var(--shadow);
}
.account-menu-panel a,.account-menu-panel button {justify-content:flex-start;width:100%;padding:10px 12px;border-radius:9px;color:var(--ink);}
.account-menu-panel a:hover {background:var(--hover-bg);text-decoration:none;}
.account-menu-panel form {border-top:1px solid var(--line);margin-top:5px;padding-top:5px;}
.settings-gear[aria-current="page"] {color:var(--accent);border-color:var(--line);}
.visitor-settings {margin-left:auto;}
.mobile-nav {display:none;}
.container {max-width:1320px;padding:clamp(18px,3vw,36px) clamp(16px,3vw,32px) 48px;}
.notification-popover {position:fixed;top:78px;right:clamp(12px,3vw,44px);border-radius:var(--radius-md);box-shadow:0 24px 70px var(--shadow);}
.phase-intro {
  position:relative;
  isolation:isolate;
  min-height:260px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  overflow:hidden;
  margin-bottom:28px;
  padding:clamp(28px,5vw,64px);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:
    linear-gradient(110deg,color-mix(in srgb,var(--panel) 98%,transparent) 10%,color-mix(in srgb,var(--panel2) 88%,transparent) 68%,color-mix(in srgb,var(--earth) 44%,var(--panel)) 100%);
  box-shadow:0 25px 70px -45px var(--shadow);
}
.phase-intro::before {content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 80% 10%,var(--tint),transparent 45%);}
.phase-intro > div {max-width:650px;position:relative;z-index:1;}
.phase-intro h1 {margin-bottom:12px;}
.phase-intro p {max-width:58ch;color:var(--muted);font-size:1.05rem;}
.phase-intro > img {align-self:flex-end;width:min(230px,28vw);height:230px;object-fit:contain;object-position:bottom;filter:drop-shadow(0 18px 20px #0008);margin:-20px 2% -28px 30px;}
.destination-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.destination-card {display:flex;align-items:flex-start;gap:16px;color:var(--ink);min-height:170px;transition:transform .18s ease,border-color .18s ease;}
.destination-card:hover {transform:translateY(-3px);border-color:var(--accent);text-decoration:none;color:var(--ink);}
.destination-card h2 {font:500 1.3rem/1.25 Georgia,serif;margin-top:4px;}
.destination-card p {color:var(--muted);}
.destination-card strong {color:var(--gold);font-size:.85rem;}
.destination-mark {display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid var(--strong-line);border-radius:14px;background:var(--selected-bg);color:var(--accent);font-size:1.35rem;}
.development-note {margin:22px 0;padding:13px 16px;border-left:3px solid var(--gold);background:color-mix(in srgb,var(--panel) 75%,transparent);color:var(--muted);font-size:.86rem;border-radius:0 var(--radius-sm) var(--radius-sm) 0;}
.picks-grid .product-card {display:flex;flex-direction:column;}
.picks-grid .product-card .button {margin-top:auto;align-self:flex-start;}
.picks-grid .product-card small {margin-bottom:15px;}
footer {max-width:1320px;padding-bottom:28px;}

@media (max-width:1180px) {
  .topbar {gap:12px;padding-inline:18px;}
  .brand > span,.account-name {display:none;}
  .main-nav > a {padding-inline:8px;font-size:12px;}
}
@media (max-width:920px) {
  body:not([data-member-id="0"]) {padding-bottom:calc(72px + env(safe-area-inset-bottom));}
  .topbar {min-height:62px;padding:7px 14px;}
  .brand img {width:50px;height:42px;}
  .brand > span {display:flex;font-size:13px;}
  .main-nav {display:none;}
  .header-tools {margin-left:auto;}
  .account-menu > summary {padding-inline:5px;}
  .mobile-nav {
    position:fixed;
    z-index:65;
    left:0;
    right:0;
    bottom:0;
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    min-height:66px;
    padding:5px 6px calc(5px + env(safe-area-inset-bottom));
    background:var(--surface-glass);
    border-top:1px solid var(--line);
    box-shadow:0 -16px 38px -30px var(--shadow);
    backdrop-filter:blur(16px);
  }
  .mobile-nav a {position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:0;color:var(--muted);border-radius:12px;text-align:center;}
  .mobile-nav a:hover {text-decoration:none;background:var(--hover-bg);color:var(--ink);}
  .mobile-nav a[aria-current="page"] {color:var(--accent);background:var(--selected-bg);}
  .mobile-nav a > span {font-size:21px;line-height:1;}
  .mobile-nav small {color:inherit;font-size:10px;line-height:1.15;white-space:nowrap;}
  .mobile-nav b {position:absolute;top:3px;margin-left:2px;display:inline-grid;place-items:center;min-width:16px;height:16px;padding:0 4px;border-radius:50%;background:var(--earth);color:#fff;font-size:9px;}
  .notification-popover {top:68px;right:10px;left:10px;width:auto;max-height:calc(100dvh - 150px);}
  .destination-grid {grid-template-columns:1fr;}
  footer {padding-bottom:24px;}
}
@media (max-width:600px) {
  .brand > span {display:flex;}
  .brand > span strong {font-size:11px;}
  .brand small {font-size:6px;}
  .header-tools {gap:1px;}
  .notification-toggle,.settings-gear,.account-menu > summary {min-width:40px;min-height:40px;}
  .account-menu-panel {position:fixed;top:62px;right:10px;}
  .container {padding:16px 12px 30px;}
  .panel {padding:15px;border-radius:14px;}
  .phase-intro {min-height:230px;padding:28px 22px;align-items:flex-start;}
  .phase-intro > div {max-width:78%;}
  .phase-intro h1 {font-size:2.15rem;}
  .phase-intro p {font-size:.92rem;}
  .phase-intro > img {position:absolute;right:-28px;bottom:0;width:150px;height:180px;opacity:.72;margin:0;z-index:-1;}
  .section-heading {align-items:flex-start;flex-wrap:wrap;}
  footer nav {gap:10px 18px;flex-wrap:wrap;}
}
@media (prefers-reduced-motion: reduce) {
  button,.button,.destination-card {transition:none;}
  button:hover,.button:hover,.destination-card:hover {transform:none;}
}

/* Phase 1 owner refinement · warm, layered, residential Lounge character. */
:root {
  --bg: #1c241a;
  --panel: #2b3427;
  --panel2: #3a4430;
  --ink: #f7efdc;
  --muted: #cbc0a9;
  --green: #c1d989;
  --blue: #edcf8d;
  --line: #766a4f;
  --accent: #c1d989;
  --hover-bg: #465038;
  --selected-bg: #4a5838;
  --bubble-out: #3d4b33;
  --bubble-in: #443f34;
  --strong-line: #948568;
  --amber: #ddbd76;
  --smoke-green: #64774b45;
  --smoke-blue: #9b704b33;
  --star: #ddbd7624;
  --tint: #c1d9892e;
  --shadow: #0b0d08a8;
  --overlay: #161a13dc;
  --button-bg: #405236;
  --button-ink: #fff8e8;
  --cream: #f7efdc;
  --gold: #ddbd76;
  --earth: #a3673f;
  --cognac: #a3673f;
  --olive: #707a4c;
  --surface-warm: #40372b;
  --surface-raised: #36402f;
  --surface-glass: #222b20f2;
}
:root[data-mode="light"] {
  --bg: #eee4cf;
  --panel: #fff9ec;
  --panel2: #e5e5cc;
  --ink: #263429;
  --muted: #635f51;
  --green: #3c6741;
  --blue: #755322;
  --line: #b7a77e;
  --accent: #3c6741;
  --hover-bg: #e2ddc4;
  --selected-bg: #d7dfc3;
  --bubble-out: #d9e4cc;
  --bubble-in: #eee3cf;
  --strong-line: #7d7c61;
  --amber: #79551f;
  --smoke-green: #83915e2e;
  --smoke-blue: #ad774631;
  --star: #79551f16;
  --tint: #3c67411c;
  --shadow: #3b2c1b3d;
  --overlay: #26342980;
  --button-bg: #31583a;
  --button-ink: #fff9ec;
  --cream: #fff9ec;
  --gold: #79551f;
  --earth: #985d36;
  --cognac: #985d36;
  --olive: #747c4d;
  --surface-warm: #f0dfc4;
  --surface-raised: #fffdf7;
  --surface-glass: #fff9ecf2;
}
body {
  background:
    radial-gradient(ellipse at 5% -8%, var(--smoke-green), transparent 38rem),
    radial-gradient(ellipse at 96% 10%, var(--smoke-blue), transparent 40rem),
    linear-gradient(135deg,color-mix(in srgb,var(--bg) 96%,var(--olive)),var(--bg) 55%,color-mix(in srgb,var(--bg) 94%,var(--earth)));
  font-family:"Avenir Next","Segoe UI",system-ui,sans-serif;
}
.container {max-width:1540px;padding-inline:clamp(18px,4vw,58px);}
footer {max-width:1540px;}
.topbar {border-bottom-color:color-mix(in srgb,var(--gold) 32%,var(--line));box-shadow:0 10px 30px -24px var(--shadow);}
.panel {
  background:
    linear-gradient(150deg,color-mix(in srgb,var(--surface-raised) 88%,var(--olive)),var(--panel) 72%),
    var(--panel);
  border-color:color-mix(in srgb,var(--gold) 34%,var(--line));
  box-shadow:0 16px 38px -30px var(--shadow),inset 0 1px color-mix(in srgb,var(--cream) 9%,transparent);
}
.primary {background:linear-gradient(145deg,color-mix(in srgb,var(--button-bg) 88%,var(--olive)),var(--button-bg));border-color:color-mix(in srgb,var(--gold) 64%,var(--strong-line));color:var(--button-ink);box-shadow:0 7px 18px -12px var(--shadow);}
input,textarea,select {background:color-mix(in srgb,var(--surface-warm) 46%,var(--bg));border-color:color-mix(in srgb,var(--line) 82%,var(--gold));}
.eyebrow {color:var(--gold);font-weight:800;}

.community-welcome {
  position:relative;
  isolation:isolate;
  display:flex;
  align-items:center;
  min-height:250px;
  max-width:1420px;
  overflow:hidden;
  margin:0 auto 26px;
  padding:clamp(30px,5vw,68px);
  border:1px solid color-mix(in srgb,var(--gold) 55%,var(--line));
  border-radius:28px;
  background-image:linear-gradient(90deg,#172018f2 0%,#263124dc 48%,#5f4932a3 100%),url("/static/brand/lounge.jpg");
  background-position:center;
  background-size:cover;
  box-shadow:0 26px 60px -38px #000,inset 0 1px #fff2;
  color:#fff7e7;
}
.community-welcome::after {content:"";position:absolute;z-index:-1;inset:auto -6% -60% 42%;height:240px;background:radial-gradient(ellipse,#d6b66b38,transparent 68%);}
.community-welcome-copy {max-width:720px;}
.community-welcome h1 {max-width:14ch;margin-bottom:14px;color:#fff7e7;font:500 clamp(2.35rem,4.6vw,4.5rem)/1.02 Georgia,serif;letter-spacing:-.035em;text-shadow:0 3px 18px #0009;}
.community-welcome p {max-width:55ch;color:#ede2c9;font-size:clamp(1rem,1.5vw,1.18rem);text-shadow:0 2px 10px #000;}
.community-shortcuts {display:flex;gap:10px;flex-wrap:wrap;margin-top:22px;}
.community-shortcuts .button:not(.primary) {background:#2d2d22d9;color:#f6e6be;border-color:#bca267;}
.home-layout {grid-template-columns:minmax(255px,310px) minmax(0,1fr);gap:26px;max-width:1420px;align-items:start;}
.home-sidebar {display:grid;gap:16px;}
.home-sidebar > .panel {margin-bottom:0;}
.member-card {padding:20px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface-warm) 70%,var(--panel)),var(--panel));}
.member-card .avatar-large {width:64px;height:64px;box-shadow:0 8px 18px -12px var(--shadow);}
.member-card strong {font:600 1.12rem/1.2 Georgia,serif;}
.top-friends {border-top:3px solid color-mix(in srgb,var(--olive) 72%,var(--gold));}
.compact-buddie {padding:18px;background:linear-gradient(150deg,color-mix(in srgb,var(--surface-warm) 76%,var(--panel)),var(--panel));}
.compact-buddie > img {width:68px;height:108px;filter:drop-shadow(0 10px 10px #0006);}
.compact-buddie strong {font:600 1rem/1.3 Georgia,serif;}
.home-feed {max-width:none;}
.composer {padding:24px;border-top:3px solid color-mix(in srgb,var(--cognac) 75%,var(--gold));background:linear-gradient(145deg,color-mix(in srgb,var(--surface-warm) 62%,var(--panel)),var(--panel));}
.composer-heading {gap:13px;margin-bottom:13px;}
.composer-heading .avatar-image {width:42px;height:42px;}
.composer-heading .eyebrow {margin-bottom:3px;font-size:9px;}
.composer h2 {font:600 1.2rem/1.25 Georgia,serif;}
.composer textarea {min-height:92px;padding:14px;}
.section-label {margin-top:20px;padding-inline:6px;color:var(--muted);}
.post {padding:22px 24px;margin-bottom:18px;border-left:3px solid color-mix(in srgb,var(--olive) 66%,var(--gold));background:linear-gradient(155deg,var(--surface-raised),var(--panel));}
.post-head strong {font-size:1rem;}
.post-body {font-size:1.04rem;line-height:1.65;}
.post-actions {margin-top:16px;padding-top:10px;}

.profile {
  position:relative;
  max-width:1420px;
  margin:0 auto;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--gold) 42%,var(--line));
  border-radius:28px;
  box-shadow:0 28px 70px -48px var(--shadow);
}
.profile:not([data-profile-background]) {background:linear-gradient(145deg,color-mix(in srgb,var(--panel2) 72%,var(--olive)),color-mix(in srgb,var(--surface-warm) 75%,var(--panel)));}
.profile[data-profile-background] {padding:16px;border-radius:28px;}
.profile-cover {height:clamp(245px,25vw,355px);border-radius:26px 26px 12px 12px;box-shadow:inset 0 -90px 90px -55px #000c;}
.profile-cover::after {content:"";position:absolute;inset:0;background:linear-gradient(90deg,#172018bf 0%,transparent 55%),linear-gradient(0deg,#11180db3 0%,transparent 45%);pointer-events:none;}
.profile-cover > img {filter:brightness(.82) saturate(.9);}
.lounge-welcome {position:absolute;z-index:2;left:clamp(22px,4vw,56px);top:clamp(24px,4vw,52px);display:flex;flex-direction:column;align-items:flex-start;max-width:520px;padding:16px 19px;background:#1b2119d9;border:1px solid #d9bd7e99;border-radius:14px;box-shadow:0 16px 40px -24px #000;backdrop-filter:blur(8px);color:#fff5df;}
.lounge-welcome .eyebrow {position:static;margin-bottom:7px;color:#e2c47f;}
.lounge-welcome strong {font:500 clamp(1.35rem,2.3vw,2.25rem)/1.15 Georgia,serif;text-shadow:0 2px 12px #000;}
.lounge-welcome small {margin-top:6px;color:#e1d4bd;}
.profile-intro {position:relative;z-index:3;margin:-58px clamp(18px,3vw,42px) 26px;padding:24px 28px;border:1px solid color-mix(in srgb,var(--gold) 48%,var(--line));border-radius:20px;background:color-mix(in srgb,var(--surface-raised) 93%,transparent);box-shadow:0 20px 46px -32px var(--shadow);backdrop-filter:blur(13px);}
.profile-intro .avatar-image.avatar-large {width:92px;height:92px;border:3px solid color-mix(in srgb,var(--gold) 68%,var(--cream));box-shadow:0 12px 25px -16px var(--shadow);}
.profile-identity-copy .eyebrow {margin:0 0 5px;font-size:9px;}
.profile-intro h1 {font-size:clamp(2rem,3.2vw,3.15rem);letter-spacing:-.025em;}
.profile-intro p {color:var(--muted);}
.profile-actions {max-width:480px;justify-content:flex-end;}
.profile-modules.workspace-grid {gap:18px;padding:0 clamp(18px,3vw,42px) 38px;}
.profile-module {border-color:color-mix(in srgb,var(--gold) 28%,var(--line));background:linear-gradient(145deg,var(--surface-raised),var(--panel));}
.profile-module h2 {font:600 1.22rem/1.25 Georgia,serif;color:var(--ink);padding-bottom:9px;border-bottom:1px solid color-mix(in srgb,var(--line) 66%,transparent);}
.profile-preview .profile {border-radius:18px;}
.profile-preview .profile-intro {margin-inline:18px;}

@media (max-width:920px) {
  .community-welcome {min-height:220px;margin-bottom:18px;border-radius:20px;}
  .home-layout {max-width:100%;gap:0;}
  .profile {border-radius:20px;}
  .profile-cover {height:230px;border-radius:18px 18px 8px 8px;}
  .profile-intro {margin:-42px 16px 20px;padding:20px;}
  .profile-modules.workspace-grid {padding:0 16px 26px;}
}
@media (max-width:760px) {
  .community-welcome {padding:30px 24px;background-position:62% center;}
  .community-welcome::before {content:"";position:absolute;z-index:-1;inset:0;background:#17201855;}
  .community-welcome h1 {font-size:2.45rem;}
  .community-welcome p {font-size:.96rem;}
  .community-shortcuts .button {width:100%;}
  .home-sidebar {display:contents;}
  .composer {padding:18px;}
  .post {padding:18px;border-left-width:2px;}
  .profile[data-profile-background] {padding:8px;}
  .profile-cover {height:210px;}
  .lounge-welcome {left:16px;right:16px;top:18px;max-width:calc(100% - 32px);padding:12px 14px;}
  .lounge-welcome strong {font-size:1.35rem;}
  .lounge-welcome small {font-size:.72rem;}
  .profile-intro {margin:-32px 12px 18px;padding:18px;gap:14px;}
  .profile-intro .avatar-image.avatar-large {width:72px;height:72px;}
  .profile-intro h1 {font-size:2rem;}
  .profile-identity-copy {min-width:0;}
  .profile-actions {justify-content:flex-start;}
  .profile-modules.workspace-grid {padding:0 12px 20px;gap:14px;}
}
@media (max-width:480px) {
  .community-welcome {min-height:300px;align-items:flex-end;background-position:66% center;}
  .community-welcome-copy {width:100%;}
  .community-welcome h1 {font-size:2.15rem;}
  .profile-intro {align-items:flex-start;}
  .profile-intro .profile-avatar-control {width:72px;}
  .profile-avatar-control > .quiet {font-size:10px;}
}

/* V2 Phase 2 · structured personalized lounge room */
.lounge-room {
  --room-wall:#30402b;
  --room-wall-deep:#1e2b1f;
  --room-trim:#b18b52;
  --room-upholstery:#875438;
  --room-upholstery-deep:#563628;
  isolation:isolate;
  height:clamp(430px,43vw,610px);
  min-height:430px;
  background:var(--room-wall);
  border-bottom:1px solid #d4b16f80;
  box-shadow:inset 0 -120px 100px -80px #000b,0 20px 50px -38px #000;
}
.lounge-room::before {
  content:"";
  position:absolute;
  z-index:7;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 78% 25%,#ffd8913d,transparent 28%),linear-gradient(90deg,#11190f66,transparent 35%,#e0aa5c13 72%,#11150e66);
  mix-blend-mode:screen;
}
.lounge-room::after {
  content:"";
  position:absolute;
  z-index:20;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,#111910a8 0%,transparent 34%,transparent 78%,#10150e4d),linear-gradient(0deg,#0f10099e 0%,transparent 34%,#11150d40);
}
.room-wall {position:absolute;z-index:0;inset:0 0 31%;background:linear-gradient(115deg,var(--room-wall-deep),var(--room-wall) 46%,color-mix(in srgb,var(--room-wall) 72%,#a68754));}
.room-wall::before {content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 10.8%,#e7c47c12 11%,transparent 11.4% 21.8%);border-bottom:7px solid color-mix(in srgb,var(--room-trim) 75%,#3b271c);box-shadow:0 7px 14px #0006;}
.room-wall-warm-plaster {--room-wall:#8b7458;--room-wall-deep:#564637;--room-upholstery:#55653e;--room-upholstery-deep:#35432d;}
.room-wall-warm-plaster .room-wall::before {background:radial-gradient(ellipse at 20% 35%,#fff2d913,transparent 35%),linear-gradient(90deg,#fff1cf0c,transparent 45%);}
.room-wall-botanical {--room-wall:#5d6842;--room-wall-deep:#38442d;--room-upholstery:#8b5035;--room-upholstery-deep:#553025;}
.room-wall-botanical .room-wall::before {background:radial-gradient(ellipse at 12% 25%,transparent 0 11px,#c9b8751c 12px 14px,transparent 15px),radial-gradient(ellipse at 8% 29%,transparent 0 8px,#c9b8751b 9px 11px,transparent 12px);background-size:105px 82px;border-bottom-width:7px;}
.room-floor {position:absolute;z-index:1;inset:69% 0 0;background:repeating-linear-gradient(102deg,transparent 0 9%,#e7c17617 9.4% 9.8%,transparent 10.2% 19%),linear-gradient(#4e3325,#2c211b);clip-path:polygon(0 0,100% 0,100% 100%,0 100%);}
.room-floor::after {content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 31%,#120d0a4f 32% 34%);}
.room-window {position:absolute;z-index:2;top:13%;right:7%;width:19%;height:34%;padding:7px;border:7px solid #513b2b;background:linear-gradient(145deg,#b8d0bd,#849b7d 46%,#d9b86e);box-shadow:0 14px 25px #0006,inset 0 0 0 1px #e2c487;}
.room-window::before,.room-window::after {content:"";position:absolute;background:#58402d;z-index:1;}
.room-window::before {left:48%;top:0;bottom:0;width:6px;}
.room-window::after {left:0;right:0;top:48%;height:6px;}
.room-window span {display:block;width:100%;height:100%;background:radial-gradient(circle at 72% 24%,#ffe6a8 0 8%,transparent 9%),linear-gradient(160deg,transparent 53%,#42593e 54% 66%,#304530 67%);}
.room-art-frame {position:absolute;z-index:4;left:39%;top:11%;width:27%;height:30%;overflow:hidden;padding:7px;border:5px solid #76543a;border-radius:2px;background:#1d281d;box-shadow:0 15px 28px #0008,inset 0 0 0 1px #d2ad6a;}
.room-art-frame > img,.room-art-frame picture,.room-art-frame picture img {display:block;width:100%;height:100%;object-fit:cover;overflow:hidden;}
.room-art-frame .room-brand-art {object-fit:contain;padding:12%;background:linear-gradient(145deg,#203225,#131d17);filter:none;}
.room-artwork-none .room-art-frame {display:none;}
.lounge-room > .room-wordmark {position:absolute;z-index:4;top:7%;left:6%;width:clamp(60px,8vw,118px);height:auto;object-fit:contain;filter:sepia(.2) brightness(1.1) drop-shadow(0 5px 8px #0007);}
.room-rug {position:absolute;z-index:3;left:25%;right:15%;bottom:-3%;height:26%;border:2px solid #cfac6a66;border-radius:50%;background:repeating-radial-gradient(ellipse,#6c412c 0 10%,#9b6743 11% 18%,#5d392a 19% 24%);box-shadow:0 12px 18px #0007;transform:perspective(300px) rotateX(58deg);transform-origin:bottom;}
.room-sofa {position:absolute;z-index:11;left:25%;bottom:12%;width:43%;height:23%;border:3px solid #d4aa6970;border-radius:27px 27px 13px 13px;background:linear-gradient(145deg,color-mix(in srgb,var(--room-upholstery) 90%,#d3a06e),var(--room-upholstery-deep));box-shadow:inset 0 15px 18px #fff1,inset 0 -17px 18px #0003,0 18px 22px #0008;}
.room-sofa::before,.room-sofa::after {content:"";position:absolute;bottom:-13%;width:7%;height:20%;background:#3d2a20;border-radius:0 0 3px 3px;}
.room-sofa::before {left:10%;}.room-sofa::after {right:10%;}
.room-sofa span {position:absolute;top:16%;bottom:18%;width:41%;border:1px solid #ecc38b2e;border-radius:18px;background:linear-gradient(145deg,#fff1,var(--room-upholstery-deep));box-shadow:inset 0 0 13px #0002;}
.room-sofa span:first-child {left:7%;}.room-sofa span:last-child {right:7%;}
.room-chair {position:absolute;z-index:12;right:8%;bottom:10%;width:17%;height:24%;border:3px solid #d5b07055;border-radius:42% 42% 18% 18%;background:linear-gradient(145deg,#6f7c4c,#3a492f);box-shadow:inset 0 12px 18px #fff1,0 16px 20px #0008;transform:rotate(-4deg);}
.room-chair::before,.room-chair::after {content:"";position:absolute;bottom:-15%;width:8%;height:22%;background:#3b291e;}.room-chair::before {left:20%;}.room-chair::after {right:20%;}
.room-chair span {position:absolute;left:14%;right:14%;bottom:12%;height:28%;border-radius:45%;background:#2f3e29;}
.room-table {position:absolute;z-index:13;left:43%;bottom:5%;width:24%;height:8%;border-radius:50%;background:linear-gradient(#b48755,#68452e);box-shadow:0 12px 17px #0009;}
.room-table::before {content:"";position:absolute;left:47%;top:60%;width:7%;height:145%;background:#4d3326;}
.room-table span {position:absolute;left:30%;top:-32%;width:28%;height:38%;border-radius:50% 50% 20% 20%;background:#d5b77c;box-shadow:12px 0 0 -5px #315239;}
.room-lamp {position:absolute;z-index:10;left:9%;bottom:10%;width:9%;height:47%;border-left:5px solid #ac8655;}
.room-lamp::after {content:"";position:absolute;left:-24px;bottom:-3px;width:48px;height:9px;border-radius:50%;background:#6d4a32;}
.room-lamp span {position:absolute;left:-35px;top:-2px;width:68px;height:25%;clip-path:polygon(20% 0,80% 0,100% 100%,0 100%);background:linear-gradient(#e8c985,#9a6f3d);filter:drop-shadow(0 0 16px #f0bb5e77);}
.room-plant {position:absolute;z-index:12;left:17%;bottom:8%;width:9%;height:30%;}
.room-plant span {position:absolute;left:26%;right:20%;bottom:0;height:33%;border-radius:8px 8px 20px 20px;background:linear-gradient(90deg,#6c412d,#a56a43,#513124);}
.room-plant i {position:absolute;left:43%;bottom:28%;width:19%;height:58%;border-radius:100% 0 100% 0;background:#557340;transform-origin:bottom;box-shadow:inset 3px 0 #aec27a24;}
.room-plant i:nth-child(1){transform:rotate(-50deg);}.room-plant i:nth-child(2){transform:rotate(-20deg);height:71%;}.room-plant i:nth-child(3){transform:rotate(20deg);height:77%;}.room-plant i:nth-child(4){transform:rotate(53deg);height:60%;}
.lounge-room > .room-buddie {position:absolute;z-index:15;right:26%;bottom:22%;width:clamp(48px,6vw,88px);height:auto;object-fit:contain;filter:drop-shadow(0 10px 7px #0008);}
.room-decoration-minimal .room-plant {transform:scale(.58);transform-origin:bottom;}
.room-decoration-minimal .room-plant i {display:none;}
.room-decoration-minimal .room-plant span {height:62%;border-radius:50% 50% 18% 18%;background:linear-gradient(90deg,#7b634d,#d2b991,#65503d);}
.room-furniture-reading .room-sofa {left:15%;width:31%;}.room-furniture-reading .room-chair {right:27%;width:20%;height:27%;}.room-furniture-reading .room-table {left:48%;width:19%;}
.room-furniture-open-floor .room-sofa {left:8%;width:34%;}.room-furniture-open-floor .room-chair {right:8%;width:15%;}.room-furniture-open-floor .room-table {left:49%;width:18%;}.room-furniture-open-floor .room-rug {left:33%;right:25%;}
.room-lighting-daylight::before {background:linear-gradient(115deg,#f5e6bd24,#fff4cf16 55%,transparent);mix-blend-mode:screen;}
.room-lighting-daylight .room-lamp span {filter:none;}
.room-lighting-evening::before {background:radial-gradient(circle at 13% 30%,#ffc5685c,transparent 22%),linear-gradient(90deg,#07100880,#4f2f2240 70%,#0c100b8c);mix-blend-mode:multiply;}
.room-lighting-evening .room-lamp span {filter:drop-shadow(0 0 24px #ffc261cc);}
.lounge-room .lounge-welcome {z-index:30;top:5%;left:clamp(18px,2.8vw,40px);max-width:310px;padding:13px 16px;}
.lounge-room .lounge-welcome strong {font-size:clamp(1.2rem,1.8vw,1.7rem);}
.lounge-room .profile-decoration {z-index:31;}
.lounge-section-nav {position:relative;z-index:35;display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:-1px 0 0;padding:12px clamp(16px,3vw,40px);background:linear-gradient(90deg,color-mix(in srgb,var(--panel2) 86%,var(--olive)),var(--panel));border-block:1px solid color-mix(in srgb,var(--gold) 35%,var(--line));}
.lounge-section-nav a {display:inline-flex;align-items:center;min-height:38px;padding:7px 13px;border:1px solid color-mix(in srgb,var(--gold) 38%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--surface-raised) 85%,var(--olive));color:var(--ink);font-size:.82rem;font-weight:700;}
.lounge-section-nav a:hover,.lounge-section-nav a:focus-visible {background:var(--selected-bg);border-color:var(--gold);}
.lounge-room + .lounge-section-nav + .profile-intro {margin-top:18px;}
.room-controls {border:1px solid color-mix(in srgb,var(--gold) 44%,var(--line));border-radius:10px;padding:10px!important;background:color-mix(in srgb,var(--surface-warm) 35%,var(--panel));}
.room-controls summary {color:var(--gold);font-family:Georgia,serif;font-size:1.08rem;}
.visual-editor {grid-template-columns:minmax(310px,350px) minmax(0,1fr);}
.editor-preview {border-radius:12px;background:linear-gradient(145deg,var(--bg),var(--panel2));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 28%,transparent);}

@media (max-width:920px) {
  .lounge-room {height:480px;min-height:480px;}
  .room-art-frame {left:38%;width:30%;}
  .lounge-room + .lounge-section-nav + .profile-intro {margin-top:16px;}
}
@media (max-width:760px) {
  .lounge-room {height:430px;min-height:430px;border-radius:18px 18px 8px 8px;}
  .lounge-room .lounge-welcome {left:12px;right:auto;top:12px;max-width:58%;padding:10px 12px;}
  .lounge-room .lounge-welcome strong {font-size:1.05rem;}
  .lounge-room .lounge-welcome small {display:none;}
  .room-wordmark {top:24%;left:6%;width:60px;}
  .room-window {right:5%;top:12%;width:25%;height:30%;}
  .room-art-frame {left:38%;top:16%;width:29%;height:25%;padding:4px;border-width:3px;}
  .room-sofa {left:20%;width:48%;bottom:13%;height:22%;}
  .room-chair {right:4%;width:21%;height:22%;}
  .room-lamp {left:5%;height:38%;}
  .room-plant {left:12%;width:12%;height:25%;}
  .room-table {left:42%;width:29%;}
  .room-buddie {right:25%;bottom:21%;width:48px;}
  .room-furniture-reading .room-sofa {left:10%;width:37%;}.room-furniture-reading .room-chair {right:22%;width:24%;}.room-furniture-reading .room-table {left:46%;width:23%;}
  .room-furniture-open-floor .room-sofa {left:5%;width:40%;}.room-furniture-open-floor .room-chair {right:3%;width:19%;}.room-furniture-open-floor .room-table {left:47%;width:21%;}
  .lounge-section-nav {justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding:10px 12px;scrollbar-width:thin;}
  .lounge-section-nav a {flex:0 0 auto;}
  .visual-editor {display:flex;}
}
@media (max-width:480px) {
  .lounge-room {height:390px;min-height:390px;}
  .room-art-frame {left:37%;width:32%;height:23%;}
  .room-window {width:27%;}
  .room-sofa {left:17%;width:51%;}
  .room-chair {width:23%;}
  .room-rug {left:16%;right:7%;}
}

/* V2 Phase 3 · Buddies, private chats and community rooms */
.chat-page > .container {max-width:1540px;padding:16px clamp(12px,2vw,28px);}
.messenger {
  grid-template-columns:minmax(190px,220px) minmax(270px,330px) minmax(0,1fr);
  border-color:color-mix(in srgb,var(--gold) 38%,var(--line));
  border-radius:18px;
  background:var(--panel);
  box-shadow:0 24px 54px -38px var(--shadow);
}
.chat-navigation {
  min-width:0;
  padding:18px 12px;
  border-right:1px solid color-mix(in srgb,var(--gold) 28%,var(--line));
  background:linear-gradient(165deg,color-mix(in srgb,var(--panel2) 78%,var(--olive)),color-mix(in srgb,var(--panel) 88%,var(--earth)));
  overflow-y:auto;
}
.chat-nav-brand {display:flex;align-items:center;gap:9px;padding:4px 8px 20px;border-bottom:1px solid color-mix(in srgb,var(--gold) 28%,var(--line));}
.chat-nav-brand img {width:38px;height:58px;object-fit:contain;filter:drop-shadow(0 7px 6px #0005);}
.chat-nav-brand div {min-width:0;display:flex;flex-direction:column;}
.chat-nav-brand .eyebrow {font-size:8px;}
.chat-nav-brand strong {font:600 .96rem/1.25 Georgia,serif;}
.chat-navigation nav {display:grid;gap:6px;margin-top:18px;}
.chat-navigation nav a {position:relative;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:60px;padding:9px 8px;border:1px solid transparent;border-radius:12px;color:var(--ink);}
.chat-navigation nav a:hover {text-decoration:none;background:var(--hover-bg);}
.chat-navigation nav a[aria-current="page"] {border-color:color-mix(in srgb,var(--gold) 48%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--selected-bg) 82%,var(--olive)),var(--selected-bg));box-shadow:inset 3px 0 var(--gold);}
.chat-navigation nav a > span:first-child {display:grid;place-items:center;width:28px;height:28px;border:1px solid color-mix(in srgb,var(--gold) 40%,var(--line));border-radius:9px;color:var(--gold);font-size:1rem;}
.chat-navigation nav a > span:nth-child(2) {display:flex;min-width:0;flex-direction:column;}
.chat-navigation nav strong {font-size:.83rem;}
.chat-navigation nav small {overflow:hidden;color:var(--muted);font-size:.66rem;text-overflow:ellipsis;white-space:nowrap;}
.chat-navigation nav b {display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:999px;background:var(--earth);color:#fff8e8;font-size:.68rem;}
.chat-nav-note {margin:24px 8px 0;padding-top:15px;border-top:1px solid color-mix(in srgb,var(--gold) 25%,var(--line));color:var(--muted);font-size:.7rem;line-height:1.5;}
.conversation-sidebar {border-right-color:color-mix(in srgb,var(--gold) 26%,var(--line));background:linear-gradient(180deg,color-mix(in srgb,var(--surface-raised) 92%,var(--olive)),var(--panel));}
.conversation-title {display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 16px 10px;}
.conversation-title h2 {margin:2px 0 0;font:600 1.35rem/1.2 Georgia,serif;}
.conversation-title .eyebrow {font-size:8px;}
.new-chat-link {font-size:.72rem;font-weight:700;white-space:nowrap;}
.conversation-search {display:flex;gap:6px;padding:0 12px 12px;border-bottom:1px solid color-mix(in srgb,var(--gold) 22%,var(--line));}
.conversation-search input {min-width:0;margin:0;padding:9px 11px;border-radius:999px;}
.conversation-search button {width:39px;min-width:39px;min-height:39px;padding:0;border-radius:999px;font-size:1.2rem;}
.conversation-row {border-bottom-color:color-mix(in srgb,var(--gold) 17%,var(--line));border-left-width:4px;}
.conversation-row.selected {border-left-color:var(--gold);background:linear-gradient(90deg,color-mix(in srgb,var(--selected-bg) 85%,var(--gold)),var(--selected-bg));}
.conversation-row.selected strong::after {color:var(--gold);}
.conversation-row .avatar-image {width:43px;height:43px;border:2px solid color-mix(in srgb,var(--gold) 34%,var(--line));border-radius:14px;}
.unread-label {border:0;border-radius:999px;background:var(--earth);color:#fff8e8;}
.chat-pane {background:radial-gradient(ellipse at 85% 0%,color-mix(in srgb,var(--olive) 15%,transparent),transparent 40%),linear-gradient(150deg,var(--panel),var(--bg));}
.chat-header {min-height:72px;border-bottom-color:color-mix(in srgb,var(--gold) 28%,var(--line));background:linear-gradient(100deg,color-mix(in srgb,var(--panel2) 88%,var(--olive)),var(--panel2));}
.chat-header h2 {font:600 1.2rem/1.2 Georgia,serif;}
.chat-header .avatar-image {width:43px;height:43px;border:2px solid color-mix(in srgb,var(--gold) 42%,var(--line));border-radius:14px;}
.chat-context-strip {display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:38px;padding:7px 17px;border-bottom:1px solid color-mix(in srgb,var(--gold) 20%,var(--line));background:color-mix(in srgb,var(--surface-warm) 18%,var(--panel));color:var(--muted);font-size:.72rem;}
.chat-context-strip a {white-space:nowrap;font-weight:700;}
.chat-history {padding:12px clamp(13px,2vw,25px) 16px;background:radial-gradient(circle at 12% 5%,color-mix(in srgb,var(--gold) 6%,transparent),transparent 30%);}
.message-bubble {padding:10px 13px 7px;border-color:color-mix(in srgb,var(--gold) 30%,var(--strong-line));border-radius:15px 15px 15px 4px;background:linear-gradient(145deg,color-mix(in srgb,var(--bubble-in) 92%,var(--surface-warm)),var(--bubble-in));box-shadow:0 7px 18px -14px var(--shadow);}
.outgoing .message-bubble {border-color:color-mix(in srgb,var(--olive) 62%,var(--strong-line));border-radius:15px 15px 4px 15px;background:linear-gradient(145deg,color-mix(in srgb,var(--bubble-out) 88%,var(--olive)),var(--bubble-out));}
.message-body {line-height:1.52;}
.chat-composer {border-top-color:color-mix(in srgb,var(--gold) 28%,var(--line));padding:12px 17px 9px;background:linear-gradient(100deg,color-mix(in srgb,var(--panel2) 88%,var(--olive)),var(--panel2));}
.chat-input-row textarea {border-radius:14px;background:color-mix(in srgb,var(--surface-warm) 31%,var(--bg));}
.attachment-button {border-radius:12px;color:var(--gold);}
.chat-empty {background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--gold) 11%,transparent),transparent 35%);}
.chat-empty > img {width:clamp(68px,9vw,105px);height:145px;object-fit:contain;filter:drop-shadow(0 14px 10px #0005);}
.chat-empty .eyebrow {font-size:9px;}
.chat-empty h2 {margin:8px 0;font-size:clamp(1.8rem,3vw,2.8rem);}
.chat-empty p {max-width:480px;margin:0 0 17px;}
.chat-empty small {margin-top:18px;}
.room-sidebar-intro {margin:0;padding:0 16px 12px;border-bottom:1px solid color-mix(in srgb,var(--gold) 22%,var(--line));color:var(--muted);font-size:.7rem;}
.room-row {min-height:78px;}
.room-mark,.room-header-mark {display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border:1px solid color-mix(in srgb,var(--gold) 52%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--selected-bg) 75%,var(--earth));color:var(--gold);font-size:1.3rem;}
.room-row .conversation-copy > div small {color:var(--muted);font-size:.6rem;white-space:nowrap;}
.room-state {padding:3px 6px;border:1px solid color-mix(in srgb,var(--gold) 30%,var(--line));border-radius:999px;color:var(--muted);font-size:.58rem;}
.room-context strong {color:var(--gold);font-size:.66rem;white-space:nowrap;}
.room-conversation {border:0;border-radius:0;}
.room-info {border-top-color:color-mix(in srgb,var(--gold) 27%,var(--line));background:color-mix(in srgb,var(--panel2) 92%,var(--olive));}
.room-member {display:inline-flex;align-items:center;gap:5px;margin:5px 10px 5px 0;padding:4px 8px;border:1px solid var(--line);border-radius:999px;color:var(--ink);}
.room-member .avatar-image {width:24px;height:24px;border-radius:8px;}

.social-hub-layout {display:grid;grid-template-columns:minmax(190px,220px) minmax(0,1fr);gap:22px;max-width:1420px;margin:0 auto;align-items:start;}
.social-hub-layout > .chat-navigation {position:sticky;top:86px;max-height:calc(100dvh - 110px);border:1px solid color-mix(in srgb,var(--gold) 34%,var(--line));border-radius:18px;box-shadow:0 18px 40px -32px var(--shadow);}
.buddy-hub {min-width:0;}
.buddy-welcome {position:relative;display:flex;align-items:center;justify-content:space-between;min-height:210px;margin-bottom:22px;padding:clamp(26px,4vw,52px);overflow:hidden;border:1px solid color-mix(in srgb,var(--gold) 50%,var(--line));border-radius:24px;background:radial-gradient(circle at 86% 18%,#d8b76a30,transparent 28%),linear-gradient(115deg,#1d2b1f,#344330 56%,#76513a);box-shadow:0 24px 50px -38px #000;color:#fff6e3;}
.buddy-welcome > div {position:relative;z-index:2;max-width:700px;}
.buddy-welcome h1 {max-width:17ch;margin:6px 0 13px;color:#fff6e3;font:500 clamp(2.25rem,4vw,4rem)/1.02 Georgia,serif;letter-spacing:-.03em;}
.buddy-welcome p {max-width:62ch;color:#e8dcc3;}
.buddy-welcome img {align-self:flex-end;width:clamp(100px,16vw,205px);height:190px;object-fit:contain;filter:drop-shadow(0 18px 12px #0008);}
.buddy-layout {display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,310px);gap:20px;align-items:start;}
.buddy-layout main,.buddy-requests {display:grid;gap:18px;}
.buddy-layout .panel {margin:0;border-radius:18px;}
.buddy-discovery {border-top:3px solid var(--cognac);}
.buddy-circle {border-top:3px solid var(--olive);}
.buddy-row {display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid color-mix(in srgb,var(--gold) 21%,var(--line));}
.buddy-row .avatar-image,.buddy-card .avatar-image,.request-row .avatar-image {width:46px;height:46px;border:2px solid color-mix(in srgb,var(--gold) 34%,var(--line));border-radius:15px;}
.buddy-actions {display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;font-size:.72rem;}
.buddy-actions form,.buddy-card-actions form {margin:0;}
.buddy-actions button {min-height:34px;padding:5px 9px;font-size:.7rem;}
.buddy-state {color:var(--green);font-weight:800;}
.buddy-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.buddy-card {min-width:0;padding:15px;border:1px solid color-mix(in srgb,var(--gold) 26%,var(--line));border-radius:14px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface-warm) 35%,var(--panel)),var(--panel));}
.buddy-card-actions {display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:14px;}
.buddy-card-actions .button,.buddy-card-actions button {min-height:35px;padding:6px 9px;font-size:.69rem;}
.buddy-empty {grid-column:1/-1;padding:35px;text-align:center;color:var(--muted);}
.buddy-empty > span {font-size:2rem;color:var(--gold);}
.buddy-empty h3 {color:var(--ink);font-family:Georgia,serif;}
.request-row {padding:12px 0;border-bottom:1px solid color-mix(in srgb,var(--gold) 20%,var(--line));}
.request-row .inline {margin-top:9px;}
.request-row button {min-height:34px;padding:5px 9px;font-size:.7rem;}
.buddy-requests .development-note {margin:0;}

@media (max-width:1120px) {
  .messenger {grid-template-columns:190px 290px minmax(0,1fr);}
  .chat-navigation {padding-inline:8px;}
  .chat-nav-note {display:none;}
  .buddy-layout {grid-template-columns:minmax(0,1fr) 260px;}
  .buddy-grid {grid-template-columns:1fr;}
}
@media (max-width:1450px) and (min-width:921px) {
  .topbar {gap:10px;padding-inline:18px;}
  .brand > span {font-size:.78rem;}
  .brand img {width:50px;}
  .main-nav > a {padding-inline:7px;font-size:.75rem;}
  .account-name {display:none;}
}
@media (max-width:900px) and (min-width:761px) {
  .messenger {grid-template-columns:64px 270px minmax(0,1fr);}
  .messenger .chat-nav-brand,.messenger .chat-navigation nav small,.messenger .chat-navigation nav strong {display:none;}
  .messenger .chat-navigation nav a {display:flex;justify-content:center;padding:7px;}
  .messenger .chat-navigation nav a > span:nth-child(2) {display:none;}
  .messenger .chat-navigation nav b {position:absolute;top:3px;right:2px;}
  .social-hub-layout {grid-template-columns:64px minmax(0,1fr);}
  .social-hub-layout .chat-nav-brand,.social-hub-layout .chat-navigation nav small,.social-hub-layout .chat-navigation nav strong {display:none;}
  .social-hub-layout .chat-navigation nav a {display:flex;justify-content:center;}
  .social-hub-layout .chat-navigation nav a > span:nth-child(2) {display:none;}
  .buddy-layout {grid-template-columns:1fr;}
  .buddy-requests {grid-template-columns:1fr 1fr;}
  .buddy-requests .development-note {grid-column:1/-1;}
}
@media (max-width:760px) {
  .chat-page > .container {padding:5px 0 0;}
  .messenger {display:flex;flex-direction:column;border-radius:0;}
  .messenger > .chat-navigation {display:block;flex:0 0 auto;width:100%;padding:7px 10px;border:0;border-bottom:1px solid var(--line);overflow-x:auto;overflow-y:hidden;}
  .messenger.has-conversation > .chat-navigation {display:none;}
  .messenger .chat-nav-brand,.messenger .chat-nav-note {display:none;}
  .messenger .chat-navigation nav {display:flex;gap:7px;margin:0;}
  .messenger .chat-navigation nav a {display:flex;flex:0 0 auto;min-height:42px;padding:5px 9px;}
  .messenger .chat-navigation nav a > span:first-child {width:28px;height:28px;}
  .messenger .chat-navigation nav small {display:none;}
  .messenger .chat-navigation nav b {margin-left:3px;}
  .conversation-sidebar {flex:1;width:100%;}
  .chat-context-strip {padding-inline:11px;font-size:.66rem;}
  .chat-context-strip a {max-width:52%;overflow:hidden;text-overflow:ellipsis;}
  .chat-empty > img {height:105px;}
  .chat-empty h2 {font-size:2rem;}
  .room-header-mark {display:none;}
  .social-hub-layout {display:block;}
  .social-hub-layout > .chat-navigation {position:static;display:block;max-height:none;margin-bottom:14px;padding:8px;border-radius:14px;overflow-x:auto;overflow-y:hidden;}
  .social-hub-layout .chat-nav-brand,.social-hub-layout .chat-nav-note {display:none;}
  .social-hub-layout .chat-navigation nav {display:flex;gap:7px;margin:0;}
  .social-hub-layout .chat-navigation nav a {display:flex;flex:0 0 auto;min-height:44px;padding:6px 10px;}
  .social-hub-layout .chat-navigation nav small {display:none;}
  .buddy-welcome {min-height:235px;padding:26px 22px;}
  .buddy-welcome h1 {font-size:2.45rem;}
  .buddy-welcome img {width:105px;height:145px;margin-right:-18px;}
  .buddy-layout {grid-template-columns:1fr;}
  .buddy-row {align-items:flex-start;flex-direction:column;}
  .buddy-actions {justify-content:flex-start;}
  .buddy-grid {grid-template-columns:1fr;}
}
@media (max-width:480px) {
  .buddy-welcome {align-items:flex-start;min-height:300px;}
  .buddy-welcome h1 {font-size:2.15rem;}
  .buddy-welcome img {position:absolute;right:8px;margin-top:120px;opacity:.28;}
  .buddy-welcome > div {max-width:100%;}
}

/* Phase 3 refinement · discovery, conversation welcome and room identity */
.private-chat-empty {display:grid;grid-template-columns:minmax(210px,.75fr) minmax(320px,1.25fr);gap:clamp(24px,5vw,70px);padding:clamp(28px,5vw,72px);text-align:left;}
.empty-lounge-scene {position:relative;align-self:stretch;min-height:360px;overflow:hidden;border:1px solid color-mix(in srgb,var(--gold) 40%,var(--line));border-radius:120px 120px 24px 24px;background:radial-gradient(circle at 50% 25%,#dbb86f42,transparent 26%),linear-gradient(180deg,color-mix(in srgb,var(--olive) 55%,var(--panel)),color-mix(in srgb,var(--earth) 44%,var(--panel2)));box-shadow:inset 0 -80px 90px #1b160f4d,0 24px 45px -36px var(--shadow);}
.empty-lamp {position:absolute;top:22%;left:18%;width:70px;height:52px;border-radius:50% 50% 10px 10px;background:#dbb86f;box-shadow:0 0 50px #f5d98d99;}
.empty-lamp::after {content:"";position:absolute;top:48px;left:32px;width:6px;height:145px;background:#604431;}
.empty-sofa {position:absolute;right:8%;bottom:15%;left:13%;height:105px;border:1px solid #bc946a;border-radius:55px 55px 18px 18px;background:linear-gradient(#8f6448,#604331);box-shadow:0 18px 30px #0005;}
.empty-sofa::before {content:"";position:absolute;right:7%;bottom:10px;left:7%;height:50px;border:1px solid #b9906c;border-radius:24px;background:#79543d;}
.empty-plant {position:absolute;right:6%;bottom:15%;color:#9cad69;font-size:5rem;transform:rotate(12deg);}
.empty-lounge-copy {max-width:650px;align-self:center;}
.empty-lounge-copy > img {float:right;width:82px;height:120px;margin:-18px 0 6px 18px;object-fit:contain;filter:drop-shadow(0 12px 9px #0005);}
.empty-lounge-copy h2 {max-width:16ch;margin:8px 0 14px;text-align:left;}
.empty-lounge-copy > p {max-width:58ch;margin-bottom:21px;}
.empty-chat-actions {display:flex;gap:9px;flex-wrap:wrap;margin-bottom:25px;}
.empty-chat-promises {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px;}
.empty-chat-promises > span {display:flex;min-width:0;flex-direction:column;padding:11px;border:1px solid color-mix(in srgb,var(--gold) 28%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--surface-warm) 30%,var(--panel));}
.empty-chat-promises strong {color:var(--ink);font-size:.7rem;}
.empty-chat-promises small {margin-top:3px;font-size:.61rem;line-height:1.35;}

.room-context-panel {display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 17px;border-bottom:1px solid color-mix(in srgb,var(--gold) 27%,var(--line));background:linear-gradient(100deg,color-mix(in srgb,var(--surface-warm) 42%,var(--panel)),var(--panel));}
.room-context-panel > div {display:flex;align-items:center;gap:10px;min-width:0;}
.room-context-mark {display:grid;flex:0 0 auto;place-items:center;width:35px;height:35px;border:1px solid color-mix(in srgb,var(--gold) 44%,var(--line));border-radius:11px;color:var(--gold);}
.room-context-panel strong {font:600 .8rem/1.2 Georgia,serif;}
.room-context-panel p {margin:2px 0 0;color:var(--muted);font-size:.68rem;line-height:1.35;}
.room-context-panel nav {display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap;font-size:.66rem;}
.room-context-panel nav span {padding:4px 7px;border:1px solid color-mix(in srgb,var(--gold) 35%,var(--line));border-radius:999px;color:var(--muted);white-space:nowrap;}
.room-context-panel nav a,.room-info-link {font-weight:700;white-space:nowrap;}
.room-info {padding:0 17px 10px;}
.room-info summary {padding:8px 0;font-weight:750;}
.room-info h3 {margin:10px 0 3px;font:600 .8rem/1.3 Georgia,serif;}
.room-control-links {display:flex;gap:7px;flex-wrap:wrap;}
.room-control-links .button {min-height:33px;padding:5px 9px;font-size:.65rem;}
.room-member-list {display:flex;gap:4px;flex-wrap:wrap;}

.buddy-welcome-actions {display:flex;gap:9px;flex-wrap:wrap;margin-top:20px;}
.buddy-welcome-actions .button {border-color:#e4c48170;background:#fff7e916;color:#fff7e9;}
.buddy-welcome-actions .primary {background:#dfbd73;color:#253123;}
.section-intro {margin:-4px 0 17px;color:var(--muted);font-size:.78rem;line-height:1.55;}
.buddy-search {margin-bottom:18px;padding:14px;border:1px solid color-mix(in srgb,var(--gold) 24%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--surface-warm) 28%,var(--panel));}
.buddy-search label {margin-top:0;font-weight:750;}
.buddy-search .inline {align-items:stretch;}
.buddy-search input {margin:0;}
.discovery-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;}
.discovery-card {display:flex;min-width:0;min-height:165px;flex-direction:column;padding:14px;border:1px solid color-mix(in srgb,var(--gold) 29%,var(--line));border-radius:15px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface-warm) 36%,var(--panel)),var(--panel));box-shadow:0 13px 25px -24px var(--shadow);}
.discovery-card-top {display:flex;align-items:flex-start;justify-content:space-between;gap:8px;}
.discovery-card .avatar-image {width:46px;height:46px;border:2px solid color-mix(in srgb,var(--gold) 35%,var(--line));border-radius:15px;}
.relationship-pill,.privacy-state {flex:0 0 auto;padding:4px 7px;border:1px solid color-mix(in srgb,var(--gold) 30%,var(--line));border-radius:999px;color:var(--muted);font-size:.58rem;font-weight:800;white-space:nowrap;}
.relationship-friends,.privacy-state.enabled {border-color:color-mix(in srgb,var(--green) 45%,var(--line));color:var(--green);}
.relationship-incoming {border-color:color-mix(in srgb,var(--gold) 60%,var(--line));color:var(--gold);}
.interest-chips {display:flex;gap:5px;flex-wrap:wrap;margin-top:12px;}
.interest-chips span {padding:3px 7px;border-radius:999px;background:color-mix(in srgb,var(--olive) 19%,var(--panel2));color:var(--ink);font-size:.61rem;}
.connection-context {display:flex;gap:10px;flex-wrap:wrap;min-height:29px;margin:9px 0;color:var(--muted);font-size:.64rem;}
.discovery-card .buddy-actions {justify-content:flex-start;margin-top:auto;}
.nearby-discovery {border-top:3px solid var(--gold);}
.nearby-form {display:grid;grid-template-columns:minmax(220px,1fr) minmax(190px,.8fr) auto;gap:14px;align-items:end;padding:15px;border:1px solid color-mix(in srgb,var(--gold) 25%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--surface-warm) 28%,var(--panel));}
.nearby-form label {margin:0;}
.nearby-form input[type="text"] {margin-bottom:2px;}
.nearby-form .check-row {align-self:center;}
.nearby-form small {display:block;color:var(--muted);font-size:.62rem;}
.nearby-summary {display:flex;flex-direction:column;gap:2px;margin:18px 0 10px;}
.nearby-summary strong {font:600 .9rem/1.3 Georgia,serif;}
.nearby-summary small {color:var(--muted);}
.nearby-locked {display:flex;align-items:center;gap:13px;margin-top:16px;padding:15px;border:1px dashed color-mix(in srgb,var(--gold) 34%,var(--line));border-radius:14px;color:var(--muted);}
.nearby-locked > span {color:var(--gold);font-size:1.8rem;}
.nearby-locked strong {color:var(--ink);}
.nearby-locked p {margin:3px 0 0;font-size:.72rem;}

@media (max-width:1120px) {
  .private-chat-empty {grid-template-columns:minmax(170px,.55fr) minmax(300px,1.45fr);gap:28px;padding:28px;}
  .empty-lounge-scene {min-height:310px;}
  .discovery-grid {grid-template-columns:1fr;}
  .nearby-form {grid-template-columns:1fr 1fr;}
  .nearby-form button {justify-self:start;}
}
@media (max-width:760px) {
  .private-chat-empty {display:flex;padding:30px 22px;text-align:center;}
  .empty-lounge-scene {display:none;}
  .empty-lounge-copy {max-width:520px;}
  .empty-lounge-copy > img {float:none;width:65px;height:90px;margin:0;}
  .empty-lounge-copy h2 {max-width:none;text-align:center;}
  .empty-chat-actions {justify-content:center;}
  .empty-chat-promises {grid-template-columns:1fr;}
  .room-context-panel {align-items:flex-start;flex-direction:column;padding:10px 12px;}
  .room-context-panel nav {justify-content:flex-start;}
  .room-info-link {display:none;}
  .buddy-welcome-actions {padding-right:70px;}
  .nearby-form {grid-template-columns:1fr;}
  .nearby-form button {width:100%;}
}
@media (max-width:480px) {
  .discovery-card-top {align-items:flex-start;flex-direction:column;}
  .buddy-welcome-actions {padding-right:0;}
  .buddy-search .inline {align-items:stretch;flex-direction:column;}
  .buddy-search .button,.buddy-search button {width:100%;}
}

/* V2 Phase 4 · connected Community, Explore and media */
.community-welcome {min-height:260px;}
.home-layout {grid-template-columns:minmax(250px,310px) minmax(0,1fr);max-width:1480px;gap:26px;}
.home-sidebar {gap:16px;}
.home-feed {max-width:none;}
.community-shortcuts {display:flex;gap:9px;flex-wrap:wrap;}
.community-room-rail {padding:16px;}
.community-room-rail .section-heading {margin-bottom:7px;}
.community-room-rail h2 {font-size:1.15rem;}
.community-room-rail > a:not(.button) {display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 3px;border-bottom:1px solid color-mix(in srgb,var(--gold) 18%,var(--line));color:var(--ink);}
.community-room-rail > a:not(.button):hover {text-decoration:none;background:var(--hover-bg);}
.community-room-rail > a > span:first-child {display:grid;place-items:center;width:28px;height:28px;border:1px solid color-mix(in srgb,var(--gold) 35%,var(--line));border-radius:9px;color:var(--gold);}
.community-room-rail > a > span:nth-child(2) {display:flex;min-width:0;flex-direction:column;}
.community-room-rail small {overflow:hidden;color:var(--muted);font-size:.6rem;text-overflow:ellipsis;white-space:nowrap;}
.community-room-rail b {color:var(--muted);font-size:.62rem;}
.composer {padding:clamp(18px,2.5vw,28px);border-color:color-mix(in srgb,var(--gold) 38%,var(--line));}
.composer-heading p {margin:3px 0 0;color:var(--muted);font-size:.72rem;}
.composer [data-post-form] textarea {min-height:105px;padding:15px;border-radius:15px;background:color-mix(in srgb,var(--surface-warm) 34%,var(--bg));font-size:1rem;}
.composer-actions {align-items:center;gap:10px;}
.composer-actions .photo-options {position:relative;margin-right:auto;}
.composer-actions .photo-options summary {min-height:42px;padding:9px 12px;border:1px solid var(--line);border-radius:11px;background:var(--panel2);font-weight:750;cursor:pointer;}
.composer-actions .photo-options[open] {min-width:min(360px,100%);padding:10px;border:1px solid color-mix(in srgb,var(--gold) 32%,var(--line));border-radius:12px;background:var(--panel2);}
.composer-actions .photo-options[open] summary {margin:-10px -10px 8px;border:0;border-bottom:1px solid var(--line);border-radius:0;}
.audience-control {display:flex;align-items:center;gap:7px;margin:0;color:var(--muted);font-size:.68rem;}
.audience-control select {width:auto;min-width:120px;margin:0;}
.section-label a {font-size:.68rem;}

.social-post {overflow:hidden;padding:0;border-color:color-mix(in srgb,var(--gold) 29%,var(--line));border-radius:18px;box-shadow:0 18px 36px -34px var(--shadow);}
.social-post .post-head {display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:16px 18px 10px;}
.post-author-avatar {align-self:start;}
.social-post .post-head .avatar-image {width:45px;height:45px;border:2px solid color-mix(in srgb,var(--gold) 34%,var(--line));border-radius:15px;}
.post-identity {min-width:0;}
.post-identity > div {display:flex;gap:5px;flex-wrap:wrap;}
.post-identity > div span {color:var(--muted);font-size:.72rem;}
.post-identity small {color:var(--muted);font-size:.65rem;}
.audience-badge {display:inline-flex;align-items:center;min-height:27px;padding:4px 8px;border:1px solid color-mix(in srgb,var(--gold) 27%,var(--line));border-radius:999px;color:var(--muted);background:color-mix(in srgb,var(--panel2) 85%,var(--olive));font-size:.61rem;font-weight:800;white-space:nowrap;}
.audience-public {color:var(--green);}
.audience-self {color:var(--cognac);}
.social-post > .post-body {margin:4px 18px 15px;font-size:.96rem;line-height:1.62;}
.post-media {position:relative;margin:0;background:#171a13;}
.post-media > a:first-child {display:block;}
.post-media .post-photo {display:block;width:100%;max-height:620px;margin:0;border:0;border-radius:0;object-fit:contain;}
.post-media figcaption {padding:8px 17px;background:var(--panel2);color:var(--muted);font-size:.7rem;}
.media-expand {position:absolute;right:11px;bottom:11px;padding:5px 8px;border-radius:999px;background:#152018db;color:#fff7e8;font-size:.62rem;font-weight:800;}
.comment-preview {display:grid;grid-template-columns:28px minmax(0,1fr);gap:6px 8px;margin:11px 17px;padding:11px;border-radius:12px;background:color-mix(in srgb,var(--surface-warm) 28%,var(--panel2));}
.comment-preview .avatar-image {width:28px;height:28px;border-radius:9px;}
.comment-preview p {margin:2px 0;font-size:.7rem;line-height:1.4;}
.social-post > .post-actions {margin:0;padding:10px 17px;border-top:1px solid color-mix(in srgb,var(--gold) 20%,var(--line));background:color-mix(in srgb,var(--panel2) 82%,var(--olive));}

.explore-page {max-width:1480px;margin:0 auto;}
.explore-hero {position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;min-height:260px;padding:clamp(28px,5vw,65px);overflow:hidden;border:1px solid color-mix(in srgb,var(--gold) 48%,var(--line));border-radius:26px;background:radial-gradient(circle at 78% 12%,#dcb96a38,transparent 26%),linear-gradient(118deg,#1b2c20,#354530 58%,#75513a);box-shadow:0 28px 55px -42px #000;color:#fff7e8;}
.explore-hero > div {position:relative;z-index:2;max-width:790px;}
.explore-hero h1 {max-width:15ch;margin:7px 0 12px;color:#fff7e8;font:500 clamp(2.6rem,5vw,5rem)/.98 Georgia,serif;letter-spacing:-.035em;}
.explore-hero p {max-width:65ch;color:#e8ddc7;}
.explore-hero > img {align-self:center;width:clamp(105px,15vw,200px);height:190px;object-fit:contain;filter:drop-shadow(0 18px 12px #0007);}
.explore-search {position:relative;z-index:3;grid-column:1/-1;display:flex;max-width:820px;margin:6px 0 0;padding:6px;border:1px solid #ecd69970;border-radius:999px;background:#fff9ebed;box-shadow:0 18px 30px -24px #000;}
.explore-search input {min-width:0;margin:0;border:0;background:transparent;color:#18271d;}
.explore-search button {border-radius:999px;white-space:nowrap;}
.explore-tabs {display:flex;gap:7px;margin:18px 0;overflow-x:auto;padding:3px 2px 8px;scrollbar-width:thin;}
.explore-tabs a {flex:0 0 auto;padding:9px 13px;border:1px solid color-mix(in srgb,var(--gold) 28%,var(--line));border-radius:999px;background:var(--panel);color:var(--ink);font-size:.72rem;font-weight:800;}
.explore-tabs a[aria-current="page"] {border-color:var(--olive);background:var(--selected-bg);box-shadow:inset 0 -3px var(--gold);}
.interest-filter {display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 20px;padding:16px 18px;border:1px solid color-mix(in srgb,var(--gold) 28%,var(--line));border-radius:16px;background:linear-gradient(100deg,color-mix(in srgb,var(--surface-warm) 38%,var(--panel)),var(--panel));}
.interest-filter h2 {margin:2px 0 0;font-size:1.1rem;}
.interest-filter-chips {display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap;}
.interest-filter-chips a {padding:5px 9px;border-radius:999px;background:color-mix(in srgb,var(--olive) 16%,var(--panel2));color:var(--ink);font-size:.65rem;}
.interest-filter-chips a[aria-current="true"] {background:var(--olive);color:#fff;}
.interest-filter-chips small {opacity:.7;}
.explore-section {margin-bottom:24px;}
.explore-section-heading {display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:12px;}
.explore-section-heading h2 {margin:2px 0 0;font:600 clamp(1.3rem,2vw,1.8rem)/1.2 Georgia,serif;}
.explore-section-heading > a {font-size:.7rem;font-weight:800;}
.lounge-preview-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.lounge-preview {position:relative;display:flex;min-height:185px;flex-direction:column;justify-content:flex-end;overflow:hidden;padding:14px;border:1px solid color-mix(in srgb,var(--gold) 42%,var(--line));border-radius:18px;background-image:linear-gradient(180deg,#21322555,#171c16d9),var(--lounge-preview-art,linear-gradient(145deg,#43533c,#7b5840));background-position:center;background-size:cover;color:#fff7e8;box-shadow:0 18px 36px -28px #000;}
.lounge-preview:hover {text-decoration:none;transform:translateY(-2px);}
.lounge-preview-glow {position:absolute;top:-20px;left:15%;width:70%;height:90px;border-radius:50%;background:#e5bf6860;filter:blur(24px);}
.lounge-preview-furniture {position:absolute;right:12%;bottom:42px;left:12%;height:52px;border:1px solid #d5b17888;border-radius:28px 28px 10px 10px;background:#76513ad9;box-shadow:0 13px 18px #0006;}
.lounge-preview > div,.lounge-preview > b {position:relative;z-index:2;}
.lounge-preview > div {display:flex;align-items:center;gap:8px;padding:9px;border-radius:12px;background:#101811c4;}
.lounge-preview .avatar-image {width:34px;height:34px;border-radius:11px;}
.lounge-preview > div > span {display:flex;min-width:0;flex-direction:column;}
.lounge-preview small {opacity:.75;}
.lounge-preview > b {align-self:flex-end;margin-top:8px;font-size:.68rem;}
.explore-columns {display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,330px);gap:24px;align-items:start;}
.explore-posts {display:grid;gap:15px;}
.explore-sidebar {position:sticky;top:86px;display:grid;gap:16px;}
.explore-sidebar .panel {margin:0;border-radius:17px;}
.explore-person {padding:11px 0;border-bottom:1px solid color-mix(in srgb,var(--gold) 18%,var(--line));}
.explore-person .avatar-image {width:40px;height:40px;border-radius:13px;}
.explore-person p {margin:5px 0;color:var(--muted);font-size:.62rem;}
.explore-person > div {display:flex;align-items:center;gap:9px;font-size:.66rem;font-weight:750;}
.explore-person form {margin:0;}.explore-person button {min-height:31px;padding:4px 7px;font-size:.62rem;}
.explore-room {display:grid;grid-template-columns:31px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--gold) 18%,var(--line));color:var(--ink);}
.explore-room > span:first-child {display:grid;place-items:center;width:29px;height:29px;border:1px solid color-mix(in srgb,var(--gold) 34%,var(--line));border-radius:9px;color:var(--gold);}
.explore-room > span:nth-child(2) {display:flex;min-width:0;flex-direction:column;}
.explore-room small {overflow:hidden;color:var(--muted);font-size:.6rem;text-overflow:ellipsis;white-space:nowrap;}
.explore-room b {font-size:.62rem;color:var(--muted);}
.explore-photo-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;}
.explore-photo-grid article {min-width:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--gold) 25%,var(--line));border-radius:15px;background:var(--panel);}
.explore-photo-grid article > a {display:block;aspect-ratio:1/1;overflow:hidden;background:#182019;}
.explore-photo-grid article > a img {width:100%;height:100%;object-fit:cover;transition:transform .25s ease;}
.explore-photo-grid article:hover > a img {transform:scale(1.025);}
.explore-photo-grid article > div {display:flex;align-items:center;justify-content:space-between;gap:6px;padding:8px 10px 0;}
.explore-photo-grid article > div a {display:flex;align-items:center;gap:6px;min-width:0;color:var(--ink);font-size:.68rem;}
.explore-photo-grid .avatar-image {width:25px;height:25px;border-radius:8px;}
.explore-photo-grid article > div span {color:var(--muted);font-size:.55rem;}
.explore-photo-grid article p {margin:7px 10px 10px;color:var(--muted);font-size:.65rem;}
.media-roadmap-note {margin-top:11px;padding:12px 14px;border-left:3px solid var(--gold);background:color-mix(in srgb,var(--surface-warm) 34%,var(--panel));color:var(--muted);font-size:.7rem;}
.media-roadmap-note strong {color:var(--ink);}
.explore-gallery-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;}
.explore-gallery-card {display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;gap:12px;overflow:hidden;border:1px solid color-mix(in srgb,var(--gold) 27%,var(--line));border-radius:15px;background:var(--panel);color:var(--ink);}
.explore-gallery-card:hover {text-decoration:none;background:var(--hover-bg);}
.gallery-card-cover {display:grid;place-items:center;width:90px;aspect-ratio:1/1;overflow:hidden;background:color-mix(in srgb,var(--olive) 22%,var(--panel2));color:var(--gold);font-size:1.8rem;}
.gallery-card-cover img {width:100%;height:100%;object-fit:cover;}
.explore-gallery-card > span:last-child {display:flex;min-width:0;flex-direction:column;padding-right:8px;}
.explore-gallery-card small {color:var(--muted);font-size:.62rem;}
.explore-empty {padding:60px;text-align:center;}.explore-empty > span {font-size:2rem;color:var(--gold);}

.media-page {max-width:1480px;margin:0 auto;}
.gallery-toolbar {padding:18px 20px;border:1px solid color-mix(in srgb,var(--gold) 30%,var(--line));border-radius:18px;background:linear-gradient(110deg,color-mix(in srgb,var(--surface-warm) 35%,var(--panel)),var(--panel));}
.album-shelves {margin:20px 0;}
.album-shelf-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;}
.album-shelf-card {display:block;overflow:hidden;border:1px solid color-mix(in srgb,var(--gold) 27%,var(--line));border-radius:15px;background:var(--panel);color:var(--ink);}
.album-shelf-card:hover {text-decoration:none;background:var(--hover-bg);}
.album-shelf-card > span {display:grid;place-items:center;aspect-ratio:16/9;overflow:hidden;background:color-mix(in srgb,var(--olive) 22%,var(--panel2));color:var(--gold);font-size:2rem;}
.album-shelf-card img {width:100%;height:100%;object-fit:cover;}
.album-shelf-card > div {display:flex;flex-direction:column;padding:10px;}.album-shelf-card small {color:var(--muted);font-size:.62rem;}
.gallery-expanded {grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;}
.gallery-expanded figure {overflow:hidden;border:1px solid color-mix(in srgb,var(--gold) 25%,var(--line));border-radius:15px;background:var(--panel);box-shadow:0 14px 28px -26px var(--shadow);}
.gallery-expanded figure > a {display:block;aspect-ratio:1/1;overflow:hidden;}.gallery-expanded figure > a img {width:100%;height:100%;object-fit:cover;}
.gallery-expanded figcaption {display:flex;flex-direction:column;gap:3px;padding:10px;}.gallery-expanded figcaption small {color:var(--muted);font-size:.62rem;}
.gallery-empty {grid-column:1/-1;padding:60px;text-align:center;}.gallery-empty > span {font-size:2rem;color:var(--gold);}
.photo-detail-layout {display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:20px;max-width:1420px;margin:0 auto;align-items:start;}
.photo-stage {display:grid;min-height:560px;place-items:center;overflow:hidden;border:1px solid color-mix(in srgb,var(--gold) 30%,var(--line));border-radius:20px;background:#171a14;}
.photo-stage a {display:grid;width:100%;height:100%;place-items:center;}.photo-stage img {max-width:100%;max-height:78vh;margin:0;border:0;border-radius:0;object-fit:contain;}
.photo-story {position:sticky;top:86px;margin:0;border-radius:18px;}.photo-story h1 {font-size:clamp(1.7rem,3vw,2.7rem);}.photo-story .person-identity {margin:15px 0;}.photo-story .avatar-image {width:44px;height:44px;border-radius:14px;}
.photo-meta {display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0;color:var(--muted);font-size:.66rem;}
.photo-connections {display:grid;gap:5px;margin:15px 0;padding:12px;border:1px solid color-mix(in srgb,var(--gold) 22%,var(--line));border-radius:12px;background:var(--panel2);font-size:.72rem;font-weight:750;}

.buddy-social-layout {max-width:1480px;}
.buddy-hub-header {display:flex;align-items:center;justify-content:space-between;min-height:150px;padding:28px 36px;border:1px solid color-mix(in srgb,var(--gold) 42%,var(--line));border-radius:20px;background:linear-gradient(118deg,#203024,#3d4a36 66%,#76513a);color:#fff7e8;}
.buddy-hub-header h1 {margin:4px 0 6px;color:#fff7e8;font:500 clamp(2rem,3.2vw,3.5rem)/1 Georgia,serif;}.buddy-hub-header p {max-width:65ch;margin:0;color:#e8ddc8;}
.buddy-hub-header img {width:95px;height:120px;object-fit:contain;filter:drop-shadow(0 12px 9px #0006);}
.buddy-section-tabs {display:flex;gap:8px;margin:13px 0;overflow-x:auto;}
.buddy-section-tabs a {display:flex;align-items:center;gap:6px;flex:0 0 auto;padding:8px 12px;border:1px solid color-mix(in srgb,var(--gold) 27%,var(--line));border-radius:999px;background:var(--panel);color:var(--ink);font-size:.7rem;font-weight:800;}
.buddy-section-tabs b {display:grid;min-width:20px;height:20px;place-items:center;border-radius:999px;background:var(--selected-bg);font-size:.58rem;}
.buddy-layout-refined {grid-template-columns:minmax(0,1fr) minmax(245px,290px);}
.compact-buddy-grid {grid-template-columns:repeat(3,minmax(0,1fr));}
.compact-buddy-card {padding:12px;}.compact-buddy-card .avatar-image {width:42px;height:42px;}
.discover-heading {align-items:flex-start;}
.area-settings {position:relative;z-index:3;width:min(290px,100%);}
.area-settings > summary {display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:39px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--gold) 32%,var(--line));border-radius:11px;background:var(--panel2);cursor:pointer;font-size:.72rem;font-weight:800;}
.area-settings > summary small {color:var(--muted);font-size:.58rem;font-weight:600;}
.area-settings[open] > div {position:absolute;top:46px;right:0;width:min(360px,85vw);padding:14px;border:1px solid color-mix(in srgb,var(--gold) 38%,var(--line));border-radius:14px;background:var(--panel);box-shadow:0 18px 45px -25px var(--shadow);}
.area-settings[open] > div > p {margin:0 0 10px;color:var(--muted);font-size:.68rem;}
.compact-nearby-form {display:block;padding:0;border:0;background:none;}.compact-nearby-form label {margin:8px 0;}.compact-nearby-form button {width:100%;}
.compact-buddy-search {display:flex;gap:7px;margin:12px 0;padding:0;border:0;background:none;}.compact-buddy-search input {margin:0;}.compact-buddy-search button,.compact-buddy-search .button {flex:0 0 auto;}
.discovery-filters {display:flex;gap:6px;margin-bottom:12px;overflow-x:auto;padding-bottom:4px;}
.discovery-filters a {flex:0 0 auto;padding:6px 9px;border-radius:999px;background:var(--panel2);color:var(--muted);font-size:.65rem;font-weight:750;}.discovery-filters a[aria-current="page"] {background:var(--olive);color:#fff;}
.compact-discovery-card {min-height:150px;padding:12px;}
.request-center h3 {margin:15px 0 3px;padding-top:11px;border-top:1px solid var(--line);font:600 .9rem/1.2 Georgia,serif;}

@media (max-width:1180px) {
  .lounge-preview-grid,.album-shelf-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .compact-buddy-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:900px) {
  .home-layout,.explore-columns,.photo-detail-layout {grid-template-columns:1fr;}
  .home-sidebar {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));position:static;}
  .home-sidebar > * {margin:0;}.home-sidebar .community-room-rail {grid-column:1/-1;}
  .explore-sidebar,.photo-story {position:static;}.explore-sidebar {grid-template-columns:repeat(2,minmax(0,1fr));}
  .photo-stage {min-height:420px;}
  .buddy-layout-refined {grid-template-columns:1fr;}.buddy-requests {grid-template-columns:1fr;}
}
@media (max-width:700px) {
  .community-welcome {min-height:300px;}.home-sidebar {grid-template-columns:1fr;}
  .composer-actions {align-items:stretch;flex-direction:column;}.composer-actions .photo-options {width:100%;}.audience-control {justify-content:space-between;}.composer-actions > button {width:100%;}
  .social-post .post-head {grid-template-columns:auto minmax(0,1fr);}.social-post .audience-badge {grid-column:2;justify-self:start;}
  .explore-hero {display:block;min-height:360px;padding:28px 22px;}.explore-hero > img {position:absolute;right:8px;bottom:55px;width:90px;height:120px;opacity:.35;}.explore-search {position:absolute;right:18px;bottom:18px;left:18px;}.explore-search button {padding-inline:12px;}
  .interest-filter {align-items:flex-start;flex-direction:column;}.interest-filter-chips {justify-content:flex-start;}
  .lounge-preview-grid,.explore-photo-grid,.explore-gallery-grid,.album-shelf-grid,.compact-buddy-grid {grid-template-columns:1fr;}
  .explore-sidebar {grid-template-columns:1fr;}.explore-gallery-card {grid-template-columns:76px minmax(0,1fr);}.gallery-card-cover {width:76px;}
  .photo-stage {min-height:300px;}.photo-meta {align-items:flex-start;flex-direction:column;}
  .buddy-hub-header {min-height:130px;padding:22px;}.buddy-hub-header img {width:70px;height:90px;opacity:.5;}.buddy-hub-header h1 {font-size:2rem;}
  .discover-heading {align-items:stretch;flex-direction:column;}.area-settings {width:100%;}.area-settings[open] > div {position:static;width:100%;margin-top:6px;box-shadow:none;}
  .compact-buddy-search {align-items:stretch;flex-direction:column;}.compact-buddy-search button,.compact-buddy-search .button {width:100%;}
}
@media (prefers-reduced-motion:reduce) {
  .lounge-preview:hover {transform:none;}.explore-photo-grid article > a img {transition:none;}.explore-photo-grid article:hover > a img {transform:none;}
}

/* V2 Phase 5 · digital lounge boutique, rewards and tighter discovery */
.community-welcome {min-height:210px;padding-top:34px;padding-bottom:34px;}
.community-welcome h1 {font-size:clamp(2.15rem,4vw,3.85rem);}
.explore-hero {min-height:205px;padding:clamp(24px,3.5vw,44px);}
.explore-hero h1 {font-size:clamp(2.35rem,4vw,4.1rem);}
.explore-hero > img {width:clamp(82px,11vw,145px);height:135px;}
.lounge-preview-grid {grid-template-columns:repeat(4,minmax(0,1fr));}
.lounge-preview {min-height:145px;}
.lounge-preview-furniture {height:39px;}
.explore-photo-grid article > a {aspect-ratio:4/3;}
.explore-columns:has(main:empty) {grid-template-columns:1fr;}
.explore-columns:has(main:empty) .explore-sidebar {position:static;grid-template-columns:repeat(2,minmax(0,1fr));}

.shop-page {max-width:1480px;margin:0 auto;}
.shop-hero {display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:clamp(24px,4vw,48px);border:1px solid color-mix(in srgb,var(--gold) 48%,var(--line));border-radius:24px;background:radial-gradient(circle at 82% 20%,#d7b56b32,transparent 23%),linear-gradient(120deg,#1b2e21,#3e4a34 62%,#76523b);color:#fff8e9;box-shadow:0 25px 55px -42px #000;}
.shop-hero h1 {max-width:17ch;margin:5px 0 10px;color:#fff8e9;font:500 clamp(2.2rem,4vw,4.2rem)/1 Georgia,serif;letter-spacing:-.03em;}
.shop-hero p {max-width:68ch;margin:0;color:#eadfc8;}
.shop-hero nav {display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;}
.shop-hero .button:not(.primary) {border-color:#e6c67b80;background:#142219b8;color:#fff8e9;}
.sandbox-notice {margin:14px 0 0;}
.shop-categories {display:flex;gap:7px;margin:15px 0 22px;overflow-x:auto;padding:3px 2px 7px;}
.shop-categories a {flex:0 0 auto;padding:8px 12px;border:1px solid color-mix(in srgb,var(--gold) 30%,var(--line));border-radius:999px;background:var(--panel);color:var(--ink);font-size:.69rem;font-weight:800;}
.shop-categories a[aria-current="page"] {border-color:var(--olive);background:var(--selected-bg);box-shadow:inset 0 -3px var(--gold);}
.shop-section,.achievement-section {margin:26px 0;}
.pack-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;}
.pack-card,.boutique-grid .product-card {overflow:hidden;padding:0;border:1px solid color-mix(in srgb,var(--gold) 30%,var(--line));border-radius:18px;background:var(--panel);box-shadow:0 18px 35px -31px var(--shadow);}
.pack-card {display:flex;min-width:0;flex-direction:column;align-items:flex-start;padding-bottom:15px;}
.pack-card > :not(.pack-preview) {margin-right:15px;margin-left:15px;}
.pack-card h3 {margin-top:9px;margin-bottom:6px;font:600 1.2rem/1.15 Georgia,serif;}
.pack-card p {flex:1;margin-top:0;color:var(--muted);font-size:.68rem;line-height:1.45;}
.pack-card > .button {margin-top:12px;}
.pack-preview,.product-visual {position:relative;display:grid;width:100%;aspect-ratio:16/10;place-items:center;overflow:hidden;background:radial-gradient(circle at 70% 22%,#e0ba6870,transparent 25%),linear-gradient(145deg,#25382a,#69704a 58%,#87563d);color:#f3d88f;}
.pack-preview::before,.product-visual::before {content:"";position:absolute;right:13%;bottom:18%;left:13%;height:28%;border:1px solid #e0ba7770;border-radius:30px 30px 8px 8px;background:#80573ed9;box-shadow:0 12px 16px #0006;}
.pack-preview span,.product-visual span {position:relative;z-index:2;font-size:2.4rem;text-shadow:0 5px 13px #000;}
.pack-preview small,.product-visual small {position:absolute;right:8px;bottom:6px;z-index:3;color:#fff9ebc9;font-size:.55rem;}
.visual-lighting {background:radial-gradient(circle at 50% 34%,#ffd7869c,transparent 22%),linear-gradient(145deg,#26372a,#6c573c);}
.visual-artwork {background:linear-gradient(145deg,#24372a,#694d38);}.visual-artwork::before {right:27%;bottom:18%;left:27%;height:58%;border-radius:3px;background:#344832;}
.visual-themes {background:repeating-linear-gradient(90deg,#31432f 0 18%,#3a4c34 18% 20%);}
.visual-collectibles {background:radial-gradient(circle at 50% 45%,#d8b76355,transparent 28%),linear-gradient(145deg,#1e3023,#704d38);}
.product-state {display:inline-flex;margin-top:12px;padding:4px 8px;border:1px solid color-mix(in srgb,var(--gold) 32%,var(--line));border-radius:999px;background:var(--panel2);color:var(--muted);font-size:.58rem;font-weight:850;text-transform:uppercase;letter-spacing:.07em;}
.state-owned,.state-earned,.achievement-card.earned .product-state {border-color:#6f895b;background:color-mix(in srgb,var(--olive) 23%,var(--panel));color:var(--green);}
.state-free {color:var(--green);}.state-reward {color:var(--cognac);}.state-premium {color:var(--gold);}
.boutique-grid {grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;}
.boutique-grid .product-card > div {display:flex;min-height:188px;flex-direction:column;align-items:flex-start;padding:13px;}
.boutique-grid h3 {margin:8px 0 4px;font:600 1.05rem/1.2 Georgia,serif;}.boutique-grid p {margin:0 0 8px;color:var(--muted);font-size:.64rem;}.boutique-grid .button {margin-top:auto;}
.boutique-detail {display:grid;grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr);gap:0;overflow:hidden;margin:0 0 26px;padding:0;border:1px solid color-mix(in srgb,var(--gold) 36%,var(--line));border-radius:20px;background:var(--panel);}
.boutique-detail > .product-visual {height:100%;min-height:360px;aspect-ratio:auto;}
.boutique-detail .product-detail-copy {padding:clamp(22px,4vw,48px);}.boutique-detail h2 {margin:8px 0;font:600 clamp(2rem,4vw,3.4rem)/1 Georgia,serif;}
.pack-components {display:flex;gap:7px;flex-wrap:wrap;margin:18px 0;}.pack-components > strong {width:100%;}.pack-components span {padding:5px 8px;border-radius:999px;background:var(--panel2);font-size:.63rem;}
.product-actions,.product-actions form {display:flex;gap:8px;flex-wrap:wrap;}.product-actions form {margin:0;}
.achievement-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.achievement-card {display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;padding:15px;border:1px solid color-mix(in srgb,var(--gold) 24%,var(--line));border-radius:15px;background:var(--panel);}
.achievement-card > span {display:grid;width:36px;height:36px;place-items:center;border-radius:12px;background:var(--panel2);color:var(--gold);font-weight:900;}.achievement-card.earned > span {background:var(--olive);color:#fff;}
.achievement-card h3 {margin:0 0 3px;font:600 1rem/1.2 Georgia,serif;}.achievement-card p {margin:0 0 5px;color:var(--muted);font-size:.68rem;}.achievement-card small {font-weight:750;}
.shop-empty {grid-column:1/-1;text-align:center;}.checkout-card {margin-top:42px;border-color:color-mix(in srgb,var(--gold) 38%,var(--line));}

.room-wall-forest-retreat {--room-wall:#536044;--room-wall-deep:#26372c;}
.room-wall-after-hours {--room-wall:#332f30;--room-wall-deep:#151a18;--room-upholstery:#5e3a32;}
.room-furniture-chill-sofa {--room-upholstery:#766349;--room-upholstery-deep:#46382d;}
.room-furniture-earthy {--room-upholstery:#6d513a;--room-upholstery-deep:#3e3026;}
.room-furniture-night-lounge {--room-upholstery:#45383b;--room-upholstery-deep:#241f24;}
.room-decoration-lush-plants .room-plant {transform:scale(1.28);transform-origin:bottom;}
.room-decoration-forest-accents .room-rug {background:repeating-radial-gradient(ellipse,#3d5138 0 10%,#73805a 11% 18%,#42372d 19% 24%);}
.room-decoration-night-accessory .room-table span {background:#bb764c;box-shadow:0 0 16px #e49c5a;}
.room-decoration-buddie-collectible .room-buddie {display:block;}
.room-lighting-ambient::before {background:radial-gradient(circle at 30% 30%,#e7bb7160,transparent 34%);}
.room-lighting-natural::before {background:linear-gradient(115deg,#e9ebc933,#fff4cf12 55%,transparent);}
.room-lighting-after-hours::before {background:radial-gradient(circle at 13% 30%,#e17d5368,transparent 22%),linear-gradient(90deg,#07100891,#4f2f2255 70%,#0c100b9c);}

@media (max-width:1100px) {.pack-grid,.boutique-grid {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:700px) {
  .community-welcome {min-height:230px;padding-top:28px;padding-bottom:28px;}
  .explore-hero {min-height:310px;padding:24px 20px;}.explore-hero h1 {font-size:2.45rem;}
  .shop-hero {align-items:flex-start;flex-direction:column;padding:25px 21px;}.shop-hero h1 {font-size:2.45rem;}.shop-hero nav {justify-content:flex-start;}
  .pack-grid,.boutique-grid,.achievement-grid,.boutique-detail {grid-template-columns:1fr;}
  .boutique-detail > .product-visual {min-height:230px;}.pack-card {min-height:0;}
}
@media (prefers-reduced-motion:reduce) {.pack-card,.product-card {transition:none;}}

/* Phase 5 refinement: room-first Studio and truthful catalog previews. */
.studio-page {max-width:1540px;margin:0 auto;}
.studio-heading {align-items:end;margin-bottom:12px;}
.studio-heading p {max-width:65ch;margin:5px 0 0;color:var(--muted);}
.studio-toolbar {position:sticky;z-index:45;top:76px;display:flex;align-items:center;gap:7px;margin-bottom:14px;padding:10px;border:1px solid color-mix(in srgb,var(--gold) 35%,var(--line));border-radius:15px;background:color-mix(in srgb,var(--panel) 94%,transparent);box-shadow:0 12px 30px -25px var(--shadow);backdrop-filter:blur(12px);}
.studio-toolbar .studio-view-buttons {display:flex;gap:5px;margin-left:auto;}
.studio-save-state {flex-basis:100%;color:var(--muted);font-size:.66rem;font-weight:750;}
.studio-workspace.visual-editor {display:grid;grid-template-columns:minmax(0,1.6fr) minmax(360px,.9fr);height:auto;min-height:0;gap:14px;align-items:start;}
.studio-preview,.studio-decor-panel {min-width:0;border:1px solid color-mix(in srgb,var(--gold) 30%,var(--line));border-radius:20px;background:var(--panel);box-shadow:0 24px 45px -38px var(--shadow);}
.studio-preview {position:sticky;top:154px;padding:13px;}
.studio-panel-heading {display:flex;align-items:end;justify-content:space-between;gap:16px;padding:5px 4px 12px;}
.studio-panel-heading h2 {margin:2px 0 0;font:600 clamp(1.2rem,2vw,1.65rem)/1.1 Georgia,serif;}
.studio-panel-heading > span {max-width:32ch;color:var(--muted);font-size:.62rem;text-align:right;}
.studio-preview .editor-preview {height:clamp(390px,48vw,590px);min-height:390px;overflow:hidden;border-radius:14px;}
.studio-preview .editor-preview iframe {width:100%;height:100%;min-height:0;border:0;background:var(--bg);}
.studio-decor-panel {padding:13px;}
.studio-categories {display:flex;gap:6px;overflow-x:auto;padding:3px 1px 10px;scrollbar-width:thin;}
.studio-categories button {flex:0 0 auto;padding:8px 11px;border-radius:999px;font-size:.65rem;}
.studio-categories button[aria-pressed="true"] {border-color:var(--olive);background:var(--selected-bg);box-shadow:inset 0 -3px var(--gold);}
.studio-item-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
.studio-item-card {min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--panel2);transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease;}
.studio-item-card.selected {border-color:var(--gold);box-shadow:0 0 0 2px color-mix(in srgb,var(--gold) 25%,transparent),0 13px 24px -20px var(--shadow);}
.studio-item-card:not([hidden]):hover {transform:translateY(-2px);}
.studio-item-card[hidden] {display:none;}
.studio-item-select {display:block;width:100%;padding:0;border:0;border-radius:0;background:transparent;color:inherit;text-align:left;box-shadow:none;}
.studio-item-select:hover {background:transparent;}
.studio-item-card > a {display:block;padding:6px 10px 9px;font-size:.6rem;font-weight:800;}
.studio-item-copy {display:flex;min-height:116px;flex-direction:column;align-items:flex-start;padding:8px 9px 10px;}
.studio-item-copy strong {font:600 .92rem/1.1 Georgia,serif;}
.studio-item-copy small {flex:1;margin-top:4px;color:var(--muted);font-size:.58rem;line-height:1.35;}
.item-state {margin-top:7px;padding:3px 6px;border:1px solid color-mix(in srgb,var(--gold) 35%,var(--line));border-radius:999px;color:var(--muted);font-size:.52rem;font-style:normal;font-weight:850;text-transform:uppercase;letter-spacing:.04em;}
.studio-item-card.selected .item-state::after {content:" · selected";}
.studio-selection {margin:12px 2px 4px;padding:9px 11px;border-left:3px solid var(--gold);background:var(--panel2);color:var(--ink);font-size:.66rem;}
.advanced-profile-layout {margin:18px 0;border:1px solid color-mix(in srgb,var(--gold) 28%,var(--line));border-radius:18px;background:var(--panel);}
.advanced-profile-layout > summary {padding:17px 19px;cursor:pointer;}
.advanced-profile-layout > summary span {display:inline-flex;flex-direction:column;gap:3px;vertical-align:middle;}
.advanced-profile-layout > summary strong {font:600 1.12rem Georgia,serif;}
.advanced-profile-layout > summary small {color:var(--muted);font-weight:500;}
.advanced-profile-layout .editor-controls {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;overflow:visible;padding:0 14px 14px;border:0;background:transparent;}
.advanced-profile-layout .editor-controls > details {align-self:start;}

.studio-item-visual,.component-visual {position:relative;display:block;width:100%;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(#45533b 0 68%,#8a6549 68%);}
.studio-item-visual::after,.component-visual::after {content:"";position:absolute;inset:10% 9% 32%;border:1px solid #e2c27955;background:linear-gradient(120deg,#1f3526,#69704a);box-shadow:inset 0 -8px #0002;}
.studio-item-visual i,.studio-item-visual b,.component-visual i,.component-visual b,.product-visual i,.product-visual b {position:absolute;z-index:2;display:block;}
.preview-furniture-conversation i,.preview-furniture-chill-sofa i,.preview-furniture-earthy i,.preview-furniture-night-lounge i,.preview-furniture-reading i,.preview-furniture-open-floor i {right:16%;bottom:15%;left:16%;height:28%;border-radius:18px 18px 5px 5px;background:#855a40;box-shadow:inset 0 7px #b47a55,0 8px 12px #0005;}
.preview-furniture-reading i {right:50%;left:19%;}.preview-furniture-open-floor i {right:56%;left:30%;height:14%;}.preview-furniture-chill-sofa i {background:#6c7950}.preview-furniture-earthy i {background:#785039}.preview-furniture-night-lounge i {background:#302f2c;box-shadow:inset 0 7px #5a463b,0 8px 12px #0008;}
.preview-lighting-golden-hour b,.preview-lighting-daylight b,.preview-lighting-evening b,.preview-lighting-ambient b,.preview-lighting-natural b,.preview-lighting-after-hours b {top:16%;right:25%;width:18%;aspect-ratio:1;border-radius:50%;background:#f2d189;box-shadow:0 0 25px 13px #f2c86b88;}
.preview-lighting-daylight b {background:#fff8d9;box-shadow:0 0 25px 13px #dce8d699}.preview-lighting-evening b,.preview-lighting-after-hours b {background:#da9362;box-shadow:0 0 28px 16px #b65f3477;}
.preview-wall-warm-plaster,.preview-wall-warm-plaster::after {background:linear-gradient(#d8c8a9 0 68%,#8a6549 68%)}
.preview-wall-botanical,.preview-wall-forest-retreat,.preview-wall-botanical::after,.preview-wall-forest-retreat::after {background:linear-gradient(135deg,#536044,#788057)}
.preview-wall-after-hours,.preview-wall-after-hours::after {background:linear-gradient(135deg,#202b25,#48372f)}
.preview-artwork-banner i,.preview-artwork-highk i,.preview-artwork-chill-art i,.preview-artwork-forest-art i,.preview-artwork-night-art i,.preview-artwork-buddie-art i {top:18%;left:31%;width:38%;height:36%;border:5px solid #9b6a42;background:linear-gradient(135deg,#d8c48c,#405137);box-shadow:0 6px 9px #0005;}
.preview-artwork-none i {display:none}.preview-artwork-night-art i {background:#252a29}.preview-artwork-buddie-art i {background:radial-gradient(circle,#d1af65 0 18%,#486044 19%)}
.preview-decoration-botanical i,.preview-decoration-lush-plants i,.preview-decoration-forest-accents i,.preview-decoration-buddie i,.preview-decoration-minimal i,.preview-decoration-night-accessory i,.preview-decoration-buddie-collectible i {right:18%;bottom:13%;width:12%;height:37%;border-radius:60% 10%;background:#637d45;box-shadow:-13px 8px #80935d,9px 12px #405d3b;}
.preview-decoration-minimal i,.preview-decoration-night-accessory i {height:20%;border-radius:50% 50% 20% 20%;background:#c7ae82;box-shadow:12px 4px #835d49}.preview-decoration-buddie i,.preview-decoration-buddie-collectible i {border-radius:50% 50% 42% 42%;background:#d6b265;box-shadow:none;}

.pack-component-section {grid-column:1/-1;padding:24px;border-top:1px solid var(--line);background:var(--panel2);}
.pack-component-section h3 {margin:4px 0;font:600 1.5rem Georgia,serif;}
.pack-component-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:16px;}
.pack-component-card {display:grid;grid-template-columns:150px minmax(0,1fr);overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--panel);}
.component-visual {height:100%;min-height:155px;aspect-ratio:auto;}
.pack-component-card > div:last-child {padding:11px;}.pack-component-card h4 {margin:6px 0 4px;font:600 1rem Georgia,serif;}.pack-component-card p {margin:0 0 9px;color:var(--muted);font-size:.62rem;}.pack-component-card form {display:inline;margin-right:7px;}.pack-component-card a {font-size:.62rem;font-weight:800;}
.product-visual.preview-item-bundle::before {display:block;}
.product-visual[class*="preview-"]:not(.preview-item-bundle)::before {display:none;}
.product-visual[class*="preview-"] {background:linear-gradient(#45533b 0 68%,#8a6549 68%);}
.product-visual[class*="preview-"] > i {inset:10% 9% 32%;z-index:1;border:1px solid #e2c27955;background:linear-gradient(120deg,#1f3526,#69704a);}

.room-only-preview .profile > :not(.lounge-room) {display:none!important;}
.room-only-preview .container {width:100%;max-width:none;padding:0;}
.room-only-preview .profile {min-height:100vh;border:0;border-radius:0;background:var(--bg);}
.room-only-preview .lounge-room {height:100vh;min-height:390px;margin:0;border-radius:0;}

@media(max-width:1050px) {
  .studio-workspace.visual-editor {grid-template-columns:1fr;}
  .studio-preview {position:relative;top:auto;}
  .studio-item-grid {grid-template-columns:repeat(3,minmax(0,1fr));}
  .advanced-profile-layout .editor-controls {grid-template-columns:1fr;}
}
@media(max-width:760px) {
  .studio-toolbar {top:8px;overflow-x:auto;flex-wrap:nowrap;}
  .studio-toolbar .studio-view-buttons {display:flex}.studio-toolbar [data-preview-width] {display:none}.studio-save-state {position:absolute;top:calc(100% + 4px);right:0;left:0;padding:5px 8px;border-radius:7px;background:var(--panel);text-align:center;}
  .studio-workspace.visual-editor {display:flex;margin-top:32px;}
  .studio-preview .editor-preview {height:330px;min-height:330px;}
  .studio-item-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .pack-component-grid {grid-template-columns:1fr;}.pack-component-card {grid-template-columns:120px minmax(0,1fr);}
}
@media(max-width:440px) {.studio-page,.studio-workspace,.studio-preview,.studio-decor-panel,.advanced-profile-layout {width:100%;max-width:100%;min-width:0}.studio-item-grid {grid-template-columns:1fr}.studio-item-copy {min-height:100px}.studio-categories {max-width:100%}.pack-component-card {grid-template-columns:1fr}.component-visual {min-height:150px}.studio-toolbar {max-width:100%}.studio-toolbar button {white-space:nowrap;padding:7px 9px;}}
@media(prefers-reduced-motion:reduce) {.studio-item-card {transition:none;}}

/* Phase 5 critical correction: viewport-bound application Studio. */
body.studio-editor-page {height:100dvh;overflow:hidden;}
.studio-editor-page > .container {height:calc(100dvh - 78px);min-height:0;max-width:none;padding:8px clamp(8px,1.2vw,18px);overflow:hidden;}
.studio-editor-page > footer {display:none;}
.studio-editor-page .studio-page {display:grid;width:100%;height:100%;max-width:none;grid-template-rows:58px minmax(0,1fr);gap:8px;overflow:hidden;}
.studio-editor-page .studio-toolbar {position:relative;top:auto;z-index:100;display:flex;align-items:center;min-width:0;height:58px;margin:0;padding:7px 9px;border:1px solid color-mix(in srgb,var(--gold) 38%,var(--line));border-radius:14px;background:var(--panel);box-shadow:0 12px 28px -25px var(--shadow);}
.studio-back {display:flex;align-items:center;gap:6px;flex:0 0 auto;padding:8px 11px;border:1px solid color-mix(in srgb,var(--gold) 25%,var(--line));border-radius:9px;background:var(--panel2);color:var(--ink);font-size:.875rem;font-weight:800;}
.studio-back:hover {text-decoration:none;background:var(--hover-bg);}
.studio-title {display:flex;min-width:145px;flex-direction:column;margin:0 10px;padding-right:12px;border-right:1px solid var(--line);line-height:1.05;}
.studio-title strong {font:600 1rem Georgia,serif;white-space:nowrap;}
.studio-history,.studio-preview-tools,.studio-primary-actions {display:flex;gap:5px;flex:0 0 auto;}
.studio-toolbar button {min-height:38px;padding:7px 11px;white-space:nowrap;font-size:.875rem;}
.studio-preview-tools {margin-left:8px;padding-left:8px;border-left:1px solid var(--line);}
.studio-preview-tools button[aria-pressed="true"] {border-color:var(--gold);background:var(--selected-bg);}
.studio-save-state {min-width:0;flex:1;margin:0 9px;color:color-mix(in srgb,var(--ink) 76%,var(--muted));font-size:.875rem;font-weight:700;line-height:1.25;text-align:center;}
.studio-primary-actions .primary {min-width:82px;}

.studio-editor-page .studio-workspace {display:grid;min-width:0;min-height:0;height:100%;grid-template-columns:112px minmax(320px,360px) minmax(0,1fr);grid-template-areas:"categories browser preview";gap:8px;overflow:hidden;}
.studio-category-rail {grid-area:categories;display:flex;min-width:0;min-height:0;flex-direction:column;gap:5px;padding:7px;border:1px solid color-mix(in srgb,var(--gold) 28%,var(--line));border-radius:14px;background:var(--panel);overflow-y:auto;scrollbar-width:thin;}
.studio-category-rail button {display:flex;min-height:70px;flex:1 0 66px;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:6px 4px;border-color:transparent;border-radius:10px;background:transparent;color:color-mix(in srgb,var(--ink) 78%,var(--muted));font-size:.875rem;}
.studio-category-rail button > span {font-size:1.2rem;line-height:1;}
.studio-category-rail button > small {color:inherit;font-size:.875rem;font-weight:750;line-height:1.15;}
.studio-category-rail button:hover,.studio-category-rail button:focus-visible {background:var(--hover-bg);color:var(--ink);}
.studio-category-rail button[aria-pressed="true"] {border-color:color-mix(in srgb,var(--gold) 50%,var(--line));background:var(--selected-bg);color:var(--ink);box-shadow:inset 3px 0 var(--gold);}

.studio-editor-page .studio-decor-panel {grid-area:browser;display:grid;min-width:0;min-height:0;height:100%;grid-template-columns:minmax(0,1fr);grid-template-rows:52px minmax(0,1fr) 58px;padding:8px;border:1px solid color-mix(in srgb,var(--gold) 30%,var(--line));border-radius:14px;background:var(--panel);overflow:clip;box-shadow:none;}
.studio-browser-heading {display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 3px 7px;border-bottom:1px solid var(--line);}
.studio-browser-heading h1 {margin:1px 0 0;font:600 1.15rem/1 Georgia,serif;}
.studio-browser-heading [data-studio-category-label] {color:color-mix(in srgb,var(--gold) 72%,var(--ink));font-size:.8125rem;letter-spacing:.05em;}
.studio-browser-heading > a {font-size:.875rem;font-weight:800;}
.studio-editor-page .studio-item-grid {display:grid;width:100%;max-width:100%;min-width:0;min-height:0;grid-template-columns:minmax(0,1fr);align-content:start;gap:7px;padding:8px 3px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;}
.studio-editor-page .studio-item-card {width:100%;max-width:100%;min-width:0;min-height:142px;flex:0 0 auto;border-radius:11px;}
body.studio-editor-page .studio-item-select {position:relative;display:grid;width:100%;min-width:0;grid-template-columns:108px minmax(0,1fr);min-height:140px;background:var(--panel2);color:var(--ink);}
body.studio-editor-page .studio-item-select:hover {background:color-mix(in srgb,var(--panel2) 86%,var(--selected-bg));}
.studio-editor-page .studio-item-visual {height:100%;min-height:140px;aspect-ratio:auto;}
.studio-editor-page .studio-item-copy {min-width:0;min-height:140px;padding:11px 10px;overflow:hidden;}
.studio-editor-page .studio-item-copy strong {font-size:1rem;line-height:1.25;}
.studio-editor-page .studio-item-copy small {display:-webkit-box;margin-top:5px;overflow:hidden;color:color-mix(in srgb,var(--ink) 82%,var(--muted));-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:.875rem;line-height:1.3;}
.studio-editor-page .item-state {max-width:100%;margin-top:8px;padding:4px 7px;overflow:hidden;color:var(--ink);font-size:.875rem;line-height:1;text-overflow:ellipsis;white-space:nowrap;letter-spacing:0;text-transform:none;}
.studio-preview-action {position:static;align-self:flex-end;margin-top:6px;color:color-mix(in srgb,var(--gold) 72%,var(--ink));font-size:.875rem;font-weight:800;text-transform:none;letter-spacing:0;}
.studio-item-card.selected .studio-preview-action {color:var(--green);}
.studio-item-card.selected .studio-preview-action::after {content:"ed";}
.studio-editor-page .studio-item-card > a {padding:6px 10px 8px;text-align:right;font-size:.875rem;}
.studio-browser-footer {display:block;max-width:none;margin:0;padding:7px 9px;border:0;border-top:1px solid var(--line);background:var(--panel2);font-size:.875rem;}
.studio-browser-footer p {margin:0;color:var(--ink);font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.studio-browser-footer small {color:color-mix(in srgb,var(--ink) 72%,var(--muted));font-size:.8125rem;}

.studio-editor-page .studio-preview {position:relative;top:auto;grid-area:preview;display:grid;min-width:0;min-height:0;height:100%;grid-template-rows:46px minmax(0,1fr);padding:8px;border:1px solid color-mix(in srgb,var(--gold) 35%,var(--line));border-radius:14px;background:var(--panel);overflow:hidden;box-shadow:none;}
.studio-preview-heading {display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 4px 7px;}
.studio-preview-heading h2 {margin:1px 0 0;font:600 1.2rem/1 Georgia,serif;}
.studio-preview-heading > span {color:color-mix(in srgb,var(--ink) 76%,var(--muted));font-size:.875rem;font-weight:700;}
.studio-editor-page .studio-preview .editor-preview {height:100%;min-height:0;border-radius:10px;overflow:hidden;}
.studio-editor-page .studio-preview .editor-preview iframe {display:block;width:100%;height:100%;min-height:0;}
.profile-preview > .mobile-nav {display:none!important;}

.advanced-profile-dialog {position:fixed;z-index:180;top:110px;right:24px;bottom:auto;left:auto;width:min(820px,calc(100vw - 32px));height:min(640px,calc(100dvh - 100px));min-width:min(640px,calc(100vw - 20px));min-height:min(440px,calc(100dvh - 20px));max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);margin:0;padding:0;overflow:hidden;border:2px solid color-mix(in srgb,var(--gold) 68%,var(--earth));border-radius:16px;background:color-mix(in srgb,var(--panel) 88%,var(--earth));color:var(--ink);box-shadow:0 34px 90px #000c,0 0 0 1px #f2d48b4d;}
.advanced-profile-dialog[open] {display:grid;grid-template-rows:auto minmax(0,1fr) auto;}
.advanced-titlebar {display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:14px 16px;border-bottom:2px solid color-mix(in srgb,var(--gold) 45%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--earth) 60%,var(--panel2)),color-mix(in srgb,var(--olive) 48%,var(--panel)));cursor:grab;touch-action:none;user-select:none;}
.advanced-titlebar:active {cursor:grabbing;}
.advanced-titlebar h2 {margin:2px 0 4px;font:600 1.45rem/1.15 Georgia,serif;color:var(--ink);}
.advanced-titlebar p {max-width:560px;margin:0;color:color-mix(in srgb,var(--ink) 78%,var(--muted));font-size:.875rem;line-height:1.35;}
.advanced-kicker {color:color-mix(in srgb,var(--gold) 85%,var(--ink));font-size:.8125rem;font-weight:800;}
.advanced-window-actions {display:flex;flex:0 0 auto;gap:7px;}
.advanced-window-actions button {min-height:40px;padding:7px 10px;font-size:.875rem;}
.advanced-done span:first-child {display:none;}
.advanced-window-body {display:grid!important;min-height:0;grid-template-columns:190px minmax(0,1fr);gap:0!important;max-height:none!important;padding:0!important;overflow:hidden!important;border:0!important;background:var(--bg)!important;}
.advanced-section-nav {display:flex;min-height:0;flex-direction:column;gap:5px;padding:12px 9px;border-right:1px solid color-mix(in srgb,var(--gold) 35%,var(--line));background:color-mix(in srgb,var(--panel2) 90%,var(--earth));overflow-y:auto;}
.advanced-section-nav button {width:100%;min-height:46px;padding:9px 10px;border-color:transparent;background:transparent;color:color-mix(in srgb,var(--ink) 80%,var(--muted));font-size:.875rem;text-align:left;}
.advanced-section-nav button[aria-pressed="true"] {border-color:color-mix(in srgb,var(--gold) 55%,var(--line));background:var(--selected-bg);color:var(--ink);box-shadow:inset 3px 0 var(--gold);}
.advanced-section-content {min-width:0;min-height:0;padding:18px;overflow-y:auto;overscroll-behavior:contain;background:color-mix(in srgb,var(--panel) 95%,var(--surface-warm));}
.advanced-section[hidden] {display:none;}
.advanced-section {font-size:.9375rem;}
.advanced-section-heading {margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--line);}
.advanced-section-heading h3 {margin:0 0 4px;font:600 1.3rem/1.2 Georgia,serif;}
.advanced-section-heading p,.advanced-subsection > p,.advanced-empty-guidance {margin:0;color:color-mix(in srgb,var(--ink) 78%,var(--muted));font-size:.9375rem;line-height:1.45;}
.advanced-section label {font-size:.9375rem;font-weight:700;}
.advanced-section input,.advanced-section select,.advanced-section textarea,.advanced-section button {font-size:1rem;}
.advanced-subsection {margin-top:16px;padding:14px;border:1px solid color-mix(in srgb,var(--gold) 32%,var(--line));border-radius:12px;background:var(--panel2);}
.advanced-subsection h4 {margin:0 0 8px;font:600 1.08rem Georgia,serif;}
.advanced-profile-dialog .module-editor-row label {font-size:.875rem;}
.advanced-profile-dialog .module-editor-row {background:var(--panel2);}
.advanced-profile-dialog > footer {display:flex;align-items:center;justify-content:flex-end;gap:10px;width:auto;max-width:none;margin:0;padding:9px 18px;border-top:1px solid color-mix(in srgb,var(--gold) 35%,var(--line));background:color-mix(in srgb,var(--panel2) 90%,var(--earth));font-size:.875rem;}
.advanced-profile-dialog > footer span {margin-right:auto;color:color-mix(in srgb,var(--ink) 75%,var(--muted));}
.advanced-resize-handle {position:absolute;z-index:4;right:0;bottom:0;width:32px;min-width:32px;height:32px;min-height:32px;padding:0;border:0;border-radius:0 0 14px 0;background:linear-gradient(135deg,transparent 0 48%,color-mix(in srgb,var(--gold) 85%,var(--ink)) 49% 56%,transparent 57% 66%,color-mix(in srgb,var(--gold) 85%,var(--ink)) 67% 74%,transparent 75%);cursor:nwse-resize;touch-action:none;}

@media(max-width:1180px) and (min-width:921px) {
  .studio-title {display:none;}.studio-editor-page .studio-workspace {grid-template-columns:104px 330px minmax(0,1fr)}
  .studio-toolbar button {padding-inline:8px}.studio-save-state {margin-inline:5px;}
}
@media(max-width:920px) {
  body.studio-editor-page {padding-bottom:0!important;}
  .studio-editor-page > .container {height:calc(100dvh - 62px - 66px);padding:5px;}
  .studio-editor-page .studio-page {grid-template-rows:76px minmax(0,1fr);gap:5px;}
  .studio-editor-page .studio-toolbar {display:grid;height:76px;grid-template-columns:auto auto 1fr auto;grid-template-areas:"back history status actions" "preview preview preview preview";gap:4px;padding:5px;}
  .studio-back {grid-area:back;padding:6px 8px}.studio-back span:last-child,.studio-title {display:none;}
  .studio-history {grid-area:history}.studio-save-state {grid-area:status;margin:0;font-size:.8125rem;text-align:left;}.studio-primary-actions {grid-area:actions}.studio-preview-tools {grid-area:preview;margin:0;padding:3px 0 0;border:0;border-top:1px solid var(--line);}
  .studio-toolbar button {min-height:32px;padding:5px 8px;font-size:.875rem;}.studio-preview-tools [data-preview-width] {display:none;}
  .studio-editor-page .studio-workspace {grid-template-columns:1fr;grid-template-rows:minmax(230px,1fr) 52px 210px;grid-template-areas:"preview" "categories" "browser";gap:5px;}
  .studio-category-rail {flex-direction:row;padding:4px;overflow-x:auto;overflow-y:hidden;}
  .studio-category-rail button {min-width:96px;min-height:42px;flex:1 0 96px;flex-direction:row;gap:5px;padding:5px 7px;}
  .studio-category-rail button > span {font-size:.9rem}.studio-category-rail button[aria-pressed="true"] {box-shadow:inset 0 -3px var(--gold);}
  .studio-editor-page .studio-preview {grid-template-rows:34px minmax(0,1fr);padding:5px;}.studio-preview-heading h2 {font-size:1rem}.studio-preview-heading .eyebrow {display:none;}
  .studio-editor-page .studio-decor-panel {grid-template-rows:38px minmax(0,1fr) 35px;padding:5px;}
  .studio-browser-heading h1 {font-size:.98rem}.studio-browser-heading .eyebrow {display:none;}
  .studio-editor-page .studio-item-grid {display:flex;gap:6px;padding:5px 2px;overflow-x:auto;overflow-y:hidden;}
  .studio-editor-page .studio-item-card {width:260px;min-width:260px;height:150px;}
  .studio-editor-page .studio-item-select {grid-template-columns:88px minmax(0,1fr);min-height:120px;height:120px;}.studio-editor-page .studio-item-visual {min-height:120px;}
  .studio-editor-page .studio-item-copy {min-height:120px;padding:8px}.studio-editor-page .studio-item-copy small {-webkit-line-clamp:2}.studio-editor-page .studio-item-card > a {padding:4px 8px;font-size:.8125rem;}
  .studio-browser-footer {padding:3px 6px}.studio-browser-footer small {display:none;}
  .advanced-profile-dialog {inset:0!important;width:100vw!important;height:100dvh!important;min-width:0;min-height:0;max-width:none;max-height:none;margin:0;border:0;border-radius:0;}
  .advanced-profile-dialog[open] {grid-template-rows:auto minmax(0,1fr) auto;}
  .advanced-titlebar {align-items:center;padding:11px 12px;cursor:default;}
  .advanced-titlebar p,.advanced-kicker,.advanced-window-actions [data-advanced-reset] {display:none;}
  .advanced-titlebar h2 {margin:0;font-size:1.25rem;}
  .advanced-done span:first-child {display:inline;}
  .advanced-window-body {grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);}
  .advanced-section-nav {flex-direction:row;padding:7px;border-right:0;border-bottom:1px solid var(--line);overflow-x:auto;overflow-y:hidden;}
  .advanced-section-nav button {flex:0 0 auto;width:auto;min-height:42px;white-space:nowrap;}
  .advanced-section-nav button[aria-pressed="true"] {box-shadow:inset 0 -3px var(--gold);}
  .advanced-section-content {padding:14px;}
  .advanced-profile-dialog > footer {padding:8px 12px;}.advanced-profile-dialog > footer span {display:none;}
  .advanced-resize-handle {display:none;}
}
@media(max-width:520px) {
  .studio-editor-page .studio-page {grid-template-rows:82px minmax(0,1fr)}
  .studio-editor-page .studio-toolbar {height:82px;grid-template-columns:auto auto minmax(0,1fr) auto;}
  .studio-primary-actions button:first-child {padding-inline:7px}.studio-primary-actions .primary {min-width:65px;}
  .studio-editor-page .studio-workspace {grid-template-rows:minmax(225px,1fr) 50px 205px;}
  .studio-preview-heading > span {display:none;}
}

/* Owner feedback pass · persistent member shell and unified social workspace */
.header-tools {margin-left:auto;}
.member-nav-toggle,.member-sidebar-close {display:none;}
.member-app-shell {
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  width:100%;
  height:calc(100dvh - 72px);
  min-height:0;
  overflow:hidden;
}
.member-sidebar {
  position:relative;
  z-index:55;
  min-width:0;
  min-height:0;
  padding:18px 14px 22px;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  border-right:1px solid color-mix(in srgb,var(--gold) 31%,var(--line));
  background:
    radial-gradient(circle at 15% 0%,color-mix(in srgb,var(--gold) 12%,transparent),transparent 27%),
    linear-gradient(165deg,color-mix(in srgb,var(--panel2) 86%,var(--olive)),color-mix(in srgb,var(--panel) 88%,var(--earth)));
  box-shadow:12px 0 32px -30px var(--shadow);
  scrollbar-width:thin;
}
.member-sidebar-head {display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 7px 11px;}
.member-sidebar-head .eyebrow {font-size:.61rem;letter-spacing:.17em;}
.member-sidebar-identity {display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:11px;padding:10px;border:1px solid color-mix(in srgb,var(--gold) 30%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--surface-warm) 24%,var(--panel));color:var(--ink);}
.member-sidebar-identity:hover {border-color:color-mix(in srgb,var(--gold) 58%,var(--line));text-decoration:none;}
.member-sidebar-identity .avatar-image {width:54px;height:54px;border:2px solid color-mix(in srgb,var(--gold) 46%,var(--line));border-radius:17px;}
.member-sidebar-identity > span {display:flex;min-width:0;flex-direction:column;}
.member-sidebar-identity strong,.member-sidebar-identity small {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.member-sidebar-identity strong {font:600 1rem/1.25 Georgia,serif;}
.member-sidebar-identity small {margin-top:3px;color:var(--muted);font-size:.72rem;}
.member-sidebar-actions {display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 0 11px;}
.member-sidebar-actions a {display:grid;min-height:37px;place-items:center;padding:6px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel) 90%,var(--olive));color:var(--ink);font-size:.67rem;font-weight:750;text-align:center;}
.member-sidebar-actions a:hover {border-color:var(--gold);background:var(--hover-bg);text-decoration:none;}
.member-sidebar-stats {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:0 0 13px;}
.member-sidebar-stats div {display:flex;min-width:0;flex-direction:column-reverse;align-items:center;padding:7px 3px;border-radius:9px;background:color-mix(in srgb,var(--selected-bg) 70%,transparent);}
.member-sidebar-stats dt {color:var(--muted);font-size:.57rem;text-transform:uppercase;letter-spacing:.05em;}
.member-sidebar-stats dd {margin:0;color:var(--ink);font:700 .9rem/1.2 Georgia,serif;}
.member-sidebar-nav {display:grid;gap:3px;}
.member-sidebar-nav a {position:relative;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:42px;padding:7px 9px;border:1px solid transparent;border-radius:11px;color:color-mix(in srgb,var(--ink) 78%,var(--muted));font-size:.78rem;font-weight:680;}
.member-sidebar-nav a:hover {background:var(--hover-bg);color:var(--ink);text-decoration:none;}
.member-sidebar-nav a[aria-current="page"] {border-color:color-mix(in srgb,var(--gold) 42%,var(--line));background:linear-gradient(90deg,color-mix(in srgb,var(--selected-bg) 88%,var(--gold)),var(--selected-bg));box-shadow:inset 3px 0 var(--gold);color:var(--ink);}
.member-sidebar-nav a > span:first-child {display:grid;width:28px;height:28px;place-items:center;border:1px solid color-mix(in srgb,var(--gold) 33%,var(--line));border-radius:9px;color:var(--gold);font-size:.95rem;}
.member-sidebar-nav a > span:nth-child(2) {min-width:0;overflow-wrap:anywhere;}
.member-sidebar-nav b {display:grid;min-width:20px;height:20px;place-items:center;padding:0 5px;border-radius:999px;background:var(--earth);color:#fff8e8;font-size:.62rem;}
.member-sidebar-note {margin:16px 7px 0;padding-top:13px;border-top:1px solid color-mix(in srgb,var(--gold) 24%,var(--line));color:var(--muted);font-size:.64rem;line-height:1.5;}
.member-sidebar-scrim {display:none;}
.member-main-scroll {min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;}
.member-main-scroll > .container {max-width:1540px;min-width:0;margin:0 auto;}
.member-main-scroll > footer {max-width:1540px;margin:0 auto;}

/* Chat pages fill the independently scrolling content region. */
.chat-page .member-app-shell {flex:1;height:auto;}
.chat-page .member-main-scroll {display:flex;min-height:0;flex-direction:column;overflow:hidden;}
.chat-page .member-main-scroll > .container {display:flex;min-height:0;max-width:none;flex:1;flex-direction:column;margin:0;padding:16px clamp(12px,2vw,24px);}
.chat-page .member-main-scroll > .container > .notice,.chat-page .member-main-scroll > .container > .restriction-banner {flex-shrink:0;margin-bottom:8px;}
.chat-page .member-main-scroll > footer {display:none;}
.social-workspace,.messenger {
  display:grid;
  grid-template-columns:minmax(285px,340px) minmax(0,1fr);
  width:100%;
  min-width:0;
  min-height:0;
  height:100%;
  flex:1;
  overflow:hidden;
}
.social-workspace > * {min-width:0;min-height:0;}
.conversation-sidebar,.social-index {min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;}
.conversation-sidebar > *,.social-index > * {max-width:100%;}
.conversation-title,.conversation-sidebar > .section-heading,.room-sidebar-intro {padding-right:16px;padding-left:16px;}
.conversation-title > *,.conversation-row > *,.conversation-copy > div > *,.chat-header > * {min-width:0;}
.conversation-row {width:100%;min-width:0;padding-right:14px;padding-left:14px;overflow:hidden;}
.conversation-copy,.conversation-copy > div {max-width:100%;overflow:hidden;}
.conversation-copy > div {min-width:0;}
.conversation-copy > div strong {min-width:0;flex:1;}
.conversation-copy > div time {max-width:38%;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;}
.conversation-copy strong,.conversation-copy > span,.room-row .conversation-copy > div small {max-width:100%;overflow-wrap:anywhere;}
.conversation-copy > span {overflow:hidden;text-overflow:ellipsis;}
.chat-pane,.chat-header,.chat-history,.chat-composer,.chat-input-row,.room-context-panel {min-width:0;max-width:100%;}
.message-body,.chat-header h2,.chat-header small,.room-context-panel p {overflow-wrap:anywhere;word-break:break-word;}
.conversation-search {min-width:0;padding-right:14px;padding-left:14px;}
.conversation-search input,.chat-input-row textarea {width:100%;max-width:100%;}

/* Buddies uses the same center-list/right-detail geometry as both chat modes. */
.buddy-workspace {border:1px solid color-mix(in srgb,var(--gold) 38%,var(--line));border-radius:18px;background:var(--panel);box-shadow:0 24px 54px -38px var(--shadow);}
.social-index {display:grid;grid-template-rows:auto auto minmax(0,1fr);border-right:1px solid color-mix(in srgb,var(--gold) 26%,var(--line));background:linear-gradient(180deg,color-mix(in srgb,var(--surface-raised) 92%,var(--olive)),var(--panel));}
.social-index-header {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 8px;}
.social-index-header h2 {margin:2px 0 0;font:600 1.35rem/1.2 Georgia,serif;}
.social-index-header img {width:38px;height:52px;object-fit:contain;filter:drop-shadow(0 7px 6px #0005);}
.buddy-index .buddy-section-tabs {margin:4px 12px 8px;padding-bottom:8px;}
.buddy-index .buddy-section-tabs a {min-height:36px;padding:6px 9px;font-size:.64rem;}
.social-index-scroll {min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;}
.buddy-index-section {min-width:0;padding:13px 14px 19px;border-top:1px solid color-mix(in srgb,var(--gold) 20%,var(--line));scroll-margin-top:8px;}
.buddy-index-section .section-heading {gap:8px;margin-bottom:9px;}
.buddy-index-section h3 {margin:2px 0;font:600 1.05rem/1.2 Georgia,serif;}
.buddy-index-section h4 {margin:13px 0 4px;font-size:.75rem;}
.buddy-list {min-width:0;}
.social-person-row,.request-row {display:flex;min-width:0;align-items:center;justify-content:space-between;gap:8px;padding:9px 3px;border-bottom:1px solid color-mix(in srgb,var(--gold) 18%,var(--line));}
.social-person-row.selected {margin-inline:-5px;padding-inline:8px;border-left:3px solid var(--gold);border-radius:8px;background:var(--selected-bg);}
.person-identity {display:grid;min-width:0;flex:1;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:9px;color:var(--ink);}
.person-identity:hover {text-decoration:none;}
.person-identity .avatar-image {width:42px;height:42px;border:2px solid color-mix(in srgb,var(--gold) 32%,var(--line));border-radius:13px;}
.person-identity > span {display:flex;min-width:0;flex-direction:column;}
.person-identity strong,.person-identity small,.person-identity em {max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.person-identity strong {font-size:.79rem;}.person-identity small {color:var(--muted);font-size:.64rem;}.person-identity em {margin-top:2px;color:var(--gold);font-size:.61rem;font-style:normal;}
.row-forward {display:grid;flex:0 0 30px;width:30px;height:34px;place-items:center;border-radius:9px;color:var(--gold);font-size:1.25rem;}
.compact-empty {display:block;max-width:100%;margin:7px 0;padding:13px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:.7rem;overflow-wrap:anywhere;}
.compact-empty strong,.compact-empty span {display:block;}.compact-empty strong {margin-bottom:3px;color:var(--ink);}
.discover-heading {align-items:flex-start;}
.area-settings {position:relative;flex:0 0 auto;}
.area-settings > summary {display:flex;min-height:34px;flex-direction:column;align-items:flex-end;padding:3px 6px;color:var(--ink);font-size:.66rem;font-weight:750;}
.area-settings > summary small {color:var(--muted);font-size:.56rem;font-weight:600;}
.area-settings[open] > div {position:absolute;z-index:20;top:calc(100% + 7px);right:0;width:min(310px,calc(100vw - 40px));padding:13px;border:1px solid color-mix(in srgb,var(--gold) 45%,var(--line));border-radius:13px;background:var(--panel);box-shadow:0 20px 48px var(--shadow);}
.area-settings[open] > div > p {margin:0 0 9px;color:var(--muted);font-size:.67rem;line-height:1.45;}
.compact-nearby-form label {font-size:.68rem;}.compact-nearby-form input {max-width:100%;}.compact-nearby-form button {width:100%;}
.nearby-save-status {min-height:1.1em;margin:5px 0;color:var(--muted);font-size:.65rem;}
.nearby-save-status:not(:empty) {padding:5px 7px;border-radius:7px;background:var(--selected-bg);}
.compact-buddy-search {min-width:0;}.compact-buddy-search input {min-width:0;}
.discovery-filters {display:flex;max-width:100%;gap:5px;margin-bottom:9px;overflow-x:auto;scrollbar-width:thin;}
.discovery-filters a {flex:0 0 auto;padding:5px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.59rem;font-weight:750;}
.discovery-filters a[aria-current="page"] {border-color:var(--gold);background:var(--selected-bg);color:var(--ink);}
.nearby-summary {display:flex;flex-direction:column;margin-bottom:8px;padding:8px;border-radius:9px;background:var(--selected-bg);font-size:.65rem;}.nearby-summary small {color:var(--muted);}
.request-row {align-items:flex-start;flex-wrap:wrap;}.request-row .person-identity {min-width:150px;}.request-row form {margin:0;}.request-row .inline {margin:0;}
.social-detail {position:relative;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;background:radial-gradient(ellipse at 80% 0%,color-mix(in srgb,var(--olive) 17%,transparent),transparent 40%),linear-gradient(150deg,var(--panel),var(--bg));}
.buddy-detail-hero {display:flex;min-height:255px;flex-direction:column;align-items:center;justify-content:center;padding:30px 22px;border-bottom:1px solid color-mix(in srgb,var(--gold) 27%,var(--line));background:radial-gradient(circle at 50% 8%,color-mix(in srgb,var(--gold) 18%,transparent),transparent 45%);text-align:center;}
.buddy-detail-hero .conversation-back {align-self:flex-start;}.buddy-detail-hero .avatar-image {width:96px;height:96px;margin-bottom:12px;border:3px solid color-mix(in srgb,var(--gold) 52%,var(--line));border-radius:28px;box-shadow:0 18px 28px -20px var(--shadow);}
.buddy-detail-hero h2 {margin:5px 0 2px;font:600 clamp(1.8rem,3vw,2.8rem)/1.05 Georgia,serif;overflow-wrap:anywhere;}.buddy-detail-hero p {margin:0;color:var(--muted);overflow-wrap:anywhere;}
.relationship-pill {margin-top:11px;padding:5px 10px;border:1px solid color-mix(in srgb,var(--gold) 40%,var(--line));border-radius:999px;background:var(--selected-bg);font-size:.68rem;font-weight:780;}
.buddy-detail-body {display:grid;max-width:760px;gap:18px;margin:0 auto;padding:26px clamp(18px,4vw,46px);}
.interest-chips,.connection-context,.buddy-detail-actions {display:flex;gap:8px;flex-wrap:wrap;}
.interest-chips span,.connection-context span {padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:var(--panel2);font-size:.72rem;}
.buddy-detail-actions form {margin:0;}.buddy-detail-actions .button,.buddy-detail-actions button {min-height:42px;}
.buddy-detail-empty {height:100%;min-height:390px;}

/* The published room leads into a warm, real-data social home. */
.lounge-social-home {position:relative;margin:20px 0 25px;padding:clamp(22px,4vw,42px);overflow:hidden;border:1px solid color-mix(in srgb,var(--gold) 47%,var(--line));border-radius:22px;background:radial-gradient(circle at 84% 14%,#d7b56c26,transparent 27%),linear-gradient(118deg,color-mix(in srgb,var(--panel2) 64%,#26372a),color-mix(in srgb,var(--panel) 80%,#76513a));box-shadow:0 25px 55px -40px var(--shadow);}
.lounge-social-home::before {content:"";position:absolute;inset:auto 0 0;height:8px;background:linear-gradient(90deg,var(--earth),var(--gold),var(--olive));opacity:.55;}
.lounge-social-heading {display:flex;align-items:center;justify-content:space-between;gap:22px;}
.lounge-social-heading > div {max-width:760px;}.lounge-social-heading h2 {margin:4px 0 8px;font:500 clamp(1.65rem,3vw,2.65rem)/1.08 Georgia,serif;}.lounge-social-heading p {max-width:65ch;margin:0;color:color-mix(in srgb,var(--ink) 77%,var(--muted));}
.lounge-social-heading img {align-self:flex-end;width:95px;height:125px;object-fit:contain;filter:drop-shadow(0 13px 9px #0006);}
.lounge-social-cards {position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:22px;}
.lounge-social-cards a {display:grid;grid-template-columns:35px minmax(0,1fr);grid-template-rows:auto auto;gap:2px 9px;min-width:0;min-height:88px;align-content:center;padding:13px;border:1px solid color-mix(in srgb,var(--gold) 30%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--surface-warm) 31%,var(--panel));color:var(--ink);}
.lounge-social-cards a:hover {border-color:var(--gold);background:var(--hover-bg);text-decoration:none;}.lounge-social-cards a > span {grid-row:1/3;align-self:center;color:var(--gold);font-size:1.45rem;}.lounge-social-cards strong,.lounge-social-cards small {min-width:0;overflow-wrap:anywhere;}.lounge-social-cards strong {font-size:.8rem;}.lounge-social-cards small {color:var(--muted);font-size:.64rem;}

@media(max-width:1180px) and (min-width:921px) {
  .member-app-shell {grid-template-columns:218px minmax(0,1fr);}
  .member-sidebar {padding-inline:10px;}
  .member-sidebar-nav a {font-size:.72rem;}
  .lounge-social-cards {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:920px) {
  .member-app-shell {display:block;height:calc(100dvh - 62px - 66px);overflow:hidden;}
  .member-main-scroll {height:100%;}
  .member-nav-toggle {display:grid;width:40px;min-width:40px;height:40px;place-items:center;padding:0;border-color:var(--line);border-radius:11px;background:var(--panel);font-size:1.15rem;}
  .member-sidebar-close {display:grid;width:38px;min-width:38px;height:38px;place-items:center;padding:0;border-color:var(--line);border-radius:10px;font-size:1.3rem;}
  .member-sidebar {position:fixed;z-index:120;top:0;bottom:0;left:0;width:min(330px,88vw);padding-top:calc(16px + env(safe-area-inset-top));transform:translateX(-105%);transition:transform .2s ease;box-shadow:24px 0 65px #0009;}
  .member-sidebar.is-open {transform:translateX(0);}
  .member-sidebar-scrim {position:fixed;z-index:115;inset:0;display:block;width:100%;height:100%;padding:0;border:0;border-radius:0;background:#09120db3;}
  .member-sidebar-scrim[hidden] {display:none;}
  body.member-nav-open {overflow:hidden;}
  .chat-page .member-app-shell {height:calc(100dvh - 62px - 66px);}
  .chat-page .member-main-scroll > .container {padding:7px;}
  .lounge-social-cards {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px) {
  .social-workspace,.messenger {display:flex;flex-direction:column;border-radius:0;}
  .conversation-sidebar,.social-index {width:100%;flex:1;border-right:0;}
  .messenger:not(.has-conversation) > .chat-pane {display:none;}
  .messenger.has-conversation > .conversation-sidebar {display:none;}
  .messenger.has-conversation > .chat-pane {display:flex;flex:1;}
  .buddy-workspace.selection-explicit.has-selection > .buddy-index {display:none;}
  .buddy-workspace:not(.selection-explicit) > .buddy-detail {display:none;}
  .buddy-workspace > .buddy-detail {flex:1;}
  .buddy-detail-hero {min-height:220px;padding:20px 16px;}
  .buddy-detail-hero .avatar-image {width:78px;height:78px;border-radius:23px;}
  .area-settings[open] > div {position:fixed;z-index:140;top:70px;right:12px;left:12px;width:auto;max-height:calc(100dvh - 155px);overflow-y:auto;}
  .lounge-social-heading img {width:68px;height:90px;opacity:.75;}
}
@media(max-width:520px) {
  .lounge-social-home {padding:20px 15px;}.lounge-social-heading {align-items:flex-start;}.lounge-social-heading img {position:absolute;right:8px;top:6px;opacity:.22;}.lounge-social-heading > div {position:relative;z-index:1;}
  .lounge-social-cards {grid-template-columns:1fr;}.lounge-social-cards a {min-height:72px;}
  .buddy-detail-actions {align-items:stretch;flex-direction:column;}.buddy-detail-actions form,.buddy-detail-actions button,.buddy-detail-actions .button {width:100%;}
}
@media(prefers-reduced-motion:reduce) {.member-sidebar {transition:none;}}
