body[data-color-mode="dark"],
body[data-color-mode="dark"] #app,
body[data-color-mode="dark"] .pryzm-content {
  background-color: #0d1117;
  color: #e6edf3;
}

body[data-color-mode="dark"] .navbar-top,
body[data-color-mode="dark"] .navbar-bottom,
body[data-color-mode="dark"] .list-group-item,
body[data-color-mode="dark"] .settings-section,
body[data-color-mode="dark"] .message-menu,
body[data-color-mode="dark"] .form-actions.is-fixed,
body[data-color-mode="dark"] .uni-modal-content {
  background-color: #161b22 !important;
  color: #e6edf3;
  border-color: #30363d;
}

body[data-color-mode="dark"] .text-dark {
  color: #e6edf3 !important;
}

body[data-color-mode="dark"] .text-muted {
  color: #8b949e !important;
}

body[data-color-mode="dark"] .form-control,
body[data-color-mode="dark"] .form-select {
  background-color: #0d1117;
  border-color: #30363d;
  color: #e6edf3;
}

body[data-color-mode="dark"] .btn-dark {
  background-color: #f0f6fc;
  border-color: #f0f6fc;
  color: #0d1117;
}

body[data-color-mode="dark"] a,
body[data-color-mode="dark"] .btn-link {
  color: #58a6ff;
}

.appearance-icon-preview {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  border-radius: 8px;
  object-fit: cover;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12);
}

body[data-footer-style="floating"] {
  padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
}

body[data-footer-style="floating"] .navbar-bottom {
  right: 0.75rem;
  bottom: calc(0.625rem + env(safe-area-inset-bottom, 0px));
  left: 0.75rem;
  width: auto;
  height: auto !important;
  max-width: 390px;
  min-height: 50px;
  margin: 0 auto;
  border: 0 !important;
  border-radius: 18px;
  background-color: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 14px 40px rgba(15, 23, 42, 0.18), 0 0 0 1px rgba(15, 23, 42, 0.08);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  padding:0!important;
}

body[data-footer-style="floating"] .navbar-bottom .container {
  min-height: 50px;
  padding-right: 0.375rem;
  padding-left: 0.375rem;
}

body[data-footer-style="floating"] .navbar-bottom .nav-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border-radius: 12px;
}

.navbar-bottom .nav-notification-dot {
  position: absolute;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 999px;
  background-color: #dc3545;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  outline: 2px solid #fff;
}

.navbar-bottom .nav-notification-dot-message {
  right: 1px;
  top: 0;
}

.navbar-bottom .nav-notification-dot-profile {
  right: -2px;
  top: -1px;
  min-width: 9px;
  width: 9px;
  height: 9px;
  padding: 0;
  color: transparent;
  font-size: 0;
  line-height: 0;
  outline: 2px solid #fff;
}

body[data-footer-style="floating"] .navbar-bottom .nav-notification-dot-message {
  right: -2px;
  top: -2px;
}

body[data-footer-style="floating"] .navbar-bottom .nav-notification-dot-profile {
  right: -3px;
  top: -3px;
}

body[data-color-mode="dark"][data-footer-style="floating"] .navbar-bottom {
  background-color: rgba(22, 27, 34, 0.9) !important;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(240, 246, 252, 0.08);
}

 body[data-color-mode="dark"] .navbar-bottom .nav-notification-dot {
   outline-color: #161b22;
 }

 .fa-instagram-menu {
   position: relative;
   display: inline-block;
   width: 1em;
   height: 1em;
   vertical-align: -0.125em;
 }

 .fa-instagram-menu::before,
 .fa-instagram-menu::after {
   position: absolute;
   left: 0.08em;
   content: "";
   height: 0.1em;
   border-radius: 999px;
   background: currentColor;
 }

 .fa-instagram-menu::before {
   top: 0.28em;
   width: 0.84em;
 }

 .fa-instagram-menu::after {
   top: 0.58em;
   width: 0.56em;
 }

@media (prefers-color-scheme: dark) {
  body[data-color-mode="auto"][data-footer-style="floating"] .navbar-bottom {
    background-color: rgba(22, 27, 34, 0.9) !important;
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(240, 246, 252, 0.08);
  }
}

