/*
 * FlirtLabz brand layer
 * Loaded after app styles so every community-facing route shares one visual
 * language while forum, editorial, gallery and staff surfaces retain the
 * density appropriate to their jobs.
 */
:root {
  --fl-bg: #11090f;
  --fl-bg-deep: #090508;
  --fl-raised: #1b0f16;
  --fl-raised-soft: rgba(255, 248, 239, .045);
  --fl-editorial: #211018;
  --fl-popover: #26131d;
  --fl-ivory: #fff8ef;
  --fl-text: #d8c7c9;
  --fl-secondary: #bea8ae;
  --fl-muted: #947a83;
  --fl-burgundy: #8b294e;
  --fl-merlot: #641d39;
  --fl-rose: #dc6f91;
  --fl-raspberry: #bc3e69;
  --fl-mauve: #a47c9e;
  --fl-blush: #e8c0c5;
  --fl-champagne: #dfc28b;
  --fl-danger: #d97878;
  --fl-success: #c58d72;
  --fl-warning: #d1ad70;
  --fl-info: #a47c9e;
  --fl-border: rgba(234, 202, 178, .14);
  --fl-border-strong: rgba(234, 202, 178, .26);
  --fl-shadow-sm: 0 10px 30px rgba(0,0,0,.22);
  --fl-shadow-lg: 0 30px 90px rgba(0,0,0,.38);
  --fl-header-surface:
    radial-gradient(ellipse 72% 230% at 4% -85%,rgba(112,31,62,.32),transparent 70%),
    linear-gradient(110deg,rgba(22,10,16,.92),rgba(9,5,8,.88) 62%,rgba(12,7,10,.9));
  --fl-serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --fl-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --fl-space-1: .35rem;
  --fl-space-2: .65rem;
  --fl-space-3: 1rem;
  --fl-space-4: 1.5rem;
  --fl-space-5: 2.25rem;
  --fl-space-6: 3.5rem;
  --fl-space-7: 5.5rem;
  --fl-radius-sm: 10px;
  --fl-radius: 18px;
  --fl-radius-lg: 32px;
  --fl-ease: 180ms ease;

  /* Compatibility aliases consumed by legacy app styles. */
  --bg: var(--fl-bg);
  --ink: var(--fl-ivory);
  --text: var(--fl-text);
  --muted: var(--fl-muted);
  --panel: var(--fl-raised-soft);
  --border: var(--fl-border);
  --orange: var(--fl-rose);
  --gold: var(--fl-champagne);
  --blue: var(--fl-mauve);
  --green: var(--fl-success);
  --accent: var(--fl-raspberry);

  /* Publishing and gallery apps historically shipped a separate violet skin.
     Rebind their public variables here so every route uses the same lounge. */
  --blog-bg: var(--fl-bg);
  --blog-surface: rgba(255,248,239,.045);
  --blog-surface-hover: rgba(255,248,239,.075);
  --blog-border: var(--fl-border);
  --blog-border-hover: var(--fl-border-strong);
  --blog-primary: var(--fl-rose);
  --blog-primary-hover: #ee91ad;
  --blog-primary-glow: rgba(220,111,145,.13);
  --blog-accent: var(--fl-raspberry);
  --blog-accent-glow: rgba(188,62,105,.15);
  --blog-text: var(--fl-ivory);
  --blog-text-secondary: var(--fl-text);
  --blog-text-muted: var(--fl-muted);
  --blog-green: var(--fl-success);
  --blog-accent-gradient: linear-gradient(135deg,var(--fl-raspberry),var(--fl-merlot) 62%,var(--fl-mauve));
  --blog-shadow-card: var(--fl-shadow-sm);
  --blog-shadow-hover: 0 26px 64px rgba(0,0,0,.26);

  --gallery-bg: var(--fl-bg);
  --gallery-surface: rgba(255,248,239,.045);
  --gallery-surface-hover: rgba(255,248,239,.075);
  --gallery-border: var(--fl-border);
  --gallery-border-hover: var(--fl-border-strong);
  --gallery-primary: var(--fl-rose);
  --gallery-primary-glow: rgba(220,111,145,.13);
  --gallery-text: var(--fl-ivory);
  --gallery-text-secondary: var(--fl-text);
  --gallery-text-muted: var(--fl-muted);
  --gallery-accent-gradient: linear-gradient(135deg,var(--fl-raspberry),var(--fl-merlot) 62%,var(--fl-mauve));
  --gallery-accent-gradient-h1: linear-gradient(135deg,var(--fl-blush),var(--fl-rose));
  --gallery-card-title-gradient: linear-gradient(135deg,var(--fl-ivory),var(--fl-blush));
  --gallery-card-head-bg: transparent;
  --gallery-card-title-text-gradient: linear-gradient(135deg,var(--fl-ivory),var(--fl-blush));
  --gallery-shadow-card: var(--fl-shadow-sm);
  --gallery-shadow-hover: 0 26px 64px rgba(0,0,0,.26);
  --gallery-hero-from: #351520;
  --gallery-hero-to: #160b11;

  /* The forum shipped with its own violet/neon token set. Keep its component
     contracts, but bind them to the same warm editorial palette as the rest
     of the public community. */
  --forum-bg: var(--fl-bg);
  --forum-surface: var(--fl-raised-soft);
  --forum-surface-hover: rgba(255,248,239,.075);
  --forum-border: var(--fl-border);
  --forum-border-hover: var(--fl-border-strong);
  --forum-primary: var(--fl-rose);
  --forum-primary-hover: var(--fl-blush);
  --forum-primary-glow: rgba(220,111,145,.13);
  --forum-text: var(--fl-ivory);
  --forum-text-secondary: var(--fl-secondary);
  --forum-text-muted: var(--fl-muted);
  --forum-accent-purple: var(--fl-mauve);
  --forum-accent-pink: var(--fl-rose);
  --forum-accent-gradient: linear-gradient(135deg,var(--fl-raspberry),var(--fl-merlot) 68%,var(--fl-champagne));
  --forum-sidebar-bg: var(--fl-raised-soft);
  --forum-sidebar-bg-hover: rgba(255,248,239,.075);
  --forum-sidebar-text: var(--fl-secondary);
  --forum-sidebar-text-hover: var(--fl-ivory);
  --forum-sidebar-border: var(--fl-border);
  --forum-related-card-bg: var(--fl-raised-soft);
  --forum-related-card-border: var(--fl-border);
  --forum-related-card-hover: rgba(255,248,239,.075);
  --forum-related-text: var(--fl-secondary);
  --forum-related-text-hover: var(--fl-ivory);
  --forum-green: var(--fl-success);

  /* Staff and account tooling previously carried an independent neon skin. */
  --admin-bg: var(--fl-bg);
  --admin-surface: var(--fl-raised-soft);
  --admin-surface-hover: rgba(255,248,239,.075);
  --admin-border: var(--fl-border);
  --admin-border-hover: var(--fl-border-strong);
  --admin-primary: var(--fl-rose);
  --admin-primary-glow: rgba(220,111,145,.13);
  --admin-text: var(--fl-ivory);
  --admin-text-secondary: var(--fl-text);
  --admin-text-muted: var(--fl-muted);
  --admin-accent-gradient: linear-gradient(135deg,var(--fl-blush),var(--fl-rose) 48%,var(--fl-champagne));
  --admin-radius-card: var(--fl-radius);
  --admin-radius-pill: 999px;
  --admin-radius-input: var(--fl-radius-sm);
  --admin-shadow-card: var(--fl-shadow-sm);
  --admin-shadow-hover: 0 20px 50px rgba(91,25,50,.22);
  --admin-danger: var(--fl-danger);
  --admin-success: var(--fl-success);
  --admin-warning: var(--fl-warning);
}

:root.site-light {
  --fl-bg: #e6d1cf;
  --fl-bg-deep: #d4b7bb;
  --fl-raised: #eedbd5;
  --fl-raised-soft: rgba(249,232,223,.54);
  --fl-editorial: #e8cfcc;
  --fl-popover: #f1dfd8;
  --fl-ivory: #321923;
  --fl-text: #63434e;
  --fl-secondary: #76545e;
  --fl-muted: #74515b;
  --fl-burgundy: #8e294c;
  --fl-merlot: #6b1f3b;
  --fl-rose: #b74367;
  --fl-raspberry: #a9325a;
  --fl-mauve: #795373;
  --fl-blush: #a95c70;
  --fl-champagne: #72501d;
  --fl-danger: #9d3f4c;
  --fl-success: #845139;
  --fl-warning: #72501d;
  --fl-info: #795373;
  --fl-border: rgba(86,32,49,.18);
  --fl-border-strong: rgba(86,32,49,.31);
  --fl-shadow-sm: 0 14px 38px rgba(72,31,44,.11);
  --fl-shadow-lg: 0 32px 86px rgba(72,31,44,.17);
  --fl-header-surface:
    radial-gradient(ellipse 72% 220% at 2% -70%,rgba(183,74,105,.24),transparent 68%),
    linear-gradient(110deg,rgba(218,193,194,.91),rgba(235,218,212,.88) 48%,rgba(225,203,202,.9));

  --admin-bg: var(--fl-bg);
  --admin-surface: rgba(255,248,239,.42);
  --admin-surface-hover: rgba(255,248,239,.62);
  --admin-border: var(--fl-border);
  --admin-border-hover: var(--fl-border-strong);
  --admin-primary: var(--fl-raspberry);
  --admin-primary-glow: rgba(169,50,90,.10);
  --admin-text: var(--fl-ivory);
  --admin-text-secondary: var(--fl-text);
  --admin-text-muted: var(--fl-muted);
  --admin-accent-gradient: linear-gradient(135deg,var(--fl-burgundy),var(--fl-raspberry) 55%,var(--fl-champagne));
  --admin-shadow-card: var(--fl-shadow-sm);
  --admin-shadow-hover: 0 20px 48px rgba(72,31,44,.15);
}

