/* SORA Project v127 — scroll stability, profile activity and final UI polish */

html.modal-open,
body.modal-open { height: auto !important; }
body.sora-scroll-locked {
  position: fixed !important;
  inset-inline: 0 !important;
  width: 100% !important;
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

/* Release actions: readable labels without oversized empty buttons. */
.release-page .release-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}
.release-page .release-action-btn {
  flex: 0 0 auto !important;
  min-height: 44px !important;
  width: auto !important;
  min-width: max-content !important;
  padding: 0 18px !important;
  gap: 9px !important;
  border-radius: 13px !important;
}
.release-page .release-action-btn span {
  font-size: 12.5px !important;
  line-height: 1.15 !important;
  font-weight: 850 !important;
  letter-spacing: -.01em !important;
  white-space: nowrap !important;
}
.release-page .release-action-btn i { font-size: 13px !important; }

/* Participant controls: opaque surfaces and integer sizes keep glyphs sharp. */
.release-page .release-participant-button {
  min-height: 60px !important;
  grid-template-columns: 42px minmax(0,1fr) max-content !important;
  gap: 11px !important;
  padding: 8px 12px !important;
  background: #0c1b2b !important;
  backdrop-filter: none !important;
  filter: none !important;
  transform: none !important;
  backface-visibility: visible !important;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
}
.release-page .release-participant-visual {
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  background: #10283d !important;
  box-shadow: inset 0 0 0 1px rgba(83,181,255,.36) !important;
  filter: none !important;
}
.release-page .release-participant-visual > span {
  image-rendering: auto !important;
  filter: none !important;
  transform: none !important;
}
.release-page .release-participant-button-copy strong {
  font-size: 12.5px !important;
  line-height: 1.15 !important;
  font-weight: 850 !important;
}
.release-page .release-participant-button-copy small {
  margin-top: 3px !important;
  font-size: 9.6px !important;
  line-height: 1.2 !important;
  color: #93a7bc !important;
}

