
.point-shop-cta-box { background: linear-gradient(180deg, #ffffff, #f8fafc); }
.point-shop-cta-copy { color: #64748b; line-height: 1.55; margin-bottom: 12px; }
.point-shop-cta-btn { display: inline-flex; align-items: center; justify-content: center; padding: 11px 16px; border-radius: 999px; background: linear-gradient(135deg, #7c3aed, #f43f5e); color: #fff; text-decoration: none; font-weight: 900; box-shadow: 0 12px 28px rgba(124,58,237,.22); }
.points-shop-hero { display: flex; justify-content: space-between; align-items: center; gap: 18px; flex-wrap: wrap; }
.points-shop-hero h1 { margin: 0 0 8px; }
.points-shop-hero p { margin: 0; color: #64748b; max-width: 760px; }
.points-shop-hero-side { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.points-shop-balance { padding: 12px 16px; border-radius: 18px; background: linear-gradient(135deg, rgba(124,58,237,.08), rgba(244,63,94,.08)); color: #334155; font-weight: 800; }
.points-shop-balance strong { color: #7c3aed; font-size: 22px; }
.points-shop-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 16px; margin-top: 18px; }
.point-shop-card { display: grid; gap: 14px; }
.point-shop-card-media { min-height: 160px; border-radius: 24px; background: linear-gradient(180deg,#f8fafc,#eef2f6); display: grid; place-items: center; overflow: hidden; }
.point-shop-card-media img { width: 100%; height: 100%; object-fit: contain; display: block; }
.point-shop-card-icon { width: 84px; height: 84px; border-radius: 999px; background: linear-gradient(135deg, #7c3aed, #f43f5e); color: #fff; display: grid; place-items: center; font-size: 38px; box-shadow: 0 18px 40px rgba(124,58,237,.24); }
.point-shop-card h2 { margin: 0 0 6px; font-size: 24px; }
.point-shop-card p { margin: 0; color: #64748b; line-height: 1.55; }
.point-shop-card-meta { display: flex; gap: 10px; flex-wrap: wrap; }
.point-shop-cost-chip, .point-shop-grant-chip { display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; border-radius: 999px; background: #f8fafc; font-weight: 800; }
.point-shop-card-actions { display: flex; justify-content: flex-end; }
.points-shop-note-card { margin-top: 18px; }
.profile-custom-marquee-card { overflow: hidden; margin-top: 14px; }
.profile-custom-marquee-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 10px; }
.profile-custom-marquee-manage-btn, .point-marquee-primary, .point-marquee-secondary { border: 0; border-radius: 999px; padding: 10px 16px; font-weight: 900; cursor: pointer; }
.profile-custom-marquee-manage-btn, .point-marquee-primary { background: linear-gradient(135deg, #7c3aed, #f43f5e); color: #fff; box-shadow: 0 12px 28px rgba(124,58,237,.22); }
.point-marquee-secondary { background: #e2e8f0; color: #0f172a; }
.profile-custom-marquee-shell { overflow: hidden; border-radius: 22px; background: var(--profile-marquee-bg, #7c3aed); color: var(--profile-marquee-text, #fff); }
.profile-custom-marquee-track { display: inline-flex; gap: 26px; min-width: max-content; padding: 14px 0; animation: profileMarqueeScroll var(--profile-marquee-speed, 18s) linear infinite; }
.profile-custom-marquee-item { display: inline-flex; align-items: center; gap: 16px; padding-right: 10px; font-size: 18px; font-weight: 900; }
.profile-custom-marquee-text { white-space: nowrap; }
.profile-custom-marquee-image { border: 0; background: transparent; padding: 0; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.profile-custom-marquee-image img { width: 58px; height: 58px; object-fit: contain; border-radius: 16px; background: rgba(255,255,255,.16); padding: 6px; }
@keyframes profileMarqueeScroll { from { transform: translateX(0); } to { transform: translateX(-33.333%); } }
.point-marquee-modal.hidden, .point-shoutbox-modal.hidden, .point-shoutbox-post-modal.hidden, .point-shop-insufficient-modal.hidden { display: none !important; }
.point-marquee-modal, .point-shoutbox-modal, .point-shoutbox-post-modal, .point-shop-insufficient-modal { position: fixed; inset: 0; z-index: 2147483000; display: flex; align-items: flex-start; justify-content: center; padding: 82px 18px 24px; }
.point-marquee-backdrop, .point-shop-insufficient-backdrop { position: absolute; inset: 0; background: rgba(15,23,42,.72); backdrop-filter: blur(10px); }
.point-marquee-dialog, .point-shop-insufficient-dialog { position: relative; z-index: 1; width: min(760px, 96vw); max-height: min(88dvh, calc(100dvh - 112px)); overflow: auto; background: #fff; border-radius: 28px; padding: 18px; box-shadow: 0 28px 80px rgba(0,0,0,.32); margin: 0 auto; }
.point-shop-insufficient-dialog { width: min(430px, 92vw); text-align: center; }
.point-shop-insufficient-icon { width: 78px; height: 78px; margin: 0 auto 14px; border-radius: 999px; display: grid; place-items: center; font-size: 36px; background: linear-gradient(135deg, #7c3aed, #f43f5e); color: #fff; }
.point-shop-insufficient-actions { display: flex; justify-content: center; gap: 10px; margin-top: 18px; flex-wrap: wrap; }
.point-marquee-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.point-marquee-head h2 { margin: 0 0 4px; }
.point-marquee-head p { margin: 0; color: #64748b; }
.point-marquee-head button { border: 0; width: 40px; height: 40px; border-radius: 999px; background: #f1f5f9; font-size: 24px; cursor: pointer; }
.point-marquee-grid { display: grid; grid-template-columns: minmax(0,1fr) 240px; gap: 16px; align-items: stretch; }
.point-marquee-grid label { display: grid; gap: 8px; font-weight: 800; }
.point-marquee-grid textarea, .point-marquee-form-grid input[type="number"], .point-marquee-form-grid input[type="color"] { border: 1px solid #cbd5e1; border-radius: 14px; padding: 10px; }
.point-marquee-preview-box { min-height: 180px; border-radius: 20px; border: 1px solid #d0d5dd; background: linear-gradient(180deg,#f8fafc,#eef2f6); display: flex; align-items: center; justify-content: center; overflow: hidden; color: #64748b; }
.point-marquee-preview-box img { width: 100%; height: 100%; object-fit: contain; display: block; }
.point-marquee-form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; margin-top: 14px; }
.point-marquee-form-grid label { display: grid; gap: 8px; font-weight: 800; }
.point-marquee-upload-row { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 14px; }
.point-marquee-file { display: inline-flex; align-items: center; gap: 10px; border-radius: 999px; background: #111827; color: #fff; padding: 10px 16px; cursor: pointer; }
.point-marquee-file input { display: none; }
.point-marquee-progress { min-width: 220px; height: 12px; background: #e2e8f0; border-radius: 999px; position: relative; overflow: hidden; margin-top: 14px; }
.point-marquee-progress b { display: block; height: 100%; width: 0%; background: #7c3aed; }
.point-marquee-progress span { position: absolute; top: -24px; right: 0; font-size: 12px; }
.point-marquee-status { margin-top: 12px; color: #7c3aed; font-weight: 800; }
.point-marquee-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 14px; }
@media (max-width: 780px) {
  .point-marquee-grid { grid-template-columns: minmax(0,1fr); }
  .point-marquee-dialog { width: 100vw; min-height: 100dvh; max-height: 100dvh; border-radius: 0; }
}

.point-shoutbox-dialog, .point-shoutbox-post-dialog { width: min(820px, 96vw); }
.point-shoutbox-grid { grid-template-columns: 260px minmax(0,1fr); }
.point-shoutbox-sidecopy { color: #64748b; line-height: 1.6; display: flex; align-items: center; }
.point-shoutbox-form-grid select, .point-marquee-form-grid select { border: 1px solid #cbd5e1; border-radius: 14px; padding: 10px; }
.point-shoutbox-preview-box { min-height: 220px; }
.point-shoutbox-dim-note { color: #94a3b8; line-height: 1.6; }
.point-shoutbox-confirm { margin-top: 12px; padding: 14px; border-radius: 18px; background: linear-gradient(180deg,#f8fafc,#eef2f7); border: 1px solid #dbe5f0; }
.point-shoutbox-confirm.hidden { display: none !important; }
.profile-banner-shoutbox-card { position: absolute; left: 18px; right: 18px; bottom: 18px; z-index: 3; display: grid; gap: 10px; padding: 12px 14px; border-radius: 24px; background: var(--profile-shout-ui, rgba(15,23,42,.78)); color: var(--profile-shout-text, #fff); box-shadow: 0 20px 50px rgba(0,0,0,.28); backdrop-filter: blur(10px); }
.profile-banner-shoutbox-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.profile-banner-shoutbox-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.profile-banner-shoutbox-action { border: 0; border-radius: 999px; padding: 8px 14px; background: rgba(255,255,255,.16); color: #fff; text-decoration: none; font-weight: 800; cursor: pointer; }
.profile-banner-shoutbox-action.is-owner { background: linear-gradient(135deg,#7c3aed,#f43f5e); }
.profile-banner-shoutbox-action[disabled] { opacity: .55; cursor: not-allowed; }
.profile-banner-shoutbox-shell { position: relative; overflow: hidden; border-radius: 18px; background-color: var(--profile-shout-bg, #0f172a); background-image: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)), var(--profile-shout-bg-image, none); background-size: cover; background-position: center; padding: 10px 0; }
.profile-banner-shoutbox-track { display: inline-flex; min-width: max-content; gap: 18px; }
.profile-banner-shoutbox-direction-left .profile-banner-shoutbox-track { animation: profileShoutLeft var(--profile-shout-speed, 26s) linear infinite; }
.profile-banner-shoutbox-direction-right .profile-banner-shoutbox-track { animation: profileShoutRight var(--profile-shout-speed, 26s) linear infinite; }
.profile-banner-shoutbox-lane { display: inline-flex; gap: 18px; padding-right: 18px; }
.profile-banner-shoutbox-item { display: inline-flex; align-items: center; gap: 10px; font-family: var(--profile-shout-font, system-ui, sans-serif); }
.profile-banner-shoutbox-avatar img { width: 44px; height: 44px; object-fit: cover; border-radius: 999px; border: 2px solid rgba(255,255,255,.28); background: rgba(255,255,255,.14); }
.profile-banner-shoutbox-bubble { display: inline-flex; align-items: center; gap: 10px; white-space: nowrap; padding: 10px 14px; border-radius: 999px; background: var(--profile-shout-text-bg, rgba(255,255,255,.18)); color: var(--profile-shout-text, #fff); }
.profile-banner-shoutbox-name { color: inherit; font-weight: 900; text-decoration: none; }
.profile-banner-shoutbox-message { opacity: .96; }
.profile-banner-shoutbox-empty { display: inline-flex; align-items: center; white-space: nowrap; padding: 12px 16px; border-radius: 999px; background: var(--profile-shout-text-bg, rgba(255,255,255,.18)); font-weight: 800; }
@keyframes profileShoutLeft { from { transform: translateX(0); } to { transform: translateX(-33.333%); } }
@keyframes profileShoutRight { from { transform: translateX(-33.333%); } to { transform: translateX(0); } }
@media (max-width: 780px) {
  .point-shoutbox-grid { grid-template-columns: minmax(0,1fr); }
  .profile-banner-shoutbox-card { position: static; margin-top: 12px; }
}

.point-shoutbox-modal .point-marquee-dialog, .point-shoutbox-post-modal .point-marquee-dialog { position: relative; z-index: 1; }
.point-shoutbox-modal .point-marquee-backdrop, .point-shoutbox-post-modal .point-marquee-backdrop { position: absolute; inset: 0; }
@media (max-width: 780px) {
  .point-shoutbox-modal, .point-shoutbox-post-modal, .point-marquee-modal, .point-shop-insufficient-modal { padding: 64px 0 0; }
  .point-shoutbox-modal .point-marquee-dialog, .point-shoutbox-post-modal .point-marquee-dialog, .point-marquee-dialog { width: 100vw; min-height: calc(100dvh - 64px); max-height: calc(100dvh - 64px); border-radius: 22px 22px 0 0; }
}


.point-shop-card-image-wrap,
.achievement-card-image-wrap {
  width: 100%;
  min-height: 240px;
  max-height: 420px;
  overflow: hidden;
  border-radius: 24px;
  background: linear-gradient(180deg,#f8fafc,#eef2f6);
  display: grid;
  place-items: center;
}
.point-shop-card-image,
.achievement-card-image {
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 420px;
  object-fit: contain;
  display: block;
}
.achievement-card {
  overflow: hidden;
}
.achievement-card-body {
  min-width: 0;
}
.achievement-feature-list {
  overflow-wrap: anywhere;
}
.achievements-rail-card .point-shop-cta-copy { margin-bottom: 10px; }
.achievements-rail-meta { color: #64748b; font-size: 13px; line-height: 1.5; margin-top: 8px; }


.achievements-sidebar-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:12px 0 14px; }
.achievement-sidebar-tile { display:grid; gap:8px; padding:8px; border-radius:18px; border:1px solid #e2e8f0; background:linear-gradient(180deg,#fff,#f8fafc); text-decoration:none; color:#0f172a; min-width:0; box-shadow:inset 0 1px 0 rgba(255,255,255,.75); }
.achievement-sidebar-thumb { display:flex; align-items:center; justify-content:center; width:100%; aspect-ratio:1 / 1; border-radius:14px; overflow:hidden; background:#f8fafc; }
.achievement-sidebar-thumb img { width:100%; height:100%; object-fit:contain; display:block; }
.achievement-sidebar-name { font-size:12px; line-height:1.25; font-weight:800; color:#334155; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:30px; }
.achievements-sidebar-empty { grid-column:1 / -1; padding:12px; border-radius:16px; background:#f8fafc; color:#64748b; font-size:13px; }
.achievements-sidebar-more-btn { width:auto; align-self:flex-start; display:inline-flex; padding:7px 11px; font-size:12px; line-height:1; }
.achievements-rail-meta { margin-top:10px; color:#64748b; font-size:13px; }
.achievements-grid-shell { margin-top:18px; }
.achievements-compact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.achievement-compact-card { display:grid; gap:14px; overflow:hidden; }
.achievement-compact-card.is-hidden { display:none; }
.achievement-compact-media { width:100%; aspect-ratio:16 / 10; border-radius:22px; overflow:hidden; background:linear-gradient(180deg,#f8fafc,#eef2f6); display:flex; align-items:center; justify-content:center; }
.achievement-compact-media img { width:100%; height:100%; object-fit:contain; display:block; }
.achievement-compact-top { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.achievement-compact-title { margin:0; font-size:20px; line-height:1.2; }
.achievement-compact-copy { margin:8px 0 0; color:#64748b; line-height:1.45; }
.achievement-compact-meta-row { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:12px; }
.achievement-status-chip { display:inline-flex; align-items:center; padding:7px 10px; border-radius:999px; font-size:12px; font-weight:800; }
.achievement-status-earned { background:#dcfce7; color:#166534; }
.achievement-status-locked { background:#eef2ff; color:#4338ca; }
.achievement-status-revoked { background:#fee2e2; color:#991b1b; }
.achievement-earned-date { color:#64748b; font-size:12px; }
.achievements-load-more-wrap { display:flex; justify-content:center; margin-top:16px; }
.achievements-load-more-btn { min-width:220px; }
@media (max-width: 767px) {
  .achievements-compact-grid { grid-template-columns:minmax(0,1fr); }
}


.point-master-dialog { width: min(980px, 96vw); }
.point-master-grid { display:grid; grid-template-columns: 320px minmax(0,1fr); gap:18px; align-items:start; }
.point-master-preview {
  --pm-box-bg:#ffffff; --pm-box-border:#dbe5f0; --pm-box-text:#0f172a; --pm-header-bg:#eff6ff; --pm-header-text:#0f172a; --pm-post-bg:#f8fafc; --pm-post-text:#0f172a; --pm-accent:#2563eb; --pm-link:#2563eb; --pm-font:system-ui,sans-serif; --pm-radius:24px; --pm-shadow:18;
  display:grid; gap:12px; padding:14px; border-radius:26px; background:linear-gradient(180deg,#f8fafc,#eef2f6); border:1px solid #dbe5f0;
  position:sticky; top:0;
}
.point-master-preview * { font-family:var(--pm-font); }
.point-master-preview-header {
  padding:14px 16px; border-radius:var(--pm-radius); background:var(--pm-header-bg); color:var(--pm-header-text); border:1px solid var(--pm-box-border); font-weight:900;
}
.point-master-preview-card {
  padding:16px; border-radius:var(--pm-radius); background:var(--pm-box-bg); color:var(--pm-box-text); border:1px solid var(--pm-box-border); box-shadow:0 16px calc(24px + (var(--pm-shadow) * 1px)) rgba(15,23,42,.12);
}
.point-master-preview-card p { margin:8px 0 0; color:inherit; }
.point-master-preview-post {
  margin-top:14px; padding:12px 14px; border-radius:calc(var(--pm-radius) - 8px); background:var(--pm-post-bg); color:var(--pm-post-text); border:1px solid var(--pm-box-border);
}
.point-master-preview-controls {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
.point-master-preview-controls span {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:8px 12px;
  border:1px solid var(--pm-control-border, #111827);
  border-radius:var(--pm-control-radius, 999px);
  background:var(--pm-control-bg, #111827);
  color:var(--pm-control-text, #ffffff);
  box-shadow:0 10px calc(14px + (var(--pm-control-shadow, 18) * 1px)) rgba(15,23,42,.16);
  font-size:12px;
  font-weight:900;
}
.point-master-preview-avatars {
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:14px;
}
.point-master-preview-avatars span {
  width:46px;
  height:46px;
  border-radius:var(--pm-avatar-radius, 999px);
  border:3px solid color-mix(in srgb, var(--pm-accent, #2563eb) 70%, #ffffff);
  background:
    radial-gradient(circle at 50% 36%, #f8fafc 0 18%, transparent 19%),
    radial-gradient(circle at 50% 92%, #cbd5e1 0 38%, transparent 39%),
    linear-gradient(135deg, #dbeafe, #fce7f3);
  box-shadow:0 10px 22px rgba(15,23,42,.12);
}
.point-master-form-grid input[type="range"] { width:100%; }
.point-master-form-grid .check-row { align-self:end; }
@media (max-width: 860px) {
  .point-master-grid { grid-template-columns:minmax(0,1fr); }
  .point-master-preview { position:static; }
}


/* Repair: profile shoutbox above banner card, compact gifts, and sticky sidebars */
body.profile-page .profile-banner-shoutbox-card {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 2;
  margin: 0 0 14px;
  width: 100%;
}
body.profile-page .profile-banner-card { overflow: visible; }
body.profile-page .profile-sidebar-gifts-card { overflow: hidden; }
body.profile-page .profile-gifts-head {
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 10px;
}
body.profile-page .profile-gifts-head h3 { font-size: 18px; }
body.profile-page .profile-gifts-head p { font-size: 12px; line-height: 1.35; }
body.profile-page .profile-gifts-head .gift-send-open-btn { flex: 0 0 auto; padding: 9px 12px; font-size: 12px; }
body.profile-page .profile-gifts-strip {
  grid-auto-columns: minmax(132px, 162px);
  gap: 10px;
}
body.profile-page .profile-gift-tile { padding: 10px; }
body.profile-page .profile-gift-tile img { width: 60px; height: 60px; }
body.profile-page .profile-gift-tile strong { font-size: 13px; line-height: 1.25; }
body.profile-page .profile-gift-tile small,
body.profile-page .profile-gift-tile em { font-size: 11px; line-height: 1.3; }
@media (min-width: 981px) {
  body.home-feed-page .left-sidebar,
  body.home-feed-page .right-sidebar,
  body.profile-page .left-sidebar,
  body.profile-page .right-sidebar {
    align-self: start;
    position: sticky;
    top: 72px;
    /*max-height: calc(100dvh - 92px);*/
    overflow-y: auto;
    overflow-x: hidden;
scrollbar-width: none;
  }
  body.home-feed-page .left-sidebar .feed-sidebar-stack,
  body.home-feed-page .right-sidebar .feed-sidebar-stack,
  body.profile-page .profile-left-sidebar-stack,
  body.profile-page .profile-sidebar-stack {
    position: static !important;
    top: auto !important;
    max-height: none !important;
    overflow: visible !important;
    padding-bottom: 0 !important;
  }
}


.point-master-modal.hidden { display:none !important; }
.point-master-modal { position:fixed; inset:0; z-index:2147483100; display:flex; align-items:flex-start; justify-content:center; padding:82px 18px 24px; }
.profile-owner-preview-strip,
.profile-owner-preview-sidecard{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.profile-owner-preview-strip p,
.profile-owner-preview-sidecard p{ margin:4px 0 0; color:#64748b; }
.profile-sidebar-head-actions{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.profile-sidebar-visibility-toggle{ border:0; border-radius:999px; padding:7px 10px; font-weight:500; cursor:pointer; background:linear-gradient(135deg,#0f172a,#334155); color:#fff; font-size:11px; box-shadow:0 8px 18px rgba(15,23,42,.14); }
body.profile-page .profile-owner-preview-sidecard{gap:8px}
body.profile-page .profile-owner-preview-sidecard strong{font-size:12px;line-height:1.15}
body.profile-page .profile-owner-preview-sidecard p{margin-top:2px;font-size:11px;line-height:1.25}
body.profile-page .profile-owner-preview-sidecard .point-shop-cta-btn{min-height:28px;padding:6px 10px;font-size:11px;line-height:1.05;text-align:center;white-space:normal;max-width:96px;box-shadow:0 8px 18px rgba(124,58,237,.18)}
body.profile-page .profile-sidebar-head-actions{gap:5px}
body.profile-page .profile-sidebar-visibility-toggle{min-height:22px!important;padding:4px 8px!important;font-size:9.5px!important;font-weight:500!important;line-height:1.05!important;text-align:center;white-space:normal;max-width:92px;box-shadow:0 6px 13px rgba(15,23,42,.12)!important}
body.profile-page.preview-public-mode .profile-media-owner-actions,
body.profile-page.preview-public-mode .profile-media-avatar-floating-btn,
body.profile-page.preview-public-mode [data-profile-marquee-manage-open],
body.profile-page.preview-public-mode [data-profile-shoutbox-manage-open],
body.profile-page.preview-public-mode [data-profile-master-open],
body.profile-page.preview-public-mode [data-banner-reposition-toggle],
body.profile-page.preview-public-mode .profile-power-strip a,
body.profile-page.preview-public-mode .story-add-btn,
body.profile-page.preview-public-mode .story-manage-btn{ display:none !important; }


/* Mobile fix: Profile Master modal must overlay above everything */
html.point-master-open,
html.point-master-open body {
  overflow: hidden !important;
}
.point-master-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483646 !important;
  isolation: isolate;
  align-items: flex-start;
  justify-content: center;
}
.point-master-modal .point-marquee-backdrop {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
}
.point-master-modal .point-master-dialog {
  position: relative;
  z-index: 1;
  margin: 0 auto;
}
@media (max-width: 860px) {
  .point-master-modal {
    padding: max(58px, env(safe-area-inset-top)) 0 0 !important;
    align-items: flex-start !important;
    justify-content: center !important;
  }
  .point-master-modal .point-master-dialog {
    width: 100vw !important;
    min-height: calc(100dvh - max(58px, env(safe-area-inset-top))) !important;
    max-height: calc(100dvh - max(58px, env(safe-area-inset-top))) !important;
    border-radius: 22px 22px 0 0 !important;
    padding: 16px 14px calc(20px + env(safe-area-inset-bottom)) !important;
    overflow: auto !important;
    -webkit-overflow-scrolling: touch;
    box-shadow: 0 0 0 rgba(0,0,0,0) !important;
  }
  .point-master-modal .point-master-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
  }
  .point-master-modal .point-master-preview {
    position: static !important;
  }
}


/* Main feed sidebar end-gap fix */
@media (min-width: 981px) {
  body.home-feed-page .left-sidebar,
  body.home-feed-page .right-sidebar {
    padding-bottom: 120px !important;
    scroll-padding-bottom: 120px !important;
  }

  body.home-feed-page .left-sidebar .feed-sidebar-stack,
  body.home-feed-page .right-sidebar .feed-sidebar-stack {
    padding-bottom: 120px !important;
  }

  body.home-feed-page .left-sidebar .feed-rail-box:last-child,
  body.home-feed-page .right-sidebar .feed-rail-box:last-child,
  body.home-feed-page .left-sidebar .feed-left-nav-card:last-child,
  body.home-feed-page .right-sidebar .feed-left-nav-card:last-child {
    margin-bottom: 90px !important;
  }
}

.reaction-slot-manager{display:grid;gap:16px;border-radius:24px}
.reaction-slot-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.reaction-slot-head h2{margin:0 0 6px}.reaction-slot-head p{margin:0;color:#64748b}.reaction-slot-head [data-reaction-slot-count]{font-weight:900;padding:10px 14px;border-radius:999px;background:#111827;color:#fff}
.reaction-slot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.reaction-slot-choice{position:relative;display:flex;align-items:center;gap:10px;padding:14px;border:1px solid rgba(15,23,42,.12);border-radius:18px;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.05);cursor:pointer;transition:opacity .15s ease,transform .15s ease,border-color .15s ease}.reaction-slot-choice:hover{transform:translateY(-1px)}.reaction-slot-choice input{position:absolute;opacity:0;pointer-events:none}.reaction-slot-choice.is-checked{border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.14),0 10px 24px rgba(15,23,42,.06)}.reaction-slot-choice.is-disabled{opacity:.38}.reaction-slot-choice.is-disabled:not(.is-checked){cursor:not-allowed}.reaction-slot-emoji{font-size:28px;line-height:1}.reaction-slot-choice strong{display:block}.reaction-slot-choice small{display:block;color:#64748b;font-weight:800}.reaction-slot-note{margin:0;color:#64748b}.reaction-slot-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}[data-reaction-loadout-status]{font-weight:800;color:#64748b}


/* Profile full-width top layout hotfix: shoutbox above true full-width banner */
@media (min-width:981px){
  body.profile-page .layout-grid{
    align-items:start;
  }
  body.profile-page .main-content{
    display:contents!important;
  }
  body.profile-page .main-content > *{
    grid-column:2;
    min-width:0;
  }
  body.profile-page .profile-banner-shoutbox-card{
    grid-column:1 / -1!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    top:auto!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    z-index:3!important;
    order:0;
  }
  body.profile-page .profile-banner-card{
    grid-column:1 / -1!important;
    width:100%!important;
    max-width:none!important;
    order:1;
    overflow:visible!important;
    border-radius:18px!important;
  }
  body.profile-page .profile-banner-card .profile-banner{
    height:300px!important;
    border-radius:18px 18px 0 0!important;
  }
  body.profile-page .left-sidebar{
    grid-column:1!important;
    grid-row:auto!important;
    order:2;
  }
  body.profile-page .right-sidebar{
    grid-column:3!important;
    grid-row:auto!important;
    order:2;
  }
  body.profile-page .profile-action-rail-card,
  body.profile-page .profile-custom-marquee-card,
  body.profile-page .profile-tabs-card,
  body.profile-page .profile-tabs-toolbar-card,
  body.profile-page .composer-launcher-card,
  body.profile-page .feed-toolbar-card,
  body.profile-page #profile-feed,
  body.profile-page .profile-feed-list,
  body.profile-page .profile-section-card,
  body.profile-page .card:not(.profile-banner-card):not(.profile-banner-shoutbox-card){
    grid-column:2;
  }
}
@media (max-width:980px){
  body.profile-page .profile-banner-shoutbox-card{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    top:auto!important;
    margin:0 0 12px 0!important;
  }
}


/* Corrected aligned profile layout:
   Shoutbox full width, standalone banner full width,
   then sidebars align with separate bio/avatar box and feed below center column. */
@media (min-width:981px){
  body.profile-page .layout-grid{
    display:grid!important;
    grid-template-columns:220px minmax(0,1fr) 260px!important;
    grid-auto-rows:auto!important;
    align-items:start!important;
  }
  body.profile-page .main-content{
    display:contents!important;
  }
  body.profile-page .main-content > *{
    grid-column:2!important;
    min-width:0!important;
  }

  body.profile-page .profile-banner-shoutbox-card{
    grid-column:1 / -1!important;
    grid-row:1!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    z-index:3!important;
  }

  body.profile-page .profile-banner-standalone-card,
  body.profile-page .profile-banner-card{
    grid-column:1 / -1!important;
    grid-row:2!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border-radius:22px!important;
  }
  body.profile-page .profile-banner-standalone-card .profile-banner,
  body.profile-page .profile-banner-card .profile-banner{
    height:500px!important;
    border-radius:22px!important;
  }

  body.profile-page .left-sidebar{
    grid-column:1!important;
    grid-row:3 / span 100!important;
    align-self:start!important;
  }
  body.profile-page .right-sidebar{
    grid-column:3!important;
    grid-row:3 / span 100!important;
    align-self:start!important;
  }

  body.profile-page .profile-bio-card{
    grid-column:2!important;
    grid-row:3!important;
    margin:0!important;
    padding:18px!important;
    border-radius:22px!important;
  }
  body.profile-page .profile-bio-card.profile-banner-under{
    padding:18px!important;
  }
  body.profile-page .profile-bio-card .profile-head-banner{
    margin-top:0!important;
  }
  body.profile-page .profile-bio-card .profile-identity{
    display:flex!important;
    align-items:flex-start!important;
    gap:16px!important;
  }
  body.profile-page .profile-bio-card .profile-avatar-banner{
    width:96px!important;
    height:96px!important;
    border-width:3px!important;
    box-shadow:0 10px 26px rgba(15,23,42,.18)!important;
  }
  body.profile-page .profile-bio-card .profile-text h2{
    margin:0 0 4px 0!important;
  }
  body.profile-page .profile-bio-card .profile-meta{
    width:auto!important;
  }

  body.profile-page .profile-action-rail-card,
  body.profile-page .profile-custom-marquee-card,
  body.profile-page .profile-tabs-card,
  body.profile-page .profile-tabs-toolbar-card,
  body.profile-page .composer-launcher-card,
  body.profile-page .feed-toolbar-card,
  body.profile-page .profile-section-card,
  body.profile-page #profile-feed,
  body.profile-page .profile-feed-list{
    grid-column:2!important;
  }
}
@media (max-width:980px){
  body.profile-page .profile-banner-standalone-card{
    padding:0!important;
    overflow:hidden!important;
  }
  body.profile-page .profile-bio-card .profile-head-banner{
    margin-top:0!important;
  }
  body.profile-page .profile-bio-card .profile-text h2{
    margin-top:8px!important;
  }
}
