:root {
  --topbar-h:  48px;
  --sidebar-w: 220px;
  --sidebar-rail-w: 48px;

  --domain-core: #ca8a04;
  --domain-core-soft: rgba(202, 138, 4, 0.1);
  --domain-requests: #eab308;
  --domain-requests-soft: rgba(234, 179, 8, 0.12);
  --domain-config: #64748b;
  --domain-config-soft: rgba(100, 116, 139, 0.1);
  --domain-directory: #7c3aed;
  --domain-directory-soft: rgba(124, 58, 237, 0.1);
  --domain-treasury: #16a34a;
  --domain-treasury-soft: rgba(22, 163, 74, 0.1);
  --domain-faucet: #15803d;
  --domain-faucet-soft: rgba(21, 128, 61, 0.1);
  --domain-mail: #0284c7;
  --domain-mail-soft: rgba(2, 132, 199, 0.1);
  --domain-support: #2563eb;
  --domain-support-soft: rgba(37, 99, 235, 0.1);
  --domain-server: #dc2626;
  --domain-server-soft: rgba(220, 38, 38, 0.08);
  --domain-coming-soon: #db2777;
  --domain-coming-soon-soft: rgba(219, 39, 119, 0.1);
  --domain-vault: #9333ea;
  --domain-vault-soft: rgba(147, 51, 234, 0.1);
  --domain-exchange: #059669;
  --domain-exchange-soft: rgba(5, 150, 105, 0.1);
  --domain-dev: #0d9488;
  --domain-dev-soft: rgba(13, 148, 136, 0.1);
  --domain-moderate: #0891b2;
  --domain-moderate-soft: rgba(8, 145, 178, 0.1);

  --hub-main: #4f46e5;
  --hub-main-soft: rgba(79, 70, 229, 0.1);
  --hub-finance: #16a34a;
  --hub-finance-soft: rgba(22, 163, 74, 0.1);
  --hub-communication: #0284c7;
  --hub-communication-soft: rgba(2, 132, 199, 0.1);
  --hub-entities: #0d9488;
  --hub-entities-soft: rgba(13, 148, 136, 0.1);
  --hub-assets: #ca8a04;
  --hub-assets-soft: rgba(202, 138, 4, 0.1);

  --sidebar-top-accent: #71717a;
  --sidebar-top-accent-soft: rgba(113, 113, 122, 0.12);

  --bg:           #f4f4f5;
  --surface:      #ffffff;
  --border:       #e4e4e7;
  --border-input: #d4d4d8;
  --text:         #18181b;
  --text-muted:   #52525b;
  --text-dim:     #71717a;
  --hover:        #f4f4f5;
  --accent:       #18181b;
  --accent-hover: #3f3f46;
  --accent-text:  #ffffff;
  --topbar-bg:    #18181b;
  --topbar-text:  #ffffff;
}

[data-theme="dark"], [data-style="dark"], [data-accent="dark"] {
  --domain-core: #eab308;
  --domain-core-soft: rgba(234, 179, 8, 0.12);
  --domain-server: #f87171;
  --domain-server-soft: rgba(248, 113, 113, 0.1);
  --bg: #09090b; --surface: #18181b; --border: #27272a; --border-input: #3f3f46;
  --text: #fafafa; --text-muted: #a1a1aa; --text-dim: #71717a; --hover: #27272a;
  --accent: #e4e4e7; --accent-hover: #d4d4d8; --accent-text: #09090b;
  --topbar-bg: #09090b; --topbar-text: #fafafa;
}
[data-theme="dim"], [data-style="dim"], [data-accent="dim"] {
  --bg: #1c2128; --surface: #22272e; --border: #373e47; --border-input: #444c56;
  --text: #adbac7; --text-muted: #8b949e; --text-dim: #6e7681; --hover: #2d333b;
  --accent: #388bfd; --accent-hover: #1f6feb; --accent-text: #0d1117;
  --topbar-bg: #1c2128; --topbar-text: #adbac7;
}
[data-theme="sepia"], [data-style="sepia"], [data-accent="sepia"] {
  --bg: #f5f0e8; --surface: #fdf8f0; --border: #e0d5c0; --border-input: #c9b99a;
  --text: #3d2b1f; --text-muted: #6b5340; --text-dim: #8a7355; --hover: #ede5d8;
  --accent: #8b4513; --accent-hover: #6b3410; --accent-text: #fdf8f0;
  --topbar-bg: #3d2b1f; --topbar-text: #f5f0e8;
}
[data-theme="slate"], [data-style="slate"], [data-accent="slate"] {
  --bg: #f1f5f9; --surface: #ffffff; --border: #cbd5e1; --border-input: #94a3b8;
  --text: #0f172a; --text-muted: #475569; --text-dim: #64748b; --hover: #e2e8f0;
  --accent: #1d4ed8; --accent-hover: #1e40af; --accent-text: #ffffff;
  --topbar-bg: #1e293b; --topbar-text: #f8fafc;
}
[data-theme="terminal"], [data-style="terminal"], [data-accent="terminal"] {
  --bg: #0a0a0a; --surface: #111111; --border: #1f1f1f; --border-input: #2d2d2d;
  --text: #b8f5c8; --text-muted: #5fd97a; --text-dim: #3db85a; --hover: #0d1a0d;
  --accent: #00ff41; --accent-hover: #00cc33; --accent-text: #000000;
  --topbar-bg: #000000; --topbar-text: #00ff41;
}
[data-theme="retro"], [data-style="retro"], [data-accent="retro"] {
  --bg: #0d0221; --surface: #1a0535; --border: #4c1d7a; --border-input: #7c3aed;
  --text: #f5d0fe; --text-muted: #d8b4fe; --text-dim: #c084fc; --hover: #200840;
  --accent: #f472b6; --accent-hover: #ec4899; --accent-text: #1a0535;
  --topbar-bg: #0a0118; --topbar-text: #f0abfc;
}
[data-theme="classic"], [data-style="classic"], [data-accent="classic"] {
  --bg: #c0c0c0; --surface: #ffffff; --border: #808080; --border-input: #808080;
  --text: #000000; --text-muted: #444444; --text-dim: #808080; --hover: #d4d0c8;
  --accent: #000080; --accent-hover: #0000aa; --accent-text: #ffffff;
  --topbar-bg: #000080; --topbar-text: #ffffff;
}
[data-theme="classic-simple"], [data-style="classic-simple"], [data-accent="classic-simple"] {
  --bg: #f5f5f5; --surface: #ffffff; --border: #d9d9d9; --border-input: #bfbfbf;
  --text: #1a1a1a; --text-muted: #595959; --text-dim: #8c8c8c; --hover: #ececec;
  --accent: #404040; --accent-hover: #262626; --accent-text: #ffffff;
  --topbar-bg: #2b2b2b; --topbar-text: #f5f5f5;
}
[data-theme="classic-dark"], [data-style="classic-dark"], [data-accent="classic-dark"] {
  --bg: #2b2b2b; --surface: #383838; --border: #4d4d4d; --border-input: #5c5c5c;
  --text: #e6e6e6; --text-muted: #b3b3b3; --text-dim: #a3a3a3; --hover: #444444;
  --accent: #4169e1; --accent-hover: #3151b0; --accent-text: #ffffff;
  --topbar-bg: #1a1a2e; --topbar-text: #e6e6e6;
}
[data-theme="birdhouse"], [data-style="birdhouse"], [data-accent="birdhouse"] {
  --bg: #faf6f0; --surface: #ffffff; --border: #e8ddd0; --border-input: #d4c3a8;
  --text: #3e2f24; --text-muted: #5c4a3a; --text-dim: #7a6a58; --hover: #f0e8da;
  --accent: #557239; --accent-hover: #445c2e; --accent-text: #ffffff;
  --topbar-bg: #5c4632; --topbar-text: #faf6f0;
}
[data-theme="ocean"], [data-style="ocean"], [data-accent="ocean"] {
  --bg: #f0f9fb; --surface: #ffffff; --border: #c3e4ea; --border-input: #8fcdd9;
  --text: #0c4a5c; --text-muted: #0e7490; --text-dim: #155e75; --hover: #e0f2f6;
  --accent: #0e7490; --accent-hover: #155e75; --accent-text: #ffffff;
  --topbar-bg: #083344; --topbar-text: #e0f2f6;
}
[data-theme="ocean-deep"], [data-style="ocean-deep"], [data-accent="ocean-deep"] {
  --bg: #06141b; --surface: #0f2a35; --border: #1a3a47; --border-input: #2a4f5e;
  --text: #d6f0f5; --text-muted: #8fb8c4; --text-dim: #5d8a96; --hover: #14323d;
  --accent: #22d3ee; --accent-hover: #06b6d4; --accent-text: #06141b;
  --topbar-bg: #03090d; --topbar-text: #d6f0f5;
}
[data-theme="forest"], [data-style="forest"], [data-accent="forest"] {
  --bg: #f3f6f0; --surface: #ffffff; --border: #d4e0c8; --border-input: #b3c89e;
  --text: #1e3a1f; --text-muted: #4d6b4f; --text-dim: #7d9a7e; --hover: #e8efe0;
  --accent: #2f7d32; --accent-hover: #245f27; --accent-text: #ffffff;
  --topbar-bg: #1b3a1d; --topbar-text: #f3f6f0;
}
[data-theme="sunset"], [data-style="sunset"], [data-accent="sunset"] {
  --bg: #fff7ed; --surface: #ffffff; --border: #fed7aa; --border-input: #fdba74;
  --text: #7c2d12; --text-muted: #9a3412; --text-dim: #c2410c; --hover: #ffedd5;
  --accent: #c2410c; --accent-hover: #9a3412; --accent-text: #ffffff;
  --topbar-bg: #7c2d12; --topbar-text: #fff7ed;
}
[data-theme="dim-light"], [data-style="dim-light"], [data-accent="dim-light"] {
  --bg: #ffffff; --surface: #f6f8fa; --border: #d0d7de; --border-input: #afb8c1;
  --text: #1f2328; --text-muted: #57606a; --text-dim: #6e7781; --hover: #f3f4f6;
  --accent: #0969da; --accent-hover: #0550ae; --accent-text: #ffffff;
  --topbar-bg: #24292f; --topbar-text: #f6f8fa;
}
[data-theme="sepia-dark"], [data-style="sepia-dark"], [data-accent="sepia-dark"] {
  --bg: #2a1f14; --surface: #3d2e1f; --border: #5c4a38; --border-input: #6e5a45;
  --text: #f0e4d4; --text-muted: #b8a088; --text-dim: #8a7860; --hover: #352818;
  --accent: #c9a227; --accent-hover: #a8841f; --accent-text: #2a1f14;
  --topbar-bg: #1a1208; --topbar-text: #f0e4d4;
}
[data-theme="slate-dark"], [data-style="slate-dark"], [data-accent="slate-dark"] {
  --bg: #0f172a; --surface: #1e293b; --border: #334155; --border-input: #475569;
  --text: #f1f5f9; --text-muted: #94a3b8; --text-dim: #64748b; --hover: #1e293b;
  --accent: #60a5fa; --accent-hover: #3b82f6; --accent-text: #0f172a;
  --topbar-bg: #020617; --topbar-text: #f1f5f9;
}
[data-theme="terminal-light"], [data-style="terminal-light"], [data-accent="terminal-light"] {
  --bg: #f5f0e0; --surface: #fffef5; --border: #d4c9a8; --border-input: #b8a878;
  --text: #1f3d12; --text-muted: #3d6b20; --text-dim: #5a7d40; --hover: #ebe4d0;
  --accent: #1a6b1a; --accent-hover: #145214; --accent-text: #fffef5;
  --topbar-bg: #2d5016; --topbar-text: #f5f0e0;
}
[data-theme="retro-light"], [data-style="retro-light"], [data-accent="retro-light"] {
  --bg: #fdf4ff; --surface: #ffffff; --border: #e9d5ff; --border-input: #d8b4fe;
  --text: #4c1d6d; --text-muted: #6b21a8; --text-dim: #7e22ce; --hover: #fae8ff;
  --accent: #db2777; --accent-hover: #be185d; --accent-text: #ffffff;
  --topbar-bg: #581c87; --topbar-text: #fdf4ff;
}
[data-theme="classic-win95-dark"], [data-style="classic-win95-dark"], [data-accent="classic-win95-dark"] {
  --bg: #2d2d2d; --surface: #3a3a3a; --border: #606060; --border-input: #707070;
  --text: #e0e0e0; --text-muted: #a0a0a0; --text-dim: #8a8a8a; --hover: #404040;
  --accent: #4169e1; --accent-hover: #3151b0; --accent-text: #ffffff;
  --topbar-bg: #000080; --topbar-text: #ffffff;
}
[data-theme="birdhouse-dark"], [data-style="birdhouse-dark"], [data-accent="birdhouse-dark"] {
  --bg: #2a2218; --surface: #3a3028; --border: #524838; --border-input: #645848;
  --text: #f0e8da; --text-muted: #b8a898; --text-dim: #8a7a68; --hover: #342c20;
  --accent: #86b05a; --accent-hover: #6b8e4e; --accent-text: #1a140e;
  --topbar-bg: #1a140e; --topbar-text: #f0e8da;
}
[data-theme="forest-dark"], [data-style="forest-dark"], [data-accent="forest-dark"] {
  --bg: #0f1a10; --surface: #1b2e1c; --border: #2d4a30; --border-input: #3d5c40;
  --text: #e8efe0; --text-muted: #8aaa8c; --text-dim: #5c7a5e; --hover: #152418;
  --accent: #4caf50; --accent-hover: #388e3c; --accent-text: #0f1a10;
  --topbar-bg: #0a120a; --topbar-text: #e8efe0;
}
[data-theme="sunset-dark"], [data-style="sunset-dark"], [data-accent="sunset-dark"] {
  --bg: #2a1208; --surface: #3d1a0c; --border: #5c2a14; --border-input: #7a3818;
  --text: #ffedd5; --text-muted: #fdba74; --text-dim: #fb923c; --hover: #321408;
  --accent: #fb923c; --accent-hover: #ea580c; --accent-text: #2a1208;
  --topbar-bg: #1a0a04; --topbar-text: #ffedd5;
}