/* Recommendation cards share one baseline regardless of title length. */
.release-page .recommend-card {
  display: grid !important;
  grid-template-rows: auto minmax(2.55em,auto) 24px !important;
  align-content: start !important;
  gap: 7px !important;
}
.release-page .recommend-card > strong {
  margin: 0 !important;
  align-self: start !important;
  min-height: 2.55em !important;
  line-height: 1.27 !important;
}
.release-page .recommend-meta {
  display: grid !important;
  grid-template-columns: max-content minmax(0,1fr) !important;
  align-items: center !important;
  gap: 6px !important;
  min-width: 0 !important;
  min-height: 24px !important;
  margin: 0 !important;
  overflow: hidden !important;
}
.release-page .recommend-year {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 20px !important;
  padding: 2px 7px !important;
  border: 1px solid rgba(78,176,255,.28) !important;
  border-radius: 999px !important;
  background: rgba(32,146,239,.15) !important;
  color: #73c8ff !important;
  font-weight: 850 !important;
  line-height: 1 !important;
}
.release-page .recommend-genres {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.release-page .recommend-genres::before { display: none !important; }

/* Public profile presence and real heartbeat-backed watch history. */
.profile-last-seen {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 5px;
  color: #9fb1c5;
  font-size: 11px;
  font-weight: 700;
}
.profile-last-seen i { color: #49b9ff; }
.profile-watch-history {
  margin-top: 12px;
  padding-top: 11px;
  border-top: 1px solid rgba(98,154,203,.13);
}
.profile-watch-history-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 7px;
}
.profile-watch-history-head span { color:#eef7ff; font-size:11px; font-weight:850; }
.profile-watch-history-head small { color:#71869b; font-size:9px; }
.profile-watch-history-list { display:grid; gap:6px; }
.profile-watch-history-item {
  display: grid;
  grid-template-columns: 38px minmax(0,1fr) max-content;
  align-items: center;
  gap: 9px;
  min-width: 0;
  padding: 5px;
  border: 1px solid rgba(86,150,202,.12);
  border-radius: 10px;
  background: rgba(5,14,24,.42);
  color: inherit;
  text-decoration: none;
  transition: transform .28s cubic-bezier(.16,1,.3,1), border-color .28s ease, background-color .28s ease;
}
.profile-watch-history-item:hover { transform:translate3d(0,-1px,0); border-color:rgba(58,175,255,.34); background:rgba(13,34,53,.72); }
.profile-watch-history-item img { width:38px; height:52px; border-radius:7px; object-fit:cover; }
.profile-watch-history-item > span { display:grid; gap:3px; min-width:0; }
.profile-watch-history-item strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:10.5px; }
.profile-watch-history-item small { color:#7fa4c2; font-size:9px; }
.profile-watch-history-item time { color:#6f8498; font-size:8.5px; white-space:nowrap; }
.profile-watch-history-empty { margin:0; color:#71869b; font-size:9.5px; }

/* Safe maintenance control. */
.health-optimization-card {
  display: grid;
  grid-template-columns: 48px minmax(0,1fr) max-content;
  align-items: center;
  gap: 15px;
  margin: 18px 0;
  padding: 16px;
  border: 1px solid rgba(65,177,255,.2);
  border-radius: 15px;
  background: linear-gradient(135deg,rgba(20,66,101,.48),rgba(8,25,40,.72));
}
.health-optimization-icon { display:grid; place-items:center; width:48px; height:48px; border-radius:14px; color:#75ceff; background:rgba(34,151,237,.17); font-size:20px; }
.health-optimization-card strong { display:block; color:#f3f8ff; font-size:14px; }
.health-optimization-card p { max-width:720px; margin:5px 0 0; color:#91a6ba; font-size:11px; line-height:1.45; }
.health-optimization-card form { margin:0; }

/* OAuth options stay visible; unavailable providers clearly explain state. */
.auth-social-button { position:relative; }
.auth-social-button small { margin-left:auto; font-size:9px; opacity:.72; }
.auth-social-button.is-disabled { cursor:not-allowed; opacity:.58; filter:saturate(.65); box-shadow:none !important; transform:none !important; }
.auth-social-button.provider-google { background:#fff !important; color:#202124 !important; }

/* Remove the browser resize affordance from comment composer. */
.release-page .comments-block textarea { resize:none !important; }
.release-page .comments-block textarea::-webkit-resizer { display:none !important; width:0 !important; height:0 !important; background:transparent !important; }

/* Every frame has its own silhouette. Only the royal frame uses a crown. */
.avatar-frame:not(.avatar-frame-none) { overflow:visible !important; }
.avatar-frame:not(.avatar-frame-none)::before,
.avatar-frame:not(.avatar-frame-none)::after { content:""; position:absolute; pointer-events:none; z-index:4; }
.avatar-frame:not(.avatar-frame-none)::after {
  width:0 !important;
  height:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
:root .avatar-frame.avatar-frame-academy::before,
:root .avatar-frame.avatar-frame-sakura::before,
:root .avatar-frame.avatar-frame-slime::before,
:root .avatar-frame.avatar-frame-strawhat::before,
:root .avatar-frame.avatar-frame-neon::before,
:root .avatar-frame.avatar-frame-ocean::before,
:root .avatar-frame.avatar-frame-violet::before,
:root .avatar-frame.avatar-frame-flame::before,
:root .avatar-frame.avatar-frame-gold::before,
:root .avatar-frame.avatar-frame-ice::before,
:root .avatar-frame.avatar-frame-manga::before,
:root .avatar-frame.avatar-frame-cyber::before,
:root .avatar-frame.avatar-frame-emerald::before,
:root .avatar-frame.avatar-frame-storm::before,
:root .avatar-frame.avatar-frame-cosmos::before,
:root .avatar-frame.avatar-frame-rose::before,
:root .avatar-frame.avatar-frame-ruby::before,
:root .avatar-frame.avatar-frame-aqua::before,
:root .avatar-frame.avatar-frame-kage::before,
:root .avatar-frame.avatar-frame-legend::before {
  min-width:0 !important;
  border:0 !important;
  border-radius:0 !important;
  clip-path:none !important;
  background:transparent !important;
  filter:none !important;
  transform:none !important;
}
:root .avatar-frame.avatar-frame-academy { border-radius:14% 14% 34% 34% !important; border-color:#cbd5e1 !important; box-shadow:0 0 0 3px #334155,0 0 18px rgba(148,163,184,.34) !important; }
:root .avatar-frame.avatar-frame-academy::before { inset:-9px -7px auto !important; width:auto !important; height:13px !important; clip-path:polygon(0 100%,8% 0,50% 36%,92% 0,100% 100%) !important; background:linear-gradient(90deg,#64748b,#e2e8f0,#64748b) !important; transform:none !important; }
:root .avatar-frame.avatar-frame-academy::after { left:50% !important; right:auto !important; bottom:-10px !important; width:31px !important; height:12px !important; clip-path:polygon(0 0,100% 0,80% 100%,50% 66%,20% 100%) !important; background:#475569 !important; transform:translateX(-50%) !important; }
:root .avatar-frame.avatar-frame-sakura { border-radius:50% 45% 50% 46% !important; }
:root .avatar-frame.avatar-frame-sakura::before { left:-11px !important; top:5px !important; width:22px !important; height:22px !important; background:radial-gradient(circle,#fff 0 10%,#ff75af 12% 42%,transparent 44%),radial-gradient(circle at 20% 20%,#ffd1e4 0 30%,transparent 32%) !important; transform:rotate(-22deg) !important; }
:root .avatar-frame.avatar-frame-sakura::after { right:-10px !important; bottom:4px !important; width:24px !important; height:24px !important; background:radial-gradient(circle,#fff 0 10%,#ff8fbd 12% 42%,transparent 44%),radial-gradient(circle at 80% 80%,#ffd1e4 0 30%,transparent 32%) !important; }
:root .avatar-frame.avatar-frame-slime { border-radius:54% 46% 58% 42% !important; border-color:#36ec84 !important; }
:root .avatar-frame.avatar-frame-slime::before { inset:auto 7px -13px !important; width:auto !important; height:19px !important; clip-path:polygon(0 0,100% 0,88% 50%,81% 100%,69% 42%,53% 83%,39% 36%,24% 91%,12% 48%) !important; background:#42ef8c !important; transform:none !important; }
:root .avatar-frame.avatar-frame-slime::after { right:-8px !important; top:18px !important; width:12px !important; height:17px !important; border-radius:58% 42% 65% 35% !important; background:#a8ffc9 !important; }
:root .avatar-frame.avatar-frame-strawhat::before { inset:-15px -13px auto !important; width:auto !important; height:21px !important; border-radius:50% !important; background:linear-gradient(#f8d477 0 43%,#d93c38 44% 61%,#dca738 62%) !important; transform:none !important; }
:root .avatar-frame.avatar-frame-neon { border-radius:17% !important; box-shadow:0 0 0 3px #13dcff,0 0 0 5px #e841ff,0 0 22px rgba(32,224,255,.46) !important; }
:root .avatar-frame.avatar-frame-neon::before { right:-10px !important; top:-8px !important; width:20px !important; height:31px !important; clip-path:polygon(55% 0,100% 0,67% 42%,94% 42%,22% 100%,40% 56%,8% 56%) !important; background:linear-gradient(#fff,#29dbff,#ea3cff) !important; transform:none !important; }
:root .avatar-frame.avatar-frame-ocean { border-radius:50% 44% 52% 42% !important; border-color:#43c7f7 !important; }
:root .avatar-frame.avatar-frame-ocean::before { inset:auto -8px -8px !important; width:auto !important; height:23px !important; clip-path:polygon(0 53%,14% 21%,28% 62%,43% 14%,58% 63%,73% 20%,88% 59%,100% 32%,100% 100%,0 100%) !important; background:linear-gradient(180deg,#dff8ff,#22aee8) !important; transform:none !important; }
:root .avatar-frame.avatar-frame-violet { border-radius:20% !important; transform:rotate(0) !important; }
:root .avatar-frame.avatar-frame-violet::before { left:-10px !important; top:50% !important; width:19px !important; height:31px !important; clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%) !important; background:linear-gradient(135deg,#f3e8ff,#8b5cf6) !important; transform:translateY(-50%) !important; }
:root .avatar-frame.avatar-frame-flame { border-radius:43% 43% 52% 52% !important; }
:root .avatar-frame.avatar-frame-flame::before { left:-13px !important; right:-13px !important; top:auto !important; bottom:-12px !important; width:auto !important; height:31px !important; clip-path:polygon(0 100%,5% 44%,17% 79%,27% 8%,39% 70%,50% 27%,62% 72%,74% 0,84% 78%,96% 38%,100% 100%) !important; background:linear-gradient(180deg,#fff4a7,#ff922f 47%,#ef3434) !important; transform:none !important; }
:root .avatar-frame.avatar-frame-gold::before { left:50% !important; top:-18px !important; width:48px !important; height:23px !important; clip-path:polygon(0 100%,7% 24%,30% 66%,50% 0,70% 66%,93% 24%,100% 100%) !important; background:linear-gradient(135deg,#fff6a7,#e6a82d 70%,#fff1a0) !important; transform:translateX(-50%) !important; }
:root .avatar-frame.avatar-frame-ice { border-radius:31% 47% 35% 45% !important; }
:root .avatar-frame.avatar-frame-ice::before { inset:-10px !important; width:auto !important; height:auto !important; clip-path:polygon(50% 0,58% 9%,72% 2%,77% 15%,94% 11%,89% 28%,100% 40%,90% 50%,98% 67%,82% 71%,81% 91%,63% 86%,50% 100%,39% 87%,20% 94%,18% 75%,1% 68%,10% 50%,0 36%,15% 29%,8% 12%,28% 15%,36% 2%) !important; background:linear-gradient(135deg,rgba(225,248,255,.9),rgba(99,203,244,.28)) !important; transform:none !important; z-index:-1 !important; }
:root .avatar-frame.avatar-frame-manga { border-radius:7px !important; box-shadow:6px 6px 0 #fff,9px 9px 0 #111827 !important; }
:root .avatar-frame.avatar-frame-manga::before { left:auto !important; right:-13px !important; top:-13px !important; width:28px !important; height:24px !important; clip-path:polygon(0 0,100% 0,100% 72%,52% 72%,24% 100%,28% 72%,0 72%) !important; background:#fff !important; transform:none !important; }
:root .avatar-frame.avatar-frame-cyber { border-radius:10% !important; }
:root .avatar-frame.avatar-frame-cyber::before { inset:-8px !important; width:auto !important; height:auto !important; clip-path:polygon(0 0,30% 0,30% 5%,70% 5%,70% 0,100% 0,100% 30%,95% 30%,95% 70%,100% 70%,100% 100%,70% 100%,70% 95%,30% 95%,30% 100%,0 100%,0 70%,5% 70%,5% 30%,0 30%) !important; background:linear-gradient(135deg,#23e4ff,#7955ff,#ed3aff) !important; transform:none !important; z-index:-1 !important; }
:root .avatar-frame.avatar-frame-emerald { border-radius:38% !important; }
:root .avatar-frame.avatar-frame-emerald::before { left:-10px !important; bottom:1px !important; top:auto !important; width:21px !important; height:39px !important; clip-path:polygon(50% 0,100% 25%,67% 50%,100% 76%,50% 100%,0 76%,33% 50%,0 25%) !important; background:linear-gradient(#baf7d9,#10b981) !important; transform:rotate(-18deg) !important; }
:root .avatar-frame.avatar-frame-storm { border-radius:49% 37% 48% 42% !important; }
:root .avatar-frame.avatar-frame-storm::before { right:-9px !important; top:-8px !important; width:22px !important; height:37px !important; clip-path:polygon(56% 0,100% 0,67% 41%,94% 41%,22% 100%,40% 55%,8% 55%) !important; background:linear-gradient(#fff,#9ba8ff,#5461e8) !important; transform:none !important; }
:root .avatar-frame.avatar-frame-cosmos::before { inset:-9px !important; width:auto !important; height:auto !important; border:3px solid #69e7ff !important; border-top-color:transparent !important; border-left-color:transparent !important; border-radius:50% !important; background:transparent !important; transform:rotate(-18deg) !important; }
:root .avatar-frame.avatar-frame-rose::before { left:-12px !important; top:2px !important; width:25px !important; height:49px !important; border-radius:50% !important; background:radial-gradient(circle at 50% 18%,#fff 0 7%,#e53b68 9% 27%,transparent 29%),radial-gradient(circle at 50% 52%,#fff 0 7%,#fb7185 9% 27%,transparent 29%),radial-gradient(circle at 50% 85%,#fff 0 7%,#be123c 9% 27%,transparent 29%) !important; transform:rotate(-12deg) !important; }
:root .avatar-frame.avatar-frame-ruby { border-radius:15% 15% 43% 43% !important; }
:root .avatar-frame.avatar-frame-ruby::before { inset:-8px !important; width:auto !important; height:auto !important; clip-path:polygon(50% 0,88% 12%,100% 45%,84% 82%,50% 100%,16% 82%,0 45%,12% 12%) !important; background:linear-gradient(135deg,#ffb6b6,#8f1111) !important; transform:none !important; z-index:-1 !important; }
:root .avatar-frame.avatar-frame-aqua::before { left:50% !important; top:-18px !important; width:20px !important; height:28px !important; border-radius:60% 40% 62% 38% !important; background:radial-gradient(circle at 30% 23%,#fff 0 11%,transparent 13%),linear-gradient(135deg,#d2fff7,#16b8aa) !important; transform:translateX(-50%) rotate(45deg) !important; }
:root .avatar-frame.avatar-frame-kage { border-radius:50% !important; }
:root .avatar-frame.avatar-frame-kage::before { inset:-10px !important; width:auto !important; height:auto !important; clip-path:polygon(50% 0,59% 34%,85% 15%,65% 40%,100% 50%,65% 60%,85% 85%,59% 66%,50% 100%,41% 66%,15% 85%,35% 60%,0 50%,35% 40%,15% 15%,41% 34%) !important; background:linear-gradient(135deg,#ffef9c,#ec721b) !important; transform:none !important; z-index:-1 !important; }
:root .avatar-frame.avatar-frame-legend::before { inset:auto -18px 6px !important; width:auto !important; height:36px !important; clip-path:polygon(0 50%,23% 0,40% 39%,50% 18%,60% 39%,77% 0,100% 50%,77% 100%,60% 61%,50% 82%,40% 61%,23% 100%) !important; background:linear-gradient(90deg,#55e8ff,#8b5cf6,#facc15,#ed4ea0) !important; transform:none !important; z-index:-1 !important; }

@media (max-width: 760px) {
  .release-page .release-actions { justify-content:center !important; }
  .release-page .release-action-btn { min-height:42px !important; padding:0 12px !important; }
  .release-page .release-action-btn span { font-size:11.2px !important; }
  .release-page .release-participant-button { min-height:58px !important; grid-template-columns:40px minmax(0,1fr) max-content !important; padding:8px 10px !important; }
  .release-page .release-participant-visual { width:40px !important; min-width:40px !important; height:40px !important; }
  .release-page .release-participant-button-copy strong { font-size:11.7px !important; }
  .release-page .release-participant-button-copy small { font-size:9.2px !important; }
  .health-optimization-card { grid-template-columns:42px minmax(0,1fr); }
  .health-optimization-icon { width:42px; height:42px; }
  .health-optimization-card form { grid-column:1 / -1; }
  .health-optimization-card .btn { width:100%; justify-content:center; }
  .profile-watch-history-item { grid-template-columns:34px minmax(0,1fr); }
  .profile-watch-history-item img { width:34px; height:48px; }
  .profile-watch-history-item time { display:none; }
}

@media (prefers-reduced-motion: reduce) {
  .profile-watch-history-item { transition:none !important; }
}