@media (prefers-color-scheme: dark) {
  body[data-color-mode="auto"],
  body[data-color-mode="auto"] #app,
  body[data-color-mode="auto"] .pryzm-content {
    background-color: #0d1117;
    color: #e6edf3;
  }

  body[data-color-mode="auto"] .navbar-top,
  body[data-color-mode="auto"] .navbar-bottom,
  body[data-color-mode="auto"] .list-group-item,
  body[data-color-mode="auto"] .settings-section,
  body[data-color-mode="auto"] .message-menu,
  body[data-color-mode="auto"] .form-actions.is-fixed,
  body[data-color-mode="auto"] .uni-modal-content {
    background-color: #161b22 !important;
    color: #e6edf3;
    border-color: #30363d;
  }

  body[data-color-mode="auto"] .text-dark {
    color: #e6edf3 !important;
  }

  body[data-color-mode="auto"] .text-muted {
    color: #8b949e !important;
  }

  body[data-color-mode="auto"] .form-control,
  body[data-color-mode="auto"] .form-select {
    background-color: #0d1117;
    border-color: #30363d;
    color: #e6edf3;
  }

  body[data-color-mode="auto"] .btn-dark {
    background-color: #f0f6fc;
    border-color: #f0f6fc;
    color: #0d1117;
  }

  body[data-color-mode="auto"] a,
  body[data-color-mode="auto"] .btn-link {
    color: #58a6ff;
  }
}

 @media (min-width: 768px) {
   html {
     background: #f5f5f7;
   }

   .uni-modal {
     display: none;

     width: 100%;
     height: 100%;
     z-index: 1050;
     animation: .2s cubic-bezier(.33, 1, .68, 1) overlay-appear;
     position: fixed;
     inset: 0;
     max-width: 450px;
     margin: 0 auto;

   }


   #app {
     overflow-y: scroll;
     scrollbar-width: none;
     max-width: 450px;
     margin: 50px auto;
     border-radius: 1rem;
     max-height: calc(100vh - 200px);
     display: block;
     border: none;
     box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05), 0 20px 60px rgba(0, 0, 0, 0.15);
   }

   .navbar-bottom {
     border-radius: 1rem;
     background-color: #fff !important;
     border: none;
     box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05), 0 20px 60px rgba(0, 0, 0, 0.15);
     max-width: 450px;
     margin: 0 auto 1rem;

   }

   .navbar-top {
     border-radius: 1rem;
     background-color: #fff !important;
     border: none;
     box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05), 0 20px 60px rgba(0, 0, 0, 0.15);
     margin: 1rem auto 1rem;
     height: 48px;
     position: fixed !important;
     max-width: 450px;
     right: 0;
     bottom: 0;
     left: 0;

   }

   .pryzm-content {
     width: 100%;
     max-width: 450px;
     padding: 1rem 1rem 1rem 1rem;
     min-width: 450px;
   }

   body {
     background-color: #fff;
     font-size: .875rem;
     padding-top: 30px;
     padding-bottom: 50px;
   }

 }

 .htmx-indicator {
   display: none;
 }

 .htmx-request .htmx-indicator {
   display: flex;
 }

 .chat-message {
   max-width: 75%;
   word-wrap: break-word;
   overflow-wrap: break-word;
 }

 .msg-status {
   font-size: 11px;
   opacity: .7;
   margin-left: 6px;
 }

 .message-menu-toggle {
   border: 0;
   background: transparent;
   color: inherit;
   opacity: .65;
   padding: 2px 6px;
 }

 .message-menu {
   display: none;
   position: fixed;
   z-index: 1060;
   min-width: 150px;
   padding: 6px;
   border: 1px solid rgba(0, 0, 0, .1);
   border-radius: 10px;
   background: #fff;
   box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
   text-align: left;
 }

 .message-menu.show {
   display: block;
 }

 .message-menu button {
   display: block;
   width: 100%;
   padding: 8px 10px;
   border: 0;
   border-radius: 7px;
   background: transparent;
   color: #212529;
   text-align: left;
   font-size: 13px;
 }

 .message-menu button:hover {
   background: #f5f5f5;
 }

 .message-quote {
   margin-bottom: .5rem !important;
   padding: 6px 8px;
   border-left: 3px solid currentColor;
   border-radius: 6px;
   background: #a6f9b7;
   text-align: left;
   margin-top: .5rem !important;
 }

 .message-quote[role="link"] {
   cursor: pointer;
 }

 .chat-bubble.other .message-quote {
   background: rgba(0, 0, 0, .06);
 }

 .message-quote-author {
   font-size: 11px;
   font-weight: 600;
   opacity: .9;
 }

 .message-quote-media {
   position: relative;
   width: 92px;
   aspect-ratio: 9 / 16;
   margin-bottom: 6px;
   border-radius: 8px;
   overflow: visible;
   background: #111;
 }

 .message-quote-media img,
 .message-quote-media video {
   display: block;
   width: 100%;
   height: 100%;
   object-fit: cover;
 }

 .message-quote-video-icon {
   position: absolute;
   inset: 0;
   display: flex;
   align-items: center;
   justify-content: center;
   color: #fff;
   background: rgba(0, 0, 0, .18);
   text-shadow: 0 1px 5px rgba(0, 0, 0, .65);
 }

 .message-quote-text {
   max-width: 280px;
   overflow: hidden;
   color: inherit;
   font-size: 12px;
   opacity: .8;
   text-overflow: ellipsis;
   white-space: nowrap;
 }

 .message-text {
   white-space: pre-wrap;
 }

 .quote-composer-preview {
   display: flex;
   align-items: center;
   gap: 10px;
   margin-bottom: 8px;
   padding: 7px 10px;
   border-left: 3px solid #3797f0;
   border-radius: 7px;
   background: #f5f7f9;
 }

 .quote-preview-author {
   color: #3797f0;
   font-size: 12px;
   font-weight: 600;
 }

 .quote-preview-text {
   max-width: calc(100vw - 90px);
   color: #6c757d;
   font-size: 12px;
 }

 .quote-preview-close {
   border: 0;
   background: transparent;
   color: #6c757d;
 }

 #app_content.htmx-request .htmx-indicator {
   display: flex;
   position: absolute;
   inset: 0;
   align-items: center;
   justify-content: center;
   background: rgba(255, 255, 255, 0.6);
   z-index: 50;
 }

 #app_content {
   position: relative;
   transition:
     opacity 0.16s ease,
     filter 0.16s ease;
 }

 #app_content.htmx-request {
   filter: none;
 }

 #app_content.htmx-swapping {
   opacity: 0;
 }

 #app_content.htmx-settling {
   opacity: 1;
 }

 #app {
   position: relative;
 }

 /* Loader overlay */
 #app_loader {
   position: fixed;
   inset: 0;

   display: none;

   align-items: center;
   justify-content: center;

   z-index: 9999;

   background: rgba(255, 255, 255, 0.15);
   backdrop-filter: blur(2px);
 }

 .like-icon {
   transition:
     transform 0.18s ease,
     opacity 0.18s ease;
   transform-origin: center;
 }

 .pryzm-icon {
   display: inline-block;
   width: 1em;
   height: 1em;
   overflow: visible;
   vertical-align: -0.125em;
   fill: currentColor;
 }

 .pryzm-icon.fa-fw {
   width: 1.25em;
 }

 .pryzm-icon path {
   fill: currentColor;
 }

 .like-icon.animate-like {
   animation: likePop 0.35s ease;
 }

 .like-icon.animate-unlike {
   animation: unlikePop 0.25s ease;
 }

 .post-double-like-heart {
   position: absolute;
   inset: 0;
   z-index: 8;
   display: flex;
   align-items: center;
   justify-content: center;
   color: #fff;
   font-size: clamp(74px, 24vw, 124px);
   opacity: 0;
   pointer-events: none;
   text-shadow: 0 4px 18px rgba(0, 0, 0, .35);
   transform: scale(.72);
 }

 .post-double-like-heart.is-visible {
   animation: postDoubleLikeHeart .78s cubic-bezier(.2, .8, .2, 1);
 }

 @keyframes postDoubleLikeHeart {
   0% {
     opacity: 0;
     transform: scale(.58);
   }

   16% {
     opacity: 1;
     transform: scale(1.1);
   }

   34% {
     opacity: 1;
     transform: scale(1);
   }

   100% {
     opacity: 0;
     transform: scale(1.18);
   }
 }

 @keyframes likePop {
   0% {
     transform: scale(0.7);
   }

   50% {
     transform: scale(1.35);
   }

   100% {
     transform: scale(1);
   }
 }

 @keyframes unlikePop {
   0% {
     transform: scale(1.1);
     opacity: 1;
   }

   50% {
     transform: scale(0.8);
     opacity: 0.7;
   }

   100% {
     transform: scale(1);
     opacity: 1;
   }
 }

 /* HTMX active */
 #app.htmx-request #app_loader,
 #app_loader.htmx-request {
   display: none !important;
 }

 /* Blur only content */
 #app.htmx-request #app_content {
   filter: none;

   transition: filter 0.15s ease;
 }

 .qr-card {
   background: linear-gradient(270deg,
       #fdf497,
       #fd5949,
       #d6249f,
       #285AEB);
   background-size: 800% 800%;
   animation: qrGradientMove 8s ease infinite;

   padding: 20px;
 }

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

   50% {
     background-position: 100% 50%;
   }

   100% {
     background-position: 0% 50%;
   }
 }

 #qrCanvas {
   text-align: center;
 }

 #qrCanvas canvas {
   backdrop-filter: blur(8px);
   -webkit-backdrop-filter: blur(8px);


   border-radius: 12px;
 }

 .qr-card canvas {
   background: white;
   padding: 10px;
   border-radius: 15px;
 }

 .qr-username {
   font-weight: 700;
   font-size: 20px;
   text-align: center;
   color: #fff;
   text-transform: uppercase;
 }

 .qr-actions {
   display: flex;
   flex-direction: row;
   gap: 10px;
 }

 .Spinner-Box {
   display: inline-flex;
   height: 32px;
   width: 32px;
 }

 .Spinner-Box-small {
   height: 16px;
   width: 16px;
 }

 .Spinner-Box-large {
   height: 64px;
   width: 64px;
 }

 .VisuallyHidden-VisuallyHidden:not(:focus):not(:active):not(:focus-within) {
   clip-path: inset(50%);
   height: 1px;
   overflow: hidden;
   position: absolute;
   white-space: nowrap;
   width: 1px;
 }

 .Spinner-SpinnerAnimation {
   animation: Spinner-rotate-keyframes 1s cubic-bezier(0, 0, 1, 1) infinite;
 }

 .pryzm-button.is-loading,
 .btn.is-loading {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
 }

 .pryzm-button-spinner {
   width: 16px;
   height: 16px;
   flex: 0 0 16px;
   border: 2px solid currentColor;
   border-right-color: transparent;
   border-radius: 50%;
   animation: Spinner-rotate-keyframes 0.75s linear infinite;
 }

 @keyframes Spinner-rotate-keyframes {
   100% {
     transform: rotate(1turn);
   }
 }

 body {
   background-color: #fff;
   font-size: .875rem;
   padding-top: 50px;
   padding-bottom: 50px;
 }

 a {
   cursor: pointer !important;
 }

 .pryzm-content,
 .container-fluid,
 .container-lg,
 .container-md,
 .container-sm,
 .container-xl,
 .container-xxl {
   --bs-gutter-x: 2rem;
   --bs-gutter-y: 0;
 }


 .SegmentedControl-SegmentedControl {
   background-color: #e6eaef;
   border: .0625rem solid #d1d9e0;
   border-radius: .375rem;
   display: inline-flex;
   font-size: .875rem;
   height: 32px;
   margin: 0;
   padding: 0;
 }

 .SegmentedControl-Item {
   display: block;
   flex-grow: 1;
   margin-bottom: -1px;
   margin-top: -1px;
   position: relative;
 }

 .SegmentedControl-Item:first-child {
   margin-left: -1px;
 }

 .SegmentedControl-Item:not(:last-child) {
   margin-right: 1px;
 }

 .SegmentedControl-Button {
   background-color: transparent;
   border-color: transparent;
   border-radius: 0.375rem;
   border-width: 0;
   color: currentColor;
   cursor: pointer;
   font-family: inherit;
   font-size: inherit;
   font-weight: 400;
   height: 100%;
   padding: 4px;
   width: 100%;
 }

 .SegmentedControl-IconButton {
   width: 32px;
 }

 .SegmentedControl-Content {
   align-items: center;
   border-color: transparent;
   border-radius: calc(0.375rem - 4px / 2);
   border-style: solid;
   border-width: .0625rem;
   display: flex;
   height: 100%;
   justify-content: center;
   padding-left: calc(12px - 4px);
   padding-right: calc(12px - 4px);
 }

 .SegmentedControl-Text:after {
   content: attr(data-text);
   display: block;
   font-weight: 600;
   height: 0;
   overflow: hidden;
   pointer-events: none;
   -webkit-user-select: none;
   -moz-user-select: none;
   user-select: none;
   visibility: hidden;
 }

 /* .SegmentedControl-Item:not(:last-child):after {
    background-color: #d1d9e0;
    bottom: .5rem;
    content: "";
    position: absolute;
    right: calc(.125rem * -1);
    top: .5rem;
    width: 1px;
} */
 .SegmentedControl-Button.active {
   font-weight: 600;
   padding: 0;
 }

 .SegmentedControl-Button.active .SegmentedControl-Content {
   background-color: #ffffff;
   border-color: #d1d9e0;
   border-radius: 0.375rem;
   padding-left: 12px;
   padding-right: 12px;
 }





 .usage-average {
   font-size: 42px;
   font-weight: 700;
   line-height: 1;
   margin-bottom: 8px;
 }

 .usage-average-label {
   font-size: 15px;
   font-weight: 600;
   margin-bottom: 12px;
 }

 .usage-description {
   font-size: 14px;
   color: #8e8e93;
   line-height: 1.4;
   max-width: 320px;
   margin: 0 auto;
 }

 .chart-wrapper {
   margin-top: 24px;
 }

 .chart-tooltip {
   position: absolute;
   padding: 6px 10px;
   background: #000;
   color: #fff;
   font-size: 12px;
   border-radius: 8px;
   pointer-events: none;
   opacity: 0;
   transition: opacity .1s;
   transform: translateX(-50%);
   z-index: 10;
 }




 .navbar-bottom .nav-link.active i {
   filter: brightness(0) saturate(100%) invert(20%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(0.5);
 }

 .profile-tabs {
   display: flex;
   justify-content: space-around;
   background: #fff;
   border: none;
 }

 .profile-tabs .nav-item {
   flex: 1;
   text-align: center;
 }

 .profile-tabs .nav-link {
   display: flex;
   justify-content: center;
   align-items: center;
   width: 100%;
   border: none;
   border-radius: 0;
   color: #8e8e8e;
   padding: 10px 0;
   font-size: 18px;
   position: relative;
   transition: color 0.2s;
 }

 .profile-tabs .nav-link i {
   display: block;
   font-size: 1.3rem;
 }

 .profile-tabs .nav-link.active {
   color: #000;
 }

 .profile-tabs .nav-link.active::after {
   content: '';
   position: absolute;
   bottom: 0;
   left: 0;
   width: 100%;
   height: 2px;
   background: #000;
   border-radius: 1px;
 }

 .profile-tabs .nav-link::after {
   transition: width 0.3s ease;
 }



 .navbar .nav-link img {
   object-fit: cover;
   border: 2px solid #ddd;
 }

 @media (min-width: 770px) {
   body {
     display: flex;
     justify-content: center;
   }





   .pryzm-content {
     width: 100%;
     max-width: 470px;
     padding: 1rem 1rem 3rem 1rem;
   }
 }

 /* ======== УЗКИЙ ДЕСКТОП (до 1265px) ======== */
 @media (max-width: 1250px) and (min-width: 770px) {

   .content-wrapper {
     margin-left: 80px;
     min-width: 470px;
   }
 }

 /* ======== МОБИЛЬНЫЙ (до 770px) ======== */
 @media (max-width: 769px) {
   .sidebar {
     display: none;
   }

   .navbar-top .navbar-brand {
     font-weight: 400;
     font-size: 2rem;
   }

   .navbar-top .icon-btn {
     color: #333;
     font-size: 1.4rem;

   }

   .hidden {
     display: none;
   }

   .spinner {
     width: 20px;
     height: 20px;
     border: 2px solid #ccc;
     border-top-color: #0969da;
     border-radius: 50%;
     animation: spin 0.6s linear infinite;
   }

   @keyframes spin {
     to {
       transform: rotate(360deg);
     }
   }

   .progress {
     width: 200px;
   }

   .bar {
     height: 4px;
     background: #0969da;
     width: 0%;
     transition: width 0.3s ease;
   }

   .pryzm-content {
     width: 100%;
     padding: 1rem 1rem 3rem 1rem;
   }
 }

 .search-clear-btn {
   position: absolute;
   right: 5px;
   top: 15px;
   transform: translateY(-50%);
   border: none;
   background: transparent;
   font-size: 1.5rem;
   color: #888;
   cursor: pointer;
   display: none;
 }

 .search-clear-btn:hover {
   color: #000;
 }

 .navbar-brand {
   font-family: "Cookie", cursive;
   font-weight: 900;
   font-size: 2rem;
   letter-spacing: 1px;
   margin-right: 0;

 }

 .logo-mini {
   display: inline-block;
   width: 28px;
   height: 28px;
   border-radius: 8px;
   background: linear-gradient(135deg, #ff0080, #7928ca);
   color: #fff;
   font-size: 1.1rem;
   line-height: 28px;
   text-align: center;
   font-weight: 700;
   box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
 }



 .create-menu {
   position: absolute;
   top: 55px;
   right: 0;
   background: #fff;
   border: 1px solid rgba(0, 0, 0, 0.1);
   display: none;
   flex-direction: column;
   min-width: 200px;
   z-index: 2000;
 }

 .create-item {
   padding: 10px 15px;
   color: #333;
   text-decoration: none;
   display: flex;
   align-items: center;
   transition: background 0.2s;
 }

 .create-item:hover {
   background: #f5f5f5;
 }

 .icon-btn {
   color: #000;
   text-decoration: none;
 }

 .fixed-bottom {
   z-index: 500;
 }

 .icon-btn:hover {
   color: #000;
 }

 .explore-toolbar-icon-btn {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 32px;
   height: 32px;
   padding: 0;
   color: #000;
   background: transparent;
   border: 0;
   border-radius: 999px;
 }

 .explore-toolbar-icon-btn:hover,
 .explore-toolbar-icon-btn:focus-visible {
   color: #000;
   background: #f6f8fa;
 }

 .explore-toolbar-icon-btn.is-active {
   color: #fff;
   background: #1f2328;
 }

 .explore-toolbar-icon-btn.is-active:hover,
 .explore-toolbar-icon-btn.is-active:focus-visible {
   color: #fff;
   background: #1f2328;
 }

 .explore-location-sheet {
   max-height: min(85vh, 720px);
 }

 .explore-location-picker {
   padding: 12px;
 }

 .explore-location-map {
   height: min(45vh, 380px);
   min-height: 260px;
   border: 1px solid #d1d9e0;
   border-radius: 8px;
   overflow: hidden;
 }

 .location-picker-suggestions {
   display: grid;
   gap: 4px;
   max-height: 160px;
   overflow-y: auto;
 }

 .location-picker-suggestion {
   width: 100%;
   padding: 8px 10px;
   color: #25292e;
   text-align: left;
   background: #f6f8fa;
   border: 1px solid #d1d9e0;
   border-radius: 6px;
   font-size: 13px;
 }

 .location-picker-suggestion:hover,
 .location-picker-suggestion:focus-visible {
   background: #eaeef2;
 }

 .explore-location-picker .leaflet-control-zoom a {
   display: flex;
   align-items: center;
   justify-content: center;
   padding: 0;
   color: #000;
   text-decoration: none;
 }

 .settings-section .text-muted.me-2,
 #audience-label {
   white-space: nowrap;
 }

 .community-topic-filter {
   display: inline-flex;
   align-items: center;
   min-height: 30px;
   padding: 5px 10px;
   border: 1px solid #d8dee4;
   border-radius: 999px;
   color: #57606a;
   background: #f6f8fa;
   font-size: 13px;
   font-weight: 600;
   line-height: 1;
   text-decoration: none;
 }

 .community-topic-filter.is-active {
   border-color: #25292e;
   color: #fff;
   background: #25292e;
 }

 .sticky-nav {
   position: fixed;
   top: 0;
   z-index: 500;
   background-color: #fff;
   transition: box-shadow 0.2s ease-in-out;
 }

 .sticky-nav.scrolled {
   box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
 }

 .stories-bar {
   display: flex;
   align-items: center;
   overflow-x: auto;
   gap: 14px;
   padding: 0 10px;
   scrollbar-width: none;
 }

 .stories-bar::-webkit-scrollbar {
   display: none;
 }

 .story-item {
   flex: 0 0 auto;
   width: 90px;
   position: relative;
   cursor: pointer;

   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: flex-start;
   text-align: center;
 }

 .story-ring {
   width: 80px;
   height: 80px;
   border-radius: 50%;
   padding: 3px;
   background: linear-gradient(45deg, #feda75, #fa7e1e, #d62976, #962fbf, #4f5bd5);
   display: flex;
   align-items: center;
   justify-content: center;
 }

 .story-ring img {
   width: 74px;
   height: 74px;
   border-radius: 50%;
   border: 2px solid #fff;
   object-fit: cover;
 }

 .story-name {
   margin-top: 6px;
   font-size: 12px;
   color: #333;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
 }

 .story-item.me .story-ring {
   background: none;
 }

 .story-item.me .add-icon {
   position: absolute;
   right: 10px;
   bottom: 28px;
   width: 20px;
   height: 20px;
   border-radius: 50%;
   background: #000;
   color: #fff;
   font-size: 17px;
   display: flex;
   align-items: center;
   justify-content: center;
   border: 1px solid #fff;
 }

 .modal-close,
 .modal-prev,
 .modal-next {
   position: fixed;
   background: rgba(0, 0, 0, 0.3);
   color: white;
   border: none;
   font-size: 32px;
   width: 50px;
   height: 50px;
   border-radius: 50%;
   cursor: pointer;
   display: flex;
   align-items: center;
   justify-content: center;
   z-index: 1100;
 }

 .modal-close {
   top: 20px;
   right: 20px;
 }

 .modal-prev {
   top: 50%;
   left: 20px;
   transform: translateY(-50%);
 }

 .htmx-added {
   opacity: 0;
   transform: translateY(10px);
   transition: all 0.2s ease;
 }

 #home-container {
   will-change: transform;
 }

 .skeleton-post {
   height: 300px;
   background: linear-gradient(90deg,
       #eee 25%,
       #ddd 37%,
       #eee 63%);
   background-size: 400% 100%;
   animation: shimmer 1.4s infinite;
 }

 body.loading {
   pointer-events: none;
 }


 #content {
   transition: opacity 0.15s ease;
 }

 #top-loader {
   position: fixed;
   top: var(--top-loader-top, 0);
   left: var(--top-loader-left, 0);
   height: 3px;
   width: var(--top-loader-width, 100vw);
   z-index: 10000;
   opacity: 0;
   pointer-events: none;
   transform: scaleX(0);
   transform-origin: left center;

   background: linear-gradient(90deg,
       #f09433,
       #e6683c,
       #dc2743,
       #cc2366,
       #bc1888,
       #f09433);

   background-size: 200% 100%;

   transition:
     opacity 0.12s ease,
     transform 0.2s ease;
 }

 #top-loader.active {
   opacity: 1;
   transform: scaleX(.7);
   animation: gradientMove 1s linear infinite;
 }

 #top-loader.done {
   opacity: 1;
   transform: scaleX(1);
   animation: none;
   transition:
     opacity 0.12s ease,
     transform 0.15s ease;
 }

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

   100% {
     background-position: 100% 50%;
   }
 }

 .htmx-settling .htmx-added {
   opacity: 1;
   transform: translateY(0);
 }

 @media (prefers-reduced-motion: reduce) {
   #app_content,
   .htmx-added,
   #top-loader,
   .like-icon {
     animation: none !important;
     transition: none !important;
   }
 }

 .modal-next {
   top: 50%;
   right: 20px;
   transform: translateY(-50%);
 }

 /* ===== Общие стили ===== */
 .modal.hidden {
   display: none;
 }

 .modal {
   position: fixed;
   inset: 0;
   background: rgba(0, 0, 0, 0.85);
   display: flex;
   justify-content: center;
   align-items: center;
   z-index: 1000;
   overflow: hidden;
 }

 .modal-overlay {
   position: absolute;
   inset: 0;
   background: rgba(0, 0, 0, 0.7);
 }

 .modal-wrapper {
   display: flex;
   width: 80%;
   max-width: 1000px;
   max-height: 90%;
   background: #fff;
   position: relative;
   border-radius: 8px;
   overflow: hidden;
   transition: all 0.3s ease;
 }



 .modal-header {
   display: flex;
   align-items: center;
   padding: 12px;
   border-bottom: 1px solid #ddd;
 }

 .modal-header .avatar {
   width: 36px;
   height: 36px;
   border-radius: 50%;
   margin-right: 10px;
   object-fit: cover;
 }

 .modal-header span {
   font-weight: bold;
 }

 .modal-comments {
   flex: 1;
   padding: 0 12px;
   overflow-y: auto;
   position: relative;
 }

 .modal-comments::before,
 .modal-comments::after {
   content: "";
   position: absolute;
   left: 0;
   right: 0;
   height: 15px;
   pointer-events: none;
 }

 .modal-comments::before {
   top: 0;
   background: linear-gradient(to bottom, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
 }

 .modal-comments::after {
   bottom: 0;
   background: linear-gradient(to top, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
 }

 /*  .comment {
    margin-bottom: 8px;
  } */

 .comment .username {
   font-weight: 600;
   margin-right: 4px;
 }

 /* Действия */
 .modal-actions {
   display: flex;
   gap: 10px;
   padding: 8px 12px;
 }

 .modal-actions button {
   background: none;
   border: none;
   cursor: pointer;
   font-size: 20px;
 }

 .modal-likes,
 .modal-date {
   padding: 0 12px;
   font-size: 14px;
   color: #555;
 }

 .video-wrapper {
   width: 100%;
   aspect-ratio: 4 / 5;
   background-color: #000;
   display: flex;
   justify-content: center;
   align-items: center;
   overflow: hidden;
 }

 .video-wrapper video {
   max-width: 100%;
   max-height: 100%;
   object-fit: contain;
 }

 .modal-add-comment {
   display: flex;
   padding: 8px 12px;
   border-top: 1px solid #ddd;
 }

 .modal-add-comment input {
   flex: 1;
   border: 1px solid #ddd;
   border-radius: 20px;
   padding: 6px 12px;
   outline: none;
 }

 .modal-add-comment button {
   background: none;
   border: none;
   color: #0095f6;
   font-weight: bold;
   margin-left: 8px;
   cursor: pointer;
 }

 .modal-close,
 .modal-prev,
 .modal-next {
   position: absolute;
   background: rgba(0, 0, 0, 0.3);
   color: white;
   border: none;
   font-size: 32px;
   width: 50px;
   height: 50px;
   border-radius: 50%;
   cursor: pointer;
   display: flex;
   align-items: center;
   justify-content: center;
   z-index: 10;
 }

 .modal-close {
   top: 10px;
   right: 10px;
 }

 .modal-prev {
   left: 10px;
   top: 50%;
   transform: translateY(-50%);
 }

 .modal-next {
   right: 10px;
   top: 50%;
   transform: translateY(-50%);
 }

 .user-posts-grid {
   display: grid;
   grid-template-columns: repeat(auto-fill, minmax(30%, 1fr));
   gap: 2px;
 }

 .user-post {
   position: relative;
   width: 100%;
   aspect-ratio: 4 / 5;
   cursor: pointer;
   overflow: hidden;
 }

 .user-post img,
 .user-post video {
   width: 100%;
   /* height: 100%; */
   object-fit: cover;
 }

 .user-post-overlay {
   position: absolute;
   inset: 0;
   display: flex;
   justify-content: center;
   align-items: center;
   gap: 10px;
 }

 .user-post:hover .user-post-overlay {
   opacity: 1;
 }

 .user-post-overlay span {
   color: white;
   font-weight: bold;
   display: flex;
   gap: 4px;
 }

 @media (max-width: 768px) {
   .modal-wrapper {
     flex-direction: column;
     width: 95%;
     max-height: 95%;
   }

   .modal-details {
     width: 100%;
     height: auto;
     max-height: 40%;
   }

   .modal-comments {
     max-height: 150px;
   }
 }

 .profile-info {
   display: flex;
   flex-direction: column;
   gap: 0.5rem;
 }

 .info-row {
   display: flex;
   gap: 10px;
   flex-wrap: wrap;
 }

 .info-block {
   background: #f2f2f2;
   border-radius: 12px;
   padding: 12px 16px;
   display: flex;
   flex-direction: column;
   gap: 8px;
   font-size: 14px;
 }

 .info-block.full-width {
   width: 100%;
 }

 .info-block.half-width {
   flex: 1;
   min-width: 45%;
 }

 .full-width {
   width: 100% !important;
 }

 .info-pair {
   display: flex;
   justify-content: flex-start;
 }

 .info-pair-column {
   display: flex;
   justify-content: flex-start;
   flex-flow: column;
 }

 .param {
   font-weight: 600;
 }

 .value {
   font-weight: 400;
   text-align: left;
   margin-left: 5px;
 }

 .user-post-overlay {
   position: absolute;
   inset: 0;
   display: flex;
   align-items: flex-start;
   justify-content: flex-end;
   gap: 4px;
   padding: 6px;
 }

 .toggle-restore-btn,
 .toggle-delete-btn,
 .toggle-remove-bookmark-btn {
   background: rgba(0, 0, 0, 0.6);
   border: none;
   border-radius: 50%;
   width: 28px;
   height: 28px;
   cursor: pointer;
   font-size: 12px;
   color: white;
   display: flex;
   align-items: center;
   justify-content: center;
   padding: 0;
   transition: background 0.2s;
   flex-shrink: 0;
 }

 .toggle-restore-btn:hover,
 .toggle-delete-btn:hover,
 .toggle-remove-bookmark-btn:hover {
   background: rgba(0, 0, 0, 0.8);
 }

 .bookmark-entity-remove-btn {
   position: absolute;
   top: 8px;
   right: 8px;
   z-index: 2;
 }

 .toggle-remove-bookmark-btn {
   color: white;
 }

 .modal.hidden {
   display: none;
 }

 .modal {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   z-index: 1055;
   display: flex;
   justify-content: center;
   align-items: center;
 }

 .modal-overlay {
   position: absolute;
   inset: 0;
   background: rgba(0, 0, 0, 0.7);
 }

 .modal-content {
   position: relative;
   display: flex;
   width: 80%;
   height: 80%;
   background: #fff;
   overflow: hidden;
   z-index: 1;
 }

 .modal-body {
   display: flex;
   width: 100%;
   height: 100%;
 }

 .modal-image {
   flex: 1;
   display: flex;
   justify-content: center;
   align-items: center;
   background: black;
 }

 .modal-image img {
   max-width: 100%;
   max-height: 100%;
   object-fit: contain;
 }

 .modal-details {
   width: 400px;
   display: flex;
   flex-direction: column;
   padding: 10px;
   overflow-y: auto;
 }

 .ig-form-wrapper {
   margin: 0 auto;
 }




 .post-caption {
   white-space: pre-wrap;
   line-height: 18px;
 }

 .post-caption .pryzm-translate-button {
   margin-left: 0.35rem;
 }

 .text-post-caption-card {
   margin: 0.25rem 0.5rem 0;
   padding: 0.75rem 0.875rem 0.75rem 1rem;
   background: #fff;
   color: #171717;
   line-height: 20px;
   border: 1px solid rgba(31, 35, 40, 0.1);
   border-left: 3px solid var(--bs-gray-200);
   border-radius: 0.5rem;
 }

 .text-post-caption-card .post-caption {
   display: block;
   font-size: 15px;
   line-height: 22px;
 }

 .caption-more {
   display: inline;
   background: none;
   border: 0;
   padding: 0;
   margin-left: 4px;
   color: #737373;
   font-size: 14px;
   line-height: inherit;
   vertical-align: baseline;
   cursor: pointer;
 }

 .ig-label {
   font-size: 14px;
   font-weight: 600;
   color: #737373;
   margin-bottom: 4px;
   display: block;
 }

 .ig-btn {
   width: 100%;
   background-color: #0095f6;
   border: none;
   border-radius: 8px;
   font-weight: 600;
   padding: 8px 0;
   color: #fff;
 }

 .ig-btn:hover {
   background-color: #007cd1;
 }

 .ig-error {
   color: #d9534f;
   font-size: 12px;
   margin-top: 3px;
 }

 /* Общий контейнер формы */
 .ig-form-section {

   margin-bottom: 20px;
 }

 .ig-legend {
   font-size: 14px;
   font-weight: 600;
   color: #444;

 }

 .flash {
   background-image: linear-gradient(#ddf4ff, #ddf4ff);
   border-color: #54aeff66;
   border-radius: 0.375rem;
   border-style: solid;
   border-width: 0.0625rem;
   color: #1f2328;
   padding: 1.25rem 1rem;
   position: relative;
 }

 .tmp-mb-3 {
   margin-bottom: 1rem !important;
 }

 .flash-error {
   background-image: linear-gradient(#ffebe9, #ffebe9);
   border-color: #ff818266;
   color: #1f2328;
 }

 .flash-success {
   background-image: linear-gradient(#dafbe1, #dafbe1);
   border-color: #4ac26b66;
   color: #1f2328;
 }

 .flash-warn {
   background-image: linear-gradient(#fff8c5, #fff8c5);
   border-color: #d4a72c66;
   color: #1f2328;
 }

 /* INPUTS */
 .form-control,
 .form-select,
 .ig-input {
   max-width: 100%;
   height: 32px;
   width: 100%;
   padding: 5px 12px;
   background-position: right 4px center;
   background-repeat: no-repeat;
   background-size: 16px;
   display: inline-block;
   border-radius: 6px;
   vertical-align: middle;
   font-size: 14px;
   border: 1px solid #d1d9e0;
   box-shadow: inset 0 1px 0 0 #1f23280a;
   line-height: 20px;
   transition: color 80ms cubic-bezier(.33, 1, .68, 1), background-color 80ms cubic-bezier(.33, 1, .68, 1), box-shadow 80ms cubic-bezier(.33, 1, .68, 1), border-color 80ms cubic-bezier(.33, 1, .68, 1);
 }

 .ig-input {
   appearance: none;
 }

 .general-report-textarea {
   height: auto;
   min-height: 120px;
   resize: vertical;
   vertical-align: top;
 }

 .saved-reply-textarea {
   min-height: 140px!important;
   line-height: 1.45;
 }

 .form-control[type="date"],
 .ig-input[type="date"] {
   padding-right: 36px;
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M5 1.75v2.5M11 1.75v2.5M2.75 6.25h10.5M4 3h8a1.5 1.5 0 0 1 1.5 1.5V12A1.5 1.5 0 0 1 12 13.5H4A1.5 1.5 0 0 1 2.5 12V4.5A1.5 1.5 0 0 1 4 3Z' stroke='%23586069' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
   background-position: right 12px center;
   background-repeat: no-repeat;
   background-size: 16px;
 }

 .form-control[type="date"]::-webkit-calendar-picker-indicator,
 .ig-input[type="date"]::-webkit-calendar-picker-indicator {
   opacity: 0;
   width: 22px;
   height: 22px;
   margin-right: -4px;
   cursor: pointer;
 }

 .ig-input-select {

   background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0iIzU4NjA2OSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNC40MjcgOS40MjdsMy4zOTYgMy4zOTZhLjI1MS4yNTEgMCAwMC4zNTQgMGwzLjM5Ni0zLjM5NkEuMjUuMjUgMCAwMDExLjM5NiA5SDQuNjA0YS4yNS4yNSAwIDAwLS4xNzcuNDI3ek00LjQyMyA2LjQ3TDcuODIgMy4wNzJhLjI1LjI1IDAgMDEuMzU0IDBMMTEuNTcgNi40N2EuMjUuMjUgMCAwMS0uMTc3LjQyN0g0LjZhLjI1LjI1IDAgMDEtLjE3Ny0uNDI3eiIgLz48L3N2Zz4=);

 }




 .Subhead--spacious {
   margin-top: 2.5rem;
 }

 .Subhead {
   /*     border-bottom: 0.0625rem solid #d1d9e0b3;
 */
   margin-bottom: 1rem;

   flex-flow: wrap;
   justify-content: flex-end;
   display: flex;
 }

 .Subhead-heading--medium {
   font-size: 1.25rem;
 }

 .Subhead-heading {
   font-weight: 400;
   flex: auto;
   order: 0;
 }




 .ig-input-text {

   background-color: #f6f8fa;
   max-width: 100%;
 }

 .pryzm-input-label {
   font-weight: 600;
   margin: 0 0 6px;
 }

 .pryzm-input-label-help {
   display: inline-flex;
   align-items: center;
   gap: 6px;
 }

 .profile-field-help-trigger,
 .intimate-multiple-help-trigger {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   border: 0;
   background: transparent;
   color: #59636e;
   cursor: pointer;
   line-height: 1;
 }

 .profile-field-help-trigger {
   min-width: 0;
   width: auto;
   height: auto;
   padding: 0;
   border-radius: 0;
   font-size: 18px;
 }

 .profile-field-help-trigger:hover,
 .profile-field-help-trigger:focus-visible,
 .intimate-multiple-help-trigger:hover,
 .intimate-multiple-help-trigger:focus-visible {
   background: transparent;
   color: #0969da;
   outline: none;
 }

 .profile-field-help-trigger:focus-visible,
 .intimate-multiple-help-trigger:focus-visible {
   box-shadow: none;
 }

 .intimate-multiple-help-trigger {
   width: auto;
   min-width: 0;
   padding: 0;
   border-radius: 0;
   font-size: 14px;
 }

 .profile-field-help-body {
   max-height: min(70vh, 560px);
   overflow-y: auto;
 }

 .profile-field-help-intro {
   margin: 1rem 0 0;
   color: #59636e;
   font-size: 13px;
   line-height: 1.4;
 }

 .profile-field-help-list {
   display: grid;
   gap: 12px;
   margin-top: 14px;
 }

 .profile-field-help-option {
   padding-bottom: 12px;
   border-bottom: 1px solid #d1d9e0b3;
 }

 .profile-field-help-option:last-child {
   padding-bottom: 0;
   border-bottom: 0;
 }

 .pryzm-input-note {
   min-height: 17px;
   margin: 0.25rem 0 0;
   color: #59636e;
   font-size: 12px;
   display: block;

 }

 .pryzm-form-group {
   margin: 15px 0;
 }

 .pryzm-checkbox .pryzm-input-note {
   font-weight: 400;
   color: #59636e;
   margin: 0;
   display: block;
 }

 .ig-input-textarea {

   height: 5.35em;
   min-height: 0;
   vertical-align: top;
   background-color: #f6f8fa;
   max-width: 100%;
   line-height: 1.5;

 }

 .ig-input-multiselect {

   height: 92px;
   vertical-align: top;

 }

 .gh-select {
   position: relative;
 }

 .gh-trigger {
   cursor: pointer;
   overflow: hidden;
 }

 .gh-dropdown {
   display: none;
   position: absolute;
   width: 100%;
   background: #fff;
   border: 1px solid #d0d7de;
   margin-top: 6px;
   z-index: 100;
   overflow: hidden;
   background-color: #fff;
   border-radius: .75rem;
   box-shadow: 0 0 0 1px #d1d9e000, 0 8px 16px -4px #25292e14, 0 4px 32px -4px #25292e14, 0 24px 48px -12px #25292e14, 0 48px 96px -24px #25292e14;
   height: auto;
 }

 .gh-select.open .gh-dropdown {
   display: block;
 }

 .gh-search {
   width: 100%;
   padding: 8px;
   border: none;
   border-bottom: 1px solid #d0d7de;
   outline: none;
 }

 .gh-options {
   max-height: 220px;
   overflow-y: auto;
   padding-top: 0.5rem;
   padding-bottom: 0.5rem;
 }

 .gh-option {
   display: flex;
   align-items: center;
   gap: 8px;
   padding: 6px 10px;
   cursor: pointer;
   box-shadow: inset 0 0 0 .0625rem #ffffff00;
   outline: solid .0625rem transparent;
   outline-offset: calc(.0625rem * -1);
   border-radius: .375rem;
   margin: 0.25 rem 0.5rem;
 }

 .gh-option:hover {
   background: #f6f8fa;


 }

 .gh-option input {
   pointer-events: none;
 }

 .gh-tags {
   display: flex;
   flex-wrap: wrap;
   gap: 6px;
   margin-bottom: 6px;
 }



 .Box {
   background-color: #fff;
   border-color: #d1d9e0;
   border-radius: 0.375rem;
   border-style: solid;
   border-width: 0.0625rem;
 }

 .Box-row {
   border-top: 0.0625rem solid #d1d9e0b3;
   margin-top: calc(0.0625rem * -1);
   padding: 1rem;
   list-style-type: none;
 }


 .Box-row:last-of-type {
   border-bottom-left-radius: 0.375rem;
   border-bottom-right-radius: 0.375rem;
 }

 .Box-row:first-of-type {
   border-top-left-radius: 0.375rem;
   border-top-right-radius: 0.375rem;
 }

 .Box-row:first-of-type {
   border-top-color: #0000;
 }






 .gh-tag {
   background: #eaeef2;
   border-radius: 20px;
   padding: 4px 10px;
   display: flex;
   align-items: center;
   gap: 6px;
   color: #59636e;
   font-size: 0.75rem;
   font-weight: 600;
 }

 .gh-tag-remove {
   cursor: pointer;
   font-weight: bold;
 }

 .gh-add-custom {
   padding: 8px;
   cursor: pointer;
   border-top: 1px solid #eee;
 }

 .gh-add-custom:hover {
   background: #f6f8fa;
 }

 .gh-option {
   display: flex;
   align-items: center;
   gap: 8px;
   padding: 6px 10px;
   cursor: pointer;
 }

 .gh-option:hover {
   background: #f6f8fa;
 }

 /* .gh-option.selected {
  background: #e6f0ff;
} */

 .gh-checkbox {
   pointer-events: none;
   /* чтобы клик шел по всей строке */
   margin-right: 0.5rem;
 }

 .form-control:focus,
 .form-select:focus,
 .ig-input:focus-visible {
   border-color: #0969da;
   box-shadow: inset 0 0 0 1px #0969da;
   outline: none;
 }

 .ig-input:focus:not(:focus-visible) {
   border-color: #0000;
   border-color: #0969da;
   outline: none;
   box-shadow: inset 0 0 0 1px #0000;
 }

 .pryzm-counter-label {
   border: .0625rem solid #fff0;
   font-size: .75rem;
   font-weight: 600;
   padding: .125rem .375rem;
   border-radius: 20px;
   line-height: 1;
   display: inline-block;
   margin-left: 0.5rem;
 }

 .pryzm-counter-label-secondary {
   background-color: #818b981f;
   color: #1f2328;
 }

 .pryzm-counter-label-primary {
   background-color: #59636e;
   color: #fff;
 }




 .pryzm-label {

   align-items: center;
   background-color: transparent;
   border-radius: 624.9375rem;
   border-style: solid;
   border-width: .0625rem;
   color: #1f2328;
   display: inline-flex;
   font-size: .75rem;
   font-weight: 600;
   line-height: 1;
   white-space: nowrap;
   border-color: #d1d9e0;
 }


 .pryzm-label-small {

   height: 1.25rem;
   padding: 0.625rem 0.500rem;
 }






 /* LABELS */
 .ig-label {
   font-size: 12px;
   font-weight: 600;
   color: #737373;
   margin-bottom: 4px;
   display: block;
 }

 /* Ошибки */
 .ig-error {
   color: #d9534f;
   font-size: 12px;
   margin-top: 3px;
 }

 /* Свитчи */
 .ig-switch.form-check-input {
   height: 1em;
   width: 1.7em;
   cursor: pointer;
   top: -2px;
   position: relative;
 }

 .ig-form-block {
   background: #ffffff;
   border: 1px solid #dbdbdb;
   border-radius: 12px;
   padding: 0.75rem 0.75rem 0 0.75rem;
   margin-bottom: 20px;
 }

 /* Select2 в IG стиле */
 .select2-container--default .select2-selection--multiple {
   background: #fafafa !important;
   border: 1px solid #dbdbdb !important;
   border-radius: 8px !important;
   padding: 4px;
   min-height: 42px;
 }

 .select2-container--default .select2-selection--multiple .select2-selection__choice {
   background: #e0e0e0 !important;
   border: none !important;
   border-radius: 6px !important;
   font-size: 13px;
 }

 /* Фото-зоны */
 .photo-dropzone {
   background: #fafafa;
   border: 1px dashed #ccc;
   border-radius: 12px;
 }

 /* Кнопки */
 .ig-btn-primary {
   background-color: #0095f6;
   border: none;
   border-radius: 8px;
   font-weight: 600;
   padding: 8px 0;
   width: 100%;
 }

 .ig-btn-primary:hover {
   background-color: #007cd1;
 }

 .ig-btn-secondary {
   border-radius: 8px;
   padding: 8px 14px;
 }

 .post-header {
   display: flex;
   align-items: center;
   justify-content: space-between;
   margin-bottom: 0.5rem;
 }

 .post-header .avatar {
   width: 40px;
   height: 40px;
   border-radius: 50%;
   margin-right: 10px;
 }

 .post-comments {
   flex: 1;
   overflow-y: auto;
 }

 .post-actions button {
   margin-right: 10px;
 }

 .post-add-comment {
   display: flex;
   margin-top: 10px;
 }

 .post-add-comment input {
   flex: 1;
   padding: 5px;
 }

 .post-add-comment button {
   padding: 5px 10px;
 }

 .modal-controls {
   position: absolute;
   inset: 0;
   z-index: 2;
   pointer-events: none;
 }

 .modal-controls button {
   pointer-events: auto;
   background: none;
   border: none;
   color: white;
   font-size: 32px;
   cursor: pointer;
 }

 .modal-controls .close {
   position: absolute;
   top: 10px;
   right: 10px;
 }

 .modal-controls .prev {
   position: absolute;
   top: 50%;
   left: 10px;
   transform: translateY(-50%);
 }

 .modal-controls .next {
   position: absolute;
   top: 50%;
   right: 10px;
   transform: translateY(-50%);
 }

 .user-posts-scroll {
   display: flex;
   overflow-x: auto;
   gap: 10px;
   scroll-behavior: smooth;
 }

 .user-posts-scroll::-webkit-scrollbar {
   height: 8px;
 }

 .user-posts-scroll::-webkit-scrollbar-thumb {
   background-color: rgba(0, 0, 0, 0.3);
   border-radius: 4px;
 }

 .user-posts-scroll::-webkit-scrollbar-track {
   background-color: transparent;
 }

 .user-post2 {
   flex: 0 0 auto;
   width: 120px;

   border-radius: 8px;
   overflow: hidden;
   cursor: pointer;
 }


 .user-post3 img {
   width: 120px;
   object-fit: cover;
   filter: blur(2px) brightness(0.8);
   transition: filter 0.3s ease;
 }

 .user-post3:hover img {
   filter: blur(0px) brightness(0.9);
 }


 .user-post img {
   width: 100%;
   /*  height: 100%; */
   object-fit: cover;
   display: block;
 }

 .user-posts-grid .user-post {
   aspect-ratio: 4 / 5;
   overflow: hidden;
 }

 .user-posts-grid .user-post img,
 .user-posts-grid .user-post video {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
 }

 .profile-post-preview-frame {
   position: absolute;
   inset: 0;
   display: block;
   overflow: hidden;
   transform-origin: center;
 }

 .profile-post-preview-media {
   transform-origin: center;
 }

 .profile-post-preview-text {
   font-size: clamp(10px, 12%, 24px) !important;
 }

 .profile-posts-toolbar {
   display: flex;
   justify-content: flex-end;
   gap: 8px;
   padding: 8px 2px 10px;
 }

 .profile-posts-toolbar-btn {
   display: inline-flex;
   align-items: center;
   gap: 6px;
   min-height: 34px;
   padding: 0 10px;
   border: 1px solid #e5e5e5;
   border-radius: 8px;
   background: #fff;
   color: #111;
   font-size: 13px;
   line-height: 1;
 }

 .profile-posts-sort-hint {
   color: #6c757d;
   font-size: 12px;
   padding: 0 2px 8px;
   text-align: right;
 }

 .profile-post-drag-handle {
   position: absolute;
   left: 8px;
   bottom: 8px;
   z-index: 3;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 28px;
   height: 28px;
   border-radius: 999px;
   background: rgba(0, 0, 0, 0.6);
   color: #fff;
   cursor: grab;
 }

 .profile-post-drag-handle:active {
   cursor: grabbing;
 }

 .profile-post-sort-ghost {
   opacity: .45;
 }

 .post-preview-editor {
   display: grid;
   gap: 14px;
 }

 .post-preview-stage {
   position: relative;
   width: min(100%, 360px);
   aspect-ratio: 4 / 5;
   margin: 0 auto;
   overflow: hidden;
   background: #111;
   border-radius: 8px;
   touch-action: none;
 }

 .profile-posts-tab-item {
   display: flex;
   align-items: center;
   justify-content: center;
   position: relative;
 }

 .profile-posts-tab-control {
   position: relative;
   display: inline-flex;
 }

 .profile-tabs .profile-posts-tab-item .nav-link.active::after {
   display: none;
 }

 .profile-tabs .profile-posts-tab-item:has(.nav-link.active)::after {
   content: '';
   position: absolute;
   bottom: 0;
   left: 0;
   width: 100%;
   height: 2px;
   background: #000;
   border-radius: 1px;
 }

 .profile-posts-tab-toggle {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 40px;
   margin-left: -8px;
   border: 0;
   background: transparent;
   color: #6c757d;
 }

 .profile-posts-sort-control {
   width: auto;
 }

 .post-preview-stage img,
 .post-preview-stage video {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transform-origin: center;
   display: block;
 }

 .post-preview-controls {
   display: grid;
   gap: 10px;
 }

 .content-inner {
   width: 100%;
   max-width: 935px;
 }


 .custom-modal {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   display: none;
   z-index: 1055;
 }

 .custom-modal-backdrop {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: rgba(0, 0, 0, 0.5);
 }

 .custom-modal-content {
   position: absolute;
   bottom: -100%;
   left: 0;
   width: 100%;
   background: #fff;
   border-radius: 0.75rem 0.75rem 0 0;
   transition: bottom 0.3s ease-out;
   overflow: hidden;
 }

 .custom-modal-body a.create-item {
   padding: 0.5rem 1rem 0.3rem 1rem;
   border-bottom: 1px solid #e9ecef;
   text-decoration: none;
   color: #000;
 }

 .custom-modal-header {
   padding: 0.5rem 0 0.3rem 0;
   border-bottom: 1px solid #e9ecef;
   font-weight: 500;
 }

 .custom-modal-footer {
   padding: 0.5rem;
 }

 .nav-link {
   font-size: 12px !important
 }

 .posts-feed {
   display: flex;
   flex-direction: column;
   align-items: center;
 }

 .insta-post {
   background: #fff;
   width: 100%;
   transition: opacity 0.4s ease, height 0.4s ease, margin 0.4s ease, padding 0.4s ease;
   overflow: hidden;
 }


 .carousel-control-next-icon,
 .carousel-control-prev-icon {
   display: inline-block;
   width: 1rem;
   height: 1rem;
   background-repeat: no-repeat;
   background-position: 50%;
   background-size: 100% 100%;
 }

 .d-44 {
   height: 44px;
   width: 44px
 }

 .insta-post.fade-out {
   opacity: 0;
   height: 0;
   margin: 0;
   padding: 0;
 }

 /* .icon-btn::before {
    content: "";
    position: absolute;
    inset: -0.4em;
} */
 .insta-post img.post-image {
   display: block;
   width: 100%;
   height: auto;
 }

 .post-header img {
   border: 1px solid #ddd;
 }

 .btn-link {
   text-decoration: none !important;
 }

 .bi-heart,
 .bi-heart-fill,
 .bi-chat,
 .bi-send,
 .bi-bookmark,
 .bi-three-dots {
   cursor: pointer;
 }

 .posts-feed {
   display: flex;
   flex-direction: column;
 }

 .posts-feed > .feed-entry {
   width: 100%;
   display: block;
 }

 .posts-feed > .feed-entry + .feed-entry {
   margin-top: 0.75rem;
   border-top: 0.625rem solid #edf1f4;
   padding-top: 0.25rem;
 }

 .posts-feed > .feed-entry + .feed-entry-interest-prompt {
   margin-top: 0;
   border-top: 0;
   padding-top: 0;
 }

 .posts-feed .feed-module,
 .posts-feed .interest-prompt,
 .posts-feed [id^="interest-prompt-"] {
   background: transparent;
 }

 .interest-prompt-card {
   position: relative;
 }

 .interest-prompt-card::before {
   content: "";
   position: absolute;
   top: -0.4375rem;
   left: calc(50% - 0.4rem);
   width: 0.8125rem;
   height: 0.8125rem;
   background: #fff;
   border-top: 1px solid #d1d9e0;
   border-left: 1px solid #d1d9e0;
   transform: rotate(45deg);
 }

.link-block {font-size:12px;  }
.link-block:nth-child(3):last-child {
  grid-column: 1 / -1;
}

.link-block:nth-child(4):last-child {
  font-size: 1rem;
}





 .card {
   border-width: 0.0625rem;
   border-style: solid;
   border-color: #d1d9e0;
   padding: 0.5rem 1rem;
   border-radius: 0.375rem;
   flex-direction: column;
   align-items: flex-start;
   /*min-height: 70px;*/
   display: flex;
   position: relative;
 }

 .post-card {
   background: #fff;
   border: 1px solid #ddd;
   border-radius: 16px;
   padding: 1rem;
   width: 100%;
   box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
 }

 .carousel-indicators-dots .dot {
   width: 6px;
   height: 6px;
   border-radius: 50%;
   background-color: rgba(255, 255, 255, 0.5);
   transition: background-color 0.3s;
   cursor: pointer;
 }

 .carousel-indicators-dots .dot.active {
   background-color: #fff;
 }

 .carousel-control-prev,
 .carousel-control-next {
   width: 40px;
   top: 50%;
   transform: translateY(-50%);
 }

 .carousel-control-prev-icon,
 .carousel-control-next-icon {
   background-size: 100%, 100%;
 }

 .messanger-container {
   display: flex;
   gap: 10px;
 }


 .stories-wrapper {
   position: relative;
 }

 .stories-skeleton {
   display: flex;
   gap: 12px;
   padding: 10px;
   overflow-x: auto;
 }

 /* элемент */
 .story-skeleton {
   width: 70px;
   flex-shrink: 0;
   text-align: center;
 }

 .story-avatar {
   width: 60px;
   height: 60px;
   border-radius: 50%;
   margin: 0 auto 6px;

   background: linear-gradient(90deg,
       #eee 25%,
       #ddd 37%,
       #eee 63%);
   background-size: 400% 100%;
   animation: shimmer 1.4s infinite;
 }

 .story-username {
   height: 8px;
   width: 60%;
   margin: 0 auto;
   border-radius: 4px;

   background: linear-gradient(90deg,
       #eee 25%,
       #ddd 37%,
       #eee 63%);
   background-size: 400% 100%;
   animation: shimmer 1.4s infinite;
 }

 @keyframes shimmer {
   0% {
     background-position: 100% 0;
   }

   100% {
     background-position: 0 0;
   }
 }

 .htmx-request #stories-skeleton {
   display: flex;
 }

 .stories-content:not(.htmx-request)~#stories-skeleton {
   display: none;
 }

 .stories-content {
   opacity: 0;
   transition: opacity 0.3s ease;
 }

 .stories-content.htmx-settled {
   opacity: 1;
 }

 .user {
   padding: 10px;
   cursor: pointer;
 }

 .chat-box {
   flex: 1;
   display: flex;
   flex-direction: column;
 }

 .messages {
   flex: 1;
   overflow-y: auto;
   border-bottom: 1px solid #ccc;
   padding: 10px;
 }

 #message-input {
   width: 100%;
   height: 50px;
   margin-top: 10px;
 }

 @keyframes overlay-appear {
   0% {
     opacity: 0;
   }

   100% {
     opacity: 1;
   }
 }

 .mutual-avatars {
   display: flex;
 }

 .mutual-avatars .avatar {
   width: 24px;
   height: 24px;
   border-radius: 50%;
   border: 2px solid white;
   margin-left: -8px;
 }

 .mutual-avatars .avatar:first-child {
   margin-left: 0;
 }

 .uni-modal {
   display: none;

   width: 100%;
   height: 100%;
   z-index: 1050;
   animation: .2s cubic-bezier(.33, 1, .68, 1) overlay-appear;
   position: fixed;
   inset: 0;
   margin: 0 auto;

 }

 .uni-modal-drag {
   display: flex;
   justify-content: center;
   padding-top: 10px;
   padding-bottom: 4px;
   touch-action: none;
 }

 .uni-modal-drag-handle {
   width: 40px;
   height: 3px;
   border-radius: 999px;
   background: #59636e;
 }

 .uni-modal-content.bottom {
   bottom: 0;
   left: 0;
   right: 0;

   width: 100%;

   margin: 0 auto;

   border-radius: 0.75rem 0.75rem 0 0;

   will-change: transform;

   transition:
     transform .25s cubic-bezier(.33, 1, .68, 1);

   touch-action: none;
 }

 .uni-modal-content.bottom {
   touch-action: none;
 }

 .uni-modal-body .uni-modal-item {
   display: block;
   padding: 1rem;
   border-bottom: 1px solid #e9ecef;
   text-decoration: none;
   color: #000;
 }

 .bookmark-collection-sheet {
   max-height: min(82vh, 720px);
 }

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

 .bookmark-collections-grid--two {
   grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
 }

 .bookmark-collections-toggle {
   display: none;
 }

 .bookmark-collections-toggle:not(:checked) ~ .bookmark-collection-card.is-extra:not(.is-active) {
   display: none;
 }

 .bookmark-collection-card {
   position: relative;
   display: flex;
   min-width: 0;
   min-height: 78px;
   align-items: center;
   gap: 12px;
   padding: 12px;
   border: 1px solid #d8dee4;
   border-radius: 8px;
   background: #fff;
   color: #25292e;
   overflow: hidden;
   text-decoration: none;
   box-shadow: 0 1px 0 rgba(31, 35, 40, .04);
   transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
 }

 .bookmark-collection-card:hover {
   border-color: #8c959f;
   background: #f6f8fa;
   color: #25292e;
   text-decoration: none;
 }

 .bookmark-collection-card.is-active {
   border-color: #1f883d;
   background: #f0fff4;
   box-shadow: 0 0 0 1px rgba(31, 136, 61, .18);
 }

 .bookmark-collection-card-cover {
   display: inline-flex;
   width: 46px;
   height: 46px;
   flex: 0 0 auto;
   align-items: center;
   justify-content: center;
   overflow: hidden;
   border: 1px solid #d8dee4;
   border-radius: 8px;
   background: #f6f8fa;
   color: #59636e;
   font-size: 18px;
 }

 .bookmark-collection-card-cover img {
   width: 100%;
   height: 100%;
   object-fit: cover;
 }

 .bookmark-collection-card-body {
   display: flex;
   min-width: 0;
   flex: 1;
   flex-direction: column;
   gap: 4px;
 }

 .bookmark-collection-card-name {
   overflow: hidden;
   color: inherit;
   font-size: 14px;
   font-weight: 600;
   line-height: 1.25;
   text-overflow: ellipsis;
   white-space: nowrap;
 }

 .bookmark-collection-card-meta {
   display: inline-flex;
   min-width: 0;
   align-items: center;
   gap: 5px;
   color: #59636e;
   font-size: 12px;
   line-height: 1.2;
 }

 .bookmark-collection-card-count {
   display: inline-flex;
   min-width: 26px;
   height: 24px;
   flex: 0 0 auto;
   align-items: center;
   justify-content: center;
   padding: 0 7px;
   border-radius: 999px;
   background: #eaeef2;
   color: #59636e;
   font-size: 12px;
   font-weight: 600;
 }

 .bookmark-collections-more {
   display: inline-flex;
   grid-column: 1 / -1;
   height: 36px;
   align-items: center;
   justify-content: center;
   gap: 6px;
   margin-top: 2px;
   border: 1px solid #d8dee4;
   border-radius: 8px;
   background: #f6f8fa;
   color: #0969da;
   cursor: pointer;
   font-size: 13px;
   font-weight: 600;
   line-height: 1;
   user-select: none;
 }

 .bookmark-collections-more:hover {
   background: #eef2f6;
   color: #0969da;
 }

 .bookmark-collections-more-open {
   display: none;
 }

 .bookmark-collections-toggle:checked ~ .bookmark-collections-more .bookmark-collections-more-closed {
   display: none;
 }

 .bookmark-collections-toggle:checked ~ .bookmark-collections-more .bookmark-collections-more-open {
   display: inline-flex;
   align-items: center;
   gap: 6px;
 }

 @media (max-width: 575.98px) {
   .bookmark-collections-grid,
   .bookmark-collections-grid--two {
     grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
     gap: 8px;
   }

   .bookmark-collection-card {
     min-height: 96px;
     flex-direction: column;
     align-items: flex-start;
     gap: 8px;
     padding: 10px;
   }

   .bookmark-collection-card-cover {
     width: 38px;
     height: 38px;
   }

   .bookmark-collection-card-count {
     position: absolute;
     top: 10px;
     right: 10px;
   }
 }

 @media (max-width: 359.98px) {
   .bookmark-collections-grid,
   .bookmark-collections-grid--two {
     gap: 6px;
   }

   .bookmark-collection-card {
     min-height: 90px;
     padding: 8px;
   }

   .bookmark-collection-card-name {
     font-size: 13px;
   }

   .bookmark-collection-card-meta {
     font-size: 11px;
   }
 }

 .bookmark-collection-body {
   overflow-y: auto;
   overscroll-behavior: contain;
 }

 .bookmark-collection-row {
   position: relative;
   display: flex;
   align-items: center;
   border-bottom: 1px solid #eef0f2;
 }

 .bookmark-collection-select {
   display: flex;
   flex: 1;
   min-width: 0;
   align-items: center;
   gap: 12px;
   padding: 12px 16px;
   border: 0;
   background: transparent;
   color: inherit;
   text-align: left;
 }

 .bookmark-collection-select:hover,
 .bookmark-create-link:hover {
   background: #f7f8f9;
 }

 .bookmark-collection-cover,
 .bookmark-new-cover-preview {
   position: relative;
   display: inline-flex;
   width: 52px;
   height: 52px;
   align-items: center;
   justify-content: center;
   overflow: hidden;
   border: 1px solid #e1e5e9;
   border-radius: 10px;
   background: #f2f4f6;
   color: #59636e;
   cursor: pointer;
 }

 .bookmark-collection-cover img,
 .bookmark-new-cover-preview img {
   width: 100%;
   height: 100%;
   object-fit: cover;
 }

 .bookmark-collection-cover-edit {
   position: absolute;
   right: 2px;
   bottom: 2px;
   display: inline-flex;
   width: 18px;
   height: 18px;
   align-items: center;
   justify-content: center;
   border-radius: 50%;
   background: rgba(0, 0, 0, .72);
   color: #fff;
   font-size: 9px;
 }

 .bookmark-collection-text {
   display: flex;
   min-width: 0;
   flex: 1;
   flex-direction: column;
 }

 .bookmark-collection-name {
   overflow: hidden;
   font-size: 14px;
   font-weight: 600;
   text-overflow: ellipsis;
   white-space: nowrap;
 }

 .bookmark-collection-privacy {
   color: #7a838c;
   font-size: 12px;
 }

 .bookmark-collection-selected {
   margin-left: auto;
   font-size: 20px;
 }

 .bookmark-collection-privacy-toggle {
   width: 42px;
   align-self: stretch;
   border: 0;
   background: transparent;
   color: #59636e;
 }

 .bookmark-create-link {
   display: flex;
   width: 100%;
   align-items: center;
   gap: 10px;
   padding: 16px;
   border: 0;
   background: transparent;
   color: #0d6efd;
   font-size: 14px;
   font-weight: 600;
   text-align: left;
 }

 .bookmark-create-form {
   display: grid;
   gap: 16px;
   padding: 16px;
   border-top: 1px solid #eef0f2;
 }

 .bookmark-new-cover {
   display: flex;
   align-items: center;
   gap: 12px;
   color: #0d6efd;
   font-size: 14px;
   font-weight: 600;
   cursor: pointer;
 }

 .bookmark-collection-title-row {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 12px;
 }

 .bookmark-modal-form {
   display: grid;
   gap: 14px;
   overflow-y: auto;
   overscroll-behavior: contain;
   max-height: min(70vh, 620px);
   padding: 18px 16px 20px;
 }

 .uni-modal-content .bookmark-modal-form.uni-modal-body {
   padding: 18px 16px 20px;
 }

 .bookmark-audience-box {
   padding: 12px;
   border: 1px solid #e1e5e9;
   border-radius: 8px;
   background: #f7f8f9;
 }

 .bookmark-user-access-list {
   max-height: 220px;
   overflow-y: auto;
   padding: 10px;
   border: 1px solid #e1e5e9;
   border-radius: 8px;
 }

 .bookmark-checkbox-row {
   display: flex;
   min-width: 0;
   align-items: center;
   gap: 12px;
   padding: 10px 0;
   border-bottom: 1px solid #eef0f2;
   color: inherit;
   cursor: pointer;
 }

 .bookmark-checkbox-row:last-child {
   border-bottom: 0;
 }

 .bookmark-checkbox-row input[type="checkbox"] {
   width: 18px;
   height: 18px;
   flex: 0 0 auto;
 }

 .uni-modal-content.full {
   inset: 0;
   width: 100%;
   max-height: 100%;
   border-radius: 0;
 }

 .navbar-layout {
   display: grid;
   grid-template-columns: 1fr auto 1fr;
   align-items: center;
 }

 .navbar-layout-left {

   display: flex;
   /*grid-template-columns: auto 1fr 1fr;*/
   align-items: center;
   justify-content: start;
 }

 .navbar-left {
   display: flex;
   justify-content: flex-start;
   align-items: center;
 }

 .navbar-center {

   display: flex;
   justify-content: center;
   align-items: center;
   text-align: center;
   min-width: 0;
 }

 .navbar-center-left {

   display: flex;
   justify-content: flex-start;
   align-items: center;
   text-align: center;
   margin-left: 1rem;
   flex-grow: 1;
   min-width: 0;
 }

 .navbar-title {
   display: block;
   max-width: min(100%, 62vw);
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
 }

 .navbar-right {
   display: flex;
   justify-content: flex-end;
   align-items: center;
   gap: 4px;
 }

 .uni-modal-backdrop {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: rgba(0, 0, 0, 0.4);
 }

 .uni-modal-content {
   position: absolute;
   background: #fff;
   overflow: hidden;
   transition: bottom 0.3s ease-out;
   width: calc(100% - 88px);
   max-height: calc(100% - 40px);
   font-size: 16px;
 }

 .uni-modal-content.narrow {
   width: min(420px, calc(100% - 32px));
 }

 .uni-modal-content.bottom.narrow {
   width: 100%;
 }

 .uni-modal-content.full,
 .uni-modal-content.full.narrow {
   inset: 0;
   width: 100%;
   max-height: 100%;
   border-radius: 0;
 }

 .uni-modal-content.center {
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   border-radius: 0.75rem;

 }



 .uni-modal-content.wide {
   width: calc(100% - 20px);

 }

 .uni-modal-content.top {
   top: 20px;
   left: 50%;
   transform: translateX(-50%);
 }

 .uni-modal-content.left {
   top: 50%;
   left: 20px;
   transform: translateY(-50%);
 }

 .uni-modal-content.right {
   top: 50%;
   right: 0;
   transform: translateY(-50%);
   border-radius: 0.75rem 0 0 0.75rem;
   height: 100%;
 }

 .uni-modal-body a,
 .uni-modal-body button.uni-modal-action {
   display: block;
   padding: 1rem;
   /*border-bottom: 1px solid #e9ecef;*/
   text-decoration: none;
   color: #000;
 }

 .uni-modal-body button.uni-modal-action {
   min-height: 52px;
   text-align: left;
 }

 .uni-modal-body .participant-list-item a {
   display: inline-flex;
   padding: 0;
   color: inherit;
   text-decoration: none;
 }

 .participant-list-item {
   min-height: 60px;
 }

 .participant-list-item__avatar {
   flex: 0 0 44px;
 }

 .participant-list-item__body {
   min-width: 0;
   flex: 1 1 auto;
 }

 .participant-list-item__meta {
   display: flex;
   align-items: center;
   gap: 4px;
   min-width: 0;
 }

 .uni-modal-header {
   position: relative;
 }

 .uni-modal-header>.uni-modal-close {
   position: absolute;
   top: 50%;
   right: 8px;
   display: inline-flex;
   width: 18px;
   height: 18px;
   align-items: center;
   box-sizing: border-box;
   justify-content: center;
   padding: 0 !important;
   transform: translateY(-50%);
   cursor: pointer;
 }

 .uni-modal-header .uni-modal-title,
 .uni-modal-header>h5 {
   padding-right: 44px;
   padding-left: 44px;
 }

 .uni-modal-footer[aria-hidden="true"],
 .uni-modal-footer-spacer {
   min-height: 56px;
 }


 .Overlay-Overlay {
   z-index: 1000;
   background-color: #ffffff;
   border-radius: .75rem;
   box-shadow: 0 0 0 1px #d1d9e040, 0 6px 12px -3px #25292e0a, 0 6px 18px 0 #25292e1f;
   width: auto;
   min-width: 250px;
   max-width: calc(100vw - 2rem);
   height: auto;
   max-height: 70vh;
   position: absolute;
   overflow: auto;
   margin-top: 10px;
 }


 .uni-modal-close-icon {
   position: absolute;
   right: 8px;
   top: 50%;
   transform: translateY(-50%);

   width: 32px;
   height: 32px;

   display: flex;
   align-items: center;
   justify-content: center;
 }

 .notification-badge {
   position: absolute;
   top: 5px;
   right: 3px;
   width: 9px;
   height: 9px;
   display: block;
   background: #dc3545;
   color: transparent;
   font-size: 0;
   line-height: 0;
   border-radius: 50%;
   outline: 2px solid #fff;
   box-sizing: border-box;
 }

 .notification-badge[hidden] {
   display: none !important;
 }

 .quick-filter-bar {
   display: flex;
   gap: 8px;
   padding-bottom: 4px;
   overflow-x: auto;
   scrollbar-width: none;
 }

 .quick-filter-bar::-webkit-scrollbar {
   display: none;
 }

 .notification-filter-bar {
   scrollbar-width: none;
 }

 .notification-filter-bar::-webkit-scrollbar {
   display: none;
 }

 .quick-filter-token {
   flex: 0 0 auto;
   display: inline-flex;
   align-items: center;
   gap: 6px;
   min-height: 32px;
   padding: 0 14px;
   color: #1f2328;
   background: #f6f8fa;
   border: 1px solid #d1d9e0;
   border-radius: 999px;
   font-size: 13px;
   font-weight: 600;
   text-decoration: none;
   white-space: nowrap;
 }

 .quick-filter-token.has-menu .quick-filter-token-icon {
   font-size: 10px;
   line-height: 1;
 }

 .quick-filter-token.is-active {
   color: #fff;
   background: #1f2328;
   border-color: #1f2328;
 }

 .quick-filter-token:hover {
   color: #1f2328;
   background: #eaeef2;
   text-decoration: none;
 }

 .quick-filter-token.is-active:hover {
   color: #fff;
   background: #1f2328;
 }

 .uni-modal-body a:hover {
   background: #f2f2f2;
 }

 /* .uni-modal-body {
  padding: 0 1.5rem 1.5rem 1.5rem;
} */
 .stories-modal {
   display: none;
   position: fixed;
   inset: 0;
   width: 100%;
   height: 100dvh;
   background: rgba(0, 0, 0, 0.95);
   z-index: 1000;
   align-items: center;
   justify-content: center;
   overflow: hidden;
   overscroll-behavior: contain;
 }

 .stories-modal.active {
   display: flex;
 }

 .story-container {
   position: relative;
   width: 100%;
   max-width: 500px;
   height: min(90dvh, 900px);
   background: #000;
   border-radius: 12px;
   overflow: hidden;
 }

 .story-header {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   padding: calc(15px + env(safe-area-inset-top, 0px)) 15px 15px;
   background: linear-gradient(180deg, rgba(0, 0, 0, 0.7) 0%, transparent 100%);
   z-index: 10;
 }

 .story-progress-bars {
   display: flex;
   gap: 4px;
   margin-bottom: 15px;
 }

 .progress-bar-item {
   flex: 1;
   height: 2px;
   background: rgba(255, 255, 255, 0.3);
   border-radius: 2px;
   overflow: hidden;
 }

 .progress-bar-fill {
   height: 100%;
   background: white;
   width: 0%;
   transition: width 0.1s linear;
 }

 .story-user-info {
   display: flex;
   align-items: center;
   gap: 10px;
   padding-right: 44px;
   position: relative;
 }

 .story-user-details {
   min-width: 0;
 }

 .story-user-details .username {
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
 }

 .story-user-info img {
   flex-shrink: 0;
   width: 35px;
   height: 35px;
   border-radius: 50%;
   border: 2px solid white;
   object-fit: cover;
 }

 .story-user-info .username {
   color: white;
   font-weight: 600;
   font-size: 14px;
 }

 .story-user-info .time {
   color: rgba(255, 255, 255, 0.7);
   font-size: 12px;
 }

 .story-close {
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   right: 0;
   background: none;
   border: none;
   color: white;
   font-size: 28px;
   cursor: pointer;
   z-index: 11;
   width: 40px;
   height: 40px;
   display: flex;
   align-items: center;
   justify-content: center;
   transition: opacity 0.2s;
 }






 .ActionList-ActionListContent {
   --subitem-depth: 0px;
   border-radius: .375rem;
   color: #25292e;
   padding-block: .375rem;
   padding-inline: 1rem;
   text-align: left;
   touch-action: manipulation;
   -webkit-user-select: none;
   user-select: none;
   -webkit-tap-highlight-color: transparent;
   background-color: #0000;
   border: none;
   grid-template: "spacer leadingAction leadingVisual content" min-content / min-content min-content min-content minmax(0, auto);
   align-items: start;
   width: 100%;
   transition: background 33.333ms linear;
   display: grid;
   position: relative;
 }

 .ActionList-Spacer {
   width: max(0px, 0 * 8px);
   grid-area: spacer;
   display: none;
 }


 .ActionList-ActionListContent>:not(:last-child, .ActionList-Spacer) {
   margin-right: .5rem;
 }

 .ActionList-VisualWrap {
   min-height: 1.25rem;
   pointer-events: none;
   min-width: max-content;
   fill: #59636e;
   align-items: center;
   line-height: 20px;
   display: flex;
 }

 :where(.Avatar-Avatar) {
   box-shadow: 0 0 0 1px #1f232826;
   height: 20px;
   vertical-align: middle;
   width: 20px;
   border-radius: 50%;
   line-height: 1;
   display: inline-block;
   overflow: hidden;
 }


 .ActionList-ActionListSubContent {
   grid-template: "label trailingVisual trailingAction" min-content / minmax(0, auto) min-content min-content;
   grid-area: content;
   align-items: start;
   width: 100%;
   display: grid;
   position: relative;
 }

 .ActionList-ActionList:where([data-dividers=true]) .ActionList-ActionListSubContent:before {
   background: #d1d9e0b3;
   content: "";
   width: 100%;
   height: 1px;
   display: block;
   position: absolute;
   top: -7px;
 }

 .ActionList-ActionListSubContent>:not(:last-child) {
   margin-right: .5rem;
 }


 .ActionList-ItemDescriptionWrap {
   gap: .25rem;
   flex-direction: column;
   grid-area: label;
   display: flex;
 }

 .ActionList-ItemDescriptionWrap:where([data-description-variant=inline]) {
   align-items: baseline;
   gap: .5rem;
   word-break: normal;
   flex-direction: row;
   position: relative;
 }

 .ActionList-ItemLabel {
   color: #1f2328;
   font-size: .875rem;
   font-weight: 400;
   word-break: break-word;
   grid-area: label;
   line-height: 20px;
   position: relative;
 }

 .ActionList-ItemDescriptionWrap:where([data-description-variant=inline]) .ActionList-ItemLabel {
   word-break: normal;
 }

 .ActionList-ItemDescriptionWrap .ActionList-ItemLabel {
   font-weight: 600;
   word-break: break-word;
 }

 .ActionList-Description {
   font-size: .75rem;
   font-weight: 400;
   line-height: 16px;
 }

 .ActionList-Description,
 .ActionList-VisualWrap {
   color: #59636e;
 }

 .ActionList-ItemDescriptionWrap:where([data-description-variant=inline]) .ActionList-Description {
   line-height: 16px;
 }

 .ActionList-TrailingVisual {
   font-size: .875rem;
   grid-area: trailingVisual;
 }








 .story-close:hover {
   opacity: 0.7;
 }

 .story-options {
   background: none;
   border: none;
   color: white;
   cursor: pointer;
   z-index: 11;
   width: 40px;
   height: 40px;
   flex-shrink: 0;
   display: flex;
   align-items: center;
   justify-content: center;
   transition: opacity 0.2s;
 }

 .story-options:hover {
   opacity: 0.7;
 }

 .highlight-story-grid,
 .highlight-detail-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 3px;
 }

 .explore-quick-filters {
   margin: -4px 0 14px;
 }

 .explore-switches {
   display: grid;
   gap: 10px;
 }

 .explore-switches .form-switch {
   display: flex;
   align-items: center;
   gap: 10px;
   min-height: 28px;
   margin: 0;
 }

 .explore-filter-sidebar {
   padding: 0 16px 88px;
   overflow-y: auto;
   max-height: calc(100vh - 60px);
 }

 .explore-filter-group {
   border-bottom: 1px solid #e9ecef;
 }

 .explore-filter-group>summary {
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding: 16px 0;
   font-size: 14px;
   font-weight: 600;
   cursor: pointer;
   list-style: none;
 }

 .explore-filter-group>summary::-webkit-details-marker {
   display: none;
 }

 .explore-filter-group-icon {
   flex: 0 0 auto;
   transition: transform 0.2s ease;
 }

 .explore-filter-group[open]>summary .explore-filter-group-icon {
   transform: rotate(180deg);
 }

 .explore-filter-group-body {
   padding: 0 0 16px;
 }

 .explore-intimate-category+.explore-intimate-category {
   margin-top: 18px;
 }

 .explore-intimate-category-title {
   margin-bottom: 10px;
   font-size: 13px;
   font-weight: 700;
 }

 .explore-intimate-attribute {
   margin: 0 0 14px;
   padding: 0;
   border: 0;
 }

 .explore-intimate-attribute legend {
   margin-bottom: 8px;
   font-size: 12px;
   color: #656d76;
 }

 .explore-intimate-options {
   display: grid;
   grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
   gap: 12px 10px;
 }

 .explore-intimate-option {
   min-width: 0;
   font-size: 13px;
   cursor: pointer;
 }

 .explore-filter-actions.is-fixed {
   --pryzm-form-actions-bottom: 0px;
 }

 .quick-filter-option {
   display: flex;
   align-items: center;
   gap: 12px;
   padding: 14px 12px;
   border-bottom: 1px solid #e9ecef;
   cursor: pointer;
 }

 .quick-filter-option:last-child {
   border-bottom: 0;
 }

 .highlight-story-card,
 .highlight-detail-card {
   position: relative;
   display: block;
   aspect-ratio: 9 / 16;
   padding: 0;
   border: 0;
   overflow: hidden;
   background: #111;
   cursor: pointer;
 }

 .highlight-story-card input {
   position: absolute;
   opacity: 0;
   pointer-events: none;
 }

 .highlight-story-media,
 .highlight-story-media img,
 .highlight-story-media video,
 .highlight-detail-card img,
 .highlight-detail-card video {
   display: block;
   width: 100%;
   height: 100%;
   object-fit: cover;
 }

 .highlight-story-check {
   position: absolute;
   top: 8px;
   right: 8px;
   display: flex;
   align-items: center;
   justify-content: center;
   width: 24px;
   height: 24px;
   border: 2px solid #fff;
   border-radius: 50%;
   color: transparent;
   background: rgba(0, 0, 0, 0.25);
 }

 .highlight-story-card input:checked~.highlight-story-check {
   color: #fff;
   background: var(--bs-primary);
 }

 .highlight-story-card input:checked~.highlight-story-media::after {
   content: "";
   position: absolute;
   inset: 0;
   box-shadow: inset 0 0 0 3px var(--bs-primary);
   pointer-events: none;
 }

 .highlight-story-video-icon {
   position: absolute;
   inset: 0;
   display: flex;
   align-items: center;
   justify-content: center;
   color: #fff;
   text-shadow: 0 1px 6px rgba(0, 0, 0, 0.7);
   pointer-events: none;
 }

 .story-content {
   width: 100%;
   height: 100%;
   display: flex;
   align-items: center;
   justify-content: center;
   background: #000;
   overflow: hidden;
   position: relative;
   transform-style: preserve-3d;
   transition: transform 0.45s ease;
   backface-visibility: hidden;
 }

 .story-content.animating {
   pointer-events: none;
 }

 .option-item {
   display: flex;
   align-items: center;
   gap: 6px;
   opacity: 0.3;
   transition: all 0.2s ease;
 }

 .option-item.selected {
   opacity: 1;
 }

 .fs-bold {
   font-weight: 600 !important
 }

 .option-img {

   object-fit: contain;
 }

 #app_toast {
   position: fixed;
   bottom: 65px;
   left: 50%;
   transform: translateX(-50%);
   z-index: 9999;

   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 8px;

   pointer-events: none;
 }

 .toast {
   display: flex;
   align-items: center;
   gap: 8px;

   max-width: 90vw;

   padding: 10px 16px;

   border-radius: 999px;
   /* 🔥 pill shape */

   font-size: 14px;
   font-weight: 500;

   color: #fff;

   background: rgba(0, 0, 0, 0.85);
   backdrop-filter: blur(10px);

   box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);

   opacity: 0;
   transform: translateY(20px) scale(0.95);

   transition: all 0.25s ease;

   pointer-events: auto;
 }

 .toast.show {
   opacity: 1;
   transform: translateY(0) scale(1);
 }

 .toast.hide {
   opacity: 0;
   transform: translateY(10px) scale(0.95);
 }

 .toast-success {
   background: rgba(0, 0, 0, 0.85);
 }

 .toast-error {
   background: rgba(180, 40, 40, 0.9);
 }

 .toast-info {
   background: rgba(0, 0, 0, 0.85);
 }

 .toast-warning {
   background: rgba(180, 120, 20, 0.92);
 }

 .toast-message {
   flex: 1;
 }

 .toast-action {
   color: inherit;
   font-weight: 700;
   margin-left: 4px;
 }

 .toast-close {
   appearance: none;
   background: transparent;
   border: 0;
   color: inherit;
   cursor: pointer;
   font-size: 20px;
   line-height: 1;
   padding: 0;
 }

 #app_long_task_toasts {
   position: fixed;
   left: 12px;
   right: 12px;
   bottom: 65px;
   z-index: 9998;
   display: flex;
   flex-direction: column;
   gap: 8px;
   pointer-events: none;
 }

 .long-task-toast {
   display: flex;
   align-items: center;
   gap: 12px;
   width: 100%;
   max-width: 640px;
   margin: 0 auto;
   padding: 10px 12px;
   border-radius: 14px;
   color: #fff;
   background: rgba(0, 0, 0, 0.85);
   backdrop-filter: blur(10px);
   box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
   opacity: 0;
   transform: translateY(20px) scale(0.98);
   transition: all 0.25s ease;
   pointer-events: auto;
 }

 .long-task-toast.show {
   opacity: 1;
   transform: translateY(0) scale(1);
 }

 .long-task-toast.hide {
   opacity: 0;
   transform: translateY(10px) scale(0.98);
 }

 .long-task-toast-thumb {
   width: 44px;
   height: 44px;
   border-radius: 10px;
   overflow: hidden;
   flex: 0 0 44px;
   display: grid;
   place-items: center;
   background: rgba(255, 255, 255, 0.16);
   color: rgba(255, 255, 255, 0.85);
 }

 .long-task-toast-thumb img {
   width: 100%;
   height: 100%;
   object-fit: cover;
 }

 .long-task-toast-body {
   min-width: 0;
   flex: 1;
 }

 .long-task-toast-title {
   font-size: 14px;
   font-weight: 600;
   line-height: 1.2;
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
 }

 .long-task-toast-status {
   margin-top: 4px;
   font-size: 12px;
   color: rgba(255, 255, 255, 0.78);
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
 }

 .long-task-toast-progress {
   height: 4px;
   margin-top: 7px;
   overflow: hidden;
   border-radius: 999px;
   background: rgba(255, 255, 255, 0.22);
 }

 .long-task-toast-progress span {
   display: block;
   width: 0;
   height: 100%;
   border-radius: inherit;
   background: #fff;
   transition: width 0.35s ease;
 }

 .long-task-toast-action {
   flex: 0 0 auto;
   color: inherit;
   font-size: 13px;
   font-weight: 700;
   text-decoration: none;
 }

 .long-task-toast.is-complete .long-task-toast-progress span {
   background: #3fb950;
 }

 .long-task-toast.is-failed {
   background: rgba(180, 40, 40, 0.9);
 }

 @media (max-width: 575.98px) {
   #app_long_task_toasts {
     left: 8px;
     right: 8px;
   }

   .long-task-toast {
     max-width: none;
   }
 }

 .confirm-modal {
   display: none;
   inset: 0;
   position: fixed;
   z-index: 12000;
 }

 .confirm-modal-backdrop {
   background: rgba(0, 0, 0, 0.55);
   inset: 0;
   position: absolute;
 }

 .confirm-modal-dialog {
   background: var(--bs-body-bg, #fff);
   border-radius: 16px;
   box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
   left: 50%;
   max-width: min(420px, calc(100vw - 32px));
   padding: 24px;
   position: absolute;
   top: 50%;
   transform: translate(-50%, -50%);
   width: 100%;
 }

 .confirm-modal-dialog h2 {
   font-size: 18px;
   margin: 0 0 12px;
 }

 .confirm-modal-actions {
   display: flex;
   gap: 12px;
   justify-content: flex-end;
   margin-top: 24px;
 }

 /* Intimate profile editor */
 .intimate-options-row {
   display: flex;
   flex-wrap: nowrap;
   gap: 0.35rem;
   margin-top: 0.5rem;
   overflow-x: auto;
   overscroll-behavior-x: contain;
   padding-bottom: 2px;
   scrollbar-width: thin;
 }

 .intimate-option {
   border: 0;
   background: transparent;
   padding: 0;
   display: flex;
   flex-direction: column;
   align-items: center;
   flex: 0 0 54px;
   opacity: 0.35;
   transition: opacity 0.15s ease;
 }

 .intimate-option.selected {
   opacity: 1;
 }

 .intimate-option-img {
   border-radius: 12px;
   object-fit: cover;
   background: #f3f3f3;
   width: 48px;
   height: 48px;
 }

 .intimate-option-img--empty {
   border-radius: 12px;
   background: #f3f3f3;
   width: 48px !important;
   height: 48px !important;
 }

 .intimate-option-label {
   text-align: center;
   line-height: 1.2;
   margin-top: 4px;
   min-height: 14px;
   max-width: 54px;
   overflow-wrap: anywhere;
 }

 .intimate-option-check {
   height: 16px;
   margin-top: 4px;
   color: #111;
   display: flex;
   align-items: center;
   justify-content: center;
 }

 .intimate-option-check-placeholder {
   display: block;
   height: 16px;
   width: 16px;
 }

 .intimate-option-actions {
   display: flex;
   justify-content: flex-end;
   gap: 0.35rem;
   margin-top: 0.35rem;
 }

 .intimate-option-action {
   border: 0;
   background: transparent;
   color: #59636e;
   font-size: 12px;
   line-height: 1.2;
   padding: 0;
 }

 .intimate-option-action:hover,
 .intimate-option-action:focus-visible {
   color: #0969da;
   outline: none;
 }

 .explore-intimate-option {
   position: relative;
   width: 100%;
 }

 .explore-intimate-option:has(.filter-intimate-option:checked) {
   opacity: 1;
 }

 .explore-intimate-option-input {
   position: absolute;
   width: 1px;
   height: 1px;
   margin: -1px;
   overflow: hidden;
   clip: rect(0, 0, 0, 0);
   white-space: nowrap;
   border: 0;
 }

 .explore-intimate-option .intimate-option-img {
   width: 55px;
   height: 55px;
 }

 .explore-intimate-option .intimate-option-label {
   overflow-wrap: anywhere;
 }

 .explore-intimate-option .intimate-option-check {
   visibility: hidden;
 }

 .explore-intimate-option:has(.filter-intimate-option:checked) .intimate-option-check {
   visibility: visible;
 }

 .audience-option {
   padding: 12px 14px;
   cursor: pointer;
   border-radius: 10px;
   transition: background 0.15s ease;
 }

 .audience-option:hover {
   background: #f7f7f7;
 }

 .audience-option input[type="radio"] {
   pointer-events: none;
   /* 👈 чтобы клик шел по всей строке */
 }

 .story-caption {
   position: absolute;
   bottom: 76px;
   left: 16px;

   z-index: 10;

   background: rgba(0, 0, 0, 0.65);
   padding: 10px 14px;
   border-radius: 8px;
   max-width: calc(100% - 32px);

   color: #fff;
   font-size: 12px;
   line-height: 1.5;
   text-align: left;
   white-space: pre-wrap;
   word-break: break-word;
   pointer-events: none;
 }

 .story-engagement {
   position: absolute;
   left: 16px;
   right: 16px;
   bottom: 18px;
   z-index: 12;
   display: flex;
   align-items: center;
   gap: 8px;
   justify-content: flex-end;
 }

 .story-like-button {
   flex-shrink: 0;
   display: inline-flex;
   align-items: center;
   gap: 8px;
   padding: 8px 10px;
   border: 0;
   color: #fff;
   background: transparent;
   font-size: 18px;
 }

 .story-like-button .story-heart-filled,
 .story-like-button.is-liked .story-heart-outline {
   display: none;
 }

 .story-like-button.is-liked .story-heart-filled {
   display: inline-block;
   color: #ff3040;
 }

 .story-like-button #storyLikesCount {
   font-size: 13px;
 }

 .story-share-button {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 42px;
   height: 38px;
   flex: 0 0 42px;
   border: 0;
   color: #fff;
   background: transparent;
   font-size: 18px;
 }

 .story-share-button:disabled {
   opacity: .45;
 }

 .story-comment-form {
   display: flex;
   flex: 1;
   align-items: center;
   min-width: 0;
   border: 1px solid rgba(255, 255, 255, 0.65);
   border-radius: 999px;
   background: rgba(0, 0, 0, 0.2);
 }

 .story-comment-form input {
   flex: 1;
   min-width: 0;
   padding: 9px 4px 9px 14px;
   border: 0;
   outline: 0;
   color: #fff;
   background: transparent;
   font-size: 14px;
 }

 .story-comment-form input::placeholder {
   color: rgba(255, 255, 255, 0.8);
 }

 .story-comment-form button {
   width: 42px;
   height: 38px;
   border: 0;
   color: #fff;
   background: transparent;
 }

 .story-comment-form.is-sent {
   border-color: rgba(255, 255, 255, 0.9);
 }

 .story-share-modal {
   display: none;
   position: fixed;
   inset: 0;
   z-index: 1100;
 }

 .story-share-modal.active {
   display: block;
 }

 .story-share-backdrop {
   position: absolute;
   inset: 0;
   background: rgba(0, 0, 0, .55);
 }

 .story-share-dialog {
   position: absolute;
   left: 50%;
   bottom: 0;
   width: min(460px, 100vw);
   max-height: min(82dvh, 680px);
   transform: translateX(-50%);
   display: flex;
   flex-direction: column;
   border-radius: 14px 14px 0 0;
   background: #fff;
   overflow: hidden;
   box-shadow: 0 -12px 40px rgba(0, 0, 0, .28);
 }

 .story-share-header,
 .story-share-footer {
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding: 12px 14px;
   border-bottom: 1px solid #e9ecef;
 }

 .story-share-footer {
   border-top: 1px solid #e9ecef;
   border-bottom: 0;
   justify-content: flex-end;
   padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px));
 }

 .story-share-header h5 {
   margin: 0;
   font-size: 16px;
 }

 .story-share-close {
   width: 34px;
   height: 34px;
   border: 0;
   border-radius: 50%;
   background: transparent;
 }

 .story-share-preview {
   display: flex;
   gap: 12px;
   align-items: center;
   padding: 12px 14px;
   border-bottom: 1px solid #f0f0f0;
 }

 .story-share-thumb {
   width: 48px;
   height: 64px;
   flex: 0 0 48px;
   display: flex;
   align-items: center;
   justify-content: center;
   border-radius: 6px;
   background: #111;
   color: #fff;
   overflow: hidden;
 }

 .story-share-thumb img {
   width: 100%;
   height: 100%;
   object-fit: cover;
 }

 .story-share-author {
   font-weight: 600;
   font-size: 14px;
 }

 .story-share-caption {
   color: #6c757d;
   font-size: 13px;
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
 }

 .story-share-body {
   display: grid;
   gap: 10px;
   padding: 12px 14px;
   overflow-y: auto;
 }

 .send-post-modal .story-share-header,
 .send-post-modal .story-share-preview,
 .send-post-modal .story-share-body,
 .send-post-modal .story-share-footer {
   padding-left: 0;
   padding-right: 0;
 }

 .story-share-search,
 .story-share-comment {
   width: 100%;
   border: 1px solid #d8dee4;
   border-radius: 8px;
   padding: 9px 10px;
   font-size: 14px;
   outline: 0;
 }

 .story-share-comment {
   resize: vertical;
 }

 .story-share-results {
   max-height: 240px;
   overflow-y: auto;
   border: 1px solid #eef0f2;
   border-radius: 8px;
 }

 .story-share-user {
   display: flex;
   align-items: center;
   gap: 10px;
   padding: 10px;
   margin: 0;
   cursor: pointer;
 }

 .story-share-user + .story-share-user {
   border-top: 1px solid #f0f0f0;
 }

 .story-share-user input {
   margin-left: auto;
   order: 3;
 }

 .story-share-user-avatar {
   width: 34px;
   height: 34px;
   flex: 0 0 34px;
   overflow: hidden;
   display: flex;
   align-items: center;
   justify-content: center;
   border-radius: 50%;
   background: #f1f3f5;
   color: #495057;
   font-size: 13px;
   font-weight: 600;
 }

 .story-share-user-avatar img {
   width: 100%;
   height: 100%;
   object-fit: cover;
 }

 .story-share-user-text {
   display: flex;
   flex-direction: column;
   min-width: 0;
 }

 .story-share-user-name {
   min-width: 0;
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
   font-size: 14px;
   font-weight: 600;
 }

 .story-share-user-display-name {
   min-width: 0;
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
   color: #6c757d;
   font-size: 12px;
 }

 .story-share-empty {
   padding: 18px 12px;
   color: #6c757d;
   text-align: center;
   font-size: 13px;
 }

 .story-actions-detail-modal {
   max-height: min(78vh, 680px);
 }

 .story-actions-tabs {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   border-bottom: 1px solid #e9ecef;
 }

 .story-actions-tab {
   padding: 12px 4px;
   border: 0;
   border-bottom: 2px solid transparent;
   color: #6c757d;
   background: #fff;
   font-size: 13px;
 }

 .story-actions-tab.active {
   border-bottom-color: #000;
   color: #000;
   font-weight: 600;
 }

 .story-actions-tab span {
   font-size: 11px;
 }

 .story-actions-detail-body {
   min-height: 260px;
   overflow-y: auto;
 }

 .story-actions-panel {
   display: none;
 }

 .story-actions-panel.active {
   display: block;
 }

 .story-action-user,
 .story-action-comment {
   display: flex;
   align-items: center;
   gap: 12px;
   padding: 11px 14px;
   color: #000;
   text-decoration: none;
   border-bottom: 1px solid #f0f0f0;
 }

 .story-action-comment {
   align-items: flex-start;
 }

 .story-action-user img,
 .story-action-comment img {
   width: 42px;
   height: 42px;
   flex: 0 0 42px;
   border-radius: 50%;
   object-fit: cover;
 }

 .story-actions-empty {
   padding: 32px 16px;
   color: #6c757d;
   text-align: center;
   font-size: 13px;
 }

 .story-content img,
 .story-content video {
   max-width: 100%;
   max-height: 100%;
   object-fit: contain;
 }

 .stories-modal .story-content > img,
 .stories-modal .story-content > video {
   position: absolute;
   inset: 0;
   display: block;
   width: 100%;
   height: 100%;
   object-position: center;
 }

 .story-nav {
   position: absolute;
   top: 0;
   bottom: 0;
   width: 50%;
   cursor: pointer;
   z-index: 5;
 }

 .story-nav.prev {
   left: 0;
 }

 .story-nav.next {
   right: 0;
 }

 .story-nav-arrow {
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   background: rgba(255, 255, 255, 0.2);
   color: white;
   border: none;
   width: 40px;
   height: 40px;
   border-radius: 50%;
   display: none;
   align-items: center;
   justify-content: center;
   font-size: 20px;
   cursor: pointer;
   transition: background 0.2s;
 }

 .story-nav-arrow:hover {
   background: rgba(255, 255, 255, 0.3);
 }

 .story-nav.prev .story-nav-arrow {
   left: 15px;
 }

 .story-nav.next .story-nav-arrow {
   right: 15px;
 }

 @media (min-width: 768px) {
   .story-nav-arrow {
     display: flex;
   }
 }

 @media (max-width: 767px) {
   .stories-modal {
     align-items: stretch;
   }

   .story-container {
     max-width: 100%;
     height: 100dvh;
     min-height: 100dvh;
     border-radius: 0;

     perspective: 1200px;
     overflow: hidden;
   }

   .story-engagement {
     bottom: calc(12px + env(safe-area-inset-bottom, 0px));
   }

   .story-caption {
     bottom: calc(72px + env(safe-area-inset-bottom, 0px));
   }
 }

 #photoCarousel .carousel-control-prev,
 #photoCarousel .carousel-control-next {
   top: 50%;
   transform: translateY(-50%);
   bottom: auto;
 }

 #photoCarousel .carousel-control-prev,
 #photoCarousel .carousel-control-next {
   width: 11%;
 }

 #photoCarousel .carousel-control-prev-icon,
 #photoCarousel .carousel-control-next-icon {
   filter: invert(1) brightness(1.2);
   opacity: 0.9;
 }

 #photoCarousel .carousel-control-prev:hover .carousel-control-prev-icon,
 #photoCarousel .carousel-control-next:hover .carousel-control-next-icon {
   opacity: 1;
 }

 .fs-14 {
   font-size: 14px !important;
 }

 .fs-8 {
   font-size: 8px !important;
 }

 .fs-10 {
   font-size: 10px !important;
 }

 .fs-24 {
   font-size: 24px !important;
 }

 .fs-23 {
   font-size: 23px !important;
 }

 .fs-50 {
   font-size: 50px !important;
 }

 .fs-44 {
   font-size: 44px !important;
 }

 .fs-11 {
   font-size: 11px !important;
 }

 .fs-12 {
   font-size: 12px !important;
 }

 .fs-16 {
   font-size: 16px !important;
 }

 .fs-18 {
   font-size: 18px !important;
 }

 .author-stack {
   position: relative;
   width: max-content;
   height: 24px;
 }

 .pryzm-button {
   border-radius: 0.375rem;
   padding: 0 0.75rem;
   font-weight: 500 !important;
   text-align: center !important;
   border: 0.0625rem solid;
   font-size: 0.875rem;
   cursor: pointer;
   text-decoration: none !important;
   display: block;
   align-items: center;
   height: 2rem;
   min-width: max-content;
   user-select: none;
   display: inline-flex;
   flex-direction: row;
   justify-content: center;
 }

 .pryzm-button-small {
   font-size: 0.75rem;
   gap: 0.25rem;
   height: 1.75rem;
   padding: 0 0.5rem;

 }

 .pryzm-checkbox {
   float: left;
   float: left;
   vertical-align: middle;
   margin: 5px 0 0 -20px;

 }

 .pryzm-chekbox-label {
   font-weight: 600;
 }

 .pryzm-button-secondary {
   background: #f2f2f2;
   color: #25292e;
   background-color: #f6f8fa;
   border-color: #d1d9e0;
   box-shadow: 0 1px 0 0 #1f23280a;

 }

 .pryzm-button-primary {
   background: #4a5df9;
   color: #fff !important;
   background-color: #1f883d;
   border-color: #1f232826;
   box-shadow: 0 1px 1px 0 #1f23280a, 0 1px 2px 0 #1f232808;
 }

 .pryzm-button-invisible {

   background: transparent;
   box-shadow: none !important;
 }

 .pryzm-button-link {
   border: unset;
   border-radius: 0;
   color: #0969da;
   display: inline-flex;
   min-width: fit-content;
   padding: 0;
   text-align: left;
   box-shadow: none;
   background: none;

 }

 .pryzm-button-danger {
   background-color: #f6f8fa;

   color: #d1242f;
 }


 .Button:hover {
   transition-duration: 80ms;
 }


 .pryzm-button-danger:hover:not(:disabled) {
   background-color: #cf222e;
   border-color: #1f232826;
   box-shadow: 0 1px 1px 0 #1f23280a, 0 1px 2px 0 #1f232808;
   color: #fff;

 }

 .session-pin-page {
   min-height: 100vh;
   display: flex;
   align-items: center;
   justify-content: center;
   padding: 24px;
   background: #f6f8fa;
 }

 .session-pin-card {
   width: 100%;
   max-width: 360px;
   padding: 28px;
   border: 1px solid #d8dee4;
   border-radius: 8px;
   background: #fff;
   text-align: center;
   box-shadow: 0 12px 32px rgba(31, 35, 40, 0.08);
 }

 .session-pin-icon {
   width: 44px;
   height: 44px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   border-radius: 50%;
   margin-bottom: 14px;
   color: #24292f;
   background: #f6f8fa;
 }

 .session-pin-card h1 {
   font-size: 20px;
   line-height: 1.25;
   margin: 0 0 8px;
 }

 .session-pin-card p {
   color: #57606a;
   font-size: 14px;
   margin-bottom: 18px;
 }

 .session-pin-form {
   display: grid;
   gap: 12px;
 }

 .session-pin-input {
   text-align: center;
   font-size: 22px;
   letter-spacing: 0;
 }

 .form-actions {
   display: flex;
   justify-content: space-between;
   gap: 2rem;
   margin-top: 1rem;
 }

 .form-actions.is-fixed {
   position: fixed;
   right: auto;
   bottom: var(--pryzm-form-actions-bottom, 48px);
   left: var(--pryzm-form-actions-left, 0);
   width: var(--pryzm-form-actions-width, 100%);
   margin-top: 0;
   padding: 1rem;
   background: white;
   border-top: 1px solid #eee;
   z-index: 1000;
 }

 .pryzm-fixed-actions-context {
   padding-bottom: var(--pryzm-form-actions-spacer, 0) !important;
 }





 .h-50 {
   height: 50px !important;
 }


 .author-stack .main-author {
   width: 24px;
   height: 24px;
   border-radius: 50%;
   border: 2px solid #fff;
   position: relative;
   z-index: 10;
   object-fit: cover;
 }

 .author-stack .coauthor {
   width: 24px;
   height: 24px;
   border-radius: 50%;
   border: 2px solid #fff;
   position: absolute;
   top: 0;
   left: 24px;
   object-fit: cover;
   box-shadow: 0 0 0 1px #ddd;
   z-index: 5;
   transition: transform 0.2s;
 }

 .author-stack .coauthor:nth-child(2) {
   left: 10px;
   top: -4px;
   z-index: 5;
 }

 .author-stack .coauthor:nth-child(3) {
   left: 40px;
   top: -8px;
   z-index: 4;
 }

 .author-stack .coauthor:nth-child(4) {
   left: 56px;
   top: -12px;
   z-index: 3;
 }


 .fs-17 {
   font-size: 17px !important;
 }

 .fs-20 {
   font-size: 20px !important;
 }

 .stories-bar::-webkit-scrollbar {
   display: none;
 }

 .border-gradient {
   background: linear-gradient(45deg, #ff004d, #ff8a00, #f0f, #00c3ff);
   padding: 2px;
 }

 .story-item {
   flex: 0 0 auto;
   text-align: center;
   width: 85px;
 }

 .story-item img {
   background: #fff;
 }

 .modal:not(.show) {
   display: none !important;
   visibility: hidden;
 }

 .custom-control {
   width: auto;
 }

 .custom-arrow {
   cursor: pointer;


   display: flex;
   align-items: center;
   justify-content: center;
   width: 30px;
   height: 30px;
   border-radius: 50%;
   background: rgba(0, 0, 0, 0.4);
   color: white;
   transition: background 0.2s ease;
 }

 .custom-arrow:hover {
   background: rgba(0, 0, 0, 0.6);
 }

 .custom-arrow i {
   font-size: 18px;
 }

 .carousel-control-prev,
 .carousel-control-next {
   opacity: 1 !important;
 }

 .carousel-control-prev {
   left: 0;
 }

 .carousel-control-next {
   right: 0;
 }


 .button-custom {
   text-decoration: none;
   color: #fff;
   font-size: 10px;
   border-radius: 6px;
   padding: 6px 16px;
   background: #f2f2f2;
   border: 0;
   min-width: calc(50% - 4px);
 }

 .messages {
   flex: 1;
   overflow-y: auto;
   border-bottom: 0;
   padding: 0;
   list-style: none;
   margin-bottom: 0;
 }

 .alert {
   --bs-alert-bg: transparent;
   --bs-alert-padding-x: 1rem;
   --bs-alert-padding-y: 1rem;
   --bs-alert-margin-bottom: 1rem;
   --bs-alert-color: inherit;
   --bs-alert-border-color: transparent;
   --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);
   --bs-alert-border-radius: var(--bs-border-radius);
   --bs-alert-link-color: inherit;
   position: relative;
   padding: 0.5rem;
   margin-bottom: 0;
   color: var(--bs-alert-color);
   background-color: var(--bs-alert-bg);
   border: 0;
   border-radius: 0;
   font-size: 12px;
 }

 .alert-primary {
   --bs-alert-color: var(--bs-primary-text-emphasis);
   --bs-alert-bg: var(--bs-primary-bg-subtle);
   --bs-alert-border-color: var(--bs-primary-border-subtle);
   --bs-alert-link-color: var(--bs-primary-text-emphasis);
 }

 .alert-success {
   --bs-alert-color: var(--bs-success-text-emphasis);
   --bs-alert-bg: var(--bs-success-bg-subtle);
   --bs-alert-border-color: var(--bs-success-border-subtle);
   --bs-alert-link-color: var(--bs-success-text-emphasis);
 }

 .alert-warning {
   --bs-alert-color: var(--bs-warning-text-emphasis);
   --bs-alert-bg: var(--bs-warning-bg-subtle);
   --bs-alert-border-color: var(--bs-warning-border-subtle);
   --bs-alert-link-color: var(--bs-warning-text-emphasis);
 }

 .alert-danger {
   --bs-alert-color: var(--bs-danger-text-emphasis);
   --bs-alert-bg: var(--bs-danger-bg-subtle);
   --bs-alert-border-color: var(--bs-danger-border-subtle);
   --bs-alert-link-color: var(--bs-danger-text-emphasis);
 }

 .alert-info {
   --bs-alert-color: var(--bs-info-text-emphasis);
   --bs-alert-bg: var(--bs-info-bg-subtle);
   --bs-alert-border-color: var(--bs-info-border-subtle);
   --bs-alert-link-color: var(--bs-info-text-emphasis);
 }

 .alert-dark {
   --bs-alert-color: var(--bs-dark-text-emphasis);
   --bs-alert-bg: var(--bs-dark-bg-subtle);
   --bs-alert-border-color: var(--bs-dark-border-subtle);
   --bs-alert-link-color: var(--bs-dark-text-emphasis);
 }

 .alert-light {
   --bs-alert-color: var(--bs-light-text-emphasis);
   --bs-alert-bg: var(--bs-light-bg-subtle);
   --bs-alert-border-color: var(--bs-light-border-subtle);
   --bs-alert-link-color: var(--bs-light-text-emphasis);
 }

 .alert-secondary {
   --bs-alert-color: var(--bs-secondary-text-emphasis);
   --bs-alert-bg: var(--bs-secondary-bg-subtle);
   --bs-alert-border-color: var(--bs-secondary-border-subtle);
   --bs-alert-link-color: var(--bs-secondary-text-emphasis);
 }


 .fa-icon-bg {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   background-color: white;
   border-radius: 50%;
   width: 8px;
   height: 8px;
 }


 .info-pair-heading {

   display: flex;
   justify-content: flex-start;
   font-size: 12px;
   line-height: 1em;
 }

 .ml-0 {

   margin-left: 0 !important;
 }

 #avatar-preview {
   border-radius: 50%;
   object-fit: cover;
   max-width: 200px;
   margin-bottom: 10px;
 }

 .floating-input {
   position: relative;
 }

 .floating-input input,
 .floating-input textarea {
   width: 100%;
   padding: 12px;
   border: 1px solid #ccc;
   border-radius: 6px;
   outline: none;
   background: none;
   font-size: 16px;
 }

 .floating-input label {
   position: absolute;
   left: 12px;
   top: 12px;
   color: #aaa;
   font-size: 16px;
   pointer-events: none;
   transition: all 0.2s ease;
   background-color: white;
   padding: 0 4px;
 }

 .floating-input input:focus+label,
 .floating-input textarea:focus+label,
 .floating-input input:not(:placeholder-shown)+label,
 .floating-input textarea:not(:placeholder-shown)+label {
   top: -8px;
   left: 8px;
   font-size: 12px;
   color: #0d6efd;
 }

 .floating-input {
   position: relative;
   margin: 20px 0;
 }

 .floating-input input {
   width: 100%;
   padding: 12px 12px 12px 12px;
   font-size: 16px;
   border: 1px solid #ccc;
   border-radius: 6px;
   outline: none;
   background: none;
 }

 .floating-input label {
   position: absolute;
   left: 12px;
   top: 12px;
   color: #aaa;
   font-size: 16px;
   pointer-events: none;
   transition: all 0.2s ease;
   background-color: white;
   padding: 0 4px;
 }

 .floating-input input:focus+label,
 .floating-input input:not(:placeholder-shown)+label {
   top: -8px;
   left: 8px;
   font-size: 12px;
   color: #007bff;
 }

 .post-carousel-wrapper {
   width: 100%;
   overflow: hidden;
   position: relative;
 }

 .post-carousel-wrapper img,
 .post-carousel-wrapper video {
   width: 100%;
   height: 100%;
   object-fit: cover;
 }

 .toggle-visibility-btn {
   position: absolute;
   bottom: 2px;
   right: 2px;
   background: rgba(255, 255, 255, 0.8);
   border: none;
   border-radius: 50%;
   width: 22px;
   height: 22px;
   cursor: pointer;
   font-size: 14px;
   text-align: center;
   line-height: 20px;
   padding: 0;
 }

 .dropdown-menu[data-bs-popper] {
   top: 100%;
   left: calc(-50% - 15px);
   margin-top: var(--bs-dropdown-spacer);
 }

 .photo-move {
   transition: all 0.35s ease;
   opacity: 0.4;
   transform: scale(0.9);
 }

 .sortable-photo {
   position: relative;
   display: inline-block;
   margin: 5px;
 }

 .delete-photo-btn {
   position: absolute;
   top: 2px;
   right: 2px;
   background: rgba(255, 255, 255, 0.8);
   border: none;
   border-radius: 50%;
   width: 20px;
   height: 20px;
   cursor: pointer;
   font-weight: bold;
   line-height: 18px;
   text-align: center;
   padding: 0;
 }

 .crop-modal {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: rgba(0, 0, 0, 0.7);
   display: flex;
   justify-content: center;
   align-items: center;
   z-index: 1000;
 }

 .crop-container {
   background: white;
   padding: 10px;
   border-radius: 5px;
   text-align: center;
 }

 .crop-container button {
   margin: 5px;
 }

 .btn-xsm {
   border-radius: 6px;
   padding: 5px 10px;
   font-size: 10px;
   line-height: 1.2;
 }


 .info-list {
   display: flex;
   flex-direction: column;
   gap: 20px;
 }

 .info-item {
   display: flex;
   align-items: flex-start;
   gap: 14px;
   margin-top: 1rem !important;
 }

 .info-icon {
   font-size: 24px;
   flex-shrink: 0;
   margin-top: 2px;
 }

 .info-text {
   display: flex;
   flex-direction: column;
   line-height: 1.35;
 }

 .info-title {
   font-weight: 600;
   font-size: 15px;
   margin-bottom: 4px;
 }

 .info-desc {
   color: #555;
   font-size: 14px;
 }

 .status-wrapper {
   top: 75px;
   right: 4px;
 }

 .status-indicator2 {
   position: absolute;
   bottom: 0;
   right: 0;
   color: #fff;
   font-size: 12px;
   height: 14px;
   border-radius: 10px;
   padding: 0;
   cursor: pointer;
   border: 1px solid #fff;
   transition: all 0.3s ease;
   white-space: nowrap;
   overflow: hidden;
 }

 .status-indicator2 {
   width: 14px;
 }







 .badge {
   border: .0625rem solid #d1d9e0;
   border-radius: 624.938rem;
   font-size: .75rem;
   font-weight: 500;
   padding: 0 .375rem;
   white-space: nowrap;
   line-height: 18px;
   display: inline-block;
 }

 .badge-success {
   border-color: #1a7f37;
   color: #1a7f37;
 }

 .badge-danger {
   border-color: #cf222e;
   color: #cf222e;
 }

 .badge-accent {
   border-color: #0969da;
   color: #0969da;
 }

 .border-close-friend {
   padding: 2px;
   border-radius: 50%;
   background: linear-gradient(135deg, #22c55e, #4ade80);
 }

 .badge-secondary {
   border-color: #d1d9e0;
   color: #59636e;
 }

.close-friend-icon {
   transition: transform 0.2s ease, opacity 0.2s ease;
 }

 @keyframes star-pop {
   0% {
     transform: scale(0.7);
     opacity: 0.5;
   }

   50% {
     transform: scale(1.3);
     opacity: 1;
   }

   100% {
     transform: scale(1);
   }
 }

 @keyframes star-shrink {
   0% {
     transform: scale(1);
     opacity: 1;
   }

   50% {
     transform: scale(0.6);
     opacity: 0.6;
   }

   100% {
     transform: scale(1);
     opacity: 1;
   }
 }

 .animate-add {
   animation: star-pop 0.35s ease;
 }

 .animate-remove {
   animation: star-shrink 0.3s ease;
 }

 .audience-option {
   padding: 14px;
   display: flex;
   justify-content: space-between;
   cursor: pointer;
 }

 .audience-option:hover {
   background: #f5f5f5;
 }

 .badge-warning {
   border-color: #9a6700;
   color: #9a6700;
 }

 .account-info-username {
   font-weight: 700;
   padding: unset;
   line-height: 1.3;
   white-space: pre-wrap;
   overflow-wrap: break-word;
   max-width: 100%;
 }

 .list-group-item {
   border: none;
   padding: 12px;
   font-size: 16px;
   background: white;
 }

 .list-group-item+.list-group-item {
   border-top: 1px solid #efefef;
 }

 .message-row {
   display: flex;
 }

 .message-row.me {
   justify-content: flex-end;
 }

 .message-row.other {
   justify-content: flex-start;
 }

 .chat-bubble {

   max-width: 70%;
   color: #1f2328;
   background-color: #fff;
   border: 0.0625rem solid #d1d9e0;
   border-radius: 0.375rem;
   position: relative;
 }

 .message-menu-wrap {
   float: right
 }

 .chat-bubble.me {
   background: #dafbe1;
 }

 .chat-bubble.other {
   background: #f1f1f1;
 }


 .chat-bubble:not(.first) {
   margin-top: 2px !important;
 }




 .chat-bubble:not(.last).me {
   border-bottom-right-radius: 6px;
 }

 .chat-bubble:not(.first).me {
   border-top-right-radius: 6px;
 }




 .chat-bubble:not(.last).other {
   border-bottom-left-radius: 6px;
 }

 .chat-bubble:not(.first).other {
   border-top-left-radius: 6px;
 }






 .border-story-viewed {
   background: #ced4da;
 }





 .settings-section > h6,
 .settings-section-title {
   color: var(--bs-secondary-color) !important;
   font-size: 12px !important;
   font-weight: 700 !important;
   letter-spacing: 0.05em;
   line-height: 1.25;
 }

 .ps-4 .list-group-item {
   background: #f9f9f9;
 }

 .profile-status-bubble {
   position: absolute;
   left: 50%;
   top: -10px;
   z-index: 2;
   display: flex;
   align-items: center;
   gap: 5px;
   max-width: 100px;
   min-height: 30px;
   padding: 6px 10px;
   color: var(--bs-body-color);
   background: var(--bs-body-bg);
   border: 1px solid var(--bs-border-color);
   border-radius: 16px;
   box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
   font-size: 12px;
   line-height: 1.2;
   text-decoration: none;
   transform: translateX(-50%);
 }

 .profile-header {
   margin-top: 10px;
 }

 #profile-page {
   --profile-avatar-expander-layout-space: 0px;
   position: relative;
   padding-top: var(--profile-avatar-expander-layout-space);
   transition: padding-top 280ms cubic-bezier(.2, .8, .2, 1);
 }

 .profile-header--covered {
   opacity: 0;
   pointer-events: none;
   max-height: 0;
   margin: 0 !important;
   overflow: hidden;
   transform: translateY(-10px);
   transition: opacity 180ms ease, transform 180ms ease, max-height 180ms ease, margin 180ms ease;
 }

 .profile-avatar-expander {
   --profile-avatar-expander-height: 0px;
   --profile-avatar-expander-progress: 0;
   position: absolute;
   top: 0;
   right: -12px;
   left: -12px;
   height: var(--profile-avatar-expander-height);
   min-height: 0;
   overflow: hidden;
   border-radius: 0 0 8px 8px;
   background: #101418;
   color: #fff;
   opacity: var(--profile-avatar-expander-progress);
   pointer-events: none;
   touch-action: pan-y;
   transition: height 280ms cubic-bezier(.2, .8, .2, 1), opacity 180ms ease;
   z-index: 20;
   will-change: height, opacity;
 }

 .profile-avatar-expander.is-peeking,
 .profile-avatar-expander.is-expanded {
   pointer-events: auto;
 }

 .profile-avatar-expander.is-dragging {
   transition: opacity 80ms linear;
 }

 #profile-page.profile-avatar-expander-layout-dragging {
   transition: none;
 }

 .profile-avatar-expander-track,
 .profile-avatar-expander-slide,
 .profile-avatar-expander-slide img,
 .profile-avatar-expander-slide video {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
 }

 .profile-avatar-expander-slide {
   opacity: 0;
   transition: opacity 240ms ease;
 }

 .profile-avatar-expander-slide.is-active {
   opacity: 1;
 }

 .profile-avatar-expander-slide img,
 .profile-avatar-expander-slide video {
   display: block;
   object-fit: cover;
 }

 .profile-avatar-expander-shade {
   position: absolute;
   inset: 0;
   background:
     linear-gradient(180deg, rgba(0, 0, 0, .08) 0%, rgba(0, 0, 0, .22) 46%, rgba(0, 0, 0, .78) 100%),
     linear-gradient(90deg, rgba(0, 0, 0, .36) 0%, rgba(0, 0, 0, 0) 36%);
 }

 .profile-avatar-expander-content {
   position: absolute;
   left: 18px;
   right: 18px;
   bottom: 18px;
   display: grid;
   gap: 10px;
   opacity: clamp(0, calc((var(--profile-avatar-expander-progress) - .28) * 1.8), 1);
   transform: translateY(calc((1 - var(--profile-avatar-expander-progress)) * 18px));
   transition: opacity 180ms ease, transform 180ms ease;
 }

 .profile-avatar-expander-meta h2 {
   margin: 0;
   color: #fff;
   font-size: 28px;
   font-weight: 700;
   line-height: 1.1;
 }

 .profile-avatar-expander-meta p,
 .profile-avatar-expander-bio {
   margin: 0;
   color: rgba(255, 255, 255, .86);
   font-size: 13px;
   line-height: 1.35;
 }

 .profile-avatar-expander-fields {
   display: flex;
   flex-wrap: wrap;
   gap: 8px;
 }

 .profile-avatar-expander-badges,
 .profile-avatar-expander-stats {
   display: flex;
   flex-wrap: wrap;
   gap: 8px;
 }

 .profile-avatar-expander-chip,
 .profile-avatar-expander-stat {
   display: inline-flex;
   align-items: center;
   min-height: 32px;
   color: #fff;
   background: rgba(255, 255, 255, .14);
   border: 1px solid rgba(255, 255, 255, .24);
   border-radius: 999px;
   text-decoration: none;
   backdrop-filter: blur(12px);
 }

 .profile-avatar-expander-chip {
   gap: 6px;
   max-width: 100%;
   padding: 6px 10px;
   font-size: 12px;
   line-height: 1.2;
 }

 .profile-avatar-expander-chip--accent {
   background: rgba(13, 110, 253, .7);
   border-color: rgba(255, 255, 255, .34);
 }

 .profile-avatar-expander-stat {
   flex-direction: column;
   justify-content: center;
   min-width: 76px;
   padding: 7px 12px;
   font-size: 11px;
   line-height: 1.15;
 }

 button.profile-avatar-expander-stat {
   border: 1px solid rgba(255, 255, 255, .24);
 }

 .profile-avatar-expander-stat strong {
   font-size: 15px;
   line-height: 1;
 }

 .profile-avatar-expander-stat span {
   color: rgba(255, 255, 255, .82);
 }

 .profile-avatar-expander-fields a {
   display: inline-flex;
   align-items: center;
   max-width: 100%;
   min-height: 30px;
   padding: 6px 10px;
   color: #fff;
   background: rgba(255, 255, 255, .14);
   border: 1px solid rgba(255, 255, 255, .22);
   border-radius: 999px;
   text-decoration: none;
   font-size: 12px;
   line-height: 1.2;
   overflow-wrap: anywhere;
   backdrop-filter: blur(12px);
 }

 .profile-avatar-expander-collapse {
   position: absolute;
   top: 14px;
   right: 14px;
   z-index: 3;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 36px;
   height: 36px;
   color: #fff;
   background: rgba(0, 0, 0, .38);
   border: 1px solid rgba(255, 255, 255, .28);
   border-radius: 999px;
   box-shadow: 0 4px 18px rgba(0, 0, 0, .22);
   backdrop-filter: blur(12px);
 }

 .profile-avatar-expander-dots {
   position: absolute;
   left: 14px;
   top: 50%;
   z-index: 3;
   display: flex;
   flex-direction: column;
   gap: 8px;
   transform: translateY(-50%);
 }

 .profile-avatar-expander-dots button {
   width: 7px;
   height: 7px;
   padding: 0;
   background: rgba(255, 255, 255, .45);
   border: 0;
   border-radius: 999px;
 }

 .profile-avatar-expander-dots button.is-active {
   height: 20px;
   background: #fff;
 }

 @media (max-width: 575.98px) {
   .profile-avatar-expander {
     right: -8px;
     left: -8px;
   }

   .profile-avatar-expander-dots {
     top: 14px;
     left: 50%;
     flex-direction: row;
     transform: translateX(-50%);
   }

   .profile-avatar-expander-dots button.is-active {
     width: 20px;
     height: 7px;
   }

   .profile-avatar-expander-meta h2 {
     font-size: 24px;
   }
 }

 .profile-avatar-wrap .profile-status-bubble {
   top: -18px;
 }

 .profile-avatar-wrap [data-profile-avatar-story-trigger] {
   touch-action: none;
 }

 .profile-avatar-view-button {
   position: absolute;
   right: -2px;
   bottom: -2px;
   width: 28px;
   height: 28px;
   align-items: center;
   justify-content: center;
   color: #1f2328;
   background: #fff;
   border: 1px solid #d1d9e0;
   border-radius: 999px;
   box-shadow: 0 2px 8px rgba(31, 35, 40, .16);
   font-size: 12px;
   z-index: 2;
 }

 .profile-avatar-view-button:hover {
   color: #0969da;
   border-color: #0969da;
 }

 .profile-avatar-add-button {
   position: absolute;
   inset: 3px auto auto 8px;
   width: 70px;
   height: 70px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   color: #fff;
   background: rgba(0, 0, 0, .42);
   border: 2px solid rgba(255, 255, 255, .9);
   border-radius: 999px;
   font-size: 20px;
   text-decoration: none;
   z-index: 2;
 }

 .profile-avatar-add-button:hover {
   color: #fff;
   background: rgba(0, 0, 0, .56);
 }

 /* 
.profile-status-bubble {
    position: absolute;
    left: 10%;
    top: -10px;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 5px;
    max-width: 34px;
    min-height: 30px;
    padding: 6px 10px;
    color: var(--bs-body-color);
    background: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: 16px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
    font-size: 12px;
    line-height: 1.2;
    text-decoration: none;
    transform: translateX(-50%);
}
 */


 .msg-body {
   float: left;
 }

 .media-wrapper,
 .ig-video {
   position: relative;
   overflow: hidden;
 }

 .post-media-asset {
   transform-origin: center;
 }

 .post-media-preview-card {
   width: 100px;
   height: 125px;
   overflow: hidden;
   border-radius: 6px;
 }

 .post-media-preview-card img,
 .post-media-preview-card video {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
 }

 .post-media-preview-actions {
   position: absolute;
   top: 0;
   right: 0;
   z-index: 3;
   display: flex;
   gap: 4px;
   padding: 6px;
 }

 .post-media-preview-action {
   width: 28px;
   height: 28px;
   border: 0;
   border-radius: 50%;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   padding: 0;
   background: rgba(0, 0, 0, .6);
   color: #fff;
   cursor: pointer;
   font-size: 12px;
   line-height: 1;
   flex-shrink: 0;
   transition: background .2s;
 }

 .post-media-preview-action:hover,
 .post-media-preview-action:focus {
   background: rgba(0, 0, 0, .8);
   color: #fff;
 }

 .post-media-text {
   position: absolute;
   z-index: 4;
   max-width: 90%;
   padding: 2px 6px;
   line-height: 1.15;
   text-align: center;
   text-shadow: 0 1px 4px rgba(0, 0, 0, .8);
   transform: translate(-50%, -50%);
   white-space: pre-wrap;
   overflow-wrap: anywhere;
   pointer-events: none;
 }

 .post-media-user-tag {
   position: absolute;
   z-index: 5;
   color: #fff;
   text-decoration: none;
   transform: translate(-50%, -50%);
   opacity: 0;
   visibility: hidden;
   pointer-events: none;
   transition: opacity .15s ease, visibility .15s ease;
 }

 .media-user-tags-visible .post-media-user-tag {
   opacity: 1;
   visibility: visible;
   pointer-events: auto;
 }

 .post-media-tags-button {
   position: absolute;
   bottom: 8px;
   left: 8px;
   z-index: 6;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 34px;
   height: 34px;
   padding: 0;
   color: #fff;
   background: rgba(0, 0, 0, .65);
   border: 0;
   border-radius: 50%;
   box-shadow: 0 2px 8px rgba(0, 0, 0, .24);
   cursor: pointer;
 }

 .post-media-tags-button:hover,
 .post-media-tags-button:focus {
   color: #fff;
   background: rgba(0, 0, 0, .82);
 }

 .post-media-tags-modal {
   padding: 12px 16px 8px;
 }

 .post-media-tags-summary {
   display: flex;
   align-items: baseline;
   gap: 8px;
   padding: 12px;
   margin-bottom: 12px;
   background: #fff;
   border: 1px solid rgba(0, 0, 0, 0.08);
   border-radius: 8px;
 }

 .post-media-tags-summary span {
   color: #111;
   font-size: 20px;
   font-weight: 700;
   line-height: 1.1;
 }

 .post-media-tags-summary small {
   color: #6c757d;
   font-size: 12px;
 }

 .post-media-tags-search-wrap {
   display: flex;
   align-items: center;
   gap: 8px;
   height: 40px;
   padding: 0 12px;
   margin-bottom: 8px;
   color: #6c757d;
   background: #f1f3f5;
   border-radius: 8px;
 }

 .post-media-tags-search {
   width: 100%;
   border: 0;
   outline: 0;
   background: transparent;
   font-size: 14px;
 }

 .post-media-tags-list {
   max-height: 52dvh;
   overflow-y: auto;
 }

 .post-media-tags-user {
   display: flex;
   align-items: center;
   gap: 12px;
   min-height: 60px;
   color: #111;
   text-decoration: none;
   border-bottom: 1px solid rgba(0, 0, 0, 0.06);
 }

 .post-media-tags-user img {
   flex: 0 0 auto;
   border-radius: 50%;
   object-fit: cover;
 }

 .post-media-tags-username {
   overflow: hidden;
   color: #111;
   font-size: 14px;
   font-weight: 600;
   line-height: 1.2;
   text-overflow: ellipsis;
   white-space: nowrap;
 }

 .post-media-tags-name {
   overflow: hidden;
   color: #6c757d;
   font-size: 12px;
   line-height: 1.2;
   text-overflow: ellipsis;
   white-space: nowrap;
 }

 .post-media-tags-empty {
   padding: 32px 0;
   color: #6c757d;
   text-align: center;
 }

 .post-media-user-tag-dot {
   display: block;
   width: 12px;
   height: 12px;
   background: #fff;
   border: 2px solid rgba(0, 0, 0, .65);
   border-radius: 50%;
   box-shadow: 0 1px 4px rgba(0, 0, 0, .35);
 }

 .post-media-user-tag-label {
   position: absolute;
   top: 18px;
   left: 50%;
   display: block;
   padding: 5px 8px;
   color: #fff;
   background: rgba(0, 0, 0, .78);
   border-radius: 6px;
   font-size: 12px;
   transform: translateX(-50%);
   white-space: nowrap;
 }

 .post-media-description-toggle {
   position: absolute;
   opacity: 0;
   pointer-events: none;
   height:0;
 }

 .post-media-description {
   position: absolute;
   bottom: 8px;
   left: 8px;
   z-index: 3;

   display: flex;
   align-items: center;
   gap: 6px;

   width: 34px;
   height: 34px;
   max-width: calc(100% - 16px);

   padding: 6px 8px;

   color: #fff;
   border-radius: 6px;
   background: rgba(0, 0, 0, .65);

   font-size: 12px;
   line-height: 1.35;

   cursor: pointer;
   overflow: hidden;

   pointer-events: auto;

   transition:
     width .22s ease,
     border-radius .22s ease,
     background-color .22s ease;
 }

 .post-media-tags-button+.post-media-description-toggle+.post-media-description {
   left: 50px;
   max-width: calc(100% - 58px);
 }

 .post-media-description-icon {
   flex: 0 0 auto;

   display: flex;
   align-items: center;
   justify-content: center;

   width: 18px;
   height: 18px;

   font-size: 14px;
   line-height: 1;

   transition: transform .22s ease;
 }



 .post-media-description-text {
   opacity: 0;
   overflow: hidden;

   display: -webkit-box;
   -webkit-line-clamp: 3;
   -webkit-box-orient: vertical;

   transform: translateX(-4px);

   transition:
     opacity .16s ease,
     transform .16s ease;
 }

 
 .post-media-description-toggle:checked+.post-media-description {
   width: calc(100% - 16px);
   border-radius: 6px;
   background: rgba(0, 0, 0, .65);
   height: fit-content;
   min-height: 34px;
 }

 .post-media-tags-button+.post-media-description-toggle:checked+.post-media-description {
   width: calc(100% - 58px);
 }

 .post-media-description-toggle:checked+.post-media-description .post-media-description-icon {
   transform: rotate(180deg);
 }

 .post-media-description-toggle:checked+.post-media-description .post-media-description-text {
   opacity: 1;
   transform: translateX(0);
 }

 .media-editor-layout {
   display: grid;
   grid-template-columns: minmax(0, 1fr) 360px;
   gap: 20px;
   padding: 16px;
   min-height: min(760px, calc(100vh - 180px));
 }

 .media-editor-modal .modal-dialog {
   max-width: min(1180px, calc(100vw - 32px));
 }

 .media-editor-shell {
   width: 100%;
   height: auto;
   max-height: calc(100vh - 48px);
   display: flex;
   flex-direction: column;
   overflow: hidden;
   border-radius: 12px;
 }

 .media-editor-modal .modal-body {
   width: auto;
   height: auto;
 }

 .avatar-crop-modal .media-editor-shell {
   height: 100vh;
   max-height: 100vh;
   border-radius: 0;
 }

 .avatar-crop-layout {
   display: flex;
   align-items: center;
   justify-content: center;
   min-height: 0;
   padding: 16px;
   background: #0f1115;
 }

 .avatar-crop-stage {
   width: min(100%, 860px);
   height: min(100%, calc(100vh - 148px));
   display: flex;
   align-items: center;
   justify-content: center;
 }

 .avatar-crop-stage img {
   display: block;
   max-width: 100%;
   max-height: 100%;
 }

 .modal-backdrop.media-editor-backdrop {
   --bs-backdrop-opacity: .4;
 }

 .media-editor-header,
 .media-editor-footer {
   flex-shrink: 0;
 }

 .media-editor-canvas-pane {
   display: flex;
   align-items: center;
   justify-content: center;
   min-width: 0;
   min-height: 0;
   background: transparent;
   border-radius: 8px;
   overflow: hidden;
 }

 .media-editor-canvas-pane>p {
   display: none;
 }

 .media-editor-stage {
   position: relative;
   width: min(100%, 620px, calc(80vh - 176px));
   max-width: 100%;
   aspect-ratio: 4 / 5 !important;
   flex: 0 0 auto;
   margin: 0 auto;
   overflow: hidden;
   background: transparent;
   touch-action: none;
   user-select: none;
 }

 .media-editor-asset {
   width: 100%;
   height: 100%;
   aspect-ratio: 4 / 5;
   object-fit: cover;
   transform-origin: center;
 }

 .media-editor-overlay,
 .media-editor-tag {
   position: absolute;
   z-index: 3;
   color: #fff;
   text-shadow: 0 1px 4px #000;
   transform: translate(-50%, -50%);
 }

 .media-editor-tag {
   padding: 4px 7px;
   background: rgba(0, 0, 0, .7);
   border-radius: 5px;
   font-size: 12px;
   cursor: grab;
   touch-action: none;
   user-select: none;
 }

 .media-editor-tag.is-dragging {
   cursor: grabbing;
   box-shadow: 0 0 0 2px rgba(255, 255, 255, .8);
 }

 .media-editor-overlay {
   cursor: grab;
   white-space: pre-wrap;
   overflow-wrap: anywhere;
   max-width: 90%;
   text-align: center;
   line-height: 1.1;
   touch-action: none;
 }

 .media-editor-controls {
   display: flex;
   flex-direction: column;
   gap: 14px;
   min-width: 0;
   overflow-y: auto;
   padding-right: 2px;
 }

 .media-editor-toolbar {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 8px;
 }

 .media-editor-tool,
 .media-editor-primary-action,
 .media-editor-secondary-action,
 .media-editor-drag-pad,
 .media-adjustment,
 .media-filter-card,
 .media-editor-font,
 .media-editor-stepper button {
   border: 1px solid #d1d9e0;
   background: #fff;
   color: #25292e;
 }

 .media-editor-tool {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 6px;
   min-height: 42px;
   border-radius: 8px;
   font-size: 13px;
   font-weight: 600;
 }

 .media-editor-tool.is-active,
 .media-adjustment.is-active,
 .media-filter-card.is-active,
 .media-editor-font.is-active {
   border-color: #25292e;
   box-shadow: inset 0 0 0 1px #25292e;
 }

 .media-editor-panel {
   display: none;
   flex-direction: column;
   gap: 12px;
 }

 .media-editor-panel.is-active {
   display: flex;
 }

 .media-editor-primary-action,
 .media-editor-secondary-action {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
   min-height: 42px;
   border-radius: 8px;
   font-weight: 600;
 }

 .media-editor-text-input,
 .media-editor-description textarea {
   width: 100%;
   border: 1px solid #d1d9e0;
   border-radius: 8px;
   padding: 10px 12px;
   background: #fff;
 }

 .media-editor-fonts,
 .media-editor-colors,
 .media-editor-adjustments,
 .media-filter-grid {
   display: grid;
   gap: 8px;
 }

 .media-editor-fonts {
   grid-template-columns: repeat(5, 1fr);
 }

 .media-editor-font {
   min-height: 38px;
   border-radius: 8px;
   font-size: 18px;
   font-weight: 700;
 }

 .media-editor-colors {
   grid-template-columns: repeat(6, 32px);
 }

 .media-editor-color {
   width: 32px;
   height: 32px;
   border: 2px solid #d1d9e0;
   border-radius: 50%;
   background: var(--swatch);
 }

 .media-editor-color.is-active {
   border-color: #25292e;
   box-shadow: 0 0 0 2px #fff, 0 0 0 4px #25292e;
 }

 .media-editor-stepper {
   display: grid;
   grid-template-columns: 1fr 38px 52px 38px;
   align-items: center;
   gap: 8px;
   min-height: 42px;
 }

 .media-editor-stepper span {
   font-size: 13px;
   font-weight: 600;
 }

 .media-editor-stepper output {
   text-align: center;
   font-size: 13px;
   font-weight: 700;
 }

 .media-editor-stepper button {
   width: 38px;
   height: 38px;
   border-radius: 50%;
 }

 .media-filter-grid {
   grid-template-columns: repeat(2, minmax(0, 1fr));
 }

 .media-filter-card {
   --fill: 100%;
   position: relative;
   display: flex;
   flex-direction: column;
   gap: 6px;
   border-radius: 8px;
   padding: 6px;
   text-align: left;
   overflow: hidden;
   touch-action: none;
   background:
     linear-gradient(90deg, rgba(37, 41, 46, .14) var(--fill), transparent var(--fill)),
     #fff;
 }

 .media-filter-card>* {
   position: relative;
   z-index: 1;
 }

 .media-filter-card span {
   display: block;
   aspect-ratio: 4 / 3;
   border-radius: 6px;
   background: linear-gradient(135deg, #dfe7f3, #f4b35d 48%, #7b61ff);
 }

 .media-filter-card[data-filter="grayscale"] span { filter: grayscale(1); }
 .media-filter-card[data-filter="sepia"] span { filter: sepia(1); }
 .media-filter-card[data-filter="vintage"] span { filter: sepia(.45) contrast(1.1); }
 .media-filter-card[data-filter="cool"] span { filter: hue-rotate(12deg) saturate(1.15); }
 .media-filter-card[data-filter="warm"] span { filter: sepia(.2) saturate(1.25); }

 .media-filter-card strong {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 8px;
   font-size: 12px;
 }

 .media-filter-card output {
   color: #59636e;
   font-size: 12px;
   font-weight: 600;
 }

 .media-editor-adjustments {
   grid-template-columns: repeat(2, minmax(0, 1fr));
 }

 .media-adjustment {
   --fill: 0%;
   position: relative;
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   gap: 4px;
   min-height: 54px;
   border-radius: 8px;
   padding: 8px 10px;
   font-size: 12px;
   font-weight: 700;
   overflow: hidden;
   touch-action: none;
   background:
     linear-gradient(90deg, rgba(37, 41, 46, .14) var(--fill), transparent var(--fill)),
     #fff;
 }

 .media-adjustment>* {
   position: relative;
   z-index: 1;
 }

 .media-adjustment::after {
   position: absolute;
   inset: 0;
   content: "";
   border-radius: inherit;
   pointer-events: none;
   background: linear-gradient(90deg, rgba(255, 255, 255, .16), transparent);
 }

 .media-adjustment output {
   color: #59636e;
   font-size: 12px;
   font-weight: 600;
 }

 .media-editor-drag-pad {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 12px;
   min-height: 56px;
   border-radius: 8px;
   padding: 10px 12px;
   text-align: left;
   touch-action: none;
 }

 #mediaAdjustmentPad {
   display: none;
 }

 #mediaFilterStrengthPad {
   display: none;
 }

 .media-editor-drag-pad span {
   min-width: 0;
   color: #59636e;
   font-size: 12px;
   line-height: 1.25;
 }

 .media-editor-drag-pad strong {
   flex-shrink: 0;
   font-size: 14px;
 }

 .media-editor-description label {
   display: block;
   margin-bottom: 6px;
   font-size: 12px;
   font-weight: 700;
 }

 .media-editor-hint {
   position: absolute;
   left: 50%;
   bottom: 12px;
   z-index: 8;
   max-width: calc(100% - 24px);
   padding: 7px 10px;
   border-radius: 999px;
   background: rgba(0, 0, 0, .72);
   color: #fff;
   font-size: 12px;
   opacity: 0;
   transform: translateX(-50%);
   transition: opacity .16s ease;
   pointer-events: none;
 }

 .media-editor-hint.is-visible {
   opacity: 1;
 }

 .media-tag-results {
   position: absolute;
   right: 0;
   left: 0;
   z-index: 10;
   max-height: 180px;
   overflow-y: auto;
   background: #fff;
   border: 1px solid #ddd;
   border-radius: 6px;
 }

 .media-tag-results button {
   display: block;
   width: 100%;
   padding: 8px 10px;
   text-align: left;
   background: #fff;
   border: 0;
 }

 .text-suggestions {
   position: absolute;
   z-index: 3000;
   max-height: 260px;
   overflow-y: auto;
   background: #fff;
   border: 0;
   border-radius: .75rem;
   box-shadow: 0 0 0 1px #d1d9e040, 0 6px 12px -3px #25292e0a, 0 6px 18px 0 #25292e1f;
 }

 .text-suggestion-item {
   display: flex;
   align-items: center;
   gap: .5rem;
   width: 100%;
   padding: .375rem 1rem;
   text-align: left;
   color: #25292e;
   background: transparent;
   border: 0;
   border-radius: .375rem;
   font-size: .875rem;
   line-height: 20px;
 }

 .text-suggestion-item-default,
 .text-suggestion-item-tag {
   justify-content: space-between;
 }

 .text-suggestion-item:hover,
 .text-suggestion-item.is-active {
   background: #f6f8fa;
 }

 .text-suggestion-label {
   min-width: 0;
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
   font-weight: 600;
   color: #1f2328;
 }

 .text-suggestion-main {
   display: flex;
   align-items: baseline;
   gap: .5rem;
   min-width: 0;
 }

 .text-suggestion-avatar {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   flex: 0 0 20px;
   width: 20px;
   height: 20px;
   overflow: hidden;
   border-radius: 50%;
   box-shadow: 0 0 0 1px #1f232826;
   background: #f6f8fa;
   color: #59636e;
   font-size: 11px;
   font-weight: 600;
 }

 .text-suggestion-avatar img {
   width: 100%;
   height: 100%;
   object-fit: cover;
 }

 .text-suggestion-emoji {
   flex: 0 0 20px;
   width: 20px;
   text-align: center;
   font-size: 18px;
   line-height: 1;
 }

 .text-suggestion-detail {
   flex-shrink: 0;
   min-width: 0;
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
   color: #59636e;
   font-size: .75rem;
   font-weight: 400;
   line-height: 16px;
 }

 .message-reactions {
   display: inline-flex;
   align-items: center;
   flex-wrap: wrap;
   gap: 4px;
   min-height: 18px;
 }

 .message-meta-line {
   display: flex;
   align-items: center;
   justify-content: flex-end;
   gap: 4px;
   margin-top: 4px;
   font-size: 12px;
 }

 .message-reaction-token {
   display: inline-flex;
   align-items: center;
   gap: 3px;
   min-height: 20px;
   padding: 1px 6px;
   border: 1px solid rgba(0, 0, 0, .08);
   border-radius: 999px;
   background: rgba(255, 255, 255, .9);
   color: #262626;
   font-size: 12px;
   line-height: 1;
 }

 .message-reaction-token.is-reacted {
   border-color: #3797f0;
   background: #eef6ff;
 }

 .message-reaction-count {
   font-size: 11px;
   font-weight: 600;
 }

 .message-reaction-picker {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   gap: 4px;
   padding: 4px;
   border-bottom: 1px solid rgba(0, 0, 0, .08);
   margin-bottom: 4px;
 }

 .message-reaction-picker button {
   display: inline-flex !important;
   align-items: center;
   justify-content: center;
   width: 30px !important;
   height: 30px;
   padding: 0 !important;
   border-radius: 999px !important;
   font-size: 16px !important;
   line-height: 1 !important;
 }

 @media (max-width: 767px) {
   .media-editor-layout {
     grid-template-columns: 1fr;
   }

   .media-editor-stage {
     width: min(100%, calc(100vw - 48px));
     inline-size: min(100%, calc(100vw - 48px));
     height: auto;
     block-size: auto;
     max-height: none;
   }
 }

 .profile-status-bubble::before {
   position: absolute;
   bottom: -5px;
   left: 20px;
   width: 9px;
   height: 9px;
   content: "";
   background: var(--bs-body-bg);
   border-top: 1px solid var(--bs-border-color);
   border-left: 1px solid var(--bs-border-color);
   transform: rotate(225deg);
 }

 /* .profile-status-bubble::before {
    position: absolute;
    bottom: -4px;
    left: 11px;
    width: 9px;
    height: 9px;
    content: "";
    background: var(--bs-body-bg);
    border-top: 1px solid var(--bs-border-color);
    border-left: 1px solid var(--bs-border-color);
    transform: rotate(225deg);
} */

 .profile-status-bubble:hover {
   color: var(--bs-body-color);
   background: var(--bs-tertiary-bg);
 }

 .profile-status-bubble:hover::before {
   background: var(--bs-tertiary-bg);
 }

 .profile-status-bubble-emoji {
   flex: 0 0 auto;
   font-size: 14px;
 }

 .profile-status-bubble-text {
   min-width: 0;
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
 }

 .profile-status-bubble-empty {
   color: var(--bs-secondary-color);
 }

 .profile-status-detail-emoji {
   font-size: 42px;
   line-height: 1;
 }

 .profile-status-detail-text {
   overflow-wrap: anywhere;
   font-size: 18px;
   font-weight: 600;
   line-height: 1.4;
   white-space: pre-wrap;
 }

 .profile-status-detail-comment {
   overflow-wrap: anywhere;
   color: var(--bs-secondary-color);
   font-size: 14px;
   line-height: 1.45;
   white-space: pre-wrap;
 }

 .place-page {
   max-width: 720px;
   min-height: calc(100vh - 100px);
   margin: 0 auto;
   background: #fff;
 }

 .place-map-wrap {
   width: 100%;
   background: #f4f6f8;
   border-bottom: 1px solid #eceff3;
 }

 .place-map {
   width: 100%;
   height: clamp(220px, 36vh, 320px);
 }

 .place-map-empty {
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   min-height: 220px;
   gap: 10px;
   color: #6c757d;
   font-size: 14px;
 }

 .place-map-empty i {
   font-size: 34px;
 }

 .place-summary {
   background: #fff;
 }

 .place-icon {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   flex: 0 0 44px;
   width: 44px;
   height: 44px;
   color: #111;
   font-size: 18px;
   background: #f1f3f5;
   border-radius: 50%;
 }

 .place-tabs .nav-item {
   flex: 1 1 0;
 }

 .place-empty-state {
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   min-height: 240px;
   gap: 8px;
   padding: 32px 20px;
   color: #6c757d;
   text-align: center;
 }

 .place-empty-state i {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 72px;
   height: 72px;
   color: #111;
   font-size: 30px;
   border: 1px solid #d8dde3;
   border-radius: 50%;
 }

 .place-empty-state h2 {
   margin: 8px 0 0;
   color: #111;
   font-size: 18px;
   font-weight: 600;
 }

 .place-empty-state p {
   margin: 0;
   font-size: 14px;
 }

 .music-hero {
   background: #fff;
   border-bottom: 1px solid #eceff3;
 }

 .music-artwork {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   flex: 0 0 72px;
   width: 72px;
   height: 72px;
   overflow: hidden;
   color: #111;
   font-size: 24px;
   background: #eef1f4;
   border-radius: 8px;
 }

 .music-artwork img,
 .bookmark-entity-icon img {
   width: 100%;
   height: 100%;
   object-fit: cover;
 }

 .music-page-player {
   width: 100%;
   height: 40px;
 }

 .bookmark-entity-list {
   display: flex;
   flex-direction: column;
   gap: 8px;
   margin-bottom: 16px;
 }

 .bookmark-entity-row {
   position: relative;
   display: flex;
   align-items: center;
   gap: 12px;
   padding: 10px 48px 10px 12px;
   background: #fff;
   border: 1px solid #e9ecef;
   border-radius: 8px;
 }

 .bookmark-entity-icon {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   flex: 0 0 44px;
   width: 44px;
   height: 44px;
   overflow: hidden;
   color: #111;
   background: #f1f3f5;
   border-radius: 8px;
 }

 .min-width-0 {
   min-width: 0;
 }