.profile-public-surface {
  background: var(--bg);
  color: var(--text);
  border: 1px solid var(--border);
  padding: 1.25rem;
  margin-bottom: 1rem;
}

.style-page-controls {
  padding: 0 0.25rem;
}

.style-live-preview {
  border-radius: 0;
  margin-bottom: 1.25rem;
}

.style-live-preview .panel {
  background: var(--surface);
  border-color: var(--border);
  color: var(--text);
}

.style-live-preview .text-dim {
  color: var(--text-dim);
}

.style-live-preview .btn-xs:not(.ghost) {
  background: var(--profile-accent, var(--accent));
  color: var(--profile-accent-text, var(--accent-text));
  border-color: var(--profile-accent, var(--accent));
}

.style-live-preview .btn-xs.ghost {
  background: transparent;
  color: var(--text);
  border-color: var(--border);
}

.profile-public-surface .info-row a,
.profile-public-surface .panel a:not(.btn-xs):not(.profile-view-full-site):not(.profile-travel-row--link) {
  color: var(--text);
}
.profile-public-surface .info-row a:hover,
.profile-public-surface .panel a:not(.btn-xs):not(.profile-view-full-site):not(.profile-travel-row--link):hover {
  color: var(--text-muted);
}
.profile-public-surface a.btn-xs.ghost,
.profile-public-surface a.btn-xs.ghost:hover,
.profile-public-surface button.btn-xs.ghost,
.profile-public-surface button.btn-xs.ghost:hover,
.profile-public-surface summary.btn-xs.ghost,
.profile-public-surface summary.btn-xs.ghost:hover {
  color: var(--text) !important;
  background: color-mix(in srgb, var(--surface) 70%, var(--bg)) !important;
  border-color: var(--border-input);
}
.profile-public-surface a.btn-xs.ghost:hover,
.profile-public-surface button.btn-xs.ghost:hover,
.profile-public-surface summary.btn-xs.ghost:hover {
  background: var(--hover) !important;
}

.profile-member-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  min-width: 0;
}
.profile-member-row--redacted .profile-member-name,
.profile-member-row--redacted .profile-member-link {
  font-style: italic;
  color: var(--text-dim);
}
.profile-list-row {
  padding: 0.3rem 0;
  border-bottom: 1px solid var(--border);
}
.profile-list-row--meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-width: 0;
}
.profile-list-row-main {
  flex: 1;
  min-width: 0;
}
.profile-list-row-meta {
  flex-shrink: 0;
  font-size: 0.82rem;
  text-align: right;
}
.list-collapse-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.65rem;
  padding-top: 0.35rem;
  border-top: 1px solid var(--border);
}
.list-collapse-controls[hidden] {
  display: none !important;
}
.list-collapse-more-label {
  font-size: 0.85rem;
  margin-right: 0.15rem;
}
.list-collapse-items [data-list-collapse-item][hidden] {
  display: none !important;
}
.profile-list-row--stacked .profile-member-row {
  flex-wrap: wrap;
}
.profile-list-subline {
  font-size: 0.8rem;
  margin-top: 0.15rem;
  margin-left: calc(1.75rem + 0.5rem);
}
.profile-structure-section + .profile-structure-section {
  margin-top: 0.85rem;
  padding-top: 0.65rem;
  border-top: 1px solid var(--border);
}
.profile-structure-heading {
  margin: 0 0 0.35rem;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--text-dim);
}
.profile-structure-section--children .profile-structure-rows {
  padding-left: 0.65rem;
  border-left: 2px solid var(--border);
}
.profile-structure-section--parent .profile-structure-rows,
.profile-structure-section--ownedBy .profile-structure-rows {
  padding-left: 0.15rem;
}
.profile-list-inline-badges {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  flex-wrap: wrap;
}
.profile-member-accent-dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: var(--row-accent);
  flex-shrink: 0;
}
.profile-member-link {
  color: var(--text);
  font-weight: 500;
  text-decoration: underline;
  text-decoration-color: var(--row-accent);
  text-underline-offset: 0.18em;
  text-decoration-thickness: 2px;
}
.profile-member-link:hover {
  color: var(--text);
  text-decoration-color: color-mix(in srgb, var(--row-accent) 65%, var(--text) 35%);
}
.profile-member-name {
  font-weight: 500;
  border-bottom: 2px solid var(--row-accent);
  padding-bottom: 0.05em;
}
.profile-public-surface a.profile-member-link,
.profile-public-surface a.profile-member-link:hover {
  color: var(--text);
}

