/* =====================================================================
   SORA Project v90 — visual skin for the original v87 structure
   IMPORTANT: no page logic, forms, fields, grids or content order changed.
   The file only refreshes colour, surfaces, typography, states and motion.
   ===================================================================== */

:root {
  color-scheme: dark;
  --bg: #060a11;
  --surface: #0d1420;
  --surface-2: #111b2a;
  --surface-3: #172337;
  --border: rgba(126, 155, 197, .16);
  --text: #f5f8fc;
  --text-muted: #8f9db1;
  --accent: #2587ff;
  --accent-2: #55c2ff;
  --danger: #ff6378;
  --success: #32d49a;
  --warning: #ffb84d;
  --radius: 16px;
  --radius-sm: 10px;
  --shadow-lg: 0 28px 80px rgba(0, 0, 0, .42);

  --v84-surface: #0d1420;
  --v84-surface-2: #111b2a;
  --v84-surface-3: #172337;
  --v84-line: rgba(126, 155, 197, .16);
  --v84-line-strong: rgba(126, 170, 230, .28);
  --v84-text: #f5f8fc;
  --v84-muted: #8f9db1;
  --v84-cyan: #55c2ff;
  --v84-purple: #2587ff;
  --v84-pink: #ff6378;
  --v84-green: #32d49a;
  --v84-radius: 20px;
  --v84-shadow: 0 28px 80px rgba(0, 0, 0, .42);
  --v84-ease: cubic-bezier(.25, 1, .5, 1);

  --v90-panel: linear-gradient(155deg, rgba(15, 24, 38, .97), rgba(8, 14, 23, .985));
  --v90-panel-soft: rgba(255, 255, 255, .028);
  --v90-border: rgba(126, 155, 197, .16);
  --v90-border-strong: rgba(73, 159, 255, .32);
  --v90-blue-soft: rgba(37, 135, 255, .12);
  --v90-blue-glow: 0 0 0 1px rgba(52, 145, 255, .16), 0 18px 45px rgba(22, 103, 222, .16);
  --v90-shadow-card: 0 18px 44px rgba(0, 0, 0, .25);
  --v90-ease: cubic-bezier(.25, 1, .5, 1);
}

:root[data-theme="light"] {
  color-scheme: light;
  --bg: #edf3fb;
  --surface: #ffffff;
  --surface-2: #f5f8fd;
  --surface-3: #e9f0fa;
  --border: rgba(45, 72, 110, .14);
  --text: #101927;
  --text-muted: #65738a;
  --accent: #1476ed;
  --accent-2: #1da8eb;
  --danger: #e54f67;
  --success: #15976b;
  --warning: #d98a19;
  --shadow-lg: 0 24px 60px rgba(41, 69, 105, .16);

  --v84-surface: #ffffff;
  --v84-surface-2: #f5f8fd;
  --v84-surface-3: #e9f0fa;
  --v84-line: rgba(45, 72, 110, .14);
  --v84-line-strong: rgba(33, 104, 207, .24);
  --v84-text: #101927;
  --v84-muted: #65738a;
  --v84-cyan: #1da8eb;
  --v84-purple: #1476ed;
  --v84-shadow: 0 24px 60px rgba(41, 69, 105, .16);

  --v90-panel: linear-gradient(155deg, rgba(255, 255, 255, .98), rgba(245, 248, 253, .99));
  --v90-panel-soft: rgba(19, 40, 73, .035);
  --v90-border: rgba(45, 72, 110, .14);
  --v90-border-strong: rgba(33, 104, 207, .25);
  --v90-blue-soft: rgba(20, 118, 237, .09);
  --v90-blue-glow: 0 0 0 1px rgba(20, 118, 237, .12), 0 16px 38px rgba(41, 69, 105, .12);
  --v90-shadow-card: 0 14px 34px rgba(41, 69, 105, .10);
}