/* GitHub-inspired dark theme tokens. Light theme remains the default CSS above. */
body[data-color-mode="dark"] {
  color-scheme: dark;
  --pryzm-canvas-default: #0d1117;
  --pryzm-canvas-overlay: #161b22;
  --pryzm-canvas-inset: #010409;
  --pryzm-canvas-subtle: #161b22;
  --pryzm-border-default: #30363d;
  --pryzm-border-muted: #21262d;
  --pryzm-fg-default: #e6edf3;
  --pryzm-fg-muted: #8b949e;
  --pryzm-fg-subtle: #6e7681;
  --pryzm-accent-fg: #58a6ff;
  --pryzm-accent-emphasis: #1f6feb;
  --pryzm-accent-muted: #388bfd66;
  --pryzm-accent-subtle: #388bfd1a;
  --pryzm-success-fg: #3fb950;
  --pryzm-success-emphasis: #238636;
  --pryzm-danger-fg: #f85149;
  --pryzm-danger-emphasis: #da3633;
  --pryzm-attention-fg: #d29922;
  --pryzm-neutral-muted: #6e768166;
  --pryzm-shadow: 0 16px 48px rgba(1, 4, 9, .48);
  --bs-body-bg: var(--pryzm-canvas-default);
  --bs-body-color: var(--pryzm-fg-default);
  --bs-secondary-color: var(--pryzm-fg-muted);
  --bs-tertiary-bg: var(--pryzm-canvas-subtle);
  --bs-border-color: var(--pryzm-border-default);
  --bs-link-color: var(--pryzm-accent-fg);
  --bs-link-hover-color: #79c0ff;
}