@media (max-width: 640px) {
  .profile-list-row--meta {
    align-items: flex-start;
  }
  .profile-list-row-meta {
    max-width: 42%;
    white-space: normal;
  }
  .profile-member-link,
  .profile-member-name {
    min-width: 0;
    overflow-wrap: break-word;
    word-break: normal;
  }
}

.profile-public-surface--accent .profile-comms-actions button.btn-xs:not(.ghost):not(.danger-btn),
.profile-public-surface--accent .profile-header-actions button.btn-xs:not(.ghost):not(.danger-btn) {
  background: var(--profile-accent);
  color: var(--profile-accent-text);
  border-color: var(--profile-accent);
}

.profile-public-surface--accent .profile-comms-actions button.btn-xs:not(.ghost):not(.danger-btn):hover,
.profile-public-surface--accent .profile-header-actions button.btn-xs:not(.ghost):not(.danger-btn):hover {
  background: var(--profile-accent-hover);
}

main:has(> .profile-public-surface),
.browser-main:has(> .profile-public-surface),
.main-area > .accent-surface > main:has(> .profile-public-surface) {
  padding: 0;

  padding-bottom: var(--curation-drawer-clearance, 2.75rem);
}
main > .profile-public-surface,
.browser-main > .profile-public-surface {
  min-height: 100%;
  margin-bottom: 0;
  border-left: none;
  border-right: none;
  border-top: none;
  padding: 1.5rem;
}
main > .profile-public-surface .profile-column,
.browser-main > .profile-public-surface .profile-column {
  max-width: none;
  width: 100%;
}

.public-page-shell {
  width: 100%;
  min-height: 100vh;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 3rem 1rem;
}
.public-page-shell--flush {
  padding: 0;
  justify-content: stretch;
}
.public-page-shell--flush .profile-column {
  max-width: none;
  width: 100%;
}
.public-page-shell--cards {
  padding: 3rem 1rem;
  justify-content: center;
}
.public-page-shell--cards .profile-column {
  max-width: 52rem;
  margin-inline: auto;
}

