:root {
  --ink: #1a1d21;
  --muted: #5a5f67;
  --border: #c8cdd4;
  --surface: #eef0f3;
  --surface-raised: #f5f6f8;
  --surface-muted: #e2e5ea;
  --bg: #d8dce3;
  --primary: #6957ff;
  --primary-dark: #4a37d8;
  --pink: #ff5fb7;
  --gradient: linear-gradient(135deg, #6957ff, #ff5fb7);
  --shadow: 0 1px 2px rgba(0, 0, 0, .12), 0 8px 24px rgba(0, 0, 0, .1);
  --shadow-sm: 0 1px 3px rgba(26, 29, 33, .08), 0 4px 12px rgba(26, 29, 33, .06);
  --shadow-glow: 0 8px 32px rgba(105, 87, 255, .18);
  --tabbar-height: 68px;
  --glass: rgba(245, 246, 248, .82);
}

* { box-sizing: border-box; }

html { font-size: 15px; min-height: 100%; }

body {
  background: var(--bg);
  color: var(--ink);
  font-family: "Rubik", "Segoe UI", system-ui, -apple-system, sans-serif;
  margin: 0;
  min-height: 100vh;
}

body.guest-page { background: linear-gradient(180deg, #d8dce3 0%, #e8eaed 100%); }

.guest-header {
  align-items: center;
  background: var(--surface-raised);
  border-bottom: 1px solid var(--border);
  display: flex;
  justify-content: space-between;
  padding: .85rem 1.25rem;
}

.guest-main {
  margin: 0 auto;
  max-width: 960px;
  padding: 2rem 1rem 4rem;
}

.guest-footer {
  align-items: center;
  border-top: 1px solid var(--border);
  color: var(--muted);
  display: flex;
  font-size: .85rem;
  gap: 1rem;
  justify-content: space-between;
  padding: 1rem 1.25rem;
}

.staff-link {
  color: var(--muted) !important;
  font-size: .8rem;
  text-decoration: none !important;
}

.staff-link:hover { color: var(--primary-dark) !important; text-decoration: underline !important; }

.landing-hero {
  background: var(--surface-raised);
  border-radius: 20px;
  box-shadow: var(--shadow);
  padding: 3rem 2rem;
  text-align: center;
}

.landing-visual {
  font-size: 5rem;
  margin-bottom: 1rem;
}

.landing-title {
  background: var(--gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-family: "Fredoka", "Rubik", sans-serif;
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: .06em;
  margin-bottom: .75rem;
  text-transform: uppercase;
}

.landing-subtitle {
  color: var(--muted);
  font-size: 1.15rem;
  margin: 0 auto 2rem;
  max-width: 420px;
}

.landing-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  justify-content: center;
}

body.app-page { padding-bottom: var(--tabbar-height); }

.app-main {
  margin: 0 auto;
  max-width: 680px;
  padding: 1rem 1rem 2rem;
}

.feed-container { width: 100%; }

.feed-group-switcher-wrap {
    display: flex;
    align-items: center;
    gap: .35rem;
    margin-bottom: 1rem;
    max-width: 100%;
    padding: .35rem .4rem .35rem .5rem;
    background: var(--surface);
    border-radius: 999px;
    box-shadow: var(--shadow-sm);
}

.feed-tab-home {
    flex: 0 0 auto;
    position: relative;
    z-index: 1;
}

.feed-group-switcher-scroll-area {
    align-items: center;
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    position: relative;
}

.feed-group-scroll-alert {
    align-items: center;
    background: #ef4444;
    border: 0;
    border-radius: 999px;
    box-shadow: 0 2px 8px rgba(239, 68, 68, .35);
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: .72rem;
    font-weight: 800;
    gap: .15rem;
    height: 26px;
    justify-content: center;
    min-width: 26px;
    padding: 0 .45rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
}

.feed-group-scroll-alert[data-feed-group-scroll-alert="start"] {
    inset-inline-end: .15rem;
}

.feed-group-scroll-alert[data-feed-group-scroll-alert="end"] {
    inset-inline-start: .15rem;
}

.feed-group-switcher-scroll-area.has-scroll-end .feed-group-switcher-scroll {
    padding-inline-start: 1.75rem;
}

.feed-group-switcher-scroll-area.has-scroll-start .feed-group-switcher-scroll {
    padding-inline-end: 1.75rem;
}

.feed-group-switcher-scroll {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: .35rem;
    min-width: 0;
    flex: 1 1 auto;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    scrollbar-width: thin;
    scrollbar-color: rgba(105, 87, 255, .45) transparent;
    padding: .1rem 0 .15rem;
}

.feed-group-switcher-scroll::-webkit-scrollbar {
    height: 5px;
}

.feed-group-switcher-scroll::-webkit-scrollbar-track {
    background: transparent;
}

.feed-group-switcher-scroll::-webkit-scrollbar-thumb {
    background: rgba(105, 87, 255, .4);
    border-radius: 999px;
}

.feed-group-switcher-scroll::-webkit-scrollbar-thumb:hover {
    background: rgba(105, 87, 255, .65);
}

.feed-group-switcher-scroll.is-dragging {
    cursor: grabbing;
    user-select: none;
}

.feed-group-switcher-scroll.is-dragging .feed-tab {
    pointer-events: none;
}

.feed-group-switcher,
.feed-tabs {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: .35rem;
    margin-bottom: 0;
    padding: .35rem .5rem;
    background: var(--surface);
    border-radius: 999px;
    box-shadow: var(--shadow-sm);
    overflow-x: auto;
    overflow-y: hidden;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    scrollbar-width: none;
}

.feed-group-switcher::-webkit-scrollbar,
.feed-tabs::-webkit-scrollbar {
    display: none;
}

.feed-tab {
    border: 0;
    background: transparent;
    color: var(--muted);
    padding: .4rem .85rem;
    border-radius: 999px;
    font-size: .88rem;
    white-space: nowrap;
    flex: 0 0 auto;
    cursor: pointer;
    text-decoration: none;
    position: relative;
}

.feed-tab-badge {
    align-items: center;
    background: #ef4444;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: .65rem;
    font-weight: 800;
    height: 16px;
    justify-content: center;
    margin-inline-start: .35rem;
    min-width: 16px;
    padding: 0 .3rem;
    vertical-align: middle;
}

.groups-item-title {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.groups-unread-pill {
    background: #ef4444;
    border-radius: 999px;
    color: #fff;
    display: inline-block;
    font-size: .72rem;
    font-weight: 800;
    padding: .15rem .55rem;
}

.feed-tab:hover { background: var(--surface-muted); color: var(--text); }

.feed-tab.is-active {
    background: var(--gradient);
    color: #fff !important;
    font-weight: 600;
}

.feed-group-switcher-wrap .feed-tab.is-active {
    box-shadow: 0 2px 8px rgba(105, 87, 255, .25);
}

.feed-post-badge.is-group { background: #e8f4fd; color: #0d6efd; }

.groups-list { display: flex; flex-direction: column; gap: .75rem; }

.groups-item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem;
    border-radius: var(--radius);
    background: var(--surface-muted);
}

.groups-item-actions { display: flex; flex-wrap: wrap; gap: .5rem; }

.group-member-list {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-top: .5rem;
}

.group-member-chip {
    display: inline-block;
    padding: .2rem .55rem;
    border-radius: 999px;
    background: var(--surface);
    color: var(--ink);
    font-size: .82rem;
    font-weight: 600;
    border: 1px solid var(--border);
}

.group-member-chip.is-admin {
    border-color: rgba(105, 87, 255, .35);
    background: rgba(105, 87, 255, .1);
    color: var(--primary-dark);
}

.group-friend-picker {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    max-height: 220px;
    overflow-y: auto;
    padding: .5rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--surface);
}

.group-friend-option {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin: 0;
    cursor: pointer;
}

.groups-empty, .groups-loading, .group-friends-loading {
    color: var(--muted);
    padding: .5rem 0;
}

.auth-card {
  background: var(--surface-raised);
  border-radius: 20px;
  box-shadow: var(--shadow);
  margin: 0 auto;
  max-width: 420px;
  padding: 2rem;
}

.auth-card h1 { font-size: 1.75rem; font-weight: 900; margin-bottom: .5rem; text-align: center; }

/* Top bar */
a:hover { text-decoration: underline; }

/* Top bar */
.social-topbar {
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 0;
  z-index: 100;
}

.social-topbar-inner {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1200px;
  padding: .65rem 1rem;
}

.brand-mark {
  align-items: center;
  color: var(--ink) !important;
  display: inline-flex;
  font-weight: 900;
  gap: .55rem;
  text-decoration: none !important;
}

.brand-icon {
  align-items: center;
  background: var(--gradient);
  border-radius: 12px;
  color: #fff;
  display: inline-flex;
  font-size: .85rem;
  font-weight: 900;
  height: 38px;
  justify-content: center;
  width: 38px;
}

.brand-text { font-size: 1.35rem; }

.brand-text-display {
  background: var(--gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-family: "Fredoka", "Rubik", sans-serif;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.topbar-search {
  align-items: center;
  background: var(--surface-muted);
  border-radius: 999px;
  display: flex;
  flex: 1;
  gap: .5rem;
  max-width: 360px;
  padding: .55rem 1rem;
}

.topbar-search input {
  background: transparent;
  border: 0;
  outline: none;
  width: 100%;
}

.topbar-actions {
  align-items: center;
  display: flex;
  gap: .45rem;
}

.topbar-icon {
  align-items: center;
  background: var(--surface-muted);
  border-radius: 50%;
  display: inline-flex;
  font-size: 1.1rem;
  height: 40px;
  justify-content: center;
  position: relative;
  text-decoration: none !important;
  width: 40px;
}

.topbar-icon.active,
.topbar-icon:hover { background: #d4ddf5; }

.topbar-profile {
  align-items: center;
  background: var(--surface-muted);
  border-radius: 999px;
  display: inline-flex;
  gap: .45rem;
  padding: .25rem .7rem .25rem .25rem;
  text-decoration: none !important;
}

/* Buttons */
.btn {
  border: 0;
  border-radius: 999px;
  font-weight: 700;
  padding: .65rem 1.1rem;
}

.btn-gradient, .btn-primary {
  background: var(--gradient);
  color: #fff !important;
}

.btn-soft {
  background: #d4ddf5;
  color: var(--primary-dark) !important;
}

.form-control, .form-select {
  background: var(--surface-raised);
  border: 1px solid var(--border);
  border-radius: 12px;
  min-height: 44px;
}

.form-control:focus, .form-select:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 .2rem rgba(105, 87, 255, .15);
}

/* Social layout */
.app-shell {
  margin: 0 auto;
  max-width: 1200px;
  padding: 1rem;
}

.social-app {
  display: grid;
  gap: 1rem;
  grid-template-columns: 260px minmax(0, 1fr) 300px;
}

.social-sidebar, .social-aside { position: sticky; top: 84px; }

.sidebar-profile {
  align-items: center;
  background: var(--surface);
  border-radius: 16px;
  box-shadow: var(--shadow);
  display: flex;
  gap: .75rem;
  margin-bottom: 1rem;
  padding: 1rem;
}

.sidebar-avatar {
  align-items: center;
  background: var(--gradient);
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  font-size: 1.2rem;
  height: 48px;
  justify-content: center;
  width: 48px;
}

.sidebar-nav {
  background: var(--surface);
  border-radius: 16px;
  box-shadow: var(--shadow);
  display: grid;
  gap: .25rem;
  padding: .5rem;
}

.sidebar-link {
  border-radius: 12px;
  color: var(--ink);
  font-weight: 700;
  padding: .75rem 1rem;
  text-decoration: none !important;
}

.sidebar-link:hover { background: var(--surface-muted); }
.sidebar-link.active { background: #d4ddf5; color: var(--primary-dark); }

/* Composer */
.composer-sticky {
  background: var(--bg);
  margin-bottom: .75rem;
  position: sticky;
  top: calc(.65rem * 2 + 38px + 1px);
  z-index: 90;
}

.composer-card, .composer-expanded, .feed-post, .aside-card, .auth-card, .kid-card, .hero-card {
  background: var(--surface);
  border-radius: 16px;
  box-shadow: var(--shadow);
}

.composer-card, .composer-expanded { margin-bottom: 1rem; padding: 1rem; }

.composer-sticky .composer-expanded:last-child { margin-bottom: 0; }

.feed-activities { margin-bottom: 1rem; }

.feed-activities-inner { padding: 1rem 1.1rem; }

.feed-activities-head {
  align-items: center;
  display: flex;
  gap: .75rem;
  justify-content: space-between;
  margin-bottom: .85rem;
}

.feed-activities-head h2 {
  font-size: 1.15rem;
  margin: 0;
}

.feed-activities-head a {
  color: var(--brand);
  font-size: .9rem;
  font-weight: 600;
  text-decoration: none;
}

.activities-strip,
.activities-list {
  display: flex;
  flex-direction: column;
  gap: .75rem;
}

.activity-card {
  background: linear-gradient(135deg, rgba(105, 87, 255, .08), rgba(255, 184, 77, .12));
  border: 1px dashed rgba(105, 87, 255, .35);
  border-radius: 14px;
  padding: .95rem 1rem;
}

.activity-card.is-done {
  background: rgba(46, 184, 92, .08);
  border-color: rgba(46, 184, 92, .45);
  opacity: .95;
}

.activity-card-head {
  align-items: flex-start;
  display: flex;
  gap: .65rem;
  justify-content: space-between;
  margin-bottom: .45rem;
}

.activity-card-head h3 {
  font-size: 1.05rem;
  margin: 0;
}

.activity-meta {
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  font-size: .82rem;
  gap: .45rem .65rem;
  margin-bottom: .55rem;
}

.activity-meta .pill {
  background: var(--surface-muted);
  border-radius: 999px;
  padding: .15rem .55rem;
}

.activity-card p {
  margin-bottom: .75rem;
  white-space: pre-wrap;
}

.activity-card-actions {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: .65rem;
}

.activity-upload-hint {
  color: var(--muted);
  font-size: .9rem;
  margin: 0;
}

.activity-entry-controls {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem .75rem;
}

.activity-entry-preview {
  border-radius: 12px;
  max-width: 220px;
  overflow: hidden;
}

.activity-entry-preview img {
  display: block;
  height: auto;
  max-height: 180px;
  object-fit: cover;
  width: 100%;
}

.activity-upload-btn.is-busy {
  opacity: .65;
  pointer-events: none;
}

.activity-card-toolbar {
  display: flex;
  justify-content: flex-start;
  margin-bottom: .5rem;
}

.activity-entry-thumb,
.activity-gallery-img {
  background: var(--surface-muted);
  display: block;
  height: auto;
  max-height: 160px;
  object-fit: cover;
  width: 100%;
}

.activity-entry-thumb.is-broken,
.activity-gallery-img.is-broken {
  min-height: 80px;
  opacity: .5;
}

.activity-gallery-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
}

.activity-gallery-item {
  margin: 0;
}

.activity-gallery-item figcaption {
  display: flex;
  flex-direction: column;
  font-size: .85rem;
  gap: .15rem;
  margin-top: .4rem;
}

.activity-gallery-item figcaption small {
  color: var(--muted);
}

.activity-gallery-modal .modal-content {
  border-radius: 16px;
}

.activities-hero { margin-bottom: 1rem; padding: 1.25rem; }

.admin-activities-list table { color: #e8ecf5; font-size: .92rem; }

.admin-activities-list td,
.admin-activities-list th { padding: .45rem .5rem; vertical-align: top; }

.composer-header {
  align-items: center;
  display: flex;
  gap: .75rem;
  margin-bottom: .75rem;
}

.composer-header-expanded {
  justify-content: space-between;
}

.composer-header-main {
  align-items: center;
  display: flex;
  gap: .75rem;
  min-width: 0;
}

.composer-close {
  align-items: center;
  background: var(--surface-muted);
  border: 0;
  border-radius: 50%;
  color: var(--muted);
  cursor: pointer;
  display: inline-flex;
  flex-shrink: 0;
  font-size: 1.1rem;
  height: 36px;
  justify-content: center;
  line-height: 1;
  width: 36px;
}

.composer-close:hover {
  background: #d4d8de;
  color: var(--ink);
}

.composer-trigger {
  background: var(--surface-muted);
  border: 0;
  border-radius: 999px;
  color: var(--muted);
  flex: 1;
  font-weight: 600;
  padding: .85rem 1rem;
  text-align: right;
}

.composer-trigger:hover { background: #d4d8de; }

.composer-actions {
  border-top: 1px solid var(--border);
  display: flex;
  gap: .5rem;
  padding-top: .75rem;
}

.composer-action {
  background: transparent;
  border: 0;
  border-radius: 8px;
  color: var(--muted);
  flex: 1;
  font-weight: 700;
  padding: .5rem;
}

.composer-action:hover { background: var(--surface-muted); }

.composer-textarea {
  border: 0;
  font-size: 1.1rem;
  min-height: 100px;
  outline: none;
  resize: vertical;
  width: 100%;
}

.composer-preview {
  margin: .75rem 0;
  position: relative;
}

.composer-preview img {
  border-radius: 12px;
  max-height: 320px;
  object-fit: cover;
  width: 100%;
}

.composer-remove-image {
  background: rgba(0, 0, 0, .65);
  border: 0;
  border-radius: 50%;
  color: #fff;
  height: 32px;
  position: absolute;
  right: 10px;
  top: 10px;
  width: 32px;
}

.composer-footer {
  align-items: center;
  border-top: 1px solid var(--border);
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  padding-top: .75rem;
}

.composer-upload {
  background: var(--surface-muted);
  border-radius: 999px;
  cursor: pointer;
  font-weight: 700;
  margin: 0;
  padding: .55rem 1rem;
}

.composer-privacy { max-width: 220px; }

/* Feed posts */
.feed-post {
  margin-bottom: 1rem;
  overflow: hidden;
}

.feed-post.is-pending { border: 2px dashed #ffc107; }

.feed-post-header {
  align-items: center;
  display: flex;
  justify-content: space-between;
  padding: .85rem 1rem;
}

.feed-post-user {
  align-items: center;
  display: flex;
  gap: .65rem;
}

.feed-post-avatar {
  align-items: center;
  background: var(--gradient);
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  font-size: .85rem;
  font-weight: 900;
  height: 40px;
  justify-content: center;
  width: 40px;
}

.feed-post-user small { color: var(--muted); display: block; }

.feed-post-badge {
  background: var(--surface-muted);
  border-radius: 999px;
  color: var(--muted);
  font-size: .8rem;
  font-weight: 700;
  padding: .3rem .65rem;
}

.feed-post-meta {
  align-items: center;
  display: flex;
  gap: .45rem;
}

.feed-delete-btn {
  background: transparent;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  font-size: 1rem;
  line-height: 1;
  opacity: .65;
  padding: .25rem .4rem;
}

.feed-delete-btn:hover {
  background: rgba(220, 53, 69, .12);
  opacity: 1;
}

.friends-page {
  display: grid;
  gap: 1rem;
}

.friends-list {
  display: flex;
  flex-direction: column;
  gap: .65rem;
}

.friends-subtitle {
  color: var(--muted);
  font-size: .88rem;
  font-weight: 800;
  margin-top: .35rem;
}

.friends-search-results {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 10px;
  margin-top: .5rem;
  max-height: 270px;
  overflow-y: auto;
  padding: .35rem;
}

.friends-search-item {
  align-items: center;
  border-radius: 8px;
  display: flex;
  gap: .6rem;
  justify-content: space-between;
  padding: .45rem .55rem;
}

.friends-search-item + .friends-search-item {
  border-top: 1px solid var(--border);
}

.friends-search-item-name {
  font-weight: 700;
}

.friends-item {
  align-items: center;
  background: var(--surface-muted);
  border-radius: 12px;
  display: flex;
  gap: .75rem;
  justify-content: space-between;
  padding: .75rem 1rem;
}

.friends-status-pill {
  color: var(--muted);
  font-size: .85rem;
  font-weight: 700;
}

.friends-status-pill.is-friend {
  color: var(--primary-dark);
}

.friends-actions {
  align-items: center;
  display: flex;
  gap: .55rem;
}

.friends-empty {
  color: var(--muted);
  padding: .5rem 0;
}

.friends-empty.is-error {
  color: #c0392b;
}

.messages-page {
  display: grid;
  gap: 1rem;
  grid-template-columns: 320px 1fr;
}

.messages-sidebar,
.messages-main {
  display: flex;
  flex-direction: column;
  gap: .75rem;
}

.messages-sidebar-header {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.messages-sidebar-header h1 {
  margin: 0;
}

.messages-new-chat {
  background: var(--surface-muted);
  border-radius: 10px;
  padding: .65rem;
}

.messages-conversations {
  display: flex;
  flex-direction: column;
  gap: .45rem;
  max-height: 62vh;
  overflow-y: auto;
}

.messages-conversation {
  align-items: center;
  background: var(--surface-muted);
  border-radius: 10px;
  cursor: pointer;
  display: grid;
  gap: .15rem;
  padding: .6rem .75rem;
  text-align: right;
}

.messages-conversation.active {
  outline: 2px solid rgba(105, 87, 255, .35);
}

.messages-conversation-row {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.messages-conversation-preview {
  color: var(--muted);
  font-size: .82rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.messages-thread {
  background: var(--surface-muted);
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  gap: .5rem;
  max-height: 46vh;
  min-height: 220px;
  overflow-y: auto;
  padding: .75rem;
}

.message-bubble {
  border-radius: 12px;
  max-width: 78%;
  padding: .45rem .65rem;
}

.message-bubble.mine {
  align-self: flex-end;
  background: rgba(105, 87, 255, .18);
}

.message-bubble.theirs {
  align-self: flex-start;
  background: #fff;
}

.message-bubble small {
  color: var(--muted);
  display: block;
  font-size: .72rem;
  margin-top: .2rem;
}

@media (max-width: 991px) {
  .messages-page {
    grid-template-columns: 1fr;
  }
}

.feed-post-body { padding: 0 1rem 1rem; }

.feed-post-body p {
  font-size: 1.05rem;
  line-height: 1.5;
  margin: 0 0 .75rem;
  white-space: pre-wrap;
}

.feed-image-wrap { margin-top: .5rem; }

.feed-image {
  border-radius: 12px;
  display: block;
  max-height: 520px;
  object-fit: cover;
  width: 100%;
}

.feed-post-footer {
  align-items: center;
  border-top: 1px solid var(--border);
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  padding: .65rem 1rem;
}

.feed-action {
  background: transparent;
  border: 0;
  border-radius: 8px;
  color: var(--muted);
  font-weight: 700;
  padding: .45rem .75rem;
}

.feed-action:hover { background: var(--surface-muted); }

.feed-action.is-active {
  background: rgba(99, 102, 241, .12);
  color: var(--primary);
}

.feed-comments {
  border-top: 1px solid var(--border);
  padding: .75rem 1rem 1rem;
}

.feed-comments-list {
  display: flex;
  flex-direction: column;
  gap: .65rem;
  margin-bottom: .75rem;
  max-height: 240px;
  overflow-y: auto;
}

.feed-comment {
  background: var(--surface-muted);
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  gap: .15rem;
  padding: .55rem .75rem;
}

.feed-comment strong { font-size: .85rem; }
.feed-comment span { line-height: 1.4; }
.feed-comment small { color: var(--muted); font-size: .75rem; }

.feed-comments-empty,
.feed-comments-loading {
  color: var(--muted);
  font-size: .9rem;
  padding: .25rem 0 .5rem;
}

.feed-comment-form {
  display: flex;
  gap: .5rem;
}

.feed-comment-form input {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 10px;
  flex: 1;
  padding: .55rem .75rem;
}

.feed-comment-form button {
  background: var(--primary);
  border: 0;
  border-radius: 10px;
  color: #fff;
  font-weight: 700;
  padding: .55rem 1rem;
}

.feed-status {
  color: #b78103;
  font-size: .85rem;
  font-weight: 700;
  margin-right: auto;
}

.feed-empty, .feed-loading {
  background: var(--surface);
  border-radius: 16px;
  box-shadow: var(--shadow);
  padding: 2.5rem 1.5rem;
  text-align: center;
}

.feed-empty-icon { font-size: 3rem; margin-bottom: .75rem; }

.feed-empty.is-error { border: 1px solid #f5c2c7; }

/* Aside */
.aside-card { margin-bottom: 1rem; padding: 1rem; }
.aside-card h3 { font-size: 1rem; font-weight: 900; margin-bottom: .75rem; }
.aside-tips { color: var(--muted); margin: 0; padding-right: 1.1rem; }

.mini-profile {
  align-items: center;
  display: flex;
  gap: .75rem;
}

.mini-profile-avatar {
  align-items: center;
  background: var(--gradient);
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  font-size: 1.2rem;
  height: 48px;
  justify-content: center;
  width: 48px;
}

.mini-profile span { color: var(--muted); display: block; font-size: .85rem; }

/* Mobile tab bar */
.mobile-tabbar {
  background: var(--glass);
  backdrop-filter: blur(16px) saturate(1.2);
  -webkit-backdrop-filter: blur(16px) saturate(1.2);
  border-top: 1px solid rgba(200, 205, 212, .55);
  bottom: 0;
  box-shadow: 0 -4px 24px rgba(26, 29, 33, .06);
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  left: 0;
  position: fixed;
  right: 0;
  z-index: 100;
}

.mobile-tabbar a {
  align-items: center;
  -webkit-tap-highlight-color: transparent;
  color: var(--muted);
  display: flex;
  flex-direction: column;
  font-size: .68rem;
  font-weight: 600;
  gap: .2rem;
  justify-content: center;
  min-height: 52px;
  padding: .45rem .2rem .5rem;
  position: relative;
  text-decoration: none !important;
  transition: color .2s ease, transform .12s ease;
}

.mobile-tabbar a:active { transform: scale(.94); }

.mobile-tabbar a > span:first-of-type {
  align-items: center;
  border-radius: 14px;
  display: inline-flex;
  font-size: 1.25rem;
  justify-content: center;
  line-height: 1;
  min-height: 32px;
  min-width: 40px;
  padding: .15rem .35rem;
  transition: background .2s ease, box-shadow .2s ease;
}

.mobile-tabbar a.active {
  color: var(--primary-dark);
}

.mobile-tabbar a.active > span:first-of-type {
  background: linear-gradient(135deg, rgba(105, 87, 255, .16), rgba(255, 95, 183, .12));
  box-shadow: 0 2px 8px rgba(105, 87, 255, .15);
}

.mobile-tabbar a.active small {
  font-weight: 800;
}

.nav-badge {
  align-items: center;
  background: #ef4444;
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: .68rem;
  font-weight: 800;
  height: 18px;
  justify-content: center;
  min-width: 18px;
  padding: 0 .3rem;
  position: absolute;
  right: -3px;
  top: -3px;
}

.nav-badge-mobile {
  right: 18%;
  top: 4px;
}

.mobile-tabbar a .nav-badge {
  font-size: .68rem;
}

/* Auth page */
.auth-page {
  align-items: center;
  display: flex;
  justify-content: center;
  min-height: calc(100vh - 80px);
  padding: 1rem;
}

.auth-card {
  max-width: 420px;
  padding: 2rem;
  width: 100%;
}

.auth-logo {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: .5rem;
  margin-bottom: 1rem;
}

.auth-logo h1 {
  background: var(--gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-size: 2rem;
  font-weight: 950;
  margin: 0;
}

.auth-subtitle { color: var(--muted); text-align: center; }
.auth-footer { color: var(--muted); margin-top: 1rem; text-align: center; }

/* Login page — impressive entry */
body.guest-page:has(.auth-page-login) {
  background:
    radial-gradient(circle at 15% 20%, rgba(105, 87, 255, .18), transparent 42%),
    radial-gradient(circle at 85% 75%, rgba(255, 95, 183, .14), transparent 40%),
    linear-gradient(165deg, #cfd4dc 0%, #e4e7ec 45%, #dce1e8 100%);
}

.auth-page-login {
  min-height: calc(100vh - 120px);
  padding: 1.5rem 1rem 3rem;
}

.auth-login-card {
  background: var(--surface-raised);
  border: 1px solid rgba(255, 255, 255, .65);
  border-radius: 28px;
  box-shadow:
    0 4px 6px rgba(26, 29, 33, .04),
    0 24px 48px rgba(74, 55, 216, .12),
    0 0 0 1px rgba(105, 87, 255, .06);
  margin: 0 auto;
  max-width: 440px;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.auth-login-hero {
  background:
    linear-gradient(135deg, rgba(105, 87, 255, .95) 0%, rgba(130, 90, 255, .88) 42%, rgba(255, 95, 183, .82) 100%);
  color: #fff;
  overflow: hidden;
  padding: 2.25rem 1.75rem 2rem;
  position: relative;
  text-align: center;
}

.auth-login-orbs {
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.auth-login-orbs span {
  background: rgba(255, 255, 255, .12);
  border-radius: 50%;
  filter: blur(1px);
  position: absolute;
}

.auth-login-orbs span:nth-child(1) {
  height: 120px;
  left: -30px;
  top: -40px;
  width: 120px;
}

.auth-login-orbs span:nth-child(2) {
  background: rgba(255, 255, 255, .08);
  bottom: -20px;
  height: 90px;
  right: 10%;
  width: 90px;
}

.auth-login-orbs span:nth-child(3) {
  background: rgba(255, 255, 255, .1);
  height: 56px;
  left: 18%;
  top: 55%;
  width: 56px;
}

.auth-login-brand {
  align-items: center;
  display: flex;
  gap: .5rem;
  justify-content: center;
  margin-bottom: 1.1rem;
  position: relative;
  z-index: 1;
}

.auth-login-icon {
  align-items: center;
  background: rgba(255, 255, 255, .22);
  backdrop-filter: blur(8px);
  border: 2px solid rgba(255, 255, 255, .35);
  border-radius: 18px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .12);
  display: inline-flex;
  font-family: "Fredoka", "Rubik", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  height: 52px;
  justify-content: center;
  letter-spacing: .05em;
  width: 52px;
}

.auth-login-spark {
  animation: auth-spark 2.4s ease-in-out infinite;
  font-size: 1.35rem;
}

@keyframes auth-spark {
  0%, 100% { opacity: .7; transform: scale(1) rotate(0deg); }
  50% { opacity: 1; transform: scale(1.15) rotate(12deg); }
}

.auth-login-title {
  line-height: 1.2;
  margin: 0 0 .65rem;
  position: relative;
  z-index: 1;
}

.auth-login-title-he {
  display: block;
  font-family: "Rubik", sans-serif;
  font-size: clamp(1.05rem, 3.5vw, 1.2rem);
  font-weight: 600;
  letter-spacing: .02em;
  margin-bottom: .45rem;
  opacity: .94;
  text-shadow: 0 1px 8px rgba(0, 0, 0, .12);
}

.auth-login-title-brand {
  background: linear-gradient(180deg, #fff 0%, #fff7b0 38%, #fff 72%, #ffe8f7 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  display: block;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, .22));
  font-family: "Fredoka", "Rubik", sans-serif;
  font-size: clamp(2.35rem, 9vw, 3.15rem);
  font-weight: 700;
  letter-spacing: .07em;
  line-height: 1;
  text-transform: uppercase;
}

.auth-login-tagline {
  font-size: .95rem;
  line-height: 1.55;
  margin: 0 auto;
  max-width: 28ch;
  opacity: .92;
  position: relative;
  z-index: 1;
}

.auth-login-body {
  padding: 1.75rem 1.75rem 1.5rem;
}

.auth-label {
  color: var(--ink);
  font-size: .88rem;
  font-weight: 700;
  margin-bottom: .35rem;
}

.auth-input {
  background: #fff;
  border: 1.5px solid var(--border);
  border-radius: 14px;
  padding: .7rem .9rem;
  transition: border-color .2s, box-shadow .2s;
}

.auth-input:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 4px rgba(105, 87, 255, .14);
}

.auth-submit {
  align-items: center;
  border-radius: 14px;
  display: flex;
  font-size: 1.05rem;
  font-weight: 800;
  gap: .5rem;
  justify-content: center;
  margin-top: .25rem;
  padding: .85rem 1rem;
}

.auth-submit-arrow {
  font-size: 1.2rem;
  opacity: .9;
  transition: transform .2s;
}

.auth-submit:hover .auth-submit-arrow {
  transform: translateX(-4px);
}

.auth-login-body .auth-footer {
  margin-bottom: 0;
  margin-top: 1.25rem;
}

.auth-login-body .auth-footer a {
  color: var(--primary-dark);
  font-weight: 700;
}

/* Landing / register extras */
.hero-card, .kid-card {
  background: var(--surface);
  border-radius: 16px;
  box-shadow: var(--shadow);
  padding: 1.5rem;
}

.hero-title {
  font-size: clamp(2.5rem, 8vw, 5rem);
  font-weight: 950;
  line-height: 1;
}

.gradient-text {
  background: var(--gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.pill {
  background: #d4ddf5;
  border-radius: 999px;
  color: var(--primary-dark);
  display: inline-block;
  font-weight: 700;
  padding: .35rem .75rem;
}

.status-box {
  border-radius: 12px;
  margin-top: .75rem;
  padding: .75rem 1rem;
}

.status-box:empty { display: none; }
.status-box.is-success { background: #d1e7dd; color: #0f5132; }
.status-box.is-error { background: #f8d7da; color: #842029; }

.register-card .form-control.is-invalid,
.register-card .form-select.is-invalid {
  border-color: #dc3545;
}

.register-card .avatar-gender-picker.is-invalid {
  outline: 2px solid #dc3545;
  border-radius: 18px;
  padding: .35rem;
}

.register-card .invalid-feedback {
  color: #842029;
  font-size: .875rem;
  margin-top: .35rem;
}

.avatar-preview {
  margin: 0 auto;
}

/* Avataaars Generator (on-prem via AvataaarsJs) */
.avataaars-preview {
  align-items: center;
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  overflow: hidden;
}

.avataaars-preview .avataaars-svg,
.avataaars-preview svg {
  display: block;
  height: 100%;
  width: 100%;
}

.avataaars-preview-sm { height: 44px; width: 44px; }
.avataaars-preview-md { height: 48px; width: 48px; }
.avataaars-preview-lg { height: 144px; width: 144px; }
.avataaars-preview-stage { height: 280px; margin: 0 auto; max-width: 280px; width: 100%; }

.avatar-builder-step .avataaars-preview-stage,
.avatar-live-stage .avataaars-preview-stage {
  margin: 1rem auto 0;
  min-height: 280px;
}

.topbar-avatar.avataaars-preview { border-radius: 999px; overflow: hidden; }

.composer-avatar.avataaars-preview { flex-shrink: 0; }

.character-stage {
  padding: 1.25rem;
  position: sticky;
  text-align: center;
  top: 90px;
}

.avatar-live-stage {
  background: var(--surface-muted);
  border: 2px solid var(--border);
  border-radius: 20px;
  margin-bottom: 1rem;
  padding: 1.5rem 1rem 1.25rem;
  text-align: center;
}

.avatar-gender-picker {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 1rem;
}

.avatar-gender-option {
  cursor: pointer;
  flex: 1 1 140px;
  margin: 0;
}

.avatar-gender-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.avatar-gender-card {
  align-items: center;
  background: var(--surface-raised);
  border: 2px solid var(--border);
  border-radius: 18px;
  display: flex;
  flex-direction: column;
  gap: .35rem;
  justify-content: center;
  min-height: 110px;
  padding: 1rem;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.avatar-gender-option input:checked + .avatar-gender-card {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(105, 87, 255, .18);
  transform: translateY(-1px);
}

.avatar-gender-icon {
  font-size: 2rem;
  line-height: 1;
}

.avatar-gender-label {
  font-weight: 700;
}

.avatar-customization-panel.is-locked {
  opacity: .55;
}

.avatar-customization-panel.is-locked select,
.avatar-customization-panel.is-locked input:not([type='radio']) {
  pointer-events: none;
}

.avatar-gender-placeholder {
  align-items: center;
  color: var(--text-secondary);
  display: flex;
  font-weight: 600;
  height: 100%;
  justify-content: center;
  min-height: 220px;
  padding: 1rem;
  text-align: center;
}

.avatar-builder-step .avataaars-preview-stage {
  height: 280px;
  max-width: 280px;
}

.register-card .character-stage {
  background: var(--surface-raised);
}

.topbar-avatar.avataaars-preview { border-width: 0; }

.composer-avatar.avataaars-preview { flex-shrink: 0; }

.avatar-studio { margin-bottom: 1.5rem; }

/* Settings page */
.app-main:has(.settings-page) {
  max-width: 960px;
  padding-bottom: 2.5rem;
}

.settings-page {
  display: grid;
  gap: 1rem;
}

.settings-hero {
  background: linear-gradient(135deg, rgba(105, 87, 255, .08), rgba(255, 105, 180, .06));
  padding: 1.25rem 1.5rem !important;
}

.settings-title {
  font-size: clamp(1.6rem, 4vw, 2rem);
  font-weight: 900;
  margin: .5rem 0 .35rem;
}

.settings-section {
  padding: 1.25rem 1.5rem !important;
}

.settings-section-head {
  border-bottom: 1px solid var(--border);
  margin-bottom: 1.25rem;
  padding-bottom: .85rem;
}

.settings-section-head h2 {
  font-size: 1.2rem;
  font-weight: 800;
  margin-bottom: .25rem;
}

.settings-avatar-layout {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: minmax(0, 280px) minmax(0, 1fr);
}

.settings-avatar-preview {
  background: var(--surface-raised);
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 1rem 1rem 1.25rem;
}

.settings-avatar-preview .avatar-gender-picker {
  margin-bottom: .75rem;
}

.settings-avatar-preview > .col-12 {
  padding: 0;
  width: 100%;
}

.settings-avatar-preview .avatar-gender-option {
  flex: 1 1 calc(50% - .5rem);
}

.settings-avatar-preview .avatar-gender-card {
  min-height: 88px;
  padding: .75rem;
}

.settings-avatar-stage {
  align-items: center;
  display: flex;
  justify-content: center;
  margin: 0 auto;
  max-width: 220px;
}

.settings-avatar-fields .form-label {
  font-size: .88rem;
  font-weight: 700;
  margin-bottom: .35rem;
}

.settings-avatar-fields .form-select,
.settings-avatar-fields .form-control {
  font-size: .92rem;
}

.settings-section-actions {
  align-items: center;
  border-top: 1px solid var(--border);
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1rem;
  margin-top: 1.25rem;
  padding-top: 1rem;
}

.settings-section-actions .status-box {
  flex: 1 1 100%;
  margin-top: 0;
}

.settings-profile-form .settings-interest-picker {
  max-height: 160px;
}

.settings-danger {
  border: 1px solid rgba(220, 53, 69, .25);
  padding: 1rem 1.25rem !important;
}

.settings-danger-content {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: space-between;
}

.settings-danger-title {
  color: #b42318;
  font-size: 1.05rem;
  font-weight: 800;
  margin-bottom: .2rem;
}

.settings-danger-form {
  flex: 0 0 auto;
}

@media (max-width: 991px) {
  .settings-avatar-layout {
    grid-template-columns: 1fr;
  }

  .settings-avatar-preview {
    max-width: 360px;
    margin-inline: auto;
    width: 100%;
  }
}

@media (max-width: 575px) {
  .settings-section {
    padding: 1rem !important;
  }

  .settings-danger-content {
    align-items: stretch;
    flex-direction: column;
  }

  .settings-danger-form .btn {
    width: 100%;
  }

  .settings-section-actions .btn {
    width: 100%;
  }
}

.avatar-studio-preview {
  align-items: center;
  display: flex;
  flex-direction: column;
  padding: 2rem 1.5rem !important;
  text-align: center;
}

.avatar-studio-header {
  margin-bottom: 1rem;
}

.wizard-step {
  background: var(--surface-muted);
  border-radius: 16px;
  margin-top: 1rem;
  padding: 1.25rem;
}

.step-badge {
  align-items: center;
  background: var(--gradient);
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  font-size: .85rem;
  font-weight: 900;
  height: 28px;
  justify-content: center;
  margin-left: .35rem;
  width: 28px;
}

pre[data-load] {
  background: #1c1e21;
  border-radius: 12px;
  color: #e4e6eb;
  direction: ltr;
  font-size: .8rem;
  max-height: 400px;
  overflow: auto;
  padding: 1rem;
  text-align: left;
}

@media (max-width: 1199px) {
  .social-app { grid-template-columns: 220px minmax(0, 1fr); }
  .social-aside { display: none !important; }
}

@media (max-width: 991px) {
  .social-app { grid-template-columns: 1fr; }
  .social-sidebar { display: none !important; }
  .brand-text { display: none; }

  .social-topbar-inner {
    gap: .5rem;
    padding: .55rem .85rem;
  }

  .topbar-profile {
    margin-inline-start: auto;
    max-width: min(42vw, 160px);
    padding: .2rem .55rem .2rem .2rem;
  }

  .topbar-username-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .topbar-icon-mobile-extra {
    background: linear-gradient(135deg, rgba(105, 87, 255, .12), rgba(255, 95, 183, .1));
    box-shadow: 0 2px 8px rgba(105, 87, 255, .12);
  }

  .app-main {
    padding: .85rem .85rem 1.75rem;
  }

  body.app-page {
    padding-bottom: calc(var(--tabbar-height) + env(safe-area-inset-bottom, 0));
  }
}

/* KidMedia.Android/iOS shell (WebView) — match mobile browser, not desktop-in-WebView */
html.kidmedia-app {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

html.kidmedia-app body.guest-page {
  background:
    radial-gradient(circle at 15% 20%, rgba(105, 87, 255, .18), transparent 42%),
    radial-gradient(circle at 85% 75%, rgba(255, 95, 183, .14), transparent 40%),
    linear-gradient(165deg, #cfd4dc 0%, #e4e7ec 45%, #dce1e8 100%);
  min-height: 100dvh;
  padding-bottom: env(safe-area-inset-bottom, 0);
  padding-top: env(safe-area-inset-top, 0);
}

html.kidmedia-app .auth-page-login {
  box-sizing: border-box;
  min-height: calc(100dvh - env(safe-area-inset-top, 0) - env(safe-area-inset-bottom, 0) - 8rem);
  padding: 1rem 1rem 2rem;
}

html.kidmedia-app .auth-login-card {
  max-width: min(440px, 100%);
}

html.kidmedia-app .guest-main {
  padding-left: max(1rem, env(safe-area-inset-left, 0));
  padding-right: max(1rem, env(safe-area-inset-right, 0));
}

html.kidmedia-app body.app-page {
  background:
    radial-gradient(ellipse 130% 70% at 50% -15%, rgba(105, 87, 255, .14), transparent 55%),
    radial-gradient(circle at 100% 30%, rgba(255, 95, 183, .09), transparent 45%),
    linear-gradient(180deg, #dce0e8 0%, var(--bg) 35%, #d4d9e2 100%);
  min-height: 100dvh;
  padding-top: env(safe-area-inset-top, 0);
}

html.kidmedia-app .social-topbar {
  background: var(--glass);
  backdrop-filter: blur(14px) saturate(1.15);
  -webkit-backdrop-filter: blur(14px) saturate(1.15);
  border-bottom-color: rgba(200, 205, 212, .5);
  padding-top: env(safe-area-inset-top, 0);
}

html.kidmedia-app .mobile-tabbar {
  display: grid !important;
  padding-bottom: max(.35rem, env(safe-area-inset-bottom, 0));
}

html.kidmedia-app body.app-page {
  padding-bottom: calc(var(--tabbar-height) + env(safe-area-inset-bottom, 0) + 4px);
}

html.kidmedia-app .social-app {
  grid-template-columns: 1fr !important;
}

html.kidmedia-app .social-sidebar,
html.kidmedia-app .social-aside {
  display: none !important;
}

html.kidmedia-app .social-topbar .brand-text {
  display: none;
}

html.kidmedia-app .brand-icon {
  box-shadow: 0 4px 14px rgba(105, 87, 255, .35);
}

html.kidmedia-app .feed-post,
html.kidmedia-app .composer-card,
html.kidmedia-app .composer-expanded,
html.kidmedia-app .feed-empty,
html.kidmedia-app .feed-loading {
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 20px;
  box-shadow: var(--shadow-sm), var(--shadow-glow);
}

html.kidmedia-app .feed-action {
  min-height: 44px;
  padding: .5rem .85rem;
  transition: background .15s ease, transform .12s ease;
}

html.kidmedia-app .feed-action:active {
  background: rgba(105, 87, 255, .1);
  transform: scale(.98);
}

html.kidmedia-app .btn-primary {
  box-shadow: 0 4px 16px rgba(105, 87, 255, .28);
}

html.kidmedia-app .feed-group-switcher-wrap {
  border: 1px solid rgba(255, 255, 255, .45);
  box-shadow: var(--shadow-sm);
}

@media (prefers-reduced-motion: reduce) {
  html.kidmedia-app .feed-action:active,
  .mobile-tabbar a:active {
    transform: none;
  }

  .mobile-tabbar a,
  .mobile-tabbar a > span:first-of-type {
    transition: none;
  }
}