body[data-color-mode="dark"],
body[data-color-mode="dark"] #app,
body[data-color-mode="dark"] .pryzm-content {
  background-color: var(--pryzm-canvas-default);
  color: var(--pryzm-fg-default);
}

body[data-color-mode="dark"] .navbar-top,
body[data-color-mode="dark"] .navbar-bottom,
body[data-color-mode="dark"] .dropdown-menu,
body[data-color-mode="dark"] .list-group-item,
body[data-color-mode="dark"] .settings-section,
body[data-color-mode="dark"] .message-menu,
body[data-color-mode="dark"] .form-actions.is-fixed,
body[data-color-mode="dark"] .uni-modal-content,
body[data-color-mode="dark"] .confirm-modal-dialog,
body[data-color-mode="dark"] .cookie-consent,
body[data-color-mode="dark"] .blog-sidebar section,
body[data-color-mode="dark"] .blog-pagination a {
  background-color: var(--pryzm-canvas-overlay) !important;
  border-color: var(--pryzm-border-default) !important;
  color: var(--pryzm-fg-default);
}

body[data-color-mode="dark"] .card,
body[data-color-mode="dark"] .modal-content,
body[data-color-mode="dark"] .offcanvas,
body[data-color-mode="dark"] .toast,
body[data-color-mode="dark"] .popover,
body[data-color-mode="dark"] .dropdown-item {
  background-color: var(--pryzm-canvas-overlay);
  border-color: var(--pryzm-border-default);
  color: var(--pryzm-fg-default);
}