.profile-public-surface--flush {
  --profile-type-pad-x: 1.25rem;
  --profile-flush-pad-x: var(--profile-type-pad-x);
  --site-dest-pad-x: var(--profile-type-pad-x);
  border: none;
  border-radius: 0;
  padding: 0;
  margin-bottom: 0;
}
main > .profile-public-surface--flush,
.browser-main > .profile-public-surface--flush {
  padding: 0;
}
.profile-public-surface--flush .panel {
  border-left: none;
  border-right: none;
  border-radius: 0;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 0;
  padding-left: var(--profile-type-pad-x);
  padding-right: var(--profile-type-pad-x);
}
.profile-public-surface--flush .back-link,
.profile-public-surface--flush .view-as-banner,
.profile-public-surface--flush .notice {
  padding-left: var(--profile-type-pad-x);
  padding-right: var(--profile-type-pad-x);
}
.profile-public-surface--flush .site-pages-inline__continue,
.profile-public-surface--flush .site-pages-inline > .text-dim {
  padding-left: var(--profile-type-pad-x);
  padding-right: var(--profile-type-pad-x);
}
.profile-public-surface--cards {
  max-width: 52rem;
  margin-inline: auto;
}
main > .profile-public-surface--cards,
.browser-main > .profile-public-surface--cards {
  padding: 1.5rem;
}
.profile-public-body {
  display: flex;
  flex-direction: column;
}
.profile-public-section[data-section="pages"] { order: var(--section-pages, 1); }
.profile-public-section[data-section="structure"] { order: var(--section-structure, 2); }
.profile-public-section[data-section="people"] { order: var(--section-people, 3); }
.profile-public-section[data-section="assets"] { order: var(--section-assets, 4); }
.profile-public-section[data-section="shop"] { order: var(--section-shop, 5); }
.profile-public-section[data-section="chat"] { order: var(--section-chat, 6); }
.profile-public-section[data-section="notes"] { order: var(--section-notes, 7); }
.profile-public-section[data-section="howYouAppear"] { order: var(--section-howYouAppear, 1); }
.profile-public-section[data-section="ownerOf"] { order: var(--section-ownerOf, 2); }
.profile-public-section[data-section="trusted"] { order: var(--section-trusted, 3); }
.profile-public-surface--compact-header .identity-mark--lg,
.profile-public-surface--compact-header .identity-mark--lg.identity-mark--dot {
  width: 2.25rem;
  height: 2.25rem;
}
.profile-public-surface--compact-header .identity-mark--lg .identity-mark-img {
  width: 2.25rem;
  height: 2.25rem;
}
.profile-public-surface--compact-header .profile-header-sub {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.profile-public-surface--hide-structure-type .profile-structure-type {
  display: none;
}
.profile-public-surface--structure-cards .profile-structure-section--children .profile-structure-rows {
  padding-left: 0;
  border-left: none;
}
.profile-public-surface--structure-cards .profile-travel-lists {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(11.5rem, 1fr));
  gap: 0.75rem;
}
.profile-public-surface--structure-cards .profile-travel-lists [data-list-collapse-item] {
  min-width: 0;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.profile-public-surface--structure-cards .profile-travel-lists [data-list-collapse-item] > .profile-list-row {
  flex: 1 1 auto;
  width: 100%;
}
a.profile-travel-row--link {
  display: block;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}
a.profile-travel-row--link * {
  pointer-events: none;
}
a.profile-travel-row--link:hover,
a.profile-travel-row--link:focus-visible {
  background: color-mix(in srgb, var(--text) 6%, var(--bg));
}
a.profile-travel-row--link:focus-visible {
  outline: 2px solid var(--accent, #2563eb);
  outline-offset: 2px;
}
.profile-public-surface--structure-cards .profile-travel-lists .profile-list-row {
  min-height: 100%;
  margin: 0;
  border: 1px solid var(--border);
  background: var(--bg);
  padding: 0.85rem;
  border-radius: 0.65rem;
  transition: background 0.12s ease, border-color 0.12s ease, box-shadow 0.12s ease;
}
.profile-public-surface--structure-cards .profile-travel-lists a.profile-travel-row--link:hover,
.profile-public-surface--structure-cards .profile-travel-lists a.profile-travel-row--link:focus-visible {
  background: color-mix(in srgb, var(--text) 8%, var(--bg));
  border-color: color-mix(in srgb, var(--border) 45%, var(--text-muted));
  box-shadow: 0 2px 10px color-mix(in srgb, var(--text) 12%, transparent);
}
.profile-public-surface--structure-cards .profile-travel-lists a.profile-travel-row--link .profile-member-name {
  border-bottom: none;
  padding-bottom: 0;
}
.profile-public-surface--structure-cards .profile-travel-lists .profile-member-row {
  flex-direction: column;
  align-items: flex-start;
  gap: 0.45rem;
}
.profile-public-surface--structure-cards .profile-travel-lists .profile-list-subline {
  margin-left: 0;
}
.profile-public-surface--structure-large-icons .profile-travel-lists .identity-mark,
.profile-public-surface--structure-large-icons .profile-travel-lists .identity-mark--xs,
.profile-public-surface--structure-large-icons .profile-travel-lists .identity-mark--md {
  width: 4rem;
  height: 4rem;
}
.profile-public-surface--structure-large-icons .profile-travel-lists .identity-mark-img {
  width: 4rem;
  height: 4rem;
}
.profile-public-surface--structure-large-icons .profile-travel-lists .profile-list-subline {
  margin-left: calc(4rem + 0.5rem);
}
.profile-column {
  width: 100%;
  max-width: none;
}
.profile-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}
.profile-header-text { flex: 1; min-width: 0; }
.profile-header-title {
  margin: 0 0 0.25rem;
  font-size: 1.25rem;
  font-weight: 600;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.profile-header-tools {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
  flex-wrap: wrap;
  max-width: 100%;
}
.profile-header-switch {
  display: inline;
  margin: 0;
}
.profile-view-as {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
}
.profile-view-as-select {
  max-width: 9.5rem;
}

@media (max-width: 640px) {
  .profile-header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.65rem 0.85rem;
    align-items: start;
  }
  .profile-header > .identity-mark {
    grid-column: 1;
    grid-row: 1;
  }
  .profile-header-text {
    grid-column: 2;
    grid-row: 1;
    flex: unset;
  }
  .profile-header-tools {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: flex-start;
    width: 100%;
  }
  .profile-view-as-label {
    display: none;
  }
}
.profile-header-avatar {
  width: 56px;
  height: 56px;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: var(--surface);
  flex-shrink: 0;
}
.profile-avatar-field { margin-top: 0.5rem; }
.profile-avatar-preview-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}
.profile-avatar-circle img {
  width: 48px;
  height: 48px;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: var(--surface);
}
.profile-avatar-placeholder {
  width: 48px;
  height: 48px;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: var(--surface);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  color: var(--text-dim, #6b7280);
  flex-shrink: 0;
}
.profile-avatar-colors {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
}
.profile-visibility-preview {
  border: 1px dashed var(--border);
  border-radius: var(--radius);
  padding: 1rem;
  background: var(--surface);
}
.profile-visibility-preview .preview-locked {
  opacity: 0.45;
  font-style: italic;
}
.profile-visibility-preview .preview-lock {
  font-size: 0.75rem;
  margin-left: 0.25rem;
}
.profile-comms-actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  align-items: center;
}
.profile-wallet-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}
.profile-wallet-meta {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
}
.profile-wallet-label {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--text);
  flex-shrink: 0;
}
.profile-wallet-code {
  font-size: 0.85rem;
  color: var(--text-dim, var(--text));
  opacity: 0.75;
  cursor: pointer;
}
.profile-wallet-code:hover {
  opacity: 1;
  text-decoration: underline;
}
.profile-visibility-preview .profile-wallet-row {
  justify-content: flex-start;
  gap: 0.5rem;
}
.profile-visibility-preview .profile-wallet-label {
  font-weight: 600;
}
.profile-header-sub { font-size: 0.85rem; color: var(--text-muted); }
.profile-header-badges {
  margin-top: 0.875rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.profile-header-actions {
  display: flex;
  gap: 0.5rem;
  margin-top: 1.25rem;
  flex-wrap: wrap;
  align-items: center;
}
.profile-header-actions .profile-view-full-site {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  border: none;
  border-bottom: 2px solid var(--profile-accent, var(--accent));
  border-radius: 0.125rem;
  background: color-mix(in srgb, var(--surface, #2a2a2a) 88%, var(--bg, #111));
  color: var(--text, #e8e8e8);
}
.profile-header-actions .profile-view-full-site:hover {
  background: color-mix(in srgb, var(--surface, #2a2a2a) 70%, var(--bg, #111));
  color: var(--text, #e8e8e8);
  text-decoration: none;
}
.profile-public-surface:has(.site-destination--inline) .profile-header-actions .profile-view-full-site,
.site-pages-inline__full-site .profile-view-full-site {
  background: var(--profile-accent, var(--accent));
  color: var(--profile-accent-text, var(--accent-text));
  border-bottom-color: var(--profile-accent, var(--accent));
}
.profile-public-surface:has(.site-destination--inline) .profile-header-actions .profile-view-full-site:hover,
.site-pages-inline__full-site .profile-view-full-site:hover {
  background: var(--profile-accent-hover, var(--accent-hover));
  color: var(--profile-accent-text, var(--accent-text));
}
.site-pages-inline__full-site {
  display: flex;
  justify-content: flex-end;
  margin: 1rem 0 0;
  padding-left: var(--site-dest-pad-x, 1.25rem);
  padding-right: var(--site-dest-pad-x, 1.25rem);
}
.panel-section-title { margin: 0 0 0.5rem; font-size: 0.9rem; font-weight: 600; }
.profile-header-actions > .profile-compose {
  flex: 0 0 auto;
  min-width: 0;
}
.profile-header-actions > .profile-compose[open] {
  flex: 1 1 100%;
}
.profile-compose--static {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.profile-compose__title {
  margin: 0;
  font-size: 0.8rem;
  font-weight: 600;
}
.profile-compose > summary.btn-xs {
  display: inline-flex;
  align-items: center;
  list-style: none;
  width: auto;
  cursor: pointer;
  user-select: none;
}
.profile-compose > summary.btn-xs::-webkit-details-marker { display: none; }
.profile-compose > summary.btn-xs::marker { content: ''; }
.profile-compose > summary.btn-xs.ghost {
  background: transparent;
  color: var(--text);
  border: 1px solid var(--border-input);
}
.profile-compose > summary.btn-xs.ghost:hover { background: var(--hover); }
.profile-compose__body { margin-top: 0.5rem; }
.profile-compose__body p { margin: 0 0 0.5rem; font-size: 0.85rem; }
.profile-compose__body > .btn-xs { width: auto; }
.profile-compose form button.btn-xs {
  width: auto;
  align-self: flex-start;
}
.profile-footer {
  margin-top: 1.5rem;
  text-align: center;
  font-size: 0.75rem;
  opacity: 0.3;
}
.asset-header-title { margin: 0 0 0.25rem; font-size: 1.25rem; font-weight: 600; }
.asset-header-sub { font-size: 0.85rem; color: var(--text-muted); }
.asset-header-badges {
  margin-top: 0.875rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.page-title { margin-bottom: 1.25rem; }
.page-title-compact { margin-bottom: 0.5rem; }

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: system-ui, sans-serif;
  background: var(--bg);
  color: var(--text);
}

a { color: var(--text); text-decoration: none; }
h1 { font-size: 1.25rem; font-weight: 600; margin-bottom: 1.25rem; }
p  { font-size: 0.875rem; color: var(--text-muted); margin-top: 0.875rem; }

input {
  border: 1px solid var(--border-input);
  border-radius: 0.125rem;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  width: 100%;
  outline: none;
  background: var(--surface);
  color: var(--text);
}
input:focus { border-color: var(--accent); }

select {
  border: 1px solid var(--border-input);
  border-radius: 0.125rem;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  line-height: 1.35;
  width: 100%;
  max-width: 100%;
  outline: none;
  background: var(--surface);
  color: var(--text);
  font-family: inherit;
}
select:focus { border-color: var(--accent); }

button {
  background: var(--accent);
  color: var(--accent-text);
  border: none;
  border-radius: 0.125rem;
  padding: 0.55rem 1rem;
  font-size: 0.875rem;
  cursor: pointer;
  width: 100%;
}
button:hover { background: var(--accent-hover); }
button.ghost {
  background: transparent;
  color: var(--text);
  border: 1px solid var(--border-input);
}
button.ghost:hover { background: var(--hover); }
a.btn-xs.ghost {
  display: inline-block;
  background: transparent;
  color: var(--text);
  border: 1px solid var(--border-input);
  text-decoration: none;
}
a.btn-xs.ghost:hover { background: var(--hover); text-decoration: none; }

form { display: flex; flex-direction: column; gap: 0.625rem; }
.error   { color: #dc2626; font-size: 0.825rem; margin-bottom: 0.75rem; padding: 0.6rem 0.875rem; border: 1px solid color-mix(in srgb, #dc2626 40%, var(--border)); background: color-mix(in srgb, #dc2626 8%, var(--surface)); border-radius: var(--radius, 0.125rem); overflow-wrap: anywhere; }
.success { color: #16a34a; font-size: 0.825rem; margin-bottom: 0.75rem; padding: 0.6rem 0.875rem; border: 1px solid color-mix(in srgb, #16a34a 35%, var(--border)); background: color-mix(in srgb, #16a34a 8%, var(--surface)); border-radius: var(--radius, 0.125rem); overflow-wrap: anywhere; }

label { display: flex; flex-direction: column; gap: 0.25rem; font-size: 0.8rem; color: var(--text-muted); }
label input { color: var(--text); }
input[readonly] { background: var(--hover); color: var(--text-muted); cursor: default; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0.625rem; }

body.bare {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.login-with-home {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1.25rem;
  width: 100%;
  max-width: 380px;
}

.login-with-home > .card {
  max-width: none;
}

body.bare.public-surface {
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  padding: 0;
}

.public-chrome {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-shrink: 0;
  width: 100%;
  box-sizing: border-box;
  padding: 0.5rem 1.25rem;
  border-bottom: 1px solid var(--border);
  background: var(--surface);
}

.public-chrome-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 600;
  font-size: 0.95rem;
}
.public-chrome-icon {
  width: 1.25rem;
  height: 1.25rem;
  object-fit: contain;
  flex-shrink: 0;
}

.public-chrome-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

.public-chrome a.btn-xs {
  display: inline-block;
  width: auto;
  text-decoration: none;
}

.public-chrome a.btn-xs:not(.ghost) {
  background: var(--accent);
  color: var(--accent-text);
  border: none;
}

.public-chrome a.btn-xs:not(.ghost):hover {
  background: var(--accent-hover);
}

body.bare.public-surface > .public-page-shell,
body.bare.public-surface > .site-destination {
  flex: 0 1 auto;
  width: 100%;
}

body.bare.public-surface:has(> .public-chrome) > .public-page-shell {
  min-height: 0;
  padding-top: 1.25rem;
}
body.bare.public-surface:has(> .public-chrome) > .public-page-shell--flush {
  padding: 0;
}

body.bare.public-surface > .site-destination {
  padding: 0;
  box-sizing: border-box;
}

body.bare:has(> .site-destination) {
  display: block;
  padding: 0;
}
body.bare:has(> .site-destination--center-content) {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

body.bare.public-surface:has(> .site-destination),
body.bare.public-surface:has(> .site-destination--center-content) {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  padding: 0;
}

html:has(body.bare.public-surface > .site-destination:not(.site-destination--center-content)) {
  height: 100%;
}
body.bare.public-surface:has(> .site-destination:not(.site-destination--center-content)) {
  height: 100dvh;
  max-height: 100dvh;
  overflow: hidden;
}
body.bare.public-surface:has(> .site-destination:not(.site-destination--center-content)) > .site-destination {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

.card {
  background: var(--surface);
  border: 1px solid var(--border-input);
  padding: 2rem;
  width: 100%;
  max-width: 380px;
}

.identity-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  vertical-align: middle;
}
.identity-mark--xs { width: 0.875rem; height: 0.875rem; }
.identity-mark--sm { width: 1.125rem; height: 1.125rem; }
.identity-mark--md { width: 1.5rem; height: 1.5rem; }
.identity-mark--lg { width: 3.5rem; height: 3.5rem; }
.identity-mark-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: transparent;
  border: none;
  padding: 0;
  box-sizing: border-box;
}
.identity-mark--initial {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius);
  border: 1px solid color-mix(in srgb, var(--identity-initial-bg) 55%, var(--border));
  background: var(--identity-initial-bg, var(--accent));
  color: var(--identity-initial-fg, #fff);
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  box-sizing: border-box;
}
.identity-mark--md.identity-mark--initial {
  width: 1.5rem;
  height: 1.5rem;
  font-size: 0.75rem;
}
.identity-mark--lg.identity-mark--initial {
  width: 3.5rem;
  height: 3.5rem;
  font-size: 1.35rem;
}
.identity-mark--dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: var(--identity-dot, var(--entity-accent-marker, var(--entity-accent, var(--accent))));
}
.identity-mark--xs .identity-mark--dot,
.identity-mark--xs.identity-mark--dot { width: 0.4375rem; height: 0.4375rem; }
.identity-mark--sm .identity-mark--dot,
.identity-mark--sm.identity-mark--dot { width: 0.5rem; height: 0.5rem; }
.identity-mark--md .identity-mark--dot,
.identity-mark--md.identity-mark--dot { width: 0.5625rem; height: 0.5625rem; }
.identity-mark--lg .identity-mark--dot,
.identity-mark--lg.identity-mark--dot { width: 3.5rem; height: 3.5rem; border-radius: var(--radius); }
.identity-name-row {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  flex-wrap: wrap;
  min-width: 0;
  max-width: 100%;
}
.identity-name-row-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.panel { background: var(--surface); border: 1px solid var(--border); padding: 1.5rem; margin-bottom: 1.25rem; }
.panel h2 { font-size: 1rem; font-weight: 600; margin-bottom: 1rem; }

.notice { border: 1px solid var(--border-input); background: var(--hover); color: var(--text); padding: 0.6rem 0.875rem; font-size: 0.8rem; margin-bottom: 1rem; border-radius: var(--radius, 0.125rem); }

.wall-block + .wall-block { margin-top: 1.15rem; padding-top: 1.15rem; border-top: 1px solid var(--border); }
.wall-block-title {
  font-size: 0.95rem;
  font-weight: 600;
  margin: 0 0 0.4rem;
  line-height: 1.3;
}
.wall-content .wall-block p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.45;
  color: var(--text-muted);
}
.wall-content .wall-block p + p { margin-top: 0.45rem; }
.wall-content-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  margin-bottom: 0.35rem;
}
.wall-block-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}
.wall-block-top-main { min-width: 0; flex: 1; }
.wall-block-delete { margin: 0; flex: 0 0 auto; }
.wall-block-delete .btn-xs { width: auto; }
.wall-block--accented {
  border-left: 3px solid var(--wall-accent, var(--border));
  padding-left: 0.75rem;
}
.wall-block-meta { font-size: 0.78rem; margin: 0.35rem 0 0.5rem; }
.wall-block-meta--poster {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.75rem;
}

.table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; }
.table-wrap table { max-width: 100%; }
.table-wrap--scroll table { max-width: none; }
.table-wrap td,
.table-wrap th { overflow-wrap: anywhere; word-break: break-word; }
.table-wrap td.num,
.table-wrap th.num,
.table-wrap td.actions-cell {
  overflow-wrap: normal;
  word-break: normal;
  white-space: nowrap;
}
table { width: 100%; border-collapse: collapse; font-size: 0.875rem; background: var(--surface); border: 1px solid var(--border); }
th { text-align: left; padding: 0.625rem 1rem; font-weight: 600; font-size: 0.8rem; color: var(--text-muted); border-bottom: 1px solid var(--border); }
td { padding: 0.625rem 1rem; border-bottom: 1px solid var(--bg); }
tr:last-child td { border-bottom: none; }

.stat-grid { display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 1.5rem; }
.stat {
  background: var(--surface);
  border: 1px solid var(--border);
  padding: 1.25rem 1.75rem;
  min-width: 170px;
  container-type: inline-size;
}
a.stat--link {
  display: block;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s, background 0.15s;
}
a.stat--link:hover {
  border-color: var(--accent);
  background: var(--hover);
}
.chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}
.chip-btn { min-width: 3rem; }
.vault-lock-chip { display: inline-flex; flex-direction: column; align-items: center; line-height: 1.2; padding: 0.35rem 0.5rem; }
.vault-lock-chip-meta { display: block; font-size: 0.65rem; font-weight: 400; opacity: 0.85; margin-top: 0.15rem; }
.vault-lock-card--focus { outline: 2px solid var(--accent); outline-offset: 2px; }
.vault-lock-panel { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--border); }
.vault-lock-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  align-items: flex-start;
}

body.app-modal-open { overflow: hidden; }
.app-modal {
  position: fixed;
  inset: 0;
  z-index: 300;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: max(1rem, env(safe-area-inset-top)) 1rem 1rem;
  box-sizing: border-box;
}
.app-modal[hidden] { display: none !important; }
.app-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}
a.app-modal-backdrop {
  cursor: pointer;
  text-decoration: none;
  color: inherit;
}
.app-modal-panel {
  position: relative;
  z-index: 1;
  width: min(28rem, 100%);
  max-height: min(90vh, 920px);
  display: flex;
  flex-direction: column;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
  overflow: hidden;
  margin: 2rem auto;
}
.app-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.9rem 1rem;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}
.app-modal-title { margin: 0; font-size: 1.05rem; }
.app-modal-close { flex-shrink: 0; }
.app-modal-body {
  padding: 1.1rem;
  overflow-y: auto;
  flex: 1;
  min-height: 0;
}
.app-modal-actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-top: 1rem;
}