html { color-scheme: dark; }
:root.site-light { color-scheme: light; }
body {
  background:
    radial-gradient(70% 45% at 6% 3%, rgba(112,31,62,.22), transparent 70%),
    radial-gradient(55% 44% at 96% 46%, rgba(94,50,80,.11), transparent 72%),
    linear-gradient(180deg,var(--fl-bg-deep),var(--fl-bg) 46%,#140a10);
  color: var(--fl-text);
  font-family: var(--fl-sans);
}
:root.site-light body {
  background:
    radial-gradient(ellipse 68% 52% at 2% 4%,rgba(183,74,105,.24),transparent 67%),
    radial-gradient(ellipse 48% 58% at 100% 46%,rgba(102,60,100,.16),transparent 72%),
    radial-gradient(ellipse 55% 35% at 48% 100%,rgba(194,117,105,.12),transparent 75%),
    linear-gradient(145deg,#d9bec0 0%,#ead9d3 38%,#dfc8c7 100%);
  background-attachment:fixed;
}

::selection { background:rgba(188,62,105,.38); color:var(--fl-ivory); }
:focus-visible { outline:2px solid var(--fl-rose); outline-offset:3px; }

h1,h2,h3,h4,h5,h6 { color:var(--fl-ivory); text-wrap:balance; }
a { color:var(--fl-rose); }
a:hover { color:var(--fl-blush); }
hr { border:0; border-top:1px solid var(--fl-border); }

/* A small brand flourish: an asymmetric cherry curve used sparingly on major
   page titles. It reads as both a smile and the shoulder of a laboratory vial. */
.forum-hero::after,
.blog-hero::after,
.library-hero::after,
.gallery-editorial-intro::after,
.platform-stats-header::after,
.auth-panel::after {
  content:'';
  display:block;
  width:84px;
  height:15px;
  margin-top:1.4rem;
  border-bottom:1px solid var(--fl-champagne);
  border-radius:0 0 70% 45%;
  opacity:.65;
}

/* Shared navigation and framing. */
.site-header {
  border-color:rgba(234,202,178,.09);
  background:var(--fl-header-surface);
  box-shadow:0 12px 34px rgba(0,0,0,.10);
}
.header-nav--app { width:100%; min-width:0; }
.header-nav--app .nav-right { flex-shrink:0; margin-left:auto; }
.header-nav--app .nav-menu {
  padding:.5rem;
  border:1px solid var(--fl-border);
  border-radius:var(--fl-radius);
  background:var(--fl-popover);
  box-shadow:var(--fl-shadow-lg);
}
.header-nav--app .nav-menu a,
.header-nav--app .nav-menu-signout { border-radius:var(--fl-radius-sm); color:var(--fl-secondary); }
.header-nav--app .nav-menu a:hover,
.header-nav--app .nav-menu-signout:hover { background:rgba(188,62,105,.1); color:var(--fl-ivory); }
.foot { border-color:var(--fl-border); color:var(--fl-muted); }
.foot a { color:var(--fl-secondary); }

/* Keep useful section navigation without bringing back stacked dashboard
   widgets. These are quiet editorial indices: type, rhythm and one rule. */
.platform-frame--public .blog-layout,
.platform-frame--public .library-layout--three-col {
  grid-template-columns:180px minmax(0,1fr) 210px !important;
  gap:clamp(1.5rem,3vw,2.6rem) !important;
}
.platform-frame--public .gallery-layout {
  grid-template-columns:180px minmax(0,1fr) 210px !important;
  gap:clamp(1.5rem,3vw,2.6rem) !important;
}
.platform-frame--public .blog-sidebar--left,
.platform-frame--public .library-sidebar--left,
.platform-frame--public .gallery-sidebar--left { display:flex !important; }
.blog-sidebar--left,.library-sidebar--left,.gallery-sidebar--left {
  padding-right:1.25rem;
  border-right:1px solid var(--fl-border);
}
.blog-sidebar-nav,.library-sidebar-nav,.gallery-sidebar-nav { padding:0 0 1.2rem !important; border:0 !important; background:transparent !important; }
.blog-sidebar-nav + .blog-sidebar-nav,.library-sidebar-nav + .library-sidebar-nav,.gallery-sidebar-nav + .gallery-sidebar-nav { padding-top:1.2rem !important; border-top:1px solid var(--fl-border) !important; }
.blog-sidebar-nav a,.library-sidebar-nav a,.gallery-sidebar-nav a { border-radius:0 !important; background:transparent !important; }
.blog-sidebar-nav a:hover,.blog-sidebar-nav a.active,.library-sidebar-nav a:hover,.library-sidebar-nav a.active,.gallery-sidebar-nav a:hover,.gallery-sidebar-nav a.active { padding-left:14px; color:var(--fl-rose) !important; }
.blog-sidebar-widget,.library-sidebar-widget,.gallery-sidebar-widget { border:0 !important; border-top:1px solid var(--fl-border) !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; }

/* Public page introductions use the full wordmark. The heart vial remains a
   favicon and an occasional illustration, never a replacement site logo. */
.forum-hero-logo,
.blog-hero-logo,
.library-hero-logo,
.gallery-hero-logo {
  display:block !important;
  width:clamp(164px,18vw,218px) !important;
  max-width:58vw;
  height:auto !important;
  margin:0 0 1.5rem !important;
  object-fit:contain;
  opacity:.96 !important;
  filter:drop-shadow(0 12px 28px rgba(139,41,78,.28));
}
.blog-brand-img { width:min(220px,58vw); height:auto; }

.breadcrumbs,.conversation-breadcrumb { color:var(--fl-muted); }
.breadcrumbs a,.conversation-breadcrumb a { color:var(--fl-secondary); text-decoration:none; }

/* Buttons: chat has a recognizable two-line signature; ordinary actions stay
   quieter and flatter so the conversion hierarchy is never ambiguous. */
.nav-cta,
.home-sidebar-cta,
.forum-btn-primary,
.btn-primary,
.upload-link,
.registration-primary,
.login-button,
button[type="submit"]:not(.nav-menu-signout):not(.post-action-btn) {
  border:1px solid rgba(255,222,214,.18);
  border-radius:999px;
  background:linear-gradient(135deg,var(--fl-raspberry),var(--fl-merlot));
  color:#fffaf6;
  box-shadow:0 10px 28px rgba(139,41,78,.24);
  font-family:var(--fl-sans);
  font-weight:700;
  transition:transform var(--fl-ease),box-shadow var(--fl-ease),filter var(--fl-ease);
}
.nav-cta:hover,
.home-sidebar-cta:hover,
.forum-btn-primary:hover,
.btn-primary:hover,
.upload-link:hover,
.registration-primary:hover,
.login-button:hover,
button[type="submit"]:not(.nav-menu-signout):not(.post-action-btn):hover {
  color:#fff;
  filter:brightness(1.06);
  transform:translateY(-1px);
  box-shadow:0 14px 36px rgba(139,41,78,.34);
}

.ghost,.forum-btn-secondary,.btn-secondary,.admin-btn-secondary,.cancel-link {
  border-color:var(--fl-border-strong);
  background:transparent;
  color:var(--fl-secondary);
  box-shadow:none;
}
.ghost:hover,.forum-btn-secondary:hover,.btn-secondary:hover,.cancel-link:hover { border-color:var(--fl-rose); color:var(--fl-ivory); background:rgba(188,62,105,.07); }

/* Forms shared by login, registration, posting, editorial, gallery and staff. */
input:not([type="checkbox"]):not([type="radio"]),select,textarea {
  border:1px solid var(--fl-border) !important;
  border-radius:var(--fl-radius-sm) !important;
  background:rgba(255,248,239,.035) !important;
  color:var(--fl-ivory) !important;
  font-family:var(--fl-sans) !important;
  box-shadow:none !important;
  transition:border-color var(--fl-ease),background var(--fl-ease),box-shadow var(--fl-ease);
}
input:not([type="checkbox"]):not([type="radio"]):focus,select:focus,textarea:focus {
  border-color:var(--fl-rose) !important;
  background:rgba(255,248,239,.055) !important;
  box-shadow:0 0 0 3px rgba(220,111,145,.10) !important;
  outline:0;
}
input::placeholder,textarea::placeholder { color:var(--fl-muted) !important; opacity:.72; }
label { color:var(--fl-secondary); }
input[type="checkbox"],input[type="radio"] { accent-color:var(--fl-raspberry); }
.help-text,.field-help,.form-help { color:var(--fl-muted); }
.field-errors,.form-errors,.errorlist { color:var(--fl-danger); }

/* Tables stay useful in technical/staff areas without looking like GitHub. */
table { border-color:var(--fl-border); }
th { color:var(--fl-champagne); font-size:.68rem; letter-spacing:.11em; text-transform:uppercase; }
th,td { border-color:var(--fl-border) !important; }
tbody tr { transition:background var(--fl-ease); }
tbody tr:hover { background:rgba(188,62,105,.045); }

/* One family for metadata, tags and avatars across publishing surfaces. */
.content-tag-pill,.forum-badge,.blog-tag,.library-tag-pill,.gallery-filter-pill,.tag,.badge,[class*="-badge"] {
  border-color:var(--fl-border) !important;
  border-radius:999px !important;
  background:rgba(223,194,139,.055) !important;
  color:var(--fl-secondary) !important;
  box-shadow:none !important;
  font-family:var(--fl-sans);
}
.avatar,.forum-avatar,.author-avatar,.profile-avatar,.album-hero-avatar {
  border:1px solid var(--fl-border-strong);
  box-shadow:0 0 0 4px rgba(188,62,105,.055);
}
.post-meta,.forum-post-time,.conversation-meta,.gallery-card-meta,.library-card-meta,.activity-meta { color:var(--fl-muted); font-size:.74rem; }

/* Notices and feedback read like quiet editorial notes, never achievement
   banners. Status remains clear through a slim warm accent and measured copy. */
.flash,
.registration-alert,
.form-error-banner,
.form-errors,
.field-errors,
.staff-filter-error,
.staff-retention-notice,
.consent-box,
.report-cta-box {
  --notice-accent:var(--fl-champagne);
  border:1px solid var(--fl-border) !important;
  border-left:2px solid var(--notice-accent) !important;
  border-radius:6px var(--fl-radius) var(--fl-radius) 6px !important;
  background:
    radial-gradient(circle at 0 50%,color-mix(in srgb,var(--notice-accent) 13%,transparent),transparent 42%),
    linear-gradient(145deg,rgba(255,248,239,.045),rgba(255,248,239,.018)) !important;
  color:var(--fl-text) !important;
  box-shadow:none !important;
  font-family:var(--fl-sans);
  line-height:1.55;
}
.flash.error,
.registration-alert--error,
.form-error-banner,
.form-errors,
.field-errors,
.staff-filter-error { --notice-accent:var(--fl-danger); }
.flash.success { --notice-accent:var(--fl-success); }
.flash.info,.registration-alert--info { --notice-accent:var(--fl-info); }
.flash.warning,.staff-retention-notice { --notice-accent:var(--fl-warning); }
.flash { max-width:760px;margin:1rem auto 1.5rem;padding:.9rem 1.1rem; }
:root.site-light .flash,
:root.site-light .registration-alert,
:root.site-light .form-error-banner,
:root.site-light .form-errors,
:root.site-light .field-errors,
:root.site-light .staff-filter-error,
:root.site-light .staff-retention-notice {
  background:
    radial-gradient(circle at 0 50%,color-mix(in srgb,var(--notice-accent) 12%,transparent),transparent 42%),
    linear-gradient(145deg,rgba(255,248,239,.56),rgba(238,219,213,.3)) !important;
}

.forum-empty,.gallery-empty,.library-empty,.blog-empty,.search-empty,.empty-state,[class$="-empty"] {
  min-height:180px;
  display:grid;
  place-content:center;
  padding:var(--fl-space-6) var(--fl-space-4);
  border:1px dashed var(--fl-border-strong) !important;
  border-radius:var(--fl-radius) !important;
  background:rgba(255,248,239,.018) !important;
  color:var(--fl-muted);
  text-align:center;
}
.empty-icon { color:var(--fl-rose); opacity:.55; }

/* Pagination uses a quiet folio treatment instead of chunky app controls. */
[class*="pagination"] { gap:.45rem; }
[class*="pagination"] a,[class*="pagination"] span {
  border-color:transparent !important;
  border-radius:999px !important;
  background:transparent !important;
  color:var(--fl-muted) !important;
}
[class*="pagination"] a:hover,[class*="pagination"] .active,[class*="pagination"] [aria-current="page"] { background:rgba(188,62,105,.12) !important; color:var(--fl-ivory) !important; }

/* Auth/account/recovery/capability pages: focused, welcoming, no dashboard wall. */
.login-wrap,.register-wrap,.recovery-wrap,.account-wrap,.creator-apply-wrap,.auth-wrap {
  width:min(100%,720px);
  margin:clamp(2rem,7vw,6rem) auto;
}
.login-card,.register-card,.recovery-card,.account-card,.creator-apply-card,.auth-panel {
  position:relative;
  padding:clamp(1.5rem,5vw,3.5rem);
  border:1px solid var(--fl-border);
  border-radius:var(--fl-radius-lg);
  background:linear-gradient(145deg,rgba(255,248,239,.045),rgba(255,248,239,.018));
  box-shadow:var(--fl-shadow-sm);
}
.login-card h1,.register-card h1,.recovery-card h1,.account-card h1,.creator-apply-card h1 { font:400 clamp(2.6rem,7vw,4.5rem)/.95 var(--fl-serif); }

/* Search reads like an index, not an issue tracker. */
.global-search,.forum-search-wrap,.blog-search-wrap { max-width:980px; margin:0 auto; }
.global-search h1,.forum-search-wrap h1,.blog-search-wrap h1 { font:400 clamp(3rem,6vw,5rem)/.95 var(--fl-serif); }
.global-search-results article,.search-result,.forum-search-result,.blog-search-result {
  padding:1.35rem 0;
  border:0;
  border-top:1px solid var(--fl-border);
  border-radius:0;
  background:transparent;
}
.global-search-results h2,.search-result h2,.forum-search-result h2,.blog-search-result h2 { font-family:var(--fl-serif); font-size:1.55rem; }

/* Discussion/comments share a human reading rhythm. */
.discussion-thread,.conversation-posts { max-width:820px; }
.discussion-post,.conversation-post,.forum-post {
  min-height:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.discussion-post + .discussion-post,.conversation-post + .conversation-post { border-top:1px solid var(--fl-border); }
.discussion-post-body,.conversation-post-body,.forum-post-body { max-width:74ch; color:var(--fl-text); font-size:1rem; line-height:1.78; }
.post-actions,.discussion-actions,.conversation-post-actions { opacity:.52; transition:opacity var(--fl-ease); }
.discussion-post:hover .post-actions,.conversation-post:hover .conversation-post-actions,.post-actions:focus-within { opacity:1; }
.discussion-reply-form,.forum-reply-form { border-color:var(--fl-border); border-radius:var(--fl-radius); background:rgba(255,248,239,.025); }

/* Topic authoring inherits Editorial Studio's canonical rich editor but keeps
   the first screen simple; advanced poll controls live inside a disclosure. */
.authoring-workspace { max-width:920px; }
.authoring-workspace > .forum-post--info-card { border:0 !important; border-bottom:1px solid var(--fl-border) !important; }
.authoring-workspace .forum-avatar--glow { background:rgba(188,62,105,.08); color:var(--fl-rose); box-shadow:none; }
.discussion-poll-builder { border:1px solid var(--fl-border) !important; border-radius:var(--fl-radius) !important; background:rgba(255,248,239,.02) !important; }
.discussion-poll-builder > summary { min-height:68px; }
.poll-builder-content { border-top:1px solid var(--fl-border); }
.poll-options-list { counter-reset:poll-option; }
.discussion-poll-option-input { border:0; }
.poll-option-number { background:transparent; border:1px solid var(--fl-border); color:var(--fl-champagne); }
.poll-settings { padding-top:1.2rem; border-top:1px solid var(--fl-border); }

/* Poll results are civic, not gamified. */
.discussion-poll { border-color:var(--fl-border); border-radius:var(--fl-radius); background:linear-gradient(145deg,rgba(99,29,56,.16),rgba(255,248,239,.018)); }
.discussion-poll h3,.discussion-poll-question { font-family:var(--fl-serif); font-size:1.65rem; }
.discussion-poll legend { color:var(--fl-ivory); font:600 1.65rem/1.15 var(--fl-serif); }
.discussion-poll-context { max-width:62ch;margin:.2rem 0 1rem;color:var(--fl-secondary);line-height:1.65; }
.poll-option-result,.discussion-poll-option { border-color:var(--fl-border); background:transparent; }
.poll-result-bar,.poll-option-bar { background:rgba(255,248,239,.055); }
.poll-result-bar span,.poll-option-bar span { background:linear-gradient(90deg,var(--fl-burgundy),var(--fl-rose)); }
.discussion-poll-options label { min-height:48px;border-color:var(--fl-border);border-radius:var(--fl-radius-sm);background:rgba(255,248,239,.018); }
.discussion-poll-options label i { background:linear-gradient(90deg,rgba(139,41,78,.42),rgba(220,111,145,.17)); }
.discussion-poll-options label.is-selected { border-color:var(--fl-rose); }
.discussion-poll-options strong { color:var(--fl-secondary);font-size:.7rem; }
.discussion-poll-footer { padding-top:.8rem;border-top:1px solid var(--fl-border); }

/* Gallery viewers, story pages and profiles all use the same author cadence. */
.post-article,.story-body,.viewer-info,.album-description { color:var(--fl-text); }
.post-article p,.story-body p { line-height:1.86; }
.post-article blockquote,.story-body blockquote { margin-inline:0; padding-left:1.5rem; border-left:1px solid var(--fl-champagne); color:var(--fl-secondary); font-family:var(--fl-serif); font-size:1.25rem; font-style:italic; }
.profile-card,.author-profile,.gallery-profile { border:0; border-top:1px solid var(--fl-border); border-radius:0; background:transparent; }
.viewer-image-container { border-radius:var(--fl-radius); background:#080507; box-shadow:var(--fl-shadow-lg); }

/* 404 and permission/error routes should still feel like a deliberate room. */
.not-found,.error-page,.permission-denied {
  min-height:60vh;
  display:grid;
  place-content:center;
  max-width:760px;
  margin:0 auto;
  text-align:center;
}
.not-found h1,.error-page h1,.permission-denied h1 { margin:0; color:var(--fl-ivory); font:400 clamp(4rem,14vw,9rem)/.8 var(--fl-serif); }

/* Staff/admin remains dense and capable, but recognizably the same product. */
.admin-page,.staff-page { --fl-radius:8px; }
.admin-sidebar,.staff-sidebar,.admin-topbar,.staff-topbar { background:var(--fl-raised); border-color:var(--fl-border); }
.admin-card,.staff-card,.dashboard-widget,.staff-console-panel {
  border-color:var(--fl-border) !important;
  border-radius:var(--fl-radius) !important;
  background:rgba(255,248,239,.035) !important;
  box-shadow:none !important;
}
.admin-card h2,.staff-card h2,.dashboard-widget h2 { font-family:var(--fl-serif); font-size:1.35rem; }
.admin-role-badge { background:rgba(223,194,139,.08) !important; color:var(--fl-champagne) !important; }

/* Modal/drawer/popover family. */
[role="dialog"],.modal-content,.dialog-content,.platform-create-sheet,.post-dropdown-menu {
  border:1px solid var(--fl-border) !important;
  border-radius:var(--fl-radius-lg) !important;
  background:var(--fl-popover) !important;
  color:var(--fl-text);
  box-shadow:var(--fl-shadow-lg) !important;
}
.modal-backdrop,.platform-scrim { background:rgba(5,2,4,.75); backdrop-filter:blur(7px); }

@media (max-width:760px) {
  .platform-frame.platform-frame--public .site-main { width:min(100% - 28px,1180px); }
  .site-main h1 { overflow-wrap:anywhere; }
  table { display:block; max-width:100%; overflow-x:auto; }
  .forum-post-header,.conversation-post-header { align-items:flex-start; }
  .conversation-header-actions { width:100%; justify-content:flex-start; }
  .auth-panel,.login-card,.register-card,.recovery-card,.account-card { padding:1.35rem; border-radius:var(--fl-radius); }
  .post-actions,.discussion-actions,.conversation-post-actions { opacity:1; }
}

@media (max-width:1050px) {
  .platform-frame--public .blog-layout,
  .platform-frame--public .library-layout--three-col,
  .platform-frame--public .gallery-layout { grid-template-columns:minmax(0,1fr) 210px !important; }
  .platform-frame--public .blog-sidebar--left,
  .platform-frame--public .library-sidebar--left,
  .platform-frame--public .gallery-sidebar--left { display:none !important; }
}

@media (max-width:760px) {
  .platform-frame--public .blog-layout,
  .platform-frame--public .library-layout--three-col,
  .platform-frame--public .gallery-layout { grid-template-columns:1fr !important; }
}

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

body .age-gate-overlay { background:rgba(8,4,7,.9) !important;backdrop-filter:blur(14px); }
body .age-gate-modal { max-width:460px;padding:clamp(1.5rem,5vw,3rem);border:1px solid rgba(223,194,139,.18);border-radius:24px 24px 80px 24px;background:radial-gradient(circle at 100% 0,rgba(156,48,84,.18),transparent 40%),#180c13;box-shadow:var(--fl-shadow-lg);text-align:left; }
body .age-gate-modal h2 { color:#fff8ef;font:400 2.5rem/1 var(--fl-serif); }
body .age-gate-modal p { color:#bfaab0; }
body .gate-buttons { justify-content:flex-start; }
body .gate-btn { border-radius:999px; }
body .gate-btn-yes { background:linear-gradient(135deg,var(--fl-raspberry),var(--fl-merlot)); }

/* Day lounge ------------------------------------------------------------
   App styles historically treated light mode as a white/purple skin. These
   aliases and final overrides keep every public, publishing and staff route
   in the same rose-parchment FlirtLabz world. */
:root.site-light {
  --blog-bg: var(--fl-bg);
  --blog-surface: rgba(242,220,213,.78);
  --blog-surface-hover: rgba(235,207,204,.88);
  --blog-border: var(--fl-border);
  --blog-border-hover: var(--fl-border-strong);
  --blog-primary: #a93059;
  --blog-primary-hover: #86213f;
  --blog-primary-glow: rgba(169,48,89,.14);
  --blog-accent: #b7476a;
  --blog-accent-glow: rgba(183,71,106,.13);
  --blog-text: var(--fl-ivory);
  --blog-text-secondary: var(--fl-text);
  --blog-text-muted: var(--fl-muted);
  --blog-accent-gradient: linear-gradient(135deg,#9b294f,#c24b70 58%,#80526f);
  --blog-shadow-card: var(--fl-shadow-sm);
  --blog-shadow-hover: 0 24px 58px rgba(72,31,44,.16);

  --forum-bg: var(--fl-bg);
  --forum-surface: rgba(242,220,213,.78);
  --forum-surface-hover: rgba(233,204,202,.88);
  --forum-border: var(--fl-border);
  --forum-border-hover: var(--fl-border-strong);
  --forum-primary: #a93059;
  --forum-primary-hover: #86213f;
  --forum-primary-glow: rgba(169,48,89,.14);
  --forum-text: var(--fl-ivory);
  --forum-text-secondary: var(--fl-text);
  --forum-text-muted: var(--fl-muted);
  --forum-accent-purple: #795373;
  --forum-accent-pink: #b7476a;
  --forum-accent-gradient: linear-gradient(135deg,#9b294f,#c24b70 58%,#80526f);
  --forum-shadow-card: var(--fl-shadow-sm);
  --forum-shadow-card-hover: 0 24px 58px rgba(72,31,44,.16);
  --forum-shadow-elevated: var(--fl-shadow-lg);
  --forum-sidebar-bg-hover: rgba(153,45,80,.09);
  --forum-sidebar-text: var(--fl-secondary);
  --forum-sidebar-text-hover: var(--fl-ivory);
  --forum-sidebar-border: var(--fl-border);
  --forum-related-card-bg: rgba(242,220,213,.58);
  --forum-related-card-border: var(--fl-border);
  --forum-related-card-hover: rgba(233,204,202,.8);
  --forum-related-text: var(--fl-secondary);
  --forum-related-text-hover: var(--fl-ivory);

  --gallery-bg: var(--fl-bg);
  --gallery-surface: rgba(242,220,213,.78);
  --gallery-surface-hover: rgba(233,204,202,.88);
  --gallery-border: var(--fl-border);
  --gallery-border-hover: var(--fl-border-strong);
  --gallery-primary: #a93059;
  --gallery-primary-glow: rgba(169,48,89,.14);
  --gallery-text: var(--fl-ivory);
  --gallery-text-secondary: var(--fl-text);
  --gallery-text-muted: var(--fl-muted);
  --gallery-accent-gradient: linear-gradient(135deg,#9b294f,#c24b70 58%,#80526f);
  --gallery-accent-gradient-h1: linear-gradient(135deg,#762441,#b93d67 64%,#795373);
  --gallery-card-title-gradient: linear-gradient(135deg,#8e294c,#b7476a);
  --gallery-card-head-bg: linear-gradient(135deg,rgba(169,48,89,.14),rgba(121,83,115,.12));
  --gallery-card-title-text-gradient: linear-gradient(135deg,#762441,#a93059);
  --gallery-shadow-card: var(--fl-shadow-sm);
  --gallery-shadow-hover: 0 25px 60px rgba(72,31,44,.17);
  --gallery-hero-from: rgba(235,204,201,.82);
  --gallery-hero-to: rgba(214,180,187,.72);

  --admin-bg: var(--fl-bg);
  --admin-surface: rgba(242,220,213,.82);
  --admin-surface-hover: rgba(233,204,202,.9);
  --admin-border: var(--fl-border);
  --admin-border-hover: var(--fl-border-strong);
  --admin-primary: #a93059;
  --admin-primary-glow: rgba(169,48,89,.14);
  --admin-text: var(--fl-ivory);
  --admin-text-secondary: var(--fl-text);
  --admin-text-muted: var(--fl-muted);
  --admin-accent-gradient: linear-gradient(135deg,#8e294c,#c24b70 60%,#795373);
  --admin-shadow-card: var(--fl-shadow-sm);
  --admin-shadow-hover: 0 22px 56px rgba(72,31,44,.16);

  --surface-page: var(--fl-bg);
  --surface-editor: rgba(238,215,209,.9);
  --surface-raised: rgba(242,220,213,.82);
  --surface-popover: var(--fl-popover);
  --text-primary: var(--fl-ivory);
  --text-secondary: var(--fl-text);
  --text-muted: var(--fl-muted);
  --border-subtle: var(--fl-border);
  --border-strong: var(--fl-border-strong);
  --accent: var(--fl-raspberry);
  --accent-hover: var(--fl-merlot);
  --accent-soft: rgba(169,48,89,.14);
  --focus-ring: rgba(183,67,103,.55);
}

:root.site-light .site-header {
  border-bottom-color: rgba(80,28,46,.13);
  background: var(--fl-header-surface);
  box-shadow: 0 12px 34px rgba(78,30,45,.06);
}
:root.site-light .nav-menu,
:root.site-light .nav-drawer,
:root.site-light .platform-popover,
:root.site-light .header-search-results {
  border-color: var(--fl-border) !important;
  background: rgba(241,223,216,.98) !important;
  box-shadow: var(--fl-shadow-lg) !important;
}
:root.site-light .header-nav a:hover,
:root.site-light .nav-group-btn:hover,
:root.site-light .nav-menu a:hover,
:root.site-light .platform-nav-link:hover { background:rgba(145,42,77,.09) !important; }

:root.site-light .platform-frame,
:root.site-light .platform-frame--public,
:root.site-light .site-main,
:root.site-light .blog-body,
:root.site-light .forum-body,
:root.site-light .gallery-body,
:root.site-light .admin-body { background:transparent; }
:root.site-light .platform-primary-rail,
:root.site-light .platform-context-rail,
:root.site-light .blog-sidebar,
:root.site-light .library-sidebar,
:root.site-light .gallery-sidebar {
  border-color: var(--fl-border) !important;
  background: linear-gradient(155deg,rgba(244,224,216,.48),rgba(210,177,183,.27)) !important;
}

:root.site-light .blog-hero,
:root.site-light .library-hero,
:root.site-light .forum-hero,
:root.site-light .gallery-hero,
:root.site-light .gallery-editorial-intro,
:root.site-light .platform-stats-header {
  border-color: var(--fl-border) !important;
  background:
    radial-gradient(ellipse at 85% 10%,rgba(158,50,84,.18),transparent 48%),
    radial-gradient(ellipse at 12% 95%,rgba(115,80,111,.14),transparent 52%),
    linear-gradient(145deg,rgba(244,222,214,.78),rgba(210,174,183,.64)) !important;
  box-shadow: inset 0 1px rgba(255,247,239,.54), var(--fl-shadow-sm) !important;
}
:root.site-light .blog-hero h1,
:root.site-light .library-hero h1,
:root.site-light .forum-hero h1,
:root.site-light .gallery-hero h1,
:root.site-light .gallery-editorial-intro h1,
:root.site-light .admin-page-header h1 {
  background:none !important;
  color:var(--fl-ivory) !important;
  -webkit-text-fill-color:currentColor !important;
}
:root.site-light .blog-hero p,
:root.site-light .library-hero p,
:root.site-light .forum-hero p,
:root.site-light .gallery-hero p { color:var(--fl-text) !important; }

:root.site-light .blog-card,
:root.site-light .post-card,
:root.site-light .forum-category-card,
:root.site-light .discussion-card,
:root.site-light .forum-topic-item,
:root.site-light .gallery-card,
:root.site-light .album-card,
:root.site-light .stat-card,
:root.site-light .dashboard-widget,
:root.site-light .admin-card,
:root.site-light .staff-card,
:root.site-light .login-card,
:root.site-light .register-card,
:root.site-light .recovery-card,
:root.site-light .account-card,
:root.site-light .creator-apply-card,
:root.site-light .auth-panel {
  border-color:var(--fl-border) !important;
  background:linear-gradient(145deg,rgba(246,226,218,.72),rgba(216,183,187,.46)) !important;
  box-shadow:inset 0 1px rgba(255,247,239,.5),var(--fl-shadow-sm) !important;
}
:root.site-light .blog-card:hover,
:root.site-light .forum-category-card:hover,
:root.site-light .discussion-card:hover,
:root.site-light .gallery-card:hover,
:root.site-light .album-card:hover {
  border-color:rgba(157,47,83,.34) !important;
  background:linear-gradient(145deg,rgba(248,229,220,.84),rgba(211,174,181,.58)) !important;
  box-shadow:inset 0 1px rgba(255,247,239,.62),0 26px 62px rgba(72,31,44,.15) !important;
}

:root.site-light input:not([type='checkbox']):not([type='radio']):not([type='range']):not([type='file']),
:root.site-light select,
:root.site-light textarea,
:root.site-light [contenteditable='true'],
:root.site-light .editor-input {
  border-color:rgba(86,32,49,.22) !important;
  background:rgba(241,219,212,.8) !important;
  color:var(--fl-ivory) !important;
  box-shadow:inset 0 1px rgba(255,248,240,.52) !important;
}
:root.site-light input::placeholder,
:root.site-light textarea::placeholder { color:var(--fl-muted) !important; opacity:.82; }
:root.site-light input:focus,
:root.site-light select:focus,
:root.site-light textarea:focus,
:root.site-light [contenteditable='true']:focus {
  border-color:var(--fl-rose) !important;
  box-shadow:0 0 0 3px rgba(183,67,103,.13) !important;
}

:root.site-light table,
:root.site-light thead,
:root.site-light .admin-sidebar,
:root.site-light .staff-sidebar,
:root.site-light .admin-topbar,
:root.site-light .staff-topbar {
  border-color:var(--fl-border) !important;
  background:rgba(232,205,203,.68) !important;
}
:root.site-light tbody tr:hover,
:root.site-light .notification-item:hover,
:root.site-light .admin-nav a:hover { background:rgba(153,45,80,.08) !important; }
:root.site-light .forum-empty,
:root.site-light .gallery-empty,
:root.site-light .library-empty,
:root.site-light .blog-empty,
:root.site-light .search-empty,
:root.site-light .empty-state,
:root.site-light [class$='-empty'] { background:rgba(238,214,209,.46) !important; }
:root.site-light [role='dialog'],
:root.site-light .modal-content,
:root.site-light .dialog-content,
:root.site-light .platform-create-sheet,
:root.site-light .post-dropdown-menu { background:rgba(241,223,216,.98) !important; }
:root.site-light .modal-backdrop,
:root.site-light .platform-scrim { background:rgba(50,20,31,.5); }
:root.site-light .site-footer {
  border-color:var(--fl-border);
  background:rgba(205,172,179,.26);
}

/* Standalone login and error templates do not use the platform frame. */
:root.site-light .admin-login-wrap,
:root.site-light .login-container {
  width:min(calc(100% - 2rem),32rem);
  margin:clamp(2rem,7vw,6rem) auto;
  padding:clamp(2rem,6vw,3.5rem);
  border:1px solid var(--fl-border);
  border-radius:4.5rem 4.5rem 1.5rem 1.5rem;
  background:linear-gradient(145deg,rgba(246,226,218,.76),rgba(214,181,186,.5));
  box-shadow:inset 0 1px rgba(255,247,239,.55),var(--fl-shadow-lg);
}
:root.site-light .admin-login-title,
:root.site-light .login-title {
  background:none !important;
  color:var(--fl-ivory) !important;
  -webkit-text-fill-color:currentColor !important;
  font:400 clamp(2.4rem,7vw,3.8rem)/.95 var(--fl-serif);
}
:root.site-light .not-found-page {
  --nf-bg:var(--fl-bg);
  --nf-panel:var(--fl-raised);
  --nf-text:var(--fl-ivory);
  --nf-muted:var(--fl-text);
  --nf-pink:var(--fl-raspberry);
  --nf-cyan:var(--fl-champagne);
  --nf-border:var(--fl-border);
  background:
    radial-gradient(ellipse 68% 52% at 2% 4%,rgba(183,74,105,.24),transparent 67%),
    radial-gradient(ellipse 48% 58% at 100% 46%,rgba(102,60,100,.16),transparent 72%),
    linear-gradient(145deg,#d9bec0,#ead9d3 42%,#dfc8c7) !important;
}
:root.site-light .not-found-main {
  position:relative;
  padding:clamp(3rem,8vw,6rem);
  border:1px solid var(--fl-border);
  border-radius:8rem 8rem 2rem 2rem;
  background:linear-gradient(145deg,rgba(246,226,218,.68),rgba(214,181,186,.4));
  box-shadow:inset 0 1px rgba(255,247,239,.5),var(--fl-shadow-lg);
}
:root.site-light .not-found-main h1 { color:var(--fl-ivory); font:400 clamp(3rem,8vw,5.5rem)/.92 var(--fl-serif); }
:root.site-light .not-found-code { color:var(--fl-raspberry); font-family:var(--fl-serif); font-weight:400; }
:root.site-light .not-found-signal { color:var(--fl-champagne); }
:root.site-light .not-found-action { border-radius:999px; }
:root.site-light .not-found-action--home { border-color:var(--fl-raspberry); background:linear-gradient(135deg,var(--fl-raspberry),var(--fl-merlot)); color:#fff8ef; }

/* Editorial studio
   The submission screen is a writing room, not an admin dashboard. Keep this
   final layer authoritative so the old purple/slate studio skin cannot leak
   through from blog.css. */
.authoring-workspace.submit-wrap {
  width:min(100%,1440px);
  padding-bottom:clamp(5rem,10vw,9rem);
}
.authoring-workspace .studio-topbar {
  border-color:var(--fl-border);
  background:rgba(14,7,11,.86);
  box-shadow:0 14px 38px rgba(0,0,0,.14);
  -webkit-backdrop-filter:blur(22px) saturate(120%);
  backdrop-filter:blur(22px) saturate(120%);
}
.authoring-workspace .studio-back,
.authoring-workspace .studio-save-state { color:var(--fl-secondary); }
.authoring-workspace .studio-back:hover { color:var(--fl-ivory); }
.authoring-workspace .save-state-dot { background:var(--fl-success); box-shadow:0 0 0 4px rgba(197,141,114,.09); }
.authoring-workspace .studio-save-state.is-saving .save-state-dot { background:var(--fl-warning); }
.authoring-workspace .studio-save-state.is-error .save-state-dot { background:var(--fl-danger); }
.authoring-workspace .studio-topbar .ghost,
.authoring-workspace .studio-editor-commandbar .ghost,
.publish-review-actions .ghost {
  min-height:42px;
  padding:.65rem 1rem;
  border:1px solid var(--fl-border) !important;
  border-radius:999px !important;
  background:rgba(255,248,239,.025) !important;
  color:var(--fl-secondary) !important;
  box-shadow:none;
}
.authoring-workspace .studio-topbar .ghost:hover,
.authoring-workspace .studio-editor-commandbar .ghost:hover,
.publish-review-actions .ghost:hover {
  border-color:var(--fl-border-strong) !important;
  background:rgba(188,62,105,.09) !important;
  color:var(--fl-ivory) !important;
}
.authoring-workspace .studio-topbar .btn-primary,
.authoring-workspace .studio-editor-commandbar .btn-primary,
.publish-review-actions .btn-primary {
  min-height:44px;
  padding:.65rem 1.25rem;
  border:1px solid rgba(232,192,197,.18) !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,var(--fl-raspberry),var(--fl-merlot)) !important;
  color:#fff8ef !important;
  box-shadow:0 12px 30px rgba(100,29,57,.3);
}
.authoring-workspace .studio-title-area { position:relative; }
.authoring-workspace .studio-title-area::after {
  content:'';
  display:block;
  width:76px;
  height:13px;
  margin-top:1.35rem;
  border-bottom:1px solid var(--fl-champagne);
  border-radius:0 0 75% 45%;
  opacity:.58;
}
.authoring-workspace #id_title,
:root.site-light .authoring-workspace #id_title {
  border:0 !important;
  background:transparent !important;
  color:var(--fl-ivory) !important;
  box-shadow:none !important;
  font-family:var(--fl-serif);
  font-weight:400;
}
.authoring-workspace #id_title::placeholder { color:var(--fl-muted) !important; opacity:.52; }
.authoring-workspace .studio-byline,
.authoring-workspace .studio-editor-hint,
.authoring-workspace .studio-writing-stats { color:var(--fl-muted); }
.authoring-workspace .studio-editor-hint { letter-spacing:.01em; }
.authoring-workspace .studio-editor-hint kbd {
  border-color:var(--fl-border);
  border-radius:999px;
  background:rgba(255,248,239,.035);
  color:var(--fl-champagne);
}
.authoring-workspace .studio-writing-footer { border-color:var(--fl-border); }
.authoring-workspace .studio-detailed-stats[open] {
  border:1px solid var(--fl-border);
  border-radius:1.2rem 1.2rem 2rem 1.2rem;
  background:var(--fl-raised-soft);
}
.authoring-workspace .story-settings-button {
  min-height:46px;
  padding:.7rem 1.05rem;
  border:1px solid var(--fl-border-strong);
  border-radius:999px 999px 999px 1.1rem;
  background:linear-gradient(135deg,rgba(188,62,105,.13),rgba(100,29,57,.11));
  color:var(--fl-ivory);
  box-shadow:inset 0 1px rgba(255,248,239,.04);
}
.authoring-workspace .story-settings-button:hover,
.authoring-workspace .story-settings-button[aria-expanded='true'] {
  border-color:rgba(220,111,145,.48);
  background:linear-gradient(135deg,rgba(188,62,105,.24),rgba(100,29,57,.18));
  color:var(--fl-ivory);
}
.authoring-workspace .story-settings-icon,
.authoring-workspace .story-settings-arrow { color:var(--fl-rose) !important; }

.studio-inspector {
  border-color:var(--fl-border) !important;
  border-radius:4rem 0 0 4rem;
  background:
    radial-gradient(ellipse at 100% 0,rgba(188,62,105,.17),transparent 42%),
    linear-gradient(155deg,#1b0e16,#10080d 72%) !important;
  box-shadow:-30px 0 90px rgba(0,0,0,.5);
}
.inspector-backdrop { background:rgba(9,4,7,.64); -webkit-backdrop-filter:blur(7px); backdrop-filter:blur(7px); }
.studio-inspector-header { padding:2rem 2rem 1.4rem; border-color:var(--fl-border); }
.studio-inspector-header h2 { color:var(--fl-ivory); font:500 2.15rem/.95 var(--fl-serif); }
.studio-inspector .eyebrow,
.publish-review-card .eyebrow { color:var(--fl-champagne); }
.studio-inspector-header button,
.story-outline-header button,
.preview-modal-close {
  border:1px solid var(--fl-border) !important;
  border-radius:50% !important;
  background:rgba(255,248,239,.035) !important;
  color:var(--fl-secondary) !important;
}
.studio-inspector-header button:hover,
.story-outline-header button:hover,
.preview-modal-close:hover { border-color:var(--fl-border-strong) !important; color:var(--fl-ivory) !important; }
.studio-inspector-scroll { padding:1rem 1.7rem 3rem; }
.studio-inspector .inspector-section { border-color:var(--fl-border); }
.studio-inspector .inspector-section > summary {
  padding:1.25rem .3rem;
  border-radius:1rem;
  color:var(--fl-ivory);
}
.studio-inspector .inspector-section > summary:hover { color:var(--fl-rose); }
.studio-inspector .inspector-section > summary small,
.studio-inspector .help-text,
.studio-inspector .cover-url-advanced > summary { color:var(--fl-muted); }
.studio-inspector .inspector-section label { color:var(--fl-secondary); }
.studio-inspector .inspector-section input[type='text'],
.studio-inspector .inspector-section input[type='url'],
.studio-inspector .inspector-section input[type='search'],
.studio-inspector .inspector-section textarea,
.studio-inspector .inspector-section select {
  border:1px solid var(--fl-border) !important;
  border-radius:1.15rem 1.15rem 2rem 1.15rem !important;
  background:rgba(255,248,239,.04) !important;
  color:var(--fl-ivory) !important;
  box-shadow:inset 0 1px rgba(255,248,239,.025) !important;
}
.studio-inspector .inspector-section input:focus,
.studio-inspector .inspector-section textarea:focus,
.studio-inspector .inspector-section select:focus {
  border-color:var(--fl-rose) !important;
  box-shadow:0 0 0 3px rgba(220,111,145,.1) !important;
}
.studio-inspector .cover-dropzone {
  min-height:174px;
  border:1px dashed rgba(223,194,139,.34);
  border-radius:2.6rem 2.6rem 5.2rem 2.6rem;
  background:
    radial-gradient(circle at 88% 12%,rgba(220,111,145,.14),transparent 42%),
    rgba(255,248,239,.025);
  color:var(--fl-ivory);
}
.studio-inspector .cover-dropzone:hover,
.studio-inspector .cover-dropzone.is-dragging {
  border-color:var(--fl-champagne);
  background:radial-gradient(circle at 88% 12%,rgba(220,111,145,.23),transparent 48%),rgba(188,62,105,.08);
}
.studio-inspector .cover-dropzone-icon { color:var(--fl-rose); font-family:var(--fl-serif); font-size:2.2rem; font-weight:300; }
.studio-inspector .cover-dropzone > span:last-child { color:var(--fl-muted); }
.studio-inspector .cover-preview { border:1px solid var(--fl-border); border-radius:1.5rem 1.5rem 3.5rem 1.5rem; }
.studio-inspector .cover-actions button,
.studio-inspector .tag-browse-button {
  border-color:var(--fl-border);
  border-radius:999px;
  color:var(--fl-secondary);
}
.studio-inspector .cover-actions button:hover,
.studio-inspector .tag-browse-button:hover { border-color:var(--fl-border-strong); background:rgba(188,62,105,.09); color:var(--fl-ivory); }
.studio-inspector .seo-preview {
  border:1px solid var(--fl-border);
  border-radius:1.5rem 1.5rem 3rem 1.5rem;
  background:rgba(255,248,239,.03);
}
.studio-inspector .seo-preview-title { color:var(--fl-blush); }
.studio-inspector .seo-preview-url { color:var(--fl-success); }
.studio-inspector .seo-preview-desc { color:var(--fl-secondary); }
.studio-inspector .sidebar-toggle { border-color:var(--fl-border); color:var(--fl-secondary); }

.story-outline {
  padding:1rem;
  border-color:var(--fl-border) !important;
  border-radius:1.7rem 1.7rem 3.4rem 1.7rem;
  background:
    radial-gradient(circle at 100% 0,rgba(188,62,105,.13),transparent 42%),
    rgba(24,12,19,.97) !important;
  box-shadow:var(--fl-shadow-lg);
}
.story-outline-header { padding:.25rem .25rem .55rem; color:var(--fl-ivory); }
.story-outline .outline-item { border-radius:1rem; color:var(--fl-secondary); }
.story-outline .outline-item:hover { background:rgba(188,62,105,.1); color:var(--fl-ivory); }

.studio-dialog .preview-modal-overlay { background:rgba(9,4,7,.72); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.studio-dialog .preview-modal-content,
.studio-dialog .publish-review-card {
  border-color:var(--fl-border) !important;
  border-radius:2.2rem 2.2rem 5.2rem 2.2rem !important;
  background:
    radial-gradient(circle at 100% 0,rgba(188,62,105,.14),transparent 40%),
    var(--fl-editorial) !important;
  box-shadow:var(--fl-shadow-lg);
}
.studio-dialog .preview-modal-header { border-color:var(--fl-border); }
.studio-dialog .preview-modal-header h2,
.studio-dialog .publish-review-card h2 { color:var(--fl-ivory); font-family:var(--fl-serif); font-weight:500; }
.studio-dialog .preview-device-switch { border:1px solid var(--fl-border); border-radius:999px; background:rgba(255,248,239,.025); }
.studio-dialog .preview-device-switch button { border-radius:999px; color:var(--fl-muted); }
.studio-dialog .preview-device-switch button.is-active { background:rgba(188,62,105,.18); color:var(--fl-ivory); }
.studio-dialog .preview-modal-body { background:rgba(8,4,7,.23); }
.studio-dialog .preview-article { background:transparent; color:var(--fl-text); }
.publish-checklist div { border-color:var(--fl-border); }
.publish-checklist dt { color:var(--fl-muted); }
.publish-checklist dd { color:var(--fl-ivory); }
.publish-checklist dd.is-ready::before,
.publish-checklist dd.is-recommended::before,
.publish-checklist dd.is-missing::before { display:inline-block; width:1.1rem; margin-right:.35rem; }
.publish-checklist dd.is-ready::before { content:'\2713'; color:var(--fl-success); }
.publish-checklist dd.is-recommended::before { content:'\25CB'; color:var(--fl-champagne); }
.publish-checklist dd.is-missing::before { content:'!'; color:var(--fl-danger); font-weight:800; }
.publish-review-note { margin:1.25rem 0 0; color:var(--fl-muted); font-size:.78rem; line-height:1.5; }
.publish-review-note.is-blocked { color:var(--fl-danger); }

:root.site-light .authoring-workspace .studio-topbar,
:root.site-light .authoring-workspace .studio-editor-commandbar {
  background:rgba(232,207,204,.87);
  box-shadow:0 14px 38px rgba(72,31,44,.08);
}
:root.site-light .authoring-workspace .studio-topbar .ghost,
:root.site-light .authoring-workspace .studio-editor-commandbar .ghost,
:root.site-light .publish-review-actions .ghost { background:rgba(249,232,223,.32) !important; }
:root.site-light .authoring-workspace .studio-editor-hint kbd { background:rgba(249,232,223,.45); }
:root.site-light .studio-inspector {
  background:
    radial-gradient(ellipse at 100% 0,rgba(169,48,89,.14),transparent 42%),
    linear-gradient(155deg,#efdcd5,#dfc3c1 72%) !important;
  box-shadow:-30px 0 90px rgba(72,31,44,.2);
}
:root.site-light .inspector-backdrop { background:rgba(50,20,31,.48); }
:root.site-light .studio-inspector .inspector-section input[type='text'],
:root.site-light .studio-inspector .inspector-section input[type='url'],
:root.site-light .studio-inspector .inspector-section input[type='search'],
:root.site-light .studio-inspector .inspector-section textarea,
:root.site-light .studio-inspector .inspector-section select {
  background:rgba(247,228,219,.62) !important;
}
:root.site-light .studio-inspector .cover-dropzone {
  background:radial-gradient(circle at 88% 12%,rgba(169,48,89,.12),transparent 42%),rgba(249,232,223,.36);
}
:root.site-light .studio-inspector .seo-preview,
:root.site-light .story-outline { background:rgba(239,218,211,.96) !important; }
:root.site-light .studio-dialog .preview-modal-overlay { background:rgba(50,20,31,.5); }
:root.site-light .studio-dialog .preview-modal-content,
:root.site-light .studio-dialog .publish-review-card {
  background:radial-gradient(circle at 100% 0,rgba(169,48,89,.12),transparent 40%),#ecd4cf !important;
}
:root.site-light .studio-dialog .preview-modal-body { background:rgba(95,42,59,.035); }

@media (max-width:760px) {
  .studio-inspector { border-radius:2.5rem 2.5rem 0 0; }
  .studio-dialog .preview-modal-content { border-radius:2rem 2rem 0 0 !important; }
  .studio-dialog .publish-review-card { border-radius:2rem 2rem 4rem 2rem !important; }
}

/* Community conversations — editorial threads instead of dashboard rows. */
.conversation-layout {
  grid-template-columns:minmax(0,900px) minmax(210px,240px);
  gap:clamp(1.25rem,3vw,2.4rem);
  max-width:1180px;
}
.conversation-main { max-width:900px; }
.conversation-op {
  position:relative;
  overflow:visible;
  padding:clamp(1.5rem,3vw,2.35rem) !important;
  border:1px solid var(--fl-border) !important;
  border-left-color:rgba(220,111,145,.48) !important;
  border-radius:4rem 1.8rem 6.5rem 1.8rem / 3.2rem 1.8rem 4.8rem 1.8rem !important;
  background:
    radial-gradient(ellipse at 100% 0,rgba(188,62,105,.14),transparent 38%),
    linear-gradient(145deg,rgba(255,248,239,.055),rgba(99,29,56,.1)) !important;
  box-shadow:inset 0 1px rgba(255,248,239,.035),var(--fl-shadow-sm) !important;
}
.conversation-op::after {
  content:'';
  position:absolute;
  right:-5rem;
  bottom:-5.2rem;
  width:15rem;
  height:9rem;
  border:1px solid var(--fl-champagne);
  border-radius:62% 38% 68% 32%;
  opacity:.09;
  transform:rotate(-12deg);
  pointer-events:none;
}
.conversation-breadcrumb { color:var(--fl-muted); }
.conversation-kind { color:var(--fl-champagne) !important; letter-spacing:.16em; }
.conversation-title { color:var(--fl-ivory); font:500 clamp(2.4rem,5vw,4rem)/.95 var(--fl-serif); letter-spacing:-.025em; }
.conversation-summary { color:var(--fl-secondary); }
.conversation-action-btn,
.conversation-footer-btn {
  border-color:var(--fl-border) !important;
  border-radius:999px !important;
  background:rgba(255,248,239,.025) !important;
  color:var(--fl-secondary) !important;
}
.conversation-action-btn:hover,
.conversation-footer-btn:hover { border-color:var(--fl-border-strong) !important; background:rgba(188,62,105,.1) !important; color:var(--fl-rose) !important; }
.conversation-avatar--op {
  border-color:rgba(220,111,145,.28) !important;
  background:linear-gradient(145deg,rgba(188,62,105,.2),rgba(99,29,56,.12)) !important;
  color:var(--fl-rose) !important;
}
.conversation-op-badge,
.conversation-badge { background:rgba(188,62,105,.12) !important; color:var(--fl-blush) !important; }
.conversation-op-body,
.discussion-post-body { color:var(--fl-text); }
.conversation-op-body blockquote,
.discussion-post-body blockquote {
  border:1px solid var(--fl-border) !important;
  border-left:2px solid var(--fl-rose) !important;
  border-radius:1rem 1rem 2rem 1rem !important;
  background:rgba(188,62,105,.065) !important;
  color:var(--fl-secondary) !important;
}
.conversation-op-body a,
.discussion-post-body a { color:var(--fl-rose) !important; text-decoration-color:rgba(220,111,145,.4) !important; }
.conversation-op-footer { border-color:var(--fl-border); }

.conversation-sidebar { top:86px; }
.conversation-info-widget {
  margin-bottom:1rem;
  padding:1rem 1.05rem;
  border:1px solid var(--fl-border) !important;
  border-radius:1.45rem 1.45rem 2.8rem 1.45rem !important;
  background:linear-gradient(145deg,rgba(255,248,239,.035),rgba(99,29,56,.07)) !important;
  box-shadow:inset 0 1px rgba(255,248,239,.025);
}
.conversation-info-widget:hover { border-color:var(--fl-border-strong) !important; }
.conversation-info-widget h3 { color:var(--fl-ivory); }
.conversation-info-widget h3 i { color:var(--fl-rose); opacity:.8; }
.topic-participants span,
.thread-timeline a,
.conversation-info-link { color:var(--fl-secondary) !important; }
.conversation-info-link { border-color:var(--fl-border); }
.conversation-info-link:hover { border-left-color:var(--fl-rose); }
.conversation-info-empty { border-color:var(--fl-border) !important; border-radius:1rem 1rem 2rem 1rem !important; color:var(--fl-muted) !important; }
.conversation-related { border-color:var(--fl-border); }
.conversation-related-title { color:var(--fl-ivory); font-family:var(--fl-serif); font-size:1.4rem; }
.conversation-related-title i { color:var(--fl-rose); }
.conversation-related-card,
.forum-discovery-card {
  position:relative;
  overflow:hidden;
  padding:1.1rem 1.25rem;
  border:1px solid var(--fl-border) !important;
  border-radius:1.65rem 1rem 3rem 1rem !important;
  background:radial-gradient(ellipse at 100% 0,rgba(188,62,105,.1),transparent 46%),rgba(255,248,239,.02) !important;
  box-shadow:inset 0 1px rgba(255,248,239,.025),0 12px 32px rgba(0,0,0,.1);
}
.conversation-related-card:hover,
.forum-discovery-card:hover {
  border-color:var(--fl-border-strong) !important;
  background:radial-gradient(ellipse at 100% 0,rgba(188,62,105,.16),transparent 50%),rgba(255,248,239,.03) !important;
  box-shadow:inset 0 1px rgba(255,248,239,.04),0 18px 42px rgba(0,0,0,.15);
  transform:translateY(-2px);
}
.conversation-related-card-title,
.forum-discovery-card-title { color:var(--fl-ivory); font-family:var(--fl-serif); font-size:1.15rem; }
.conversation-related-card-meta,
.forum-discovery-card-meta { color:var(--fl-muted); }

.universal-discussion {
  --discussion-accent:var(--fl-rose);
  --discussion-accent-strong:var(--fl-raspberry);
  --discussion-accent-soft:rgba(188,62,105,.12);
  width:100%;
  max-width:none;
  margin-top:2.2rem;
  color:var(--fl-text);
}
.discussion-heading {
  align-items:center;
  padding:0 .15rem 1rem;
  border-color:var(--fl-border);
}
.discussion-kicker { color:var(--fl-champagne); letter-spacing:.15em; }
.discussion-heading h2 { color:var(--fl-ivory); font:500 2rem/1 var(--fl-serif); }
.discussion-count { border-color:rgba(220,111,145,.32); color:var(--fl-rose); }
.discussion-command {
  min-height:40px;
  padding:.55rem .9rem;
  border-color:var(--fl-border) !important;
  border-radius:999px !important;
  background:rgba(255,248,239,.02) !important;
  color:var(--fl-secondary) !important;
}
.discussion-command:hover,
.discussion-command.is-active { border-color:var(--fl-border-strong) !important; background:rgba(188,62,105,.1) !important; color:var(--fl-rose) !important; }
.discussion-thread { max-width:none; gap:.85rem; margin-top:1rem; }
.discussion-post {
  margin-left:min(calc(var(--reply-depth,0) * 18px),72px);
  overflow:visible;
  border:1px solid var(--fl-border) !important;
  border-left:2px solid rgba(220,111,145,.42) !important;
  border-radius:1.45rem 1.45rem 3.2rem 1.45rem !important;
  background:
    radial-gradient(ellipse at 100% 0,rgba(188,62,105,.08),transparent 38%),
    rgba(255,248,239,.022) !important;
  box-shadow:inset 0 1px rgba(255,248,239,.025);
}
.discussion-post + .discussion-post { border-top:1px solid var(--fl-border); }
.discussion-post-head { flex-wrap:wrap; gap:.55rem; padding:1rem 1.1rem .25rem; }
.discussion-avatar { background:rgba(188,62,105,.13); color:var(--fl-rose); }
.discussion-author { color:var(--fl-rose); }
.discussion-role,
.discussion-time,
.discussion-reputation { color:var(--fl-muted); }
.discussion-author-badges {
  min-height:1.6rem;
  margin:.1rem 1rem .6rem;
  padding:0 0 0 2.9rem;
  border:0;
  background:transparent;
}
.discussion-author-badges span { border-color:var(--fl-border); color:var(--fl-blush); }
.discussion-author-badges small { color:var(--fl-muted); }
.discussion-post-body { width:min(100%,74ch); padding:.65rem 1.25rem 1rem 4.65rem; }
.discussion-post-actions {
  gap:.35rem;
  padding:.7rem 1rem 1rem 4.25rem;
  border-color:var(--fl-border);
  opacity:1;
}
.discussion-post-action {
  min-width:36px;
  min-height:36px;
  padding:0 .7rem;
  border:1px solid transparent;
  border-radius:999px;
  background:rgba(255,248,239,.018);
  color:var(--fl-muted);
}
.discussion-post-action[data-discussion-action='reply'],
.discussion-post-action[data-discussion-action='quote'] { border-color:var(--fl-border); color:var(--fl-secondary); }
.discussion-action-label { margin-left:.25rem; font-size:.72rem; font-weight:700; }
.discussion-post-action:hover,
.discussion-post-action.is-active { border-color:var(--fl-border-strong); background:rgba(188,62,105,.11); color:var(--fl-rose); }
.discussion-status,
.discussion-signin { color:var(--fl-muted); }

.discussion-composer {
  max-width:none;
  margin-top:1.8rem;
  padding-top:1.5rem;
  overflow:visible;
  border-color:var(--fl-border);
}
.discussion-reply-context { border-radius:1.2rem 1.2rem 0 0; background:rgba(188,62,105,.11); color:var(--fl-rose); }
.discussion-composer-tools {
  flex-wrap:wrap;
  justify-content:flex-start;
  color:var(--fl-muted);
}
.discussion-composer-tools [data-discussion-draft-status] { margin-left:auto; }
.discussion-composer-tools button,
.discussion-poll-builder button {
  border-color:var(--fl-border) !important;
  border-radius:999px !important;
  color:var(--fl-secondary) !important;
}
.discussion-composer-tools button:hover,
.discussion-poll-builder button:hover { border-color:var(--fl-border-strong) !important; background:rgba(188,62,105,.09) !important; color:var(--fl-rose) !important; }
.discussion-composer-actions { padding-top:.8rem; }
.discussion-submit {
  min-height:44px;
  padding:0 1.25rem;
  border-radius:999px;
  background:linear-gradient(135deg,var(--fl-raspberry),var(--fl-merlot));
  color:#fff8ef;
  box-shadow:0 12px 28px rgba(100,29,57,.27);
}
.discussion-post-editor {
  margin:1rem;
  padding:1rem;
  border-color:var(--fl-border);
  border-radius:1.4rem 1.4rem 2.8rem 1.4rem;
  background:rgba(188,62,105,.05);
}

:root.site-light .conversation-op,
:root.site-light .conversation-info-widget,
:root.site-light .discussion-post,
:root.site-light .conversation-related-card,
:root.site-light .forum-discovery-card {
  border-color:var(--fl-border) !important;
  background:radial-gradient(ellipse at 100% 0,rgba(169,48,89,.1),transparent 40%),rgba(244,224,216,.46) !important;
  box-shadow:inset 0 1px rgba(255,248,240,.48),var(--fl-shadow-sm) !important;
}
:root.site-light .universal-discussion {
  --discussion-accent:var(--fl-raspberry);
  --discussion-accent-strong:var(--fl-merlot);
  --discussion-accent-soft:rgba(169,48,89,.1);
}
:root.site-light .discussion-post-action,
:root.site-light .discussion-command { background:rgba(249,232,223,.28) !important; }

@media (max-width:1100px) {
  .conversation-layout { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:680px) {
  .conversation-layout { padding-inline:.75rem; }
  .conversation-op { padding:1.35rem !important; border-radius:2.4rem 1.25rem 4rem 1.25rem / 2rem 1.25rem 3rem 1.25rem !important; }
  .conversation-title { font-size:clamp(2.15rem,12vw,3.2rem); }
  .discussion-heading { align-items:flex-start; flex-wrap:wrap; }
  .discussion-post { margin-left:min(calc(var(--reply-depth,0) * 9px),27px); border-radius:1.25rem 1.25rem 2.6rem 1.25rem !important; }
  .discussion-post-body { padding:.75rem 1rem 1rem; }
  .discussion-author-badges { padding-left:0; }
  .discussion-author-badges small { width:100%; margin:0; }
  .discussion-post-actions { padding:.7rem .75rem 1rem; }
  .discussion-action-label { display:none; }
  .discussion-composer-tools [data-discussion-draft-status] { width:100%; margin-left:0; }
  .discussion-composer-actions { align-items:stretch; flex-direction:column; }
  .discussion-submit { width:100%; }
}

/* Editorial publishing and gallery --------------------------------------
   The article should be the visual centre. Navigation remains available as
   a quiet index; utility material must not squeeze or overlap the work. */
.blog-index-wrap,
.library-index-wrap,
.gallery-index-wrap,
.gallery-album-wrap {
  width:100%;
  max-width:none;
  padding-inline:0;
}

.blog-hero,
.library-hero {
  position:relative;
  overflow:hidden;
  margin-bottom:clamp(2.5rem,5vw,4.5rem);
  padding:clamp(2.75rem,6vw,5.5rem);
  border:1px solid var(--fl-border);
  border-radius:5.5rem 2rem 5.5rem 2rem;
  background:
    radial-gradient(ellipse at 92% 8%,rgba(188,62,105,.2),transparent 45%),
    radial-gradient(ellipse at 8% 100%,rgba(164,124,158,.14),transparent 48%),
    linear-gradient(145deg,rgba(75,23,43,.74),rgba(25,12,20,.9));
  box-shadow:inset 0 1px rgba(255,248,239,.04),var(--fl-shadow-sm);
  text-align:left;
}
.platform-frame .blog-hero,
.platform-frame .library-hero {
  border-radius:5.5rem 2rem 5.5rem 2rem !important;
}
.platform-frame .blog-hero--section {
  border-radius:4.5rem 1.75rem 4.5rem 1.75rem !important;
}
.blog-hero::before,
.library-hero::before {
  inset:auto -10% -55% 42%;
  width:72%;
  height:82%;
  border:1px solid rgba(223,194,139,.14);
  border-radius:50%;
  background:transparent;
  transform:rotate(-10deg);
}
.blog-hero::after,
.library-hero::after { margin:1.65rem 0 0; }
.blog-hero-logo,
.library-hero-logo {
  display:block !important;
  width:clamp(164px,18vw,218px) !important;
  height:auto !important;
  margin:0 0 1.4rem !important;
  object-fit:contain;
  opacity:.94 !important;
  filter:drop-shadow(0 14px 28px rgba(139,41,78,.32));
}
.blog-hero-eyebrow,
.library-hero-eyebrow {
  margin:0 0 .65rem;
  color:var(--fl-champagne) !important;
  font-size:.68rem;
  font-weight:750;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.blog-hero-title,
.library-hero-title {
  max-width:15ch;
  margin:0 0 1rem;
  background:none !important;
  color:var(--fl-ivory) !important;
  -webkit-text-fill-color:currentColor !important;
  font:400 clamp(3.4rem,7vw,6.4rem)/.88 var(--fl-serif) !important;
  letter-spacing:-.045em;
}
.library-hero-title em { color:var(--fl-rose); font-weight:400; }
.blog-hero-description,
.library-hero-description {
  max-width:62ch;
  margin:0;
  color:var(--fl-secondary) !important;
  font-size:1rem;
  line-height:1.75;
}
.blog-hero-search,
.library-hero-search { max-width:620px; margin:1.75rem 0 0; }
.blog-hero-search input[type='search'],
.library-hero-search input[type='search'] {
  min-height:48px;
  border-color:var(--fl-border-strong) !important;
  background:rgba(8,4,7,.24) !important;
}
.blog-hero-search button,
.library-hero-search button { min-height:48px; border-radius:999px; padding-inline:1.5rem; }
.blog-hero--section { padding:clamp(2.5rem,5vw,4rem); border-radius:4rem 1.6rem 4rem 1.6rem; }
.blog-hero--section .blog-hero-title { font-size:clamp(3rem,5.5vw,4.9rem) !important; }

/* The forum landing uses the same soft editorial frame. Its previous
   transparent dark hero became a square painted panel only in light mode. */
.platform-frame .forum-hero {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  gap:1.35rem;
  margin:0 0 clamp(3rem,6vw,5rem);
  padding:clamp(2.75rem,6vw,5.5rem) !important;
  border:1px solid var(--fl-border) !important;
  border-radius:5.5rem 2rem 5.5rem 2rem !important;
  background:
    radial-gradient(ellipse at 92% 8%,rgba(188,62,105,.2),transparent 45%),
    radial-gradient(ellipse at 8% 100%,rgba(164,124,158,.14),transparent 48%),
    linear-gradient(145deg,rgba(75,23,43,.74),rgba(25,12,20,.9)) !important;
  box-shadow:inset 0 1px rgba(255,248,239,.04),var(--fl-shadow-sm) !important;
}
.platform-frame .forum-hero-logo { margin-bottom:.35rem !important; }
.platform-frame .forum-hero-copy,
.platform-frame .forum-hero-copy > *,
.platform-frame .forum-hero-search,
.platform-frame .forum-view-switcher { min-width:0; }
.platform-frame .forum-hero-copy { gap:clamp(1.5rem,4vw,3.5rem); }
.platform-frame .forum-hero-title {
  max-width:12ch;
  background:none !important;
  color:var(--fl-ivory) !important;
  -webkit-text-fill-color:currentColor !important;
}
.platform-frame .forum-hero-description,
.platform-frame .forum-chat-invite,
.platform-frame .forum-view-switcher a { overflow-wrap:anywhere; }
.platform-frame .forum-hero-search { width:min(100%,680px); max-width:680px; }
.platform-frame .forum-hero-search input { min-width:0; }
.platform-frame .forum-hero-search button {
  border-color:rgba(220,111,145,.3) !important;
  background:rgba(188,62,105,.12) !important;
  color:var(--fl-rose) !important;
  box-shadow:none !important;
}
.platform-frame .forum-view-switcher > a:not(.forum-btn) { color:var(--fl-secondary); }
.platform-frame .forum-view-switcher > a[aria-current='page'] {
  border-bottom-color:var(--fl-rose);
  color:var(--fl-ivory);
}
.platform-frame .role-owner {
  color:var(--fl-champagne) !important;
  border-color:rgba(223,194,139,.3) !important;
}
.platform-frame .forum-badge-owner {
  background:linear-gradient(135deg,var(--fl-raspberry),var(--fl-merlot)) !important;
}
.platform-frame .discussion-post-body blockquote,
.platform-frame .conversation-reply.depth-1:hover {
  background:rgba(188,62,105,.07) !important;
}
.platform-frame .post-subscribe-btn:hover,
.platform-frame .forum-action-secondary:hover {
  background:rgba(188,62,105,.06) !important;
}
.platform-frame .forum-category-grid > *,
.platform-frame .forum-dashboard-bands > *,
.platform-frame .forum-category-card-link,
.platform-frame .card-header,
.platform-frame .card-title,
.platform-frame .card-footer { min-width:0; }
.platform-frame .card-title,
.platform-frame .card-description,
.platform-frame .card-stats,
.platform-frame .card-action-link { overflow-wrap:anywhere; }
.platform-frame .card-footer { flex-wrap:wrap; gap:.65rem 1rem; }

.blog-header,
.library-header,
.gallery-header {
  margin-bottom:1.5rem;
  padding-bottom:1.2rem;
  border-bottom:1px solid var(--fl-border);
}
.blog-header h1,
.blog-header h2,
.library-header h1,
.library-header h2,
.gallery-header h1,
.gallery-header h2 {
  color:var(--fl-ivory);
  font:400 clamp(2rem,4vw,2.75rem)/1 var(--fl-serif);
}
.blog-filter-bar,
.library-active-filters {
  margin-bottom:2.25rem;
  padding:.8rem 0 1.1rem;
  border:0;
  border-bottom:1px solid var(--fl-border);
  border-radius:0;
  background:transparent;
}
.blog-section-pill,
.library-genre-pill,
.blog-tag-pill { border-color:var(--fl-border) !important; background:transparent !important; }

.blog-sidebar,
.library-sidebar,
.gallery-sidebar { min-width:0; }
.blog-sidebar--left,
.library-sidebar--left,
.gallery-sidebar--left { flex-direction:column; }
.blog-sidebar-nav h3,
.library-sidebar h3,
.gallery-sidebar-nav h3,
.blog-sidebar-widget h3,
.library-sidebar-widget h3,
.gallery-sidebar-widget h3 {
  color:var(--fl-champagne) !important;
  font-size:.65rem !important;
  letter-spacing:.14em !important;
  text-transform:uppercase;
}
.blog-sidebar-widget,
.library-sidebar-widget,
.gallery-sidebar-widget { padding:1.2rem 0 !important; }

.blog-section-heading,
.blog-card-title,
.post-title,
.author-page-title { font-family:var(--fl-serif); }
.blog-section-heading { font-size:1.75rem; font-weight:500; }
.blog-card,
.blog-card--featured,
.blog-card--grid,
.blog-card--discovery {
  border:1px solid var(--fl-border);
  border-radius:2.75rem 2.75rem 1.2rem 1.2rem;
  background:
    radial-gradient(ellipse at 100% 110%,rgba(139,41,78,.16),transparent 52%),
    linear-gradient(145deg,rgba(255,248,239,.042),rgba(255,248,239,.016));
  box-shadow:inset 0 1px rgba(255,255,255,.025),0 18px 45px rgba(0,0,0,.1);
}
.blog-card:hover,
.blog-card--featured:hover,
.blog-card--grid:hover,
.blog-card--discovery:hover {
  border-color:var(--fl-border-strong);
  background:
    radial-gradient(ellipse at 100% 110%,rgba(169,48,89,.22),transparent 54%),
    linear-gradient(145deg,rgba(255,248,239,.055),rgba(255,248,239,.02));
  box-shadow:0 25px 58px rgba(0,0,0,.18);
}
.blog-card--section {
  gap:.85rem;
  padding:1.35rem 1.5rem 1.45rem;
}
.blog-card--section .blog-card-body {
  display:flex;
  min-width:0;
  flex:1;
  flex-direction:column;
  gap:.45rem;
}
.blog-card--section .blog-card-footer { margin-top:.55rem; }
.blog-card--featured .blog-card-title { font-size:1.55rem; font-weight:500; }
.blog-card--grid .blog-card-title { font-size:1.15rem; font-weight:500; }
.blog-card-cover,
.blog-card-cover img { border-radius:2.65rem 0 0 1rem; }
.blog-grid--compact { gap:1rem; }
.post-article { min-width:0; max-width:780px; margin-inline:auto; }
.post-title { font-size:clamp(3rem,6vw,5.6rem); font-weight:400; line-height:.94; letter-spacing:-.035em; }
.post-subtitle { color:var(--fl-secondary); font:italic 400 1.35rem/1.55 var(--fl-serif); }

/* Gallery index: explicitly own every track. This prevents the restored
   Collections rail from sharing a row with My Gallery or covering albums. */
.gallery-layout > *,
.gallery-main,
.gallery-index-grid,
.gallery-card { min-width:0; }
.gallery-sidebar--left { gap:0; }
.gallery-index-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(1.4rem,3vw,2.25rem);
}
.gallery-card {
  overflow:visible;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.gallery-card:hover { background:transparent !important; box-shadow:none !important; }
.gallery-card-title--above {
  min-width:0;
  padding:.8rem .15rem;
  color:var(--fl-ivory) !important;
  font:500 1.55rem/1.1 var(--fl-serif);
  overflow-wrap:anywhere;
  -webkit-text-fill-color:currentColor !important;
}
.album-card-thumbs {
  overflow:hidden;
  border:1px solid var(--fl-border);
  border-radius:3.5rem 3.5rem 1.1rem 1.1rem;
  background:rgba(255,248,239,.025);
  box-shadow:0 20px 48px rgba(0,0,0,.16);
}
.gallery-card:hover .album-card-thumbs {
  border-color:var(--fl-border-strong);
  box-shadow:0 27px 62px rgba(0,0,0,.24);
}
.gallery-card-info { padding:.9rem .15rem; }
.gallery-hero {
  border:1px solid var(--fl-border);
  border-radius:5rem 2rem 5rem 2rem;
  background:linear-gradient(145deg,#351520,#160b11);
}
.gallery-hero-overlay { background:linear-gradient(90deg,rgba(14,7,11,.9),rgba(36,13,24,.28)); }
.gallery-hero h2 { color:#fff8ef !important; -webkit-text-fill-color:currentColor !important; }
.file-picker-button {
  border-color:rgba(220,111,145,.38) !important;
  background:rgba(188,62,105,.13) !important;
  color:var(--fl-ivory) !important;
}
.file-picker-button:hover,
.file-input-wrapper:focus-within .file-picker-button {
  border-color:var(--fl-rose) !important;
  background:rgba(188,62,105,.22) !important;
}
.upload-form .content-tag-results {
  border-color:var(--fl-border-strong) !important;
  background:var(--fl-popover) !important;
  box-shadow:var(--fl-shadow-lg) !important;
}

@media (min-width:1051px) {
  .platform-frame--public .blog-layout,
  .platform-frame--public .library-layout--three-col {
    grid-template-columns:172px minmax(0,1fr) !important;
    gap:clamp(1.75rem,3.5vw,3.25rem) !important;
  }
  .blog-main,
  .library-main { grid-column:2; }
  .blog-sidebar--right,
  .library-sidebar--right {
    position:static;
    grid-column:2;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1.5rem;
    max-height:none;
    margin-top:2rem;
  }
  .platform-frame--public .gallery-layout {
    grid-template-columns:160px minmax(0,1fr) 190px !important;
    gap:clamp(1.75rem,3.5vw,3.25rem) !important;
  }
  .platform-frame--public .gallery-sidebar--left { display:flex !important; }
}

:root.site-light .blog-hero,
:root.site-light .library-hero,
:root.site-light .platform-frame .forum-hero {
  border-color:rgba(86,32,49,.18) !important;
  background:
    radial-gradient(ellipse at 92% 8%,rgba(169,48,89,.15),transparent 46%),
    radial-gradient(ellipse at 7% 100%,rgba(121,83,115,.12),transparent 50%),
    linear-gradient(145deg,rgba(237,209,202,.58),rgba(202,169,179,.34)) !important;
  box-shadow:inset 0 1px rgba(255,248,240,.5),0 25px 62px rgba(72,31,44,.11) !important;
}
:root.site-light .blog-hero-title,
:root.site-light .library-hero-title {
  background:none !important;
  color:var(--fl-ivory) !important;
  -webkit-text-fill-color:currentColor !important;
}
:root.site-light .blog-hero-search input[type='search'],
:root.site-light .library-hero-search input[type='search'] {
  border-color:rgba(86,32,49,.2) !important;
  background:rgba(241,219,212,.62) !important;
  color:var(--fl-ivory) !important;
}
:root.site-light .blog-sidebar,
:root.site-light .library-sidebar,
:root.site-light .gallery-sidebar { background:transparent !important; }
:root.site-light .blog-card,
:root.site-light .blog-card--featured,
:root.site-light .blog-card--grid,
:root.site-light .blog-card--discovery {
  border-color:rgba(86,32,49,.16) !important;
  background:
    radial-gradient(ellipse at 100% 110%,rgba(169,48,89,.14),transparent 54%),
    linear-gradient(145deg,rgba(239,213,205,.4),rgba(205,174,181,.25)) !important;
  box-shadow:inset 0 1px rgba(255,248,240,.42),0 20px 48px rgba(72,31,44,.08) !important;
}
:root.site-light .blog-card:hover,
:root.site-light .blog-card--featured:hover,
:root.site-light .blog-card--grid:hover,
:root.site-light .blog-card--discovery:hover {
  border-color:rgba(157,47,83,.3) !important;
  background:
    radial-gradient(ellipse at 100% 110%,rgba(169,48,89,.2),transparent 56%),
    linear-gradient(145deg,rgba(243,217,209,.55),rgba(204,168,178,.36)) !important;
}
:root.site-light .gallery-card,
:root.site-light .gallery-card:hover { border:0 !important; background:transparent !important; box-shadow:none !important; }
:root.site-light .gallery-editorial-intro {
  border-color:rgba(86,32,49,.17) !important;
  background:transparent !important;
  box-shadow:none !important;
}
:root.site-light .album-card-thumbs {
  border-color:rgba(86,32,49,.17);
  background:rgba(238,211,205,.35);
  box-shadow:0 20px 48px rgba(72,31,44,.1);
}
:root.site-light .gallery-hero {
  border-color:rgba(86,32,49,.18) !important;
  background:linear-gradient(145deg,rgba(117,42,67,.82),rgba(65,29,45,.8)) !important;
  box-shadow:0 28px 68px rgba(72,31,44,.14) !important;
}
:root.site-light .gallery-hero-overlay { background:linear-gradient(90deg,rgba(61,25,38,.86),rgba(91,44,61,.18)); }
:root.site-light .file-picker-button {
  border-color:rgba(169,48,89,.3) !important;
  background:rgba(169,48,89,.1) !important;
  color:var(--fl-burgundy) !important;
}
:root.site-light .upload-form .content-tag-results { background:rgba(241,223,216,.98) !important; }

@media (max-width:760px) {
  .blog-hero,
  .library-hero,
  .platform-frame .forum-hero { padding:2.4rem 1.45rem !important; border-radius:3.2rem 1.25rem 3.2rem 1.25rem !important; }
  .blog-hero-title,
  .library-hero-title { font-size:clamp(2.8rem,15vw,4.4rem) !important; }
  .blog-hero-search,
  .library-hero-search { align-items:stretch; flex-direction:column; }
  .blog-hero-search button,
  .library-hero-search button { width:100%; }
  .blog-card-cover,
  .blog-card-cover img { border-radius:2.6rem 2.6rem 0 0; }
  .blog-card--section { padding:1.15rem 1.2rem 1.3rem; }
  .gallery-index-grid { gap:1.25rem .8rem; }
  .album-card-thumbs { border-radius:2.4rem 2.4rem .9rem .9rem; }
  .gallery-card-title--above { font-size:1.2rem; white-space:normal; }
  .blog-sidebar--right,
  .library-sidebar--right {
    position:static;
    display:grid;
    grid-auto-flow:row;
    grid-template-columns:1fr;
    max-height:none;
    overflow:visible;
  }
  .gallery-sidebar--right { display:none !important; }
}

@media (max-width:900px) {
  .platform-frame .forum-hero-copy { grid-template-columns:1fr; }
  .platform-frame .forum-hero-metrics { justify-content:start; }
  .platform-frame .forum-hero-metrics div { text-align:left; }
}

@media (max-width:560px) {
  .platform-frame .forum-hero-search { align-items:stretch; flex-direction:column; border-bottom:0; }
  .platform-frame .forum-hero-search input { border:1px solid var(--fl-border) !important; border-radius:999px !important; padding-inline:1rem; }
  .platform-frame .forum-hero-search button { width:100%; }
  .platform-frame .forum-hero-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; gap:.75rem; }
}

/* Dashboard and staff workspaces -----------------------------------------
   Operational pages stay information-dense, but now belong to the same
   warm editorial system as the public site. */
.admin-page .site-main { max-width:1400px !important; }
.admin-page .admin-main {
  min-width:0;
  overflow:visible;
  border:1px solid var(--fl-border);
  border-radius:var(--fl-radius-lg) var(--fl-radius-lg) 72px var(--fl-radius-lg);
  background:radial-gradient(circle at 100% 0,rgba(188,62,105,.11),transparent 34%),linear-gradient(145deg,rgba(255,248,239,.045),rgba(255,248,239,.018));
  box-shadow:var(--fl-shadow-sm);
}
.admin-page .staff-console-wrap { max-width:1100px; }
.admin-page .staff-console-header { margin:clamp(1.6rem,4vw,3rem) 0 2rem; }
.admin-page .staff-console-title,
.admin-page .user-dashboard-title,
.admin-page .admin-page-header h1 {
  margin-bottom:.35rem;
  background:none;
  color:var(--fl-ivory);
  -webkit-text-fill-color:currentColor;
  font:400 clamp(2.5rem,5vw,4.25rem)/.95 var(--fl-serif);
  letter-spacing:-.025em;
}
.admin-page .staff-console-subtitle,
.admin-page .user-dashboard-subtitle { max-width:68ch;color:var(--fl-secondary);line-height:1.7; }
.admin-page .staff-console-kicker,
.admin-page .user-dashboard-eyebrow { color:var(--fl-champagne);font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase; }

.dashboard-role-nav {
  display:grid;
  grid-template-columns:minmax(150px,200px) minmax(0,1fr);
  gap:1.1rem;
  align-items:center;
  margin:1.35rem 0 2.25rem;
  padding:1rem 1.15rem;
  border:1px solid var(--fl-border);
  border-radius:var(--fl-radius) var(--fl-radius) 42px var(--fl-radius);
  background:radial-gradient(circle at 0 100%,rgba(223,194,139,.08),transparent 42%),rgba(255,248,239,.026);
}
.dashboard-role-nav__intro { display:grid;gap:.25rem;padding-right:1rem;border-right:1px solid var(--fl-border); }
.dashboard-role-nav__eyebrow { color:var(--fl-champagne);font-size:.61rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase; }
.dashboard-role-nav__intro strong { color:var(--fl-secondary);font:500 1rem/1.2 var(--fl-serif); }
.dashboard-role-nav__links { display:flex;flex-wrap:wrap;gap:.42rem;min-width:0; }
.dashboard-role-nav__links a,
.staff-view-nav a {
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  min-height:38px;
  padding:.55rem .78rem;
  border:1px solid transparent;
  border-radius:999px;
  color:var(--fl-secondary);
  background:transparent;
  font-size:.75rem;
  font-weight:700;
  text-decoration:none;
  white-space:nowrap;
  transition:color var(--fl-ease),border-color var(--fl-ease),background var(--fl-ease),transform var(--fl-ease);
}
.dashboard-role-nav__links a i,.staff-view-nav a i { color:var(--fl-champagne);opacity:.78; }
.dashboard-role-nav__links a:hover,.staff-view-nav a:hover { border-color:var(--fl-border-strong);color:var(--fl-ivory);background:rgba(188,62,105,.065);transform:translateY(-1px); }
.dashboard-role-nav__links a[aria-current="page"],.staff-view-nav a[aria-current="page"] {
  border-color:rgba(255,222,214,.16);
  color:#fff8ef;
  background:linear-gradient(135deg,var(--fl-raspberry),var(--fl-merlot));
  box-shadow:0 8px 22px rgba(100,29,57,.2);
}
.dashboard-role-nav__links a[aria-current="page"] i,.staff-view-nav a[aria-current="page"] i { color:var(--fl-champagne);opacity:1; }

.admin-page .user-dashboard-layout { grid-template-columns:minmax(0,1fr) minmax(230px,270px);gap:clamp(1.25rem,3vw,2.2rem); }
.admin-page .admin-workspace-layout:not(.user-dashboard-layout) { display:block;max-width:1240px; }
.admin-page .user-dashboard-main { padding:clamp(1.5rem,3vw,2.5rem); }
.admin-page .user-dashboard-wrap { max-width:none; }
.dashboard-widget-controls { margin-top:1.75rem;color:var(--fl-champagne);letter-spacing:.12em; }
.dashboard-widget-controls button { border-color:var(--fl-border-strong);border-radius:999px;background:transparent; }
.dashboard-widget-picker { gap:.65rem 1.25rem;padding:1rem 1.15rem;border-color:var(--fl-border);border-radius:var(--fl-radius-sm);background:rgba(255,248,239,.025); }
.dashboard-widget-grid { gap:1rem;margin-bottom:2rem; }
.dashboard-widget,
.user-dashboard-card,
.admin-widget,
.admin-card,
.staff-card,
.staff-console-panel,
.staff-module-card,
.members-table-card,
.investigation-filters,
.staff-structure-item,
.taxonomy-record {
  border:1px solid var(--fl-border) !important;
  border-radius:var(--fl-radius) var(--fl-radius) 34px var(--fl-radius) !important;
  background:linear-gradient(145deg,rgba(255,248,239,.046),rgba(255,248,239,.018)) !important;
  box-shadow:none !important;
}
.dashboard-widget { padding:1.2rem; }
.dashboard-widget h2,.admin-widget h4,.admin-card h2,.admin-card h3 { color:var(--fl-ivory);font-family:var(--fl-serif);font-weight:500; }
.dashboard-widget h2 { font-size:1.45rem; }
.dashboard-widget a,.dashboard-widget > div,.user-dashboard-list-item,.admin-stats-row,.admin-timeline a,.admin-timeline li { border-color:var(--fl-border) !important; }
.dashboard-widget a:hover,.user-dashboard-list-item:hover { color:var(--fl-rose);background:transparent; }
.user-dashboard-section-title { margin:2.6rem 0 1rem;padding-bottom:.65rem;border-bottom:1px solid var(--fl-border);color:var(--fl-ivory);font:500 1.55rem/1.1 var(--fl-serif); }
.user-dashboard-section-label { color:var(--fl-champagne);letter-spacing:.12em; }
.user-dashboard-card { padding:1.05rem 1.1rem; }
.user-dashboard-card:hover,.staff-module-card:hover {
  border-color:var(--fl-border-strong) !important;
  background:linear-gradient(145deg,rgba(188,62,105,.09),rgba(255,248,239,.025)) !important;
  box-shadow:0 16px 34px rgba(0,0,0,.12) !important;
  transform:translateY(-2px);
}
.user-dashboard-card-title { color:var(--fl-ivory);font-family:var(--fl-serif);font-size:1.15rem;font-weight:600; }
.user-dashboard-card-desc,.user-dashboard-account-info { color:var(--fl-muted);line-height:1.5; }
.user-dashboard-notification,.user-dashboard-pending,.staff-data-note,.security-access-note {
  border:0 !important;
  border-left:2px solid var(--fl-champagne) !important;
  border-radius:0 var(--fl-radius-sm) var(--fl-radius-sm) 0 !important;
  background:linear-gradient(90deg,rgba(223,194,139,.1),transparent) !important;
  box-shadow:none !important;
}
.admin-sidebar--right { gap:1rem; }
.admin-widget { padding:1.1rem; }
.admin-widget h4 { color:var(--fl-champagne);font-family:var(--fl-sans);font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase; }

.staff-module-grid { gap:.8rem; }
.staff-module-card { min-height:112px;display:grid;place-content:center;padding:1rem; }
.staff-module-count { color:var(--fl-ivory);font:500 2rem/1 var(--fl-serif); }
.staff-module-label { margin-top:.4rem;color:var(--fl-secondary);line-height:1.35; }
.moderation-section { overflow:hidden;margin-bottom:1.4rem;border:1px solid var(--fl-border);border-radius:var(--fl-radius) var(--fl-radius) 42px var(--fl-radius);background:rgba(255,248,239,.018); }
.moderation-section-header { padding:1rem 1.1rem .25rem; }
.staff-report-tabs { width:auto;margin:0;padding:.65rem 1rem;border:0;border-bottom:1px solid var(--fl-border);border-radius:0;background:transparent; }
.staff-report-tabs button,.staff-report-tabs a { border:1px solid transparent;border-radius:999px;background:transparent;color:var(--fl-secondary); }
.staff-report-tabs button[aria-selected="true"],.staff-report-tabs .is-active { border-color:var(--fl-border-strong);background:rgba(188,62,105,.1);color:var(--fl-ivory); }
.moderation-item { border-color:var(--fl-border) !important; }
.staff-structure-item { border-radius:var(--fl-radius-sm) var(--fl-radius-sm) 24px var(--fl-radius-sm) !important; }
.members-alphabet-jump,.active-filter-list,.investigation-view-toggle { border-color:var(--fl-border) !important;border-radius:var(--fl-radius-sm) !important;background:rgba(255,248,239,.025) !important; }
.members-table-card { overflow:hidden; }
.admin-table thead,.network-table thead { background:rgba(223,194,139,.045); }
.admin-table tbody tr:hover,.network-table tbody tr:hover { background:rgba(188,62,105,.05); }
.staff-identity-inspector { border-color:var(--fl-border);background:var(--fl-popover);box-shadow:var(--fl-shadow-lg); }
.identity-caution { border-left-color:var(--fl-champagne);background:rgba(223,194,139,.08); }

.admin-role-owner,.staff-role-owner { background:rgba(139,41,78,.2) !important;color:var(--fl-blush) !important; }
.admin-role-admin,.staff-role-admin { background:rgba(188,62,105,.17) !important;color:var(--fl-rose) !important; }
.admin-role-moderator,.staff-role-moderator { background:rgba(164,124,158,.16) !important;color:var(--fl-mauve) !important; }
.admin-role-user,.staff-role-user { background:rgba(223,194,139,.08) !important;color:var(--fl-secondary) !important; }

:root.site-light .admin-page .admin-main { background:radial-gradient(circle at 100% 0,rgba(183,67,103,.1),transparent 36%),linear-gradient(145deg,rgba(255,248,239,.54),rgba(238,219,213,.34));box-shadow:var(--fl-shadow-sm); }
:root.site-light .dashboard-role-nav { background:radial-gradient(circle at 0 100%,rgba(114,80,29,.07),transparent 44%),rgba(255,248,239,.38); }
:root.site-light .dashboard-widget,
:root.site-light .user-dashboard-card,
:root.site-light .admin-widget,
:root.site-light .admin-card,
:root.site-light .staff-card,
:root.site-light .staff-console-panel,
:root.site-light .staff-module-card,
:root.site-light .members-table-card,
:root.site-light .investigation-filters,
:root.site-light .staff-structure-item,
:root.site-light .taxonomy-record { background:linear-gradient(145deg,rgba(255,248,239,.5),rgba(238,219,213,.3)) !important; }
:root.site-light .user-dashboard-card:hover,
:root.site-light .staff-module-card:hover { background:linear-gradient(145deg,rgba(255,248,239,.7),rgba(183,67,103,.07)) !important; }
:root.site-light .dashboard-role-nav__links a[aria-current="page"] { color:#fff8ef; }

@media (max-width:1050px) {
  .admin-page .user-dashboard-layout { grid-template-columns:1fr; }
  .admin-page .user-dashboard-layout .admin-sidebar--right { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));position:static;max-height:none; }
}
@media (max-width:760px) {
  .admin-page .admin-main { padding:1.15rem;border-radius:var(--fl-radius) var(--fl-radius) 46px var(--fl-radius); }
  .dashboard-role-nav { grid-template-columns:1fr;padding:.85rem;border-radius:var(--fl-radius); }
  .dashboard-role-nav__intro { padding:0 0 .75rem;border:0;border-bottom:1px solid var(--fl-border); }
  .dashboard-role-nav__links { display:grid;grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dashboard-role-nav__links a { justify-content:flex-start;min-width:0;white-space:normal; }
  .dashboard-widget-grid,.user-dashboard-grid { grid-template-columns:1fr !important; }
  .admin-page .user-dashboard-layout .admin-sidebar--right { grid-template-columns:1fr; }
  .staff-module-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Unified feedback language -------------------------------------------------
   These late overrides retire the remaining green/purple app skins without
   weakening the semantic difference between saved, pending and destructive. */
.modal-box--success {
  max-width:460px;
  padding:clamp(1.4rem,4vw,2.2rem) !important;
  border:1px solid var(--fl-border) !important;
  border-radius:var(--fl-radius) var(--fl-radius) 52px var(--fl-radius) !important;
  background:radial-gradient(circle at 100% 100%,rgba(197,141,114,.11),transparent 44%),var(--fl-editorial) !important;
  box-shadow:var(--fl-shadow-lg) !important;
  text-align:left !important;
}
.modal-box--success .modal-success-icon {
  display:grid;
  width:42px;
  height:42px;
  margin:0 0 1rem;
  place-items:center;
  border:1px solid var(--fl-border-strong);
  border-radius:50%;
  background:rgba(197,141,114,.07);
  color:var(--fl-success) !important;
  font-size:1rem !important;
}
.modal-box--success h3 {
  margin:0 0 .45rem;
  color:var(--fl-ivory);
  font:500 2rem/1 var(--fl-serif);
}
.modal-box--success p { color:var(--fl-secondary);line-height:1.55; }
.modal-box--success .modal-actions { justify-content:flex-start !important; }
.modal-box--success .btn-submit-report {
  border:1px solid var(--fl-border-strong) !important;
  background:linear-gradient(135deg,var(--fl-raspberry),var(--fl-merlot)) !important;
  color:#fff8ef !important;
  box-shadow:none !important;
}

.registration-steps .is-complete {
  border-color:var(--fl-success) !important;
  color:var(--fl-success) !important;
}
.registration-alert {
  --notice-accent:var(--fl-info);
  border:1px solid var(--fl-border) !important;
  border-left:2px solid var(--notice-accent) !important;
  border-radius:6px var(--fl-radius) var(--fl-radius) 6px !important;
  background:linear-gradient(90deg,color-mix(in srgb,var(--notice-accent) 10%,transparent),rgba(255,248,239,.025)) !important;
  color:var(--fl-text) !important;
}
.registration-alert--error { --notice-accent:var(--fl-danger); }
.registration-alert--info { --notice-accent:var(--fl-info); }
.registration-success > span {
  border-color:var(--fl-border-strong) !important;
  background:rgba(197,141,114,.07) !important;
  color:var(--fl-success) !important;
  box-shadow:none !important;
}
.registration-success strong {
  color:var(--fl-ivory);
  font:500 1.7rem/1.1 var(--fl-serif);
}

.lexical-status .status-saved,
.lexical-status .status-recovered { color:var(--fl-success) !important; }
.lexical-status .status-saving { color:var(--fl-warning) !important; }
.lexical-status .status-offline { color:var(--fl-danger) !important; }
#lexical-editor-body[data-profile="publishing"] .status-saved::before,
#lexical-editor-body[data-profile="publishing"] .status-recovered::before {
  background:var(--fl-success) !important;
  box-shadow:none !important;
}
.platform-live-dot {
  background:var(--fl-success) !important;
  box-shadow:0 0 0 3px rgba(197,141,114,.08) !important;
}

.status-published,
.status-approved,
.badge-success,
.library-card-badge--completed,
.taxonomy-status--approved,
.staff-event-badge.is-known {
  border-color:color-mix(in srgb,var(--fl-success) 42%,transparent) !important;
  background:color-mix(in srgb,var(--fl-success) 10%,transparent) !important;
  color:var(--fl-success) !important;
  box-shadow:none !important;
}
.status-pending,
.badge-warning,
.taxonomy-status--pending {
  border-color:color-mix(in srgb,var(--fl-warning) 42%,transparent) !important;
  background:color-mix(in srgb,var(--fl-warning) 9%,transparent) !important;
  color:var(--fl-warning) !important;
}
.status-rejected,
.badge-danger,
.taxonomy-status--rejected,
.staff-event-badge.is-alerted {
  border-color:color-mix(in srgb,var(--fl-danger) 42%,transparent) !important;
  background:color-mix(in srgb,var(--fl-danger) 9%,transparent) !important;
  color:var(--fl-danger) !important;
}
.story-meta-completed { color:var(--fl-success) !important; }

.btn-approve,
.forum-btn-resolve,
.moderation-btn-approve {
  border:1px solid color-mix(in srgb,var(--fl-success) 46%,transparent) !important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--fl-success) 16%,transparent),rgba(255,248,239,.025)) !important;
  color:var(--fl-success) !important;
  box-shadow:none !important;
}
.btn-approve:hover,
.forum-btn-resolve:hover,
.moderation-btn-approve:hover {
  border-color:var(--fl-success) !important;
  background:color-mix(in srgb,var(--fl-success) 14%,transparent) !important;
  color:var(--fl-ivory) !important;
}
.btn-reject,
.moderation-btn-reject {
  border:1px solid color-mix(in srgb,var(--fl-danger) 45%,transparent) !important;
  background:color-mix(in srgb,var(--fl-danger) 12%,transparent) !important;
  color:var(--fl-danger) !important;
  box-shadow:none !important;
}

:root.site-light .modal-box--success {
  background:radial-gradient(circle at 100% 100%,rgba(132,81,57,.09),transparent 44%),var(--fl-popover) !important;
}