body[data-color-mode="dark"] .dropdown-item:hover,
body[data-color-mode="dark"] .dropdown-item:focus,
body[data-color-mode="dark"] .list-group-item-action:hover,
body[data-color-mode="dark"] .list-group-item-action:focus,
body[data-color-mode="dark"] .message-menu button:hover,
body[data-color-mode="dark"] .blog-filter-list a:hover,
body[data-color-mode="dark"] .blog-filter-list a.active,
body[data-color-mode="dark"] .blog-pagination a:hover {
  background-color: var(--pryzm-canvas-default) !important;
  color: var(--pryzm-fg-default);
}

body[data-color-mode="dark"] .text-dark,
body[data-color-mode="dark"] .section-title,
body[data-color-mode="dark"] .navbar-brand,
body[data-color-mode="dark"] .message-menu button,
body[data-color-mode="dark"] .blog-filter-list a,
body[data-color-mode="dark"] .blog-sidebar h2 {
  color: var(--pryzm-fg-default) !important;
}

body[data-color-mode="dark"] .text-muted,
body[data-color-mode="dark"] .blog-meta,
body[data-color-mode="dark"] .blog-filter-list small,
body[data-color-mode="dark"] .blankslate-icon {
  color: var(--pryzm-fg-muted) !important;
}