.icon-grid-scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding-right: 0.15rem;
}
.icon-grid-widget:not(.icon-grid-widget--picker) .icon-grid-scroll {
  overflow: visible;
}

.icon-pack-toolbar { display: flex; gap: 0.5rem; flex-wrap: wrap; align-items: center; margin-bottom: 0.75rem; }
.icon-pack-toolbar-spacer { flex: 1; min-width: 0.5rem; }
.icon-pack-filter-meta { font-size: 0.78rem; margin-left: 0.25rem; }
.icon-pack-stats {
  display: flex; flex-wrap: wrap; gap: 0.75rem 1.25rem; margin-bottom: 1rem;
  padding: 0.75rem 1rem; border-radius: var(--radius, 6px);
  background: var(--surface-2, rgba(255,255,255,0.03)); border: 1px solid var(--border);
}
.icon-pack-stat { display: flex; flex-direction: column; gap: 0.1rem; min-width: 4.5rem; }
.icon-pack-stat-value { font-size: 1.15rem; font-weight: 600; line-height: 1.1; font-variant-numeric: tabular-nums; }
.icon-pack-stat-label { font-size: 0.72rem; color: var(--text-dim); text-transform: uppercase; letter-spacing: 0.04em; }
.icon-pack-filters {
  display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 0.75rem; align-items: center;
}
.icon-pack-search {
  flex: 1; min-width: 10rem; max-width: 18rem;
  padding: 0.35rem 0.6rem; font-size: 0.85rem;
}
.icon-pack-filter-select {
  padding: 0.35rem 0.5rem; font-size: 0.82rem; max-width: 14rem;
}
.icon-pack-table-head {
  display: grid; grid-template-columns: 1.5rem 1fr auto auto;
  gap: 0.75rem; padding: 0.25rem 0 0.35rem; font-size: 0.7rem;
  color: var(--text-dim); text-transform: uppercase; letter-spacing: 0.04em;
  border-bottom: 1px solid var(--border);
}
.icon-pack-list { display: flex; flex-direction: column; gap: 0; max-height: min(70vh, 42rem); overflow-y: auto; }
.icon-pack-empty { padding: 1.5rem 0; text-align: center; margin: 0; }
.icon-pack-row {
  display: flex; flex-direction: row; align-items: flex-start; gap: 0.75rem;
  padding: 0.5rem 0; border-bottom: 1px solid var(--border);
}
.icon-pack-row-compact {
  display: grid;
  grid-template-columns: 1.5rem 1fr auto auto;
  align-items: center;
  gap: 0.75rem;
  padding: 0.4rem 0;
}
.icon-pack-row-compact input[type=checkbox] { align-self: center; }
.icon-pack-row-compact .btn-xs { align-self: center; }
.icon-pack-row:last-child { border-bottom: none; }
.icon-pack-row input[type=checkbox] {
  width: auto; flex-shrink: 0; margin: 0; padding: 0; align-self: center;
}
.icon-pack-info { flex: 1; min-width: 0; }
.icon-pack-primary { display: flex; flex-wrap: wrap; align-items: center; gap: 0.35rem 0.5rem; }
.icon-pack-info strong { font-size: 0.85rem; }
.icon-pack-id { font-size: 0.72rem; opacity: 0.65; }
.icon-pack-meta { font-size: 0.78rem; color: var(--text-dim); margin-left: 0.5rem; }
.icon-pack-repo { font-size: 0.75rem; color: var(--text-dim); margin-top: 0.15rem; }
.icon-pack-note { font-size: 0.75rem; color: var(--text-dim); margin-top: 0.15rem; }
.icon-pack-details { margin-top: 0.2rem; font-size: 0.75rem; }
.icon-pack-details summary { cursor: pointer; list-style: none; }
.icon-pack-details summary::-webkit-details-marker { display: none; }
.icon-pack-counts {
  font-size: 0.78rem; font-variant-numeric: tabular-nums; color: var(--text-dim);
  white-space: nowrap; text-align: right; min-width: 4.5rem;
}
.icon-pack-count-sep { opacity: 0.45; margin: 0 0.15rem; }
.icon-pack-row .btn-xs { flex-shrink: 0; min-width: 3.5rem; }
.icon-pack-pager {
  display: flex; align-items: center; justify-content: center; gap: 0.75rem;
  margin-top: 0.75rem; padding-top: 0.5rem; border-top: 1px solid var(--border);
}
.icon-pack-pager-label { font-size: 0.8rem; color: var(--text-dim); font-variant-numeric: tabular-nums; }
.icon-pack-hidden-inputs {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.icon-pack-group-header {
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0.5rem;
  margin: 1rem 0 0.35rem; padding-top: 0.5rem; border-top: 1px solid var(--border);
}
.icon-pack-group-header:first-of-type { border-top: none; padding-top: 0; margin-top: 0.5rem; }
.icon-pack-group-title { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; font-size: 0.9rem; }
.icon-grid-bulk-bar { display: flex; gap: 0.5rem; flex-wrap: wrap; align-items: center; margin-bottom: 0.75rem; }

.admin-job-banner { margin-bottom: 1rem; }
.admin-job-banner-running { border-color: #2563eb; }
.admin-job-banner-title { margin: 0 0 0.35rem; font-weight: 600; font-size: 0.9rem; }
.admin-job-banner-meta { margin: 0; font-size: 0.85rem; }
.admin-job-banner-hint { margin: 0.5rem 0 0; font-size: 0.78rem; }
.admin-job-log { margin-top: 1.5rem; }
.admin-job-log-compact .admin-job-log-entries { max-height: min(60vh, 28rem); overflow-y: auto; }
.admin-job-log-compact-actions { display: flex; gap: 0.5rem; flex-wrap: wrap; margin: 0.5rem 0; }
.admin-job-log-entry-fail { border-left: 2px solid #dc2626; padding-left: 0.5rem; margin-left: -0.5rem; }
.admin-job-log-summary {
  font-weight: 600; font-size: 0.9rem; cursor: pointer; padding: 0.5rem 0;
  display: flex; align-items: center; gap: 0.5rem;
}
.admin-job-log-entry { margin-top: 0.875rem; }
.admin-job-log-entry-title { font-size: 0.8rem; font-weight: 600; margin: 0 0 0.375rem; }
.badge-xs { font-size: 0.65rem; padding: 0.1rem 0.35rem; }

.color-swatch {
  width: 24px; height: 24px; border-radius: 50%; border: 2px solid var(--border);
  cursor: pointer; padding: 0; flex-shrink: 0;
}
.color-swatch:hover    { border-color: var(--text-muted); }
.color-swatch.selected { border-color: var(--accent); box-shadow: 0 0 0 2px var(--accent) inset; }
#icon_color_custom { width: 32px; height: 24px; padding: 2px; cursor: pointer; }

.disclosure { border: 1px solid var(--border); }
.disclosure + .disclosure { margin-top: -1px; }
.disclosure summary {
  display: flex; align-items: center; justify-content: space-between; gap: 0.75rem;
  padding: 0.5rem 0.875rem; cursor: pointer; list-style: none; user-select: none;
  background: var(--surface); font-size: 0.8rem; font-weight: 600; color: var(--text);
}
.disclosure summary::-webkit-details-marker { display: none; }
.disclosure summary:hover { background: var(--hover); }
.disclosure-arrow {
  font-size: 0.9rem; color: var(--text-dim); flex-shrink: 0;
  display: inline-block; transition: transform 0.15s ease;
}
.disclosure[open] > summary .disclosure-arrow { transform: rotate(90deg); }
.disclosure-body { padding: 0.875rem; border-top: 1px solid var(--border); }

.panel-danger { background: var(--surface); border: 1px solid #dc2626; padding: 1.5rem; margin-bottom: 1.25rem; }
.panel-danger h2 { font-size: 1rem; font-weight: 600; margin-bottom: 0.25rem; color: #dc2626; }
.panel-danger p { margin-top: 0.375rem; margin-bottom: 1rem; }
button.danger     { background: #dc2626; color: #fff; }
button.danger:hover { background: #b91c1c; }
.danger-btn { color: #dc2626 !important; }

textarea { border: 1px solid var(--border-input); border-radius: 0.125rem; padding: 0.5rem 0.75rem; font-size: 0.875rem; width: 100%; outline: none; background: var(--surface); color: var(--text); resize: vertical; font-family: inherit; }
textarea:focus { border-color: var(--accent); }

.btn-xs { padding: 0.15rem 0.5rem; font-size: 0.72rem; width: auto; border-radius: 0.125rem; }
.select-xs { font-size: 0.72rem; padding: 0.15rem 0.25rem; border: 1px solid var(--border-input); background: var(--surface); color: var(--text); border-radius: 0.125rem; cursor: pointer; }
.actions-cell { white-space: nowrap; }
.actions-cell form { margin: 0 1px; }
.badge-sm { font-size: 0.68rem; padding: 0.15rem 0.4rem; border-radius: 0.125rem; color: #fff; }

.badge-muted { background: var(--text-muted); color: var(--on-muted, var(--bg)); }

.text-dim { color: var(--text-dim); font-size: 0.825rem; }
.accent-surface .text-dim,
.shell-chrome .text-dim {
  color: color-mix(in srgb, var(--text-muted) 55%, var(--text) 45%);
}

.profile-public-surface .text-dim {
  color: var(--text-dim);
}

.mt-0  { margin-top: 0; }
.mt-1  { margin-top: 0.25rem; }
.mt-2  { margin-top: 0.5rem; }
.mt-3  { margin-top: 0.75rem; }
.mt-4  { margin-top: 1rem; }
.mt-6  { margin-top: 1.5rem; }

.mb-0  { margin-bottom: 0; }
.mb-1  { margin-bottom: 0.25rem; }
.mb-2  { margin-bottom: 0.5rem; }
.mb-3  { margin-bottom: 0.75rem; }
.mb-4  { margin-bottom: 1rem; }
.mb-6  { margin-bottom: 1.5rem; }

.gap-sm  { gap: 0.5rem; }
.gap-md  { gap: 0.75rem; }
.gap-lg  { gap: 1rem; }

.text-sm   { font-size: 0.875rem; }
.text-xs   { font-size: 0.75rem; }
.flex-wrap { flex-wrap: wrap; }
.align-center { align-items: center; }

.back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.875rem;
  color: var(--text-dim);
  text-decoration: none;
  margin-bottom: 0.75rem;
}
.back-link:hover { color: var(--text); }

.page-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}
.page-header h1 { margin: 0; }
.page-header-left  { display: flex; align-items: center; gap: 0.75rem; }
.page-header-right { display: flex; align-items: center; gap: 0.5rem; flex-shrink: 0; }

main:has(> .site-destination),
.browser-main:has(> .site-destination),
.profile-public-surface:has(> .site-destination) {
  display: flex;
  flex-direction: column;
  padding-top: 0;
  padding-left: 0;
  padding-right: 0;
  overflow: hidden;
  min-height: 0;
}
html:has(.site-destination) {
  scrollbar-gutter: auto;
}
.site-destination {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  margin: 0;
  --site-dest-pad-x: 1rem;
}
.site-destination__chrome {
  flex-shrink: 0;
  box-sizing: border-box;
  margin: 0;
  padding: 0.35rem 0 0;
  background: var(--bg);
  background-color: var(--bg);
}
.site-destination__chrome > .back-link {
  display: inline-flex;
  margin: 0 var(--site-dest-pad-x) 0.35rem;
}
.site-destination--inset .site-destination__chrome > .back-link {
  margin-left: 0;
  margin-right: 0;
}
.site-destination:not(.site-destination--inset) .site-destination__chrome > .site-destination__series-up,
.site-destination:not(.site-destination--inset) .site-destination__chrome > .site-destination__toc {
  margin-left: var(--site-dest-pad-x);
  margin-right: var(--site-dest-pad-x);
}
.site-pages-nav--destination {
  position: static;
  top: auto;
  z-index: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
  padding: 0.45rem 0 0.55rem;
  border-bottom: 1px solid var(--border);
  box-shadow: none;
  background: var(--bg);
}
.site-pages-nav__full {
  margin-left: auto;
}
.site-destination__chrome > .site-pages-nav--destination,
.site-pages-inline > .site-pages-nav--destination {
  margin: 0;
  padding: 0.45rem var(--site-dest-pad-x) 0.55rem;
  background: var(--bg) !important;
  background-color: var(--bg) !important;
  background-image: none !important;
}
.site-pages-inline {
  min-width: 0;
}
.site-destination.site-destination--inline {
  flex: none;
  min-height: auto;
  overflow: visible;
  display: block;
  margin: 0;
}
.site-pages-inline__continue {
  margin: 0.85rem 0 0;
}
.site-destination__scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: var(--curation-drawer-clearance, 2.75rem);
}
.site-destination--inset .site-destination__chrome {
  padding-left: var(--site-dest-pad-x);
  padding-right: var(--site-dest-pad-x);
}
.site-destination--inset .site-destination__scroll {
  padding-left: var(--site-dest-pad-x);
  padding-right: var(--site-dest-pad-x);
}
.site-destination--scroll-all .site-destination__scroll {
  scroll-snap-type: y proximity;
  scroll-padding-top: 0.5rem;
}
.site-destination__page {
  scroll-margin-top: 0.5rem;
  padding-bottom: 1.5rem;
}
.site-destination--scroll-all .site-destination__page {
  scroll-snap-align: start;
}
.site-destination--scroll-all .site-hero__title,
.site-destination--scroll-all .site-block--markdown .site-block__title,
.site-destination--scroll-all .site-block--markdown h2 {
  scroll-snap-align: start;
}
.site-destination__page + .site-destination__page {
  border-top: 1px solid var(--border);
  padding-top: 1.25rem;
}
.site-destination__to-top {
  position: fixed;
  right: 1rem;
  bottom: 1.25rem;
  z-index: 30;
  box-sizing: border-box;
  display: grid;
  place-items: center;
  width: 2.4rem;
  height: 2.4rem;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--panel, var(--bg));
  color: var(--text);
  cursor: pointer;
}
.site-destination__to-top[hidden] {
  display: none;
}
.site-destination__to-top::before {
  content: "";
  display: block;
  width: 0.55rem;
  height: 0.55rem;
  margin: 0.2rem auto 0;
  border-left: 2px solid currentColor;
  border-top: 2px solid currentColor;
  transform: rotate(45deg);
}
.site-destination__to-top:hover {
  background: var(--hover, var(--surface));
}
.site-destination__preview-banner {
  margin: 0.75rem 0;
  padding: 0.45rem 0.7rem;
  font-size: 0.82rem;
  border: 1px solid var(--border);
  border-radius: 4px;
  background: var(--panel, var(--bg));
}
.site-destination__toc {
  margin: 0 0 0.5rem;
  font-size: 0.9rem;
}
.site-destination__toc summary {
  cursor: pointer;
  color: var(--text-dim, #64748b);
}
.site-destination__toc ul {
  margin: 0.35rem 0 0;
  padding-left: 1.1rem;
}
.site-destination__toc li.is-active a {
  font-weight: 600;
}
.site-destination__pager {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin: 1.5rem 0 2rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border);
  font-size: 0.92rem;
}
.site-destination__pager a {
  color: var(--accent, #0f766e);
  text-decoration: none;
}
.site-destination__pager a:hover {
  text-decoration: underline;
}
.site-destination__pager-next {
  margin-left: auto;
  text-align: right;
}
.site-destination__body {
  position: relative;
  z-index: 0;
}
@media (max-width: 640px) {
  .site-destination__chrome {
    margin-left: 0;
    margin-right: 0;
    padding: 0.2rem var(--site-dest-pad-x) 0;
  }
  .site-destination__chrome > .back-link {
    margin: 0 0 0.15rem;
  }
  .site-destination__chrome .site-masthead {
    align-items: center;
    gap: 0.55rem;
    margin: 0;
    padding: 0.25rem 0 0.2rem;
  }
  .site-destination__chrome .site-masthead__face {
    align-items: center;
    gap: 0.55rem;
  }
  .site-destination__chrome .site-masthead .identity-mark--lg,
  .site-destination__chrome .site-masthead .identity-mark--lg.identity-mark--dot {
    width: 2.25rem;
    height: 2.25rem;
  }
  .site-destination__chrome .site-masthead__title {
    font-size: 1.05rem;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .site-destination__chrome .site-masthead__handle {
    margin-top: 0.1rem;
    font-size: 0.78rem;
  }
  .site-destination__chrome .site-masthead__tagline {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    overflow: hidden;
    margin-top: 0.15rem;
    font-size: 0.82rem;
    line-height: 1.3;
  }
  .site-pages-inline > .site-pages-nav--destination {
    margin-left: 0;
    margin-right: 0;
    padding-left: var(--site-dest-pad-x);
    padding-right: var(--site-dest-pad-x);
  }
  .site-hero {
    padding-top: 0.85rem;
    padding-bottom: 0.85rem;
  }
}
@media (max-width: 640px) {
  html[data-compact-pages-phone="1"] .site-destination__chrome > .site-pages-nav--destination,
  html[data-compact-pages-phone="1"] .site-pages-inline > .site-pages-nav--destination {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    margin-left: 0;
    margin-right: 0;
    padding: 0.25rem var(--site-dest-pad-x) 0.35rem;
  }
  html[data-compact-pages-phone="1"] .site-destination__chrome > .site-pages-nav--destination::-webkit-scrollbar,
  html[data-compact-pages-phone="1"] .site-pages-inline > .site-pages-nav--destination::-webkit-scrollbar {
    display: none;
  }
  html[data-compact-pages-phone="1"] .site-pages-nav--destination .site-pages-nav__tab {
    flex: 0 0 auto;
    white-space: nowrap;
  }
}
.site-pages-nav__tab {
  display: inline-flex;
  align-items: center;
  padding: 0.28rem 0.65rem;
  font-size: 0.82rem;
  text-decoration: none;
  color: var(--text-muted, var(--text-dim));
  border: 1px solid transparent;
  border-radius: 0.3rem;
}
.site-pages-nav__tab:hover {
  color: var(--text);
  background: var(--hover);
}
.site-pages-nav__tab.is-active {
  color: var(--accent);
  border-color: color-mix(in srgb, var(--accent) 35%, var(--border));
  background: color-mix(in srgb, var(--accent) 10%, var(--bg));
  font-weight: 600;
}
.site-hero {
  margin: 0 0 1.15rem;
  padding: 1.35rem 1.15rem 1.25rem;
  border: none;
  border-radius: 0;
  background:
    linear-gradient(135deg,
      color-mix(in srgb, var(--accent) 18%, transparent) 0%,
      transparent 55%),
    color-mix(in srgb, var(--surface) 88%, var(--bg, #111));
  border-bottom: 1px solid var(--border);
}
.site-masthead {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  margin: 0 0 0.15rem;
  padding: 0.85rem 0 0.75rem;
  border-bottom: 1px solid var(--border);
}
.site-masthead__face {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  min-width: 0;
  flex: 1;
  color: inherit;
  text-decoration: none;
}
a.site-masthead__face:hover .site-masthead__title {
  text-decoration: underline;
}
.site-masthead__text { flex: 1; min-width: 0; }
.site-masthead__title {
  margin: 0;
  font-size: clamp(1.35rem, 2.2vw, 1.75rem);
  line-height: 1.2;
  font-weight: 600;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.site-masthead__handle {
  margin: 0.2rem 0 0;
  font-size: 0.85rem;
  color: var(--text-muted, var(--text-dim));
}
.site-masthead__tagline {
  margin: 0.35rem 0 0;
  max-width: 42rem;
  font-size: 0.95rem;
  color: var(--text-muted, var(--text-dim));
  line-height: 1.45;
}
.site-hero--plain {
  padding-top: 0.85rem;
  padding-bottom: 0.85rem;
  background: transparent;
}

.site-destination:not(.site-destination--inset) .site-masthead,
.site-destination:not(.site-destination--inset) .site-hero {
  width: 100%;
  box-sizing: border-box;
  margin-left: 0;
  margin-right: 0;
  padding-left: var(--site-dest-pad-x);
  padding-right: var(--site-dest-pad-x);
}
.site-destination:not(.site-destination--inset) .site-destination__stack {
  padding-left: var(--site-dest-pad-x);
  padding-right: var(--site-dest-pad-x);
}
.site-destination:not(.site-destination--inset) .site-destination__pager,
.site-destination:not(.site-destination--inset) .site-destination__preview-banner {
  padding-left: var(--site-dest-pad-x);
  padding-right: var(--site-dest-pad-x);
}
.site-destination:not(.site-destination--inset) .site-block {
  position: relative;
}
.site-destination:not(.site-destination--inset) .site-block:not(:last-child)::after {
  content: "";
  position: absolute;
  left: calc(-1 * var(--site-dest-pad-x));
  right: calc(-1 * var(--site-dest-pad-x));
  bottom: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--border) 80%, transparent);
}
.site-destination:not(.site-destination--inset) .site-block:not(:last-child) {
  border-bottom-color: transparent;
}
.site-destination:not(.site-destination--inset) .site-block--markdown hr {
  margin-left: calc(-1 * var(--site-dest-pad-x));
  margin-right: calc(-1 * var(--site-dest-pad-x));
}
.site-hero__title {
  margin: 0 0 0.45rem;
  font-size: clamp(1.45rem, 2.4vw, 1.9rem);
  line-height: 1.2;
  letter-spacing: -0.02em;
}
.site-hero__blurb {
  margin: 0 0 0.85rem;
  max-width: 42rem;
  font-size: 0.98rem;
  color: var(--text-muted, var(--text-dim));
  line-height: 1.45;
}
.site-hero__cta {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.site-hero__main { min-width: 0; flex: 1; }
.site-hero__call {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.5rem 1rem;
  border-radius: 6px;
  background: var(--accent);
  color: var(--on-accent, var(--bg, #fff));
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}
.site-hero__call .identity-mark {
  flex: 0 0 auto;
}
.site-hero__call .identity-mark-img {
  background: transparent;
}
.site-hero__call:hover { filter: brightness(1.08); }
.site-hero--call-end {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
}
.site-hero--call-end .site-hero__call { margin-left: auto; }
.site-hero--call-center {
  display: flex;
  flex-direction: column;
}
.site-hero--call-center .site-hero__call {
  align-self: center;
  margin-top: 0.35rem;
}
.site-hero--call-mid .site-hero__call {
  margin: 0.1rem 0 0.75rem;
}
.site-card-grid {
  display: grid;
  gap: 0.75rem;
}
.site-card-grid--1x3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.site-card-grid--2x2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.site-card-grid--4x2 { grid-template-columns: repeat(auto-fit, minmax(max(12rem, calc(25% - 0.6rem)), 1fr)); }
.site-card {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-width: 0;
  text-decoration: none;
  color: inherit;
}
.site-card--panel {
  box-sizing: border-box;
  padding: 0.9rem 1.1rem;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 92%, var(--bg, #111));
}
.site-card__title {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.site-card-grid--4x2 .site-card__title {
  font-size: 0.95rem;
}
.site-card__text {
  margin: 0;
  font-size: 0.9rem;
  color: var(--text-muted, var(--text-dim));
  line-height: 1.4;
}
.site-card__image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 6px;
}
.site-card--picture .site-card__image { margin-bottom: 0.15rem; }
.site-block--partition-two {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}
@media (max-width: 960px) {
  .site-card-grid--4x2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .site-card-grid--1x3,
  .site-card-grid--2x2,
  .site-card-grid--4x2 { grid-template-columns: 1fr; }
  .site-block--partition-two { grid-template-columns: 1fr; }
  .site-hero--call-end { flex-direction: column; align-items: stretch; }
  .site-hero--call-end .site-hero__call { margin-left: 0; }
}
.site-destination__stack {
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
}
.site-block {
  margin: 0;
  padding: 0 0.15rem 1rem;
  border: none;
  border-bottom: 1px solid color-mix(in srgb, var(--border) 80%, transparent);
  background: transparent;
  border-radius: 0;
}
.site-destination .site-block {
  padding-left: 0;
  padding-right: 0;
}
.site-block:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.site-block__title {
  margin: 0 0 0.55rem;
  font-size: 1.05rem;
}
.site-block__body {
  line-height: 1.5;
}
.site-block__empty {
  margin: 0;
}
.site-block__image {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: var(--radius, 6px);
}
.site-block__image-caption {
  margin: 0.5rem 0 0;
  font-size: 0.85rem;
}
.site-block__link-list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.45rem;
}
.site-block--cta .site-block__link-list {
  flex-direction: row;
  flex-wrap: wrap;
}
.site-shop-list,
.site-drive-list {
  list-style: none;
  padding: 0;
  margin: 0 0 0.75rem;
}
.site-shop-list li,
.site-drive-list li {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.4rem 0;
  border-bottom: 1px solid color-mix(in srgb, var(--border) 70%, transparent);
}
.site-note {
  margin-bottom: 1rem;
}
.site-note__title {
  margin: 0 0 0.35rem;
  font-size: 1rem;
}
.site-wall-post {
  padding: 0.55rem 0;
  border-bottom: 1px solid color-mix(in srgb, var(--border) 70%, transparent);
}
.site-wall-post__meta {
  font-size: 0.78rem;
  margin-bottom: 0.2rem;
}
.site-roster-member {
  padding: 0.75rem 0;
  border-bottom: 1px solid color-mix(in srgb, var(--border) 70%, transparent);
}
.site-roster-member__head {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  align-items: baseline;
}
.site-roster-member__post {
  margin: 0.35rem 0 0;
  font-size: 0.9rem;
}

.site-destination--lobby .site-hero {
  padding-top: 1.75rem;
  padding-bottom: 1.5rem;
}
@media (max-width: 640px) {
  .site-destination--lobby .site-hero {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }
  .site-hero__title {
    font-size: 1.25rem;
  }
}
.site-destination--shop .site-block--shop {
  padding: 0.85rem 0.9rem 1rem;
  border: 1px solid var(--border);
  border-radius: 0.35rem;
  background: color-mix(in srgb, var(--surface) 92%, transparent);
}
.site-destination--link_park .site-block--links {
  padding: 0.75rem 0;
}
.site-destination--wall .site-block--wall {
  padding-top: 0.25rem;
}
.site-destination--article .site-block--markdown {
  max-width: 44rem;
  line-height: 1.7;
  font-size: 1.05rem;
}
.site-destination--article .site-block--markdown p {
  margin: 0 0 1em;
}
.site-destination--article .site-block--markdown ol,
.site-destination--article .site-block--markdown ul {
  margin: 0 0 1.1em;
  padding-left: 1.35em;
}
.site-destination--article .site-block--markdown li {
  margin: 0.35em 0;
  line-height: 1.65;
}
.site-destination--article .site-block--markdown ol {
  list-style: decimal;
}
.site-destination--article .site-block--markdown ol > li::marker {
  color: var(--text-dim, #94a3b8);
  font-variant-numeric: tabular-nums;
}
.site-block--markdown ol,
.site-block--markdown ul {
  margin: 0.5em 0 1em;
  padding-left: 1.35em;
}
.site-block--markdown li {
  margin: 0.3em 0;
}

.showcase-places-basic .site-hero {
  background: color-mix(in srgb, var(--surface) 94%, transparent);
}
.showcase-places-venue .site-hero {
  background:
    linear-gradient(160deg,
      color-mix(in srgb, var(--accent) 28%, transparent) 0%,
      transparent 60%),
    var(--surface);
}
.showcase-places-venue .site-destination__chrome > .site-pages-nav--destination {
  border-bottom-color: color-mix(in srgb, var(--accent) 40%, var(--border));
}
