/* Community 5.3 – harmonized cockpit, headers and Smilie Studio. */

:where(.dialog-head,.private-dialog-head,.private-main-head,.private-thread-head,.channel-header,.platform-header,.admin-top,.card-head,.card-heading,.cockpit-section-head) h1,
:where(.dialog-head,.private-dialog-head,.private-main-head,.private-thread-head,.channel-header,.platform-header,.admin-top,.card-head,.card-heading,.cockpit-section-head) h2,
:where(.dialog-head,.private-dialog-head,.private-main-head,.private-thread-head,.channel-header,.platform-header,.admin-top,.card-head,.card-heading,.cockpit-section-head) h3,
:where(.dialog-head,.private-dialog-head,.private-main-head,.private-thread-head,.channel-header,.platform-header,.admin-top,.card-head,.card-heading,.cockpit-section-head) p {
  margin-top: 0;
}

button:disabled,
.ui-button:disabled {
  cursor: not-allowed;
  opacity: .52;
  filter: saturate(.55);
}

body.cockpit-density-compact {
  --space-sm: 6px;
  --space-md: 12px;
  --space-lg: 18px;
  --header-padding-y: 9px;
  --panel-header-gap: 6px;
}
body.cockpit-density-relaxed {
  --space-sm: 10px;
  --space-md: 19px;
  --space-lg: 28px;
  --header-padding-y: 17px;
  --panel-header-gap: 13px;
}
body.cockpit-ui-mode-radio .community-panel .live-card { order: -10; }
body.cockpit-ui-mode-radio .community-panel :is(.status-card,.quick-card) { display: none; }
body.cockpit-ui-mode-radio .live-card { border-color: color-mix(in srgb, var(--live-accent, var(--accent)) 55%, var(--line)); }