body[data-color-mode="dark"] .text-post-caption-card {
  background: var(--pryzm-canvas-overlay);
  border-color: var(--pryzm-border-default);
  border-left-color: var(--pryzm-accent-fg);
  color: var(--pryzm-fg-default);
}

body[data-color-mode="dark"] a,
body[data-color-mode="dark"] .btn-link,
body[data-color-mode="dark"] .blog-meta a,
body[data-color-mode="dark"] .blog-filter-list a.active {
  color: var(--pryzm-accent-fg);
}

body[data-color-mode="dark"] hr,
body[data-color-mode="dark"] .border,
body[data-color-mode="dark"] .border-top,
body[data-color-mode="dark"] .border-end,
body[data-color-mode="dark"] .border-bottom,
body[data-color-mode="dark"] .border-start,
body[data-color-mode="dark"] .blog-sidebar h2,
body[data-color-mode="dark"] .blog-filter-list a {
  border-color: var(--pryzm-border-default) !important;
}

body[data-color-mode="dark"] .form-control,
body[data-color-mode="dark"] .form-select,
body[data-color-mode="dark"] .form-check-input,
body[data-color-mode="dark"] textarea,
body[data-color-mode="dark"] input,
body[data-color-mode="dark"] select {
  background-color: var(--pryzm-canvas-inset);
  border-color: var(--pryzm-border-default);
  color: var(--pryzm-fg-default);
}