html {
  background: var(--bg);
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 12% -8%, rgba(37, 135, 255, .18), transparent 34rem),
    radial-gradient(circle at 92% 8%, rgba(56, 194, 255, .10), transparent 30rem),
    linear-gradient(180deg, #070b12 0%, var(--bg) 28%, var(--bg) 100%) !important;
  background-attachment: fixed !important;
  letter-spacing: -.01em;
}

:root[data-theme="light"] body {
  background:
    radial-gradient(circle at 12% -8%, rgba(37, 135, 255, .15), transparent 34rem),
    radial-gradient(circle at 92% 8%, rgba(56, 194, 255, .11), transparent 30rem),
    var(--bg) !important;
}

::selection { background: rgba(37, 135, 255, .35); color: #fff; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #070b12; }
::-webkit-scrollbar-thumb { background: #25344a; border: 2px solid #070b12; border-radius: 999px; }
::-webkit-scrollbar-thumb:hover { background: #315278; }
:root[data-theme="light"] ::-webkit-scrollbar-track { background: #e7edf6; }
:root[data-theme="light"] ::-webkit-scrollbar-thumb { background: #b6c4d8; border-color: #e7edf6; }

h1, h2, h3, h4 { letter-spacing: -.04em; }
.eyebrow { color: #55bdff !important; }
.muted { color: var(--text-muted) !important; }

/* GPU-only motion added by this visual layer. */
a,
button,
.btn,
.release-card,
.new-episode-card,
.schedule-strip-card,
.schedule-poster-card,
.recommend-card,
.team-card,
.friend-card,
.favorite-release-card,
.project-release-card-simple,
.notification-card,
.comment,
.comment-card,
.admin-nav a,
.admin-panel,
.stat-card,
.profile-stat-link,
.home-seo-links a {
  transition-property: transform, opacity !important;
  transition-duration: .28s !important;
  transition-timing-function: var(--v90-ease) !important;
}

.btn:active,
button:active { transform: translate3d(0, 1px, 0) scale(.99); }

/* ---------------------------------------------------------------------
   Brand — exact blue SP icon, all original links remain untouched
   --------------------------------------------------------------------- */
.logo.logo-only.logo-sp-word,
.admin-sidebar .logo.logo-only.logo-sp-word,
.admin-sp-logo {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  overflow: hidden !important;
  border: 1px solid rgba(112, 190, 255, .38) !important;
  border-radius: 13px !important;
  background: #1678e8 url('/assets/img/brand-sp.png') center / cover no-repeat !important;
  box-shadow: 0 10px 26px rgba(23, 115, 232, .28), inset 0 1px rgba(255, 255, 255, .22) !important;
  isolation: isolate;
}
.logo.logo-only.logo-sp-word::before,
.logo.logo-only.logo-sp-word::after,
.admin-sidebar .logo.logo-only.logo-sp-word::before,
.admin-sidebar .logo.logo-only.logo-sp-word::after,
.admin-sp-logo::before,
.admin-sp-logo::after { display: none !important; content: none !important; }
.logo-sp-text,
.logo.logo-only.logo-sp-word .logo-sp-text,
.admin-sidebar .logo.logo-only.logo-sp-word .logo-sp-text,
.admin-sp-logo .logo-sp-text { opacity: 0 !important; }
.logo.logo-only.logo-sp-word:hover,
.admin-sidebar .logo.logo-only.logo-sp-word:hover,
.admin-sp-logo:hover { transform: translate3d(0, -2px, 0) scale(1.025) !important; }

.footer-brand .logo-mark {
  width: 38px;
  height: 38px;
  display: inline-grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(112, 190, 255, .34);
  border-radius: 11px;
  color: transparent !important;
  font-size: 0 !important;
  -webkit-text-fill-color: initial !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  vertical-align: middle;
  background: #1678e8 url('/assets/img/brand-sp.png') center / cover no-repeat !important;
  box-shadow: 0 9px 22px rgba(23, 115, 232, .22);
}

/* ---------------------------------------------------------------------
   Shared surfaces and controls — visual only, dimensions stay from v87
   --------------------------------------------------------------------- */
.btn {
  border-radius: 12px !important;
  font-weight: 750 !important;
  letter-spacing: -.015em;
}
.btn-primary {
  color: #fff !important;
  border-color: rgba(112, 190, 255, .36) !important;
  background: linear-gradient(135deg, #1c77ed 0%, #258eff 55%, #38a9ff 100%) !important;
  box-shadow: 0 10px 28px rgba(25, 119, 238, .25), inset 0 1px rgba(255, 255, 255, .23) !important;
}
.btn-primary:hover { transform: translate3d(0, -2px, 0) !important; }
.btn-secondary,
.btn-ghost,
.btn-icon {
  color: var(--text) !important;
  border-color: var(--v90-border) !important;
  background: rgba(255, 255, 255, .035) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .025);
}
.btn-secondary:hover,
.btn-ghost:hover,
.btn-icon:hover { transform: translate3d(0, -1px, 0) !important; }
.btn-danger-soft { background: rgba(255, 99, 120, .09) !important; border-color: rgba(255, 99, 120, .20) !important; color: #ff8192 !important; }

input,
select,
textarea {
  border-color: var(--v90-border) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, .035) !important;
  color: var(--text) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .02);
}
:root[data-theme="light"] input,
:root[data-theme="light"] select,
:root[data-theme="light"] textarea { background: rgba(255, 255, 255, .82) !important; }
input:focus,
select:focus,
textarea:focus {
  outline: none !important;
  border-color: rgba(53, 151, 255, .65) !important;
  box-shadow: 0 0 0 4px rgba(37, 135, 255, .11) !important;
}
label > span { color: #c8d2df; }
:root[data-theme="light"] label > span { color: #37445a; }

.alert,
.empty-state { border-radius: 16px !important; }
.empty-state {
  border-color: var(--v90-border-strong) !important;
  background: rgba(255, 255, 255, .025) !important;
}

/* ---------------------------------------------------------------------
   Header, navigation and search — original v87 arrangement retained
   --------------------------------------------------------------------- */
.site-header {
  background: rgba(5, 9, 15, .84) !important;
  border-bottom-color: rgba(122, 158, 205, .13) !important;
  box-shadow: 0 12px 38px rgba(0, 0, 0, .17);
  backdrop-filter: blur(20px) saturate(145%);
}
:root[data-theme="light"] .site-header { background: rgba(246, 250, 255, .90) !important; }

.global-search {
  border-color: var(--v90-border) !important;
  border-radius: 13px !important;
  background: rgba(14, 21, 33, .88) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .025);
}
:root[data-theme="light"] .global-search { background: rgba(255, 255, 255, .90) !important; }
.global-search:focus-within {
  border-color: rgba(55, 154, 255, .62) !important;
  box-shadow: 0 0 0 4px rgba(37, 135, 255, .10);
}
.global-search > i { color: #7f8ca0 !important; }
.global-search button {
  border-radius: 10px !important;
  background: linear-gradient(135deg, #267ff4, #45adff) !important;
}
.search-suggestions {
  border-color: var(--v90-border) !important;
  border-radius: 16px !important;
  background: rgba(9, 14, 23, .985) !important;
  box-shadow: var(--shadow-lg) !important;
}
:root[data-theme="light"] .search-suggestions { background: rgba(255, 255, 255, .985) !important; }

.main-nav > .btn,
.nav-dropdown > .btn { border-color: transparent !important; background: transparent !important; }
.main-nav > .btn:hover,
.nav-dropdown > .btn:hover { transform: translate3d(0, -1px, 0) !important; }
.main-nav .btn i { color: #78aee7; }
.nav-dropdown-menu {
  border-color: var(--v90-border) !important;
  border-radius: 16px !important;
  background: rgba(9, 14, 23, .985) !important;
  box-shadow: var(--shadow-lg) !important;
}
:root[data-theme="light"] .nav-dropdown-menu { background: rgba(255, 255, 255, .985) !important; }
.nav-dropdown-menu a { border-radius: 10px !important; }
.user-chip {
  border-color: var(--v90-border) !important;
  border-radius: 13px !important;
  background: rgba(255, 255, 255, .038) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .025), 0 8px 22px rgba(0, 0, 0, .14) !important;
}
.user-chip:hover { transform: translate3d(0, -1px, 0) !important; }
.notification-link > span { background: #ff526b !important; }
.nav-burger { border-color: var(--v90-border) !important; border-radius: 11px !important; background: rgba(255,255,255,.035) !important; }

/* ---------------------------------------------------------------------
   Public homepage — same v87 content order and grid
   --------------------------------------------------------------------- */
.hero .hero-inner {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--v90-border-strong);
  border-radius: 24px;
  background:
    radial-gradient(circle at 82% 42%, rgba(49, 145, 255, .18), transparent 32%),
    radial-gradient(circle at 12% 10%, rgba(85, 194, 255, .10), transparent 35%),
    linear-gradient(145deg, rgba(13, 23, 38, .96), rgba(7, 13, 22, .985));
  box-shadow: var(--v90-blue-glow), var(--v90-shadow-card);
}
:root[data-theme="light"] .hero .hero-inner { background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(238,245,254,.98)); }
.hero .hero-inner::after {
  content: "";
  position: absolute;
  width: 340px;
  height: 340px;
  right: -130px;
  top: -190px;
  border-radius: 50%;
  pointer-events: none;
  opacity: .55;
  background: radial-gradient(circle, rgba(45, 152, 255, .32), transparent 66%);
}
.hero h1 { color: #f7f9fc; text-shadow: 0 10px 34px rgba(0,0,0,.32); }
:root[data-theme="light"] .hero h1 { color: #101927; text-shadow: none; }
.hero p { color: #aab7c8 !important; }
:root[data-theme="light"] .hero p { color: #65738a !important; }

.section-head h1,
.section-head h2 { color: var(--text); }
.section-head::after { background: linear-gradient(90deg, rgba(37,135,255,.38), transparent) !important; }

.new-episode-card,
.release-card,
.schedule-poster-card,
.team-card,
.friend-card,
.favorite-release-card,
.project-release-card-simple,
.notification-card,
.home-seo-links a {
  border-color: var(--v90-border) !important;
  background: var(--v90-panel) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .16);
}
:root[data-theme="light"] .new-episode-card,
:root[data-theme="light"] .release-card,
:root[data-theme="light"] .schedule-poster-card,
:root[data-theme="light"] .team-card,
:root[data-theme="light"] .friend-card,
:root[data-theme="light"] .favorite-release-card,
:root[data-theme="light"] .project-release-card-simple,
:root[data-theme="light"] .notification-card,
:root[data-theme="light"] .home-seo-links a { box-shadow: var(--v90-shadow-card); }

.new-episode-card:hover,
.release-card:hover,
.schedule-poster-card:hover,
.team-card:hover,
.friend-card:hover,
.favorite-release-card:hover,
.project-release-card-simple:hover,
.home-seo-links a:hover {
  transform: translate3d(0, -4px, 0) !important;
  border-color: rgba(57, 158, 255, .38) !important;
}
.new-episode-poster::after,
.release-poster::after,
.schedule-poster-image::after { background: linear-gradient(180deg, transparent 45%, rgba(2, 7, 13, .78)) !important; }
.new-episode-poster em,
.schedule-poster-image em,
.schedule-poster-image b {
  border: 1px solid rgba(170, 207, 244, .18);
  background: rgba(5, 10, 18, .82) !important;
  backdrop-filter: blur(10px);
}

.schedule-strip-card {
  border: 1px solid var(--v90-border) !important;
  border-radius: 15px !important;
  box-shadow: inset 0 1px rgba(255,255,255,.025), 0 12px 30px rgba(0,0,0,.16);
}
.schedule-strip-card:hover { transform: translate3d(0, -3px, 0) !important; border-color: rgba(57, 158, 255, .38) !important; }
.schedule-strip-card span { color: #62baff !important; }

.release-status,
.release-type-chip,
.release-rating,
.release-year-pill,
.admin-pill,
.application-status-pill,
.health-pill {
  border: 1px solid rgba(156, 189, 229, .22) !important;
  border-radius: 8px !important;
  backdrop-filter: blur(10px);
  text-shadow: 0 1px 4px rgba(0,0,0,.30);
}
.status-anons { color: #e4f3ff !important; background: rgba(21,111,204,.92) !important; border-color: rgba(122,198,255,.34) !important; }
.status-v_rabote { color: #fff3d4 !important; background: rgba(170,99,9,.92) !important; border-color: rgba(255,196,93,.33) !important; }
.status-zaversheno { color: #e7fff5 !important; background: rgba(8,126,84,.92) !important; border-color: rgba(113,244,190,.32) !important; }
.release-type-chip { color: #edf5ff !important; background: rgba(5,10,18,.88) !important; }
.release-rating { color: #ffe070 !important; background: rgba(5,10,18,.88) !important; border-color: rgba(255,213,75,.24) !important; }
.release-year-pill { color: #a4d9ff !important; background: rgba(37,135,255,.13) !important; border-color: rgba(68,161,255,.24) !important; }
.release-genre-text { color: #a0aec0 !important; }
.release-info h3 { color: #f4f7fb; }
:root[data-theme="light"] .release-info h3 { color: #101927; }

.home-seo-intro-card,
.site-ad-card,
.search-team-panel,
.catalog-filter-card,
.catalog-support-card,
.projects-section,
.notifications-shell,
.friends-section,
.favorites-section {
  border-color: var(--v90-border) !important;
  background: var(--v90-panel) !important;
  box-shadow: var(--v90-shadow-card);
}
.site-ad-card { border-radius: 20px !important; }
.home-seo-links i { color: #55b9ff !important; background: rgba(37,135,255,.12) !important; }
.pagination a,
.pagination span { border-color: var(--v90-border) !important; background: rgba(255,255,255,.03) !important; }
.pagination a.is-active { color: #fff !important; background: linear-gradient(135deg,#1c77ed,#38a9ff) !important; border-color: rgba(112,190,255,.38) !important; }

/* ---------------------------------------------------------------------
   Catalogue and schedule — original v87 layout retained
   --------------------------------------------------------------------- */
.catalog-head,
.schedule-page > .container > .section-head,
.team-section > .container > .section-head { border-color: var(--v90-border) !important; }
.catalog-filter-card,
.catalog-support-card { border-radius: 22px !important; }
.catalog-count { color: #82c9ff !important; background: rgba(37,135,255,.11) !important; border-color: rgba(37,135,255,.20) !important; }
.catalog-socials a { border-color: var(--v90-border) !important; background: rgba(255,255,255,.03) !important; }

.schedule-day-tabs button {
  border-color: var(--v90-border) !important;
  background: rgba(255,255,255,.026) !important;
}
.schedule-day-tabs button.is-active {
  color: #fff !important;
  border-color: rgba(79, 167, 255, .42) !important;
  background: linear-gradient(135deg, rgba(31, 118, 234, .85), rgba(52, 158, 255, .80)) !important;
  box-shadow: 0 12px 28px rgba(29, 117, 234, .18) !important;
}
.schedule-day-panel {
  border-color: var(--v90-border) !important;
  border-radius: 20px !important;
  background: rgba(255,255,255,.015);
}

/* ---------------------------------------------------------------------
   Release page — no structure or functionality changed
   --------------------------------------------------------------------- */
.release-hero,
.player-container,
.release-main,
.release-sidebar,
.recommendations-section,
.comments-block,
.rate-card,
.release-team-modal-card,
.release-character-modal-card,
.release-participants-modal-card {
  border-color: var(--v90-border) !important;
  background: var(--v90-panel) !important;
  box-shadow: var(--v90-shadow-card);
}
.release-hero { border-radius: 22px !important; }
.release-hero::before { opacity: .22 !important; filter: saturate(1.12) contrast(1.02); }
.release-hero-poster { border-radius: 17px !important; box-shadow: 0 18px 40px rgba(0,0,0,.34) !important; }
.release-hero-info h1 { color: #f7f9fc; }
:root[data-theme="light"] .release-hero-info h1 { color: #101927; }
.release-page-meta > span,
.release-fact {
  border-color: var(--v90-border) !important;
  background: rgba(255,255,255,.032) !important;
}
.release-fact i,
.release-action-btn i,
.release-participant-button-icon { color: #58baff !important; }
.release-action-btn,
.release-participant-button {
  border-color: var(--v90-border) !important;
  background: rgba(255,255,255,.035) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.025);
}
.release-action-btn:hover,
.release-participant-button:hover { transform: translate3d(0,-2px,0) !important; }
.release-description { color: #aab7c8 !important; }
:root[data-theme="light"] .release-description { color: #65738a !important; }
.player-wrapper { border-radius: 16px !important; background: #03070c !important; }
.player-title { color: var(--text); }
.recommend-card:hover { transform: translate3d(0,-4px,0) !important; }
.recommend-poster { border-color: var(--v90-border) !important; box-shadow: 0 14px 30px rgba(0,0,0,.22); }
.recommend-arrow { border-color: var(--v90-border) !important; background: rgba(7,12,20,.88) !important; }
.comment {
  border-color: var(--v90-border) !important;
  background: rgba(255,255,255,.026) !important;
}
.comment:hover { transform: translate3d(0,-1px,0); }
.comment-vote-btn,
.comment-reply-toggle { border-color: var(--v90-border) !important; background: rgba(255,255,255,.028) !important; }
.score-picker span { border-color: var(--v90-border) !important; background: rgba(255,255,255,.035) !important; }
.score-picker input:checked + span,
.score-picker span:hover { color: #fff !important; background: linear-gradient(135deg,#1c77ed,#38a9ff) !important; border-color: rgba(112,190,255,.40) !important; }

/* ---------------------------------------------------------------------
   Profiles, users and team
   --------------------------------------------------------------------- */
.profile-public-card,
.profile-card,
.profile-level-panel,
.profile-watch-card-v84,
.profile-friends-card,
.profile-settings-section,
.profile-style-preview,
.friend-profile-card,
.team-mini-card {
  border-color: var(--v90-border) !important;
  background: var(--v90-panel) !important;
  box-shadow: var(--v90-shadow-card);
}
.profile-public-card { border-radius: 22px !important; overflow: hidden !important; }
.profile-banner {
  border-radius: 20px 20px 14px 14px !important;
  box-shadow: inset 0 -70px 90px rgba(3, 8, 14, .34);
}
.profile-public-card .avatar { box-shadow: 0 0 0 5px rgba(8,14,23,.95), 0 18px 38px rgba(0,0,0,.32) !important; }
:root[data-theme="light"] .profile-public-card .avatar { box-shadow: 0 0 0 5px rgba(255,255,255,.96), 0 15px 30px rgba(41,69,105,.18) !important; }
.profile-stat-link,
.watch-metric,
.profile-upload-card,
.avatar-frame-choice {
  border-color: var(--v90-border) !important;
  background: rgba(255,255,255,.029) !important;
}
.profile-stat-link:hover,
.avatar-frame-choice:hover { transform: translate3d(0,-2px,0) !important; }
.xp-bar,
.watch-activity-track,
.watch-progress-line { background: rgba(126,155,197,.14) !important; }
.xp-bar > span,
.watch-activity-track > span,
.watch-progress-line > span { background: linear-gradient(90deg,#2587ff,#55c2ff) !important; }
.team-card .avatar,
.friend-card .avatar { box-shadow: 0 12px 28px rgba(0,0,0,.25); }

/* ---------------------------------------------------------------------
   Auth, application, support and overlays
   --------------------------------------------------------------------- */
.auth-card,
.auth-recovery-card,
.application-card,
.application-card-v84,
.support-card,
.support-main-card,
.support-tickets-card,
.support-ticket,
.support-admin-ticket,
.remote-modal-card,
.profile-edit-dialog {
  border-color: var(--v90-border) !important;
  background: var(--v90-panel) !important;
  box-shadow: var(--shadow-lg) !important;
}
.auth-card-icon,
.support-hero-icon,
.profile-edit-head-icon { color: #fff !important; background: linear-gradient(135deg,#1c77ed,#38a9ff) !important; box-shadow: 0 12px 28px rgba(25,119,238,.24); }
.application-benefits > div,
.application-requirements li,
.support-promises-v84 > span,
.support-ticket-column { border-color: var(--v90-border) !important; background: rgba(255,255,255,.026) !important; }
.remote-modal-shell,
.profile-edit-card,
.release-participants-dialog { background: rgba(2,7,13,.80) !important; backdrop-filter: blur(12px) saturate(125%) !important; }
.remote-modal-head,
.profile-edit-head,
.release-participants-modal-head { border-color: var(--v90-border) !important; background: rgba(10,17,28,.96) !important; }

/* ---------------------------------------------------------------------
   Footer — existing v87 content and links remain intact
   --------------------------------------------------------------------- */
.site-footer {
  border-top-color: var(--v90-border) !important;
  background: linear-gradient(180deg, rgba(6,10,17,0), rgba(7,12,20,.72));
}
.footer-social a {
  border: 1px solid var(--v90-border);
  background: rgba(255,255,255,.032);
  box-shadow: inset 0 1px rgba(255,255,255,.02);
}
.footer-social a:hover { transform: translate3d(0,-2px,0) !important; }

/* ---------------------------------------------------------------------
   Admin panel — same v87 navigation, pages, fields and tables
   --------------------------------------------------------------------- */
.admin-body {
  background:
    radial-gradient(circle at 10% -10%, rgba(37,135,255,.16), transparent 34rem),
    #060a11 !important;
}
:root[data-theme="light"] .admin-body { background: #edf3fb !important; }
.admin-sidebar {
  border-right-color: var(--v90-border) !important;
  background: linear-gradient(180deg, rgba(9,16,27,.99), rgba(6,11,19,.995)) !important;
  box-shadow: 18px 0 50px rgba(0,0,0,.16);
}
:root[data-theme="light"] .admin-sidebar { background: linear-gradient(180deg,#ffffff,#f3f7fc) !important; }
.admin-nav a {
  border: 1px solid transparent;
  border-radius: 12px !important;
  color: #8fa2bb !important;
}
.admin-nav a i { color: #6ba9e8 !important; }
.admin-nav a:hover { transform: translate3d(3px,0,0) !important; color: var(--text) !important; }
.admin-nav a.active {
  color: #fff !important;
  border-color: rgba(75, 165, 255, .36) !important;
  background: linear-gradient(135deg, rgba(25, 112, 225, .72), rgba(39, 145, 255, .52)) !important;
  box-shadow: 0 12px 28px rgba(20, 103, 218, .20), inset 0 1px rgba(255,255,255,.10);
}
.admin-nav a.active i { color: #fff !important; }
.admin-content { min-width: 0; }
.admin-topbar {
  border-bottom-color: var(--v90-border) !important;
  background: rgba(6,10,17,.82) !important;
  backdrop-filter: blur(20px) saturate(140%);
  box-shadow: 0 10px 30px rgba(0,0,0,.12);
}
:root[data-theme="light"] .admin-topbar { background: rgba(248,251,255,.90) !important; }
.admin-panel,
.stat-card,
.admin-schedule-card,
.api-client-card,
.application-admin-card,
.comment-admin-card,
.support-admin-panel,
.shiki-sync-box,
.shiki-candidate-card {
  border-color: var(--v90-border) !important;
  background: var(--v90-panel) !important;
  box-shadow: 0 16px 38px rgba(0,0,0,.16);
}
.admin-panel:hover,
.stat-card:hover { transform: translate3d(0,-1px,0); }
.stat-card i,
.admin-panel-head i,
.panel-head i { color: #58baff !important; }
.stat-num { color: #f6f9fc !important; }
:root[data-theme="light"] .stat-num { color: #101927 !important; }
.admin-table-wrap {
  border-color: var(--v90-border) !important;
  border-radius: 14px !important;
  background: rgba(4,9,16,.22);
}
.admin-table th {
  color: #80bff3 !important;
  background: rgba(37,135,255,.055) !important;
  border-color: var(--v90-border) !important;
}
.admin-table td { border-color: rgba(126,155,197,.10) !important; }
.admin-table tbody tr:hover { background: rgba(37,135,255,.045) !important; }
.admin-search,
.admin-inline-search,
.admin-comments-search,
.application-search { border-color: var(--v90-border) !important; background: rgba(255,255,255,.03) !important; }
.admin-check,
.switch { border-color: var(--v90-border) !important; }
.release-editor-tabs,
.release-editor-savebar {
  border-color: var(--v90-border) !important;
  background: rgba(8,14,23,.92) !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.20) !important;
}
.release-editor-tabs button.is-active {
  color: #fff !important;
  border-color: rgba(75,165,255,.34) !important;
  background: linear-gradient(135deg, rgba(26,111,224,.78), rgba(44,150,255,.58)) !important;
}
.admin-schedule-card:hover,
.api-client-card:hover,
.comment-admin-card:hover { transform: translate3d(0,-2px,0); }
.admin-schedule-poster,
.poster-preview-admin,
.character-admin-avatar,
.shiki-candidate-poster { box-shadow: 0 12px 28px rgba(0,0,0,.25); }

/* ---------------------------------------------------------------------
   Performance and reveal motion
   --------------------------------------------------------------------- */
.release-card,
.new-episode-card,
.schedule-poster-card,
.team-card,
.friend-card,
.favorite-release-card,
.notification-card,
.comment,
.project-release-card-simple,
.admin-schedule-card {
  content-visibility: auto;
  contain-intrinsic-size: 320px;
}

.v90-reveal-ready {
  opacity: 0;
  transform: translate3d(0, 18px, 0);
  will-change: transform, opacity;
}
.v90-reveal-ready.is-revealed {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition-property: transform, opacity !important;
  transition-duration: .62s !important;
  transition-timing-function: var(--v90-ease) !important;
}

/* Existing v87 breakpoints remain responsible for structure. These rules
   only keep the new visual skin clean on smaller displays. */
@media (max-width: 900px) {
  .hero .hero-inner { border-radius: 20px; }
  .admin-sidebar { box-shadow: 20px 0 55px rgba(0,0,0,.30); }
}

@media (max-width: 700px) {
  body { background-attachment: scroll !important; }
  .site-header { backdrop-filter: blur(14px) saturate(125%); }
  .logo.logo-only.logo-sp-word,
  .admin-sidebar .logo.logo-only.logo-sp-word,
  .admin-sp-logo {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    border-radius: 12px !important;
  }
  .hero .hero-inner { border-radius: 18px; }
  .profile-banner { border-radius: 16px 16px 12px 12px !important; }
  .remote-modal-card,
  .profile-edit-dialog,
  .release-participants-modal-card { border-radius: 18px !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
  .v90-reveal-ready { opacity: 1 !important; transform: none !important; will-change: auto !important; }
}