.cockpit-dialog {
  width: min(1120px, calc(100vw - 28px));
}
.cockpit-dialog[open] {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
}
.cockpit-dialog > .dialog-head {
  position: relative;
  z-index: 8;
}
.cockpit-dialog > .cockpit-form {
  width: 100%;
  min-width: 0;
  min-height: 0;
  max-height: none;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.cockpit-toolbar {
  position: relative;
  z-index: 7;
  top: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  min-width: 0;
  max-width: 100%;
  gap: var(--space-sm, 8px);
  margin-bottom: var(--space-md, 16px);
  padding: var(--space-md, 16px);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg, 18px);
  background: color-mix(in srgb, var(--modal-bg, var(--surface)) 96%, transparent);
}
.cockpit-toolbar > label {
  display: flex;
  align-items: center;
  gap: var(--space-sm, 8px);
}
.cockpit-toolbar > label input { width: 100%; margin: 0; }
.cockpit-toolbar > nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  min-width: 0;
  max-width: 100%;
  gap: 6px;
  overflow: visible;
}
.cockpit-toolbar > nav button {
  width: 100%;
  min-width: 0;
  min-height: 38px;
  padding-inline: 9px;
  white-space: normal;
  line-height: 1.2;
  text-align: center;
}
.cockpit-toolbar > nav button.active {
  border-color: var(--accent) !important;
  background: color-mix(in srgb, var(--accent) 20%, var(--design-control)) !important;
}
[data-cockpit-section][hidden] { display: none !important; }
.cockpit-section[data-cockpit-section] { scroll-margin-top: var(--space-md, 16px); }
.cockpit-breadcrumb {
  grid-column: 1 / -1;
  margin: 0 0 var(--space-sm, 8px);
  color: var(--muted);
  font-size: 11px;
}
.cockpit-preview-grid,
.cockpit-preview-layout,
.messenger-design-grid,
.cockpit-control-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-md, 16px);
}
.cockpit-control-grid > label,
.messenger-design-grid > label {
  display: grid;
  align-content: start;
  gap: 6px;
  min-width: 0;
}
.cockpit-control-grid input,
.messenger-design-grid input,
.cockpit-control-grid select,
.messenger-design-grid select { width: 100%; margin: 0; }
.cockpit-control-grid fieldset { display: grid; gap: 7px; min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: var(--radius-md, 12px); }
.cockpit-control-grid .wide-field { grid-column: 1 / -1; }
.cockpit-chat-preview,
.cockpit-public-preview,
.cockpit-private-preview {
  min-height: 150px;
  padding: var(--space-md, 16px);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg, 18px);
  background: var(--chat-bg, var(--surface));
}
.cockpit-chat-preview strong { color: var(--preview-name, var(--accent)); }
.cockpit-chat-preview img { display: inline-block; width: 36px; height: 36px; object-fit: contain; vertical-align: middle; }
.cockpit-private-preview .preview-message {
  width: fit-content;
  max-width: 88%;
  margin: 8px 0;
  padding: 9px 12px;
  color: var(--preview-text, var(--text));
  border: 1px solid var(--preview-border, var(--line));
  border-radius: var(--radius-md, 12px);
  background: var(--preview-bg, var(--surface));
}
.cockpit-private-preview .preview-message.own { margin-left: auto; }
.cockpit-private-preview .preview-message strong { display: block; color: var(--preview-name, var(--accent)); font-size: 11px; font-weight: var(--preview-name-weight, 700); }
.cockpit-private-preview .preview-message p { margin: 3px 0 0; }
.cockpit-private-preview.follows-theme .preview-message.own { background: var(--accent); color: var(--accent-contrast, #fff); }
.cockpit-advice { color: var(--muted); font-size: 12px; }
[data-messenger-overrides][aria-disabled="true"] { opacity: .58; }
[data-messenger-overrides][aria-disabled="true"] :is(input, select) { pointer-events: none; }
.cockpit-preview-message {
  width: fit-content;
  max-width: 88%;
  margin: 7px 0;
  padding: 9px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md, 12px);
  background: var(--message-bg, var(--surface));
}
.cockpit-preview-message strong { display: block; margin-bottom: 3px; font-size: 11px; }
.cockpit-preview-message.is-own { margin-left: auto; }
.cockpit-contrast-state {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  font-size: 11px;
}
.cockpit-contrast-state.is-warning { color: var(--ui-warning, #f4b942); }
.cockpit-reset-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.cockpit-smilie-favorites,
.smilie-favorite-manager {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
  gap: 7px;
  max-height: 270px;
  overflow: auto;
  padding: 3px;
}
.cockpit-smilie-favorites label,
.smilie-favorite-manager label {
  display: grid;
  place-items: center;
  gap: 5px;
  min-width: 0;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md, 12px);
  cursor: pointer;
}
.cockpit-smilie-favorites label[draggable="true"] { cursor: grab; }
.cockpit-smilie-favorites label.is-dragging { opacity: .42; outline: 2px dashed var(--accent); }
.cockpit-smilie-favorites label:has(input:checked),
.smilie-favorite-manager label:has(input:checked) { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 14%, transparent); }
.cockpit-smilie-favorites input,
.smilie-favorite-manager input { position: absolute; opacity: 0; }
.cockpit-smilie-favorites img,
.smilie-favorite-manager img { width: 34px; height: 34px; object-fit: contain; }
.cockpit-smilie-favorites code,
.smilie-favorite-manager small { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.admin-nav-search { display: block; padding: 8px 12px 4px; }
.admin-nav-search input { width: 100%; margin: 0; }

.announcement-create-form { display: grid; gap: 12px; margin-top: 16px; }
.announcement-admin-list { display: grid; gap: 10px; margin-top: 18px; }
.announcement-editor {
  overflow: clip;
  border: 1px solid var(--line);
  border-radius: var(--radius-md, 12px);
  background: color-mix(in srgb, var(--surface) 84%, transparent);
}
.announcement-editor > summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  cursor: pointer;
}
.announcement-editor > summary::marker { content: ""; }
.announcement-editor > summary > span { display: grid; min-width: 0; gap: 3px; }
.announcement-editor > summary strong,
.announcement-editor > summary small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.announcement-editor > summary small { color: var(--muted); font-weight: 500; }
.announcement-editor-body { display: grid; gap: 10px; padding: 14px; border-top: 1px solid var(--line); }
.announcement-editor-form { display: grid; gap: 12px; }
.announcement-delete-form { display: flex; justify-content: flex-end; padding-top: 10px; border-top: 1px solid color-mix(in srgb, var(--line) 75%, transparent); }

.community-v5 .dashboard-welcome {
  padding: clamp(20px, 3vw, 34px);
  border: 1px solid var(--panel-border, var(--line));
  border-radius: var(--panel-radius, var(--radius-lg, 18px));
  background-clip: padding-box;
}
.community-v5 .dashboard-actions a,
.community-v5 .live-actions a {
  min-height: var(--button-height, 42px);
  padding-inline: var(--button-padding-x, 16px);
  border-color: var(--button-border, var(--line));
  border-radius: var(--ui-radius, var(--radius-md, 12px));
  background: var(--secondary-button-bg, var(--surface));
  color: var(--secondary-button-text, var(--text)) !important;
  font-size: var(--button-font-size, 14px);
  font-weight: 700;
  line-height: 1.2;
}
.community-v5 .dashboard-actions .primary-action,
.community-v5 .live-actions .primary-action,
.community-v5 a.primary-action {
  border-color: var(--button-border, transparent) !important;
  background: var(--button-bg, var(--accent)) !important;
  color: var(--button-text, #fff) !important;
}
.community-v5 .dashboard-actions .primary-action:hover,
.community-v5 .live-actions .primary-action:hover,
.community-v5 a.primary-action:hover {
  background: var(--button-hover, var(--button-bg, var(--accent))) !important;
  color: var(--button-text, #fff) !important;
}
.community-v5 .dashboard-actions .primary-action:active,
.community-v5 .live-actions .primary-action:active,
.community-v5 a.primary-action:active {
  background: var(--button-active, var(--button-bg, var(--accent))) !important;
}

.profile-hero { display: flex; align-items: center; gap: var(--space-md, 16px); padding: var(--space-lg, 24px); }
.profile-badge-list { display: flex; flex-wrap: wrap; gap: var(--space-xs, 4px); }
.profile-badge { max-width: 100%; }
.private-user-card { width: min(330px, calc(100vw - 24px)); max-height: min(480px, calc(100vh - 24px)); overflow: auto; padding: var(--space-md, 16px); border-radius: var(--radius-lg, 18px); }
.private-attachment,.private-file-card { border: 1px solid var(--line); border-radius: var(--radius-md, 12px); }
.system-message,.room-event,.announcement-card { padding: var(--space-sm, 8px) var(--space-md, 16px); border-radius: var(--radius-md, 12px); }

.smilie-admin-layout {
  display: grid;
  grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr);
  gap: 16px;
}
.smilie-admin-stack { display: grid; align-content: start; gap: 16px; }
.smilie-create-grid,
.smilie-edit-grid,
.smilie-category-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.smilie-create-grid .wide-field,
.smilie-edit-grid .wide-field { grid-column: 1 / -1; }
.smilie-library-toolbar {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto auto auto;
  gap: 8px;
  margin-bottom: 12px;
}
.smilie-library-v53 { display: grid; gap: 8px; }
.smilie-editor-card {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg, 18px);
  background: color-mix(in srgb, var(--surface) 82%, transparent);
  overflow: clip;
}
.smilie-editor-card > summary {
  display: grid;
  grid-template-columns: 32px 54px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  cursor: pointer;
}
.smilie-editor-card > summary::marker { content: ""; }
.smilie-editor-card > summary > input { width: 18px; height: 18px; margin: 0; }
.smilie-editor-card > summary img { width: 48px; height: 48px; object-fit: contain; }
.smilie-editor-identity { display: grid; min-width: 0; gap: 2px; }
.smilie-editor-identity code,
.smilie-editor-identity small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.smilie-editor-state { padding: 4px 8px; border-radius: var(--radius-pill, 999px); background: color-mix(in srgb, var(--ui-success) 14%, transparent); font-size: 11px; }
.smilie-editor-card.is-paused .smilie-editor-state { background: color-mix(in srgb, var(--ui-warning) 14%, transparent); }
.smilie-editor-body { padding: 14px; border-top: 1px solid var(--line); }
.smilie-preview-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 10px 0; }
.smilie-preview-row span { display: grid; place-items: center; min-height: 72px; border: 1px solid var(--line); border-radius: 12px; }
.smilie-preview-row span:nth-child(1) { background: #808080; }
.smilie-preview-row span:nth-child(2) { background: #f7f8ff; }
.smilie-preview-row span:nth-child(3) { background: #080a12; }
.smilie-preview-row img { width: var(--smilie-preview-size, 38px); height: var(--smilie-preview-size, 38px); object-fit: contain; }
.smilie-card-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.smilie-category-card { padding: 10px; border: 1px solid var(--line); border-radius: 12px; }
.smilie-category-card form { display: grid; grid-template-columns: minmax(0,1fr) 90px auto; gap: 8px; align-items: end; }
.smilie-category-card .category-description { grid-column: 1 / -1; }

.admin-sidebar nav a[href="?tab=community"],
.admin-sidebar nav a[href="?tab=chat"],
.admin-sidebar nav a[href="?tab=moderation"],
.admin-sidebar nav a[href="?tab=design"],
.admin-sidebar nav a[href="?tab=live"],
.admin-sidebar nav a[href="?tab=integrations"],
.admin-sidebar nav a[href="?tab=system"] { margin-top: 10px; border-top: 1px solid color-mix(in srgb, var(--line) 70%, transparent); padding-top: 12px; }

@media (min-width: 861px) {
  .channel-header > #rooms-toggle,
  .channel-header #community-toggle { display: grid; }

  /* 5.3.5: desktop owns one fixed-height chat viewport from the first row on. */
  body.rsc-app .app-shell {
    height: calc(var(--app-height, 100dvh) - var(--app-shell-top, var(--topbar)));
    min-height: 0;
    overflow: hidden;
  }
  body.rsc-app .chat-workspace {
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }
  body.rsc-app .message-scroller {
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: scroll;
    scrollbar-gutter: stable;
  }
  /* Inner pages in the persistent 5.5 shell have no local radio header. */
  body.rsc-app.rsc-shell-frame .app-shell {
    height: var(--app-height, 100dvh);
  }
  body.rsc-app.rsc-shell-frame {
    overflow: hidden;
  }
}

/* Präsenzmeldungen sind normale chronologische Zeilen im Nachrichtenstrom. */
#messages > .room-event {
  width: min(100%, var(--message-width, 920px));
  margin: 0 0 var(--space-sm, 8px);
}

/* The nested persistent-shell chat is a viewport, not a second full page.
   Its configured footer remains available on normal pages at the real page end. */
body.rsc-app.rsc-shell-frame > .community-footer {
  display: none;
}

/* 5.3.3: the configurable header spacing must never clip the mobile logo/player row. */
@media (max-width: 860px) {
  body.rsc-app.rsc-shell-frame {
    --mobile-radio-bar-height: 0px;
    overflow: hidden;
  }
  body.rsc-app.rsc-shell-frame .app-shell {
    height: calc(var(--app-height, 100dvh) - 58px);
  }
  body.rsc-app.rsc-shell-frame .room-sidebar,
  body.rsc-app.rsc-shell-frame .community-panel {
    top: 0;
  }
  body.rsc-app.rsc-shell-frame.keyboard-open .app-shell {
    height: var(--app-height, 100dvh);
  }
  /* 5.3.4: chat actions and community links share one mobile navigation look. */
  body.rsc-app .mobile-navigation {
    height: auto;
    min-height: 58px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    padding: 7px max(8px, env(safe-area-inset-right))
      calc(7px + env(safe-area-inset-bottom))
      max(8px, env(safe-area-inset-left));
    background: color-mix(in srgb, var(--navigation-bg, var(--surface)) 96%, transparent) !important;
    backdrop-filter: blur(18px);
  }
  body.rsc-app .mobile-navigation :is(a, button) {
    display: flex;
    min-width: 0;
    min-height: 0 !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    margin: 0;
    padding: 5px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--navigation-text, var(--muted)) !important;
    font-size: 10px !important;
    font-weight: 400;
    line-height: 1.2;
    text-decoration: none;
    filter: none;
    transform: none;
  }
  body.rsc-app .mobile-navigation :is(a, button) > span {
    color: var(--navigation-icon, currentColor);
    font-size: 19px;
    line-height: 1;
  }
  body.rsc-app .mobile-navigation :is(a, button):hover {
    background: var(--navigation-hover, transparent) !important;
    color: var(--navigation-text, var(--muted)) !important;
    filter: none;
    transform: none;
  }
  body.rsc-app .mobile-navigation :is(a, button).active,
  body.rsc-app .mobile-navigation :is(a, button)[aria-current="page"] {
    background: transparent !important;
    color: var(--navigation-active, var(--accent-secondary, var(--accent-2))) !important;
  }
  body.rsc-app .mobile-navigation :is(a, button).active > span,
  body.rsc-app .mobile-navigation :is(a, button)[aria-current="page"] > span {
    color: currentColor;
  }
  body.rsc-app { --mobile-radio-bar-height: calc(68px + env(safe-area-inset-top)); }
  body.rsc-app .radio-bar {
    height: var(--mobile-radio-bar-height);
    min-height: var(--mobile-radio-bar-height);
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    justify-content: stretch;
    gap: 12px;
    padding: calc(8px + env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 8px max(12px, env(safe-area-inset-left));
    overflow: hidden;
  }
  body.rsc-app .radio-bar .radio-brand {
    align-self: center;
    min-width: 0;
    height: 100%;
    margin-inline: 0;
    overflow: hidden;
  }
  body.rsc-app .radio-bar .radio-brand img,
  body.rsc-app .radio-bar .radio-brand .community-logo {
    flex: 0 1 auto;
    max-width: min(46vw, 180px);
    max-height: 52px;
    object-fit: contain;
  }
  body.rsc-app .radio-bar .radio-brand > span:last-child { min-width: 0; overflow: hidden; }
  body.rsc-app .radio-bar .radio-brand strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  body.rsc-app .radio-bar .player-controls {
    align-self: center;
    justify-self: end;
    align-items: center;
    height: 100%;
  }
  body.rsc-app .radio-bar #player-toggle {
    flex: 0 0 38px;
    align-self: center;
    margin: 0;
  }
  body.rsc-app .app-shell { height: calc(var(--app-height, 100dvh) - var(--mobile-radio-bar-height) - 58px); }
  body.rsc-app .room-sidebar,
  body.rsc-app .community-panel { top: var(--mobile-radio-bar-height); }
  body.rsc-app.keyboard-open .app-shell { height: calc(var(--app-height, 100dvh) - var(--mobile-radio-bar-height)); }
}

@media (max-width: 820px) {
  .cockpit-toolbar {
    top: auto;
    grid-template-columns: minmax(0, 1fr);
    background: color-mix(in srgb, var(--modal-bg, var(--surface)) 99%, transparent);
  }
  .cockpit-toolbar > nav { order: -1; }
  .cockpit-preview-grid,
  .cockpit-preview-layout,
  .messenger-design-grid,
  .cockpit-control-grid,
  .smilie-admin-layout,
  .smilie-create-grid,
  .smilie-edit-grid,
  .smilie-category-grid { grid-template-columns: 1fr; }
  .cockpit-control-grid .wide-field { grid-column: auto; }
  .smilie-create-grid .wide-field,
  .smilie-edit-grid .wide-field { grid-column: auto; }
  .smilie-library-toolbar { grid-template-columns: 1fr; }
  .smilie-editor-card > summary { grid-template-columns: 28px 46px minmax(0, 1fr); }
  .smilie-editor-state { grid-column: 3; justify-self: start; }
  .smilie-category-card form { grid-template-columns: 1fr; }
  .smilie-category-card .category-description { grid-column: auto; }
  .channel-header { flex-wrap: nowrap; }
  .channel-copy { flex: 1 1 auto; overflow: hidden; }
  .channel-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .channel-actions { flex: 0 0 auto; overflow: visible; }
}

@media (max-width: 760px) {
  .cockpit-dialog {
    inset: 0;
    width: 100vw;
    max-width: 100vw;
    height: 100dvh;
    max-height: 100dvh;
    margin: 0;
    border: 0 !important;
    border-radius: 0 !important;
  }
  .cockpit-dialog > .dialog-head {
    padding: max(14px, env(safe-area-inset-top)) max(15px, env(safe-area-inset-right)) 14px max(15px, env(safe-area-inset-left));
  }
  .cockpit-dialog > .cockpit-form {
    padding-inline: 12px;
    padding-bottom: 0;
  }
  .cockpit-toolbar {
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
    padding: 12px;
  }
  .cockpit-toolbar > nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-inline: 0;
    padding-inline: 0;
  }
  .cockpit-actions {
    z-index: 6;
    bottom: 0;
    margin-inline: -12px;
    padding: 12px max(12px, env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
    border-top: 1px solid var(--line);
    background: color-mix(in srgb, var(--modal-bg, var(--surface)) 99%, transparent);
  }
  .announcement-editor > summary { grid-template-columns: minmax(0, 1fr); }
  .announcement-editor > summary .status-label { justify-self: start; }
}

@media (max-width: 520px) {
  .smilie-preview-row { grid-template-columns: 1fr; }
  .smilie-preview-row span { min-height: 58px; }
  .private-main-head { min-height: 58px; }
  .private-thread-head { min-width: 0; flex-wrap: nowrap; }
  .private-thread-actions { flex: 0 0 auto; margin-left: auto; }
}
/* 5.5: the outer Community shell owns the one persistent radio bar. */
.rsc-shell-frame .radio-bar {
  display: none !important;
}

/* Community 5.9 – Profile 3.0 */
.rsc-nickname{font-weight:inherit;color:inherit;white-space:inherit}.rsc-nickname.is-solid{color:var(--nick-color)!important}.rsc-nickname.is-gradient{background:var(--nick-gradient);-webkit-background-clip:text;background-clip:text;color:transparent!important}.rsc-nickname.is-letters>span{color:var(--nick-color);display:inline}.profile-current-identity{display:grid;gap:.3rem;padding:1rem;border:1px solid var(--line-color,#293047);border-radius:14px;background:color-mix(in srgb,var(--surface-color,#111522) 88%,transparent)}.profile-current-identity>strong{font-size:1.35rem}.profile-current-identity small{color:var(--muted-color,#9da8bd)}.profile-nickname-manager,.profile-media-manager{min-width:0}.profile-nickname-editor,.profile-nickname-edit{display:grid;gap:.8rem}.nickname-color-pickers{display:flex;gap:.45rem;flex-wrap:wrap}.nickname-color-pickers input[type=color]{width:42px;height:38px;padding:2px;border-radius:10px}.profile-nickname-list{display:grid;gap:.7rem;margin-top:1rem}.profile-nickname-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.7rem;align-items:center;padding:.9rem;border:1px solid var(--line-color,#293047);border-radius:14px}.profile-nickname-item.is-active{outline:2px solid var(--accent-color,#806cff);outline-offset:1px}.profile-nickname-item details{grid-column:1/-1}.profile-nickname-item details>summary{cursor:pointer;color:var(--muted-color,#9da8bd)}.profile-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.8rem;margin-top:1rem}.profile-media-tile{display:grid;gap:.5rem;padding:.65rem;border:1px solid var(--line-color,#293047);border-radius:16px;overflow:hidden}.profile-media-tile.is-active{outline:2px solid var(--accent-color,#806cff)}.profile-media-tile img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px}.is-header-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.is-header-grid .profile-media-tile img{aspect-ratio:16/6}.profile-media-actions{display:flex;gap:.45rem;flex-wrap:wrap}.profile-media-actions form{margin:0}.profile-media-actions .danger{border-color:#d9576b;color:#ff9ead}.profile-card-v52 .profile-hero{background-position:var(--profile-header-position,center);position:relative}.profile-card-v52 .profile-hero::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,var(--profile-header-overlay,.35));pointer-events:none;border-radius:inherit}.profile-card-v52 .profile-hero>*{position:relative;z-index:1}@media(max-width:700px){.profile-nickname-item{grid-template-columns:1fr}.profile-media-grid,.is-header-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.profile-detail-grid{display:flex;gap:.65rem 1rem;flex-wrap:wrap;margin:.8rem 0}.profile-detail-grid>*{padding:.45rem .7rem;border:1px solid var(--line-color,#293047);border-radius:999px;background:color-mix(in srgb,var(--surface-color,#111522) 84%,transparent);color:inherit;text-decoration:none}
/* 5.9.1: freie Buchstabenfarben, öffentliche Profilbereiche und Moderationsaktionen */
.nickname-letter-editor{display:grid;gap:.65rem;padding:.8rem;border:1px solid var(--line-color,#293047);border-radius:14px;background:color-mix(in srgb,var(--surface-color,#111522) 90%,transparent)}
.nickname-letter-editor-head{display:flex;justify-content:space-between;gap:.7rem;align-items:baseline;flex-wrap:wrap}.nickname-letter-editor-head small{color:var(--muted-color,#9da8bd)}
.nickname-letter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:.5rem}.nickname-letter-color{display:grid;gap:.3rem;justify-items:center;padding:.45rem;border:1px solid color-mix(in srgb,var(--line-color,#293047) 82%,transparent);border-radius:10px}.nickname-letter-color span{font-weight:800;max-width:44px;overflow:hidden;text-overflow:ellipsis}.nickname-letter-color input[type=color]{width:42px;height:34px;padding:2px;border-radius:8px}
.profile-public-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.65rem}.profile-public-controls .dashboard-actions{grid-column:1/-1}
.profile-public-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.65rem;margin-top:.75rem}.profile-public-gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px;border:1px solid var(--line-color,#293047)}.profile-public-gallery.is-header-gallery{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.profile-public-gallery.is-header-gallery img{aspect-ratio:16/6}
.profile-public-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.65rem;margin-top:1rem}.profile-public-meta>*{padding:.7rem .8rem;border:1px solid var(--line-color,#293047);border-radius:12px;background:color-mix(in srgb,var(--surface-color,#111522) 90%,transparent)}
.private-card-actions .moderation-kick{border-color:#d9576b;color:#ff9ead}.admin-top-actions{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap}.admin-top-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:.45rem .8rem;border:1px solid var(--line-color,#293047);border-radius:10px;text-decoration:none}.admin-top-actions a.admin-logout{border-color:#d9576b;color:#ff9ead}
@media(max-width:760px){.admin-top{gap:.75rem;align-items:flex-start}.admin-top-actions{width:100%}.admin-top-actions a{flex:1}.nickname-letter-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}

.member-item{position:relative}.member-kick-button{margin-left:auto;align-self:center;padding:.35rem .55rem;min-height:30px;border:1px solid #d9576b;border-radius:9px;background:transparent;color:#ff9ead;font-size:.75rem;font-weight:800;cursor:pointer}.member-kick-button:hover{background:color-mix(in srgb,#d9576b 18%,transparent)}