body[data-color-mode="dark"] .form-control::placeholder,
body[data-color-mode="dark"] textarea::placeholder,
body[data-color-mode="dark"] input::placeholder {
  color: var(--pryzm-fg-subtle);
}

body[data-color-mode="dark"] .form-control:focus,
body[data-color-mode="dark"] .form-select:focus {
  border-color: var(--pryzm-accent-fg);
  box-shadow: 0 0 0 3px var(--pryzm-accent-muted);
}

body[data-color-mode="dark"] .btn-light,
body[data-color-mode="dark"] .bg-light,
body[data-color-mode="dark"] .pryzm-button-secondary,
body[data-color-mode="dark"] .blog-tags a,
body[data-color-mode="dark"] .blog-tag-list span,
body[data-color-mode="dark"] .blog-tag-list a {
  background-color: var(--pryzm-canvas-subtle) !important;
  border-color: var(--pryzm-border-default) !important;
  color: var(--pryzm-fg-default) !important;
}

body[data-color-mode="dark"] .bookmark-collection-card {
  background: var(--pryzm-canvas-overlay);
  border-color: var(--pryzm-border-default);
  color: var(--pryzm-fg-default);
}

body[data-color-mode="dark"] .bookmark-collection-card:hover {
  background: var(--pryzm-canvas-subtle);
  border-color: var(--pryzm-fg-subtle);
  color: var(--pryzm-fg-default);
}

body[data-color-mode="dark"] .bookmark-collection-card.is-active {
  background: var(--pryzm-accent-subtle);
  border-color: var(--pryzm-accent-emphasis);
}

body[data-color-mode="dark"] .bookmark-collection-card-cover,
body[data-color-mode="dark"] .bookmark-collection-card-count {
  background: var(--pryzm-canvas-subtle);
  border-color: var(--pryzm-border-default);
  color: var(--pryzm-fg-muted);
}

body[data-color-mode="dark"] .bookmark-collection-card-meta {
  color: var(--pryzm-fg-muted);
}

body[data-color-mode="dark"] .bookmark-collections-more {
  background: var(--pryzm-canvas-subtle);
  border-color: var(--pryzm-border-default);
  color: var(--pryzm-accent-fg);
}

body[data-color-mode="dark"] .bookmark-collections-more:hover {
  background: var(--pryzm-canvas-default);
  color: var(--pryzm-accent-fg);
}

body[data-color-mode="dark"] .btn-dark {
  background-color: #f0f6fc;
  border-color: #f0f6fc;
  color: var(--pryzm-canvas-default);
}

body[data-color-mode="dark"] .btn-primary,
body[data-color-mode="dark"] .bg-primary,
body[data-color-mode="dark"] .pryzm-button-primary {
  background-color: var(--pryzm-accent-emphasis) !important;
  border-color: var(--pryzm-accent-emphasis) !important;
  color: #fff !important;
}

body[data-color-mode="dark"] .btn-danger,
body[data-color-mode="dark"] .bg-danger {
  background-color: var(--pryzm-danger-emphasis) !important;
  border-color: var(--pryzm-danger-emphasis) !important;
  color: #fff !important;
}

body[data-color-mode="dark"] .text-danger {
  color: var(--pryzm-danger-fg) !important;
}

body[data-color-mode="dark"] .text-success {
  color: var(--pryzm-success-fg) !important;
}

body[data-color-mode="dark"] .text-warning {
  color: var(--pryzm-attention-fg) !important;
}

body[data-color-mode="dark"] .message-quote,
body[data-color-mode="dark"] .chat-bubble.other .message-quote {
  background: var(--pryzm-accent-subtle);
}

body[data-color-mode="dark"] svg path[fill="#000000"],
body[data-color-mode="dark"] svg path[fill="#000"] {
  fill: var(--pryzm-fg-default);
}

@media (min-width: 768px) {
  html:has(body[data-color-mode="dark"]) {
    background: #010409;
  }

  body[data-color-mode="dark"] #app,
  body[data-color-mode="dark"] .navbar-top,
  body[data-color-mode="dark"] .navbar-bottom {
    box-shadow: var(--pryzm-shadow);
  }
}

@media (prefers-color-scheme: dark) {
  body[data-color-mode="auto"] {
    color-scheme: dark;
    --pryzm-canvas-default: #0d1117;
    --pryzm-canvas-overlay: #161b22;
    --pryzm-canvas-inset: #010409;
    --pryzm-canvas-subtle: #161b22;
    --pryzm-border-default: #30363d;
    --pryzm-border-muted: #21262d;
    --pryzm-fg-default: #e6edf3;
    --pryzm-fg-muted: #8b949e;
    --pryzm-fg-subtle: #6e7681;
    --pryzm-accent-fg: #58a6ff;
    --pryzm-accent-emphasis: #1f6feb;
    --pryzm-accent-muted: #388bfd66;
    --pryzm-accent-subtle: #388bfd1a;
    --pryzm-success-fg: #3fb950;
    --pryzm-success-emphasis: #238636;
    --pryzm-danger-fg: #f85149;
    --pryzm-danger-emphasis: #da3633;
    --pryzm-attention-fg: #d29922;
    --pryzm-neutral-muted: #6e768166;
    --pryzm-shadow: 0 16px 48px rgba(1, 4, 9, .48);
    --bs-body-bg: var(--pryzm-canvas-default);
    --bs-body-color: var(--pryzm-fg-default);
    --bs-secondary-color: var(--pryzm-fg-muted);
    --bs-tertiary-bg: var(--pryzm-canvas-subtle);
    --bs-border-color: var(--pryzm-border-default);
    --bs-link-color: var(--pryzm-accent-fg);
    --bs-link-hover-color: #79c0ff;
  }

  body[data-color-mode="auto"],
  body[data-color-mode="auto"] #app,
  body[data-color-mode="auto"] .pryzm-content {
    background-color: var(--pryzm-canvas-default);
    color: var(--pryzm-fg-default);
  }

  body[data-color-mode="auto"] .navbar-top,
  body[data-color-mode="auto"] .navbar-bottom,
  body[data-color-mode="auto"] .dropdown-menu,
  body[data-color-mode="auto"] .list-group-item,
  body[data-color-mode="auto"] .settings-section,
  body[data-color-mode="auto"] .message-menu,
  body[data-color-mode="auto"] .form-actions.is-fixed,
  body[data-color-mode="auto"] .uni-modal-content,
  body[data-color-mode="auto"] .confirm-modal-dialog,
  body[data-color-mode="auto"] .cookie-consent,
  body[data-color-mode="auto"] .blog-sidebar section,
  body[data-color-mode="auto"] .blog-pagination a {
    background-color: var(--pryzm-canvas-overlay) !important;
    border-color: var(--pryzm-border-default) !important;
    color: var(--pryzm-fg-default);
  }

  body[data-color-mode="auto"] .card,
  body[data-color-mode="auto"] .modal-content,
  body[data-color-mode="auto"] .offcanvas,
  body[data-color-mode="auto"] .toast,
  body[data-color-mode="auto"] .popover,
  body[data-color-mode="auto"] .dropdown-item {
    background-color: var(--pryzm-canvas-overlay);
    border-color: var(--pryzm-border-default);
    color: var(--pryzm-fg-default);
  }

  body[data-color-mode="auto"] .dropdown-item:hover,
  body[data-color-mode="auto"] .dropdown-item:focus,
  body[data-color-mode="auto"] .list-group-item-action:hover,
  body[data-color-mode="auto"] .list-group-item-action:focus,
  body[data-color-mode="auto"] .message-menu button:hover,
  body[data-color-mode="auto"] .blog-filter-list a:hover,
  body[data-color-mode="auto"] .blog-filter-list a.active,
  body[data-color-mode="auto"] .blog-pagination a:hover {
    background-color: var(--pryzm-canvas-default) !important;
    color: var(--pryzm-fg-default);
  }

  body[data-color-mode="auto"] .text-dark,
  body[data-color-mode="auto"] .section-title,
  body[data-color-mode="auto"] .navbar-brand,
  body[data-color-mode="auto"] .message-menu button,
  body[data-color-mode="auto"] .blog-filter-list a,
  body[data-color-mode="auto"] .blog-sidebar h2 {
    color: var(--pryzm-fg-default) !important;
  }

  body[data-color-mode="auto"] .text-muted,
  body[data-color-mode="auto"] .blog-meta,
  body[data-color-mode="auto"] .blog-filter-list small,
  body[data-color-mode="auto"] .blankslate-icon {
    color: var(--pryzm-fg-muted) !important;
  }

  body[data-color-mode="auto"] .text-post-caption-card {
    background: var(--pryzm-canvas-overlay);
    border-color: var(--pryzm-border-default);
    border-left-color: var(--pryzm-accent-fg);
    color: var(--pryzm-fg-default);
  }

  body[data-color-mode="auto"] a,
  body[data-color-mode="auto"] .btn-link,
  body[data-color-mode="auto"] .blog-meta a,
  body[data-color-mode="auto"] .blog-filter-list a.active {
    color: var(--pryzm-accent-fg);
  }

  body[data-color-mode="auto"] hr,
  body[data-color-mode="auto"] .border,
  body[data-color-mode="auto"] .border-top,
  body[data-color-mode="auto"] .border-end,
  body[data-color-mode="auto"] .border-bottom,
  body[data-color-mode="auto"] .border-start,
  body[data-color-mode="auto"] .blog-sidebar h2,
  body[data-color-mode="auto"] .blog-filter-list a {
    border-color: var(--pryzm-border-default) !important;
  }

  body[data-color-mode="auto"] .form-control,
  body[data-color-mode="auto"] .form-select,
  body[data-color-mode="auto"] .form-check-input,
  body[data-color-mode="auto"] textarea,
  body[data-color-mode="auto"] input,
  body[data-color-mode="auto"] select {
    background-color: var(--pryzm-canvas-inset);
    border-color: var(--pryzm-border-default);
    color: var(--pryzm-fg-default);
  }

  body[data-color-mode="auto"] .form-control::placeholder,
  body[data-color-mode="auto"] textarea::placeholder,
  body[data-color-mode="auto"] input::placeholder {
    color: var(--pryzm-fg-subtle);
  }

  body[data-color-mode="auto"] .form-control:focus,
  body[data-color-mode="auto"] .form-select:focus {
    border-color: var(--pryzm-accent-fg);
    box-shadow: 0 0 0 3px var(--pryzm-accent-muted);
  }

  body[data-color-mode="auto"] .btn-light,
  body[data-color-mode="auto"] .bg-light,
  body[data-color-mode="auto"] .pryzm-button-secondary,
  body[data-color-mode="auto"] .blog-tags a,
  body[data-color-mode="auto"] .blog-tag-list span,
  body[data-color-mode="auto"] .blog-tag-list a {
    background-color: var(--pryzm-canvas-subtle) !important;
    border-color: var(--pryzm-border-default) !important;
    color: var(--pryzm-fg-default) !important;
  }

  body[data-color-mode="auto"] .bookmark-collection-card {
    background: var(--pryzm-canvas-overlay);
    border-color: var(--pryzm-border-default);
    color: var(--pryzm-fg-default);
  }

  body[data-color-mode="auto"] .bookmark-collection-card:hover {
    background: var(--pryzm-canvas-subtle);
    border-color: var(--pryzm-fg-subtle);
    color: var(--pryzm-fg-default);
  }

  body[data-color-mode="auto"] .bookmark-collection-card.is-active {
    background: var(--pryzm-accent-subtle);
    border-color: var(--pryzm-accent-emphasis);
  }

  body[data-color-mode="auto"] .bookmark-collection-card-cover,
  body[data-color-mode="auto"] .bookmark-collection-card-count {
    background: var(--pryzm-canvas-subtle);
    border-color: var(--pryzm-border-default);
    color: var(--pryzm-fg-muted);
  }

  body[data-color-mode="auto"] .bookmark-collection-card-meta {
    color: var(--pryzm-fg-muted);
  }

  body[data-color-mode="auto"] .bookmark-collections-more {
    background: var(--pryzm-canvas-subtle);
    border-color: var(--pryzm-border-default);
    color: var(--pryzm-accent-fg);
  }

  body[data-color-mode="auto"] .bookmark-collections-more:hover {
    background: var(--pryzm-canvas-default);
    color: var(--pryzm-accent-fg);
  }

  body[data-color-mode="auto"] .btn-dark {
    background-color: #f0f6fc;
    border-color: #f0f6fc;
    color: var(--pryzm-canvas-default);
  }

  body[data-color-mode="auto"] .btn-primary,
  body[data-color-mode="auto"] .bg-primary,
  body[data-color-mode="auto"] .pryzm-button-primary {
    background-color: var(--pryzm-accent-emphasis) !important;
    border-color: var(--pryzm-accent-emphasis) !important;
    color: #fff !important;
  }

  body[data-color-mode="auto"] .btn-danger,
  body[data-color-mode="auto"] .bg-danger {
    background-color: var(--pryzm-danger-emphasis) !important;
    border-color: var(--pryzm-danger-emphasis) !important;
    color: #fff !important;
  }

  body[data-color-mode="auto"] .text-danger {
    color: var(--pryzm-danger-fg) !important;
  }

  body[data-color-mode="auto"] .text-success {
    color: var(--pryzm-success-fg) !important;
  }

  body[data-color-mode="auto"] .text-warning {
    color: var(--pryzm-attention-fg) !important;
  }

  body[data-color-mode="auto"] .message-quote,
  body[data-color-mode="auto"] .chat-bubble.other .message-quote {
    background: var(--pryzm-accent-subtle);
  }

  body[data-color-mode="auto"] svg path[fill="#000000"],
  body[data-color-mode="auto"] svg path[fill="#000"] {
    fill: var(--pryzm-fg-default);
  }

  @media (min-width: 768px) {
    html:has(body[data-color-mode="auto"]) {
      background: #010409;
    }

    body[data-color-mode="auto"] #app,
    body[data-color-mode="auto"] .navbar-top,
    body[data-color-mode="auto"] .navbar-bottom {
      box-shadow: var(--pryzm-shadow);
    }
  }
}

.premium-feature-note {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 14px 16px;
  margin: 0 0 20px;
  border: 1px solid #f0c36d;
  border-radius: 8px;
  background: #fff8e5;
  color: #3d2b00;
}

.premium-feature-note__icon {
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #f2b84b;
  color: #1f1600;
  font-weight: 700;
}

.premium-feature-note strong {
  display: block;
  margin-bottom: 4px;
  font-size: 15px;
}

.premium-feature-note p {
  margin: 0;
  font-size: 14px;
  line-height: 1.45;
}
#pryzm-panic-overlay {
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  background: #f7f7f4;
  color: #222;
  font-family: Arial, sans-serif;
}

.pryzm-panic-active body > *:not(#pryzm-panic-overlay) {
  visibility: hidden !important;
}

.pryzm-panic-page {
  max-width: 680px;
  margin: 56px auto;
  padding: 24px;
}

.pryzm-panic-title {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 28px;
}

.pryzm-panic-line {
  height: 14px;
  margin: 16px 0;
  border-radius: 3px;
  background: #ddd;
}

.pryzm-panic-line.short {
  width: 62%;
}
.chat-call-actions {
  position: sticky;
  top: 8px;
  z-index: 8;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 8px 12px 0;
  pointer-events: none;
}

.chat-call-actions > button {
  pointer-events: auto;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255,255,255,.94);
  box-shadow: 0 4px 14px rgba(15,23,42,.12);
}

.blog-article table {
    width: 100%;
    table-layout: fixed;
    font-size:0.8rem;
}

.blog-article tr {
    vertical-align:top;
}

.feature-group {
  background: #f2f2f2;
  font-weight:bold;
}

.blog-article table th:nth-child(2),
.blog-article table td:nth-child(2) {
    width: 160px;
    white-space: nowrap;
}

.blog-article table th:nth-child(3),
.blog-article table td:nth-child(3),
.blog-article table th:nth-child(4),
.blog-article table td:nth-child(4) {
    width: 60px;
    white-space: nowrap;
    text-align: center;
}


/* Keep like actions stable across icon and count width changes. */
.like-form .like-icon {
  display: inline-block;
  flex: 0 0 24px;
  width: 24px;
  min-width: 24px;
  text-align: center;
  transform-origin: center;
}

.likes-count.like-count-reserve-2 { min-width: 2ch; }
.likes-count.like-count-reserve-3 { min-width: 3ch; }
.likes-count.like-count-reserve-4 { min-width: 4ch; }
.likes-count.like-count-reserve-5 { min-width: 5ch; }

/* Keep comment and repost counts from shifting the following actions. */
.action-count {
  display: inline-block;
  text-align: center;
}

.action-count.action-count-reserve-2 { min-width: 2ch; }
.action-count.action-count-reserve-3 { min-width: 3ch; }
.action-count.action-count-reserve-4 { min-width: 4ch; }
.action-count.action-count-reserve-5 { min-width: 5ch; }
